diff --git a/.Rbuildignore b/.Rbuildignore index 5427c51c..a26ab983 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -15,3 +15,4 @@ ^\.zenodo\.json$ ^\.github$ ^CITATION\.cff$ +^vignettes/single_subj_N170$ diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 7143b74e..d6954a9b 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -1,19 +1,16 @@ -# For help debugging build failures open an issue on the RStudio community with the 'github-actions' tag. -# https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: push: - branches: - - main - - master + branches: [main] pull_request: - branches: - - main - - master + branches: [main] name: R-CMD-check jobs: R-CMD-check: + timeout-minutes: 30 runs-on: ${{ matrix.config.os }} name: ${{ matrix.config.os }} (${{ matrix.config.r }}) @@ -22,73 +19,41 @@ jobs: fail-fast: false matrix: config: + - {os: macOS-latest, r: 'release'} - {os: windows-latest, r: 'release'} - - {os: macOS-latest, r: 'release'} - - {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} - - {os: ubuntu-20.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} + - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-latest, r: 'release'} + - {os: ubuntu-latest, r: 'oldrel-1'} env: - R_REMOTES_NO_ERRORS_FROM_WARNINGS: true - RSPM: ${{ matrix.config.rspm }} GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - - uses: r-lib/actions/setup-r@v1 - with: - r-version: ${{ matrix.config.r }} - - - uses: r-lib/actions/setup-pandoc@v1 + - uses: r-lib/actions/setup-pandoc@v2 - - name: Query dependencies - run: | - install.packages('remotes') - saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) - writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version") - shell: Rscript {0} - - - name: Cache R packages - if: runner.os != 'Windows' - uses: actions/cache@v2 + - uses: r-lib/actions/setup-r@v2 with: - path: ${{ env.R_LIBS_USER }} - key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }} - restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1- - - - name: Install system dependencies - if: runner.os == 'Linux' - run: | - while read -r cmd - do - eval sudo $cmd - done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "20.04"))') + r-version: ${{ matrix.config.r }} + http-user-agent: ${{ matrix.config.http-user-agent }} + use-public-rspm: true - name: Install hdf5 on mac if: runner.os == 'macOS' run: brew install hdf5 - - name: Install dependencies - run: | - remotes::install_deps(dependencies = TRUE) - remotes::install_cran("rcmdcheck") - remotes::install_cran("covr") - shell: Rscript {0} + - name: Install XQuartz on macOS + if: runner.os == 'macOS' + run: brew install --cask xquartz - - name: Check - env: - _R_CHECK_CRAN_INCOMING_REMOTE_: false - run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check") - shell: Rscript {0} + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + needs: check - - name: Upload check results - if: failure() - uses: actions/upload-artifact@main + - uses: r-lib/actions/check-r-package@v2 with: - name: ${{ runner.os }}-r${{ matrix.config.r }}-results - path: check + upload-snapshots: true - - name: Test coverage - if: runner.os == 'macOS' - run: covr::codecov(type = c("tests", "examples"), exclusions = "R/view_ica.R") - shell: Rscript {0} diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml new file mode 100644 index 00000000..85bb4c8a --- /dev/null +++ b/.github/workflows/test-coverage.yaml @@ -0,0 +1,52 @@ +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples +# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help +on: + push: + branches: main + pull_request: + branches: main + +name: test-coverage + +jobs: + test-coverage: + timeout-minutes: 30 + runs-on: ubuntu-latest + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + + steps: + - uses: actions/checkout@v3 + + - uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::covr + needs: coverage + + - name: Test coverage + run: | + covr::codecov( + type = "all", + quiet = FALSE, + clean = FALSE, + install_path = file.path(Sys.getenv("RUNNER_TEMP"), "package") + ) + shell: Rscript {0} + + - name: Show testthat output + if: always() + run: | + ## -------------------------------------------------------------------- + find ${{ runner.temp }}/package -name 'testthat.Rout*' -exec cat '{}' \; || true + shell: bash + + - name: Upload test results + if: failure() + uses: actions/upload-artifact@v3 + with: + name: coverage-test-failures + path: ${{ runner.temp }}/package diff --git a/.gitignore b/.gitignore index b900ec1f..d9a23fdc 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,6 @@ vignettes/linear_modelling/*.fdt vignettes/linear_modelling/*.set vignettes/linear_modelling/*.mat vignettes/linear_modelling/*.txt +vignettes/single_subj_N170/*.set +vignettes/single_subj_N170/*.fdt +vignettes/single_subj_N170/*.set diff --git a/CITATION.cff b/CITATION.cff index cfd8a9b1..4c7230b0 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,5 +1,5 @@ # ----------------------------------------------------------- -# CITATION file created with {cffr} R package, v0.1.1 +# CITATION file created with {cffr} R package, v0.2.3 # See also: https://docs.ropensci.org/cffr/ # ----------------------------------------------------------- @@ -8,7 +8,7 @@ message: 'To cite package "eegUtils" in publications use:' type: software license: MIT title: 'eegUtils: Utilities for Electroencephalographic (EEG) Analysis' -version: 0.6.3.9000 +version: 0.7.0.9000 abstract: EEG processing and visualization tools. Includes import functions for 'BioSemi' (.BDF), 'Neuroscan' (.CNT), 'Brain Vision Analyzer' (.VHDR), 'EEGLAB' (.set) and 'Fieldtrip' (.mat). Many preprocessing functions such as referencing, epoching, @@ -25,7 +25,7 @@ preferred-citation: - family-names: Craddock given-names: Matt email: matt@mattcraddock.com - version: 0.6.3.9000 + version: 0.7.0.9000 abstract: EEG processing and visualization tools. Includes import functions for 'BioSemi' (.BDF), 'Neuroscan' (.CNT), 'Brain Vision Analyzer' (.VHDR), 'EEGLAB' (.set) and 'Fieldtrip' (.mat). Many preprocessing functions such as referencing, @@ -33,7 +33,7 @@ preferred-citation: possible, including timecourse and topographical plotting. repository-code: https://github.com/craddm/eegUtils url: https://craddm.github.io/eegUtils - date-released: '2021-07-09' + date-released: '2022-04-25' contact: - family-names: Craddock given-names: Matt @@ -47,10 +47,10 @@ preferred-citation: - r - rstats license: MIT - year: '2021' + year: '2022' repository-code: https://github.com/craddm/eegUtils url: https://craddm.github.io/eegUtils -date-released: '2021-07-09' +date-released: '2022-04-25' contact: - family-names: Craddock given-names: Matt @@ -63,3 +63,484 @@ keywords: - eeg-signals-processing - r - rstats +references: +- type: software + title: ggplot2 + abstract: 'ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics' + notes: Imports + authors: + - family-names: Wickham + given-names: Hadley + email: hadley@rstudio.com + orcid: https://orcid.org/0000-0003-4757-117X + - family-names: Chang + given-names: Winston + orcid: https://orcid.org/0000-0002-1576-2126 + - family-names: Henry + given-names: Lionel + - family-names: Pedersen + given-names: Thomas Lin + email: thomas.pedersen@rstudio.com + orcid: https://orcid.org/0000-0002-5147-4711 + - family-names: Takahashi + given-names: Kohske + - family-names: Wilke + given-names: Claus + orcid: https://orcid.org/0000-0002-7470-9261 + - family-names: Woo + given-names: Kara + orcid: https://orcid.org/0000-0002-5125-4188 + - family-names: Yutani + given-names: Hiroaki + orcid: https://orcid.org/0000-0002-3385-7233 + - family-names: Dunnington + given-names: Dewey + orcid: https://orcid.org/0000-0002-9415-4582 + year: '2022' + url: https://CRAN.R-project.org/package=ggplot2 +- type: software + title: dplyr + abstract: 'dplyr: A Grammar of Data Manipulation' + notes: Imports + authors: + - family-names: Wickham + given-names: Hadley + email: hadley@rstudio.com + orcid: https://orcid.org/0000-0003-4757-117X + - family-names: François + given-names: Romain + orcid: https://orcid.org/0000-0002-2444-4226 + - family-names: Henry + given-names: Lionel + - family-names: Müller + given-names: Kirill + orcid: https://orcid.org/0000-0002-1416-3412 + year: '2022' + url: https://CRAN.R-project.org/package=dplyr + version: '>= 1.0.0' +- type: software + title: scales + abstract: 'scales: Scale Functions for Visualization' + notes: Imports + authors: + - family-names: Wickham + given-names: Hadley + email: hadley@rstudio.com + - family-names: Seidel + given-names: Dana + year: '2022' + url: https://CRAN.R-project.org/package=scales +- type: software + title: purrr + abstract: 'purrr: Functional Programming Tools' + notes: Imports + authors: + - family-names: Henry + given-names: Lionel + email: lionel@rstudio.com + - family-names: Wickham + given-names: Hadley + email: hadley@rstudio.com + year: '2022' + url: https://CRAN.R-project.org/package=purrr +- type: software + title: shiny + abstract: 'shiny: Web Application Framework for R' + notes: Imports + authors: + - family-names: Chang + given-names: Winston + email: winston@rstudio.com + orcid: https://orcid.org/0000-0002-1576-2126 + - family-names: Cheng + given-names: Joe + email: joe@rstudio.com + - family-names: Allaire + given-names: JJ + email: jj@rstudio.com + - family-names: Sievert + given-names: Carson + email: carson@rstudio.com + orcid: https://orcid.org/0000-0002-4958-2844 + - family-names: Schloerke + given-names: Barret + email: barret@rstudio.com + orcid: https://orcid.org/0000-0001-9986-114X + - family-names: Xie + given-names: Yihui + email: yihui@rstudio.com + - family-names: Allen + given-names: Jeff + email: jeff@rstudio.com + - family-names: McPherson + given-names: Jonathan + email: jonathan@rstudio.com + - family-names: Dipert + given-names: Alan + - family-names: Borges + given-names: Barbara + year: '2022' + url: https://CRAN.R-project.org/package=shiny +- type: software + title: tidyr + abstract: 'tidyr: Tidy Messy Data' + notes: Imports + authors: + - family-names: Wickham + given-names: Hadley + email: hadley@rstudio.com + - family-names: Girlich + given-names: Maximilian + year: '2022' + url: https://CRAN.R-project.org/package=tidyr + version: '>= 1.0.0' +- type: software + title: miniUI + abstract: 'miniUI: Shiny UI Widgets for Small Screens' + notes: Imports + authors: + - family-names: Cheng + given-names: Joe + email: joe@rstudio.com + year: '2022' + url: https://CRAN.R-project.org/package=miniUI +- type: software + title: rlang + abstract: 'rlang: Functions for Base Types and Core R and ''Tidyverse'' Features' + notes: Imports + authors: + - family-names: Henry + given-names: Lionel + email: lionel@rstudio.com + - family-names: Wickham + given-names: Hadley + email: hadley@rstudio.com + year: '2022' + url: https://CRAN.R-project.org/package=rlang + version: '>= 1.0.0' +- type: software + title: MASS + abstract: 'MASS: Support Functions and Datasets for Venables and Ripley''s MASS' + notes: Imports + authors: + - family-names: Ripley + given-names: Brian + email: ripley@stats.ox.ac.uk + year: '2022' + url: https://CRAN.R-project.org/package=MASS +- type: software + title: signal + abstract: 'signal: Signal Processing' + notes: Imports + authors: + - family-names: Ligges + given-names: Uwe + email: ligges@statistik.tu-dortmund.de + - family-names: Short + given-names: Tom + email: tshort@eprisolutions.com + - family-names: Kienzle + given-names: Paul + year: '2022' + url: https://CRAN.R-project.org/package=signal +- type: software + title: tibble + abstract: 'tibble: Simple Data Frames' + notes: Imports + authors: + - family-names: Müller + given-names: Kirill + email: krlmlr+r@mailbox.org + - family-names: Wickham + given-names: Hadley + email: hadley@rstudio.com + year: '2022' + url: https://CRAN.R-project.org/package=tibble +- type: software + title: stats + abstract: 'R: A Language and Environment for Statistical Computing' + notes: Imports + authors: + - name: R Core Team + location: + name: Vienna, Austria + year: '2022' + url: https://www.R-project.org/ + institution: + name: R Foundation for Statistical Computing +- type: software + title: matrixStats + abstract: 'matrixStats: Functions that Apply to Rows and Columns of Matrices (and + to Vectors)' + notes: Imports + authors: + - family-names: Bengtsson + given-names: Henrik + email: henrikb@braju.com + year: '2022' + url: https://CRAN.R-project.org/package=matrixStats +- type: software + title: pracma + abstract: 'pracma: Practical Numerical Math Functions' + notes: Imports + authors: + - family-names: Borchers + given-names: Hans W. + email: hwborchers@googlemail.com + year: '2022' + url: https://CRAN.R-project.org/package=pracma +- type: software + title: abind + abstract: 'abind: Combine Multidimensional Arrays' + notes: Imports + authors: + - family-names: Plate + given-names: Tony + email: tplate@acm.org + - family-names: Heiberger + given-names: Richard + year: '2022' + url: https://CRAN.R-project.org/package=abind +- type: software + title: plotly + abstract: 'plotly: Create Interactive Web Graphics via ''plotly.js''' + notes: Imports + authors: + - family-names: Sievert + given-names: Carson + email: cpsievert1@gmail.com + orcid: https://orcid.org/0000-0002-4958-2844 + - family-names: Parmer + given-names: Chris + email: chris@plot.ly + - family-names: Hocking + given-names: Toby + email: tdhock5@gmail.com + - family-names: Chamberlain + given-names: Scott + email: myrmecocystus@gmail.com + - family-names: Ram + given-names: Karthik + email: karthik.ram@gmail.com + - family-names: Corvellec + given-names: Marianne + email: marianne.corvellec@igdore.org + orcid: https://orcid.org/0000-0002-1994-3581 + - family-names: Despouy + given-names: Pedro + email: pedro@plot.ly + year: '2022' + url: https://CRAN.R-project.org/package=plotly +- type: software + title: future.apply + abstract: 'future.apply: Apply Function to Elements in Parallel using Futures' + notes: Imports + authors: + - family-names: Bengtsson + given-names: Henrik + email: henrikb@braju.com + year: '2022' + url: https://CRAN.R-project.org/package=future.apply +- type: software + title: Rcpp + abstract: 'Rcpp: Seamless R and C++ Integration' + notes: Imports + authors: + - family-names: Eddelbuettel + given-names: Dirk + - family-names: Francois + given-names: Romain + - family-names: Allaire + given-names: JJ + - family-names: Ushey + given-names: Kevin + - family-names: Kou + given-names: Qiang + - family-names: Russell + given-names: Nathan + - family-names: Ucar + given-names: Inaki + - family-names: Bates + given-names: Douglas + - family-names: Chambers + given-names: John + year: '2022' + url: https://CRAN.R-project.org/package=Rcpp +- type: software + title: data.table + abstract: 'data.table: Extension of `data.frame`' + notes: Imports + authors: + - family-names: Dowle + given-names: Matt + email: mattjdowle@gmail.com + - family-names: Srinivasan + given-names: Arun + email: asrini@pm.me + year: '2022' + url: https://CRAN.R-project.org/package=data.table +- type: software + title: isoband + abstract: 'isoband: Generate Isolines and Isobands from Regularly Spaced Elevation + Grids' + notes: Imports + authors: + - family-names: Wilke + given-names: Claus O. + email: wilke@austin.utexas.edu + orcid: https://orcid.org/0000-0002-7470-9261 + - family-names: Pedersen + given-names: Thomas Lin + email: thomasp85@gmail.com + orcid: https://orcid.org/0000-0002-5147-4711 + year: '2022' + url: https://CRAN.R-project.org/package=isoband +- type: software + title: 'R: A Language and Environment for Statistical Computing' + notes: Depends + authors: + - name: R Core Team + location: + name: Vienna, Austria + year: '2022' + url: https://www.R-project.org/ + institution: + name: R Foundation for Statistical Computing + version: '>= 3.4.0' +- type: software + title: knitr + abstract: 'knitr: A General-Purpose Package for Dynamic Report Generation in R' + notes: Suggests + authors: + - family-names: Xie + given-names: Yihui + email: xie@yihui.name + orcid: https://orcid.org/0000-0003-0645-5666 + year: '2022' + url: https://CRAN.R-project.org/package=knitr +- type: software + title: rmarkdown + abstract: 'rmarkdown: Dynamic Documents for R' + notes: Suggests + authors: + - family-names: Allaire + given-names: JJ + email: jj@rstudio.com + - family-names: Xie + given-names: Yihui + email: xie@yihui.name + orcid: https://orcid.org/0000-0003-0645-5666 + - family-names: McPherson + given-names: Jonathan + email: jonathan@rstudio.com + - family-names: Luraschi + given-names: Javier + email: javier@rstudio.com + - family-names: Ushey + given-names: Kevin + email: kevin@rstudio.com + - family-names: Atkins + given-names: Aron + email: aron@rstudio.com + - family-names: Wickham + given-names: Hadley + email: hadley@rstudio.com + - family-names: Cheng + given-names: Joe + email: joe@rstudio.com + - family-names: Chang + given-names: Winston + email: winston@rstudio.com + - family-names: Iannone + given-names: Richard + email: rich@rstudio.com + orcid: https://orcid.org/0000-0003-3925-190X + year: '2022' + url: https://CRAN.R-project.org/package=rmarkdown +- type: software + title: JADE + abstract: 'JADE: Blind Source Separation Methods Based on Joint Diagonalization + and Some BSS Performance Criteria' + notes: Suggests + authors: + - family-names: Nordhausen + given-names: Klaus + email: klaus.nordhausen@tuwien.ac.at + orcid: https://orcid.org/0000-0002-3758-8501 + - family-names: Cardoso + given-names: Jean-Francois + - family-names: Miettinen + given-names: Jari + orcid: https://orcid.org/0000-0002-3270-7014 + - family-names: Oja + given-names: Hannu + - family-names: Ollila + given-names: Esa + - family-names: Taskinen + given-names: Sara + orcid: https://orcid.org/0000-0001-9470-7258 + year: '2022' + url: https://CRAN.R-project.org/package=JADE +- type: software + title: whitening + abstract: 'whitening: Whitening and High-Dimensional Canonical Correlation Analysis' + notes: Suggests + authors: + - family-names: Strimmer + given-names: Korbinian + - family-names: Jendoubi + given-names: Takoua + - family-names: Kessy + given-names: Agnan + - family-names: Lewin + given-names: Alex + year: '2022' + url: https://CRAN.R-project.org/package=whitening +- type: software + title: ini + abstract: 'ini: Read and Write ''.ini'' Files' + notes: Suggests + authors: + - family-names: Dias + given-names: David Valentim + year: '2022' + url: https://CRAN.R-project.org/package=ini +- type: software + title: mgcv + abstract: 'mgcv: Mixed GAM Computation Vehicle with Automatic Smoothness Estimation' + notes: Suggests + authors: + - family-names: Wood + given-names: Simon + email: simon.wood@r-project.org + year: '2022' + url: https://CRAN.R-project.org/package=mgcv +- type: software + title: infomax + abstract: 'infomax: Infomax Independent Component Analysis' + notes: Suggests + authors: + - family-names: Craddock + given-names: Matt + email: matt@mattcraddock.com + year: '2022' + url: https://github.com/craddm/infomax + version: '>= 0.1.0' +- type: software + title: RcppArmadillo + abstract: 'RcppArmadillo: ''Rcpp'' Integration for the ''Armadillo'' Templated Linear + Algebra Library' + notes: LinkingTo + authors: + - family-names: Eddelbuettel + given-names: Dirk + - family-names: Francois + given-names: Romain + - family-names: Bates + given-names: Doug + - family-names: Ni + given-names: Binxiang + - family-names: Sanderson + given-names: Conrad + year: '2022' + url: https://CRAN.R-project.org/package=RcppArmadillo diff --git a/DESCRIPTION b/DESCRIPTION index a731e204..49ba74d2 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,14 +1,14 @@ Package: eegUtils Type: Package Title: Utilities for Electroencephalographic (EEG) Analysis -Version: 0.7.0 -Date: 2022-02-03 +Version: 0.8.0 +Date: 2024-10-22 Authors@R: c( - person("Matt", "Craddock", role = c("aut", "cre", "cph"), email = "matt@mattcraddock.com"), + person("Matt", "Craddock", role = c("aut", "cre"), email = "matt@mattcraddock.com"), person("Matti", "Vuorre", role = "ctb", email = "mv2521@columbia.edu"), - person("ggplot2 authors", role = c("ctb", "cph"), comment = "Routines borrowed from ggplot2 to allow countours to be drawn on topoplots")) + person("ggplot2 authors", role = c("cph"), comment = "Routines borrowed from ggplot2 to allow contours to be drawn on topoplots")) Maintainer: Matt Craddock -Description: EEG processing and visualization tools. Includes import +Description: Electroencephalography data processing and visualization tools. Includes import functions for 'BioSemi' (.BDF), 'Neuroscan' (.CNT), 'Brain Vision Analyzer' (.VHDR), 'EEGLAB' (.set) and 'Fieldtrip' (.mat). Many preprocessing functions such as referencing, epoching, filtering, and ICA are available. There are a variety @@ -17,30 +17,29 @@ License: MIT + file LICENSE Encoding: UTF-8 LazyData: true Imports: - ggplot2, + ggplot2 (>= 3.4.0), dplyr (>= 1.0.0), scales, purrr, - shiny, + shiny (>= 1.6.0), tidyr (>= 1.0.0), miniUI, - rlang (>= 0.4.0), + rlang (>= 1.0.0), MASS, - Matrix, signal, tibble, stats, matrixStats, - pracma, abind, - data.table, plotly, future.apply, Rcpp, - isoband + data.table, + isoband, + bslib Depends: - R (>= 3.3.0) -RoxygenNote: 7.1.2 + R (>= 4.0.0) +RoxygenNote: 7.3.2 Suggests: testthat, vdiffr, @@ -50,16 +49,18 @@ Suggests: JADE, ica, geigen, - whitening, fICA, edfReader, ini, R.matlab, hdf5r, mgcv, - infomax (>= 0.1.0) + infomax (>= 0.1.0), + Hmisc URL: https://github.com/craddm/eegUtils, https://craddm.github.io/eegUtils BugReports: https://github.com/craddm/eegUtils/issues +Config/testthat/edition: 3 +Config/testthat/parallel: true VignetteBuilder: knitr LinkingTo: Rcpp, diff --git a/NAMESPACE b/NAMESPACE index fe1a3c5c..6fdeec87 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -73,6 +73,8 @@ S3method(eeg_reference,default) S3method(eeg_reference,eeg_ICA) S3method(eeg_reference,eeg_data) S3method(eeg_reference,eeg_epochs) +S3method(eeg_summarise,default) +S3method(eeg_summarise,eeg_epochs) S3method(electrode_locations,data.frame) S3method(electrode_locations,eeg_data) S3method(electrode_locations,eeg_epochs) @@ -109,10 +111,8 @@ S3method(get_scalpmap,data.frame) S3method(get_scalpmap,default) S3method(get_scalpmap,eeg_ICA) S3method(get_scalpmap,eeg_epochs) -S3method(iir_filt,data.frame) -S3method(iir_filt,default) -S3method(iir_filt,eeg_data) -S3method(iir_filt,eeg_epochs) +S3method(interactive_scalp,default) +S3method(interactive_scalp,eeg_epochs) S3method(interp_elecs,default) S3method(interp_elecs,eeg_data) S3method(list_epochs,eeg_ICA) @@ -129,7 +129,10 @@ S3method(plot_difference,default) S3method(plot_difference,eeg_epochs) S3method(plot_electrodes,default) S3method(plot_electrodes,eeg_data) +S3method(plot_electrodes,eeg_evoked) S3method(plot_electrodes,eeg_tfr) +S3method(plot_gfp,default) +S3method(plot_gfp,eeg_epochs) S3method(plot_psd,data.frame) S3method(plot_psd,eeg_ICA) S3method(plot_psd,eeg_data) @@ -151,7 +154,9 @@ S3method(print,eeg_group) S3method(print,eeg_lm) S3method(print,eeg_stats) S3method(print,eeg_tfr) +S3method(print,tfr_average) S3method(rename,eeg_ICA) +S3method(rename,eeg_data) S3method(rename,eeg_epochs) S3method(rm_baseline,data.frame) S3method(rm_baseline,eeg_data) @@ -223,6 +228,7 @@ export(eeg_downsample) export(eeg_epochs) export(eeg_filter) export(eeg_reference) +export(eeg_summarise) export(electrode_locations) export(epoch_data) export(epoch_stats) @@ -243,7 +249,6 @@ export(geom_topo) export(get_participant_id) export(get_recording) export(get_scalpmap) -export(iir_filt) export(import_chans) export(import_erplab) export(import_ft) @@ -263,11 +268,11 @@ export(mutate) export(plot_butterfly) export(plot_difference) export(plot_electrodes) +export(plot_gfp) export(plot_psd) export(plot_tfr) export(plot_timecourse) export(rename) -export(reref_eeg) export(rm_baseline) export(rotate_angle) export(run_ICA) @@ -291,17 +296,13 @@ import(miniUI) import(shiny) import(tidyr) import(tools) -importFrom(MASS,ginv) -importFrom(Matrix,rankMatrix) importFrom(Rcpp,sourceCpp) importFrom(abind,abind) importFrom(abind,asub) importFrom(data.table,data.table) -importFrom(dplyr,bind_rows) importFrom(dplyr,distinct) importFrom(dplyr,filter) importFrom(dplyr,group_by) -importFrom(dplyr,group_by_at) importFrom(dplyr,inner_join) importFrom(dplyr,left_join) importFrom(dplyr,mutate) @@ -309,26 +310,17 @@ importFrom(dplyr,pull) importFrom(dplyr,rename) importFrom(dplyr,select) importFrom(dplyr,summarise) -importFrom(dplyr,summarise_at) importFrom(dplyr,ungroup) importFrom(future.apply,future_lapply) importFrom(ggplot2,fortify) importFrom(graphics,abline) importFrom(graphics,par) -importFrom(matrixStats,rowMedians) -importFrom(plotly,event_data) -importFrom(plotly,plot_ly) -importFrom(plotly,renderPlotly) -importFrom(pracma,legendre) importFrom(purrr,is_empty) importFrom(purrr,map) importFrom(purrr,map_df) importFrom(purrr,partial) importFrom(scales,squish) -importFrom(signal,butter) importFrom(signal,decimate) -importFrom(signal,filtfilt) -importFrom(signal,freqz) importFrom(stats,cor) importFrom(stats,cov) importFrom(stats,median) @@ -338,6 +330,4 @@ importFrom(tibble,as_tibble) importFrom(tibble,is_tibble) importFrom(tibble,tibble) importFrom(tidyr,gather) -importFrom(tidyr,pivot_longer) -importFrom(tidyr,spread) useDynLib(eegUtils, .registration = TRUE) diff --git a/NEWS.md b/NEWS.md index da42d303..2287ae7d 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,43 @@ +# eegUtils 0.8.0 + +### Function changes +- `plot_timecourse()` now requires facets and mappings to be explicitly stated during the call, rather than added afterwards. This allows it to use weighted averages when required. +- `plot_timecourse.eeg_tfr()` now defaults to no baseline correction, and takes a `type` argument for baseline type to be specified. +- Added new `plot_gfp()` function for calculating and plotting Global Field Power. +- `topoplot()` now supports plotting of multiple timepoints - pass a list of times to the `time_lim` argument. +- `topoplot()` now supports custom fill titles through the `fill_title` argument, and automatically switches where necessary (e.g. now says "Power mV^2"). Fill titles are now also centred. +- `browse_data.eeg_ICA()` now provides the option to select components for rejection, and returns a character vector of selected components. +- Recoded `browse_data()` to use `bslib` for styling. +- `view_ica()` now allows you to select components for rejection, to double-click on topographies to inspect them individually, and to return cleaned data. +- `eeg_average()` now supports averaging over conditions in `eeg_evoked` files +- `eeg_average()` now records weights - the number of epochs that went into an average - and uses those in subsequent steps where possible for `eeg_epochs`/`eeg_evoked` / `eeg_tfr` objects. +- `compute_tfr()` now has an argument `trim_edges` which allows users to switch off automatic removal of epoch edges after transformation. Defaults to TRUE. +- `rm_baseline()` now adds a record of the baseline period +- Changed logic of `eeg_combine.eeg_epochs()`. Now checks for duplicate epochs directly using `epoch`, `participant_id` and `recording`, and only corrects when there are duplicates. This means `recording` and `participant_id` have to be matching across `eeg_epochs` objects for the timing correction to be applied. + +### Internal changes/bug fixes +- Recoded `faster_epochs()` to no longer use `data.table`. +- added `parse_cycles()` function for use during `compute_tfr()` +- Using `electrode_locations()` on a `data.frame` would return a data frame with the electrode names in full upper case. Now returns with the electrodes in their original case. +- `eeg_evoked` objects should now contain reference information. +- `ar_for_ica` file started, moving some functions from `artefact_rejection.R` +- `select_times` prevented from converting single column data.frames to vectors after subsetting. +- `plot_timecourse.eeg_tfr` now correctly uses the `freq_range` parameter. +- Improvements to internal processing logic in `view_ica()` to improve performance. +- `import_raw(..., fast_bdf = TRUE)` will now discard Annotations rather than fail to import BDF files with Annotations. +- removed dependency on `Matrix` - now using `qr()$rank` in `run_ICA` rather than using `Matrix::rankMatrix()` to determine rank of input signals. +- Added numerous `dropped_aes` variables to the custom `ggplot2` `stat_` functions for compatibility with `ggplot2 3.4.0`. +- Replaced `size` aesthetic with `linewidth` for compatibility with `ggplot2 3.4.0`. +- Lots of minor code style improvements +- Deprecated function `iir_filt` removed +- Refactored `run_ICA` and adopted faster SOBI methods +- Used internal legendre polynomial function and removed `pracma` dependency +- Used internal whitening methods in `sobi_ICA` and removed `whitenening` dependency + # eegUtils 0.7.0 ### Function changes -- Add `imax` method to `run_ICA()`. This allows use of the `infomax` ICA algorithm from the `infomax` package, which is a reimplementation of the Infomax algorithm used in the `EEGLAB` Matlab toolbox. +- Add `imax` method to `run_ICA()`. This allows use of the `infomax` ICA algorithm from the `infomax` package, which is a reimplementation of the extended-Infomax algorithm used in the `EEGLAB` Matlab toolbox. - `erp_scalp()` and `interactive_scalp()` should now appropriately use channel locations included in the data. - More informative messages when using `compute_tfr()`. - `plot_tfr()` now applies baseline correction on a single-trial basis where possible, which may show different results when using non-linear baseline correction (e.g. `divide` or `dB`) diff --git a/R/ar-faster.R b/R/ar-faster.R index cbffcb05..f4ee6fec 100644 --- a/R/ar-faster.R +++ b/R/ar-faster.R @@ -11,9 +11,8 @@ #' @examples #' ar_FASTER(demo_epochs) #' @return An `eeg_epochs` object with artefact correction applied. -#' @references -#' Nolan, Whelan & Reilly (2010). FASTER: Fully Automated Statistical Thresholding for -#' EEG artifact Rejection. J Neurosci Methods. +#' @references Nolan, Whelan & Reilly (2010). FASTER: Fully Automated +#' Statistical Thresholding for EEG artifact Rejection. J Neurosci Methods. #' @export ar_FASTER <- function(data, ...) { @@ -71,8 +70,7 @@ ar_FASTER.eeg_epochs <- function(data, if (is.numeric(exclude)) { exclude <- orig_names[exclude] } - message("Excluding channel(s):", - paste(exclude, "")) + message("Excluding channel(s):", paste(exclude, "")) data_chans <- data_chans[!(data_chans %in% exclude)] } @@ -81,8 +79,7 @@ ar_FASTER.eeg_epochs <- function(data, bad_chans <- faster_chans(data$signals[, data_chans]) bad_chan_n <- data_chans[bad_chans] message(paste("Globally bad channels:", - paste(bad_chan_n, - collapse = " "))) + paste(bad_chan_n, collapse = " "))) if (length(bad_chan_n) > 0) { @@ -133,18 +130,28 @@ ar_FASTER.eeg_epochs <- function(data, message(paste("Globally bad epochs:", paste(bad_epochs, collapse = " "))) - data$reject$bad_epochs <- bad_epochs + + data$reject$epochs <- do.call(rbind, + list(data$reject$epoch, + data.frame(epoch = bad_epochs, + reason = "bad_epoch") + ) + ) data <- select_epochs(data, epoch_no = bad_epochs, keep = FALSE) } else { - message("Skipping bad epoch detection") + message("Skipping globally bad epoch detection...") } # Step 3: ICA stats (not currently implemented) # Step 4: Channels in Epochs - data <- faster_cine(data, - exclude) + if (test_cine) { + data <- faster_cine(data, + exclude) + } else { + message("Skipping detection of locally bad channels in epochs...") + } # Step 5: Grand average step (not currently implemented, probably never will be!) @@ -156,7 +163,6 @@ ar_FASTER.eeg_epochs <- function(data, verbose = FALSE) } - #data$chan_info <- orig_chan_info data } @@ -171,18 +177,14 @@ faster_chans <- function(data, sds = 3, ...) { chan_hurst <- scale(quick_hurst(data)) - chan_vars <- scale(apply(data, - 2, - stats::var)) + chan_vars <- scale(apply(data, 2, stats::var)) chan_corrs <- scale(colMeans(abs(stats::cor(data)))) bad_chans <- matrix(c(abs(chan_hurst) > sds, abs(chan_vars) > sds, abs(chan_corrs) > sds), nrow = 3, byrow = TRUE) - bad_chans <- apply(bad_chans, - 2, - any) + bad_chans <- apply(bad_chans, 2, any) bad_chans } @@ -194,33 +196,40 @@ faster_chans <- function(data, #' @keywords internal faster_epochs <- function(data, sds = 3, ...) { - chans <- channel_names(data) - data <- data.table::as.data.table(data) - chan_means <- data[, lapply(.SD, mean), .SDcols = chans] - epoch_range <- data[, lapply(.SD, function(x) max(x) - min(x)), - .SDcols = chans, - by = epoch] - epoch_range <- epoch_range[, .(Mean = rowMeans(.SD)), by = epoch] - epoch_range <- abs(scale(epoch_range$Mean)) > sds - - epoch_diffs <- data[, lapply(.SD, mean), - .SDcols = chans, - by = epoch][, lapply(.SD, function(x) x - mean(x)), - .SDcols = chans][ , - .(Mean = rowMeans(.SD))] - epoch_diffs <- abs(scale(epoch_diffs$Mean)) > sds - - epoch_vars <- data[, lapply(.SD, var), .SDcols = chans, - by = epoch][, apply(.SD, 1, mean), - .SDcols = chans] - epoch_vars <- abs(scale(epoch_vars)) > sds - - bad_epochs <- matrix(c(rowSums(epoch_vars) > 0, - rowSums(epoch_range) > 0, - rowSums(epoch_diffs) > 0), - ncol = 3) - bad_epochs <- apply(bad_epochs, 1, any) - bad_epochs + chan_means <- colMeans(data$signals) + data$signals <- split(data$signals, data$timings$epoch) + data$signals <- lapply(data$signals, as.matrix) + epoch_ranges <- lapply(data$signals, + function(x) { + matrixStats::rowDiffs( + matrixStats::colRanges(x) + ) + }) + epoch_ranges <- matrix(unlist(epoch_ranges), + ncol = length(epoch_ranges)) + epoch_ranges <- colMeans(epoch_ranges) + + epoch_diffs <- lapply(data$signals, + colMeans) + epoch_diffs <- matrix(unlist(epoch_diffs), + ncol = length(epoch_diffs)) + epoch_diffs <- epoch_diffs - chan_means + epoch_diffs <- colMeans(abs(epoch_diffs)) + + epoch_vars <- lapply(data$signals, + function(x) matrixStats::colVars(x)) + epoch_vars <- matrix(unlist(epoch_vars), + ncol = length(epoch_vars)) + epoch_vars <- colMeans(epoch_vars) + + measures <- matrix(c(epoch_ranges, + epoch_diffs, + epoch_vars), + ncol = 3) + + measures <- abs(scale(measures)) >= sds + measures <- rowSums(measures) > 0 + measures } #' FASTER detection of bad channels in single epochs @@ -369,10 +378,10 @@ faster_epo_stat <- function(data, measures <- data.frame(vars = matrixStats::colVars(as.matrix(data)), - medgrad = matrixStats::colMedians(diff(as.matrix(data))), - range_diff = t(diff(t(matrixStats::colRanges(as.matrix(data))))), - chan_dev = abs(colMeans(data) - chan_means) - ) + medgrad = matrixStats::colMedians(diff(as.matrix(data))), + range_diff = t(diff(t(matrixStats::colRanges(as.matrix(data))))), + chan_dev = abs(colMeans(data) - chan_means) + ) # Check if any measure is above threshold of standard deviations # for some reason FASTER median centres all measures. @@ -420,17 +429,17 @@ ar_FASTER.eeg_group <- function(data, all_data <- as.data.frame(data) participant_mean <- - all_data %>% - dplyr::ungroup %>% + dplyr::ungroup(all_data) %>% dplyr::group_by(participant_id) %>% dplyr::summarise( dplyr::across( dplyr::all_of(data_chans), - mean) - ) + mean, + na.rm = TRUE) + ) channel_mean <- - colMeans(all_data[, data_chans]) + colMeans(all_data[, data_chans], na.rm = TRUE) part_diffs <- abs(sweep(participant_mean[, data_chans], @@ -438,17 +447,17 @@ ar_FASTER.eeg_group <- function(data, channel_mean, "-")) participant_var <- - all_data %>% - dplyr::ungroup %>% + dplyr::ungroup(all_data) %>% dplyr::group_by(participant_id) %>% dplyr::summarise( dplyr::across( dplyr::all_of(data_chans), - var) + var, + na.rm = TRUE) ) channel_vars <- - matrixStats::colVars(as.matrix(all_data[, data_chans])) + matrixStats::colVars(as.matrix(all_data[, data_chans]), na.rm = TRUE) part_var_diffs <- abs(sweep(participant_var[, data_chans], @@ -456,17 +465,14 @@ ar_FASTER.eeg_group <- function(data, channel_vars, "-")) part_ranges <- - all_data %>% - dplyr::ungroup %>% + dplyr::ungroup(all_data) %>% dplyr::group_by(participant_id) %>% dplyr::summarise( dplyr::across( dplyr::all_of(data_chans), - ~diff(range(.))) + ~diff(range(., na.rm = TRUE))) ) - - scaled_diffs <- abs(scale(part_diffs[, data_chans])) scaled_vars <- abs(scale(part_var_diffs[, data_chans])) scaled_ranges <- abs(scale(part_ranges[, data_chans])) @@ -475,13 +481,12 @@ ar_FASTER.eeg_group <- function(data, if (!is.null(EOG)) { participant_eog <- - all_data %>% - dplyr::ungroup %>% + dplyr::ungroup(all_data) %>% dplyr::group_by(participant_id) %>% dplyr::summarise( dplyr::across( dplyr::all_of(EOG), - max) + max, na.rm = TRUE) ) scaled_eog <- abs(scale(matrixStats::rowMaxs(as.matrix(participant_eog[, EOG])))) data.frame( @@ -497,7 +502,7 @@ ar_FASTER.eeg_group <- function(data, deviance = rowSums(scaled_diffs > 3), variance = rowSums(scaled_vars > 3), range = rowSums(scaled_ranges > 3) - ) + ) } } diff --git a/R/ar_for_ica.R b/R/ar_for_ica.R index 18a5e4f1..81741a98 100644 --- a/R/ar_for_ica.R +++ b/R/ar_for_ica.R @@ -4,8 +4,9 @@ #' decomposition and the electrooculogram channels of an `eeg_epochs` dataset. #' #' @author Matt Craddock, \email{matt@@mattcraddock.com} -#' @param decomp ICA decomposition -#' @param data Original data +#' @param decomp An `eeg_ica` object +#' @param data The original `eeg_epochs` object from which this decomposition +#' was derived #' @param ... Other parameters #' @references Chaumon, M., Bishop, D.V., Busch, N.A. (2015). A practical guide #' to the selection of independent components of the electroencephalogram for @@ -20,14 +21,15 @@ ar_eogcor <- function(decomp, UseMethod("ar_eogcor", decomp) } - #' @param HEOG Horizontal eye channels #' @param VEOG Vertical eye channels #' @param threshold Threshold for correlation (r). Defaults to NULL, #' automatically determining a threshold. #' @param plot Plot correlation coefficient for all components #' @param bipolarize Bipolarize the HEOG and VEOG channels? -#' @describeIn ar_eogcor Method for eeg_ICA objects. +#' @param method Correlation method. Defaults to Pearson. +#' @param verbose Print informative messages. Defaults to TRUE. +#' @describeIn ar_eogcor Method for `eeg_ICA` objects. #' @export ar_eogcor.eeg_ICA <- function(decomp, data, @@ -36,28 +38,33 @@ ar_eogcor.eeg_ICA <- function(decomp, threshold = NULL, plot = TRUE, bipolarize = TRUE, + method = c("pearson", "kendall", "spearman"), + verbose = TRUE, ...) { if (!is.null(threshold)) { - if (threshold > 1 | threshold < 0) { + if (threshold > 1 || threshold < 0) { stop("Threshold must be between 0 and 1.") } heog_threshold <- threshold veog_threshold <- threshold } - EOG_corrs <- abs(stats::cor(decomp$signals, + method <- match.arg(method) + + eog_corrs <- abs(stats::cor(decomp$signals, if (bipolarize) { - bip_EOG(data$signals, + bip_eog(data$signals, HEOG, VEOG) } else { - data$signals[,c("HEOG", "VEOG")] - })) + data$signals[, c(HEOG, VEOG)] + }, + method = method)) if (is.null(threshold)) { - mean_corrs <- colMeans(EOG_corrs) - sd_corrs <- matrixStats::colSds(EOG_corrs) + mean_corrs <- colMeans(eog_corrs) + sd_corrs <- matrixStats::colSds(eog_corrs) heog_threshold <- mean_corrs[[1]] + 4 * sd_corrs[[1]] veog_threshold <- mean_corrs[[2]] + 4 * sd_corrs[[2]] message("Estimated HEOG threshold: ", round(heog_threshold, 2)) @@ -66,17 +73,26 @@ ar_eogcor.eeg_ICA <- function(decomp, if (plot) { graphics::par(mfrow = c(1, 2)) - plot(EOG_corrs[, 1]) + plot(eog_corrs[, 1], + xlab = "Channel", + ylab = "HEOG correlation") graphics::abline(h = heog_threshold) - plot(EOG_corrs[, 2]) + plot(eog_corrs[, 2], + xlab = "Channel", + ylab = "VEOG correlation") graphics::abline(h = veog_threshold) + graphics::title(paste("method =", method)) } - crossed_thresh <- cbind(EOG_corrs[, 1] > heog_threshold, - EOG_corrs[, 2] > veog_threshold) + crossed_thresh <- cbind(eog_corrs[, 1] > heog_threshold, + eog_corrs[, 2] > veog_threshold) above_thresh <- apply(crossed_thresh, 1, any) above_thresh <- channel_names(decomp)[above_thresh] + if (verbose) { + message("Components with high EOG correlation: ", + paste0(above_thresh, sep = " ")) + } above_thresh } @@ -106,7 +122,8 @@ ar_acf <- function(data, ...) { #' @param ms Time lag to check ACF, in milliseconds. Defaults to 20 ms. #' @param plot Produce plot showing ACF and threshold for all EEG components. #' @param verbose Print informative messages. Defaults to TRUE. -#' @param threshold Specify a threshold for low ACF. NULL estimates the threshold automatically. +#' @param threshold Specify a threshold for low ACF. NULL estimates the +#' threshold automatically. #' @describeIn ar_acf Autocorrelation checker for `eeg_ICA` objects #' @importFrom stats sd cor #' @importFrom graphics abline par @@ -118,7 +135,7 @@ ar_acf.eeg_ICA <- function(data, threshold = NULL, ...) { - time_lag <- round(data$srate * (ms/1000)) + time_lag <- round(data$srate * (ms / 1000)) low_acf <- apply(data$signals, 2, function(x) stats::acf(x, time_lag, plot = FALSE)$acf[time_lag + 1, 1, 1]) if (is.null(threshold)) { @@ -144,7 +161,7 @@ ar_acf.eeg_ICA <- function(data, #' that have one particular channel that has a particularly high z-score. #' #' @author Matt Craddock \email{matt@@mattcraddock.com} -#' @param data `eeg_ICA` object +#' @param data An `eeg_ICA` object #' @param plot Produce plot showing max z-scores and threshold for all ICA #' components. #' @param threshold Specify a threshold for high focality. NULL estimates the @@ -171,13 +188,16 @@ ar_chanfoc <- function(data, if (!inherits(data, "eeg_ICA")) { stop("Only eeg_ICA objects supported.") } + n_comps <- length(channel_names(data)) zmat <- apply(data$mixing_matrix[, 1:n_comps], 2, scale) + if (identical(measure, "max")) { max_weights <- apply(zmat, 2, function(x) max(abs(x))) } else if (identical(measure, "kurtosis")) { max_weights <- apply(zmat, 2, kurtosis) } + if (is.null(threshold)) { threshold <- mean(max_weights) + 2 * stats::sd(max_weights) if (verbose) { @@ -195,7 +215,6 @@ ar_chanfoc <- function(data, if (verbose) { message("Components with high channel focality: ", paste0(chan_foc, sep = " ")) } - chan_foc } @@ -251,5 +270,11 @@ ar_trialfoc <- function(data, graphics::abline(h = threshold) } - channel_names(data)[matrixStats::colMaxs(zmat) > threshold] + trial_foc <- channel_names(data)[matrixStats::colMaxs(zmat) > threshold] + + if (verbose) { + message("Components with high trial focality: ", paste0(trial_foc, sep = " ")) + } + + trial_foc } diff --git a/R/artefact_rejection.R b/R/artefact_rejection.R index 96b86026..86024a36 100644 --- a/R/artefact_rejection.R +++ b/R/artefact_rejection.R @@ -86,10 +86,15 @@ ar_thresh.eeg_epochs <- function(data, data <- select_epochs(data, epoch_no = rej_epochs, keep = FALSE) - } else { - data$reject$epochs <- rej_epochs - data$reject$timings <- data$timings[crossed_thresh,] - } + } else { + data$reject$epochs <- do.call(rbind, + list( + data$reject$epochs, + rej_epochs + ) + ) + data$reject$timings <- data$timings[crossed_thresh, ] + } } data } @@ -104,11 +109,11 @@ check_thresh <- function(data, threshold) { total_data <- prod(dim(data$signals)) message(sum(upper_thresh), - " (", round(sum(upper_thresh)/total_data * 100, 2), "%) ", - "samples above ", max(threshold) , " uV threshold.") + " (", round(sum(upper_thresh) / total_data * 100, 2), "%) ", + "samples above ", max(threshold), " uV threshold.") message(sum(lower_thresh), - " (", round(sum(lower_thresh)/total_data * 100, 2), "%) ", - "samples below ", min(threshold) , " uV threshold.") + " (", round(sum(lower_thresh) / total_data * 100, 2), "%) ", + "samples below ", min(threshold), " uV threshold.") crossed_thresh } @@ -116,7 +121,7 @@ check_thresh <- function(data, threshold) { #' #' @author Matt Craddock \email{matt@@mattcraddock.com} #' -#' @param data Data as a `eeg_data` or `eeg_epochs` object. +#' @param data An `eeg_data` or `eeg_epochs` object. #' @param ... Other parameters passed to the functions. #' @examples #' channel_stats(demo_epochs) @@ -140,12 +145,12 @@ channel_stats.eeg_data <- function(data, chan_range <- apply(data$signals, 2, function(x) diff(range(x))) data.frame(electrode = names(data$signals), - means = chan_means, - sds = chan_sds, - variance = chan_var, - kurtosis = chan_kurt, - minmax = chan_range - ) + means = chan_means, + sds = chan_sds, + variance = chan_var, + kurtosis = chan_kurt, + minmax = chan_range + ) } #' Epoch statistics @@ -154,7 +159,7 @@ channel_stats.eeg_data <- function(data, #' #' @author Matt Craddock \email{matt@@mattcraddock.com} #' -#' @param data Data as a `eeg_data` or `eeg_epochs` object. +#' @param data An `eeg_epochs` object. #' @param ... Other parameters passed to the functions. #' @examples #' epoch_stats(demo_epochs) @@ -253,29 +258,29 @@ eogreg <- function(data, bipolarize) { if (bipolarize) { - EOG <- bip_EOG(data$signals, heog, veog) + eog <- bip_eog(data$signals, heog, veog) } else { - HEOG <- data$signals[, heog, drop = TRUE] - VEOG <- data$signals[, veog, drop = TRUE] - EOG <- data.frame(HEOG, VEOG) + heog <- data$signals[, heog, drop = TRUE] + veog <- data$signals[, veog, drop = TRUE] + eog <- data.frame(heog, veog) } data_chans <- channel_names(data)[!channel_names(data) %in% c(heog, veog)] - hmz <- solve(crossprod(as.matrix(EOG)), - crossprod(as.matrix(EOG), + hmz <- solve(crossprod(as.matrix(eog)), + crossprod(as.matrix(eog), as.matrix(data$signals[, data_chans]))) - data$signals[, data_chans] <- data$signals[, data_chans] - crossprod(t(as.matrix(EOG)), hmz) + data$signals[, data_chans] <- data$signals[, data_chans] - crossprod(t(as.matrix(eog)), hmz) data } #' @noRd -bip_EOG <- function(data, - HEOG, - VEOG) { - HEOG <- data[, HEOG[1]] - data[, HEOG[2]] - VEOG <- data[, VEOG[1]] - data[, VEOG[2]] - EOG <- data.frame(HEOG, VEOG) - EOG +bip_eog <- function(data, + heog, + veog) { + heog <- data[, heog[1]] - data[, heog[2]] + veog <- data[, veog[1]] - data[, veog[2]] + eog <- data.frame(heog, veog) + eog } diff --git a/R/artefact_viewer.R b/R/artefact_viewer.R index 68702ecb..36e27f79 100644 --- a/R/artefact_viewer.R +++ b/R/artefact_viewer.R @@ -1,14 +1,12 @@ #' Artefact browser #' #' An interactive Shiny app that allows exploration of channel and epoch -#' statistics. +#' statistics #' #' @author Matt Craddock \email{matt@@mattcraddock.com} #' @import shiny #' @import ggplot2 -#' @importFrom plotly plot_ly renderPlotly event_data #' @param data Object to be explored. -#' @return Nothing. #' @examples #' \dontrun{ view_artefacts(demo_epochs) } #' @export @@ -16,9 +14,9 @@ view_artefacts <- function(data) { chan_dat <- channel_stats(data) - scale_chans <- dplyr::mutate_if(chan_dat, - is.numeric, - ~(. - mean(.)) / sd(.)) + scale_chans <- dplyr::mutate(chan_dat, + dplyr::across(dplyr::where(is.numeric), + ~(. - mean(.)) / sd(.))) epoch_dat <- epoch_stats(data) epoch_dat <- tidyr::pivot_longer(epoch_dat, cols = channel_names(data), @@ -30,37 +28,33 @@ view_artefacts <- function(data) { values_from = value) ui <- - navbarPage("Artefact checks", - tabPanel("Channel stats", - sidebarLayout( - sidebarPanel(selectInput("chan_meas", - "Display measures", - choices = c("means", - "sds", - "variance", - "kurtosis", - "minmax") - ), - checkboxInput("std_meas", - "Standardize?"), - width = 3), - mainPanel( - plotly::plotlyOutput("chan_plot"), - #channelPlotly(chan_dat), - fluidRow( - column(6, - plotly::plotlyOutput("erpplot")), - column(6, - plotly::plotlyOutput("erpimage"))), - ), - )), - tabPanel("Epoch stats", - epochPlotly(epoch_dat)) + bslib::page_navbar(title = "Artefact checks", + inverse = TRUE, + bslib::nav_panel( + title = "Channel stats", + bslib::layout_sidebar( + sidebar = bslib::sidebar( + shiny::selectInput("chan_meas", + "Display measures", + choices = c("means", + "sds", + "variance", + "kurtosis", + "minmax") + ), + shiny::checkboxInput("std_meas", + "Standardize?")), + plotly::plotlyOutput("chan_plot"), + plotly::plotlyOutput("erpplot"), + plotly::plotlyOutput("erpimage") + ) + ), + bslib::nav_panel("Epoch stats", epoch_plotly(epoch_dat)) ) server <- function(input, output) { - plot_data <- reactive({ + plot_data <- shiny::reactive({ if (input$std_meas) { scale_chans } else { @@ -90,7 +84,7 @@ view_artefacts <- function(data) { if (length(s)) { plot_timecourse(data, electrode = s[["x"]]) + - labs(y = "amplitude") + labs(y = "Amplitude") } }) @@ -103,7 +97,6 @@ view_artefacts <- function(data) { } }) - output$plotly_emeans <- plotly::renderPlotly({ plotly::plot_ly(epoch_dat, y = ~electrode, @@ -142,19 +135,18 @@ view_artefacts <- function(data) { } - shiny::shinyApp(ui, - server) - + shiny::runGadget(ui, + server) } -epochPlotly <- function(id, - label = "Plotly channels") { +epoch_plotly <- function(id, + label = "Plotly channels") { ns <- shiny::NS(id) - tagList( - fluidRow( + shiny::tagList( + shiny::fluidRow( plotly::plotlyOutput("plotly_emeans", height = 250), plotly::plotlyOutput("plotly_evars", @@ -163,8 +155,6 @@ epochPlotly <- function(id, height = 250), plotly::plotlyOutput("plotly_minmax", height = 250) - ) + ) ) } - - diff --git a/R/baseline_correction.R b/R/baseline_correction.R index 35d51510..481aa241 100644 --- a/R/baseline_correction.R +++ b/R/baseline_correction.R @@ -47,19 +47,27 @@ rm_baseline.eeg_data <- function(data, if (verbose) { message("Removing channel means...") } + data$baseline <- range(data$timings$time) } else { base_times <- select_times(data, time_lim = time_lim) baseline_dat <- colMeans(base_times$signals) if (verbose) { - message(paste("Baseline:", time_lim, "s")) + message(paste0("Baseline: ", + time_lim[1], + " - ", + time_lim[2], + "s") + ) } data$signals <- as.matrix(data$signals) + data$baseline <- time_lim } data$signals <- baseline_cont(data$signals, baseline_dat) data$signals <- tibble::as_tibble(data$signals) + data } @@ -85,20 +93,21 @@ rm_baseline.eeg_epochs <- function(data, message("Removing channel means per epoch...") } # reshape to 3D matrix - orig_chans <- channel_names(data) - data$signals <- as.matrix(data$signals) dim(data$signals) <- c(n_times, n_epochs, n_chans) # colMeans gives an n_epochs * n_channels matrix - i.e. baseline value for # each epoch and channel baseline_dat <- colMeans(data$signals) - # now we go through each timepoint subtracting the baseline values data$signals <- baseline_epo(data$signals, baseline_dat) - + data$baseline <- range(data$timings$time) } else { if (verbose) { - message(paste("Baseline:", time_lim, "s")) + message(paste0("Baseline: ", + time_lim[1], + " - ", + time_lim[2], + "s")) } base_times <- get_epoch_baselines(data, time_lim) @@ -106,6 +115,7 @@ rm_baseline.eeg_epochs <- function(data, data$signals <- as.matrix(data$signals) dim(data$signals) <- c(n_times, n_epochs, n_chans) data$signals <- baseline_epo(data$signals, base_times) + data$baseline <- time_lim } #Reshape and turn back into data frame data$signals <- array(data$signals, @@ -113,7 +123,6 @@ rm_baseline.eeg_epochs <- function(data, n_chans)) colnames(data$signals) <- elecs data$signals <- tibble::as_tibble(data$signals) - #names(data$signals) <- elecs data } @@ -142,7 +151,7 @@ rm_baseline.data.frame <- function(data, electrode, epoch, add = TRUE) - } else{ + } else { data <- dplyr::group_by(data, electrode, add = TRUE) @@ -205,7 +214,11 @@ rm_baseline.eeg_tfr <- function(data, if (!is.null(time_lim)) { if (verbose) { - message(paste("Baseline:", time_lim[1], "-", time_lim[2], "s")) + message(paste0("Baseline: ", + time_lim[1], + "-", + time_lim[2], + " s")) } bline <- select_times(data, time_lim) @@ -309,20 +322,26 @@ rm_baseline.eeg_evoked <- function(data, orig_cols <- channel_names(data) n_times <- length(unique(data$timings$time)) - # if (inherits(data, - # "eeg_group")) { - # #n_epochs <- nrow(data$epochs) - n_epochs <- nrow(unique(epochs(data)[, c("epoch", "participant_id")])) - n_participants <- length(unique(epochs(data)$participant_id)) - # is_group_data <- TRUE - # } else { - # n_epochs <- length(unique(epochs(data)$epoch)) - # n_participants <- length(unique(epochs(data)$participant_id)) - # is_group_data <- FALSE - # } - - #n_epochs <- nrow(data$epochs) + n_epochs <- nrow(unique(epochs(data)[, c("epoch", "participant_id")])) n_chans <- length(orig_cols) + + if (is.null(time_lim)) { + if (verbose) { + message("Removing channel means...") + } + data$baseline <- range(data$timings$time) + } else { + if (verbose) { + message(paste0( + "Baseline: ", + time_lim[1], + " - ", + time_lim[2], + "s")) + } + data$baseline <- time_lim + } + base_times <- get_epoch_baselines(data, time_lim) @@ -334,8 +353,8 @@ rm_baseline.eeg_evoked <- function(data, data$signals <- baseline_epo(data$signals, base_times) - data$signals <- array(data$signals, - dim = c(n_epochs * n_times, n_chans)) + data$signals <- array(data$signals, + dim = c(n_epochs * n_times, n_chans)) colnames(data$signals) <- orig_cols data$signals <- tibble::as_tibble(data$signals) data @@ -361,10 +380,7 @@ rm_baseline.eeg_group <- function(data, ...) { get_epoch_baselines <- function(data, time_lim) { - #n_epochs <- nrow(epochs(data)) n_epochs <- nrow(unique(epochs(data)[, c("epoch", "participant_id")])) - n_participants <- length(unique(epochs(data)$participant_id)) - n_chans <- length(channel_names(data)) chan_names <- colnames(data$signals) diff --git a/R/channel_management.R b/R/channel_management.R index bec601aa..6d50afd8 100644 --- a/R/channel_management.R +++ b/R/channel_management.R @@ -27,16 +27,15 @@ import_chans <- function(file_name, file_format) } - chan_locs <- switch(file_type, - elc = import_elc(file_name), - txt = switch(format, - spherical = import_txt(file_name)), - elp = import_elp(file_name), - ced = import_ced(file_name), - stop("File type ", file_type, " is unknown.") - ) + elc = import_elc(file_name), + txt = switch(format, + spherical = import_txt(file_name)), + elp = import_elp(file_name), + ced = import_ced(file_name), + stop("File type ", file_type, " is unknown.") + ) chan_locs <- validate_channels(chan_locs) chan_locs @@ -65,9 +64,7 @@ import_elc <- function(file_name) { labs_loc + n_elecs)] pos <- strsplit(pos, " ") - pos <- lapply(pos, - function(x) - as.numeric(x[!x == ""])) + pos <- lapply(pos, function(x) as.numeric(x[!x == ""])) pos <- as.data.frame(do.call("rbind", pos)) sph_pos <- cart_to_spherical(norm_sphere(pos)) @@ -101,6 +98,13 @@ import_txt <- function(file_name) { raw_locs <- utils::read.delim(file_name, stringsAsFactors = FALSE) + expected <- c("labels", "radius", + "ref", "sph.phi", + "sph.radius", "sph.theta", + "theta", "type", + "urchan", "X", + "Y", "Z") + if (any(names(raw_locs) %in% expected)) { message("Possibly EEGLAB channel info, attempting import...") final_locs <- parse_chaninfo(raw_locs) @@ -194,9 +198,9 @@ import_ced <- function(file_name) { "cart_z", "sph_theta", "sph_phi", "sph_radius", "type") chan_info <- raw_locs[c("electrode", - "cart_x", - "cart_y", - "cart_z")] + "cart_x", + "cart_y", + "cart_z")] # in EEGLAB, + y is towards left ear, + x towards nose + z towards vertex # we want + y to be towards nose, + x to be towards right ear names(chan_info) <- names(chan_info)[c(1, 3, 2, 4)] @@ -279,8 +283,7 @@ flip_x <- function(chan_info) { #' Get standard electrode locations #' -#' Joins standard electrode locations to EEG data from `eegUtils` internal -#' data. +#' Joins standard electrode locations to EEG data from `eegUtils` internal data. #' #' The standard locations are from the 10-05 system derived by Oostenveld & #' Praamstra (2001). In addition, there are multiple specific montages for @@ -318,56 +321,17 @@ electrode_locations.data.frame <- function(data, electrode = "electrode", drop = FALSE, montage = NULL, + overwrite = TRUE, ...) { - - #if a montage supplied, check if it matches known montages - if (!is.null(montage)) { - electrodeLocs <- montage_check(montage) - } - - data[, electrode] <- toupper(data[[electrode]]) - electrodeLocs[, electrode] <- toupper(electrodeLocs[[electrode]]) - - if (tibble::is_tibble(data)) { - elecs <- - dplyr::pull(unique(data[, electrode])) %in% - dplyr::pull(electrodeLocs[, electrode]) - - if (!all(elecs)) { - message(paste("Electrode locations not found: ", - paste(unique(data[, electrode])[!elecs, ], - sep = ","))) - } else if (!any(elecs)) { - stop("No matching electrode locations found.") - } - } else { - elecs <- - unique(data[, electrode]) %in% electrodeLocs[, electrode, - drop = TRUE] - if (!all(elecs)) { - message("Electrodes locations not found: ", - paste(unique(data[, electrode])[!elecs], collapse = " ")) - } else if (!any(elecs)) { - stop("No matching electrode locations found.") - } - - } - - if (drop) { - data <- dplyr::inner_join(data, - electrodeLocs, - by = electrode) - } else { - data <- dplyr::left_join(data, - electrodeLocs, - by = electrode) - } - - data + add_elocs(data, + drop = drop, + montage = montage, + overwrite = overwrite) } #' @param overwrite Overwrite existing channel info. Defaults to FALSE. -#' @describeIn electrode_locations Adds standard locations to the chan_info field of an eeg_data object. +#' @describeIn electrode_locations Adds standard locations to the chan_info +#' field of an eeg_data object. #' @export electrode_locations.eeg_data <- function(data, @@ -382,7 +346,8 @@ electrode_locations.eeg_data <- function(data, overwrite = overwrite) } -#' @describeIn electrode_locations Adds standard locations to the chan_info field of an `eeg_data` object. +#' @describeIn electrode_locations Adds standard locations to the chan_info +#' field of an `eeg_data` object. #' @export electrode_locations.eeg_epochs <- function(data, @@ -397,7 +362,8 @@ electrode_locations.eeg_epochs <- function(data, overwrite = overwrite) } -#' @describeIn electrode_locations Adds standard locations to the chan_info field of an `eeg_tfr` object. +#' @describeIn electrode_locations Adds standard locations to the chan_info +#' field of an `eeg_tfr` object. #' @export electrode_locations.eeg_tfr <- function(data, drop = FALSE, @@ -418,10 +384,15 @@ add_elocs <- function(data, overwrite = FALSE, ...) { - chan_info <- channels(data) - chan_names <- channel_names(data) + if (inherits(data, "data.frame")) { + chan_info <- data + chan_names <- data[["electrode"]] + } else { + chan_info <- channels(data) + chan_names <- channel_names(data) + } - if (!is.null(chan_info) & !overwrite) { + if (!is.null(chan_info) && !overwrite) { stop("Channel info already present, set overwrite to TRUE to replace.") } @@ -446,11 +417,19 @@ add_elocs <- function(data, chan_info <- electrodeLocs[matched_els, ] if (drop) { - data <- select_elecs(data, - chan_names[missing_els], - keep = FALSE) + data <- select_elecs(data, + chan_names[missing_els], + keep = FALSE) } + if (inherits(data, "data.frame")) { + data$electrode <- toupper(data$electrode) + data <- dplyr::left_join(data, + chan_info, + by = "electrode") + data$electrode <- chan_names + return(data) + } channels(data) <- validate_channels(chan_info, channel_names(data)) data @@ -490,36 +469,17 @@ plot_electrodes.default <- function(data, if ("electrode" %in% names(data)) { data <- data.frame(electrode = unique(data$electrode)) data <- electrode_locations(data) + data <- list(chan_info = data) - if (interact) { - if (!requireNamespace("plotly", quietly = TRUE)) { - stop("Package \"plotly\" needed for interactive electrode plots. Please install it.", - call. = FALSE) - } - plotly::plot_ly(data, - x = ~cart_x, - y = ~cart_y, - z = ~cart_z, - text = ~electrode, - type = "scatter3d", - mode = "text+markers") - } else { - ggplot2::ggplot(data, - ggplot2::aes(x = x, - y = y, - label = electrode)) + - ggplot2::geom_text() + - ggplot2::theme_minimal() + - ggplot2::coord_equal() + - ggplot2::labs(x = "x (mm)", - y = "y (mm)") - } + create_electrode_layout_plot(data, + interact) } else { stop("No electrodes found.") } } -#' @describeIn plot_electrodes Plot electrodes associated with an `eeg_data` object. +#' @describeIn plot_electrodes Plot electrodes associated with an `eeg_data` +#' object. #' @export plot_electrodes.eeg_data <- function(data, interact = FALSE) { @@ -528,41 +488,46 @@ plot_electrodes.eeg_data <- function(data, stop("No channel locations found.") } - if (interact) { - if (!requireNamespace("plotly", quietly = TRUE)) { - stop("Package \"plotly\" needed for interactive electrode plots. Please install it.", - call. = FALSE) - } + create_electrode_layout_plot(data, + interact) +} - plotly::plot_ly(data$chan_info, - x = ~cart_x, - y = ~cart_y, - z = ~cart_z, - text = ~electrode, - type = "scatter3d", - mode = "text+markers") - } else { - ggplot2::ggplot(data$chan_info, - aes(x = x, - y = y, - label = electrode)) + - geom_text() + - theme_minimal() + - coord_equal() + - ggplot2::labs(x = "x (mm)", - y = "y (mm)") +#' @describeIn plot_electrodes Plot electrodes associated with an `eeg_evoked` +#' object. +#' @export +plot_electrodes.eeg_evoked <- function(data, + interact = FALSE) { + + if (is.null(channels(data))) { + stop("No channel locations found.") } + + create_electrode_layout_plot(data, + interact) } -#' @describeIn plot_electrodes Plot electrodes associated with an `eeg_data` object. +#' @describeIn plot_electrodes Plot electrodes associated with an `eeg_data` +#' object. #' @export plot_electrodes.eeg_tfr <- function(data, - interact = FALSE) { + interact = FALSE) { if (is.null(channels(data))) { stop("No channel locations found.") } + create_electrode_layout_plot(data, + interact) +} + +#' Create a ggplot or plotly plot showing electrode positions +#' +#' @param data The data from which to extract channel locations +#' @param interact If TRUE, use `plotly` to create a 3D interactive plot, +#' otherwise create a 2D `ggplot`. +#' @keywords internal +create_electrode_layout_plot <- function(data, + interact) { if (interact) { if (!requireNamespace("plotly", quietly = TRUE)) { stop("Package \"plotly\" needed for interactive electrode plots. Please install it.", @@ -584,11 +549,12 @@ plot_electrodes.eeg_tfr <- function(data, geom_text() + theme_minimal() + coord_equal() + - ggplot2::labs(x = "y (mm)", - y = "x (mm)") + ggplot2::labs(x = "x (mm)", + y = "y (mm)") } } + #' Montage check #' #' @param montage Name of montage @@ -804,13 +770,14 @@ cart_to_spherical <- function(xyz_coords) { } #' Convert spherical co-ordinates to Cartesian 3D co-ordinates - -#' @param sph_coords Theta and phi in degrees. +#' +#' @param theta Theta in degrees +#' @param phi Phi in degrees #' @param radius Radius of head (in mm) #' @keywords internal sph_to_cart <- function(theta, - phi, - radius = 85) { + phi, + radius = 85) { theta <- deg2rad(theta) phi <- deg2rad(phi) cart_x <- radius * sin(theta) * cos(phi) diff --git a/R/check_items.R b/R/check_items.R index 15bbe0cb..fb14d529 100644 --- a/R/check_items.R +++ b/R/check_items.R @@ -25,10 +25,10 @@ check_epochs <- function(data) { stopifnot(is.list(data)) dat_epochs <- lapply(data, - function(x) nrow(x$signals)) + function(x) nrow(x$signals)) check_epochs <- sapply(dat_epochs, - identical, - dat_epochs[[1]]) + identical, + dat_epochs[[1]]) all(check_epochs) } @@ -74,9 +74,10 @@ label_check <- function(cond_labs, "/") lab_check <- lapply(cond_labs, - function(x) vapply(split_labels, - function(i) x %in% i, - logical(1))) + function(x) { + vapply(split_labels, + function(i) x %in% i, + logical(1))}) #condense to a single TRUE or FALSE for each label lab_check <- vapply(lab_check, any, diff --git a/R/class_handling.R b/R/class_handling.R index d69b67b8..6ccd7587 100644 --- a/R/class_handling.R +++ b/R/class_handling.R @@ -109,15 +109,15 @@ eeg_tfr <- function(data, structure(list(signals = data, srate = srate, - events = events, - chan_info = chan_info, - reference = reference, - timings = timings, - freq_info = freq_info, - dimensions = dimensions, - epochs = epochs, - version = utils::packageVersion("eegUtils")), - class = "eeg_tfr") + events = events, + chan_info = chan_info, + reference = reference, + timings = timings, + freq_info = freq_info, + dimensions = dimensions, + epochs = epochs, + version = utils::packageVersion("eegUtils")), + class = "eeg_tfr") } #' Function to create an object of class eeg_psd @@ -263,12 +263,14 @@ eeg_evoked <- function(data, timings, srate, epochs, + reference = NULL, ...) { value <- list(signals = data, chan_info = chan_info, timings = timings, srate = srate, epochs = epochs, + reference = reference, version = utils::packageVersion("eegUtils")) class(value) <- c("eeg_evoked", "eeg_epochs") value @@ -289,6 +291,8 @@ eeg_evoked <- function(data, #' contained in the data, such as participant ID label and condition labels #' for epochs. #' @param algorithm The method used to calculate the decomposition. +#' @param contents Whether the object contains only the mixing and unmixing +#' matrices ("weights") or source timecourses as well ("full") #' @return An object of class `eeg_ICA`. #' @author Matt Craddock \email{matt@@mattcraddock.com} #' @export @@ -300,7 +304,8 @@ eeg_ICA <- function(mixing_matrix, chan_info, srate, epochs, - algorithm) { + algorithm, + contents) { new_eeg_ICA( mixing_matrix = mixing_matrix, @@ -312,20 +317,9 @@ eeg_ICA <- function(mixing_matrix, srate = srate, epochs = epochs, algorithm = algorithm, + contents = contents, version = utils::packageVersion("eegUtils") ) - # class(value) <- c("eeg_ICA", "eeg_epochs") - # value <- list(mixing_matrix = mixing_matrix, - # unmixing_matrix = unmixing_matrix, - # signals = signals, - # timings = timings, - # events = events, - # chan_info = chan_info, - # srate = srate, - # epochs = epochs, - # algorithm = algorithm) - # class(value) <- c("eeg_ICA", "eeg_epochs") - # value } @@ -338,6 +332,7 @@ new_eeg_ICA <- function(mixing_matrix, srate, epochs, algorithm, + contents, version = utils::packageVersion("eegUtils")) { stopifnot(is.data.frame(mixing_matrix)) @@ -348,7 +343,8 @@ new_eeg_ICA <- function(mixing_matrix, stopifnot(is.data.frame(epochs)) stopifnot(is.data.frame(chan_info)) stopifnot(is.numeric(srate)) - stopifnot(is.character(algorithm)) + stopifnot(is.list(algorithm)) + stopifnot(is.character(contents)) structure( list( @@ -361,6 +357,7 @@ new_eeg_ICA <- function(mixing_matrix, srate = srate, epochs = epochs, algorithm = algorithm, + contents = contents, version = version ), class = c("eeg_ICA", diff --git a/R/current_source_density.R b/R/current_source_density.R index 1b600696..e96a01cf 100644 --- a/R/current_source_density.R +++ b/R/current_source_density.R @@ -1,7 +1,7 @@ #' Channel interpolation #' -#' Interpolate EEG channels using a spherical spline (Perrin et al., 1989; 1990). The -#' data must have channel locations attached. +#' Interpolate EEG channels using a spherical spline (Perrin et al., 1989; +#' 1990). The data must have channel locations attached. #' #' @author Matt Craddock \email{matt@@mattcraddock.com} #' @@ -9,12 +9,11 @@ #' @param bad_elecs Name(s) of electrode(s) to interpolate. #' @param ... Other parameters passed to the functions. #' @references * Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. -#' (1989). Spherical splines for scalp potential and current -#' density mapping. Electroencephalography and Clinical -#' Neurophysiology, 72, 184-187 +#' (1989). Spherical splines for scalp potential and current density mapping. +#' Electroencephalography and Clinical Neurophysiology, 72, 184-187 #' * Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. -#' (1990). Corrigenda EEG 02274. Electroencephalography and -#' Clinical Neurophysiology, 76, 565 +#' (1990). Corrigenda EEG 02274. Electroencephalography and Clinical +#' Neurophysiology, 76, 565 #' @export interp_elecs <- function(data, bad_elecs, ...) { @@ -93,7 +92,7 @@ interp_elecs.eeg_data <- function(data, final_cols <- sigs_select & !bad_cols weights <- spheric_spline(xyz_good, - xyz_coords) + xyz_coords) data$signals <- interp_chans(data$signals, bad_elecs, @@ -128,7 +127,7 @@ spheric_spline <- function(good_elecs, lec[g_dims[1] + 1, g_dims[2] + 1] <- 0 invC <- MASS::ginv(lec, tol = 0) W <- cbind(ph, 1) - W <- W %*% invC[ , 1:g_dims[1]] + W <- W %*% invC[, 1:g_dims[1]] W } @@ -146,7 +145,7 @@ interp_chans <- function(.data, bad_cols <- (toupper(names(.data)) %in% toupper(bad_chans)) | missing_coords weight_rows <- names(.data[, !missing_coords]) %in% bad_chans - new_chans <- weights[weight_rows, , drop = TRUE] %*% t(.data[ , !bad_cols]) + new_chans <- weights[weight_rows, , drop = TRUE] %*% t(.data[, !bad_cols]) .data[, bad_chans] <- t(new_chans) .data } @@ -214,10 +213,10 @@ compute_csd.eeg_data <- function(data, #' @describeIn compute_csd Transform `eeg_data` to CSD #' @export compute_csd.eeg_epochs <- function(data, - m = 4, - smoothing = 1e-05, - scaling = 1, - ...) { + m = 4, + smoothing = 1e-05, + scaling = 1, + ...) { convert_to_csd(data, m, smoothing, @@ -254,10 +253,10 @@ convert_to_csd <- function(data, if (any(missing_coords)) { stop("No coordinates for ", - paste0(data$chan_info$electrode[missing_coords], - collapse = " "), - ". Remove channels before applying CSD." - ) + paste0(data$chan_info$electrode[missing_coords], + collapse = " "), + ". Remove channels before applying CSD." + ) } # Convert data to average reference @@ -274,35 +273,30 @@ convert_to_csd <- function(data, 1) } - g_mat <- compute_g(xyz_coords, - xyz_coords, - m = m, - iter = 50) - h_mat <- compute_h(xyz_coords, - xyz_coords, - m = m, - iter = 50) - - diag(g_mat) <- diag(g_mat) + smoothing - g_inv <- solve(g_mat) - sums_g <- colSums(g_inv) - total_g <- sum(sums_g) - new_sig <- as.matrix(data$signals[, data_chans]) - bb <- t(apply(new_sig, - 1, - function(x) g_inv %*% x)) - bb_rows <- rowSums(bb) / total_g - bc <- bb - (bb_rows %*% t(sums_g)) - be <- t(apply(bc, - 1, - function(x) colSums(x * h_mat)) / scaling) - data$signals[, data_chans] <- as.data.frame(be) +# Optimize matrix operations + g_matrix <- compute_g(xyz_coords, xyz_coords, m = m, iter = 50) + h_matrix <- compute_h(xyz_coords, xyz_coords, m = m, iter = 50) + + diag(g_matrix) <- diag(g_matrix) + smoothing + g_inverse <- solve(g_matrix) + g_inverse_col_sums <- colSums(g_inverse) + g_inverse_total_sum <- sum(g_inverse_col_sums) + + signal_matrix <- as.matrix(data$signals[, data_chans]) + + # Vectorize operations + intermediate_result <- signal_matrix %*% t(g_inverse) + row_averages <- rowSums(intermediate_result) / g_inverse_total_sum + centered_result <- intermediate_result - outer(row_averages, g_inverse_col_sums) + csd_values <- (centered_result %*% h_matrix) / scaling + + data$signals[, data_chans] <- as.data.frame(csd_values) names(data$signals) <- orig_elecs data$reference$ref_chans <- "CSD" data } -#' Compute the g function for two sets of locations of channel locations on the +#' Compute the g function for two sets of channel locations on the #' unit sphere. #' #' @author Matt Craddock \email{matt@@mattcraddock.com} @@ -310,7 +304,7 @@ convert_to_csd <- function(data, #' @param xyz_coords A set of electrode locations on a unit sphere. #' @param xyz_elecs A set of electrode locations on a unit sphere. #' @param m Interpolation constant (higher = less flexible) -#' @importFrom pracma legendre +#' @param iter Number of iterations for calculations #' @keywords internal compute_g <- function(xyz_coords, @@ -318,38 +312,32 @@ compute_g <- function(xyz_coords, m = 4, iter = 7) { + # Convert inputs to matrices xyz_coords <- as.matrix(xyz_coords) xyz_elecs <- as.matrix(xyz_elecs) - EI <- matrix(NA, - nrow = nrow(xyz_coords), - ncol = nrow(xyz_coords)) - EI <- xyz_coords %*% t(xyz_elecs) # cosine similarity + # Calculate cosine similarity + EI <- xyz_coords %*% t(xyz_elecs) + # Pre-allocate matrix g <- matrix(0, ncol = ncol(EI), nrow = nrow(EI)) - gg <- 1:iter - gg <- (2 * gg + 1) / (gg ^ m *(gg + 1) ^ m) - legpoly <- matrix(0, - nrow = length(c(EI)), - ncol = iter) + # Pre-compute coefficients + coeff <- (2 * seq_len(iter) + 1) / (seq_len(iter)^m * (seq_len(iter) + 1)^m) - for (i in seq(1, iter)) { - suppressWarnings( - poly_xy <- pracma::legendre(i, EI) - ) - legpoly[, i] <- t(poly_xy[1, ]) + # Compute all Legendre polynomials up to degree 'iter' + P <- legendre_polynomials(iter, EI) + + # Sum the polynomials + for (i in seq_len(iter)) { + g <- g + coeff[i] * P[i + 1, ] # Use the i-th degree term } - g <- sweep(legpoly, 2, gg, "*")#g + gg - g <- rowSums(g) - g <- g / 4 / pi - dim(g) <- c(nrow(EI), ncol(EI)) - g + # Final scaling + g / (4 * pi) } - -#' Compute the h function for two sets of locations of channel locations on the +#' Compute the h function for two sets of channel locations on the #' unit sphere. #' #' @author Matt Craddock \email{matt@@mattcraddock.com} @@ -357,9 +345,7 @@ compute_g <- function(xyz_coords, #' @param xyz_coords A set of electrode locations on a unit sphere. #' @param xyz_elecs A set of electrode locations on a unit sphere. #' @param m Interpolation constant (higher = less flexible) -#' @param lambda smoothing parameter #' @param iter iterations for calculations -#' @importFrom pracma legendre #' @keywords internal compute_h <- function(xyz_coords, @@ -367,25 +353,45 @@ compute_h <- function(xyz_coords, m = 4, iter = 50) { + # Convert inputs to matrices xyz_coords <- as.matrix(xyz_coords) xyz_elecs <- as.matrix(xyz_elecs) + + # Calculate cosine similarity EI <- xyz_coords %*% t(xyz_elecs) - h <- matrix(0, - ncol = ncol(EI), - nrow = nrow(EI)) + # Pre-allocate matrix for results + h <- matrix(0, ncol = ncol(EI), nrow = nrow(EI)) - # vectorize this too, just like compute_g! - for (i in seq(1, iter)) { - suppressWarnings( - poly_xy <- pracma::legendre(i, EI) - ) - dim(poly_xy) <- c(i + 1, - nrow(EI), - ncol(EI)) - h <- h + ((-2 * i - 1) / (i ^ (m - 1) * (i + 1) ^ (m - 1))) * poly_xy[1, , ] + # Pre-compute coefficients + coeff <- (-2 * seq_len(iter) - 1) / (seq_len(iter)^(m - 1) * (seq_len(iter) + 1)^(m - 1)) + + # Compute all Legendre polynomials up to degree 'iter' + P <- legendre_polynomials(iter, EI) + + # Sum the polynomials + for (i in seq_len(iter)) { + h <- h + coeff[i] * P[i + 1, ] # Use the i-th degree term + } + + # Final scaling + -h / (4 * pi) +} + +#' Calculate Legendre polynomials up to degree n +#' +#' @param n Maximum degree of Legendre polynomials +#' @param x Input values +#' @return Matrix of Legendre polynomial values +#' @keywords internal +legendre_polynomials <- function(n, x) { + P <- matrix(0, nrow = n + 1, ncol = length(x)) + P[1, ] <- 1 + if (n > 0) P[2, ] <- x + + for (k in 2:n) { + P[k + 1, ] <- ((2 * k - 1) * x * P[k, ] - (k - 1) * P[k - 1, ]) / k } - h <- -h / 4 / pi - h + P } diff --git a/R/data_averaging.R b/R/data_averaging.R index 2cf5b135..f6149847 100644 --- a/R/data_averaging.R +++ b/R/data_averaging.R @@ -1,4 +1,4 @@ -#' Calculate averages (e.g. ERPs) for single datasets +#' Calculate averages (e.g. event-related potentials) for single datasets #' #' This function is used to create an `eeg_evoked` object from `eeg_epochs`. By #' default, it will try to keep different conditions in the data separate using @@ -23,30 +23,39 @@ eeg_average <- function(data, eeg_average.default <- function(data, ...) { - stop("eeg_epochs or eeg_tfr object required as input.") + stop(paste("Cannot average an object of class", class(data))) } -#' @describeIn eeg_average Create evoked data from `eeg_epochs` -#' @importFrom tibble tibble -#' @importFrom dplyr left_join group_by_at summarise_at ungroup +#' @describeIn eeg_average Create evoked data from `eeg_epochs`objects #' @param cols Columns from the `epochs` structure that the average should #' group on. NULL, the default, uses all columns other than the `epoch` #' column. +#' @param verbose Print informative messages during averaging. Defaults to TRUE +#' @examples +#' eeg_average(demo_spatial) +#' eeg_average(demo_spatial, cols = "everything") #' @export eeg_average.eeg_epochs <- function(data, cols = NULL, + verbose = TRUE, ...) { elecs <- channel_names(data) + # this is here for compatibility - early versions of the structure have no + # $epochs entry if (is.null(data$epochs)) { n_epochs <- length(unique(data$timings$epoch)) data$epochs <- - tibble::new_tibble(list(epoch = unique(data$timings$epoch), - participant_id = character(n_epochs), - recording = character(n_epochs)), - nrow = n_epochs, - class = "epoch_info") + tibble::new_tibble( + list( + epoch = unique(data$timings$epoch), + participant_id = character(n_epochs), + recording = character(n_epochs) + ), + nrow = n_epochs, + class = "epoch_info" + ) } data$signals <- dplyr::left_join(cbind(data$signals, @@ -65,33 +74,37 @@ eeg_average.eeg_epochs <- function(data, } else { if ("participant_id" %in% cols) { col_names <- cols - } else { - col_names <- c("participant_id", cols) - } + } else { + col_names <- c("participant_id", cols) + } } } else { col_names <- names(data$epochs) - col_names <- col_names[!(col_names %in% c("epoch", "recording", "event_type"))] + col_names <- + col_names[!(col_names %in% c("epoch", "recording", "event_type"))] } # break down into individual calls using updated syntax data$signals <- - dplyr::group_by( - data$signals, - dplyr::across(c(time, dplyr::all_of(col_names))) - ) + dplyr::group_by(data$signals, + dplyr::across(c(time, + dplyr::all_of(col_names)))) + if (verbose) { + message("Creating epochs based on combinations of variables: ", + paste(col_names, "")) + } + + # Add epoch weights data$signals <- - dplyr::summarise( - data$signals, - dplyr::across(dplyr::all_of(elecs), mean) - ) + dplyr::summarise(data$signals, + dplyr::across(dplyr::all_of(elecs), + mean), + weight = dplyr::n()) data$signals <- - dplyr::group_by( - data$signals, - dplyr::across(dplyr::all_of(col_names)) - ) + dplyr::group_by(data$signals, + dplyr::across(dplyr::all_of(col_names))) data$signals <- dplyr::mutate(data$signals, @@ -104,7 +117,9 @@ eeg_average.eeg_epochs <- function(data, epochs <- dplyr::select(timings, epoch, !!col_names) + epochs$weight <- data$signals$weight epochs <- unique(epochs) + timings <- data$signals[, c("time", "epoch")] timings <- unique(timings) @@ -118,26 +133,123 @@ eeg_average.eeg_epochs <- function(data, "data.frame") data <- - eeg_evoked(data = data$signals[, elecs], - chan_info = data$chan_info, - srate = data$srate, - timings = timings, - epochs = epochs) + eeg_evoked( + data = data$signals[, elecs], + chan_info = data$chan_info, + srate = data$srate, + timings = timings, + reference = data$reference, + epochs = epochs + ) data } -#' @describeIn eeg_average average an `eeg_epochs` object over epochs. + +#' @param weighted Produce a weighted average over epochs, which accounts for +#' upstream differences in the number of epochs that contribute to each +#' average. +#' @param verbose Print informative messages during averaging. Defaults to TRUE +#' @describeIn eeg_average average an `eeg_evoked` object over epochs. #' @export eeg_average.eeg_evoked <- function(data, cols = NULL, + weighted = TRUE, + verbose = TRUE, ...) { + is_group_df <- inherits(data, + "eeg_group") + if (is.null(cols)) { - message("Data is already averaged.") + message("Data is already averaged - you must specify columns to group your averages by.") + return(data) + } + + if (identical(cols, "everything")) { + col_names <- "participant_id" } else { + if ("participant_id" %in% cols) { + col_names <- cols + } else { + col_names <- c("participant_id", cols) + } + } + elecs <- channel_names(data) + data$signals <- as.data.frame(data) + data$signals <- + dplyr::group_by(data$signals, + dplyr::across(c(time, + dplyr::all_of(col_names)))) + if (verbose) { + message("Creating epochs based on combinations of variables: ", + paste(col_names, "")) + } + if (weighted) { + if ("weight" %in% names(data$signals)) { + if (verbose) message("Calculating weighted means.") + full_weights <- dplyr::summarise(data$signals, + weight = sum(weight)) + data$signals <- + dplyr::summarise(data$signals, + dplyr::across(dplyr::all_of(elecs), + ~weighted.mean(.x, w = weight))) + data$signals$weight <- full_weights$weight + weighted <- TRUE + } else { + if (verbose) message("No weights found, calculating unweighted means.") + data$signals <- + dplyr::summarise(data$signals, + dplyr::across(dplyr::all_of(elecs), + mean)) + weighted <- FALSE + } + } else { + data$signals <- + dplyr::summarise(data$signals, + dplyr::across(dplyr::all_of(elecs), + mean)) + weighted <- FALSE } + + # We want to end up with a unique epoch number for each level of the main + # variable we are grouping by - so not by participant_id or by time. e.g. each + # participant should have an epoch 1, and it be the same epoch 1. So if + # grouping by 2 categories, each combination should have a unique epoch + # number. Only a concern for group data. + + data$signals <- + dplyr::group_by(data$signals, + dplyr::across( + dplyr::all_of(col_names) + ) + ) + + data$signals <- + dplyr::mutate(data$signals, + epoch = dplyr::cur_group_id()) + + data$signals <- dplyr::ungroup(data$signals) + + epochs <- dplyr::select(data$signals, + epoch, + !!col_names) + + if (weighted) epochs$weight <- full_weights$weight + + epochs <- unique(epochs) + + if (is_group_df) { + timings <- data$signals[, c("time", "epoch", "participant_id")] + } else { + timings <- data$signals[, c("time", "epoch")] + } + timings <- unique(timings) + + data$timings <- timings + data$epochs <- epochs + data$signals <- data$signals[, !colnames(data$signals) %in% c("time", "epoch", "weight", col_names)] data } @@ -145,29 +257,35 @@ eeg_average.eeg_evoked <- function(data, #' @export eeg_average.eeg_tfr <- function(data, cols = NULL, + weighted = TRUE, + verbose = TRUE, ...) { if (!any(c("participant_id", "epoch") %in% data$dimensions)) { message("Data is already averaged.") } else { data <- average_tf(data, - cols = cols) + cols = cols, + weighted = weighted, + verbose = verbose) class(data) <- c("tfr_average", class(data)) } data } - -#' Internal function for averaging over epochs for eeg_tfr objects. +#' Internal function for averaging over epochs for `eeg_tfr` objects. #' @param data data to average over +#' @param weighted Calculate weighted means if TRUE (if possible!) #' @keywords internal average_tf <- function(data, - cols = NULL) { + cols = NULL, + weighted, + verbose) { # Need to find a way to make this respect epochs structure... orig_dims <- dimnames(data$signals) + is_group_df <- inherits(data, "eeg_group") - is_group_df <- FALSE if ("participant_id" %in% names(orig_dims)) { data$signals <- aperm(data$signals, c("participant_id", @@ -176,14 +294,17 @@ average_tf <- function(data, "electrode", "frequency")) orig_dims <- dimnames(data$signals) - is_group_df <- TRUE } if (!is.null(cols)) { - if ("participant_id" %in% cols) { - col_names <- cols + if (identical(cols, "everything")) { + col_names <- "participant_id" } else { - col_names <- c("participant_id", cols) + if ("participant_id" %in% cols) { + col_names <- cols + } else { + col_names <- c("participant_id", cols) + } } } else { col_names <- names(data$epochs) @@ -200,85 +321,121 @@ average_tf <- function(data, } epo_types <- unique(epochs(data)[col_names]) - new_epos <- nrow(epo_types) + new_epochs <- nrow(epo_types) n_times <- length(dimnames(data$signals)$time) # There must be a less hacky way of doing this epo_nums <- - lapply(1:new_epos, - function(x) dplyr::inner_join(epochs(data), - epo_types[x, , drop = FALSE], - by = col_names)[["epoch"]]) - + lapply(1:new_epochs, + function(x) { + sort(merge(epochs(data), + epo_types[x, , drop = FALSE], + by = col_names)[, "epoch"]) + } + ) # convert epoch numbers from epochs() to positions in matrix epo_nums <- lapply(epo_nums, function(x) which(orig_dims$epoch %in% x)) - if (is_group_df) { + if ("weight" %in% colnames(epochs(data))) { + epo_weights <- epochs(data)[["weight"]] + } else { + epo_weights <- vapply(epo_nums, + length, + integer(1)) + } + if (is_group_df) { orig_dims <- dimnames(data$signals) orig_dims[["participant_id"]] <- "grand_average" data$signals <- colMeans(data$signals) dim(data$signals) <- c(1, dim(data$signals)) - dimnames(data$signals) <- orig_dims data$dimensions <- c("participant_id", "epoch", "time", "electrode", "frequency") - epo_types$epoch <- 1:new_epos + epo_types$epoch <- 1:new_epochs epochs(data) <- epo_types - } else { - if (identical(data$freq_info$output, - "phase")) { - data$signals <- apply(data$signals, - c(2, 3, 4), - circ_mean) - } else if (identical(data$freq_info$output, - "power")) { - - # maybe one day try to calm this nested loop gore down - # but it's pretty quick so hey - avg_tf <- array(0, dim = c(new_epos, - dim(data$signals)[2:4])) - - for (iz in 1:dim(data$signals)[3]) { # electrodes - for (ij in 1:dim(data$signals)[4]) { # frequencies - for (ik in 1:new_epos) { - avg_tf[ik, , iz, ij] <- - array(colMeans(data$signals[epo_nums[[ik]], , - iz, ij, - drop = FALSE]), - dim = c(1, n_times, - 1, 1)) + if (identical(data$freq_info$output, "phase")) { + data$signals <- apply( + data$signals, + c(2, 3, 4), + circ_mean + ) + } else if (identical(data$freq_info$output, "power")) { + avg_tf <- array(0, + dim = c(new_epochs, + dim(data$signals)[2:4])) + final_weights <- integer(new_epochs) + + # figuring out how to do weighted means. + + if (inherits(data, "tfr_average") && weighted) { + if (verbose) message("Calculating weighted means...") + if (new_epochs == 1) { + relative_weights <- epo_weights / sum(epo_weights) + weighted_means <- sweep(data$signals, c(1,3,4), + relative_weights, "*") + avg_tf[1, , , ] <- colSums(weighted_means) + final_weights <- sum(epo_weights) + } else { + for (epoch_no in seq_len(new_epochs)) { + cond_epochs <- epo_nums[[epoch_no]] + temp <- data$signals[cond_epochs, , , ] + relative_weights <- epo_weights[cond_epochs] / sum(epo_weights[cond_epochs]) + weighted_means <- sweep(temp, c(1,3,4), + relative_weights, "*") + avg_tf[epoch_no, , , ] <- colSums(weighted_means) + final_weights[epoch_no] <- sum(epo_weights[cond_epochs]) + } + } + } else { + for (elec in seq_len(dim(data$signals)[3])) { # electrodes + for (freq in seq_len(dim(data$signals)[4])) { # frequencies + for (ik in seq_len(new_epochs)) { + avg_tf[ik, , elec, freq] <- + array( + colMeans( + data$signals[epo_nums[[ik]], , + elec, freq, + drop = FALSE]), + dim = c(1, n_times, 1, 1) + ) + } + } } + final_weights <- epo_weights } - } - - data$signals <- avg_tf - new_dims <- orig_dims - new_dims[["epoch"]] <- as.character(1:new_epos) - dimnames(data$signals) <- new_dims - epo_types$epoch <- 1:new_epos - epochs(data) <- epo_types + data$signals <- avg_tf + new_dims <- orig_dims + new_dims[["epoch"]] <- as.character(1:new_epochs) + dimnames(data$signals) <- new_dims + epo_types$epoch <- 1:new_epochs + epochs(data) <- epo_types + epochs(data)$weight <- final_weights } else { stop("Averaging of fourier coefficients not supported.") } } data$timings <- tibble::tibble( - time = rep(as.numeric(dimnames(data$signals)[["time"]]), new_epos), - epoch = rep(1:new_epos, each = n_times) - )#dplyr::filter(data$timings, epoch == 1) + time = rep( + as.numeric(dimnames(data$signals)[["time"]]), + new_epochs + ), + epoch = rep(1:new_epochs, + each = n_times) + ) data } #' @export - eeg_average.eeg_group <- function(data, - ...) { - stop("Not currently supported for `eeg_group` objects.") + ...) { + NextMethod(...) + #stop("Not currently supported for `eeg_group` objects.") } diff --git a/R/data_combine.R b/R/data_combine.R index 28618598..bc8a52aa 100644 --- a/R/data_combine.R +++ b/R/data_combine.R @@ -1,18 +1,57 @@ #' Combine `eegUtils` objects #' #' Combine multiple `eeg_epochs`, `eeg_data`, or `eeg_evoked` objects into a -#' single object. The function will try to check the `participant_id` entry in -#' the `epochs` structure to see if the data comes from a single participant or -#' from multiple participants. If the data is from a single participant, it will -#' concatenate the objects and attempt to correct them so that the trial numbers -#' and timings are correct. +#' single object. The function will check the `participant_id` entry in the +#' `epochs` structure of each object to see if the objects come from a single +#' participant or from multiple participants. If the data are from multiple +#' participants, it will create an `eeg_group` object. For individual +#' participants, it will check for duplicate epochs. For most objects, it will +#' concatenate the objects if none are found. However, for `eeg_data` it will +#' instead try to correct the epoch numbers. Check the details below for further +#' advice. +#' +#' # Combining `eeg_data` objects +#' +#' Combining `eeg_data` is mainly intended to be used for combining multiple +#' recordings from a single participant prior to subsequent epoching. Thus, +#' `check_timings` defaults to true, and the function will change the epochs and +#' timing structures of the resulting combined object to be as if it were a +#' single recording. The objects will be combined in the input order, so ensure +#' that the objects are input in chronological order. +#' +#' # Combining `eeg_epochs` objects +#' +#' There are several scenarios where you might wish to combine `eeg_epochs`. For +#' example, a user may have processed continuous data in smaller chunks +#' reflecting short recording blocks before epoching. They then wish to combine +#' these into a single object. In that case, the epoch numbering should reflect +#' chronological ordering and needs to be corrected. +#' +#' If `check_timings == TRUE`, the function will perform several checks before +#' combining objects. First, it will check for duplicate epochs in the `epochs` +#' structure of each object. If each object only has unique epochs, the objects +#' will be combined without correction. Thus, combining across separate +#' recordings or separate participants will not elicit correction. The user +#' should ensure +#' +#' If there are any duplicates (e.g. a participant has more than one epoch +#' numbered one from the same recording), it will then check if there are any +#' missing epochs. If there are, the new trial numbering cannot be automatically +#' determined, so the objects cannot be combined without further manual +#' intervention. If there are no missing epochs, it will then check if there is +#' any decreases in epoch numbers across objects. If there are any, then the +#' epoch numbers and timings for the objects will be adjusted. +#' +#' Alternatively, the user may wish to combine `eeg_epochs` objects from +#' different participants or from entirely different recording sessions of the +#' same participant. In this case, no correction of timings or epoch numbers is +#' desirable. `check_timings == TRUE` should detect this and skip correction, +#' but can be explicitly set to `FALSE`. #' #' @param data An `eeg_data`, `eeg_epochs`, or `eeg_evoked` object, or a list of #' such objects. #' @param ... additional `eeg_data` or `eeg_epochs` objects #' @author Matt Craddock, \email{matt@@mattcraddock.com} -#' @importFrom dplyr mutate bind_rows -#' @importFrom purrr map_df #' @return If all objects have the same `participant_id`, returns an object of #' the same class as the original input object. If the objects have different #' `participant_id` numbers, an object of both class `eeg_group` and the same @@ -28,13 +67,12 @@ eeg_combine <- function(data, eeg_combine.default <- function(data, ...) { stop( - "Don't know how to combine objects of class ", + "Cannot combine objects of class ", class(data)[[1]], call. = FALSE ) } - #' @describeIn eeg_combine Method for combining lists of `eeg_data` and #' `eeg_epochs` objects. #' @export @@ -67,8 +105,7 @@ eeg_combine.list <- function(data, eeg_combine.eeg_data <- function(data, ..., - check_timings = TRUE){ - + check_timings = TRUE) { args <- list(...) if (length(args) == 0) { @@ -85,11 +122,9 @@ eeg_combine.eeg_data <- function(data, is.eeg_epochs))) { stop("All objects must be unepoched eeg_data objects.") } else { - nsamps <- samples(data) if (length(args) > 1) { - nsamps <- c(nsamps, vapply(args, samples, @@ -99,20 +134,29 @@ eeg_combine.eeg_data <- function(data, data$signals <- dplyr::bind_rows(data$signals, purrr::map_df(args, - ~.$signals)) + ~ .$signals)) for (i in 1:length(args)) { events(args[[i]]) <- - dplyr::mutate(events(args[[i]]), - event_onset = event_onset + nsamps[[i]], - event_time = (event_onset - 1) / data$srate) - } + dplyr::mutate( + events(args[[i]]), + event_onset = event_onset + nsamps[[i]], + event_time = (event_onset - 1) / data$srate + ) + } data$events <- dplyr::bind_rows(data$events, purrr::map_df(args, - ~.$events)) + ~ .$events)) data$timings <- dplyr::bind_rows(data$timings, purrr::map_df(args, - ~.$timings)) + ~ .$timings)) + + data$chan_info <- unique( + dplyr::bind_rows(data$chan_info, + purrr::map_df(args, + ~.$chan_info)) + ) + message("Taking first dataset's recording name.") } } @@ -132,6 +176,7 @@ eeg_combine.eeg_epochs <- function(data, check_timings = TRUE) { args <- list(...) + if (length(args) == 0) { stop("Nothing to combine.") } @@ -142,7 +187,14 @@ eeg_combine.eeg_epochs <- function(data, participant_time <- get_time_rows(data, args) - if (all(sapply(args, is.eeg_epochs))) { + channel_consistency <- check_channels(data, args) + + if (channel_consistency > 1) { + warning(paste("Channels are not consistent across all datasets.", + "Check if it is correct to combine them.")) + } + + if (check_classes(c(list(data), args))) { data$signals <- dplyr::bind_rows(data$signals, purrr::map_df(args, ~.$signals)) @@ -155,8 +207,13 @@ eeg_combine.eeg_epochs <- function(data, data$epochs <- dplyr::bind_rows(data$epochs, purrr::map_df(args, ~.$epochs)) + data$chan_info <- unique( + dplyr::bind_rows(data$chan_info, + purrr::map_df(args, + ~.$chan_info)) + ) } else { - stop("All inputs must be eeg_epochs objects.") + stop("All inputs must be unaveraged eeg_epochs objects.") } if (length(unique(epochs(data)$participant_id)) > 1) { @@ -168,7 +225,7 @@ eeg_combine.eeg_epochs <- function(data, } else { #fix epoch numbering for combined objects, but only when there are single #participants - if (check_timings == TRUE) { + if (check_timings) { data <- check_timings(data) } } @@ -186,10 +243,18 @@ eeg_combine.eeg_evoked <- function(data, check_participants(data, args) + participant_time <- get_time_rows(data, args) - if (check_classes(args)) { + channel_consistency <- check_channels(data, args) + + if (channel_consistency > 1) { + warning(paste("Channels are not consistent across all datasets.", + "Check if it is correct to combine them.")) + } + + if (check_classes(c(list(data), args))) { data$signals <- dplyr::bind_rows(data$signals, purrr::map_df(args, @@ -200,8 +265,13 @@ eeg_combine.eeg_evoked <- function(data, data$epochs <- dplyr::bind_rows(data$epochs, purrr::map_df(args, ~.$epochs)) + data$chan_info <- unique( + dplyr::bind_rows(data$chan_info, + purrr::map_df(args, + ~.$chan_info)) + ) } else { - stop("All inputs must be eeg_evoked objects.") + stop("All inputs must be `eeg_evoked` objects.") } if (length(unique(epochs(data)$participant_id)) > 1) { @@ -217,22 +287,23 @@ eeg_combine.eeg_evoked <- function(data, #' @export eeg_combine.eeg_tfr <- function(data, - ...) { + ..., + check_timings = TRUE) { args <- list(...) if (length(args) == 0) { stop("Nothing to combine.") } - if (check_classes(args)) { + if (check_classes(append(list(data), args))) { - new_dim <- length(dim(data$signals)) + 1 - orig_dims <- dimnames(data$signals) - - # issue here: only handles eeg_tfr when same n_epochs for each object + # issue here: only handles `eeg_tfr` when same n_epochs for each object # assumes when combining that they are averages from different participants # so won't work if combining within participants, for example + new_dim <- length(dim(data$signals)) + 1 + orig_dims <- dimnames(data$signals) + if (!check_epochs(append(list(data), args))) { stop("Cannot combine `eeg_tfr` when n_epochs is different across objects. You may need to average across single-trials first using `eeg_average()`") @@ -264,6 +335,9 @@ eeg_combine.eeg_tfr <- function(data, message("Multiple participant IDs, creating eeg_group.") } else { + if (check_timings == TRUE) { + data <- check_timings(data) + } dimnames(data$signals) <- c(orig_dims, list(epoch = data$epochs$epoch)) data$epoch <- c(data$dimensions, @@ -334,16 +408,18 @@ eeg_combine.eeg_ICA <- function(data, #' Check consistency of event and timing tables #' #' @param data `eeg_data` or `eeg_epochs` object +#' @param verbose Print informative messages #' @keywords internal -check_timings <- function(.data) { +check_timings <- function(.data, + verbose = TRUE) { UseMethod("check_timings", .data) } - #' @rdname check_timings #' @keywords internal -check_timings.eeg_data <- function(.data) { +check_timings.eeg_data <- function(.data, + verbose = TRUE) { .data$timings$sample <- 1:nrow(.data$timings) .data$timings$time <- (.data$timings$sample - 1) / .data$srate .data @@ -351,74 +427,89 @@ check_timings.eeg_data <- function(.data) { #' @rdname check_timings #' @keywords internal -check_timings.eeg_epochs <- function(data) { +check_timings.eeg_epochs <- function(.data, + verbose = TRUE) { - n_rows <- nrow(data$timings) + n_rows <- nrow(.data$timings) - # really should we be checking for *repeats* rather than decreases, as people - # might combine data in the "wrong" order, or even the same file multiple - # times? + # Check for duplicate epochs. If not, there's nothing to correct. + if (!any(duplicated(.data$epochs[, c("epoch", "participant_id", "recording")]))) { + if (verbose) message("No duplicate epochs found, combining objects.") + return(.data) + } + + # If there are any positive differences other than 1, then some trials have + # been removed and the trials are not necessarily in chronological order. It + # then isn't clear how to combine them. + if (any(diff(.data$timings$epoch) > 1)) { + stop("Some epochs appear to be missing. ", + "Cannot automatically combine objects. ", + "See help for further details.") + } # if the epoch numbers are not ascending, fix them... - if (any(diff(data$timings$epoch) < 0)) { - message("Decreasing epoch numbers detected, attempting to correct...") + if (any(diff(.data$timings$epoch) < 0)) { + if (verbose) { + message("Replacing timings with ascending values.", + "This assumes that the objects are provided in the correct order.") + } } # Do I need while here, or just if? double check... - while (any(diff(data$timings$epoch) < 0)) { + while (any(diff(.data$timings$epoch) < 0)) { # check consistency of the data timings table. # timings should be consistently increasing. # only works correctly with 2 objects #check for any places where epoch numbers decrease instead of increase - switch_locs <- which(sign(diff(data$timings$epoch)) == -1) + switch_locs <- which(diff(.data$timings$epoch) < 0) #consider switch this out with an RLE method, which would be much simpler. if (length(switch_locs) == 1) { - switch_epo <- data$timings$epoch[switch_locs] - switch_sample <- data$timings$sample[switch_locs] + switch_epo <- .data$timings$epoch[switch_locs] + switch_sample <- .data$timings$sample[switch_locs] locs <- (switch_locs + 1):n_rows - data$timings$epoch[locs] <- data$timings$epoch[locs] + switch_epo - data$timings$sample[locs] <- data$timings$sample[locs] + switch_sample + .data$timings$epoch[locs] <- .data$timings$epoch[locs] + switch_epo + .data$timings$sample[locs] <- .data$timings$sample[locs] + switch_sample } else { for (i in 1:(length(switch_locs) - 1)) { - switch_epo <- data$timings$epoch[switch_locs[i]] - switch_sample <- data$timings$sample[switch_locs[i]] + switch_epo <- .data$timings$epoch[switch_locs[i]] + switch_sample <- .data$timings$sample[switch_locs[i]] locs <- (switch_locs[i] + 1):switch_locs[i + 1] - data$timings$epoch[locs] <- data$timings$epoch[locs] + switch_epo - data$timings$sample[locs] <- data$timings$sample[locs] + switch_sample + data$timings$epoch[locs] <- .data$timings$epoch[locs] + switch_epo + data$timings$sample[locs] <- .data$timings$sample[locs] + switch_sample } - switch_epo <- data$timings$epoch[switch_locs[length(switch_locs)]] - switch_sample <- data$timings$sample[switch_locs[length(switch_locs)]] - data$timings$epoch[(switch_locs[length(switch_locs)] + 1):n_rows] <- - data$timings$epoch[(switch_locs[length(switch_locs)] + 1):n_rows] + switch_epo - data$timings$sample[(switch_locs[length(switch_locs)] + 1):n_rows] <- - data$timings$sample[(switch_locs[length(switch_locs)] + 1):n_rows] + switch_sample + switch_epo <- .data$timings$epoch[switch_locs[length(switch_locs)]] + switch_sample <- .data$timings$sample[switch_locs[length(switch_locs)]] + .data$timings$epoch[(switch_locs[length(switch_locs)] + 1):n_rows] <- + .data$timings$epoch[(switch_locs[length(switch_locs)] + 1):n_rows] + switch_epo + .data$timings$sample[(switch_locs[length(switch_locs)] + 1):n_rows] <- + .data$timings$sample[(switch_locs[length(switch_locs)] + 1):n_rows] + switch_sample } } - if (any(diff(data$events$event_time) < 0)) { + if (any(diff(.data$events$event_time) < 0)) { #check consistency of the data event table #to handle cases where there are multiple events per epoch, #use RLE to code how many times each epoch number comes up in a row; #then replace old epoch numbers with new and reconstruct the vector - orig_ev <- rle(data$events$epoch) - orig_ev$values <- unique(data$timings$epoch) - data$events$epoch <- inverse.rle(orig_ev) - data$events <- dplyr::left_join(data$events, - data$timings, + orig_ev <- rle(.data$events$epoch) + orig_ev$values <- unique(.data$timings$epoch) + .data$events$epoch <- inverse.rle(orig_ev) + .data$events <- dplyr::left_join(.data$events, + .data$timings, by = c("epoch", "time")) - data$events$event_onset <- data$events$sample - data$events$sample <- NULL + .data$events$event_onset <- .data$events$sample + .data$events$sample <- NULL } - data$epochs$epoch <- unique(data$events$epoch) - data + .data$epochs$epoch <- unique(.data$events$epoch) + .data } #' Rearrange and combine `tfr_average` objects @@ -473,6 +564,7 @@ check_dims <- function(x) { check_participants <- function(data, args) { + part_ids <- c(get_participant_id(data), sapply(args, get_participant_id)) @@ -501,3 +593,12 @@ get_time_rows <- function(data, numeric(1)) ) } + +check_channels <- function(data, + args) { + length( + unique( + c(list(channel_names(data)), + lapply(args, FUN = channel_names))) + ) == 1 +} diff --git a/R/data_epoching.R b/R/data_epoching.R index bbf415c6..c34ad94c 100644 --- a/R/data_epoching.R +++ b/R/data_epoching.R @@ -71,7 +71,7 @@ epoch_data.eeg_data <- function(data, } # generate time vector - init_times <- seq(time_lim[1], time_lim[2], 1/data$srate) + init_times <- seq(time_lim[1], time_lim[2], 1 / data$srate) #check if times need adjusting. time_check <- min(abs(init_times)) if (time_check != 0) { @@ -95,7 +95,7 @@ epoch_data.eeg_data <- function(data, # i.e. if srate is 1000, a vector from -100 to 0 to 100 would be -.1 s before # to .1 s after event onset - samps <- init_times / (1/srate) + samps <- init_times / (1 / srate) event_table <- data$events # go through all events and find which match those specified as the events to @@ -124,22 +124,7 @@ epoch_data.eeg_data <- function(data, cbind(data$signals, data$timings), by = c("sample" = "sample")) - # epoched_data <- data.frame( - # epoch = rep( - # 1:length(epoch_zero), - # each = length(samps) - # ), - # sample = rowSums( - # expand.grid( - # samps, - # epoch_zero) - # ), - # time = init_times) - # - # epoched_data <- merge(epoched_data, - # cbind(data$signals, - # data$timings), - # by = "sample") + # Check for any epochs that contain NAs epoched_data <- split(epoched_data, epoched_data$epoch) diff --git a/R/data_modifiers.R b/R/data_modifiers.R index f6679d74..145e69ef 100644 --- a/R/data_modifiers.R +++ b/R/data_modifiers.R @@ -25,7 +25,7 @@ eeg_reference <- function(data, ...) { UseMethod("eeg_reference", data) - } +} #' @export #' @describeIn eeg_reference Default method @@ -45,7 +45,6 @@ eeg_reference.default <- function(data, ...) { #' channel was used in recording and is absent from the data, passing "LM" #' adds an "LM" channel back to the data, populated with zeroes. #' @param verbose Print informative messages in console. Defaults to TRUE. -#' @importFrom matrixStats rowMedians #' @import data.table #' @return object of class `eeg_data`, re-referenced as requested. #' @describeIn eeg_reference Rereference objects of class `eeg_data` @@ -187,13 +186,13 @@ do_referencing <- function(data, if (identical(ref_chans, "average")) { data$reference <- list(ref_chans = ref_chans, excluded = exclude) - } else { - data$reference <- list(ref_chans = ref_chans, - excluded = exclude) - data <- select_elecs(data, - ref_chans, - keep = FALSE) - } + } else { + data$reference <- list(ref_chans = ref_chans, + excluded = exclude) + data <- select_elecs(data, + ref_chans, + keep = FALSE) + } data } @@ -383,7 +382,7 @@ check_q <- function(q, if (q < 2) { stop("q must be 2 or more.") - } else if ((srate / q) %% 1 > 0){ + } else if ((srate / q) %% 1 > 0) { stop("srate / q must give a round number.") } @@ -392,6 +391,3 @@ check_q <- function(q, srate / q, "Hz.")) q } - - - diff --git a/R/data_selection.R b/R/data_selection.R index cdfff48c..6d400290 100644 --- a/R/data_selection.R +++ b/R/data_selection.R @@ -11,6 +11,8 @@ #' demo_epochs #' short_epochs <- select_times(demo_epochs, time_lim = c(-.1, .3)) #' short_epochs +#' short_epochs <- select_times(demo_epochs, time_lim = list(-.1, .15, .3)) +#' head(short_epochs$timings) #' #' @author Matt Craddock, \email{matt@@mattcraddock.com} #' @@ -25,7 +27,7 @@ select_times <- function(data, ...) { } #' @param time_lim A character vector of two numbers indicating the time range -#' to be selected e.g. c(min, max) +#' to be selected e.g. c(min, max), or a list to select specific times. #' @return Data frame with only data from within the specified range. #' @export #' @describeIn select_times Default select times function @@ -35,12 +37,7 @@ select_times.default <- function(data, ...) { if ("time" %in% colnames(data)) { - if (length(time_lim) == 1) { - stop("Must enter two timepoints when selecting a time range.") - } else if (length(time_lim) == 2) { - data <- data[data$time > time_lim[1] & - data$time < time_lim[2], ] - } + data <- data[find_times(data, time_lim), ] } else { warning("No time column found.") } @@ -51,25 +48,27 @@ select_times.default <- function(data, #' that was passed in. #' @export #' @return `eeg_data` object -#' @describeIn select_times Select times from an eeg_data object +#' @describeIn select_times Select times from an `eeg_data` object select_times.eeg_data <- function(data, time_lim = NULL, df_out = FALSE, ...) { - #data$signals <- as.data.frame(data) keep_rows <- find_times(data$timings, time_lim) - data$signals <- data$signals[keep_rows, ] - data$timings <- data$timings[keep_rows, ] - event_rows <- data$events$event_time > time_lim[1] & - data$events$event_time < time_lim[2] + data$signals <- data$signals[keep_rows, , drop = FALSE] + data$timings <- data$timings[keep_rows, , drop = FALSE] + if (is.list(time_lim)) { + remaining_times <- unique(data$timings$time) + event_rows <- data$events$time %in% remaining_times + } else { + event_rows <- data$events$event_time > time_lim[1] & data$events$event_time < time_lim[2] + } data$events <- data$events[event_rows, ] if (df_out) { return(as.data.frame(data)) } - data } @@ -81,12 +80,16 @@ select_times.eeg_epochs <- function(data, ...) { keep_rows <- find_times(data$timings, - time_lim) + time_lim) data$signals <- data$signals[keep_rows, , drop = FALSE] data$timings <- data$timings[keep_rows, , drop = FALSE] - event_rows <- data$events$time > time_lim[1] & - data$events$time < time_lim[2] + if (is.list(time_lim)) { + remaining_times <- unique(data$timings$time) + event_rows <- data$events$time %in% remaining_times + } else { + event_rows <- data$events$time > time_lim[1] & data$events$time < time_lim[2] + } data$events <- data$events[event_rows, , drop = FALSE] if (df_out) { return(as.data.frame(data)) @@ -104,8 +107,8 @@ select_times.eeg_evoked <- function(data, keep_rows <- find_times(data$timings, time_lim) - data$signals <- data$signals[keep_rows, ] - data$timings <- data$timings[keep_rows, ] + data$signals <- data$signals[keep_rows, , drop = FALSE] + data$timings <- data$timings[keep_rows, , drop = FALSE] if (df_out) { return(data$signals) @@ -118,10 +121,10 @@ select_times.eeg_evoked <- function(data, select_times.eeg_tfr <- function(data, time_lim = NULL, df_out = FALSE, - ...){ + ...) { keep_rows <- find_times(data$timings, time_lim) - data$timings <- data$timings[keep_rows, ] + data$timings <- data$timings[keep_rows, , drop = FALSE] if (length(data$dimensions) == 3) { data$signals <- data$signals[keep_rows, , , drop = FALSE] } else if (length(data$dimensions) == 4) { @@ -146,12 +149,30 @@ select_times.eeg_tfr <- function(data, find_times <- function(timings, time_lim) { + if (is.list(time_lim)) { + closest_times <- findInterval(unlist(time_lim), unique(timings$time)) + closest_times <- unique(timings$time)[closest_times] + keep_rows <- timings$time %in% closest_times + + time_diffs <- unlist(time_lim) - closest_times + + if (any(time_diffs > 0)) { + message( + "Returning closest time points to those requested: ", + paste0( + signif(closest_times, 3), + sep = " ") + ) + } + return(keep_rows) + } if (length(time_lim) == 2) { keep_rows <- timings$time > time_lim[1] & timings$time < time_lim[2] } else { warning("Must enter two timepoints when selecting a time range; using whole range.") - keep_rows <- rep(TRUE, length = length(timings$time)) + keep_rows <- rep(TRUE, + length = length(timings$time)) } keep_rows } @@ -193,9 +214,9 @@ select_elecs.default <- function(data, if ("electrode" %in% names(data)) { if (all(electrode %in% data$electrode)) { if (keep) { - data <- data[data$electrode %in% electrode, ] + data <- data[data$electrode %in% electrode, , drop = FALSE] } else { - data <- data[!data$electrode %in% electrode, ] + data <- data[!data$electrode %in% electrode, , drop = FALSE] } } else { warning(paste("Electrode(s) not found:", @@ -236,7 +257,7 @@ select_elecs.eeg_data <- function(data, } if (!is.null(data$chan_info)) { - data$chan_info <- data$chan_info[data$chan_info$electrode %in% names(data$signals), ] + data$chan_info <- data$chan_info[data$chan_info$electrode %in% names(data$signals), , drop = FALSE] } } else { @@ -479,7 +500,7 @@ select_epochs.eeg_ICA <- function(data, } } if (df_out) { - return(as.data.frame(data)) + return(tibble::as_tibble(data)) } data } @@ -503,17 +524,18 @@ select_epochs.eeg_tfr <- function(data, } if (is.numeric(epoch_no)) { - keep_rows <- data$timings$epoch %in% epoch_no + keep_epochs <- dimnames(data$signals)[["epoch"]] %in% as.character(epoch_no) if (keep == FALSE) { - keep_rows <- !keep_rows + keep_epochs <- !keep_epochs + data$timings <- data$timings[!data$timings$epoch %in% epoch_no, ] + } else { + data$timings <- data$timings[data$timings$epoch %in% epoch_no, ] } - data$signals <- data$signals[, keep_rows[1:length(dimnames(data$signals)[["time"]])], , , drop = FALSE] - data$timings <- data$timings[keep_rows, ] + data$signals <- data$signals[keep_epochs, , , , drop = FALSE] data$events <- data$events[data$events$epoch %in% epoch_no, ] if (!is.null(data$epochs)) { data$epochs <- data$epochs[data$epochs$epoch %in% epoch_no, ] } - } } else { diff --git a/R/data_viewers.R b/R/data_viewers.R index 462ac017..57faa165 100644 --- a/R/data_viewers.R +++ b/R/data_viewers.R @@ -1,17 +1,15 @@ -#'Browse EEG data. +#'Browse EEG data #' #'A Shiny gadget for browsing EEG data and ICA decompositions interactively. #'With EEG data (epoched or continuous), data can be viewed as a butterfly plot -#'(all electrodes overlaid) or as individual traces (electrodes "stacked"). -#'Currently, the scale cannot be manually set and is determined by the range of -#'the viewable data. With +#'(all electrodes overlaid) or as individual traces (electrodes "stacked"). For +#'`eeg_ICA` objects, you will instead be shown a composite of multiple +#'properties of the decomposition - a topography, an ERP image, an ERP, and a +#'power spectral density plot from 4-50 Hz. #' #'@author Matt Craddock \email{matt@@mattcraddock.com} #'@import ggplot2 -#'@import shiny -#'@import miniUI -#'@param data `eeg_data`, `eeg_epochs`, or `eeg_ICA` object to be -#' plotted. +#'@param data `eeg_data`, `eeg_epochs`, or `eeg_ICA` object to be plotted. #'@param ... Other parameters passed to browsing functions. #'@export @@ -20,109 +18,133 @@ browse_data <- function(data, ...) { } #' @export +#' @return A character vector of component names selected for rejection. #' @describeIn browse_data View `eeg_ICA` component properties browse_data.eeg_ICA <- function(data, ...) { - ui <- miniUI::miniPage( - gadgetTitleBar("ICA dashboard"), - miniUI::miniContentPanel( - fillRow( - fillCol( - plotOutput("topo_ica", - height = "100%"), - plotOutput("comp_psd", - height = "100%")), - fillCol(plotOutput("comp_img", - height = "100%"), - plotOutput("comp_tc", - height = "100%"), - shiny::selectInput("icomp", - "Component", - names(data$signals))) - ) + ui <- bslib::page_fillable( + bslib::card( + shiny::tags$span( + "ICA Dashboard", + shiny::actionButton("done", "Done", class = "btn-success", style ="align-right") + ), + min_height = "85px" + ), + bslib::layout_columns( + shiny::selectInput("icomp", + label = NULL, + names(data$signals)), + shiny::radioButtons("reject_comps", + label = NULL, + choices = c("Keep", "Reject"), + inline = TRUE), + ), + bslib::layout_column_wrap( + shiny::plotOutput("topo_ica", height = "400px"), + shiny::plotOutput("comp_img"), + shiny::plotOutput("comp_psd"), + shiny::plotOutput("comp_tc"), + width = 1/2, + heights_equal = "all" ) - ) + ) server <- function(input, output, session) { - output$topo_ica <- renderCachedPlot({ - comp_no <- which(names(data$signals) == input$icomp) - topoplot(data, - component = comp_no, - verbose = FALSE, - grid_res = 67) - }, - cacheKeyExpr = {input$icomp}) - - output$comp_img <- renderCachedPlot({ - erp_image(data, - component = input$icomp) - }, - cacheKeyExpr = {input$icomp}) - - output$comp_tc <- renderCachedPlot({ - plot_timecourse(data, - component = input$icomp) - }, - cacheKeyExpr = {input$icomp}) - - output$comp_psd <- renderCachedPlot({ - tmp_psd <- - compute_psd(select(data, input$icomp), - n_fft = data$srate, - verbose = FALSE) - - tmp_psd <- dplyr::rename(tmp_psd, - power = 2) - tmp_psd <- dplyr::filter(tmp_psd, - frequency >= 3, - frequency <= 50) - ggplot(tmp_psd, - aes(x = frequency, - y = 10 * log10((power)))) + - stat_summary(geom = "ribbon", - fun.data = mean_cl_normal, - alpha = 0.5) + - stat_summary(geom = "line", - fun = mean) + - theme_classic() + - labs(x = "Frequency (Hz)", y = "Power (dB)") - }, - cacheKeyExpr = {input$icomp}) - - observeEvent(input$done, { - returnValue <- "" - stopApp(returnValue) + comp_status <- shiny::reactiveValues() + output$topo_ica <- shiny::bindCache( + shiny::renderPlot({ + comp_no <- which(names(data$signals) == input$icomp) + topoplot(data, + component = comp_no, + verbose = FALSE, + grid_res = 70) + }), + input$icomp) + + output$comp_img <- shiny::bindCache( + shiny::renderPlot({ + erp_image(data, component = input$icomp) + }), + input$icomp) + + output$comp_tc <- shiny::bindCache( + shiny::renderPlot({ + plot_timecourse(data, component = input$icomp) + }), + input$icomp) + + output$comp_psd <- shiny::bindCache( + shiny::renderPlot({ + tmp_psd <- + compute_psd(select(data, input$icomp), + n_fft = data$srate, + verbose = FALSE) + tmp_psd <- dplyr::rename(tmp_psd, + power = 2) + tmp_psd <- dplyr::filter(tmp_psd, + frequency >= 3, + frequency <= 50) + ggplot(tmp_psd, + aes(x = frequency, + y = 10 * log10((power)))) + + stat_summary(geom = "ribbon", + fun.data = mean_se, + alpha = 0.5) + + stat_summary(geom = "line", + fun = mean) + + theme_classic() + + labs(x = "Frequency (Hz)", y = "Power (dB)") + }), + input$icomp) + + shiny::observeEvent(input$icomp, { + shiny::updateRadioButtons( + inputId = "reject_comps", + choices = c("Keep", "Reject"), + selected = comp_status[[input$icomp]], + inline = TRUE) + }) + + shiny::observeEvent(input$reject_comps, { + comp_status[[shiny::isolate(input$icomp)]] <- input$reject_comps + comp_status + }) + shiny::observeEvent(input$done, { + returnValue <- shiny::reactiveValuesToList(comp_status) + returnValue <- + names(returnValue)[vapply(returnValue, + function(x) identical(x, "Reject"), + logical(1))] + shiny::stopApp(returnValue) }) - session$onSessionEnded(stopApp) + + session$onSessionEnded(shiny::stopApp) } - runGadget(ui, + shiny::runGadget(ui, server, - viewer = paneViewer(minHeight = 600)) + viewer = shiny::paneViewer(minHeight = 600)) } #' @export browse_data.eeg_stats <- function(data, ...) { - warning("Not currently implemented for eeg_stats objects.") + warning("Not currently implemented for `eeg_stats` objects.") } #'@param sig_length Length of signal to be plotted initially (seconds if #' continuous, epochs if epoched). -#'@param n_elecs Number of electrodes to be plotted on a single screen. (not yet -#' implemented) #'@param downsample Only works on `eeg_data` or `eeg_epochs` objects. #' Reduces size of data by only plotting every 4th point, speeding up plotting -#' considerably. Defaults to TRUE for eeg_data, FALSE for eeg_epochs +#' considerably. Defaults to TRUE for `eeg_data`, FALSE for `eeg_epochs` #' #'@export #'@describeIn browse_data Browse continuous EEG data. browse_data.eeg_data <- function(data, sig_length = 5, - n_elecs = NULL, downsample = TRUE, ...) { @@ -133,137 +155,118 @@ browse_data.eeg_data <- function(data, q = 4) } - ui <- miniPage( - gadgetTitleBar("Continous data browser"), - miniTabstripPanel( - miniTabPanel(title = "Butterfly", - icon = icon("line-chart"), - miniContentPanel( - fillCol( - flex = c(4, NA, 1), - plotOutput("butterfly", - height = "100%"), - sliderInput("time_range", - label = "Display start time", - step = 1, - min = 0, - max = max(unique(data$timings$time)), - value = min(unique(data$timings$time)), - width = "100%"), - fillRow( - numericInput("sig_time", - "Display length", - value = sig_length, - min = 1, - max = 60), - #numericInput("uV_scale", "Scale (microvolts)", value - #= 50, min = 1), - checkboxInput("dc_offset", - "Remove DC offset", - value = TRUE) - ) - ) - ) - ), - miniTabPanel(title = "Individual", - miniContentPanel( - wellPanel( - plotOutput("time_plot"), - style = "overflow-y:scroll; max-height: 800px" - ), - fillPage( - fillCol( - flex = c(NA, 2), - sliderInput("time_range_ind", - label = "Display start time", - step = 1, - min = 0, - max = max(unique(data$timings$time)), - value = min(unique(data$timings$time)), - width = "100%"), - fillRow( - numericInput("sig_time_ind", - "Display length", - sig_length, - min = 1, max = 60), - #numericInput("elecs_per_page_ind", "Electrodes per - #page", n_elecs, min = 1, max = 30), - checkboxInput("dc_offset_ind", - "Remove DC offset", - value = TRUE) - ) - ) - ) - ) + ui <- bslib::page_fillable( + title = ("Continuous data browser"), + bslib::navset_tab( + bslib::nav_panel( + title = "Butterfly", + icon = shiny::icon("chart-line"), + bslib::card( + shiny::plotOutput("butterfly"), + style = "resize:vertical;" ) + ), + bslib::nav_panel( + title = "Individual", + icon = shiny::icon("chart-line"), + bslib::card( + shiny::wellPanel( + shiny::plotOutput("time_plot"), + style = "overflow-y:scroll; max-height: 800px; resize:vertical", + ), + ) + ), + footer = + bslib::card( + shiny::sliderInput( + "time_range", + label = "Display time range (seconds)", + step = 1, + min = round(min(data$timings$time), 2), + max = round(max(data$timings$time), 2), + value = c(min(data$timings$time), + min(data$timings$time) + 4), + width = "100%"), + shiny::checkboxInput("dc_offset", + "Remove DC offset", + value = TRUE), + shiny::numericInput("uV_scale", + "Scale (microvolts)", + value = 50, step = 1), + ) ) ) - server <- function(input, - output, - session) { - - output$butterfly <- renderPlot({ - # select only the time range that we want to display - tmp_data <- select_times(data, - time_lim = c(input$time_range, - input$time_range + input$sig_time)) - - if (input$dc_offset) { - tmp_data <- rm_baseline(tmp_data, - verbose = FALSE) - } - - zz <- plot_butterfly(tmp_data, - legend = FALSE, - continuous = TRUE) - zz - }) - - output$time_plot <- renderPlot({ - tmp_data <- select_times(data, - time_lim = c(input$time_range_ind, - input$time_range_ind + input$sig_time_ind)) + server <- function(input, + output, + session) { - if (input$dc_offset_ind) { - tmp_data <- rm_baseline(tmp_data, - verbose = FALSE) - } - tmp_data <- as.data.frame(tmp_data, - long = TRUE, - coords = FALSE) + output$butterfly <- shiny::renderPlot({ + # select only the time range that we want to display + tmp_data <- select_times(data, + time_lim = c(input$time_range[1], + input$time_range[2])) - init_plot <- ggplot2::ggplot(tmp_data, - aes(x = time, - y = amplitude)) + - geom_line() + - facet_grid(electrode ~ ., - scales = "free_y", - switch = "y") + - theme_minimal() + - theme( - axis.text.y = element_blank(), - axis.ticks.y = element_blank(), - axis.title.y = element_blank(), - strip.text.y = element_text(angle = 180), - panel.spacing = unit(0, "lines"), - panel.grid.minor = element_blank(), - panel.grid.major.y = element_blank() - ) + - scale_x_continuous(expand = c(0, 0)) + if (input$dc_offset) { + tmp_data <- rm_baseline(tmp_data, + verbose = FALSE) + } - init_plot - }, height = 2000) + butterfly_plot <- plot_butterfly(tmp_data, + legend = FALSE, + continuous = TRUE) + butterfly_plot + + coord_cartesian(ylim = c(-input$uV_scale, input$uV_scale), + expand = FALSE) + }) - observeEvent(input$done, { - stopApp() - }) - session$onSessionEnded(stopApp) - } - runGadget(ui, - server, - viewer = paneViewer(minHeight = 600)) + output$time_plot <- shiny::renderPlot({ + tmp_data <- select_times(data, + time_lim = c(input$time_range, + input$time_range + input$sig_time)) + + if (input$dc_offset) { + tmp_data <- rm_baseline(tmp_data, + verbose = FALSE) + } + + tmp_data <- as.data.frame(tmp_data, + long = TRUE, + coords = FALSE) + + init_plot <- ggplot2::ggplot(tmp_data, + aes(x = time, + y = amplitude)) + + geom_line() + + facet_grid(electrode ~ ., + scales = "free_y", + switch = "y") + + theme_minimal() + + theme( + axis.text.y = element_blank(), + axis.ticks.y = element_blank(), + axis.title.y = element_blank(), + strip.text.y = element_text(angle = 180), + panel.spacing = unit(0, "lines"), + panel.grid.minor = element_blank(), + panel.grid.major.y = element_blank() + ) + + scale_x_continuous(expand = c(0, 0)) + + coord_cartesian(ylim = c(-input$uV_scale, input$uV_scale), + expand = FALSE) + + init_plot + }, height = 2000) + + shiny::observeEvent(input$done, { + stopApp() + }) + session$onSessionEnded(stopApp) + } + shiny::runGadget(ui, + server, + viewer = shiny::paneViewer(minHeight = 600)) } #'@export @@ -271,7 +274,6 @@ browse_data.eeg_data <- function(data, browse_data.eeg_epochs <- function(data, sig_length = 5, - n_elecs = NULL, downsample = FALSE, ...) { @@ -280,87 +282,101 @@ browse_data.eeg_epochs <- function(data, q = 4) } - ui <- miniPage( - gadgetTitleBar("Epoched data browser"), - miniTabstripPanel( - miniTabPanel(title = "Butterfly", - icon = icon("line-chart"), - miniContentPanel( - fillCol( - flex = c(4, NA, 1), - plotOutput("butterfly", height = "100%"), - sliderInput("time_range", - label = "Display starting epoch", - step = 1, - min = 1, - max = max(unique(data$timings$epoch)), - value = min(unique(data$timings$epoch)), - width = "100%"), - fillRow( - numericInput("sig_time", - "No. epochs", - sig_length, - min = 1, max = 60), - #numericInput("uV_scale", "Scale (microvolts)", - #max(data$amplitude), min = 10, value = 100), - checkboxInput("dc_offset", - "Remove DC offset", - value = FALSE) - ) - ) - ) - ), - miniTabPanel(title = "Individual", - miniContentPanel( - wellPanel( - plotOutput("time_plot"), - style = "overflow-y:scroll; max-height: 800px" - ), - fillPage( - fillCol( - flex = c(NA, 2), - sliderInput("time_range_ind", - label = "Display starting epoch", - step = 1, - min = 1, - max = max(unique(data$timings$epoch)), - value = min(unique(data$timings$epoch)), - width = "100%"), - fillRow( - numericInput("sig_time_ind", - "Display length", - sig_length, - min = 1, max = 60), - #numericInput("elecs_per_page_ind", "Electrodes per - #page", n_elecs, min = 1, max = 30), - checkboxInput("dc_offset_ind", - "Remove DC offset", - value = FALSE) - ) - ) - ) - ) - ) + ui <- bslib::page_fillable( + title = "Epoched data browser", + bslib::navset_tab( + bslib::nav_panel( + title = bslib::tooltip( + shiny::tags$span( + "Butterfly", + shiny::icon("chart-line") + ), + "Shows traces from every electrode overlapping, with transparency"), + bslib::card( + shiny::plotOutput("butterfly"), + style = "resize:vertical;" + ), + ), + bslib::nav_panel( + title = bslib::tooltip( + shiny::tags$span( + "Individual", + shiny::icon("chart-line"), + ), + "Show traces for each electrode separately" + ), + bslib::card( + shiny::plotOutput("time_plot"), + style = "overflow-y:scroll; max-height: 800px; resize:vertical;", + ) + ), + footer = bslib::card( + shiny::sliderInput("time_range", + label = "Epoch range", + step = 1, + min = 1, + max = max(data$timings$epoch), + value = c(min(data$timings$epoch), + min(data$timings$epoch) + 4), + width = "100%"), + shiny::checkboxInput("dc_offset", + "Remove DC offset", + value = FALSE), + shiny::numericInput("uV_scale", + "Scale (microvolts)", + value = 50, step = 1), ) ) + ) - server <- function(input, - output, - session) { + server <- function(input, + output, + session) { - tmp_dat <- reactive({ + tmp_data <- shiny::debounce( + shiny::reactive({ select_epochs(data, - epoch_no = seq(input$time_range, - input$time_range + input$sig_time - 1)) - }) - - tmp_data <- debounce(tmp_dat, - 800) - - output$butterfly <- renderPlot({ + epoch_no = seq(input$time_range[1], + input$time_range[2])) + }), + 400) + + output$butterfly <- shiny::renderPlot({ + + if (input$dc_offset) { + tmp_data <- rm_baseline(tmp_data(), + verbose = FALSE) + } else { + tmp_data <- tmp_data() + } + + tmp_data <- as.data.frame(tmp_data, + long = TRUE, + coords = FALSE) + + butter_out <- plot_butterfly(tmp_data, + legend = FALSE, + browse_mode = TRUE, + allow_facets = TRUE) + + facet_wrap("epoch", + nrow = 1) + + theme( + panel.spacing = unit(0, "lines") + ) + + geom_vline(xintercept = max(unique(tmp_data$time))) + + geom_vline(xintercept = 0, + linetype = "longdash", + alpha = 0.2) + + coord_cartesian(ylim = c(-input$uV_scale, input$uV_scale), + expand = FALSE) + butter_out + }) + output$time_plot <- shiny::bindCache( + shiny::renderPlot({ if (input$dc_offset) { - tmp_data <- rm_baseline(tmp_data(), verbose = FALSE) + tmp_data <- rm_baseline(tmp_data(), + verbose = FALSE) } else { tmp_data <- tmp_data() } @@ -369,49 +385,15 @@ browse_data.eeg_epochs <- function(data, long = TRUE, coords = FALSE) - butter_out <- plot_butterfly(tmp_data, - legend = FALSE, - browse_mode = TRUE, - allow_facets = TRUE) + - facet_wrap("epoch", - nrow = 1) + - theme( - panel.spacing = unit(0, "lines") - ) + - geom_vline(xintercept = max(unique(tmp_data$time))) + - geom_vline(xintercept = 0, - linetype = "longdash") - butter_out - }) - - tmp_dat_ind <- reactive({ - select_epochs(data, - epoch_no = seq(input$time_range_ind, - input$time_range_ind + input$sig_time_ind - 1)) - }) - - tmp_data_ind <- debounce(tmp_dat_ind, 800) - - output$time_plot <- renderPlot({ - - if (input$dc_offset_ind) { - tmp_data_ind <- rm_baseline(tmp_data_ind(), - verbose = FALSE) - } else { - tmp_data_ind <- tmp_data_ind() - } - - tmp_data_ind <- as.data.frame(tmp_data_ind, - long = TRUE, - coords = FALSE) - - init_plot <- ggplot2::ggplot(tmp_data_ind, + init_plot <- ggplot2::ggplot(tmp_data, aes(x = time, y = amplitude)) + geom_line() + facet_grid(electrode ~ epoch, - scales = "free_y", + #scales = "free_y", switch = "y") + + coord_cartesian(ylim = c(-input$uV_scale, input$uV_scale), + expand = FALSE) + theme_minimal() + theme( axis.text.y = element_blank(), @@ -423,20 +405,26 @@ browse_data.eeg_epochs <- function(data, panel.grid.major = element_blank() ) + scale_x_continuous(expand = c(0, 0)) + - geom_vline(xintercept = max(unique(tmp_data_ind$time))) + + geom_vline(xintercept = max(unique(tmp_data$time))) + geom_vline(xintercept = 0, - linetype = "longdash") - + linetype = "longdash", + alpha = 0.2) + + labs(x = "Time (s)") init_plot }, - height = 2500) + height = 2500), + input$dc_offset, + tmp_data(), + input$uV_scale + ) - observeEvent(input$done, { - stopApp() - }) - session$onSessionEnded(stopApp) - } - runGadget(ui, - server, - viewer = paneViewer(minHeight = 600)) + shiny::observeEvent(input$done, { + shiny::stopApp() + }) + session$onSessionEnded(shiny::stopApp) + } + shiny::runGadget(ui, + server, + viewer = shiny::paneViewer(minHeight = 600)) } + diff --git a/R/deprecated.R b/R/deprecated.R index 31c0ebb8..363dbd91 100644 --- a/R/deprecated.R +++ b/R/deprecated.R @@ -5,213 +5,3 @@ eeg_FASTER <- function(data, ...) { msg = "Please use ar_FASTER; eeg_FASTER will be removed in a forthcoming release.") ar_FASTER(data, ...) } - - -#'@rdname eeg_reference -#'@export -reref_eeg <- function(data, ...) { - .Deprecated("eeg_reference", - msg = "reref_eeg has been renamed eeg_reference, and will be removed in a future version of eegUtils.") - eeg_reference(data, ...) -} - - -#' Butterworth IIR filter -#' -#' Construct a Butterworth IIR filter and filter input data. This uses -#' `signal::filt_filt`, which filters the signal twice to - once forwards, -#' then again backwards). -#' -#' low_freq and high_freq are passband edges. Pass low freq or high freq alone -#' to perform high-pass or low-pass filtering respectively. For band-pass or -#' band-stop filters, pass both low_freq and high_freq. -#' -#' If low_freq < high_freq, bandpass filtering is performed. -#' -#' If low_freq > high_freq, bandstop filtering is performed. -#' -#' Note that the signal is first zero-meaned using either channel means or -#' by-channel epoch means. -#' @examples -#' plot_psd(iir_filt(demo_epochs, low_freq = 1, high_freq = 30)) -#' plot_psd(iir_filt(demo_epochs, low_freq = 12, high_freq = 8)) -#' @author Matt Craddock \email{matt@@mattcraddock.com} -#' @param data Data to be filtered. -#' @param ... Parameters passed to S3 methods -#' @export - -iir_filt <- function(data, ...) { - UseMethod("iir_filt", data) -} - -#' @export -iir_filt.default <- function(data, ...) { - stop("Function works on data.frames, eeg_data, and eeg_epochs.") -} - -#' @param low_freq Low passband edge. -#' @param high_freq High passband edge. -#' @param filter_order Order of the Butterworth filter. -#' @param srate Sampling rate of the signal. -#' @param silent Turns off filtering messages. -#' @importFrom signal butter filtfilt freqz -#' @importFrom purrr map_df -#' @export -#' @describeIn iir_filt Filter a data frame - -iir_filt.data.frame <- function(data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - srate, - silent = FALSE, - ...) { - if (missing(srate)) { - stop("sampling rate must be supplied.") - } - data <- run_iir(data, - low_freq, - high_freq, - filter_order, - srate, - silent = silent) - data -} - -#' @export -#' @describeIn iir_filt Filter `eeg_data` objects - -iir_filt.eeg_data <- function(data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - silent = FALSE, - ...) { - - data$signals <- run_iir(data$signals, - low_freq, - high_freq, - filter_order, - data$srate, - silent = silent) - data -} - -#' @export -#' @describeIn iir_filt Filter `eeg_epochs` objects. -iir_filt.eeg_epochs <- function(data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - silent = FALSE, - ...) { - - data$signals$epoch <- data$timings$epoch - data$signals <- run_iir(data$signals, - low_freq, - high_freq, - filter_order, - data$srate, - silent = silent) - data$signals["epoch"] <- NULL - data -} - -#' Internal function for running IIR filtering -#' -#' @param data Data to be filtered -#' @param low_freq Low passband edge. -#' @param high_freq High passband edge. -#' @param filter_order Order of the Butterworth filter. -#' @param srate Sampling rate of the signal. -#' @param silent Turns off filtering messages. -#' @importFrom dplyr group_by -#' @importFrom purrr map_df -#' @importFrom signal filtfilt butter -#' @keywords internal - -run_iir <- function(data, - low_freq = NULL, - high_freq = NULL, - filter_order, - srate, - silent = FALSE) { - - if (filter_order < 2 || filter_order > 20) { - stop("Filter order should be between 2 and 20.") - } - - if (length(low_freq) > 1 | length(high_freq) > 1) { - stop("Only one number should be passed to low_freq or high_freq") - } - - if (is.null(low_freq) & is.null(high_freq)) { - stop("At least one frequency must be specified.") - } - - if (is.null(low_freq)) { - filt_type <- "low" - message(sprintf("Low-pass IIR filter at %.4g Hz", high_freq)) - W <- high_freq / (srate / 2) - } else if (is.null(high_freq)) { - filt_type <- "high" - message("High-pass IIR filter at ", low_freq," Hz") - W <- low_freq / (srate / 2) - - if (length(dim(data)) > 1) { - data <- sweep(data, - 2, - colMeans(data)) - } else { - data <- data - mean(data) - } - - } else if (low_freq > high_freq) { - filt_type <- "stop" - message(sprintf("Band-stop IIR filter from %.4g-%.4g Hz", - high_freq, low_freq)) - W <- c(high_freq / (srate / 2), - low_freq / (srate / 2)) - - if (length(dim(data)) > 1) { - data <- sweep(data, - 2, - colMeans(data)) - } else { - data <- data - mean(data) - } - } else if (low_freq < high_freq) { - filt_type <- "pass" - message(sprintf("Band-pass IIR filter from %.4g-%.4g Hz", - low_freq, high_freq)) - W <- c(low_freq / (srate / 2), - high_freq / (srate / 2)) - - if (length(dim(data)) > 1) { - data <- sweep(data, 2, colMeans(data)) - } else { - data <- data - mean(data) - } - } - - #filtfilt filters twice, so effectively doubles filter_order - we half it here - #so that it corresponds to the expectation of the user - filter_order <- round(filter_order / 2) - filt_coef <- signal::butter(filter_order, - W, - type = filt_type) - - data <- data.table(data) - - if ("epoch" %in% names(data)) { - data <- data[, - lapply(.SD, - function(x) signal::filtfilt(filt_coef, x)), - by = epoch] - } else { - data <- data[, - lapply(.SD, - function(x) signal::filtfilt(filt_coef, x))] - } - tibble::as_tibble(data) -} diff --git a/R/df_converters.R b/R/df_converters.R index e2af1e23..c02ac4f7 100644 --- a/R/df_converters.R +++ b/R/df_converters.R @@ -11,8 +11,6 @@ #' @param coords Include electrode coordinates in output. Only possible when #' long = TRUE. #' @param ... arguments for other as.data.frame commands -#' @importFrom tidyr gather -#' @importFrom dplyr left_join #' @export as.data.frame.eeg_data <- function(x, @@ -22,38 +20,37 @@ as.data.frame.eeg_data <- function(x, events = FALSE, coords = FALSE, ...) { - df <- data.frame(x$signals, - x$timings) + chan_names <- channel_names(x) + new_df <- data.frame(x$signals, + x$timings) if (long) { - df <- tidyr::gather(df, - electrode, - amplitude, - -time, - -sample, - factor_key = TRUE) + new_df <- tidyr::pivot_longer( + new_df, + cols = tidyr::all_of(chan_names), + names_to = "electrode", + values_to = "amplitude" + ) } if (events) { - df <- dplyr::left_join(df, + new_df <- dplyr::left_join(new_df, x$events, by = c("sample" = "event_onset")) } - - df + new_df } -#' Convert `eeg_tfr` objects to data frames +#' Convert `eeg_tfr` objects to a `data.frame` #' #' @author Matt Craddock \email{matt@@mattcraddock.com} #' @param x Object of class `eeg_tfr` #' @param row.names Kept for compatability with S3 generic, ignored. #' @param optional Kept for compatability with S3 generic, ignored. #' @param long Convert to long format. Defaults to FALSE. -#' @param ... arguments for other as.data.frame commands -#' -#' @importFrom tidyr gather +#' @param ... arguments for other `as.data.frame` commands +#' @return A `data.frame` or `tibble` #' @export as.data.frame.eeg_tfr <- function(x, row.names = NULL, @@ -79,8 +76,6 @@ as.data.frame.eeg_tfr <- function(x, each = dim_size[1]) out_df$epoch <- unique(x$epochs$epoch) } else if (inherits(x, "eeg_group")) { - # stop("Currently not working with eeg_group objects...") - #avg_dim <- "participant_id" out_df <- aperm(x$signals, c("time", "frequency", @@ -93,7 +88,7 @@ as.data.frame.eeg_tfr <- function(x, colnames(out_df) <- dimnames(x$signals)$electrode out_df <- as.data.frame(out_df) out_df$time <- rep(as.numeric(dimnames(x$signals)$time), - prod(dim_size[2:4]))#out_df$time) + prod(dim_size[2:4])) out_df$frequency <- rep(as.numeric(dimnames(x$signals)$frequency), each = dim_size[1]) out_df$epoch <- rep(x$epochs$epoch, each = @@ -127,7 +122,6 @@ as.data.frame.eeg_tfr <- function(x, x$epochs, by = c("participant_id", "epoch")) } else { - #out_df$epoch <- as.numeric(out_df$epoch) out_df <- dplyr::left_join(out_df, x$epochs, by = "epoch") @@ -138,18 +132,17 @@ as.data.frame.eeg_tfr <- function(x, names_to = "electrode", values_to = "power")) } - out_df } -#' Convert `eeg_lm` to data.frame +#' Convert `eeg_lm` to `data.frame` #' #' Convert an object of class `eeg_data` into a standard `data.frame`. #' #' @author Matt Craddock \email{matt@@mattcraddock.com} -#' @param x Object of class `eeg_data` +#' @param x Object of class `eeg_lm` #' @param row.names Kept for compatibility with S3 generic, ignored. #' @param optional Kept for compatibility with S3 generic, ignored. #' @param long Convert to long format. Defaults to FALSE. @@ -157,8 +150,6 @@ as.data.frame.eeg_tfr <- function(x, #' long = TRUE. #' @param values Defaults to "coefficients", returning fitted coefficient values. #' @param ... arguments for other as.data.frame commands -#' @importFrom tidyr pivot_longer -#' @importFrom dplyr left_join #' @export as.data.frame.eeg_lm <- function(x, row.names = NULL, @@ -200,8 +191,6 @@ as.data.frame.eeg_lm <- function(x, names_to = "electrode", values_to = val_name) -# df$electrode <- as.character(df$electrode) - if (coords && !is.null(channels(x))) { df <- dplyr::left_join(df, channels(x)[, c("electrode", "x", "y")], @@ -221,7 +210,6 @@ as.data.frame.eeg_lm <- function(x, #' @param coords Include electrode coordinates in output (ignored if long = FALSE) #' @param ... arguments for other as.data.frame commands #' -#' @importFrom tidyr spread #' @export as.data.frame.eeg_stats <- function(x, @@ -239,7 +227,7 @@ as.data.frame.eeg_stats <- function(x, electrode, statistic, -time, - factor_key = T) + factor_key = TRUE) if (coords && !is.null(channels(x))) { df <- dplyr::left_join(df, channels(x)[, c("electrode", "x", "y")], @@ -266,8 +254,6 @@ as.data.frame.eeg_stats <- function(x, #' @param coords Include electrode coordinates in output. Ignored if long == FALSE. #' @param ... arguments for other as.data.frame commands #' -#' @importFrom tidyr gather -#' @importFrom dplyr left_join #' @export as.data.frame.eeg_epochs <- function(x, row.names = NULL, @@ -289,16 +275,14 @@ as.data.frame.eeg_epochs <- function(x, row.names = NULL, stringsAsFactors = FALSE) names(df)[1:length(chan_names)] <- chan_names - # combine the new data frame with any condition labels from the events table - if (long) { + if (long) { # When converting to long, use factor_key to keep channels in same order, # then convert back to character. - df <- tidyr::gather(df, - electrode, - amplitude, - channel_names(x), - factor_key = TRUE) + df <- tidyr::pivot_longer(df, + names_to = "electrode", + values_to = "amplitude", + cols = channel_names(x)) df$electrode <- as.character(df$electrode) @@ -328,7 +312,6 @@ as.data.frame.eeg_epochs <- function(x, row.names = NULL, #' @param coords include electrode coordinates in output. Ignored if long = FALSE. #' @param ... arguments for other as.data.frame commands #' -#' @importFrom tidyr gather #' @export as.data.frame.eeg_evoked <- function(x, @@ -338,53 +321,55 @@ as.data.frame.eeg_evoked <- function(x, coords = TRUE, ...) { - - - df <- cbind(x$signals, - x$timings) - - if (inherits(x, "eeg_group")) { - df <- dplyr::left_join(df, - epochs(x), - by = c("participant_id", - "epoch")) + is_group_df <- inherits(x, "eeg_group") + chan_info <- channels(x) + chan_names <- channel_names(x) + epoch_info <- epochs(x) + x <- cbind(x$signals, + x$timings) + + if (is_group_df) { + unique_cols <- + c(names(epoch_info)[!(names(epoch_info) %in% names(x))], + "participant_id", "epoch") + x <- dplyr::left_join(x, + epoch_info[unique_cols], + by = c("participant_id", + "epoch")) } else { - df <- dplyr::left_join(df, - epochs(x), - by = "epoch") + x <- dplyr::left_join(x, + epoch_info, + by = "epoch") } if (long) { - df <- tidyr::gather(df, - "electrode", - "amplitude", - channel_names(x), - factor_key = TRUE) - df$electrode <- as.character(df$electrode) - - if (coords && !is.null(channels(x))) { - df <- left_join(df, - channels(x)[, c("electrode", "x", "y")], - by = "electrode") + x <- tidyr::pivot_longer(x, + cols = dplyr::all_of(chan_names), + names_to = "electrode", + values_to = "amplitude") + + if (coords && !is.null(chan_info)) { + x <- dplyr::left_join(x, + chan_info[, c("electrode", "x", "y")], + by = "electrode") } } - df + x } #' Convert `eeg_ICA` object to data frame # #' @author Matt Craddock \email{matt@@mattcraddock.com} #' @param x Object of class `eeg_ICA` -#' @param row.names Kept for compatability with S3 generic, ignored. -#' @param optional Kept for compatability with S3 generic, ignored. +#' @param row.names Kept for compatibility with S3 generic, ignored. +#' @param optional Kept for compatibility with S3 generic, ignored. #' @param long Convert to long format. Defaults to FALSE #' @param cond_labels add condition labels to data frame. Deprecated. #' @param mixing If TRUE, outputs the mixing matrix. If FALSE, outputs source activations. #' @param coords Adds electrode coordinates if TRUE; only if long data and the mixing matrix are requested. #' @param ... arguments for other as.data.frame commands #' -#' @importFrom tidyr gather #' @export as.data.frame.eeg_ICA <- function(x, @@ -426,15 +411,11 @@ as.data.frame.eeg_ICA <- function(x, } if (long) { - df <- tidyr::gather(df, - component, - amplitude, - channel_names(x), - factor_key = TRUE) - df$component <- as.character(df$component) + df <- tidyr::pivot_longer(df, + names_to = "component", + values_to = "amplitude", + cols = dplyr::all_of(channel_names(x))) } - - df } diff --git a/R/dplyr-extensions.R b/R/dplyr-extensions.R index 1424ee65..4b4f4385 100644 --- a/R/dplyr-extensions.R +++ b/R/dplyr-extensions.R @@ -2,7 +2,6 @@ #' @export dplyr::filter -#' @importFrom dplyr filter #' @export filter.eeg_epochs <- function(.data, ...) { @@ -59,7 +58,6 @@ filter.eeg_epochs <- function(.data, .data } -#' @importFrom dplyr filter #' @export filter.eeg_data <- function(.data, ...) { @@ -78,6 +76,7 @@ filter.eeg_data <- function(.data, ...) { .data$events$time <- .data$events$event_time .data$events <- dplyr::filter(.data$events, ...) + .data$events$time <- NULL } # # ensure this also handles the epoch structure correctly @@ -88,10 +87,10 @@ filter.eeg_data <- function(.data, ...) { .data$epochs <- dplyr::filter(.data$epochs, !!!args[arg_list$in_epochs]) } + .data$signals <- tibble::as_tibble(.data$signals) .data } -#' @importFrom dplyr filter #' @export filter.eeg_evoked <- function(.data, ...) { @@ -159,8 +158,9 @@ filter.eeg_tfr <- function(.data, ...) { call. = FALSE) } - lhs_args <- unlist(lapply(args[which_calls], - function(x) as.character(x[[2]]))) + lhs_args <- unlist(lapply(args, + function(x) as.character(x[[2]]))) + lhs_args <- unique(lhs_args) mat_dims <- names(dimnames(.data$signals)) %in% lhs_args hmz <- dimnames(.data$signals)[mat_dims] hmz <- lapply(hmz, @@ -192,7 +192,7 @@ filter.eeg_tfr <- function(.data, ...) { .data$timings <- dplyr::filter(.data$timings, !!!args[in_timings]) keep_times <- unique(.data$timings$time) - time_idx <- which(hmz$time %in% unique(keep_times)) + time_idx <- which(unique(keep_times) %in% as.numeric(dimnames(.data$signals)[["time"]])) .data$signals <- abind::asub(.data$signals, time_idx, dims = which(.data$dimensions == "time"), @@ -215,7 +215,6 @@ filter.eeg_tfr <- function(.data, ...) { dims = which(names(dimnames(.data$signals)) %in% "frequency"), drop = FALSE) .data$freq_info$freqs <- .data$freq_info$freqs[logi_freq] - #.data$signals[[]] } if (any(args_done == FALSE)) { @@ -233,13 +232,10 @@ filter.eeg_tfr <- function(.data, ...) { parse_args <- function(arg_list, data) { - which_calls <- vapply(arg_list, - is.call, - logical(1), - USE.NAMES = FALSE) - - lhs_args <- unlist(lapply(arg_list[which_calls], - function(x) as.character(x[[2]]))) + lhs_args <- unlist( + lapply(arg_list, + all.vars) + ) in_epochs <- lhs_args %in% names(epochs(data)) in_timings <- lhs_args %in% names(data$timings) @@ -253,7 +249,6 @@ parse_args <- function(arg_list, #' @export dplyr::select -#' @importFrom dplyr select #' @export select.eeg_epochs <- function(.data, ...) { @@ -267,7 +262,6 @@ select.eeg_epochs <- function(.data, .data } -#' @importFrom dplyr select #' @export select.eeg_data <- function(.data, ...) { .data$signals <- dplyr::select(.data$signals, ...) @@ -277,7 +271,6 @@ select.eeg_data <- function(.data, ...) { .data } -#' @importFrom dplyr select filter #' @export select.eeg_ICA <- function(.data, ...) { .data$signals <- dplyr::select(.data$signals, @@ -295,7 +288,6 @@ select.eeg_ICA <- function(.data, ...) { .data } -#' @importFrom dplyr select #' @export select.eeg_stats <- function(.data, ...) { .data$statistic <- dplyr::select(.data$statistic, @@ -308,20 +300,16 @@ select.eeg_stats <- function(.data, ...) { .data } - #' @importFrom dplyr mutate #' @export dplyr::mutate -#' @importFrom dplyr mutate #' @export - mutate.eeg_data <- function(.data, ...) { .data$signals <- dplyr::mutate(.data$signals, ...) .data } -#' @importFrom dplyr mutate #' @export mutate.eeg_epochs <- function(.data, ...) { .data$signals <- dplyr::mutate(.data$signals, ...) @@ -332,7 +320,6 @@ mutate.eeg_epochs <- function(.data, ...) { #' @export dplyr::rename -#' @importFrom dplyr rename #' @export rename.eeg_ICA <- function(.data, ...) { @@ -344,14 +331,20 @@ rename.eeg_ICA <- function(.data, .data } -#' @importFrom dplyr rename #' @export rename.eeg_epochs <- function(.data, - ...) { + ...) { .data$signals <- dplyr::rename(.data$signals, ...) .data$chan_info$electrode <- names(.data$signals) .data } - +#' @export +rename.eeg_data <- function(.data, + ...) { + .data$signals <- dplyr::rename(.data$signals, + ...) + .data$chan_info$electrode <- names(.data$signals) + .data +} diff --git a/R/eegUtils-package.R b/R/eegUtils-package.R index b30bbdac..a81da182 100644 --- a/R/eegUtils-package.R +++ b/R/eegUtils-package.R @@ -1,4 +1,4 @@ -#' @keywords internal +#' A package for processing electroencephalographic data "_PACKAGE" # The following block is used by usethis to automatically manage diff --git a/R/epoch_images.R b/R/epoch_images.R index d104a7a2..fef46ce2 100644 --- a/R/epoch_images.R +++ b/R/epoch_images.R @@ -18,7 +18,7 @@ #' @export erp_image <- function(data, - ...){ + ...) { UseMethod("erp_image", data) } @@ -96,8 +96,6 @@ erp_image.data.frame <- function(data, } - - #'@describeIn erp_image Create an `erp_image` from `eeg_epochs` #'@export erp_image.eeg_epochs <- function(data, @@ -190,7 +188,7 @@ erp_image.eeg_tfr <- function(data, data <- select_elecs(data, electrode) - if (!is.null(freq_range)){ + if (!is.null(freq_range)) { data <- select_freqs(data, freq_range) } @@ -205,8 +203,6 @@ erp_image.eeg_tfr <- function(data, long = TRUE, coords = FALSE) - - create_tfrimage(data, electrode = electrode, smoothing = smoothing, @@ -273,7 +269,7 @@ create_erpimage <- function(data, geom_raster(interpolate = interpolate) + geom_vline(xintercept = 0, linetype = "dashed", - size = 1) + + linewidth = 1) + scale_fill_distiller(palette = "RdBu", limits = clim, oob = scales::squish) + @@ -284,7 +280,6 @@ create_erpimage <- function(data, ggtitle(paste("ERP Image for", electrode)) } - create_tfrimage <- function(data, electrode, smoothing, @@ -326,7 +321,7 @@ create_tfrimage <- function(data, clim <- c(0, clim) } else if (length(clim) != 2) { clim <- max(abs(max(data$smooth_amp, na.rm = TRUE)), - abs(min(data$smooth_amp, na.rm = T))) + abs(min(data$smooth_amp, na.rm = TRUE))) clim <- c(0, clim) } @@ -337,7 +332,7 @@ create_tfrimage <- function(data, geom_raster(interpolate = interpolate) + geom_vline(xintercept = 0, linetype = "dashed", - size = 1) + + linewidth = 1) + scale_fill_viridis_c(limits = clim, oob = scales::squish) + scale_y_continuous(expand = c(0, 0)) + @@ -375,7 +370,6 @@ create_tfrimage <- function(data, #' e.g. c(-5,5). Defaults to min and max. #' @param interpolate Smooth the raster plot. Defaults to FALSE. #' @import ggplot2 -#' @importFrom tidyr gather #' @importFrom scales squish #' @author Matt Craddock, \email{matt@@mattcraddock.com} #' @return A `ggplot` object @@ -387,11 +381,7 @@ erp_raster <- function(data, clim = NULL, interpolate = FALSE) { - if ( - inherits( - data, c("eeg_tfr", "eeg_ICA") - ) - ) { + if (inherits(data, c("eeg_tfr", "eeg_ICA"))) { stop( paste( "Not currently implemented for objects of class", @@ -426,10 +416,9 @@ erp_raster <- function(data, y = electrode, fill = amplitude)) + stat_summary_by_fill(interpolate = interpolate) + - #geom_raster(interpolate = interpolate) + geom_vline( xintercept = 0, linetype = "dashed", - size = 2) + + linewidth = 2) + scale_fill_distiller(palette = "RdBu", limits = c(clim[1], clim[2]), @@ -461,22 +450,22 @@ arrange_chans <- function(chan_info, sig_names) { # Order them from back to front midline_labels <- midline_labels[sort(midline_dist, - decreasing = T, - index.return = T)$ix] + decreasing = TRUE, + index.return = TRUE)$ix] # Pick out electrodes from the left hemisphere left <- is.true(chan_info$x < 0) - left_labels <- chan_info$electrode[left ] + left_labels <- chan_info$electrode[left] left_dist <- chan_info$y[left] left_labels <- left_labels[sort(left_dist, - index.return = T)$ix] + index.return = TRUE)$ix] # Pick out electrodes from the right hemisphere right <- is.true(chan_info$x > 0) right_labels <- chan_info$electrode[right] right_dist <- chan_info$y[right] right_labels <- right_labels[sort(right_dist, - index.return = T)$ix] + index.return = TRUE)$ix] all_labels <- c(left_labels, midline_labels, diff --git a/R/epoch_queries.R b/R/epoch_queries.R index eb756d44..150f4dec 100644 --- a/R/epoch_queries.R +++ b/R/epoch_queries.R @@ -16,7 +16,6 @@ epochs <- function(data) { } } - #' @param value Structure to replace `epochs` structure with. #' @rdname epochs #' @export diff --git a/R/erp_scalp.R b/R/erp_scalp.R index 8964494a..1b222abb 100644 --- a/R/erp_scalp.R +++ b/R/erp_scalp.R @@ -3,7 +3,7 @@ #' Creates a `ggplot2` figure showing the ERP at each electrode, with each #' electrode placed according to its location on the scalp. #' -#' @param data An EEG dataset. +#' @param data An `eeg_epochs` or `eeg_evoked` object #' @param ... Various arguments passed to specific functions #' #' @examples @@ -13,12 +13,10 @@ #' @author Matt Craddock, \email{matt@@mattcraddock.com} #' @importFrom purrr map #' @importFrom dplyr group_by summarise mutate select -#' @import ggplot2 -#' @import tidyr #' @family scalp-based maps #' @seealso [interactive_scalp()] for interactive plots of ERPs in a scalp-based #' layout. -#' @return Returns a ggplot2 plot object. +#' @return Returns a `ggplot2` plot object. #' @export erp_scalp <- function(data, @@ -40,9 +38,10 @@ erp_scalp.eeg_ICA <- function(data, #' @param colour Variable to colour lines by. If no variable is passed, only one #' line is drawn for each electrode. #' @param color Alias for `colour`. -#' @param size Size of the line(s) for the ERPs. -#' @param show_guide Should a guide showing the scale of the ERP plots be shown. -#' Defaults to TRUE. +#' @param size Size of the line(s) for the ERPs. Deprecated +#' @param linewidth Size of the line(s) for the ERPs. +#' @param show_guide Should be a guide showing the scale of the ERP plots be +#' shown. Defaults to TRUE. #' @param baseline Character vector of times to subtract for baseline correct. #' @param chan_info Pass channel information in the standard `eegUtils` format #' directly. @@ -58,29 +57,22 @@ erp_scalp.default <- function(data, color = NULL, colour = NULL, size = .8, + linewidth = .8, baseline = NULL, show_guide = TRUE, chan_info = NULL, montage = NULL, ...) { - if (is.eeg_epochs(data) & is.null(montage)) { - chan_info <- channels(data) - data <- eeg_average(data) - data <- as.data.frame(data, - long = TRUE) - } else if (is.eeg_epochs(data)) { - data <- eeg_average(data) - data <- as.data.frame(data, - long = TRUE) - } - + # Check for colours to group by first + cols <- "everything" + # Catch both unquoted and quoted colour inputs color <- rlang::enquo(color) colour <- rlang::enquo(colour) if (rlang::quo_is_null(colour) && !rlang::quo_is_null(color)) { colour <- color - } else if (!rlang::quo_is_null(color) & !rlang::quo_is_null(colour)) { + } else if (!rlang::quo_is_null(color) && !rlang::quo_is_null(colour)) { message("Please only supply `colour` or `color`, not both. `colour` will be used.") } @@ -89,6 +81,20 @@ erp_scalp.default <- function(data, colour <- rlang::enquo(colour) } + if (!rlang::quo_is_null(colour)) { + cols <- rlang::as_name(colour) + } + + if (is.eeg_epochs(data) && is.null(montage)) { + chan_info <- channels(data) + data <- eeg_average(data, verbose = FALSE, cols = cols) + data <- as.data.frame(data, long = TRUE) + } else if (is.eeg_epochs(data)) { + data <- eeg_average(data, verbose = FALSE, cols = cols) + data <- as.data.frame(data, + long = TRUE) + } + if (rlang::quo_is_null(colour)) { data <- dplyr::group_by(data, electrode, @@ -126,16 +132,16 @@ erp_scalp.default <- function(data, plot <- plot + - coord_cartesian(ylim = c(minAmp, maxAmp), - xlim = c(minTime, maxTime)) + ggplot2::coord_cartesian(ylim = c(minAmp, maxAmp), + xlim = c(minTime, maxTime)) plot <- plot + geom_vline(xintercept = 0, - size = .3) + linewidth = .3) plot <- plot + geom_hline(yintercept = 0, - size = .3) + linewidth = .3) plot <- plot + theme_void() @@ -147,7 +153,7 @@ erp_scalp.default <- function(data, if (rlang::quo_is_null(colour)) { plot <- plot + - geom_line(size = size) + geom_line(linewidth = linewidth) } else { plot <- plot + @@ -155,8 +161,8 @@ erp_scalp.default <- function(data, plot <- plot + geom_line(aes(colour = {{ colour }}), - show.legend = FALSE, - size = size) + show.legend = FALSE, + linewidth = linewidth) } plot } @@ -165,8 +171,8 @@ erp_scalp.default <- function(data, data <- tidyr::nest(data, data = !electrode) data <- dplyr::mutate(data, - plot = map(data, - plotfun)) + plot = purrr::map(data, + plotfun)) data <- dplyr::select(data, -data) @@ -215,15 +221,15 @@ erp_scalp.default <- function(data, scale_x_continuous(breaks = scales::breaks_pretty(n = 3)) + scale_y_continuous(breaks = c(round(minAmp, 1), 0, round(maxAmp, 1))) + geom_vline(xintercept = 0, - size = .4) + + linewidth = .4) + geom_hline(yintercept = 0, - size = .4) + + linewidth = .4) + # Remove the labels, because they make the guide appear TINY labs(y = "", x = "") + theme_minimal(base_size = 8) + theme( panel.grid = element_blank(), - axis.ticks = element_line(size = .3), + axis.ticks = element_line(linewidth = .3), axis.title = element_blank(), panel.background = element_blank() ) @@ -243,7 +249,7 @@ erp_scalp.default <- function(data, ) } - for (i in 1:nrow(data)) { + for (i in seq_len(nrow(data))) { p <- p + annotation_custom( @@ -254,7 +260,6 @@ erp_scalp.default <- function(data, ymax = data$y[i] + panel_size ) } - p } @@ -265,27 +270,42 @@ erp_scalp.default <- function(data, #' panel, they can be averaged over or plotted as individual electrodes. #' #' @param data An EEG dataset. -#' @param colour Variable to colour lines by. If no variable is passed, only one -#' line is drawn for each electrode. -#' @param baseline Character vector of times to subtract for baseline correction. -#' @param montage Name of an existing montage set. Defaults to NULL; (currently -#' only 'biosemi64alpha' available other than default 10/20 system) +#' @param ... Additional arguments #' #' @author Matt Craddock, \email{matt@@mattcraddock.com} #' #' @import shiny #' @import miniUI #' @family scalp-based maps -#' @seealso [erp_scalp()] for non-interactive plots of ERPs in a scalp-based layout. +#' @seealso [erp_scalp()] for non-interactive plots of ERPs in a scalp-based +#' layout. #' @export - interactive_scalp <- function(data, - colour = NULL, - baseline = NULL, - montage = NULL) { - if (is.eeg_epochs(data)) { - data <- eeg_average(data) - } + ...) { + UseMethod("interactive_scalp", data) +} + +#' @export +interactive_scalp.default <- function(data, + ...) { + message(paste("Not implemented for objects of class", class(data))) +} + +#' @param colour Variable to colour lines by. If no variable is passed, only one +#' line is drawn for each electrode. +#' @param baseline Character vector of times to subtract for baseline +#' correction. +#' @param montage Name of an existing montage set. Defaults to NULL; (currently +#' only 'biosemi64alpha' available other than default 10/20 system) +#' @describeIn interactive_scalp Method for `eeg_epochs` objects +#' @export +interactive_scalp.eeg_epochs <- function(data, + colour = NULL, + baseline = NULL, + montage = NULL, + ...) { + + data <- eeg_average(data, verbose = FALSE) if (!is.null(baseline)) { data <- rm_baseline(data, @@ -299,79 +319,66 @@ interactive_scalp <- function(data, colour <- rlang::enquo(colour) } - ui <- miniPage( - gadgetTitleBar("Scalp ERPs"), - miniTabstripPanel( - miniTabPanel( - "Whole scalp", - icon = icon("circle"), - miniContentPanel(fillCol( - flex = c(7, 1), - plotOutput("Scalp", height = "100%", + ui <- + bslib::page_fillable( + bslib::navset_card_underline( + bslib::nav_panel( + title = "Whole scalp", + icon = icon(name = "circle", + lib = "font-awesome"), + plotOutput("Scalp", click = "click_plot"), verbatimTextOutput("click_info") - )), - miniButtonBlock(actionButton("reset", "Reset selection")) ), - miniTabPanel( - "Selected electrodes", - icon = icon("line-chart"), - miniContentPanel(plotOutput("Selected", height = "100%")), - miniButtonBlock( - actionButton("avg", "Mean"), - actionButton("single", "Plot individual electrodes") + bslib::nav_panel( + title = "Selected electrodes", + icon = icon("chart-line", + lib = "font-awesome"), + plotOutput("Selected"), + bslib::layout_column_wrap( + bslib::tooltip( + actionButton("avg", "Mean"), + "Plot the mean of the selected electrodes" + ), + bslib::tooltip( + actionButton("single", "Plot individual electrodes"), + "Butterfly plot with each selected electrode shown separately" + ) ) ) - )) + ) + ) server <- function(input, output, session) { - chan_info <- NULL - if (is.eeg_evoked(data)) { - chan_info <- channels(data) - } else if (is.eeg_epochs(data)) { - chan_info <- channels(data) - } + chan_info <- channels(data) tmp_data <- as.data.frame(data, long = TRUE) - if (is.null(chan_info)) { - tmp_data <- electrode_locations(tmp_data, - drop = TRUE, - montage = montage) # - } else { - tmp_data <- dplyr::left_join(tmp_data, - chan_info, - by = c("electrode", "x", "y")) - tmp_data <- dplyr::filter(tmp_data, - !(is.na(x) | is.na(y))) - } - button_reacts <- reactiveValues(sel_elecs = list(), avg = TRUE) output$Scalp <- renderPlot({ if (rlang::quo_is_null(colour)) { - erp_scalp(tmp_data, + erp_scalp(data, montage = montage, chan_info = chan_info) } else { erp_scalp( - tmp_data, + data, colour = !!colour, montage = montage, chan_info = chan_info ) } - }) observeEvent(input$click_plot, { - tmp <- nearPoints( + electrode_choice <- nearPoints( tmp_data, input$click_plot, "x", @@ -380,58 +387,47 @@ interactive_scalp <- function(data, maxpoints = 1 ) - if (nrow(tmp) > 0) { - if (tmp$electrode %in% button_reacts$sel_elecs) { + if (nrow(electrode_choice) > 0) { + if (electrode_choice$electrode %in% button_reacts$sel_elecs) { button_reacts$sel_elecs <- - button_reacts$sel_elecs[-which(button_reacts$sel_elecs == tmp$electrode)] + button_reacts$sel_elecs[-which(button_reacts$sel_elecs == electrode_choice$electrode)] } else { button_reacts$sel_elecs <- c(button_reacts$sel_elecs, - tmp$electrode) + electrode_choice$electrode) } } - output$click_info <- renderPrint({ + output$click_info <- shiny::renderPrint({ cat("Selected:", unlist(button_reacts$sel_elecs)) }) # plot selected electrodes when on appropriate tab - output$Selected <- renderPlot({ - + output$Selected <- shiny::renderPlot({ if (button_reacts$avg) { - if (rlang::quo_is_null(colour)) { - - plot_timecourse( - select_elecs(data, - unlist(button_reacts$sel_elecs)) - ) - + plot_timecourse(data, + unlist(button_reacts$sel_elecs)) } else { - - plot_timecourse(select_elecs(data, - unlist(button_reacts$sel_elecs)), - colour = rlang::as_label(colour)) - #colour = as.name(colour)) + plot_timecourse(data, + unlist(button_reacts$sel_elecs), + mapping = aes(colour = !!colour)) } - } else { - if (rlang::quo_is_null(colour)) { - plot_timecourse(select_elecs(data, - unlist(button_reacts$sel_elecs)), - colour = "electrode") - } else{ - plot_timecourse(select_elecs(data, - unlist(button_reacts$sel_elecs)), - colour = rlang::as_label(colour)) + - facet_wrap( ~ electrode) + plot_timecourse(data, + electrode = unlist(button_reacts$sel_elecs)) + + aes(colour = electrode) + } else { + plot_timecourse(data, + electrode = unlist(button_reacts$sel_elecs), + mapping = aes(colour = !!colour)) + + facet_wrap(~electrode) } } }) }) #Close app gracefully if done button clicked - observeEvent(input$done, { stopApp() }) @@ -440,18 +436,12 @@ interactive_scalp <- function(data, observeEvent(input$reset, { button_reacts$sel_elecs <- NULL }) - observeEvent(input$avg, { button_reacts$avg <- TRUE }) - observeEvent(input$single, { button_reacts$avg <- FALSE }) - } - runGadget(ui, server) } - - diff --git a/R/fieldtrip_structures.R b/R/fieldtrip_structures.R index df12ab01..e1e6ff7d 100644 --- a/R/fieldtrip_structures.R +++ b/R/fieldtrip_structures.R @@ -9,18 +9,18 @@ ft_raw <- function(data, sig_names <- unlist(data["label", , ], use.names = FALSE) - times <- unlist(data["time", ,], + times <- unlist(data["time", , ], use.names = FALSE) if ("fsample" %in% struct_names) { - srate <- unlist(data["fsample", ,], + srate <- unlist(data["fsample", , ], use.names = FALSE) } else { srate <- NULL } n_trials <- length(data["trial", , ][[1]]) - signals <- purrr::flatten(purrr::flatten(data["trial", ,])) + signals <- purrr::flatten(purrr::flatten(data["trial", , ])) signals <- tibble::as_tibble(t(do.call(cbind, signals))) names(signals) <- sig_names timings <- tibble::tibble(epoch = rep(seq(1, n_trials), @@ -34,7 +34,7 @@ ft_raw <- function(data, if ("elec" %in% struct_names) { if (verbose) message("Importing channel information.") chan_info <- ft_chan_info( - unlist(data["elec", ,], + unlist(data["elec", , ], recursive = FALSE) ) chan_info$electrode <- sig_names diff --git a/R/file_bva_import.R b/R/file_bva_import.R new file mode 100644 index 00000000..ca381439 --- /dev/null +++ b/R/file_bva_import.R @@ -0,0 +1,229 @@ +#' Function for importing Brain Vision Analyzer files +#' @param file_name file name of the header file. +#' @keywords internal +import_vhdr <- function(file_name, + participant_id, + recording) { + + .data <- read_vhdr(file_name) + epochs <- tibble::new_tibble(list(epoch = 1, + participant_id = participant_id, + recording = recording), + nrow = 1, + class = "epoch_info") + .data$epochs <- epochs + .data +} + +#' @keywords internal +read_vhdr <- function(file_name) { + + header_info <- ini::read.ini(file_name) + + if (identical(header_info$`Common Infos`$DataFormat, "ASCII")) { + stop("BVA ASCII not currently supported.") + } + + if (identical(header_info$`Common Infos`$DataType, + "FREQUENCYDOMAIN")) { + stop("Only time domain data is currently supported, + this data is in the frequency domain.") + } + + if (identical(header_info$`Common Infos`$DataOrientation, + "VECTORIZED")) { + multiplexed <- FALSE + } else { + multiplexed <- TRUE + } + + data_file <- file.path(dirname(file_name), + header_info$`Common Infos`$DataFile) + vmrk_file <- file.path(dirname(file_name), + header_info$`Common Infos`$MarkerFile) + n_chan <- as.numeric(header_info$`Common Infos`$NumberOfChannels) + # header gives sampling times in microseconds + srate <- 1e6 / as.numeric(header_info$`Common Infos`$SamplingInterval) + bin_format <- header_info$`Binary Infos`$BinaryFormat + + chan_labels <- lapply(header_info$`Channel Infos`, + function(x) unlist(strsplit(x = x, split = ","))) + chan_names <- sapply(chan_labels, "[[", 1) + #EEGLAB exported BVA files are missing the channel resolution, which occupies + #the 3rd position - check length of chan_labels elements first to cope with + #that. Probably always 1 microvolt anyway... + if (length(chan_labels[[1]]) == 3) { + chan_scale <- as.numeric(sapply(chan_labels, "[[", 3)) + } else { + chan_scale <- rep(1, length(chan_labels)) + } + + chan_info <- parse_vhdr_chans(chan_names, + header_info$`Coordinates`) + + file_size <- file.size(data_file) + .data <- read_dat(data_file, + file_size = file_size, + bin_format = bin_format, + multiplexed) + + .data <- matrix(.data, + ncol = n_chan, + byrow = multiplexed) + + if (any(!is.na(chan_scale))) { + .data <- sweep(.data, + 2, + chan_scale, + "*") + } + colnames(.data) <- chan_names + .data <- tibble::as_tibble(.data) + + n_points <- nrow(.data) + + timings <- tibble::tibble(sample = 1:n_points, + time = (sample - 1) / srate) + + .markers <- read_vmrk(vmrk_file) + .markers <- + dplyr::mutate(.markers, + event_onset = as.numeric(event_onset), + length = as.numeric(length), + .electrode = ifelse(.electrode == 0, + NA, + as.character(chan_info$electrode[.electrode])), + event_time = (event_onset - 1) / srate) + .data <- eeg_data(data = .data, + srate = srate, + events = .markers, + chan_info = chan_info, + timings = timings, + reference = NULL) + .data +} + +#' Read the raw data for a BVA file. +#' +#' @param file_name Filename of the .dat file +#' @param file_size Size of the .dat file +#' @param bin_format Storage format. +#' @param multiplexed Logical; whether the data is VECTORIZED (FALSE) or MULTIPLEXED (TRUE) +#' @keywords internal + +read_dat <- function(file_name, + file_size, + bin_format, + multiplexed) { + + if (identical(bin_format, "IEEE_FLOAT_32")) { + nbytes <- 4 + signed <- TRUE + file_type <- "double" + } else if (identical(bin_format, "UINT_16")) { + nbytes <- 2 + signed <- FALSE + file_type <- "int" + } else { + nbytes <- 2 + signed <- TRUE + file_type <- "int" + } + + raw_data <- readBin(file_name, + what = file_type, + n = file_size, + size = nbytes, + signed = signed) + raw_data +} + +#' Read BVA markers +#' +#' Import and parse BVA marker files. +#' +#' @param file_name File name of the .vmrk markers file. +#' @keywords internal +read_vmrk <- function(file_name) { + + vmrks <- ini::read.ini(file_name) + marker_id <- names(vmrks$`Marker Infos`) + + markers <- lapply(vmrks$`Marker Infos`, + function(x) unlist(strsplit(x, ","))) + + # to do - fix to check for "New segment" instead - it's the extra date field that causes issues + if (length(markers[[1]]) == 6) { + date <- markers[[1]][[6]] + markers <- lapply(markers, `[`, 1:5) + } else { + date <- NA + } + + markers <- do.call(rbind, markers) + + colnames(markers) <- c("BVA_type", + "event_type", + "event_onset", + "length", + ".electrode") + + markers <- tibble::as_tibble(markers) + markers <- + dplyr::mutate(markers, + event_onset = as.numeric(event_onset), + length = as.numeric(length), + .electrode = as.numeric(.electrode)) + markers +} + +#' Parse BVA channel info +#' +#' @param chan_labels The `Channel Infos` section from a BVA vhdr file +#' @param chan_info The `Coordinates` section from a BVA vhdr file +#' @keywords internal +parse_vhdr_chans <- function(chan_labels, + chan_info, + verbose = TRUE) { + + init_chans <- data.frame(electrode = chan_labels) + if (is.null(chan_info)) { + init_chans$radius <- NA + init_chans$theta <- NA + init_chans$phi <- NA + if (verbose) message("No channel locations found.") + return(validate_channels(init_chans)) + } else { + coords <- lapply(chan_info, + function(x) as.numeric(unlist(strsplit(x, split = ",")))) + new_coords <- data.frame(do.call(rbind, + coords)) + names(new_coords) <- c("radius", "theta", "phi") + new_coords <- cbind(init_chans, new_coords) + new_coords[new_coords$radius %in% c(0, NaN), 2:4] <- NA + + chan_info <- bva_elecs(new_coords) + tibble::as_tibble(chan_info) + } +} + +#' Convert BVA spherical locations +#' +#' Reads the BrainVoyager spherical electrode locations and converts them to +#' Cartesian 3D and 2D projections. +#' +#' @param chan_info A data.frame containing electrodes +#' @param radius Head radius in millimetres +#' @keywords internal +bva_elecs <- function(chan_info, radius = 85) { + chan_info <- + dplyr::mutate(chan_info, + cart_x = sin(deg2rad(theta)) * cos(deg2rad(phi)), + cart_y = sin(deg2rad(theta)) * sin(deg2rad(phi)), + cart_z = cos(deg2rad(theta)), + x = theta * cos(deg2rad(phi)), + y = theta * sin(deg2rad(phi))) + chan_info[, c("cart_x", "cart_y", "cart_z")] <- + chan_info[, c("cart_x", "cart_y", "cart_z")] * radius + chan_info +} diff --git a/R/file_export.R b/R/file_export.R index c014adc4..c7e5ac5a 100644 --- a/R/file_export.R +++ b/R/file_export.R @@ -78,7 +78,7 @@ write_vhdr <- function(.data, DataFile = paste0(filename, ".dat"), MarkerFile = paste0(filename, ".vmrk"), DataFormat = "BINARY", - DataOrientation=orientation, + DataOrientation = orientation, DataType = "TIMEDOMAIN", NumberOfChannels = n_chans, DataPoints = nrow(.data$signals), @@ -115,7 +115,7 @@ write_vhdr <- function(.data, writeLines("", con) for (i in names(new_header)) { - writeLines(paste0("[", i,"]"), con) + writeLines(paste0("[", i, "]"), con) entries <- lapply(seq_along(new_header[[i]]), function(x) paste0(names(new_header[[i]][x]), @@ -187,7 +187,7 @@ write_vmrk <- function(.data, paste0("Mk", 1:nrow(.data$events)) for (i in names(new_markers)) { - writeLines(paste0("[", i,"]"), con) + writeLines(paste0("[", i, "]"), con) entries <- lapply(seq_along(new_markers[[i]]), function(x) paste0(names(new_markers[[i]][x]), diff --git a/R/file_io.R b/R/file_io.R index a430cf1f..1f7436e2 100644 --- a/R/file_io.R +++ b/R/file_io.R @@ -39,7 +39,7 @@ import_raw <- function(file_name, recording <- basename(tools::file_path_sans_ext(file_name)) } - if (file_type %in% c("bdf","edf")) { + if (file_type %in% c("bdf", "edf")) { message(paste("Importing", file_name, "as", @@ -50,6 +50,10 @@ import_raw <- function(file_name, sigs <- read_bdf_data(file_name, bdf_header) colnames(sigs) <- bdf_header$chan_labels sigs <- tibble::as_tibble(sigs) + if ("BDFAnnotations" %in% colnames(sigs)) { + sigs <- subset(sigs, + select = -BDFAnnotations) + } srate <- bdf_header$srate[[1]] } else { @@ -81,12 +85,14 @@ import_raw <- function(file_name, events <- integer(0) } + ## Add some code here to handle annotations. + if (purrr::is_empty(events)) { warning("No status channel. Retaining all channels.") - chan_nos <- 1:ncol(sigs) + chan_nos <- seq_len(ncol(sigs)) } else { #all chans except Status - chan_nos <- (1:ncol(sigs))[-which(names(sigs) == "Status")] + chan_nos <- (seq_len(ncol(sigs)))[-which(names(sigs) == "Status")] } timings <- tibble::tibble(sample = 1:nrow(sigs)) @@ -116,9 +122,10 @@ import_raw <- function(file_name, srate = srate, events = event_table, timings = timings, - epochs = epochs) + epochs = epochs, + chan_info = validate_channels(data.frame(electrode = names(sigs)))) data - } else if (identical(file_type,"cnt")) { + } else if (identical(file_type, "cnt")) { message(paste("Importing Neuroscan", toupper(file_type), file_name)) message(paste("Note: if this is 16-bit or an ANT Neuro .CNT file, reading will fail.")) data <- import_cnt(file_name) @@ -320,7 +327,7 @@ import_cnt <- function(file_name) { accept = integer(n_events), accuracy = integer(n_events), stringsAsFactors = FALSE - ) + ) for (i in 1:n_events) { ev_list$event_type[i] <- readBin(cnt_file, @@ -388,185 +395,6 @@ import_cnt <- function(file_name) { event_list = ev_list) } -#' Function for importing Brain Vision Analyzer files -#' @param file_name file name of the header file. -#' @keywords internal -import_vhdr <- function(file_name, - participant_id, - recording) { - - .data <- read_vhdr(file_name) - epochs <- tibble::new_tibble(list(epoch = 1, - participant_id = participant_id, - recording = recording), - nrow = 1, - class = "epoch_info") - .data$epochs <- epochs - .data -} - -#' @keywords internal -read_vhdr <- function(file_name) { - - header_info <- ini::read.ini(file_name) - - if (identical(header_info$`Common Infos`$DataFormat, "ASCII")) { - stop("BVA ASCII not currently supported.") - } - - if (identical(header_info$`Common Infos`$DataType, - "FREQUENCYDOMAIN")) { - stop("Only time domain data is currently supported, - this data is in the frequency domain.") - } - - if (identical(header_info$`Common Infos`$DataOrientation, - "VECTORIZED")) { - multiplexed <- FALSE - } else { - multiplexed <- TRUE - } - - data_file <- file.path(dirname(file_name), - header_info$`Common Infos`$DataFile) - vmrk_file <- file.path(dirname(file_name), - header_info$`Common Infos`$MarkerFile) - n_chan <- as.numeric(header_info$`Common Infos`$NumberOfChannels) - # header gives sampling times in microseconds - srate <- 1e6 / as.numeric(header_info$`Common Infos`$SamplingInterval) - bin_format <- header_info$`Binary Infos`$BinaryFormat - - chan_labels <- lapply(header_info$`Channel Infos`, - function(x) unlist(strsplit(x = x, split = ","))) - chan_names <- sapply(chan_labels, "[[", 1) - #EEGLAB exported BVA files are missing the channel resolution, which occupies - #the 3rd position - check length of chan_labels elements first to cope with - #that. Probably always 1 microvolt anyway... - if (length(chan_labels[[1]]) == 3) { - chan_scale <- as.numeric(sapply(chan_labels, "[[", 3)) - } else { - chan_scale <- rep(1, length(chan_labels)) - } - - chan_info <- parse_vhdr_chans(chan_names, - header_info$`Coordinates`) - - file_size <- file.size(data_file) - .data <- read_dat(data_file, - file_size = file_size, - bin_format = bin_format, - multiplexed) - - .data <- matrix(.data, - ncol = n_chan, - byrow = multiplexed) - - if (any(!is.na(chan_scale))) { - .data <- sweep(.data, - 2, - chan_scale, - "*") - } - colnames(.data) <- chan_names - .data <- tibble::as_tibble(.data) - - n_points <- nrow(.data) - - timings <- tibble::tibble(sample = 1:n_points, - time = (sample - 1) / srate) - - .markers <- read_vmrk(vmrk_file) - .markers <- - dplyr::mutate(.markers, - event_onset = as.numeric(event_onset), - length = as.numeric(length), - .electrode = ifelse(.electrode == 0, - NA, - as.character(chan_info$electrode[.electrode])), - event_time = (event_onset - 1) / srate) - .data <- eeg_data(data = .data, - srate = srate, - events = .markers, - chan_info = chan_info, - timings = timings, - reference = NULL) - .data -} - -#' Read the raw data for a BVA file. -#' -#' @param file_name Filename of the .dat file -#' @param file_size Size of the .dat file -#' @param bin_format Storage format. -#' @param multiplexed Logical; whether the data is VECTORIZED (FALSE) or MULTIPLEXED (TRUE) -#' @keywords internal - -read_dat <- function(file_name, - file_size, - bin_format, - multiplexed) { - - if (identical(bin_format, "IEEE_FLOAT_32")) { - nbytes <- 4 - signed <- TRUE - file_type <- "double" - } else if (identical(bin_format, "UINT_16")) { - nbytes <- 2 - signed <- FALSE - file_type <- "int" - } else { - nbytes <- 2 - signed <- TRUE - file_type <- "int" - } - - raw_data <- readBin(file_name, - what = file_type, - n = file_size, - size = nbytes, - signed = signed) - raw_data -} - -#' Read BVA markers -#' -#' Import and parse BVA marker files. -#' -#' @param file_name File name of the .vmrk markers file. -#' @keywords internal -read_vmrk <- function(file_name) { - - vmrks <- ini::read.ini(file_name) - marker_id <- names(vmrks$`Marker Infos`) - - markers <- lapply(vmrks$`Marker Infos`, - function(x) unlist(strsplit(x, ","))) - - # to do - fix to check for "New segment" instead - it's the extra date field that causes issues - if (length(markers[[1]]) == 6) { - date <- markers[[1]][[6]] - markers <- lapply(markers, `[`, 1:5) - } else { - date <- NA - } - - markers <- do.call(rbind, markers) - - colnames(markers) <- c("BVA_type", - "event_type", - "event_onset", - "length", - ".electrode") - - markers <- tibble::as_tibble(markers) - markers <- - dplyr::mutate(markers, - event_onset = as.numeric(event_onset), - length = as.numeric(length), - .electrode = as.numeric(.electrode)) - markers -} - #' Load `EEGLAB` .set files #' #' Load `EEGLAB` .set files and convert them to `eeg_epochs` objects. Supports @@ -662,13 +490,6 @@ import_set <- function(file_name, times <- temp_dat[["times"]] chan_info <- drop(Reduce(rbind, temp_dat["chanlocs"])) - # var_names <- dimnames(temp_dat$EEG)[[1]] - # - # n_chans <- temp_dat$EEG[[which(var_names == "nbchan")]] - # n_trials <- temp_dat$EEG[[which(var_names == "trials")]] - # times <- temp_dat$EEG[[which(var_names == "times")]] - # chan_info <- drop(Reduce(rbind, temp_dat$EEG["chanlocs",,])) - pick_empties <- vapply( chan_info, @@ -797,7 +618,7 @@ import_set <- function(file_name, "type", "epoch") - if (drop_custom & any(!colnames(event_table) %in% std_cols)) { + if (drop_custom && any(!colnames(event_table) %in% std_cols)) { message("Dropping custom columns...") event_table <- event_table[, std_cols] } @@ -940,56 +761,6 @@ parse_chaninfo <- function(chan_info, chan_info } -#' Parse BVA channel info -#' -#' @param chan_labels The `Channel Infos` section from a BVA vhdr file -#' @param chan_info The `Coordinates` section from a BVA vhdr file -#' @keywords internal -parse_vhdr_chans <- function(chan_labels, - chan_info, - verbose = TRUE) { - - init_chans <- data.frame(electrode = chan_labels) - if (is.null(chan_info)) { - init_chans$radius <- NA - init_chans$theta <- NA - init_chans$phi <- NA - if (verbose) message("No channel locations found.") - return(validate_channels(init_chans)) - } else { - coords <- lapply(chan_info, - function(x) as.numeric(unlist(strsplit(x, split = ",")))) - new_coords <- data.frame(do.call(rbind, - coords)) - names(new_coords) <- c("radius", "theta", "phi") - new_coords <- cbind(init_chans, new_coords) - new_coords[new_coords$radius %in% c(0, NaN), 2:4] <- NA - - chan_info <- bva_elecs(new_coords) - tibble::as_tibble(chan_info) - } -} - -#' Convert BVA spherical locations -#' -#' Reads the BrainVoyager spherical electrode locations and converts them to -#' Cartesian 3D and 2D projections. -#' -#' @param chan_info A data.frame containing electrodes -#' @param radius Head radius in millimetres -#' @keywords internal -bva_elecs <- function(chan_info, radius = 85) { - chan_info <- - dplyr::mutate(chan_info, - cart_x = sin(deg2rad(theta)) * cos(deg2rad(phi)), - cart_y = sin(deg2rad(theta)) * sin(deg2rad(phi)), - cart_z = cos(deg2rad(theta)), - x = theta * cos(deg2rad(phi)), - y = theta * sin(deg2rad(phi))) - chan_info[, c("cart_x", "cart_y", "cart_z")] <- - chan_info[, c("cart_x", "cart_y", "cart_z")] * radius - chan_info -} #' Import Fieldtrip files #' @@ -1062,7 +833,6 @@ import_ft <- function(file_name, } - read_bdf_header <- function(file_name) { file_read <- file(file_name, "rb") @@ -1082,38 +852,95 @@ read_bdf_header <- function(file_name) { n_records <- readChar(file_read, 8) dur_records <- readChar(file_read, 8) n_chan <- as.integer(readChar(file_read, 4)) - chan_labels <- readChar(file_read, n_chan * 16) - chan_labels <- unlist(strsplit(chan_labels, " ")) - chan_labels <- chan_labels[chan_labels != ""] + #chan_labels <- readChar(file_read, n_chan * 16) + chan_labels <- character(n_chan) + for (chan_n in 1:n_chan) { + chan_labels[chan_n] <- readChar(file_read, 16) + } + chan_labels <- gsub(" ", "", chan_labels) + #chan_labels <- unlist(strsplit(chan_labels, " ")) + #chan_labels <- chan_labels[chan_labels != ""] if (length(chan_labels) != n_chan) { stop("Chan_label import went wrong!") } chan_types <- readChar(file_read, n_chan * 80) - chan_types <- unlist(strsplit(chan_types, " ")) - chan_types <- chan_types[chan_types != ""] +# chan_types <- unlist(strsplit(chan_types, " ")) + chan_types <- unlist( + strsplit( + chan_types, + "(?<=.{80})", + perl = TRUE) + ) + chan_types <- gsub(" ", "", chan_types) + #chan_types <- chan_types[chan_types != ""] chan_units <- readChar(file_read, n_chan * 8) - chan_units <- unlist(strsplit(chan_units, " ")) - chan_units <- chan_units[chan_units != ""] - + chan_units <- unlist( + strsplit( + chan_units, + "(?<=.{8})", + perl = TRUE) + ) + #chan_units <- unlist(strsplit(chan_units, " ")) + #chan_units <- chan_units[chan_units != ""] + chan_units <- gsub(" ", "", chan_units) phys_mins <- readChar(file_read, n_chan * 8) - phys_mins <- as.integer(unlist(strsplit(phys_mins, " "))) + phys_mins <- as.integer( + unlist( + strsplit(phys_mins, + "(?<=.{8})", + perl = TRUE) + ) + ) phys_max <- readChar(file_read, n_chan * 8) - phys_max <- as.integer(unlist(strsplit(phys_max, " "))) + #phys_max <- as.integer(unlist(strsplit(phys_max, " "))) + phys_max <- as.integer( + unlist( + strsplit( + phys_max, + "(?<=.{8})", + perl = TRUE) + ) + ) dig_mins <- readChar(file_read, n_chan * 8) - dig_mins <- unlist(strsplit(gsub("-", " -", dig_mins), " ")) - dig_mins <- as.integer(dig_mins) + dig_mins <- as.integer( + unlist( + strsplit( + dig_mins, + "(?<=.{8})", + perl = TRUE + ) + ) + ) + #dig_mins <- unlist(strsplit(gsub("-", " -", dig_mins), " ")) + #dig_mins <- as.integer(dig_mins) dig_mins <- dig_mins[!is.na(dig_mins)] dig_max <- readChar(file_read, n_chan * 8) - dig_max <- as.integer(unlist(strsplit(gsub("-", " -", dig_max), " "))) + #dig_max <- as.integer(unlist(strsplit(gsub("-", " -", dig_max), " "))) + dig_max <- as.integer( + unlist( + strsplit( + dig_max, + "(?<=.{8})", + perl = TRUE + ) + ) + ) prefilt <- readChar(file_read, n_chan * 80) - prefilt <- remove_empties(prefilt, " ") + prefilt <- unlist( + strsplit( + prefilt, + "(?<=.{80})", + perl = TRUE + ) + ) + prefilt <- gsub(" ", "", prefilt) n_samp_rec <- readChar(file_read, n_chan * 8) # sampling rate n_samp_rec <- remove_empties(n_samp_rec) @@ -1151,7 +978,8 @@ read_bdf_data <- function(file_name, headers) { #skip headers start_pos <- (headers$n_chans + 1) * 256 pos <- seek(sig_file, - start_pos) + start_pos, + rw = "read") bytes_per_rec <- headers$samp_bits / 8 n_chans <- headers$n_chans @@ -1221,7 +1049,8 @@ read_bdf_data <- function(file_name, headers) { sig_out <- sig_out - bitwShiftL(bitwShiftR(sig_out, 23), 24) - sig_out[, 1:(n_chans - 1)] <- sig_out[, 1:(n_chans - 1)] * gains[1] + offsets[1] + sig_out <- sweep(sig_out, 2, gains, "*") + sig_out <- sweep(sig_out, 2, offsets, "+") close(sig_file) sig_out } diff --git a/R/filtering.R b/R/filtering.R index 093561b2..4c6ee708 100644 --- a/R/filtering.R +++ b/R/filtering.R @@ -16,7 +16,7 @@ #' channel means or by-channel epoch means. #' #' The function allows parallelization using the `future` package, e.g. using -#' `plan(multiprocess)` +#' `plan(multisession)` #' #' @section FIR versus IIR filtering: Finite Impulse Response (FIR) filtering is #' performed using an overlap-add FFT method. Note that this only performs a @@ -45,7 +45,9 @@ eeg_filter <- function(data, ...) { #' @param low_freq Low cutoff frequency. #' @param high_freq High cutoff frequency. -#' @param filter_order Defaults to "auto", which automatically estimates filter order for the specified filter characteristics (defaults to 4 if method = "iir"). +#' @param filter_order Defaults to "auto", which automatically estimates filter +#' order for the specified filter characteristics (defaults to 4 if method = +#' "iir"). #' @param trans_bw Transition bandwidth of the filter. "auto" or an integer. #' "auto" attempts to determine a suitable transition bandwidth using the #' heuristic given below. Ignored if method = "iir". @@ -53,7 +55,8 @@ eeg_filter <- function(data, ...) { #' Response). Defaults to "fir". #' @param window Windowing function to use (FIR filtering only). Defaults to #' "hamming"; currently only "hamming" available. -#' @param demean Remove DC component (i.e. channel/epoch mean) before filtering. Defaults to TRUE. +#' @param demean Remove DC component (i.e. channel/epoch mean) before filtering. +#' Defaults to TRUE. #' @rdname eeg_filter #' @export eeg_filter.eeg_data <- function(data, @@ -113,11 +116,11 @@ eeg_filter.eeg_data <- function(data, if (identical(method, "iir")) { data <- run_iir_n(data, - filt_coef) + filt_coef) } else { data <- run_fir(data, - filt_coef, - filter_order) + filt_coef, + filter_order) } data$signals <- tibble::as_tibble(data$signals) data @@ -178,15 +181,15 @@ eeg_filter.eeg_epochs <- function(data, window) if (demean) { - data <- rm_baseline(data) # remove DC component + data <- rm_baseline(data) # remove DC component } if (identical(method, "iir")) { - data <- run_iir_n(data, - filt_coef) + data <- run_iir_n(data, + filt_coef) } else { data <- run_fir(data, - filt_coef, - filter_order) + filt_coef, + filter_order) } data$signals <- tibble::as_tibble(data$signals) data @@ -221,30 +224,28 @@ run_fir <- function(data, filt_coef, filter_order) { - fft_length <- length(filt_coef) * 2 - 1 - fft_length <- stats::nextn(fft_length) #length(filt_coef) * 2 - 1 - sig_length <- nrow(data$signals) - # pad the signals with zeros to help with edge effects - pad_zeros <- stats::nextn(sig_length + fft_length - 1) - sig_length - pad_zeros <- 2 * round(pad_zeros / 2) - data$signals <- purrr::map_df(data$signals, - ~pad(., - pad_zeros)) - data$signals <- future.apply::future_lapply(data$signals, - signal::fftfilt, - b = filt_coef, - n = fft_length) - - - # fftfilt filters once and thus shifts everything in time by the group delay - # of the filter (half the filter order). Here we correct for both the - # padding and the group delay - data$signals <- purrr::map_df(data$signals, - ~fix_grpdelay(., - pad_zeros, - filter_order / 2)) - data$signals <- tibble::as_tibble(data$signals) - data + fft_length <- length(filt_coef) * 2 - 1 + fft_length <- stats::nextn(fft_length) + sig_length <- nrow(data$signals) + # pad the signals with zeros to help with edge effects + pad_zeros <- stats::nextn(sig_length + fft_length - 1) - sig_length + pad_zeros <- 2 * round(pad_zeros / 2) + data$signals <- purrr::map_df(data$signals, + ~pad(., + pad_zeros)) + data$signals <- future.apply::future_lapply(data$signals, + signal::fftfilt, + b = filt_coef, + n = fft_length) + # fftfilt filters once and thus shifts everything in time by the group delay + # of the filter (half the filter order). Here we correct for both the + # padding and the group delay + data$signals <- purrr::map_df(data$signals, + ~fix_grpdelay(., + pad_zeros, + filter_order / 2)) + data$signals <- tibble::as_tibble(data$signals) + data } run_iir_n <- function(data, @@ -275,11 +276,11 @@ parse_filt_freqs <- function(low_freq, srate, method) { - if (length(low_freq) > 1 | length(high_freq) > 1) { + if (length(low_freq) > 1 || length(high_freq) > 1) { stop("Only one number should be passed to low_freq or high_freq.") } - if (is.null(low_freq) & is.null(high_freq)) { + if (is.null(low_freq) && is.null(high_freq)) { stop("At least one frequency must be specified.") } @@ -370,7 +371,7 @@ est_filt_order <- function(window, if (identical(window, "hamming")) { filt_ord <- 3.3 * srate - } else{ + } else { stop("Only hamming windows currently implemented.") } @@ -405,12 +406,11 @@ filter_coefs <- function(method, filter_order) coefs <- list() - for (i in 1:length(filt_pars$W)) { + for (i in seq_along(filt_pars$W)) { coefs[[i]] <- filt_kernel(filter_order, filt_pars$W[[i]], win) - if (identical(filt_pars$filt_type, - "high")) { + if (identical(filt_pars$filt_type, "high")) { coefs[[i]] <- spec_inv(coefs[[i]]) } if (i == 2) { @@ -517,10 +517,9 @@ gauss_filter <- function(data, x <- hz - freq fx <- exp(-.5 * (x / s)^2) fx <- fx / max(fx) - filt_sig <- apply(data, 2, function(x) { - 2 * Re(stats::fft(stats::fft(x) / srate * fx, - inverse = TRUE))}) + filt_sig <- apply(data, 2, + function(x) { + 2 * Re(stats::fft(stats::fft(x) / srate * fx, + inverse = TRUE))}) as.data.frame(filt_sig) } - - diff --git a/R/frequency_analysis.R b/R/frequency_analysis.R index b725ed8c..45964f27 100644 --- a/R/frequency_analysis.R +++ b/R/frequency_analysis.R @@ -1,9 +1,9 @@ #' Compute power spectral density #' #' `compute_psd` returns the PSD calculated using Welch's method for every -#' channel in the data. The output is in microvolts ^2 / Hz. If the object has -#' multiple epochs, it will perform Welch's FFT separately for each epoch and -#' then average them afterwards. +#' channel in the data. The output is in microvolts-squared divided by Hertz - +#' \eqn{\muV^2 / Hz}. If the object has multiple epochs, it will perform Welch's +#' FFT separately for each epoch and then average them afterwards. #' #' Welch's FFT splits the data into multiple segments, calculates the FFT #' separately for each segment, and then averages over segments. Each segment is @@ -11,11 +11,10 @@ #' Welch's FFT is calculated separately for each trial. #' #' The number of sampling points used for the FFT can be specified using n_fft. -#' n_fft defaults to 256 sampling points for `eeg_epochs` data, or the -#' minimum of 2048 or the length of the signal for continuous `eeg_data`. +#' n_fft defaults to 256 sampling points for `eeg_epochs` data, or the minimum +#' of 2048 or the length of the signal for continuous `eeg_data`. #' -#' `seg_length` defaults to be `n_fft`, and must be less than or equal -#' to it. +#' `seg_length` defaults to be `n_fft`, and must be less than or equal to it. #' #' `noverlap` specifies the amount of overlap between windows in sampling #' points. If NULL, it defaults to 50\% overlap between segments. @@ -155,7 +154,7 @@ compute_psd.eeg_epochs <- function(data, "Computing Power Spectral Density using Welch's method.\n", "FFT length: ", n_fft, "\n", "Segment length: ", seg_length, "\n", - "Overlapping points: ", noverlap, " (", noverlap / seg_length * 100, "% overlap)" + "Overlapping points: ", noverlap, " (", round(noverlap / seg_length * 100, 2), "% overlap)" ) ) } @@ -215,9 +214,10 @@ compute_psd.eeg_group <- function(data, stop("Cannot compute psd for `eeg_group` objects.") } -#' Welch fft +#' Welch FFT #' -#' Internal function for calculating the PSD using Welch's method +#' Internal function for calculating the PSD using Welch's method. Hardcoded to +#' use Hamming window. #' #' @param data Object to perform FFT on. #' @param seg_length length of each segment of data. @@ -254,7 +254,6 @@ welch_fft <- function(data, data_segs <- lapply(data_segs, function(x) lapply(x, function(y) y * win)) - data_fft <- lapply(data_segs, function(x) lapply(x, fft_n, n = n_fft)) @@ -275,16 +274,11 @@ welch_fft <- function(data, data_segs <- as.matrix(data) n_segs <- 1 - data_segs <- sweep(data_segs, - 1, - win, "*") + data_segs <- sweep(data_segs, 1, win, "*") - data_fft <- fft_n(data_segs, - n_fft) + data_fft <- fft_n(data_segs, n_fft) colnames(data_fft) <- colnames(data_segs) - final_out <- apply(data_fft, - 2, - function(x) abs(x * Conj(x)) / U) + final_out <- abs(data_fft * Conj(data_fft)) / U # Normalize by sampling rate if (is.null(srate)) { @@ -338,5 +332,4 @@ split_vec <- function(vec, segs <- lapply(segs, function(x) x - mean(x)) } segs - } diff --git a/R/frequency_plotting.R b/R/frequency_plotting.R index 36210b06..6e6857f6 100644 --- a/R/frequency_plotting.R +++ b/R/frequency_plotting.R @@ -177,7 +177,7 @@ create_psd_plot <- function(psd_out, chan_names) { if (!is.null(freq_range)) { - if (length(freq_range) < 2 | length(freq_range) > 2) { + if (length(freq_range) < 2 || length(freq_range) > 2) { message("freq_range must be a vector of length 2. Displaying all frequencies.") } else { rows <- psd_out$frequency >= freq_range[[1]] & @@ -196,7 +196,7 @@ create_psd_plot <- function(psd_out, y = 10 * log10(power), colour = electrode)) + stat_summary(geom = "line", - fun = mean) +# geom_line() + + fun = mean) + theme_bw() + ylab(expression(paste(mu, V^2, "/ Hz(dB)"))) + xlab("Frequency (Hz)") + @@ -205,13 +205,13 @@ create_psd_plot <- function(psd_out, #' Time-frequency plot #' -#' Creates a time-frequency plot of an `eeg_tfr` object. The plot has time -#' on the x-axis and frequency on the y-axis. If no electrode is supplied, it -#' will average over all electrodes. +#' Creates a time-frequency plot of an `eeg_tfr` object. The plot has time on +#' the x-axis and frequency on the y-axis. If no electrode is supplied, it will +#' average over all electrodes. #' #' Various different baseline options can be applied here (e.g. "db" for -#' decibels, "pc" for percent change, "divide" for division; see -#' `rm_baseline` for details). +#' decibels, "pc" for percent change, "divide" for division; see `rm_baseline` +#' for details). #' #' @param data Object of class `eeg_tfr` #' @param electrode Electrode to plot. If none is supplied, averages over all @@ -219,17 +219,19 @@ create_psd_plot <- function(psd_out, #' @param time_lim Time limits of plot. #' @param freq_range Vector of two numbers. (e.g. c(8, 40)). #' @param baseline Baseline period -#' @param baseline_type baseline correction to apply. Defaults to "none". +#' @param baseline_type baseline correction to apply. Defaults to `none`. #' @param fill_lims Custom colour scale (i.e. range of power). e.g. c(-5, 5). #' @param interpolate Interpolation of raster for smoother plotting. #' @param na.rm Remove NA values silently (TRUE) or with a warning (FALSE). #' Defaults to TRUE. #' @param fun.data Statistical function to use for averaging over -#' electrodes/conditions. Defaults to `mean`. +#' electrodes/conditions. Defaults to `mean`. Alternatively, supply +#' `weighted.mean`, which will attempt to weight separate conditions +#' appropriately. #' @author Matt Craddock \email{matt@@mattcraddock.com} #' @importFrom purrr partial #' @import ggplot2 -#' @return A `ggplot` +#' @return A `ggplot` object #' @seealso [rm_baseline()] #' @export @@ -244,7 +246,7 @@ plot_tfr <- function(data, na.rm = TRUE, fun.data = mean) { - if (!inherits(data,"eeg_tfr")) { + if (!inherits(data, "eeg_tfr")) { stop("Object of class eeg_tfr required.") } @@ -275,13 +277,11 @@ plot_tfr <- function(data, type = baseline_type) } - if (!inherits(data, c("tfr_average", "eeg_group"))) { data <- eeg_average(data) } - fill_lab <- switch(data$freq_info$baseline, "none" = "Power (a.u.)", @@ -295,7 +295,7 @@ plot_tfr <- function(data, if (is.null(fill_lims)) { if (identical(data$freq_info$baseline, "none")) { fill_lims <- c(0, NA) - } else{ + } else { fill_lims <- c(NA, NA) } } @@ -325,9 +325,10 @@ plot_tfr <- function(data, aes(x = time, y = frequency, fill = power)) + - stat_summary_by_fill(fun.data = mean, + stat_summary_by_fill(fun.data = fun.data, na.rm = na.rm, - interpolate = interpolate) + + interpolate = interpolate, + aes(weight = weight)) + labs(x = "Time (s)", y = "Frequency (Hz)", fill = fill_lab) + diff --git a/R/get_scalpmap.R b/R/get_scalpmap.R index 379132d4..2095b310 100644 --- a/R/get_scalpmap.R +++ b/R/get_scalpmap.R @@ -180,7 +180,7 @@ calc_map <- function(data, interp_limit, quantity, facets, - r){ + r) { tmp <- as.data.frame(data) diff --git a/R/ggplot2-extensions.R b/R/ggplot2-extensions.R index e5147575..cb6fd6fd 100644 --- a/R/ggplot2-extensions.R +++ b/R/ggplot2-extensions.R @@ -105,6 +105,7 @@ StatScalpmap <- required_aes = c("x", "y", "fill"), + dropped_aes = c("z", "label"), compute_group = function(data, scales, grid_res, @@ -120,12 +121,8 @@ StatScalpmap <- FUN = mean) if (is.null(r)) { - #max_elec <- calc_max_elec(data) r <- update_r(interp_limit = interp_limit, data = data) - # r <- switch(interp_limit, - # "head" = max_elec, - # "skirt" = 95) } if (identical(method, "biharmonic")) { @@ -205,7 +202,7 @@ geom_topo <- function(mapping = NULL, position = PositionIdentity, inherit.aes = inherit.aes, params = list(na.rm = na.rm, - size = head_size, + linewidth = head_size, r = r, interp_limit = interp_limit) ), @@ -219,7 +216,7 @@ geom_topo <- function(mapping = NULL, params = list(na.rm = na.rm, curvature = -.5, angle = 60, - size = head_size, + linewidth = head_size, r = r, interp_limit = interp_limit) ), @@ -233,7 +230,7 @@ geom_topo <- function(mapping = NULL, params = list(na.rm = na.rm, curvature = .5, angle = 120, - size = head_size, + linewidth = head_size, r = r, interp_limit = interp_limit) ), @@ -343,6 +340,7 @@ geom_head <- function(mapping = NULL, StatHead <- ggplot2::ggproto("StatHead", Stat, + dropped_aes = c("fill", "z", "label"), compute_group = function(data, scales, interp_limit, @@ -368,7 +366,8 @@ GeomHead <- ggplot2::ggproto("GeomHead", #' #' @inheritParams ggplot2::geom_path #' @param colour For `geom_mask`, colour of the masking ring. -#' @param size For `geom_mask`, width of the masking ring. +#' @param size For `geom_mask`, width of the masking ring. Deprecated. +#' @param linewidth For `geom_mask`, width of the masking ring. #' @rdname stat_scalpmap #' @family topoplot functions #' @export @@ -378,6 +377,7 @@ geom_mask <- function(mapping = NULL, na.rm = FALSE, colour = "white", size = rel(5), + linewidth = rel(5), r = 95, interp_limit = "skirt", ...) { @@ -391,7 +391,7 @@ geom_mask <- function(mapping = NULL, inherit.aes = TRUE, params = list(na.rm = na.rm, colour = colour, - size = size, + linewidth = size, r = r, interp_limit = interp_limit, ...)) @@ -400,6 +400,7 @@ geom_mask <- function(mapping = NULL, StatMask <- ggplot2::ggproto("StatMask", Stat, + dropped_aes = c("fill", "z", "label"), compute_group = function(data, scales, interp_limit, @@ -412,9 +413,7 @@ StatMask <- if (scale_fac < r) scale_fac <- r if (identical(interp_limit, "head")) { - scale_fac <- max_elec + 1.02#* 1.02 - #min(max_elec * 1.10, max_elec + 15) - # max(scale_fac + 5, scale_fac * 1.05) + scale_fac <- max_elec + 1.02 } data <- data.frame(x = scale_fac * cos(circ_rad_fun()), @@ -439,18 +438,19 @@ geom_ears <- function(mapping = NULL, ...) { list( - ggplot2::layer(data = data, - mapping = mapping, - stat = StatREar, - geom = GeomEars, - position = PositionIdentity, - show.legend = show.legend, - inherit.aes = TRUE, - params = list(na.rm = na.rm, - curvature = -.5, - angle = 60, - r = r, - ...)), + ggplot2::layer( + data = data, + mapping = mapping, + stat = StatREar, + geom = GeomEars, + position = PositionIdentity, + show.legend = show.legend, + inherit.aes = TRUE, + params = list(na.rm = na.rm, + curvature = -.5, + angle = 60, + r = r, + ...)), ggplot2::layer(data = data, mapping = mapping, stat = StatLEar, @@ -473,6 +473,7 @@ GeomEars <- ggplot2::ggproto("GeomEars", StatREar <- ggplot2::ggproto("StatREar", Stat, + dropped_aes = c("fill", "z", "label"), compute_group = function(data, scales, interp_limit, @@ -489,6 +490,7 @@ StatREar <- ggplot2::ggproto("StatREar", StatLEar <- ggplot2::ggproto("StatLEar", Stat, + dropped_aes = c("fill", "z", "label"), compute_group = function(data, scales, interp_limit, @@ -556,6 +558,7 @@ StatChannels <- ggplot2::ggproto("StatChannels", Stat, required_aes = c("x", "y"), + dropped_aes = c("fill", "z", "label"), compute_group = function(data, scales) { if ("label" %in% names(data)) { @@ -629,20 +632,32 @@ StatSummaryByFill <- ggplot2::ggproto("StatSummaryByFill", Stat, required_aes = c("x", "y", "fill"), + optional_aes = "weight", + dropped_aes = c("z", "label", "weight"), compute_group = function(data, scales, fun.data = NULL, na.rm = FALSE, params, layout) { - summary <- - aggregate(fill ~ x + y, - data = data, - FUN = fun.data, - na.rm = na.rm, - na.action = na.pass) - summary + + if (identical(fun.data, weighted.mean)) { + data$fill <- data$fill * data$weight + fill_summary <- aggregate(fill ~ x + y, + data = data, + FUN = sum) + weight_summary <- aggregate(weight ~ x + y, + data = data, + FUN = sum) + fill_summary$fill <- fill_summary$fill / weight_summary$weight + } else { + fill_summary <- + aggregate(fill ~ x + y, + data = data, + FUN = fun.data, + na.rm = na.rm, + na.action = na.pass) + } + fill_summary } ) - - diff --git a/R/glm_fitting.R b/R/glm_fitting.R index f4c62e0a..e372df3c 100644 --- a/R/glm_fitting.R +++ b/R/glm_fitting.R @@ -18,8 +18,9 @@ #' regression formula for a GLM. See ?formula and notes on use below #' @param data An `eegUtils` object. #' @param ... Any other arguments passed to (LM/GLM) -#' @importFrom tibble as_tibble -#' @importFrom dplyr mutate +#' @examples +#' fit_glm(~epoch_labels, demo_spatial) +#' fit_glm(~epoch_labels + baseline, demo_spatial, baseline = c(-.1, 0)) #' @export fit_glm <- function(formula, @@ -35,13 +36,13 @@ fit_glm.default <- function(formula, stop(paste("Objects of class", class(data), "not currently supported")) } -#' @param time_lim Numeric vector of length 2 specifying time period to be used +#' @param baseline Numeric vector of length 2 specifying time period to be used #' as a baseline. #' @describeIn fit_glm GLM fitting for `eeg_epochs` #' @export fit_glm.eeg_epochs <- function(formula, data, - time_lim = NULL, + baseline = NULL, ...) { n_chans <- ncol(data$signals) @@ -64,20 +65,16 @@ fit_glm.eeg_epochs <- function(formula, ) n_times <- length(split_data) - mod_terms <- all.vars(formula) if ("baseline" %in% mod_terms) { - - if (is.null(time_lim)) { - stop("time_lim must be specified if using baseline fitting") + if (is.null(baseline)) { + stop("`baseline` must be specified if using baseline fitting.") } - base_times <- get_epoch_baselines( data, - time_lim + baseline ) - # basic design matrix with dummy baseline column design_mat <- stats::model.matrix( formula, @@ -85,7 +82,6 @@ fit_glm.eeg_epochs <- function(formula, baseline = base_times[, 1] ) ) - # create one design matrix for each channel with the appropriate baseline # for each epoch mod_mats <- lapply( @@ -99,7 +95,6 @@ fit_glm.eeg_epochs <- function(formula, ) } ) - n_preds <- ncol(mod_mats[[1]]) # invert design matrices using qr/cholesky (unscaled cov matrix) @@ -139,8 +134,6 @@ fit_glm.eeg_epochs <- function(formula, resid_df <- n_epochs - n_preds - - # Outer loop through timepoints, inner loop through channels # Try other way to see if any faster for (timepoint in (seq_along(split_data))) { @@ -283,7 +276,8 @@ fit_glm.eeg_epochs <- function(formula, "epochs" = epochs, "r_sq" = r_sq, "timings" = timings, - "formula" = formula + "formula" = formula, + "version" = utils::packageVersion("eegUtils") ) } @@ -344,4 +338,3 @@ rob_se <- function(mdf, inverted_dm)) sqrt(out_se) } - diff --git a/R/import_erplab.R b/R/import_erplab.R index 267324d1..f98363c9 100644 --- a/R/import_erplab.R +++ b/R/import_erplab.R @@ -38,18 +38,18 @@ import_erplab <- function(file_name, } temp_dat <- R.matlab::readMat(file_name) - times_data <- unlist(temp_dat$ERP["times", ,]) + times_data <- unlist(temp_dat$ERP["times", , ]) n_times <- length(times_data) - n_bins <- unlist(temp_dat$ERP["nbin", ,]) - n_chans <- unlist(temp_dat$ERP["nchan", ,]) - signals <- unlist(temp_dat$ERP["bindata", ,1]) + n_bins <- unlist(temp_dat$ERP["nbin", , ]) + n_chans <- unlist(temp_dat$ERP["nchan", , ]) + signals <- unlist(temp_dat$ERP["bindata", , 1]) signals <- array(signals, dim = c(n_chans, n_times * n_bins)) signals <- t(signals) - chan_info <- drop(Reduce(rbind, temp_dat$ERP["chanlocs",,])) + chan_info <- drop(Reduce(rbind, temp_dat$ERP["chanlocs", , ])) chan_info <- apply(chan_info, 1, unlist) chan_info <- lapply(chan_info, function(x) if (length(x) == 0) NA else x) @@ -66,7 +66,7 @@ import_erplab <- function(file_name, tibble::new_tibble(list(epoch = 1:n_bins, participant_id = rep(participant_id, n_bins), recording = rep(recording, n_bins), - epoch_labels = unlist(temp_dat$ERP["bindescr", ,])), + epoch_labels = unlist(temp_dat$ERP["bindescr", , ])), nrow = n_bins, class = "epoch_info") if (df_out) { diff --git a/R/parse_hdf5.R b/R/parse_hdf5.R index d694d3e4..6de0c768 100644 --- a/R/parse_hdf5.R +++ b/R/parse_hdf5.R @@ -6,7 +6,7 @@ parse_locshdf5 <- function(eeglab_chans) { file_struct <- lapply(fields, function(x) { - chan_locs[[x]][1,]$dereference() + chan_locs[[x]][1, ]$dereference() }) names(file_struct) <- fields @@ -172,7 +172,7 @@ read_hdf5_set <- function(x, "type", "epoch") - if (drop_custom & any(!colnames(event_table) %in% std_cols)) { + if (drop_custom && any(!colnames(event_table) %in% std_cols)) { message("Dropping custom columns...") event_table <- event_table[, std_cols] } diff --git a/R/plot_butterfly.R b/R/plot_butterfly.R index 1b7b4207..02300279 100644 --- a/R/plot_butterfly.R +++ b/R/plot_butterfly.R @@ -11,17 +11,19 @@ #' made when not all categorical variables are reflected in the facets. e.g. #' if there are two variables with two levels each, but you want to average #' over one of those variables, `stat_summary()` is required. However, -#' `stat_summary()` is extremely slow. +#' `stat_summary()` can be extremely slow with a large number of timepoints, +#' electrodes, and epochs. #' #' @author Matt Craddock, \email{matt@@mattcraddock.com} #' @param data EEG dataset. Should have multiple timepoints. -#' @param ... Other parameters passed to plot_butterfly +#' @param ... Other parameters passed to `plot_butterfly` #' @examples #' plot_butterfly(demo_epochs) #' plot_butterfly(demo_epochs, #' time_lim = c(-.1, .4), #' legend = FALSE) -#' @return A ggplot object +#' @return ggplot2 object showing ERPs for all electrodes overlaid on a single +#' plot. #' @export plot_butterfly <- function(data, ...) { @@ -32,15 +34,12 @@ plot_butterfly <- function(data, ...) { #' specifying beginning and end of time-range to plot. e.g. c(-.1,.3) #' @param baseline Character vector. Times to use as a baseline. Takes the mean #' over the specified period and subtracts. e.g. c(-.1, 0) -#' @param colourmap Attempt to plot using a different colourmap (from -#' RColorBrewer). (Not yet implemented) #' @param legend Include plot legend. Defaults to TRUE. #' @param allow_facets Allow use of ggplot2 facetting. See note below. Defaults #' to FALSE. #' @param continuous Is the data continuous or not (I.e. epoched) -#' @param browse_mode Custom theme for use with browse_data. -#' @return ggplot2 object showing ERPs for all electrodes overlaid on a single -#' plot. +#' @param browse_mode Applies custom theme used with `browse_data()`. + #' @import ggplot2 #' @importFrom dplyr group_by ungroup summarise #' @importFrom tidyr gather @@ -51,7 +50,6 @@ plot_butterfly <- function(data, ...) { plot_butterfly.default <- function(data, time_lim = NULL, baseline = NULL, - colourmap = NULL, legend = TRUE, continuous = FALSE, browse_mode = FALSE, @@ -92,7 +90,6 @@ plot_butterfly.default <- function(data, plot_butterfly.eeg_evoked <- function(data, time_lim = NULL, baseline = NULL, - colourmap = NULL, legend = TRUE, continuous = FALSE, browse_mode = FALSE, @@ -199,16 +196,16 @@ plot_butterfly.eeg_lm <- function(data, ylab <- expression(paste("Amplitude (", mu, "V)")) } else if (identical(quantity, "t_stats")) { quantity <- "statistic" - ylab <- expression(italic("t")~"-statistic") + ylab <- expression(italic("t") ~ "-statistic") } else if (identical(quantity, "std_err")) { ylab <- expression(paste("Std. error (", mu, "V)")) } else if (identical(quantity, "r_sq")) { ylab <- expression(paste(italic("r"), {}^2)) } - if (is.character(quantity)) { - quantity <- as.name(quantity) - } + if (is.character(quantity)) { + quantity <- as.name(quantity) + } create_bf(data, legend = legend, @@ -272,8 +269,6 @@ create_bf <- function(data, data <- dplyr::summarise_at(data, vars({{quantity}}), mean) - # data <- dplyr::summarise(data, - # !!quo_name(quantity) := mean({{quantity}})) data$epoch <- 1 } @@ -303,35 +298,37 @@ create_bf <- function(data, butterfly_plot + geom_line(colour = "black", aes(group = electrode), - alpha = 0.2) + + alpha = 0.4) + labs(x = "Time (s)", y = ylab, colour = "") + geom_hline(yintercept = 0, - size = 0.5, + linewidth = 0.5, linetype = "dashed", alpha = 0.5) + scale_x_continuous(expand = c(0, 0)) + theme_minimal(base_size = 12) + theme(panel.grid = element_blank(), - axis.ticks = element_line(size = .5)) + axis.ticks = element_line(linewidth = .5)) } else { butterfly_plot <- butterfly_plot + chan_lines() + labs(x = "Time (s)", - y = ylab,#expression(paste("Amplitude (", mu, "V)")), + y = ylab, colour = "") + - geom_hline(yintercept = 0, size = 0.5) + + geom_hline(yintercept = 0, + linewidth = 0.5) + scale_x_continuous(expand = c(0, 0)) + theme_minimal(base_size = 12) + theme(panel.grid = element_blank(), - axis.ticks = element_line(size = .5)) + axis.ticks = element_line(linewidth = .5)) if (!continuous) { butterfly_plot <- butterfly_plot + - geom_vline(xintercept = 0, size = 0.5) + geom_vline(xintercept = 0, + linewidth = 0.5) } } diff --git a/R/plot_difference.R b/R/plot_difference.R index c87045c2..caab3152 100644 --- a/R/plot_difference.R +++ b/R/plot_difference.R @@ -52,7 +52,10 @@ plot_difference.eeg_epochs <- time_lim = time_lim, electrode = electrode, baseline = baseline, - add_CI = FALSE + add_CI = FALSE, + mapping = mapping, + facets = conditions, + colour = NULL ) cond_levels <- unique(data[[conditions]]) @@ -63,7 +66,7 @@ plot_difference.eeg_epochs <- id_cols = c(participant_id, time, electrode), - names_from = conditions, + names_from = tidyr::all_of(conditions), values_from = amplitude, values_fn = mean ) diff --git a/R/plot_gfp.R b/R/plot_gfp.R new file mode 100644 index 00000000..8c3819ca --- /dev/null +++ b/R/plot_gfp.R @@ -0,0 +1,73 @@ +#' Plot Global Field Power of EEG Signals +#' +#' Global Field Power (Lehmann & Skrandies, 1980) is a way to quantify the +#' amount of activity in the overall electroencephalographic signal at a given +#' timepoint. It corresponds to the spatial standard deviation. +#' +#' @param data An `eeg_epochs` object +#' @param cols Condition columns from the `epochs` metadata to calculate GFP +#' separately for different conditions. +#' @param keep_trials Calculate GFP for each epoch separately, then average over +#' epochs. +#' @author Matt Craddock \email{matt@@mattcraddock.com} +#' @export +#' @examples +#' plot_gfp(demo_spatial) +#' plot_gfp(demo_spatial, keep_trials = TRUE) +#' plot_gfp(demo_spatial, cols = "epoch_labels") +#' plot_gfp(demo_spatial, cols = "epoch_labels", keep_trials = TRUE) +plot_gfp <- function(data, + cols = NULL, + keep_trials = FALSE) { + UseMethod("plot_gfp", data) +} + +#' @export +plot_gfp.default <- function(data, + cols = NULL, + keep_trials = FALSE) { + message("Only `eeg_epochs` objects are supported.") +} + +#' @export +plot_gfp.eeg_epochs <- function(data, + cols = NULL, + keep_trials = FALSE) { + + if (keep_trials) { + df <- as.data.frame(data) + } else { + if (is.null(cols)) { + df <- eeg_average(data, + cols = "participant_id") + } else { + df <- eeg_average(data, + cols = c("participant_id", cols) + ) + } + df <- as.data.frame(df) + } + + chan_names <- channel_names(data) + + gfp <- cbind( + df[, c("time", cols), drop = FALSE], + gfp = matrixStats::rowSds(as.matrix(df[, chan_names])) + ) + + if (is.character(cols)) { + cols <- rlang::sym(cols) + } + ggplot2::ggplot(gfp, + ggplot2::aes(x = time, + y = gfp, + colour = {{cols}})) + + ggplot2::stat_summary(geom = "line", + fun.data = mean_se) + + ggplot2::theme_minimal() + + ggplot2::geom_vline(xintercept = 0) + + ggplot2::geom_hline(yintercept = 0) + + ggplot2::labs(y = "Global field power (microvolts)", + x = "Time (s)") + + ggplot2::coord_cartesian(expand = FALSE) +} diff --git a/R/plot_timecourse.R b/R/plot_timecourse.R index 44fe3e9e..45de333b 100644 --- a/R/plot_timecourse.R +++ b/R/plot_timecourse.R @@ -1,20 +1,25 @@ -#'Plot 1-D timecourse data. +#'Plot one-dimensional timecourse data. #' #'Typically event-related potentials/fields, but could also be timecourses from #'frequency analyses for single frequencies. Averages over all submitted -#'electrodes. Output is a ggplot2 object. +#'electrodes. For group data, `plot_timecourse` will average within-participants +#'first, using weighted averaging where possible, then across participants using +#'unweighted averaging. Output is a `ggplot2` object. #' -#' @author Matt Craddock, \email{matt@@mattcraddock.com} +#'@author Matt Craddock, \email{matt@@mattcraddock.com} #' #' @examples +#' library(ggplot2) #' plot_timecourse(demo_epochs, "A29") -#' plot_timecourse(demo_epochs, "A29", add_CI = TRUE) -#' @param data EEG dataset. Should have multiple timepoints. -#' @param ... Other arguments passed to methods. -#' @importFrom dplyr summarise group_by ungroup -#' @import ggplot2 -#' @return Returns a ggplot2 plot object -#' @export +#' plot_timecourse(demo_epochs, "A29", baseline = c(-.1, 0)) +#' plot_timecourse(demo_epochs, "A29", baseline = c(-.1, 0), add_CI = TRUE) +#' plot_timecourse(demo_spatial, "Oz", baseline = c(-.1, 0), mapping = aes(colour = epoch_labels)) +#' plot_timecourse(demo_spatial, "Oz", baseline = c(-.1, 0), facets = ~epoch_labels) +#'@param data EEG dataset. Should have multiple timepoints. +#'@param ... Other arguments passed to methods. +#'@import ggplot2 +#'@return Returns a ggplot2 plot object +#'@export plot_timecourse <- function(data, ...) { UseMethod("plot_timecourse", data) @@ -37,7 +42,9 @@ plot_timecourse.default <- function(data, #'@param colour Variable to colour lines by. If no variable is passed, only one #' line is drawn. #'@param color Alias for colour. -#'@param mapping A ggplot2 `aes()` mapping. +#'@param mapping A `ggplot2` `aes()` mapping. +#'@param facets A right-hand-side only formula specifying which variables should +#' be used to create facets. #'@describeIn plot_timecourse Plot a data.frame timecourse #'@export plot_timecourse.data.frame <- function(data, @@ -48,6 +55,7 @@ plot_timecourse.data.frame <- function(data, colour = NULL, color = NULL, mapping = NULL, + facets = NULL, ...) { if (!is.null(electrode)) { @@ -76,21 +84,23 @@ plot_timecourse.data.frame <- function(data, tc_plot <- create_tc(data, add_CI = FALSE, colour = colour, - mapping = mapping) + mapping = mapping, + facets = facets) tc_plot } #' @describeIn plot_timecourse plot `eeg_evoked` timecourses #' @export plot_timecourse.eeg_evoked <- function(data, - electrode = NULL, - time_lim = NULL, - add_CI = FALSE, - baseline = NULL, - colour = NULL, - color = NULL, - mapping = NULL, - ...) { + electrode = NULL, + time_lim = NULL, + add_CI = FALSE, + baseline = NULL, + colour = NULL, + color = NULL, + mapping = NULL, + facets = NULL, + ...) { if (add_CI) { warning("Cannot add_CI for eeg_evoked objects.") @@ -98,10 +108,13 @@ plot_timecourse.eeg_evoked <- function(data, } data <- parse_for_tc(data, - time_lim, - electrode, - baseline, - add_CI) + time_lim = time_lim, + electrode = electrode, + baseline = baseline, + add_CI = add_CI, + facets = facets, + mapping = mapping, + colour = colour) if (is.null(colour)) { if (!is.null(color)) { @@ -114,23 +127,26 @@ plot_timecourse.eeg_evoked <- function(data, tc_plot <- create_tc(data, add_CI = add_CI, colour = colour, - mapping = mapping) + mapping = mapping, + facets = facets) tc_plot } -#' @describeIn plot_timecourse Plot individual components from `eeg_ICA` components +#' @describeIn plot_timecourse Plot individual components from `eeg_ICA` +#' components #' @param component name or number of ICA component to plot #' @export plot_timecourse.eeg_ICA <- function(data, - component = NULL, - time_lim = NULL, - add_CI = FALSE, - baseline = NULL, - colour = NULL, - color = NULL, - mapping = NULL, - ...) { + component = NULL, + time_lim = NULL, + add_CI = FALSE, + baseline = NULL, + colour = NULL, + color = NULL, + mapping = NULL, + facets = NULL, + ...) { # Select specifed times @@ -171,10 +187,11 @@ plot_timecourse.eeg_ICA <- function(data, tc_plot <- create_tc(data, add_CI = add_CI, colour = colour, - mapping = mapping) + mapping = mapping, + facets = facets) tc_plot - } +} #' @describeIn plot_timecourse Plot timecourses from `eeg_epochs` objects. #' @export @@ -186,13 +203,17 @@ plot_timecourse.eeg_epochs <- function(data, colour = NULL, color = NULL, mapping = NULL, + facets = NULL, ...) { data <- parse_for_tc(data, time_lim = time_lim, electrode = electrode, baseline = baseline, - add_CI = add_CI) + add_CI = add_CI, + facets = facets, + mapping = mapping, + colour = colour) ## check for US spelling of colour... if (is.null(colour)) { @@ -206,7 +227,8 @@ plot_timecourse.eeg_epochs <- function(data, tc_plot <- create_tc(data, add_CI = add_CI, colour = colour, - mapping = mapping) + mapping = mapping, + facets = facets) tc_plot } @@ -221,6 +243,7 @@ plot_timecourse.eeg_group <- function(data, colour = NULL, color = NULL, mapping = NULL, + facets = NULL, ...) { if (inherits(data, @@ -233,13 +256,17 @@ plot_timecourse.eeg_group <- function(data, colour = colour, color = color, mapping = mapping, + facets = facets, ...)) } data <- parse_for_tc(data, - time_lim, - electrode, - baseline, - add_CI) + time_lim = time_lim, + electrode = electrode, + baseline = baseline, + add_CI = add_CI, + facets = facets, + mapping = mapping, + colour = colour) if (is.null(colour)) { if (!is.null(color)) { @@ -252,13 +279,17 @@ plot_timecourse.eeg_group <- function(data, tc_plot <- create_tc(data, add_CI = add_CI, colour = colour, - mapping = mapping) + mapping = mapping, + facets = facets) tc_plot } #' @describeIn plot_timecourse Plot timecourses from `eeg_tfr` objects. -#' @param freq_range Choose a specific frequency range to plot +#' @param freq_range Choose a specific frequency range to plot. If NULL, +#' calculates the mean over all frequencies. Note that this does not imply +#' that there is power at an included frequency. For example, lower +#' frequencies will have shorter timecourses than high frequencies. #' @param type Type of baseline correction to use for `eeg_tfr` objects #' @export plot_timecourse.eeg_tfr <- function(data, @@ -273,9 +304,9 @@ plot_timecourse.eeg_tfr <- function(data, type = "divide", ...) { - if (!is.null(colour) | !is.null(color)) { + if (!is.null(colour) || !is.null(color)) { warning( - "colour argument is kept for compatability, please use the `mapping` argument and supply a `ggplot2` `aes()` mapping" + "colour argument is kept for compatability, please use the `mapping` argument and supply a `ggplot2` `aes()` mapping. the colour parameter will be deprectated in v0.9.0 of eegUtils" ) } @@ -287,12 +318,28 @@ plot_timecourse.eeg_tfr <- function(data, data <- rm_baseline(data, time_lim = baseline, type = type) + yintercept <- + switch(type, + divide = 1, + db = 0, + absolute = 0, + pc = 0, + ratio = 1) + ylabel <- + switch(type, + divide = "Power ratio", + db = "Decibels (dB)", + ratio = "Power ratio", + absolute = "Power (a.u.)", + pc = "Percent change (%)") + } else { + yintercept <- 0 + ylabel <- "Power (a.u.)" } if (!is.null(time_lim)) { - data <- filter(data, - time >= time_lim[[1]], - time <= time_lim[[2]]) + data <- select_times(data, + time_lim) } if (!is.null(electrode)) { @@ -300,47 +347,38 @@ plot_timecourse.eeg_tfr <- function(data, electrode) } + if (!is.null(freq_range)) { + data <- select_freqs(data, + freq_range) + } + data_f <- as.data.frame(data, long = TRUE, coords = FALSE) - yintercept <- - switch(type, - divide = 1, - db = 0, - absolute = 0, - pc = 0, - ratio = 1) - ylabel <- - switch(type, - divide = "Power ratio", - db = "Decibels (dB)", - ratio = "Power ratio", - absolute = "Power (a.u.)", - pc = "Percent change (%)") tc_plot <- ggplot(data_f, aes(x = time, y = power)) + stat_summary(geom = "line", - fun = mean, - na.rm = TRUE) + + fun = mean) + labs(x = "Time (s)", y = ylabel, colour = "", fill = "") + geom_vline(xintercept = 0, - linetype = "solid", size = 0.5) + + linetype = "solid", + linewidth = 0.5) + geom_hline(yintercept = yintercept, linetype = "solid", - size = 0.5) + + linewidth = 0.5) + scale_x_continuous(breaks = scales::pretty_breaks(n = 4), expand = c(0, 0)) + scale_y_continuous(breaks = scales::pretty_breaks(n = 4), expand = c(0, 0)) + theme_minimal(base_size = 12) + theme(panel.grid = element_blank(), - axis.ticks = element_line(size = .5)) + + axis.ticks = element_line(linewidth = .5)) + guides(colour = guide_legend(override.aes = list(alpha = 1))) @@ -362,17 +400,25 @@ plot_timecourse.eeg_tfr <- function(data, #' @param electrode electrodes to be selected #' @param baseline baseline times to be average and subtracted #' @param add_CI Logical for whether CIS are required +#' @param facets A RHS-only formula for use with `ggplot2::facet_wrap` +#' @param colour A character vector indicating which variable to use for colour. +#' @param mapping A `ggplot2` `aes()` call with axis mappings #' @keywords internal parse_for_tc <- function(data, time_lim, electrode, baseline, - add_CI) { + add_CI, + facets, + mapping, + colour) { if (is.eeg_ICA(data) && is.null(electrode)) { stop("Component number must be supplied for ICA.") } + col_names <- NULL + ## Select specified electrodes ----- if (!is.null(electrode)) { data <- select(data, @@ -391,8 +437,28 @@ parse_for_tc <- function(data, time_lim = time_lim) } - if (!is.eeg_stats(data) && !is.eeg_evoked(data) && !add_CI) { - data <- eeg_average(data) + if (!is.null(mapping)) { + col_names <- unname( + vapply(mapping, + rlang::as_label, + character(1)) + ) + } + + if (!is.null(colour)) { + warning( + "colour argument is kept for compatability, please use the `mapping` argument and supply a `ggplot2` `aes()` mapping. the colour parameter will be deprectated in v0.9.0 of eegUtils" + ) + col_names <- c(col_names, colour) + } + + if (is.character(facets)) facets <- stats::reformulate(facets) + + col_names <- c(col_names, all.vars(facets)) + + if (!is.eeg_stats(data) && !add_CI) { + data <- eeg_average(data, + cols = col_names) } data <- as.data.frame(data, @@ -412,7 +478,8 @@ create_tc <- function(data, add_CI, colour, quantity = amplitude, - mapping = NULL) { + mapping = NULL, + facets = NULL) { if (is.null(colour)) { tc_plot <- ggplot2::ggplot(data, @@ -427,6 +494,12 @@ create_tc <- function(data, } if (add_CI) { + if (!requireNamespace("Hmisc", quietly = TRUE)) { + stop( + "Package \"Hmisc\" must be installed to add confidence intervals.", + call. = FALSE + ) + } if (is.null(mapping)) { if (is.null(colour)) { tc_plot <- tc_plot + @@ -437,34 +510,33 @@ create_tc <- function(data, colour = "black", size = 1, alpha = 0.5) - } else { - tc_plot <- tc_plot + - stat_summary(fun.data = mean_cl_normal, - geom = "ribbon", - linetype = "dashed", - aes(colour = !!colour), - fill = NA, - size = 1, - alpha = 0.5) - } } else { - tc_plot <- - tc_plot + + tc_plot <- tc_plot + stat_summary(fun.data = mean_cl_normal, geom = "ribbon", - #linetype = "dashed", - mapping = mapping, + linetype = "dashed", + aes(colour = !!colour), fill = NA, - size = 1, + linewidth = 1, alpha = 0.5) } + } else { + tc_plot <- + tc_plot + + stat_summary(fun.data = mean_cl_normal, + geom = "ribbon", + mapping = mapping, + fill = NA, + linewidth = 1, + alpha = 0.5) + } } tc_plot <- tc_plot + stat_summary(fun = "mean", geom = "line", - size = 1.2) + linewidth = 1.2) if (!is.null(mapping)) { tc_plot <- @@ -472,21 +544,29 @@ create_tc <- function(data, mapping } + if (!is.null(facets)) { + tc_plot <- + tc_plot + + facet_wrap(facets) + } + tc_plot + labs(x = "Time (s)", y = expression(paste("Amplitude (", mu, "V)")), colour = "", fill = "") + geom_vline(xintercept = 0, - linetype = "solid", size = 0.5) + - geom_hline(yintercept = 0, linetype = "solid", size = 0.5) + + linetype = "solid", + linewidth = 0.5) + + geom_hline(yintercept = 0, + linetype = "solid", + linewidth = 0.5) + scale_x_continuous(breaks = scales::pretty_breaks(n = 4), expand = c(0, 0)) + scale_y_continuous(breaks = scales::pretty_breaks(n = 4), expand = c(0, 0)) + theme_minimal(base_size = 12) + theme(panel.grid = element_blank(), - axis.ticks = element_line(size = .5)) + + axis.ticks = element_line(linewidth = .5)) + guides(colour = guide_legend(override.aes = list(alpha = 1))) } - diff --git a/R/print_functions.R b/R/print_functions.R index 92df0814..d77f3eb7 100644 --- a/R/print_functions.R +++ b/R/print_functions.R @@ -93,6 +93,36 @@ print.eeg_tfr <- function(x, invisible(x) } +#' Print `tfr_average` summary +#' +#' Print a basic summary of the contents of a `tfr_average` object +#' +#' @param x `tfr_average` object to be printed +#' @param ... Further arguments passed +#' @export +print.tfr_average <- function(x, + ...) { + elec_names <- dimnames(x$signals)[["electrode"]] + n_chan <- length(elec_names) + if ("epoch" %in% names(x$timings)) { + n_epochs <- length(unique(x$timings$epoch)) + } else { + n_epochs <- "None, averaged." + } + cat("EEG TFR average data\n\n") + cat("Frequency range\t\t:\t", round(x$freq_info$freqs, 2), "\n") + cat("Number of channels\t:\t", n_chan, "\n") + cat("Electrode names\t\t:\t", elec_names, "\n") + cat("Number of epochs\t:\t", n_epochs, "\n") + cat("Epoch limits\t\t:\t", + round(min(unique(x$timings$time)), 3), + "-", + round(max(unique(x$timings$time)), 3), + "seconds\n") + cat("Sampling rate\t\t:\t", x$srate, " Hz\n") + invisible(x) +} + #' Print `eeg_evoked` summary #' #' Print a basic summary of the contents of an `eeg_epochs` object diff --git a/R/run_ICA.R b/R/run_ICA.R index f294d83a..97ad2d23 100644 --- a/R/run_ICA.R +++ b/R/run_ICA.R @@ -26,8 +26,6 @@ #' @param ... Other parameters passed to function. #' @author Matt Craddock \email{matt@@mattcraddock.com} #' @return An `eeg_ICA` object containing an ICA decomposition -#' @importFrom MASS ginv -#' @importFrom Matrix rankMatrix #' @family decompositions #' @examples #' sobi_demo <- @@ -67,6 +65,9 @@ run_ICA.default <- function(data, #' @param rate Learning rate for extended infomax. Ignored if method != #' "infomax". #' @param verbose Print informative messages to console. +#' @param return "full" or "weights". "full" returns the mixing and unmixing +#' matrices and the source timecourses. "weights" returns only the mixing and +#' unmixing matrices. Defaults to "full". #' @describeIn run_ICA Run ICA on an `eeg_epochs` object #' @importFrom stats cov #' @export @@ -81,23 +82,17 @@ run_ICA.eeg_epochs <- function(data, rateanneal = c(60, .9), rate = 0.1, verbose = TRUE, + return = c("full", "weights"), ...) { orig_chans <- channel_names(data) - if (!is.null(pca)) { - message("Reducing data to ", pca, - " dimensions using PCA.") - pca_decomp <- eigen(stats::cov(data$signals))$vectors - data$signals <- - as.data.frame(as.matrix(data$signals) %*% pca_decomp[, 1:pca]) - pca_flag <- TRUE - } else { - pca <- ncol(data$signals) - pca_flag <- FALSE - } + pca_result <- perform_pca(data, pca) + data <- pca_result$data + pca_flag <- pca_result$pca_flag + pca_decomp <- pca_result$pca_decomp - rank_check <- Matrix::rankMatrix(as.matrix(data$signals)) + rank_check <- qr(data$signals)$rank if (rank_check < ncol(data$signals)) { stop(paste( @@ -110,153 +105,13 @@ run_ICA.eeg_epochs <- function(data, stop("Unknown method; available methods are sobi, fastica, infomax, fica, and imax.") } - if (identical(method, "fica")) { - if (!requireNamespace("fICA", quietly = TRUE)) { - stop( - "Package \"fICA\" needed to use the fICA implementation of fastica. Please install it.", - call. = FALSE - ) - } - message("Running fastica (fICA).") - - ICA_out <- fICA::fICA( - as.matrix(data$signals), - eps = tol, - maxiter = maxit, - method = "sym2" - ) - - ICA_out$W <- ICA_out$W[, 1:pca] - mixing_matrix <- MASS::ginv(ICA_out$W, tol = 0) - - if (pca_flag) { - mixing_matrix <- pca_decomp[, 1:pca] %*% mixing_matrix - } - - var_order <- sort(vaf_mix(mixing_matrix), - decreasing = TRUE, - index.return = TRUE)$ix - - mixing_matrix <- mixing_matrix[, var_order] + # Run ICA + ICA_out <- run_ica_method(data, method, maxit, tol, centre, alg, rateanneal, rate, verbose) - unmixing_matrix <- - as.data.frame(MASS::ginv(mixing_matrix, tol = 0)) - mixing_matrix <- as.data.frame(mixing_matrix) + # Process ICA output + processed_output <- process_ica_output(ICA_out, method, pca, pca_flag, pca_decomp, orig_chans) - names(mixing_matrix) <- sprintf("Comp%03d", 1:pca) - mixing_matrix$electrode <- orig_chans - names(unmixing_matrix) <- orig_chans - unmixing_matrix$Component <- sprintf("Comp%03d", 1:pca) - - ICA_out$S <- ICA_out$S[, var_order] - colnames(ICA_out$S) <- sprintf("Comp%03d", 1:pca) - ICA_out$S <- tibble::as_tibble(ICA_out$S[, 1:pca]) - - } else { - - if (identical(method, "sobi")) { - if (!requireNamespace("JADE", quietly = TRUE)) { - if (!requireNamespace("whitening", quietly = TRUE)) { - stop( - "Packages \"JADE\" and \"whitening\" needed to use SOBI. Please install them.", - call. = FALSE - ) - } - stop("Package \"JADE\" needed to use SOBI. Please install it.", - call. = FALSE) - } - - message("Running SOBI ICA.") - ICA_out <- sobi_ICA( - data, - maxiter = maxit, - tol = tol, - pca = pca, - centre = centre - ) - } else if (any(method %in% c("fastica", "infomax"))) { - if (!requireNamespace("ica", quietly = TRUE)) { - stop("Package \"ica\" needed to use infomax or fastica. Please install it.", - call. = FALSE) - } - - if (identical(method, "fastica")) { - message("Running fastica (ica).") - ICA_out <- ica::icafast( - data$signals, - nc = rank_check, - maxit = maxit, - tol = tol, - center = centre - ) - } else if (identical(method, "infomax")) { - message("Running extended-Infomax (ica).") - ICA_out <- ica::icaimax( - data$signals, - nc = rank_check, - maxit = maxit, - fun = "ext", - tol = tol, - center = centre, - alg = alg, - rateanneal = rateanneal, - rate = rate - ) - } - - - } else if (identical(method, "imax")) { - if (!requireNamespace("infomax", quietly = TRUE)) { - stop( - "Package \"infomax\" needed to use the \"imax\" method, please install it from https://github.com/eegverse/infomax" - ) - } - message("Running extended-Infomax (infomax).") - ICA_out <- - infomax::run_infomax( - data$signals, - tol = tol, - centre = centre, - maxiter = maxit, - whiten = "sqrtm", - verbose = verbose - ) - } - - ICA_out$S <- as.data.frame(ICA_out$S) - names(ICA_out$S) <- sprintf("Comp%03d", 1:ncol(ICA_out$S)) - - if (pca_flag) { - mixing_matrix <- as.data.frame(pca_decomp[, 1:pca] %*% ICA_out$M) - unmixing_matrix <- - as.data.frame(MASS::ginv(as.matrix(mixing_matrix), tol = 0)) - names(mixing_matrix) <- sprintf("Comp%03d", 1:pca) - names(unmixing_matrix) <- orig_chans - mixing_matrix$electrode <- orig_chans - unmixing_matrix$Component <- sprintf("Comp%03d", 1:pca) - } else { - mixing_matrix <- as.data.frame(ICA_out$M) - names(mixing_matrix) <- sprintf("Comp%03d", 1:ncol(ICA_out$M)) - mixing_matrix$electrode <- names(data$signals) - unmixing_matrix <- as.data.frame(ICA_out$W) - names(unmixing_matrix) <- names(data$signals) - unmixing_matrix$Component <- - sprintf("Comp%03d", 1:ncol(ICA_out$S)) - } - } - - ica_obj <- eeg_ICA( - mixing_matrix = mixing_matrix, - unmixing_matrix = unmixing_matrix, - signals = ICA_out$S, - timings = data$timings, - events = data$events, - chan_info = data$chan_info, - srate = data$srate, - epochs = data$epochs, - algorithm = method - ) - ica_obj + create_eeg_ica_object(processed_output, data, method, tol, maxit, return) } #' @export @@ -275,6 +130,7 @@ run_ICA.eeg_group <- function(data, #' @param pca Number of PCA components. #' @param centre Mean centre signals. #' @param verbose Print informative messages. +#' @param whitening Defaults to pca, options are pca or zca #' @author A. Belouchrani and A. Cichocki. Adapted to R by Matt Craddock #' \email{matt@@mattcraddock.com} #' @keywords internal @@ -284,94 +140,59 @@ sobi_ICA <- function(data, tol, pca, centre, - verbose = TRUE) { + verbose = TRUE, + whitening = "pca") { - #n_epochs <- length(unique(data$timings$epoch)) n_epochs <- nrow(epochs(data)) n_channels <- ncol(data$signals) n_times <- length(unique(data$timings$time)) - ##number of lags at which to assess autocovariance matrices - ## 100 is the default; only switches to smaller n if epochs are too short - n_lags <- min(100, - ceiling(n_times / 3)) + # Optimize: Use integer division for n_lags + n_lags <- min(100, n_times %/% 3) if (centre) { - # centre the data on zero. - data <- rm_baseline(data, - verbose = FALSE) + data <- rm_baseline(data, verbose = FALSE) } - Q <- whitening::whiteningMatrix(stats::cov(as.matrix(data$signals)), - method = "PCA") - amp_matrix <- t(whitening::whiten(as.matrix(data$signals), - method = "PCA")) - ## reshape to reflect epoching structure - dim(amp_matrix) <- c(n_channels, - n_times, - n_epochs) - - ## vectorise this loop if possible? - k <- -1 - pm <- n_channels * n_lags - N <- n_times - M <- matrix(NA, - nrow = n_channels, - ncol = pm) - - for (u in seq(1, pm, n_channels)) { - k <- k + 1 - M[, u:(u + n_channels - 1)] <- do_iter(amp_matrix, k, N) + cov_matrix <- cov(as.matrix(data$signals)) + eigen_decomp <- eigen(cov_matrix) + if (identical(whitening, "pca")) { + Q <- diag(1 / sqrt(eigen_decomp$values)) %*% t(eigen_decomp$vectors) + } else { + Q <- eigen_decomp$vectors %*% diag(1 / sqrt(eigen_decomp$values)) %*% t(eigen_decomp$vectors) } + # Reshape amp_matrix to have three dimensions + amp_matrix <- array(Q %*% t(as.matrix(data$signals)), dim = c(n_channels, n_times, n_epochs)) - epsil <- 1 / sqrt(N) / 100 + # Preallocate matrix M + M <- array(0, dim = c(n_channels, n_channels, n_lags)) - if (epsil > tol) { - message("Setting tolerance to ", round(epsil, 4)) - tol <- epsil + # Use do_iter function for cross-covariance calculation + for (k in 1:n_lags) { + M[, , k] <- do_iter(amp_matrix, k - 1, n_times) } - dim(M) <- c(n_channels, n_channels, n_lags) - - V <- JADE::rjd(M, - eps = tol, - maxiter = maxiter)$V + epsil <- 1 / sqrt(n_times) / 100 + tol <- max(tol, epsil) - ## create mixing matrix for output - mixing_matrix <- MASS::ginv(Q, tol = 0) %*% V + V <- JADE::rjd(M, eps = tol, maxiter = maxiter)$V - var_order <- sort(vaf_mix(mixing_matrix), - decreasing = TRUE, - index.return = TRUE)$ix + mixing_matrix <- solve(Q) %*% V + var_order <- order(colSums(mixing_matrix^2), decreasing = TRUE) mixing_matrix <- mixing_matrix[, var_order] - unmixing_matrix <- MASS::ginv(mixing_matrix, tol = 0) - # rescale vecs - # scaling <- sqrt(colMeans(mixing_matrix^2)) - # - # unmixing_matrix <- sweep(unmixing_matrix, - # MARGIN = 1, - # scaling, - # `*`) # scaled weights + unmixing_matrix <- solve(mixing_matrix) - # mixing_matrix <- MASS::ginv(unmixing_matrix %*% diag(ncol(unmixing_matrix)), - # tol = 0) - - dim(amp_matrix) <- c(n_channels, - n_times * n_epochs) - - S <- tcrossprod(unmixing_matrix, - as.matrix(data$signals)) - S <- as.data.frame(t(S)) - names(S) <- sprintf("Comp%03d", 1:ncol(S)) + S <- t(unmixing_matrix %*% t(as.matrix(data$signals))) + S <- as.data.frame(S) + names(S) <- sprintf("Comp%03d", seq_len(ncol(S))) list(M = mixing_matrix, W = unmixing_matrix, S = S) } - #' Recreate channel timecourses from ICA decompositions. #' #' This function can be used to either recreate "mixed" (i.e. channel level) @@ -397,14 +218,15 @@ apply_ica <- function(data, ...) { } #' @param comps Components to remove. -#' @describeIn apply_ica From given `eeg_ICA` object, recreate channel timecourses. +#' @describeIn apply_ica From given `eeg_ICA` object, recreate channel +#' timecourses. #' @export apply_ica.eeg_ICA <- function(data, comps = NULL, ...) { ncomps <- ncol(data$mixing_matrix) new_mixmat <- data$mixing_matrix[1:(ncomps - 1)] - new_mixmat[ , comps] <- 0 + new_mixmat[, comps] <- 0 new_dat <- mix(as.matrix(new_mixmat), as.matrix(data$signals)) new_dat <- as.data.frame(t(new_dat)) names(new_dat) <- data$chan_info$electrode @@ -437,15 +259,13 @@ apply_ica.eeg_epochs <- function(data, if (is.character(comps)) { comps_missing <- which(!(comps %in% channel_names(decomp))) - #comps <- which(channel_names(decomp) %in% comps) keep_comps <- which(!channel_names(decomp) %in% comps) } else { - keep_comps <- seq(1, ncomps)[-comps] + keep_comps <- seq(1, ncomps)[-comps] } sources <- unmix(data$signals, decomp$unmixing_matrix[, 1:nelecs]) - #keep_comps <- names(decomp$mixing_matrix[, 1:ncomps])[-comps] new_sigs <- mix(sources[, keep_comps], decomp$mixing_matrix[, keep_comps]) colnames(new_sigs) <- data$chan_info$electrode @@ -474,3 +294,150 @@ get_vaf <- function(decomp) { comp_var <- colSums(decomp$mixing_matrix[, 1:ncomps]^2) comp_var / sum(comp_var) } + + +perform_pca <- function(data, pca) { + if (!is.null(pca)) { + stopifnot("`pca` must be numeric" = is.numeric(pca)) + pca <- floor(pca) + message("Reducing data to ", pca, " dimensions using PCA.") + pca_decomp <- eigen(stats::cov(data$signals))$vectors + data$signals <- as.data.frame(as.matrix(data$signals) %*% pca_decomp[, 1:pca]) + pca_flag <- TRUE + } else { + pca <- ncol(data$signals) + pca_flag <- FALSE + pca_decomp <- NULL + } + list(data = data, pca_flag = pca_flag, pca_decomp = pca_decomp) +} + +run_ica_method <- function(data, method, maxit, tol, centre, alg, rateanneal, rate, verbose) { + switch(method, + sobi = run_sobi_ica(data, maxit, tol, centre), + fastica = run_fastica(data, maxit, tol, centre), + infomax = run_infomax(data, maxit, tol, centre, alg, rateanneal, rate), + fica = run_fica(data, maxit, tol), + imax = run_imax(data, maxit, tol, centre, verbose), + stop("Invalid method") + ) +} + +run_sobi_ica <- function(data, maxit, tol, centre) { + if (!requireNamespace("JADE", quietly = TRUE)) { + stop("Package \"JADE\" needed to use SOBI. Please install it.", call. = FALSE) + } + message("Running SOBI ICA.") + sobi_ICA(data, maxiter = maxit, tol = tol, pca = NULL, centre = centre) +} + +run_fastica <- function(data, maxit, tol, centre) { + if (!requireNamespace("ica", quietly = TRUE)) { + stop("Package \"ica\" needed to use fastica. Please install it.", call. = FALSE) + } + message("Running fastica (ica).") + ica::icafast(data$signals, nc = ncol(data$signals), maxit = maxit, tol = tol, center = centre) +} + +run_infomax <- function(data, maxit, tol, centre, alg, rateanneal, rate) { + if (!requireNamespace("ica", quietly = TRUE)) { + stop("Package \"ica\" needed to use infomax. Please install it.", call. = FALSE) + } + message("Running extended-Infomax (ica).") + ica::icaimax(data$signals, + nc = ncol(data$signals), maxit = maxit, fun = "ext", + tol = tol, center = centre, alg = alg, rateanneal = rateanneal, rate = rate + ) +} + +run_fica <- function(data, maxit, tol) { + if (!requireNamespace("fICA", quietly = TRUE)) { + stop("Package \"fICA\" needed to use the fICA implementation of fastica. Please install it.", call. = FALSE) + } + message("Running fastica (fICA).") + fICA::fICA(as.matrix(data$signals), eps = tol, maxiter = maxit, method = "sym2") +} + +run_imax <- function(data, maxit, tol, centre, verbose) { + if (!requireNamespace("infomax", quietly = TRUE)) { + stop("Package \"infomax\" needed to use the \"imax\" method, please install it from https://github.com/eegverse/infomax") + } + message("Running extended-Infomax (infomax).") + infomax::run_infomax(data$signals, tol = tol, centre = centre, maxiter = maxit, whiten = "sqrtm", verbose = verbose) +} + +process_ica_output <- function(ICA_out, method, pca, pca_flag, pca_decomp, orig_chans) { + if (method == "fica") { + process_fica_output(ICA_out, pca, pca_flag, pca_decomp, orig_chans) + } else { + process_other_ica_output(ICA_out, pca, pca_flag, pca_decomp, orig_chans) + } +} + +process_fica_output <- function(ICA_out, pca, pca_flag, pca_decomp, orig_chans) { + ICA_out$W <- ICA_out$W[, 1:pca] + mixing_matrix <- MASS::ginv(ICA_out$W, tol = 0) + + if (pca_flag) { + mixing_matrix <- pca_decomp[, 1:pca] %*% mixing_matrix + } + + var_order <- order(vaf_mix(mixing_matrix), decreasing = TRUE) + mixing_matrix <- mixing_matrix[, var_order] + + unmixing_matrix <- as.data.frame(MASS::ginv(mixing_matrix, tol = 0)) + mixing_matrix <- as.data.frame(mixing_matrix) + + names(mixing_matrix) <- sprintf("Comp%03d", 1:pca) + mixing_matrix$electrode <- orig_chans + names(unmixing_matrix) <- orig_chans + unmixing_matrix$Component <- sprintf("Comp%03d", 1:pca) + + ICA_out$S <- ICA_out$S[, var_order] + colnames(ICA_out$S) <- sprintf("Comp%03d", 1:pca) + ICA_out$S <- tibble::as_tibble(ICA_out$S[, 1:pca]) + + list(mixing_matrix = mixing_matrix, unmixing_matrix = unmixing_matrix, S = ICA_out$S) +} + +process_other_ica_output <- function(ICA_out, pca, pca_flag, pca_decomp, orig_chans) { + ICA_out$S <- as.data.frame(ICA_out$S) + names(ICA_out$S) <- sprintf("Comp%03d", seq_len(ncol(ICA_out$S))) + + if (pca_flag) { + mixing_matrix <- as.data.frame(pca_decomp[, 1:pca] %*% ICA_out$M) + unmixing_matrix <- as.data.frame(MASS::ginv(as.matrix(mixing_matrix), tol = 0)) + names(mixing_matrix) <- sprintf("Comp%03d", 1:pca) + names(unmixing_matrix) <- orig_chans + mixing_matrix$electrode <- orig_chans + unmixing_matrix$Component <- sprintf("Comp%03d", 1:pca) + } else { + mixing_matrix <- as.data.frame(ICA_out$M) + names(mixing_matrix) <- sprintf("Comp%03d", seq_len(ncol(ICA_out$M))) + mixing_matrix$electrode <- orig_chans + unmixing_matrix <- as.data.frame(ICA_out$W) + names(unmixing_matrix) <- orig_chans + unmixing_matrix$Component <- sprintf("Comp%03d", seq_len(ncol(ICA_out$S))) + } + + list(mixing_matrix = mixing_matrix, unmixing_matrix = unmixing_matrix, S = ICA_out$S) +} + +create_eeg_ica_object <- function(processed_output, data, method, tol, maxit, return) { + eeg_ICA( + mixing_matrix = processed_output$mixing_matrix, + unmixing_matrix = processed_output$unmixing_matrix, + signals = tibble::as_tibble(processed_output$S), + timings = data$timings, + events = data$events, + chan_info = data$chan_info, + srate = data$srate, + epochs = data$epochs, + algorithm = list( + algorithm = method, + tol = tol, + max_iterations = maxit + ), + contents = return + ) +} diff --git a/R/signal_decomposition.R b/R/signal_decomposition.R index efa9772a..59235bbb 100644 --- a/R/signal_decomposition.R +++ b/R/signal_decomposition.R @@ -2,19 +2,19 @@ #' #' Implements a selection of Generalized Eigenvalue based decomposition methods #' for EEG signals. Intended for isolating oscillations at specified -#' frequencies, decomposing channel-based data into components -#' reflecting distinct or combinations of sources of oscillatory signals. -#' Currently, spatio-spectral decomposition (Nikulin, Nolte, & Curio, 2011) and -#' Rhythmic Entrainment Source Separation (Cohen & Gulbinate, 2017) are -#' implemented. The key difference between the two is that the former returns -#' the results of the data-derived spatial filters applied to the -#' bandpass-filtered "signal" data, whereas the latter returns the results of the -#' filters applied to the original, broadband data. +#' frequencies, decomposing channel-based data into components reflecting +#' distinct or combinations of sources of oscillatory signals. Currently, +#' spatio-spectral decomposition (Nikulin, Nolte, & Curio, 2011) and Rhythmic +#' Entrainment Source Separation (Cohen & Gulbinate, 2017) are implemented. The +#' key difference between the two is that the former returns the results of the +#' data-derived spatial filters applied to the bandpass-filtered "signal" data, +#' whereas the latter returns the results of the filters applied to the +#' original, broadband data. #' -#' @param data An `eeg_data` object +#' @param data An `eeg_epochs` object #' @param ... Additional parameters #' @author Matt Craddock \email{matt@@mattcraddock.com} -#' @return An `eeg_ICA` object. Note that +#' @return An `eeg_ICA` object. #' @examples #' # The default method is Spatio-Spectral Decomposition, which returns #' # spatially and temporally filtered source timecourses. @@ -65,24 +65,24 @@ eeg_decompose.default <- function(data, ...) { #' @param sig_range Vector with two inputs, the lower and upper bounds of the frequency range of interest #' @param noise_range Range of frequencies to be considered noise (e.g. bounds of flanker frequencies) -#' @param method Type of decomposition to apply. Currently only "ssd" is supported. +#' @param method Type of decomposition to apply. Defaults to "ssd" #' @param verbose Informative messages printed to console. Defaults to TRUE. #' @param order Filter order for filter applied to signal/noise #' @describeIn eeg_decompose method for `eeg_epochs` objects #' @export eeg_decompose.eeg_epochs <- function(data, - sig_range, - noise_range, - method = "ssd", - verbose = TRUE, - order = 2, - ...) { + sig_range, + noise_range, + method = c("ssd", "ress"), + verbose = TRUE, + order = 2, + ...) { if (verbose) { message("Performing ", method, "...") } - data <- switch(method, + data <- switch(match.arg(method), "ssd" = run_SSD(data, sig_range, noise_range, @@ -144,12 +144,10 @@ run_SSD <- function(data, cov_sig <- cov_epochs(signal) cov_noise <- cov_epochs(noise) - - eig_sigs <- base::eigen(cov_sig) # Get the rank of the covariance matrix and select only as many components as # there are ranks - rank_sig <- Matrix::rankMatrix(cov_sig) + rank_sig <- qr(cov_sig)$rank if (verbose) { if (rank_sig < ncol(cov_sig)) { @@ -185,21 +183,23 @@ run_SSD <- function(data, data$unmixing_matrix <- as.data.frame(MASS::ginv(data$mixing_matrix, tol = 0)) data$mixing_matrix <- as.data.frame(data$mixing_matrix) - names(data$mixing_matrix) <- sprintf("Comp%03d", 1:ncol(data$mixing_matrix)) + names(data$mixing_matrix) <- sprintf("Comp%03d", seq_len(ncol(data$mixing_matrix))) data$mixing_matrix$electrode <- names(data$signals) names(data$unmixing_matrix) <- data$mixing_matrix$electrode - data$unmixing_matrix$Component <- sprintf("Comp%03d", 1:ncol(W)) + data$unmixing_matrix$Component <- sprintf("Comp%03d", seq_len(ncol(W))) # RESS applies weights to unfiltered original data if (RESS) { data$signals <- as.data.frame(as.matrix(data$signals) %*% W) - names(data$signals) <- sprintf("Comp%03d", 1:ncol(W)) + names(data$signals) <- sprintf("Comp%03d", seq_len(ncol(W))) return(data) } data$signals <- as.data.frame(as.matrix(signal$signals) %*% W) - names(data$signals) <- sprintf("Comp%03d", 1:ncol(W)) + names(data$signals) <- sprintf("Comp%03d", seq_len(ncol(W))) + data$algorithm <- list(algorithm = if (RESS) "ress" else "ssd") + data$contents <- "full" data } diff --git a/R/stat_classes.R b/R/stat_classes.R index 5dda157f..fef8c36c 100644 --- a/R/stat_classes.R +++ b/R/stat_classes.R @@ -31,7 +31,8 @@ new_eeg_lm <- function(coefficients, chan_info, epochs, timings, - formula) { + formula, + version) { stopifnot(is.data.frame(coefficients)) stopifnot(is.data.frame(std_err)) @@ -48,6 +49,7 @@ new_eeg_lm <- function(coefficients, epochs = epochs, chan_info = chan_info, formula = formula, + version = version, class = "eeg_lm" ) } @@ -62,19 +64,3 @@ new_eeg_stats <- function(..., ) } -# new_eeg_tstats <- function(statistic) { -# stopifnot(is.data.frame(statistic)) -# stopifnot(is.data.frame(timings)) -# #stopifnot(is.data.frame(t_stats)) -# #stopifnot(is.data.frame(r_sq)) -# #stopifnot(rlang::is_formula(formula)) -# -# new_eeg_stats( -# statistic = statistic, -# timings = timings, -# epochs = epochs, -# chan_info = chan_info, -# formula = formula, -# class = "eeg_tstats" -# ) -# } diff --git a/R/summarise_eeg.R b/R/summarise_eeg.R new file mode 100644 index 00000000..fbd7f4e3 --- /dev/null +++ b/R/summarise_eeg.R @@ -0,0 +1,149 @@ +#' Calculate simple summary statistics for `eeg_*` objects +#' +#' Calculate the timepoint-by-timepoint mean, standard deviation, standard +#' error, or variance `eeg_epochs` objects. +#' +#' @param data An `eegUtils` object. +#' @param ... Various arguments passed to specific functions +#' @return A tibble +#' @export +eeg_summarise <- function(data, + ...) { + UseMethod("eeg_summarise", data) +} + +#' @export +eeg_summarise.default <- function(data, + ...) { + stop("Not implemented for objects of class ", + paste(class(data), collapse = "/")) +} + +#' @param statistic The statistic to calculate at each timepoint. Defaults to +#' "sem" +#' @param conditions Conditions to group the data by. +#' @param time_lim Timepoint(s) to summarise. Can be a range, for which a +#' summary statistic will be provided for each timepoint, or a list of +#' individual times. If none is supplied, the function will calculate a +#' summary for every timepoint. +#' @examples +#' eeg_summarise(demo_spatial, statistic = "sem") +#' +#' @describeIn eeg_summarise Calculate summary statistics for `eeg_epochs` +#' objects +#' @export +eeg_summarise.eeg_epochs <- function(data, + statistic = c("sem", + "mean", + "sd", + "var"), + conditions = NULL, + time_lim = NULL, + ...) { + + if (!is.null(conditions)) { + groups <- c(conditions, "time") + } else { + groups <- "time" + } + + chans <- channel_names(data) + data <- as.data.frame(data) + + if (!is.null(time_lim)) { + data <- select_times(data, + time_lim) + } + + data <- dplyr::group_by(data, + dplyr::across({{ groups }})) + + statistic <- match.arg(statistic) + summary_function <- + switch(statistic, + mean = function(x) mean(x), + sem = function(x) sd(x) / length(x), + sd = function(x) sd(x), + var = function(x) var(x) + ) + + data <- dplyr::summarise( + data, + dplyr::across(chans, + summary_function, + .names = paste(statistic, + sep = "_", + "{.col}") + ) + ) + data +} + +#' Calculate the standard error of the mean +#' +#' @param data An `eegUtils` object +#' @param time_lim A vector of time-points to calculate SEM over. +#' @param conditions Split the calculation across multiple conditions +#' @keywords internal + +calculate_sem <- function(data, + time_lim = NULL, + conditions = NULL) { + + conditions <- rlang::enquo(conditions) + chans <- channel_names(data) + + if (is.list(time_lim)) { + all_sems <- lapply(time_lim, + function(x) calculate_sem(data, + time_lim = x, + conditions = {{conditions}})) + return( + do.call("rbind", + all_sems) + ) + + } else { + data <- select_times(data, + time_lim) + } + data <- as.data.frame(data) + + if (!is.null(conditions)) { + data <- group_by(data, + {{conditions}}, + .data$epoch) + } + data <- dplyr::summarise( + data, + dplyr::across(chans, + mean)) + data <- dplyr::summarise( + data, + count = length(unique(.data$epoch)), + dplyr::across(chans, + list(sem = ~sd(.) / sqrt(count)))) + data$time_lim <- list(time_lim) + data +} + +calculate_sd <- function(data, + time_lim, + conditions = NULL) { + conditions <- rlang::enquo(conditions) + chans <- channel_names(data) + data <- select_times(data, + time_lim) + data <- as.data.frame(data) + if (!is.null(conditions)) { + data <- group_by(data, + {{conditions}}) + } + data <- dplyr::summarise( + data, + count = length(unique(.data$epoch)), + dplyr::across(chans, + list(sd = ~sd(.)))) + data$time_lim <- list(time_lim) + data +} diff --git a/R/summary_contour.R b/R/summary_contour.R index 76ba8bed..5ce92864 100644 --- a/R/summary_contour.R +++ b/R/summary_contour.R @@ -7,6 +7,7 @@ #' #' The original code was released under an MIT license, and remains copyright of #' the ggplot2 authors. +#' @noRd NULL #' @noRd @@ -41,6 +42,7 @@ StatSummarybyZ <- ggplot2::ggproto("StatSummaryByZ", Stat, required_aes = c("x", "y", "z"), default_aes = aes(order = after_stat(level)), + dropped_aes = c("z", "fill"), setup_params = function(data, params) { @@ -145,6 +147,7 @@ StatScalpContours <- # get a different warning default_aes = aes(order = after_stat(level), linetype = ggplot2::after_stat(level) < 0), + dropped_aes = c("z", "fill", "label"), setup_params = function(data, params) { @@ -238,9 +241,9 @@ contour_breaks <- function(z_range, bins = NULL, binwidth = NULL, breaks = NULL) if (!is.null(bins)) { # round lower limit down and upper limit up to make sure # we generate bins that span the data range nicely - accuracy <- signif(diff(z_range), 1)/10 - z_range[1] <- floor(z_range[1]/accuracy)*accuracy - z_range[2] <- ceiling(z_range[2]/accuracy)*accuracy + accuracy <- signif(diff(z_range), 1) / 10 + z_range[1] <- floor(z_range[1] / accuracy) * accuracy + z_range[2] <- ceiling(z_range[2] / accuracy) * accuracy if (bins == 1) { return(z_range) @@ -401,11 +404,17 @@ iso_to_polygon <- function(iso, group = 1) { #' @noRd #' pretty_isoband_levels <- function(isoband_levels, dig.lab = 3) { - interval_low <- gsub(":.*$", "", isoband_levels) - interval_high <- gsub("^[^:]*:", "", isoband_levels) + interval_low <- as.numeric(gsub(":.*$", "", isoband_levels)) + interval_high <- as.numeric(gsub("^[^:]*:", "", isoband_levels)) + + breaks <- unique(c(interval_low, interval_high)) + + while(anyDuplicated(format(breaks, digits = dig.lab, trim = TRUE))) { + dig.lab <- dig.lab + 1 + } - label_low <- format(as.numeric(interval_low), digits = dig.lab, trim = TRUE) - label_high <- format(as.numeric(interval_high), digits = dig.lab, trim = TRUE) + label_low <- format(interval_low, digits = dig.lab, trim = TRUE) + label_high <- format(interval_high, digits = dig.lab, trim = TRUE) # from the isoband::isobands() docs: # the intervals specifying isobands are closed at their lower boundary @@ -436,5 +445,3 @@ new_data_frame <- function(x = list(), n = NULL) { attr(x, "row.names") <- .set_row_names(n) x } - - diff --git a/R/tfr_analysis.R b/R/tfr_analysis.R index 853ae14b..f6738f62 100644 --- a/R/tfr_analysis.R +++ b/R/tfr_analysis.R @@ -13,8 +13,13 @@ #' out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), n_freq = 10, n_cycles = 3) #' out #' out$freq_info$morlet_resolution -#' out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), n_freq = 10, n_cycles = c(3, 10)) +#' out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), +#' n_freq = 10, n_cycles = c(3, 10)) #' out$freq_info$morlet_resolution +#' plot_tfr(out) +#' out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), +#' n_freq = 10, n_cycles = c(3, 10), trim_edges = FALSE) +#' plot_tfr(out) #' @export compute_tfr <- function(data, ...) { @@ -36,12 +41,16 @@ compute_tfr.default <- function(data, ...) { #' a constant number of cycles at each frequency. If a character vector of #' length 2, the number of cycles will scale with frequency from the minimum #' to the maximum. -#' @param spacing Use "linear" or "log" spacing for the frequency vector and number of cycles. +#' @param spacing Use "linear" or "log" spacing for the frequency vector and +#' number of cycles. #' @param keep_trials Keep single trials or average over them before returning. #' Defaults to FALSE. #' @param output Sets whether output is power, phase, or fourier coefficients. #' @param downsample Downsampling factor. Integer. Selects every n samples after #' performing time-frequency analysis on the full sampling rate data. +#' @param trim_edges Remove edges of time-frequency representation to avoid edge +#' effects from overlap of wavelet with timepoints outside the epochs. +#' Defaults to TRUE. #' @param verbose Print informative messages in console. #' @describeIn compute_tfr Default method for `compute_tfr` #' @export @@ -55,6 +64,7 @@ compute_tfr.eeg_epochs <- function(data, keep_trials = FALSE, output = "power", downsample = 1, + trim_edges = TRUE, verbose = TRUE, ...) { if (identical(output, "fourier") && keep_trials == FALSE) { @@ -75,8 +85,9 @@ compute_tfr.eeg_epochs <- function(data, keep_trials = keep_trials, output = output, downsample = downsample, + trim_edges = trim_edges, verbose = verbose - ), + ), "hanning" = tf_hanning( data = data, foi = foi, @@ -86,6 +97,7 @@ compute_tfr.eeg_epochs <- function(data, keep_trials = keep_trials, output = output, downsample = downsample, + trim_edges = trim_edges, verbose = verbose ), warning( @@ -106,6 +118,7 @@ compute_tfr.eeg_evoked <- function(data, keep_trials = FALSE, output = "power", downsample = 1, + trim_edges = TRUE, verbose = TRUE, ...) { if (identical(output, "fourier") && keep_trials == FALSE) { @@ -125,6 +138,7 @@ compute_tfr.eeg_evoked <- function(data, keep_trials = keep_trials, output = output, downsample = downsample, + trim_edges = trim_edges, verbose = verbose ), "hanning" = tf_hanning( @@ -136,6 +150,7 @@ compute_tfr.eeg_evoked <- function(data, keep_trials = keep_trials, output = output, downsample = downsample, + trim_edges = trim_edges, verbose = verbose ), warning( @@ -187,6 +202,7 @@ tf_morlet <- function(data, output, downsample, demean = TRUE, + trim_edges = trim_edges, verbose) { if (verbose) { @@ -204,21 +220,7 @@ tf_morlet <- function(data, n_freq <- length(unique(frex)) # if a min and max n_cycles is specified, expand out to cycles per n_freq - if (length(n_cycles) == 2) { - if (identical(spacing, "linear")) { - n_cycles <- seq(n_cycles[1], - n_cycles[2], - length.out = n_freq) - } else if (identical(spacing, "log")) { - n_cycles <- exp( - seq(log(n_cycles[1]), - log(n_cycles[2]), - length.out = n_freq) - ) - } - } else if (length(n_cycles) > 2) { - stop("n_cycles should be a vector of length 1 or length 2.") - } + n_cycles <- parse_cycles(n_cycles, spacing, n_freq) #de-mean each epoch if (demean) { @@ -227,10 +229,9 @@ tf_morlet <- function(data, } elecs <- names(data$signals) - #fft_points <- length(unique(data$timings$time)) sigtime <- unique(data$timings$time) - #Create a family of morlet wavelets (unscaled) + #Create a family of Morlet wavelets (unscaled) morlet_family <- morlet( frex = frex, srate = data$srate, @@ -277,7 +278,7 @@ tf_morlet <- function(data, output) sigtime <- sigtime[time_sel] - data$timings <- data$timings[data$timings$time %in% sigtime,] + data$timings <- data$timings[data$timings$time %in% sigtime, ] if (keep_trials == TRUE) { dimnames(data$signals) <- list( @@ -298,63 +299,17 @@ tf_morlet <- function(data, } # Remove edges of the TFR'd data, where edge effects would be expected. - edge_mat <- remove_edges(sigtime, - data$freq_info$morlet_resolution$sigma_t) - - if (keep_trials == TRUE) { - dims <- - which(names(dimnames(data$signals)) %in% c("time", "frequency")) - data$signals <- sweep(data$signals, - dims, - edge_mat, - "*") - data <- eeg_tfr( - data$signals, - srate = data$srate, - events = data$events, - chan_info = data$chan_info, - reference = data$reference, - timings = data$timings, - freq_info = data$freq_info, - dimensions = names(dimnames(data$signals)), - epochs = data$epochs - ) - if (verbose) { - message("Returning single-trial data.") - } - return(data) - } - - if (verbose) { - message("Returning signal averaged over all trials.") + if (trim_edges) { + edge_mat <- remove_edges(sigtime, + data$freq_info$morlet_resolution$sigma_t) + } else { + edge_mat <- NULL } - dims <- - which(names(dimnames(data$signals)) %in% c("time", "frequency")) - data$signals <- sweep(data$signals, - dims, - edge_mat, - "*") - - recording_id <- epochs(data)$recording[[1]] - participant_id <- epochs(data)$participant_id[[1]] - - data <- eeg_tfr( - data$signals, - srate = data$srate, - events = NULL, - epochs = tibble::tibble(epoch = 1, - recording = recording_id, - participant_id = participant_id), - chan_info = data$chan_info, - reference = data$reference, - timings = unique(data$timings),#data$timings[1:length(sigtime), c("epoch", "time")], - freq_info = data$freq_info, - dimensions = c("epoch", - "time", - "electrode", - "frequency") - ) + data <- finalize_tfr(keep_trials = keep_trials, + data = data, + edge_mat = edge_mat, + verbose = verbose) data } @@ -477,16 +432,12 @@ remove_edges <- function(sigtime, sigma_t) { left_edge <- sigtime[[1]] + sigma_t times_mat <- t(apply(times_mat, 1, - function(x) ifelse(x < left_edge, - NA, - x))) + function(x) ifelse(x < left_edge, NA, x))) #calculate time of right edge and replace anything later with NA right_edge <- sigtime[[length(sigtime)]] - sigma_t times_mat <- t(apply(times_mat, 1, - function(x) ifelse(x > right_edge, - NA, - x))) + function(x) ifelse(x > right_edge, NA, x))) #Finally, replace anything that isn't NA with 1 times_mat <- ifelse(is.na(times_mat), NA, 1) times_mat @@ -590,11 +541,9 @@ wavelet_norm <- function(mf_zp, n_freq) { 2, which.max) mf_zp_maxes <- lapply(seq_along(mf_zp_maxes), - function(x) - mf_zp[mf_zp_maxes[[x]], x]) + function(x) mf_zp[mf_zp_maxes[[x]], x]) norm_mf <- lapply(seq_along(mf_zp_maxes), - function(x) - mf_zp[, x] / mf_zp_maxes[[x]]) + function(x) mf_zp[, x] / mf_zp_maxes[[x]]) norm_mf <- matrix(unlist(norm_mf), ncol = n_freq) norm_mf @@ -628,12 +577,10 @@ parse_frex <- function(foi, length.out = n_freq) } - - if (verbose) { message( paste("Output frequencies using", spacing, "spacing:", - paste(round(frex, 2), collapse = " ") + paste(round(frex, 2), collapse = " ") ) ) } @@ -655,7 +602,6 @@ run_tf <- function(tmp, n_freq <- dim(norm_mf)[2] n_times <- length(time_sel) all_times <- nhfkn + (time_sel - 1) - orig_n <- nrow(tmp) tmp_epo <- array(complex(1), dim = c(n_conv, n_epochs)) @@ -687,7 +633,7 @@ run_tf <- function(tmp, for (ik in 1:n_epochs) { tfr_out[ik, , i, ] <- (stats::mvfft(norm_mf * tmp_epo[, ik], - inverse = TRUE)[all_times,] / n_conv) + inverse = TRUE)[all_times, ] / n_conv) } } } @@ -701,7 +647,7 @@ run_tf <- function(tmp, for (ik in 1:n_epochs) { tfr_out[, i, ] <- tfr_out[, i, ] + - abs(stats::mvfft(norm_mf * tmp_epo[, ik], inverse = TRUE)[all_times,] / n_conv) ^ 2 + abs(stats::mvfft(norm_mf * tmp_epo[, ik], inverse = TRUE)[all_times, ] / n_conv) ^ 2 } } tfr_out <- tfr_out / n_epochs @@ -727,20 +673,20 @@ run_tf <- function(tmp, #' @param downsample Downsampling factor (integer). #' @param demean Remove mean before transforming. #' @param verbose Print informative messages in console. -#' @importFrom abind abind #' @importFrom stats nextn #' @keywords internal tf_hanning <- function(data, - foi, - n_freq, - spacing, - n_cycles, - keep_trials, - output, - downsample, - demean = TRUE, - verbose) { + foi, + n_freq, + spacing, + n_cycles, + keep_trials, + output, + downsample, + trim_edges = trim_edges, + demean = TRUE, + verbose) { if (verbose) { message("Computing TFR using Hanning windows convolution") @@ -757,21 +703,7 @@ tf_hanning <- function(data, n_freq <- length(unique(frex)) # if a min and max n_cycles is specified, expand out to cycles per n_freq - if (length(n_cycles) == 2) { - if (identical(spacing, "linear")) { - n_cycles <- seq(n_cycles[1], - n_cycles[2], - length.out = n_freq) - } else if (identical(spacing, "log")) { - n_cycles <- exp( - seq(log(n_cycles[1]), - log(n_cycles[2]), - length.out = n_freq) - ) - } - } else if (length(n_cycles) > 2) { - stop("n_cycles should be a vector of length 1 or length 2.") - } + n_cycles <- parse_cycles(n_cycles, spacing, n_freq) #de-mean each epoch if (demean) { @@ -780,16 +712,15 @@ tf_hanning <- function(data, } elecs <- names(data$signals) - #fft_points <- length(unique(data$timings$time)) sigtime <- unique(data$timings$time) #Create a family of morlet wavelets (unscaled) - hann_windows <- - hann_family( - frex = frex, - srate = data$srate, - n_cycles = n_cycles - ) + hann_windows <- + hann_family( + frex = frex, + srate = data$srate, + n_cycles = n_cycles + ) # Create a list of metadata about the TFR data$freq_info <- list( @@ -802,27 +733,23 @@ tf_hanning <- function(data, baseline = "none" ) - #n_kern <- nrow(hann_windows) max_length <- length(unique(data$timings$time)) n_kern <- length(hann_windows[[1]]) n_conv <- max_length + n_kern - 1 n_conv <- stats::nextn(n_conv, 2) # zero-pad and run FFTs on morlets - norm_mf <- lapply( - hann_windows, - fft_n, - n = n_conv - ) - - norm_mf <- matrix(unlist(norm_mf), - ncol = length(norm_mf)) - #byrow = TRUE) - + norm_mf <- lapply( + hann_windows, + fft_n, + n = n_conv + ) - # # Normalise wavelets for FFT (as suggested by Mike X. Cohen): - norm_mf <- wavelet_norm(norm_mf, - n_freq) + norm_mf <- matrix(unlist(norm_mf), + ncol = length(norm_mf)) + # Normalise wavelets for FFT (as suggested by Mike X. Cohen): + norm_mf <- wavelet_norm(norm_mf, + n_freq) # Run the FFT convolutions on each individual trial @@ -840,7 +767,7 @@ tf_hanning <- function(data, output) sigtime <- sigtime[time_sel] - data$timings <- data$timings[data$timings$time %in% sigtime,] + data$timings <- data$timings[data$timings$time %in% sigtime, ] if (keep_trials == TRUE) { dimnames(data$signals) <- list( @@ -864,60 +791,10 @@ tf_hanning <- function(data, edge_mat <- remove_edges(sigtime, data$freq_info$window_resolution$sigma_t) - if (keep_trials == TRUE) { - dims <- - which(names(dimnames(data$signals)) %in% c("time", "frequency")) - data$signals <- sweep(data$signals, - dims, - edge_mat, - "*") - data <- eeg_tfr( - data$signals, - srate = data$srate, - events = data$events, - chan_info = data$chan_info, - reference = data$reference, - timings = data$timings, - freq_info = data$freq_info, - dimensions = names(dimnames(data$signals)), - epochs = data$epochs - ) - if (verbose) { - message("Returning single-trial data.") - } - return(data) - } - - if (verbose) { - message("Returning signal averaged over all trials.") - } - dims <- - which(names(dimnames(data$signals)) %in% c("time", "frequency")) - - data$signals <- sweep(data$signals, - dims, - edge_mat, - "*") - - recording_id <- epochs(data)$recording[[1]] - participant_id <- epochs(data)$participant_id[[1]] - - data <- eeg_tfr( - data$signals, - srate = data$srate, - events = NULL, - epochs = tibble::tibble(epoch = 1, - recording = recording_id, - participant_id = participant_id), - chan_info = data$chan_info, - reference = data$reference, - timings = unique(data$timings), - freq_info = data$freq_info, - dimensions = c("epoch", - "time", - "electrode", - "frequency") - ) + data <- finalize_tfr(keep_trials = keep_trials, + data = data, + edge_mat = edge_mat, + verbose = verbose) data } @@ -933,29 +810,29 @@ hann_family <- function(frex, max_win <- max(win_sizes) * 3 - windows <- lapply( + windows <- lapply( seq_along(frex), function(x) { current_win <- win_sizes[[x]] window <- signal::hanning(win_sizes[[x]]) pi_seq <- seq(from = -(current_win - 1) / 2, - to = (current_win - 1)/ 2, + to = (current_win - 1) / 2, length.out = current_win) - - pi_seq <- pi_seq * 2 * pi /srate + pi_seq <- pi_seq * 2 * pi / srate prepad <- ceiling((max_win - length(window)) / 2) postpad <- floor((max_win - length(window)) / 2) win_times <- pi_seq * frex[[x]] final_win <- complex( - real = c(rep(0, prepad), - window * cos(win_times), - rep(0, postpad)), - imaginary = c(rep(0, prepad), - window * sin(win_times), - rep(0, postpad)) - ) + real = c(rep(0, prepad), + window * cos(win_times), + rep(0, postpad)), + imaginary = c(rep(0, prepad), + window * sin(win_times), + rep(0, postpad)) + ) final_win - }) + } + ) windows } @@ -994,3 +871,93 @@ cycle_calc <- function(time_win, frex) { time_win * frex } + +parse_cycles <- function(n_cycles, spacing, n_freq) { + if (length(n_cycles) == 2) { + if (identical(spacing, "linear")) { + n_cycles <- seq(n_cycles[1], + n_cycles[2], + length.out = n_freq) + } else if (identical(spacing, "log")) { + n_cycles <- exp( + seq(log(n_cycles[1]), + log(n_cycles[2]), + length.out = n_freq) + ) + } + } else if (length(n_cycles) > 2) { + stop("n_cycles should be a vector of length 1 or length 2.") + } + n_cycles +} + +finalize_tfr <- function(keep_trials, + data, + edge_mat, + verbose) { + dims <- + which(names(dimnames(data$signals)) %in% c("time", "frequency")) + + if (!is.null(edge_mat)) { + data$signals <- sweep(data$signals, + dims, + edge_mat, + "*") + } + + if (keep_trials) { + + final_times <- as.numeric(dimnames(data$signals)$time) + final_epochs <- as.numeric(dimnames(data$signals)$epoch) + data$timings <- tibble::tibble( + epoch = rep(final_epochs, each = length(final_times)), + time = rep(final_times, length(final_epochs)) + ) + + data <- eeg_tfr( + data$signals, + srate = data$srate, + events = data$events, + chan_info = data$chan_info, + reference = data$reference, + timings = data$timings, + freq_info = data$freq_info, + dimensions = names(dimnames(data$signals)), + epochs = data$epochs + ) + if (verbose) { + message("Returning single-trial data.") + } + return(data) + } + + if (verbose) { + message("Returning signal averaged over all trials.") + } + + recording_id <- epochs(data)$recording[[1]] + participant_id <- epochs(data)$participant_id[[1]] + + final_times <- as.numeric(dimnames(data$signals)$time) + + data$timings <- tibble::tibble(epoch = rep(1, length(final_times)), + time = final_times) + + data <- eeg_tfr( + data$signals, + srate = data$srate, + events = NULL, + epochs = tibble::tibble(epoch = 1, + recording = recording_id, + participant_id = participant_id), + chan_info = data$chan_info, + reference = data$reference, + timings = data$timings, + freq_info = data$freq_info, + dimensions = c("epoch", + "time", + "electrode", + "frequency") + ) + data +} diff --git a/R/topoplot.R b/R/topoplot.R index f48d07d7..9e0b904e 100644 --- a/R/topoplot.R +++ b/R/topoplot.R @@ -4,23 +4,24 @@ #' #' @author Matt Craddock, \email{matt@@mattcraddock.com} #' @param data An EEG dataset. If the input is a data.frame, then it must have -#' columns x, y, and amplitude at present. x and y are (Cartesian) electrode -#' co-ordinates), amplitude is amplitude. +#' columns `electrode`, `x`, `y`, and `amplitude`. `x` and `y` should be +#' (Cartesian) electrode co-ordinates. #' @param ... Various arguments passed to specific functions #' @examples #' topoplot(demo_epochs) #' topoplot(demo_epochs, time_lim = c(.1, .2)) +#' topoplot(demo_spatial, time_lim = list(0, .1, .2)) #' @export #' #' @section Notes on usage of Generalized Additive Models for interpolation: The #' function fits a GAM using the `gam` function from `mgcv`. Specifically, it -#' fits a spline using the model function gam(z ~ s(x, y, bs = "ts", k = 40). -#' Using GAMs for smooths is very much experimental. The surface is produced -#' from the predictions of the GAM model fitted to the supplied data. Values -#' at each electrode do not necessarily match actual values in the data: -#' high-frequency variation will tend to be smoothed out. Thus, the method -#' should be used with caution. In addition the method can only be used when -#' there are more than 40 electrodes. +#' fits a spline using the model function `gam(z ~ s(x, y, bs = "ts", k = +#' 40)`. Using GAMs for smooths is very much experimental. The surface is +#' produced from the predictions of the GAM model fitted to the supplied data. +#' Values at each electrode do not necessarily match actual values in the +#' data: high-frequency variation will tend to be smoothed out. Thus, the +#' method should be used with caution. In addition the method can only be used +#' when there are more than 40 electrodes. topoplot <- function(data, ...) { @@ -36,9 +37,9 @@ topoplot.default <- function(data, paste(class(data), collapse = "/")) } -#' @param time_lim Timepoint(s) to plot. Can be one time or a range to average -#' over. If none is supplied, the function will average across all timepoints -#' in the supplied data. +#' @param time_lim Timepoint(s) to plot. Can be one time, a range to average +#' over, or a list of individual times. If none is supplied, the function will +#' average across all timepoints in the supplied data. #' @param limits Limits of the fill scale - should be given as a character #' vector with two values specifying the start and endpoints e.g. limits = #' c(-2,-2). Will ignore anything else. Defaults to the range of the data. @@ -64,21 +65,25 @@ topoplot.default <- function(data, #' "name" = electrode name, "none" = no marker. Defaults to "point". #' @param quantity Allows plotting of an arbitrary quantitative column. Defaults #' to amplitude. Use quoted column names. E.g. "p.value", "t_statistic". -#' @param montage Name of an existing montage set. Defaults to NULL; (currently +#' @param montage Name of an existing montage set. Defaults to NULL. (currently #' only 'biosemi64alpha' available other than default 10/20 system) #' @param highlights Electrodes to highlight (in white). #' @param scaling Scaling multiplication factor for labels and any plot lines. #' Defaults to 1. -#' @param groups Column name for groups to retain. This is required to create facetted plots. +#' @param groups Column name for groups to retain. This is required to create +#' facetted plots. #' @param verbose Warning messages when electrodes do not have locations. #' Defaults to TRUE. #' @param k Degrees of freedom used for spline when using `method = gam`. #' Defaults to 40. +#' @param fill_title Allows specification of the title of the colourbar. +#' Defaults to `expression(paste("Amplitude (", mu, "V)")), appropriate for +#' typical time-domain data. #' @import ggplot2 #' @import tidyr #' @family scalp-based maps #' @describeIn topoplot Topographical plotting of data.frames and other non -#' eeg_data objects. +#' `eeg_data` objects. #' @export topoplot.data.frame <- function(data, @@ -99,6 +104,9 @@ topoplot.data.frame <- function(data, groups = NULL, verbose = TRUE, k = 40, + fill_title = expression( + paste("Amplitude (", mu, "V)") + ), ...) { if (identical(method, "gam")) { @@ -112,10 +120,13 @@ topoplot.data.frame <- function(data, # Filter out unwanted timepoints and find nearest time values in the data # -------------- - if (!is.null(time_lim)) { + if (!is.null(time_lim)) { data <- select_times(data, time_lim) - } + if (is.list(time_lim)) { + groups <- c(groups, "time") + } + } # Check for x and y co-ordinates, try to add if not found # -------------- @@ -158,17 +169,11 @@ topoplot.data.frame <- function(data, x <- NULL y <- NULL electrode <- NULL - # if (is.character(groups)) { - # groups <- as.name(groups) - # } if (is.character(quantity)) { quantity <- as.name(quantity) } - #groups <- rlang::enexpr(groups) - -# if (!is.null(rlang::enexpr(groups))) { if (!rlang::is_null(groups)) { data <- dplyr::group_by(data, @@ -178,11 +183,11 @@ topoplot.data.frame <- function(data, dplyr::across({{ groups }})) data <- dplyr::summarise(data, - fill = mean({{quantity}}, + fill = mean({{ quantity }}, na.rm = TRUE)) data <- dplyr::ungroup(data) data <- tidyr::nest(data, - data = -{{groups}}) + data = -{{ groups }}) } else { @@ -194,8 +199,8 @@ topoplot.data.frame <- function(data, z = mean({{quantity}}, na.rm = TRUE)) - # Cut the data frame down to only the necessary columns, and make sure it has - # the right names + # Cut the data frame down to only the necessary columns, and make sure it + # has the right names data <- data.frame(x = data$x, y = data$y, fill = data$z, @@ -210,24 +215,19 @@ topoplot.data.frame <- function(data, cols = c(data)) # Find furthest electrode from origin - #abs_x_max <- max(abs(data$x), na.rm = TRUE) - #abs_y_max <- max(abs(data$y), na.rm = TRUE) - #max_elec <- sqrt(abs_x_max^2 + abs_y_max^2) max_elec <- sqrt(max(abs(data$x)^2 + abs(data$y)^2)) if (is.null(r)) { - # mm are expected for coords, 95 is good approx for Fpz - Oz radius - # r <- switch(interp_limit, - # "head" = max_elec * 1.05, - # "skirt" = 95) r <- update_r(r = 95, data = data, interp_limit = interp_limit) } else { - if (r < max_elec) { - if (verbose) message("r < most distant electrode from origin, consider adjusting to no lower than ", - round(max_elec, 2)) - } + if (r < max_elec) { + if (verbose) { + message("r < most distant electrode from origin, consider adjusting to no lower than ", + round(max_elec, 2)) + } + } } if (verbose) { @@ -256,25 +256,27 @@ topoplot.data.frame <- function(data, linetype = ggplot2::after_stat(level) < 0), bins = 6, colour = "black", - size = rel(1.1 * scaling), + linewidth = rel(1.1 * scaling), show.legend = FALSE ) - } + } topo <- topo + - geom_mask(size = 5 * scaling, + geom_mask(linewidth = 5 * scaling, interp_limit = interp_limit) + geom_head(r = r, - size = rel(1.5) * scaling) + + linewidth = rel(1.5) * scaling) + coord_equal() + theme_bw() + theme(rect = element_blank(), line = element_blank(), axis.text = element_blank(), - axis.title = element_blank()) + - guides(fill = guide_colorbar(title = expression(paste("Amplitude (", - mu, "V)")), + axis.title = element_blank(), + legend.title = element_text(hjust = 0.5)) + + guides(fill = guide_colorbar(title = fill_title, + #expression(paste("Amplitude (", + # mu, "V)")), title.position = "right", barwidth = rel(1) * scaling, barheight = rel(6) * scaling, @@ -285,20 +287,20 @@ topoplot.data.frame <- function(data, topo <- topo + ggplot2::annotate("point", - x = data$x, - y = data$y, - colour = "black", - size = rel(2 * scaling)) - } else if (identical(chan_marker, "name")) { - topo <- - topo + - ggplot2::annotate("text", - x = data$x, - y = data$y, - label = data$electrode, - colour = "black", - size = rel(4 * scaling)) - } + x = data$x, + y = data$y, + colour = "black", + size = rel(2 * scaling)) + } else if (identical(chan_marker, "name")) { + topo <- + topo + + ggplot2::annotate("text", + x = data$x, + y = data$y, + label = data$electrode, + colour = "black", + size = rel(4 * scaling)) + } # Highlight specified electrodes if (!is.null(highlights)) { @@ -322,6 +324,14 @@ topoplot.data.frame <- function(data, topo + facet_wrap(~component) } + + if (is.list(time_lim)) { + topo <- + topo + + facet_wrap(~time, + labeller = labeller(time = function(x) round(as.numeric(x), 3))) + } + topo } @@ -345,20 +355,24 @@ topoplot.eeg_data <- function(data, time_lim = NULL, verbose = TRUE, groups = NULL, k = 40, + fill_title = expression( + paste("Amplitude (", mu, "V)") + ), ...) { if (!is.null(data$chan_info)) { chanLocs <- channels(data) } + chan_names <- channel_names(data) + if (is.null(time_lim)) { data <- as.data.frame(data) data <- as.data.frame(t(colMeans(data))) - data <- tidyr::gather(data, - electrode, - amplitude, - -sample, - -time) + data <- tidyr::pivot_longer(data, + cols = chan_names, + names_to = "electrode", + values_to = "amplitude") } else { data <- select_times(data, time_lim) @@ -383,7 +397,8 @@ topoplot.eeg_data <- function(data, time_lim = NULL, scaling = scaling, verbose = verbose, groups = groups, - k = k) + k = k, + fill_title = fill_title) } @@ -408,6 +423,9 @@ topoplot.eeg_epochs <- function(data, groups = NULL, verbose = TRUE, k = 40, + fill_title = expression( + paste("Amplitude (", mu, "V)") + ), ...) { if (!is.null(data$chan_info)) { @@ -442,8 +460,8 @@ topoplot.eeg_epochs <- function(data, scaling = scaling, groups = groups, verbose = verbose, - k = k - ) + k = k, + fill_title = fill_title) } @@ -469,6 +487,7 @@ topoplot.eeg_ICA <- function(data, verbose = TRUE, groups = NULL, k = 40, + fill_title = "a.u.", ...) { if (missing(component)) { stop("Component number must be specified for eeg_ICA objects.") @@ -478,18 +497,19 @@ topoplot.eeg_ICA <- function(data, message("time_lim is ignored for ICA components.") } - # chan_info <- data$chan_info - # data <- data.frame(amplitude = data$mixing_matrix[, component], - # electrode = data$mixing_matrix$electrode) data <- select(data, dplyr::all_of(component)) data <- as.data.frame(data, - mixing = TRUE, long = TRUE) + mixing = TRUE, + long = TRUE) if (length(component) > 1) { groups <- "component" + if (verbose) { + message(paste("Plotting", length(component), "components")) + } } topoplot(data, - chanLocs = chanLocs,#chan_info, + chanLocs = chanLocs, #chan_info, limits = limits, interp_limit = interp_limit, r = r, @@ -505,7 +525,8 @@ topoplot.eeg_ICA <- function(data, time_lim = NULL, verbose = verbose, groups = groups, - k = k) + k = k, + fill_title = fill_title) } @@ -532,6 +553,9 @@ topoplot.eeg_tfr <- function(data, verbose = TRUE, groups = NULL, k = 40, + fill_title = expression( + paste("Power (", mu, V^2, ")") + ), ...) { if (!is.null(data$chan_info)) { @@ -571,7 +595,8 @@ topoplot.eeg_tfr <- function(data, passed = TRUE, verbose = verbose, groups = groups, - k = k) + k = k, + fill_title = fill_title) } #' Set palette and limits for topoplot diff --git a/R/utils.R b/R/utils.R index a49e3750..bdb745e3 100644 --- a/R/utils.R +++ b/R/utils.R @@ -3,15 +3,16 @@ #' @param data data to be converted #' @param ... additional parameters #' @keywords internal -conv_to_mat <- function(data,...) { +conv_to_mat <- function(data, ...) { UseMethod("conv_to_mat", data) } +#' @keywords internal conv_to_mat.default <- function(data, ...) { stop("Not implemented for objects of class", class(data)) } -#' @describeIn conv_to_mat Convert eeg_epochs to 3D matrix +#' @describeIn conv_to_mat Convert `eeg_epochs` to 3D matrix conv_to_mat.eeg_epochs <- function(data, ...) { n_epochs <- length(unique(data$timings$epoch)) n_channels <- ncol(data$signals) @@ -21,7 +22,6 @@ conv_to_mat.eeg_epochs <- function(data, ...) { data } - is.true <- function(x) { !is.na(x) & x } @@ -48,9 +48,11 @@ zero_vec <- function(vec_length) { pad <- function(x, n, startval = 0, - endval = 0) {c(rep(startval, n), - x, - rep(endval, n))} + endval = 0) { + c(rep(startval, n), + x, + rep(endval, n)) + } #' Unpad a vector #' @@ -109,3 +111,4 @@ update_r <- #' Calculate maximum electrode distance from origin. #' @keywords internal calc_max_elec <- function(data) max(sqrt(data$x^2 + data$y^2), na.rm = TRUE) + diff --git a/R/view_ica.R b/R/view_ica.R index 0fd1f864..2a515f09 100644 --- a/R/view_ica.R +++ b/R/view_ica.R @@ -1,12 +1,17 @@ -#' EEG component viewer +#' EEG decomposition viewer #' -#' A Shiny viewer for ICA or SSD/RESS components that provides an interface for -#' looking at topographies, timecourses, and power spectral densities of all or -#' individual components. +#' A Shiny viewer for Independent Component Analysis or Spatio-spectral +#' Decomposition/RESS components that provides an interface for looking at +#' topographies, timecourses, and power spectral densities of all or individual +#' components. Can be used to select and reject artefactual components. #' -#' @author Matt craddock \email{matt@@mattcraddock.com} +#' @author Matt Craddock \email{matt@@mattcraddock.com} #' @param data An `eeg_ICA` object -#' @return NULL +#' @return A list consisting (optionally) of +#' * A character vector of components marked for rejection +#' * A character vector of components marked to be kept +#' * An `eeg_epochs` object reconstructed from the `eeg_ICA` object, with +#' components marked for rejection removed. #' @export view_ica <- function(data) { @@ -15,116 +20,132 @@ view_ica <- function(data) { stop("This function requires an eeg_ICA object.") } + psd_ica <- compute_psd(data, + verbose = FALSE, + keep_trials = FALSE) + + psd_ica <- tidyr::pivot_longer( + psd_ica, + cols = channel_names(data), + names_to = "component", + values_to = "power" + ) + + psd_ica$power <- 10 * log10(psd_ica$power) + + ica_erps <- + as.data.frame(eeg_average(data, + cols = "participant_id"), + long = TRUE, + coords = FALSE) + ica_butterfly <- plot_butterfly(ica_erps) + + ica_topoplots <- + topoplot(data, + seq_along(names(data$signals)), + grid_res = 67, + chan_marker = "none", + limits = c(-3, 3), + verbose = FALSE) + ui <- - navbarPage( - "ICA viewer", - tabPanel( - "Topographies", - plotOutput("comp_topos", - dblclick = "topo_click") + shiny::navbarPage( + title = "EEG decomposition viewer", + id = "main_page", + inverse = TRUE, + collapsible = TRUE, + shiny::tabPanel( + "Topographies", shiny::plotOutput("comp_topos", dblclick = "topo_click") ), - tabPanel( + shiny::tabPanel( "Timecourses", - plotOutput( - "ica_butters", - hover = "butter_click", - brush = brushOpts(id = "butter_brush", - resetOnNew = TRUE), - dblclick = "butter_dbl" - ), - verbatimTextOutput("info"), - tags$p(span("Hover over lines to see component details.")), - tags$p("To zoom, drag-click to highlight where you want to zoom, then double-click to zoom. Double-click again to zoom back out.") - + shiny::plotOutput("ica_butterflies", + hover = "butter_click", + brush = shiny::brushOpts(id = "butter_brush", + resetOnNew = TRUE), + dblclick = "butter_dbl"), + shiny::tableOutput("info"), + shiny::tags$p(shiny::span("Hover over lines to see component details.")), + shiny::tags$p("To zoom, drag-click to highlight where you want to zoom, then double-click to zoom. Double-click again to zoom back out.") ), - tabPanel( + shiny::tabPanel( "PSDs", - plotOutput( + shiny::plotOutput( "ica_psd", hover = "psd_click", - brush = brushOpts(id = "psd_brush", + brush = shiny::brushOpts(id = "psd_brush", resetOnNew = TRUE), dblclick = "psd_dbl" ), - verbatimTextOutput("psd_info"), - tags$p(span("Hover over lines to see component details.")), - tags$p("To zoom, drag-click to highlight where you want to zoom, then double-click to zoom. Double-click again to zoom back out.") + shiny::tableOutput("psd_info"), + shiny::tags$p(shiny::span("Hover over lines to see component details.")), + shiny::tags$p("To zoom, drag-click to highlight where you want to zoom, then double-click to zoom. Double-click again to zoom back out.") ), - tabPanel("Individual", - sidebarLayout( - sidebarPanel(selectInput( - "comp_no", - "Component:", - channel_names(data) - ), - width = 3), - mainPanel(fluidRow( - column(width = 6, - plotOutput("indiv_topo")), - column(width = 6, - plotOutput("indiv_erpim")) - ), - fluidRow( - column(width = 6, - plotOutput("indiv_psd")), - column(width = 6, - plotOutput("indiv_tc")) - ), - width = 9) - )) + shiny::tabPanel("Individual", + shiny::sidebarLayout( + shiny::sidebarPanel( + shiny::selectInput( + "comp_no", "Component:", + channel_names(data) + ), + shiny::radioButtons("reject_comps", + label = NULL, + choices = c("Keep", "Reject"), + inline = TRUE), + width = 3), + shiny::mainPanel( + shiny::fluidRow( + shiny::column(shiny::plotOutput("indiv_topo"), width = 6), + shiny::column(shiny::plotOutput("indiv_erpim"), width = 6) + ), + shiny::fluidRow( + shiny::column(shiny::plotOutput("indiv_psd"), width = 6), + shiny::column(shiny::plotOutput("indiv_tc"), width = 6) + ), + width = 9) + ) + ), + shiny::tabPanel("Output", + shiny::tableOutput("reject_table"), + shiny::checkboxGroupInput("output_choices", + label = "Output to return", + choices = list( + "Components to reject" = "reject", + "Components to keep" = "keep", + "Reconstructed data" = "data") + ), + shiny::actionButton("done", + "Press to close app and return to console")) + ) server <- function(input, output, session) { - ranges <- reactiveValues(x = NULL, + + comp_status <- shiny::reactiveValues() + ranges <- shiny::reactiveValues(x = NULL, y = NULL) - b_ranges <- reactiveValues(x = NULL, + b_ranges <- shiny::reactiveValues(x = NULL, y = NULL) - ica_erps <- - as.data.frame(eeg_average(data), - long = TRUE) - - ica_erps <- - dplyr::group_by(ica_erps, - electrode, - time) - - ica_erps <- dplyr::summarise(ica_erps, - amplitude = mean(amplitude)) - - psd_ica <- compute_psd(data, - verbose = FALSE) - - psd_ica <- tidyr::pivot_longer( - psd_ica, - cols = channel_names(data), - names_to = "component", - values_to = "power" - ) - - psd_ica <- dplyr::group_by(psd_ica, - component, - frequency) - psd_ica <- dplyr::summarise(psd_ica, - power = mean(10 * log10(power))) - - output$comp_topos <- shiny::renderPlot( - ica_topos(data), - height = function() { - .8 * session$clientData$output_comp_topos_width - } - ) + output$comp_topos <- + shiny::renderPlot( + ica_topoplots, + height = function() { + .75 * session$clientData$output_comp_topos_width + } + ) - output$ica_butters <- - renderPlot( - plot_butterfly(data) + + output$ica_butterflies <- + shiny::renderPlot( + ica_butterfly + coord_cartesian(xlim = b_ranges$x, - ylim = b_ranges$y)) + ylim = b_ranges$y) + ) output$ica_psd <- - renderPlot({ + shiny::renderPlot({ ggplot(psd_ica, aes(x = frequency, y = power, @@ -134,18 +155,20 @@ view_ica <- function(data) { coord_cartesian(xlim = ranges$x, ylim = ranges$y, expand = FALSE) - }) + }) - output$info <- renderPrint({ + output$info <- shiny::renderTable({ as.data.frame( shiny::nearPoints(ica_erps, input$butter_click, threshold = 20, - maxpoints = 1) + maxpoints = 1, + xvar = "time", + yvar = "amplitude") ) }) - output$psd_info <- renderPrint({ + output$psd_info <- shiny::renderTable({ as.data.frame( shiny::nearPoints(psd_ica, input$psd_click, @@ -154,64 +177,60 @@ view_ica <- function(data) { ) }) - output$indiv_topo <- renderCachedPlot({ + output$indiv_topo <- shiny::bindCache( + shiny::renderPlot({ topoplot(data, input$comp_no, verbose = FALSE) - }, cacheKeyExpr = { - input$comp_no - }) + }), + input$comp_no) - output$indiv_erpim <- renderCachedPlot({ - erp_image(data, - input$comp_no) - }, cacheKeyExpr = { - input$comp_no - }) + output$indiv_erpim <- shiny::bindCache( + shiny::renderPlot({ + erp_image(data, + input$comp_no) + }), + input$comp_no + ) - output$indiv_tc <- renderCachedPlot({ - plot_timecourse(data, - input$comp_no) - }, - cacheKeyExpr = { - input$comp_no - }) + output$indiv_tc <- shiny::bindCache( + shiny::renderPlot({ + plot_timecourse(data, + input$comp_no) + }), + input$comp_no) - output$indiv_psd <- renderCachedPlot({ - tmp_psd <- - compute_psd( - select(data, - input$comp_no), - n_fft = data$srate, - noverlap = 0, - verbose = FALSE - ) + output$indiv_psd <- shiny::bindCache( + shiny::renderPlot({ + tmp_psd <- + compute_psd( + select(data, + input$comp_no), + n_fft = data$srate, + noverlap = 0, + verbose = FALSE + ) + tmp_psd <- dplyr::rename(tmp_psd, + power = 2) + tmp_psd <- dplyr::filter(tmp_psd, + frequency >= 3, + frequency <= 50) + ggplot(tmp_psd, + aes(x = frequency, + y = 10 * log10((power)))) + + stat_summary(geom = "ribbon", + fun.data = mean_se, + alpha = 0.5) + + stat_summary(geom = "line", + fun = mean) + + theme_classic() + + labs(x = "Frequency (Hz)", + y = "Power (dB)") + + coord_cartesian(expand = FALSE) + }, res = 96), + input$icomp) - tmp_psd <- dplyr::rename(tmp_psd, - power = 2) - tmp_psd <- dplyr::filter(tmp_psd, - frequency >= 3, - frequency <= 50) - - ggplot(tmp_psd, - aes(x = frequency, - y = 10 * log10((power)))) + - stat_summary(geom = "ribbon", - fun.data = mean_se, - alpha = 0.5) + - stat_summary(geom = "line", - fun = mean) + - theme_classic() + - labs(x = "Frequency (Hz)", - y = "Power (dB)") + - coord_cartesian(expand = FALSE) - }, - cacheKeyExpr = { - input$comp_no - }, - res = 96) - - observeEvent(input$psd_dbl, { + shiny::observeEvent(input$psd_dbl, { brush <- input$psd_brush if (!is.null(brush)) { ranges$x <- c(brush$xmin, brush$xmax) @@ -222,7 +241,7 @@ view_ica <- function(data) { } }) - observeEvent(input$butter_dbl, { + shiny::observeEvent(input$butter_dbl, { brush <- input$butter_brush if (!is.null(brush)) { b_ranges$x <- c(brush$xmin, @@ -235,22 +254,92 @@ view_ica <- function(data) { } }) - } - shiny::shinyApp(ui, - server) + shiny::observeEvent(input$topo_click, { + selected_topo <- as.data.frame( + shiny::nearPoints(ica_topoplots$data, + input$topo_click, + threshold = 20, + maxpoints = 1) + ) + shiny::updateNavbarPage(inputId = "main_page", + selected = "Individual") + shiny::updateSelectInput(inputId = "comp_no", + selected = selected_topo$component) + }) + + shiny::observeEvent(input$comp_no, { + shiny::updateRadioButtons(inputId = "reject_comps", + choices = c("Keep", "Reject"), + selected = comp_status[[input$comp_no]], + inline = TRUE) + }) + + shiny::observeEvent(input$reject_comps, { + comp_status[[shiny::isolate(input$comp_no)]] <- input$reject_comps + comp_status + }) + + output$reject_table <- shiny::renderTable({ + rejects <- shiny::reactiveValuesToList(comp_status) + rejects <- + names(rejects)[vapply(rejects, + function(x) identical(x, "Reject"), + logical(1))] + data.frame("Rejected" = rejects) + } + ) + + shiny::observeEvent(input$done, { + outputs <- shiny::isolate(input$output_choices) + + if (is.null(outputs)) { + message("No output requested.") + shiny::stopApp() + } else { + returnValue <- vector( + "list", + length(outputs) + ) + names(returnValue) <- outputs + rejects <- shiny::reactiveValuesToList(shiny::isolate(comp_status)) + rejects <- + names(rejects)[vapply(rejects, + function(x) identical(x, "Reject"), + logical(1))] + if ("reject" %in% outputs) { + returnValue$reject <- rejects + } + + if ("data" %in% outputs) { + returnValue$data <- + apply_ica(data, + rejects) + } + + if ("keep" %in% outputs) { + returnValue$keep <- + channel_names(data)[!(channel_names(data) %in% rejects)] + } + } + shiny::stopApp(returnValue) + + }) + } + shiny::runGadget(ui, + server) } ica_topos <- function(data) { - ggplot2::ggplot(get_scalpmap(data, - grid_res = 80), - aes( - x = x, - y = y, - fill = scale(fill), - z = scale(fill) - )) + + ggplot2::ggplot( + get_scalpmap(data, + grid_res = 50), + aes(x = x, + y = y, + fill = scale(fill), + z = scale(fill) + )) + geom_raster(interpolate = TRUE) + geom_head(data = channels(data), mapping = aes(fill = NULL, @@ -261,7 +350,7 @@ ica_topos <- function(data) { colour = "black", size = rel(0.8) ) + - facet_wrap( ~ component) + + facet_wrap(~component) + theme_void() + scale_fill_distiller(palette = "RdBu", limits = c(-3, 3), diff --git a/R/zzz.R b/R/zzz.R index 56a8c785..b8454f1c 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -43,8 +43,10 @@ utils::globalVariables(c("time", ".lm.fit", "participant_id", "difference", - "expected") - ) + "expected", + "BDFAnnotations", + "weight") +) ## usethis namespace: start #' @importFrom Rcpp sourceCpp @@ -57,6 +59,6 @@ NULL ## usethis namespace: end NULL -.onUnload <- function (libpath) { +.onUnload <- function(libpath) { library.dynam.unload("eegUtils", libpath) } diff --git a/README.md b/README.md index 9ff665b3..6cdabea9 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@ Status](http://www.repostatus.org/badges/latest/wip.svg)](http://www.repostatus. [![Coverage Status](https://img.shields.io/codecov/c/github/craddm/eegUtils/master.svg)](https://codecov.io/github/craddm/eegUtils?branch=master) [![R-CMD-check](https://github.com/craddm/eegUtils/workflows/R-CMD-check/badge.svg)](https://github.com/craddm/eegUtils/actions) - [![DOI](https://zenodo.org/badge/85406871.svg)](https://zenodo.org/badge/latestdoi/85406871) + ## Overview diff --git a/README.rmd b/README.rmd index 94033759..20f82cfd 100644 --- a/README.rmd +++ b/README.rmd @@ -14,8 +14,8 @@ knitr::opts_chunk$set(echo = TRUE, [![Repo Status](http://www.repostatus.org/badges/latest/wip.svg)](http://www.repostatus.org/#wip) [![Coverage Status](https://img.shields.io/codecov/c/github/craddm/eegUtils/master.svg)](https://codecov.io/github/craddm/eegUtils?branch=master) [![R-CMD-check](https://github.com/craddm/eegUtils/workflows/R-CMD-check/badge.svg)](https://github.com/craddm/eegUtils/actions) - [![DOI](https://zenodo.org/badge/85406871.svg)](https://zenodo.org/badge/latestdoi/85406871) + ## Overview diff --git a/_pkgdown.yml b/_pkgdown.yml index c59f82b2..df04c7c0 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -4,6 +4,7 @@ development: mode: auto template: + bootstrap: 5 params: bootswatch: flatly @@ -86,3 +87,21 @@ reference: - channel_names - get_participant_id - get_recording + - title: internal + contents: + - starts_with("print") + - starts_with("is") + - epoch_data.default + - tag_epochs + - demo_epochs + - demo_spatial + - eeg_epochs + - eeg_ICA + - cycle_calc + - tag_epochs + - rotate_angle + - list_epochs + - list_events + - fit_glm + - eegUtils-package + - eeg_summarise diff --git a/codemeta.json b/codemeta.json index e0f765de..dada13cd 100644 --- a/codemeta.json +++ b/codemeta.json @@ -1,23 +1,20 @@ { - "@context": [ - "https://doi.org/10.5063/schema/codemeta-2.0", - "http://schema.org" - ], + "@context": "https://doi.org/10.5063/schema/codemeta-2.0", "@type": "SoftwareSourceCode", "identifier": "eegUtils", - "description": "A collection of functions for EEG processing. Includes import\n functions for Biosemi (BDF) and Neuroscan (CNT), topographical plotting, referencing, and epoching.", - "name": "eegUtils: A collection of utilities for EEG analysis ", + "description": "EEG processing and visualization tools. Includes import functions for 'BioSemi' (.BDF), 'Neuroscan' (.CNT), 'Brain Vision Analyzer' (.VHDR), 'EEGLAB' (.set) and 'Fieldtrip' (.mat). Many preprocessing functions such as referencing, epoching, filtering, and ICA are available. There are a variety of visualizations possible, including timecourse and topographical plotting.", + "name": "eegUtils: Utilities for Electroencephalographic (EEG) Analysis ", + "relatedLink": "https://craddm.github.io/eegUtils", "codeRepository": "https://github.com/craddm/eegUtils", "issueTracker": "https://github.com/craddm/eegUtils/issues", "license": "https://spdx.org/licenses/MIT", - "version": "0.5.0", + "version": "0.7.0.9000", "programmingLanguage": { "@type": "ComputerLanguage", "name": "R", - "version": "3.6.0", "url": "https://r-project.org" }, - "runtimePlatform": "R version 3.6.0 (2019-04-26)", + "runtimePlatform": "R version 4.2.1 (2022-06-23)", "author": [ { "@type": "Person", @@ -32,6 +29,22 @@ "givenName": "Matti", "familyName": "Vuorre", "email": "mv2521@columbia.edu" + }, + { + "@type": "Organization", + "name": "ggplot2 authors" + } + ], + "copyrightHolder": [ + { + "@type": "Person", + "givenName": "Matt", + "familyName": "Craddock", + "email": "matt@mattcraddock.com" + }, + { + "@type": "Organization", + "name": "ggplot2 authors" } ], "maintainer": [ @@ -139,6 +152,18 @@ }, "sameAs": "https://CRAN.R-project.org/package=geigen" }, + { + "@type": "SoftwareApplication", + "identifier": "whitening", + "name": "whitening", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=whitening" + }, { "@type": "SoftwareApplication", "identifier": "fICA", @@ -150,44 +175,54 @@ "url": "https://cran.r-project.org" }, "sameAs": "https://CRAN.R-project.org/package=fICA" - } - ], - "softwareRequirements": [ + }, { "@type": "SoftwareApplication", - "identifier": "ggplot2", - "name": "ggplot2", + "identifier": "edfReader", + "name": "edfReader", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", "name": "Comprehensive R Archive Network (CRAN)", "url": "https://cran.r-project.org" }, - "sameAs": "https://CRAN.R-project.org/package=ggplot2" + "sameAs": "https://CRAN.R-project.org/package=edfReader" }, { "@type": "SoftwareApplication", - "identifier": "dplyr", - "name": "dplyr", + "identifier": "ini", + "name": "ini", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", "name": "Comprehensive R Archive Network (CRAN)", "url": "https://cran.r-project.org" }, - "sameAs": "https://CRAN.R-project.org/package=dplyr" + "sameAs": "https://CRAN.R-project.org/package=ini" }, { "@type": "SoftwareApplication", - "identifier": "scales", - "name": "scales", + "identifier": "R.matlab", + "name": "R.matlab", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", "name": "Comprehensive R Archive Network (CRAN)", "url": "https://cran.r-project.org" }, - "sameAs": "https://CRAN.R-project.org/package=scales" + "sameAs": "https://CRAN.R-project.org/package=R.matlab" + }, + { + "@type": "SoftwareApplication", + "identifier": "hdf5r", + "name": "hdf5r", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=hdf5r" }, { "@type": "SoftwareApplication", @@ -202,6 +237,52 @@ "sameAs": "https://CRAN.R-project.org/package=mgcv" }, { + "@type": "SoftwareApplication", + "identifier": "infomax", + "name": "infomax", + "version": ">= 0.1.0", + "sameAs": "https://github.com/eegverse/infomax" + } + ], + "softwareRequirements": { + "1": { + "@type": "SoftwareApplication", + "identifier": "ggplot2", + "name": "ggplot2", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=ggplot2" + }, + "2": { + "@type": "SoftwareApplication", + "identifier": "dplyr", + "name": "dplyr", + "version": ">= 1.0.0", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=dplyr" + }, + "3": { + "@type": "SoftwareApplication", + "identifier": "scales", + "name": "scales", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=scales" + }, + "4": { "@type": "SoftwareApplication", "identifier": "purrr", "name": "purrr", @@ -213,7 +294,7 @@ }, "sameAs": "https://CRAN.R-project.org/package=purrr" }, - { + "5": { "@type": "SoftwareApplication", "identifier": "shiny", "name": "shiny", @@ -225,7 +306,7 @@ }, "sameAs": "https://CRAN.R-project.org/package=shiny" }, - { + "6": { "@type": "SoftwareApplication", "identifier": "tidyr", "name": "tidyr", @@ -238,7 +319,7 @@ }, "sameAs": "https://CRAN.R-project.org/package=tidyr" }, - { + "7": { "@type": "SoftwareApplication", "identifier": "miniUI", "name": "miniUI", @@ -250,11 +331,11 @@ }, "sameAs": "https://CRAN.R-project.org/package=miniUI" }, - { + "8": { "@type": "SoftwareApplication", "identifier": "rlang", "name": "rlang", - "version": ">= 0.4.0", + "version": ">= 1.0.0", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", @@ -263,7 +344,7 @@ }, "sameAs": "https://CRAN.R-project.org/package=rlang" }, - { + "9": { "@type": "SoftwareApplication", "identifier": "MASS", "name": "MASS", @@ -275,31 +356,7 @@ }, "sameAs": "https://CRAN.R-project.org/package=MASS" }, - { - "@type": "SoftwareApplication", - "identifier": "Matrix", - "name": "Matrix", - "provider": { - "@id": "https://cran.r-project.org", - "@type": "Organization", - "name": "Comprehensive R Archive Network (CRAN)", - "url": "https://cran.r-project.org" - }, - "sameAs": "https://CRAN.R-project.org/package=Matrix" - }, - { - "@type": "SoftwareApplication", - "identifier": "edfReader", - "name": "edfReader", - "provider": { - "@id": "https://cran.r-project.org", - "@type": "Organization", - "name": "Comprehensive R Archive Network (CRAN)", - "url": "https://cran.r-project.org" - }, - "sameAs": "https://CRAN.R-project.org/package=edfReader" - }, - { + "10": { "@type": "SoftwareApplication", "identifier": "signal", "name": "signal", @@ -311,7 +368,7 @@ }, "sameAs": "https://CRAN.R-project.org/package=signal" }, - { + "11": { "@type": "SoftwareApplication", "identifier": "tibble", "name": "tibble", @@ -323,12 +380,12 @@ }, "sameAs": "https://CRAN.R-project.org/package=tibble" }, - { + "12": { "@type": "SoftwareApplication", "identifier": "stats", "name": "stats" }, - { + "13": { "@type": "SoftwareApplication", "identifier": "matrixStats", "name": "matrixStats", @@ -340,31 +397,7 @@ }, "sameAs": "https://CRAN.R-project.org/package=matrixStats" }, - { - "@type": "SoftwareApplication", - "identifier": "R.matlab", - "name": "R.matlab", - "provider": { - "@id": "https://cran.r-project.org", - "@type": "Organization", - "name": "Comprehensive R Archive Network (CRAN)", - "url": "https://cran.r-project.org" - }, - "sameAs": "https://CRAN.R-project.org/package=R.matlab" - }, - { - "@type": "SoftwareApplication", - "identifier": "viridis", - "name": "viridis", - "provider": { - "@id": "https://cran.r-project.org", - "@type": "Organization", - "name": "Comprehensive R Archive Network (CRAN)", - "url": "https://cran.r-project.org" - }, - "sameAs": "https://CRAN.R-project.org/package=viridis" - }, - { + "14": { "@type": "SoftwareApplication", "identifier": "pracma", "name": "pracma", @@ -376,7 +409,7 @@ }, "sameAs": "https://CRAN.R-project.org/package=pracma" }, - { + "15": { "@type": "SoftwareApplication", "identifier": "abind", "name": "abind", @@ -388,103 +421,77 @@ }, "sameAs": "https://CRAN.R-project.org/package=abind" }, - { - "@type": "SoftwareApplication", - "identifier": "data.table", - "name": "data.table", - "provider": { - "@id": "https://cran.r-project.org", - "@type": "Organization", - "name": "Comprehensive R Archive Network (CRAN)", - "url": "https://cran.r-project.org" - }, - "sameAs": "https://CRAN.R-project.org/package=data.table" - }, - { + "16": { "@type": "SoftwareApplication", - "identifier": "ini", - "name": "ini", + "identifier": "plotly", + "name": "plotly", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", "name": "Comprehensive R Archive Network (CRAN)", "url": "https://cran.r-project.org" }, - "sameAs": "https://CRAN.R-project.org/package=ini" + "sameAs": "https://CRAN.R-project.org/package=plotly" }, - { + "17": { "@type": "SoftwareApplication", - "identifier": "shinydashboard", - "name": "shinydashboard", + "identifier": "future.apply", + "name": "future.apply", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", "name": "Comprehensive R Archive Network (CRAN)", "url": "https://cran.r-project.org" }, - "sameAs": "https://CRAN.R-project.org/package=shinydashboard" + "sameAs": "https://CRAN.R-project.org/package=future.apply" }, - { + "18": { "@type": "SoftwareApplication", - "identifier": "plotly", - "name": "plotly", + "identifier": "Rcpp", + "name": "Rcpp", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", "name": "Comprehensive R Archive Network (CRAN)", "url": "https://cran.r-project.org" }, - "sameAs": "https://CRAN.R-project.org/package=plotly" + "sameAs": "https://CRAN.R-project.org/package=Rcpp" }, - { + "19": { "@type": "SoftwareApplication", - "identifier": "future.apply", - "name": "future.apply", + "identifier": "data.table", + "name": "data.table", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", "name": "Comprehensive R Archive Network (CRAN)", "url": "https://cran.r-project.org" }, - "sameAs": "https://CRAN.R-project.org/package=future.apply" + "sameAs": "https://CRAN.R-project.org/package=data.table" }, - { + "20": { "@type": "SoftwareApplication", - "identifier": "Rcpp", - "name": "Rcpp", + "identifier": "isoband", + "name": "isoband", "provider": { "@id": "https://cran.r-project.org", "@type": "Organization", "name": "Comprehensive R Archive Network (CRAN)", "url": "https://cran.r-project.org" }, - "sameAs": "https://CRAN.R-project.org/package=Rcpp" + "sameAs": "https://CRAN.R-project.org/package=isoband" }, - { + "21": { "@type": "SoftwareApplication", "identifier": "R", "name": "R", - "version": ">= 3.2.0" - } - ], - "releaseNotes": "https://github.com/craddm/eegUtils/blob/master/NEWS.md", + "version": ">= 3.4.0" + }, + "SystemRequirements": null + }, + "fileSize": "16224.846KB", "readme": "https://github.com/craddm/eegUtils/blob/master/README.md", - "fileSize": "75965.192KB", - "contIntegration": [ - "https://codecov.io/github/craddm/eegUtils?branch=master", - "https://travis-ci.org/craddm/eegUtils", - "https://ci.appveyor.com/project/craddm/eegUtils" - ], + "contIntegration": ["https://codecov.io/github/craddm/eegUtils?branch=master", "https://github.com/craddm/eegUtils/actions"], "developmentStatus": "http://www.repostatus.org/#wip", - "copyrightHolder": {}, - "funder": {}, - "keywords": [ - "eeg", - "eeg-signals-processing", - "eeg-analysis", - "eeg-signals", - "eeg-data", - "r", - "rstats" - ] + "keywords": ["eeg", "eeg-signals-processing", "eeg-analysis", "eeg-signals", "eeg-data", "r", "rstats"] } diff --git a/data/demo_epochs.rda b/data/demo_epochs.rda index 8ce202e9..dafab88f 100644 Binary files a/data/demo_epochs.rda and b/data/demo_epochs.rda differ diff --git a/docs/dev/CODE_OF_CONDUCT.html b/docs/dev/CODE_OF_CONDUCT.html index 68e036dd..f63a92a8 100644 --- a/docs/dev/CODE_OF_CONDUCT.html +++ b/docs/dev/CODE_OF_CONDUCT.html @@ -1,74 +1,45 @@ -Contributor Code of Conduct • eegUtils - - -
-
-
- + + +
+
+
+
@@ -81,30 +52,22 @@

Contributor Code of Conduct

This Code of Conduct is adapted from the Contributor Covenant (https://www.contributor-covenant.org), version 1.0.0, available at https://contributor-covenant.org/version/1/0/0/.

-
+
- +
- - -
-
- - diff --git a/docs/dev/LICENSE-text.html b/docs/dev/LICENSE-text.html index 88c46165..12b64ed2 100644 --- a/docs/dev/LICENSE-text.html +++ b/docs/dev/LICENSE-text.html @@ -1,104 +1,67 @@ -License • eegUtils - - -
-
-
- + + +
+
+
+
YEAR: 2020
 COPYRIGHT HOLDER: Matt Craddock
 
-
+
- +
- - -
-
- - diff --git a/docs/dev/articles/data_structures.html b/docs/dev/articles/data_structures.html index e3967709..2089264f 100644 --- a/docs/dev/articles/data_structures.html +++ b/docs/dev/articles/data_structures.html @@ -6,13 +6,12 @@ A guide to eegUtils data structures • eegUtils - + - + +
+ +
-
-

-eegUtils

-

eegUtils uses S3 objects to store EEG data and associated information such as channel locations. Using different object classes for data structured in different ways ensures that the various plotting functions work consistently across different types of EEG data. For example, there are different classes for epoched (eeg_epochs) and continuous data (eeg_data), and for time-frequency representations of data (eeg_tfr).

+
+

eegUtils +

+

eegUtils uses S3 objects to store EEG data and +associated information such as channel locations. Using different object +classes for data structured in different ways ensures that the various +plotting functions work consistently across different types of EEG data. +For example, there are different classes for epoched +(eeg_epochs) and continuous data (eeg_data), +and for time-frequency representations of data +(eeg_tfr).

-
-

-eeg_data objects

-

eeg_data objects are the base class used for continuous data. When raw data is imported, the output is this class. This class is a list constituting the following entries:

+
+

+eeg_data objects +

+

eeg_data objects are the base class used for continuous +data. When raw data is imported, the output is this class. This class is +a list constituting the following entries:

  • signals
      -
    • A data frame containing the actual EEG data in wide format. Each column is data from a single electrode, each row from a single timepoint.
    • +
    • A data frame containing the actual EEG data in wide format. Each +column is data from a single electrode, each row from a single +timepoint.
  • srate
      -
    • A single numeric value giving the sampling rate of the data in Hz
    • +
    • A single numeric value giving the sampling rate of the data in +Hz
  • events
      -
    • A data.frame/tibble with 3 columns describing the events recorded in the data. +
    • A data.frame/tibble with 3 columns describing the events recorded in +the data.
      • event_onset (in samples) relative to recording onset
      • @@ -155,13 +162,17 @@

      • chan_info
          -
        • Often NULL on import, since BDF and CNT do not contain (usable) electrode locations.
        • -
        • A data.frame/tibble containing channel location information can be added. Currently similar to EEGLAB style, with the following columns (may change): +
        • Often NULL on import, since BDF and CNT do not contain (usable) +electrode locations.
        • +
        • A data.frame/tibble containing channel location information can be +added. Currently similar to EEGLAB style, with the following columns +(may change):
          • electrode - electrode names
          • -radius - Spherical co-ordinates (Radius is typically normalized to 1)
          • +radius - Spherical co-ordinates (Radius is typically +normalized to 1)
          • theta - Spherical co-ordinates (theta)
          • @@ -173,34 +184,38 @@

          • cart_z - Cartesian 3D coordinates
          • -x - 2D Stereographic projection of the spherical coordinates
          • +x - 2D Stereographic projection of the spherical +coordinates

          • -y - 2D Stereographic projection of the spherical coordinates
          • +y - 2D Stereographic projection of the spherical +coordinates
          -head(eegUtils:::electrodeLocs)
          -#> # A tibble: 6 x 9
          -#>   electrode radius theta   phi cart_x cart_y cart_z      x     y
          -#>   <fct>      <dbl> <dbl> <dbl>  <dbl>  <dbl>  <dbl>  <dbl> <dbl>
          -#> 1 LPA            1  -119    13 -86.1   -20.0 -48.0  -116.  -26.8
          -#> 2 RPA            1   119   -13  85.8   -20.0 -48.0   116.  -26.8
          -#> 3 Nz             1   115    90   0.01   86.8 -40.0     0   115  
          -#> 4 Fp1            1   -94   -71 -29.4    83.9  -6.99  -30.6  88.9
          -#> 5 Fpz            1    91    90   0.11   88.2  -1.71    0    91  
          -#> 6 Fp2            1    94    71  29.9    84.9  -7.08   30.6  88.9
          +head(eegUtils:::electrodeLocs) +#> # A tibble: 6 × 9 +#> electrode radius theta phi cart_x cart_y cart_z x y +#> <fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> +#> 1 LPA 1 -119 13 -86.1 -20.0 -48.0 -116. -26.8 +#> 2 RPA 1 119 -13 85.8 -20.0 -48.0 116. -26.8 +#> 3 Nz 1 115 90 0.01 86.8 -40.0 0 115 +#> 4 Fp1 1 -94 -71 -29.4 83.9 -6.99 -30.6 88.9 +#> 5 Fpz 1 91 90 0.11 88.2 -1.71 0 91 +#> 6 Fp2 1 94 71 29.9 84.9 -7.08 30.6 88.9
  • timings
      -
    • A data.frame containing a description of each row in time (s) and sample numbers (samples)
    • +
    • A data.frame containing a description of each row in time (s) and +sample numbers (samples)
  • epochs
      -
    • A data.frame containing information about the epochs in the data, more relevant for epoched data.
    • +
    • A data.frame containing information about the epochs in the data, +more relevant for epoched data.
  • @@ -210,52 +225,60 @@

  • Once data is referenced, is a list consisting of two entries.
    • -ref_chans - Labels for channels used to calculate the reference data. Can also be “average”.
    • +ref_chans - Labels for channels used to calculate the +reference data. Can also be “average”.
    • -excluded - Labels for any channels excluded from the reference data.
    • +excluded - Labels for any channels excluded from the +reference data.
  • -
    -

    -eeg_epochs

    -

    eeg_epochs objects share the same overall structure with eeg_data objects, but some of the internals currently differ, as described below.

    +
    +

    eeg_epochs +

    +

    eeg_epochs objects share the same overall structure with +eeg_data objects, but some of the internals currently +differ, as described below.

    • events
        -
      • The events table has two additional columns, epoch and time. +
      • The events table has two additional columns, epoch and +time.
        • -epoch gives the epoch number to which a given event belongs
        • +epoch gives the epoch number to which a given event +belongs
        • -time gives the time point at which the event occurs relative to the epoch onset +time gives the time point at which the event occurs +relative to the epoch onset
        • -event_time still gives the time point at which the event occurs relative to the recording onset +event_time still gives the time point at which the +event occurs relative to the recording onset
      -events(demo_epochs)
      -#> # A tibble: 80 x 5
      -#>    event_onset event_time event_type epoch  time
      -#>          <dbl>      <dbl>      <dbl> <dbl> <dbl>
      -#>  1        4128       8.06        208     1     0
      -#>  2        7037      13.7         213     2     0
      -#>  3       10043      19.6         215     3     0
      -#>  4       12928      25.2         213     4     0
      -#>  5       15868      31.0         207     5     0
      -#>  6       18777      36.7         207     6     0
      -#>  7       21578      42.1         213     7     0
      -#>  8       24554      48.0         213     8     0
      -#>  9       27379      53.5         222     9     0
      -#> 10       30306      59.2         208    10     0
      -#> # ... with 70 more rows
      +events(demo_epochs) +#> # A tibble: 80 × 5 +#> event_onset event_time event_type epoch time +#> <dbl> <dbl> <dbl> <dbl> <dbl> +#> 1 4128 8.06 208 1 0 +#> 2 7037 13.7 213 2 0 +#> 3 10043 19.6 215 3 0 +#> 4 12928 25.2 213 4 0 +#> 5 15868 31.0 207 5 0 +#> 6 18777 36.7 207 6 0 +#> 7 21578 42.1 213 7 0 +#> 8 24554 48.0 213 8 0 +#> 9 27379 53.5 222 9 0 +#> 10 30306 59.2 208 10 0 +#> # ℹ 70 more rows
  • timings @@ -263,54 +286,58 @@

  • The timings table has one additional column, epoch.
    • -epoch gives the epoch number to which a given datapoint belongs
    • +epoch gives the epoch number to which a given datapoint +belongs
    • sample still uniquely identifies each datapoint
    • -time now gives the time relative to the zero-point of the epoch, i.e. the event on which the epoch is centred.
    • +time now gives the time relative to the zero-point of +the epoch, i.e. the event on which the epoch is centred.
  • -head(demo_epochs$timings)
    -#> # A tibble: 6 x 3
    -#>   epoch sample   time
    -#>   <dbl>  <dbl>  <dbl>
    -#> 1     1   4028 -0.197
    -#> 2     1   4032 -0.189
    -#> 3     1   4036 -0.182
    -#> 4     1   4040 -0.174
    -#> 5     1   4044 -0.166
    -#> 6     1   4048 -0.158
    +head(demo_epochs$timings) +#> # A tibble: 6 × 3 +#> epoch sample time +#> <dbl> <dbl> <dbl> +#> 1 1 4028 -0.197 +#> 2 1 4032 -0.189 +#> 3 1 4036 -0.182 +#> 4 1 4040 -0.174 +#> 5 1 4044 -0.166 +#> 6 1 4048 -0.158

  • epochs
      -
    • A data.frame containing information about the participant, and labels applied to any epochs
    • +
    • A data.frame containing information about the participant, and +labels applied to any epochs
    -epochs(demo_epochs)
    -#> # A tibble: 80 x 4
    -#>    epoch recording epoch_label participant_id
    -#>    <dbl> <lgl>     <lgl>       <chr>         
    -#>  1     1 NA        NA          001           
    -#>  2     2 NA        NA          001           
    -#>  3     3 NA        NA          001           
    -#>  4     4 NA        NA          001           
    -#>  5     5 NA        NA          001           
    -#>  6     6 NA        NA          001           
    -#>  7     7 NA        NA          001           
    -#>  8     8 NA        NA          001           
    -#>  9     9 NA        NA          001           
    -#> 10    10 NA        NA          001           
    -#> # ... with 70 more rows
    +epochs(demo_epochs) +#> # A tibble: 80 × 4 +#> epoch recording epoch_label participant_id +#> <dbl> <lgl> <lgl> <chr> +#> 1 1 NA NA 001 +#> 2 2 NA NA 001 +#> 3 3 NA NA 001 +#> 4 4 NA NA 001 +#> 5 5 NA NA 001 +#> 6 6 NA NA 001 +#> 7 7 NA NA 001 +#> 8 8 NA NA 001 +#> 9 9 NA NA 001 +#> 10 10 NA NA 001 +#> # ℹ 70 more rows
  • -
    -

    -eeg_tfr

    -

    eeg_tfr objects hold time-frequency representations of eeg_epochs objects.

    +
    +

    eeg_tfr +

    +

    eeg_tfr objects hold time-frequency representations of +eeg_epochs objects.

    • signals @@ -321,26 +348,30 @@

    • dimensions
        -
      • keeps track of which matrix dimension corresponds to which property.
      • +
      • keeps track of which matrix dimension corresponds to which +property.
    -
    -

    -eeg_ICA

    -

    eeg_ICA objects contain the results of either an ICA or an SSD decomposition applied to an eeg_epochs object.

    +
    +

    eeg_ICA +

    +

    eeg_ICA objects contain the results of either an ICA or +an SSD decomposition applied to an eeg_epochs object.

    • mixing_matrix
        -
      • The weights that are used to convert the source data into the original data
      • +
      • The weights that are used to convert the source data into the +original data
    • unmixing_matrix
        -
      • The weights that are used to convert the original data into source data
      • +
      • The weights that are used to convert the original data into source +data
    • @@ -351,26 +382,28 @@

      +

    -

    Site built with pkgdown 1.6.1.

    +

    +

    Site built with pkgdown 2.1.0.

    - + + + diff --git a/docs/dev/articles/eegUtils.html b/docs/dev/articles/eegUtils.html index d0048fc0..c221d5a0 100644 --- a/docs/dev/articles/eegUtils.html +++ b/docs/dev/articles/eegUtils.html @@ -6,13 +6,12 @@ EEG Utils • eegUtils - + - + +
    + +
    -

    eegUtils is a package for performing basic EEG preprocessing and plotting of EEG data. Many of these functions are wrappers around existing R functions to make them behave in consistent ways and produce output that is more amenable to many of the subsequent steps in EEG analysis.

    -

    The package implements custom objects to contain EEG data and associated metadata. Some of its functions depend on data being stored in this format, but part of the philosophy of the package is that any object stored in the custom eeg_data and associated formats will always be convertible to a standard data.frame or tibble for subsequent use in whatever way the user desires. Plotting functions will typically work on both eeg_data objects and standard formats, while more complex processing functions will require an eeg_data or related custom object (such as eeg_tfr).

    -
    -

    -Basic EEG processing

    -

    There is currently suport for loading raw data in the .BDF (typically BioSemi), .CNT (32-bit; associated with Neuroscan), and .vhdr/.vmrk/.dat Brain Vision Analyzer 2.0 file formats using the import_raw() command. Loading data in these formats results in an eeg_data object - a structure that contains the raw data and a variety of metadata.

    -

    In this experiment, participants had to covertly attend to either the left or right visual field as indicated by a visual cue (an arrow pointing left or right). Around 1-1.5 seconds after the cue, a target - a Gabor patch - could appear in either the left or right visual field. The task was to determing whether the target patch showed a vertical or a horizontal grating. 80% of the time, the target appeared in the cued location.

    -

    You can find the file “Matt-task-spatcue.bdf” on Open Science Framework.

    +

    eegUtils is a package for performing basic EEG +preprocessing and plotting of EEG data. Many of these functions are +wrappers around existing R functions to make them behave in consistent +ways and produce output that is more amenable to many of the subsequent +steps in EEG analysis.

    +

    The package implements custom objects to contain EEG data and +associated metadata. Some of its functions depend on data being stored +in this format, but part of the philosophy of the package is that any +object stored in the custom eeg_data and associated formats +will always be convertible to a standard data.frame or tibble for +subsequent use in whatever way the user desires. Plotting functions will +typically work on both eeg_data objects and standard +formats, while more complex processing functions will require an +eeg_data or related custom object (such as +eeg_tfr).

    +
    +

    Basic EEG processing +

    +

    There is currently suport for loading raw data in the .BDF (typically +BioSemi), .CNT (32-bit; associated with Neuroscan), and .vhdr/.vmrk/.dat +Brain Vision Analyzer 2.0 file formats using the +import_raw() command. Loading data in these formats results +in an eeg_data object - a structure that contains the raw +data and a variety of metadata.

    +

    In this experiment, participants had to covertly attend to either the +left or right visual field as indicated by a visual cue (an arrow +pointing left or right). Around 1-1.5 seconds after the cue, a target - +a Gabor patch - could appear in either the left or right visual field. +The task was to determing whether the target patch showed a vertical or +a horizontal grating. 80% of the time, the target appeared in the cued +location.

    +

    You can find the file “Matt-task-spatcue.bdf” on Open Science Framework.

    -library(eegUtils)
    -#> 
    -#> Attaching package: 'eegUtils'
    -#> The following object is masked from 'package:stats':
    -#> 
    -#>     filter
    -if (!file.exists("Matt-task-spatcue.bdf")) {
    -  temp_dir <- tempdir()
    -  temp_file <- file.path(temp_dir, "Matt-task-spatcue.bdf")
    -  download.file("https://osf.io/hy5wq/download",
    -                temp_file,
    -                mode = "wb")
    -  eeg_example <- import_raw(temp_file)
    -} else {
    -  eeg_example <- import_raw("Matt-task-spatcue.bdf")
    -}
    -#> Importing Matt-task-spatcue.bdf as BDF
    -eeg_example
    -#> EEG data
    -#> 
    -#> Number of channels   : 72 
    -#> Electrode names      : Fp1 AF7 AF3 F1 F3 F5 F7 FT7 FC5 FC3 FC1 C1 C3 C5 T7 TP7 CP5 CP3 CP1 P1 P3 P5 P7 P9 PO7 PO3 O1 Iz Oz POz Pz CPz Fpz Fp2 AF8 AF4 AFz Fz F2 F4 F6 F8 FT8 FC6 FC4 FC2 FCz Cz C2 C4 C6 T8 TP8 CP6 CP4 CP2 P2 P4 P6 P8 P10 PO8 PO4 O2 EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 EXG7 EXG8 
    -#> Sampling rate        : 256 Hz
    -#> Reference        : 
    -#> Signal length: 0 1468.996 seconds
    -

    This data was recorded at 1024 Hz (downsampled here already to 256 Hz) using a BioSemi ActiveTwo amplifier and active electrodes. There were 64 electrodes positioned and named according to the 10-05 international system. A few additional electrodes (EXG1-EXG4) placed around the eyes to record eye movements, and two further reference electrodes placed on the left and right mastoids (EXG5 and EXG6). EXG7 and EXG8 are empty channels, with no electrodes attached.

    +library(eegUtils) +#> +#> Attaching package: 'eegUtils' +#> The following object is masked from 'package:stats': +#> +#> filter +if (!file.exists("Matt-task-spatcue.bdf")) { + temp_dir <- tempdir() + temp_file <- file.path(temp_dir, "Matt-task-spatcue.bdf") + download.file("https://osf.io/hy5wq/download", + temp_file, + mode = "wb") + eeg_example <- import_raw(temp_file) +} else { + eeg_example <- import_raw("Matt-task-spatcue.bdf") +} +#> Importing Matt-task-spatcue.bdf as BDF +eeg_example +#> EEG data +#> +#> Number of channels : 72 +#> Electrode names : Fp1 AF7 AF3 F1 F3 F5 F7 FT7 FC5 FC3 FC1 C1 C3 C5 T7 TP7 CP5 CP3 CP1 P1 P3 P5 P7 P9 PO7 PO3 O1 Iz Oz POz Pz CPz Fpz Fp2 AF8 AF4 AFz Fz F2 F4 F6 F8 FT8 FC6 FC4 FC2 FCz Cz C2 C4 C6 T8 TP8 CP6 CP4 CP2 P2 P4 P6 P8 P10 PO8 PO4 O2 EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 EXG7 EXG8 +#> Sampling rate : 256 Hz +#> Reference : +#> Signal length: 0 1468.996 seconds
    +

    This data was recorded at 1024 Hz (downsampled here already to 256 +Hz) using a BioSemi ActiveTwo amplifier and active electrodes. There +were 64 electrodes positioned and named according to the 10-05 +international system. A few additional electrodes (EXG1-EXG4) placed +around the eyes to record eye movements, and two further reference +electrodes placed on the left and right mastoids (EXG5 and EXG6). EXG7 +and EXG8 are empty channels, with no electrodes attached.

    -
    -

    -Referencing

    -

    A common first step would be to rereference the data, which can be done using the eeg_reference() command. By default, if no electrodes are specified, the data will be referenced to a common average, calculated from all the electrodes in the data. First we’ll remove the two empty channels, EXG7 and EXG8, using the select_elecs() function.

    +
    +

    Referencing +

    +

    A common first step would be to rereference the data, which can be +done using the eeg_reference() command. By default, if no +electrodes are specified, the data will be referenced to a common +average, calculated from all the electrodes in the data. First we’ll +remove the two empty channels, EXG7 and EXG8, using the +select_elecs() function.

    -eeg_example <- select_elecs(eeg_example,
    -                            electrode = c("EXG7", "EXG8"),
    -                            keep = FALSE)
    -eeg_example <- eeg_reference(eeg_example,
    -                             ref_chans = "average")
    -eeg_example
    -#> EEG data
    -#> 
    -#> Number of channels   : 70 
    -#> Electrode names      : Fp1 AF7 AF3 F1 F3 F5 F7 FT7 FC5 FC3 FC1 C1 C3 C5 T7 TP7 CP5 CP3 CP1 P1 P3 P5 P7 P9 PO7 PO3 O1 Iz Oz POz Pz CPz Fpz Fp2 AF8 AF4 AFz Fz F2 F4 F6 F8 FT8 FC6 FC4 FC2 FCz Cz C2 C4 C6 T8 TP8 CP6 CP4 CP2 P2 P4 P6 P8 P10 PO8 PO4 O2 EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 
    -#> Sampling rate        : 256 Hz
    -#> Reference        : average 
    -#> Signal length: 0 1468.996 seconds
    +eeg_example <- select_elecs(eeg_example, + electrode = c("EXG7", "EXG8"), + keep = FALSE) +eeg_example <- eeg_reference(eeg_example, + ref_chans = "average") +eeg_example +#> EEG data +#> +#> Number of channels : 70 +#> Electrode names : Fp1 AF7 AF3 F1 F3 F5 F7 FT7 FC5 FC3 FC1 C1 C3 C5 T7 TP7 CP5 CP3 CP1 P1 P3 P5 P7 P9 PO7 PO3 O1 Iz Oz POz Pz CPz Fpz Fp2 AF8 AF4 AFz Fz F2 F4 F6 F8 FT8 FC6 FC4 FC2 FCz Cz C2 C4 C6 T8 TP8 CP6 CP4 CP2 P2 P4 P6 P8 P10 PO8 PO4 O2 EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 +#> Sampling rate : 256 Hz +#> Reference : average +#> Signal length: 0 1468.996 seconds
    -
    -

    -Filtering

    -

    Filtering can be performed using the eeg_filter() command. This uses IIR or FIR filters to modify the frequency response of the signal, removing low or high frequency fluctuations as requested. For speed, we’ll use “iir” filtering here to perform bandpass filtering with a high-pass filter at .1 Hz and a low-pass filter at 40 Hz. We’ll also plot the power spectral density of the data before and after filtering, using the plot_psd() function.

    +
    +

    Filtering +

    +

    Filtering can be performed using the eeg_filter() +command. This uses IIR or FIR filters to modify the frequency response +of the signal, removing low or high frequency fluctuations as requested. +For speed, we’ll use “iir” filtering here to perform bandpass filtering +with a high-pass filter at .1 Hz and a low-pass filter at 40 Hz. We’ll +also plot the power spectral density of the data before and after +filtering, using the plot_psd() function.

    -plot_psd(eeg_example, 
    -         freq_range = c(0, 60),
    -         legend = FALSE)
    -#> Removing channel means...
    -#> Computing Power Spectral Density using Welch's method.
    -#>  FFT length:  2048 
    -#>  Segment length:  2048 
    -#>  Overlapping points:  1024 ( 50 %)
    +plot_psd(eeg_example, + freq_range = c(0, 60), + legend = FALSE) +#> Removing channel means... +#> Computing Power Spectral Density using Welch's method. +#> FFT length: 2048 +#> Segment length: 2048 +#> Overlapping points: 1024 ( 50 %)

    -
    -eeg_example <- eeg_filter(eeg_example,
    -                          method = "iir",
    -                          low_freq = .1,
    -                          high_freq = 40,
    -                          filter_order = 4) # specify a bandpass filter
    -#> Band-pass IIR filter from 0.1 - 40 Hz
    -#> Effective filter order: 8 (two-pass)
    -#> Removing channel means...
    -plot_psd(eeg_example, 
    -         freq_range = c(0, 60),
    -         legend = FALSE)
    -#> Removing channel means...
    -#> Computing Power Spectral Density using Welch's method.
    -#>  FFT length:  2048 
    -#>  Segment length:  2048 
    -#>  Overlapping points:  1024 ( 50 %)
    + +eeg_example <- eeg_filter(eeg_example, + method = "iir", + low_freq = .1, + high_freq = 40, + filter_order = 4) # specify a bandpass filter +#> Band-pass IIR filter from 0.1 - 40 Hz +#> Effective filter order: 8 (two-pass) +#> Removing channel means... +plot_psd(eeg_example, + freq_range = c(0, 60), + legend = FALSE) +#> Removing channel means... +#> Computing Power Spectral Density using Welch's method. +#> FFT length: 2048 +#> Segment length: 2048 +#> Overlapping points: 1024 ( 50 %)

    -
    -

    -Creating epochs

    -

    Data can be epoched around events/triggers using epoch_data(), which outputs an eeg_epochs object. A list of the event triggers found in the data can be retrieved using list_events(eeg_example), or more comprehensively, the events structure can be retrieved using events(eeg_example). In this case, we’ll epoch around events 120 and 122. These events correspond to the onset of a visual target on the left and right of fixation respectively, for validly cued trials only.

    -

    We can specify the length of epochs around the trigger using the time_lim argument, and label each epoch using epoch_labels. Here we also specify that the data should be baseline corrected using the average of the timepoints from -.1s to 0s (stimulus onset).

    +
    +

    Creating epochs +

    +

    Data can be epoched around events/triggers using +epoch_data(), which outputs an eeg_epochs +object. A list of the event triggers found in the data can be retrieved +using list_events(eeg_example), or more comprehensively, +the events structure can be retrieved using +events(eeg_example). In this case, we’ll epoch around +events 120 and 122. These events correspond to +the onset of a visual target on the left and right of fixation +respectively, for validly cued trials only.

    +

    We can specify the length of epochs around the trigger using the +time_lim argument, and label each epoch using +epoch_labels. Here we also specify that the data should be +baseline corrected using the average of the timepoints from -.1s to 0s +(stimulus onset).

    -list_events(eeg_example)
    -#>    event_type
    -#> 1         254
    -#> 2         100
    -#> 3          60
    -#> 4         200
    -#> 5         122
    -#> 6          20
    -#> 7          62
    -#> 8         120
    -#> 9          25
    -#> 10        132
    -#> 11        130
    -epoched_example <-
    -  epoch_data(
    -    eeg_example,
    -    events = c(120,
    -               122),
    -    epoch_labels = c("valid_left",
    -                     "valid_right"),
    -    time_lim = c(-.1, .4),
    -    baseline = c(-.1, 0)
    -  )
    -#> Adjusting output limits to match sampling rate.
    -#> Output limits:  -0.1015625 0.3984375
    -#> Creating 256 epochs.
    -

    After epoching, use the epochs() function to check the meta-information for this data and its epochs.

    +list_events(eeg_example) +#> event_type +#> 1 254 +#> 2 100 +#> 3 60 +#> 4 200 +#> 5 122 +#> 6 20 +#> 7 62 +#> 8 120 +#> 9 25 +#> 10 132 +#> 11 130 +epoched_example <- + epoch_data( + eeg_example, + events = c(120, + 122), + epoch_labels = c("valid_left", + "valid_right"), + time_lim = c(-.1, .4), + baseline = c(-.1, 0) + ) +#> Adjusting output limits to match sampling rate. +#> Output limits: -0.1015625 0.3984375 +#> Baseline: -0.1 - 0s +#> Creating 256 epochs.
    +

    After epoching, use the epochs() function to check the +meta-information for this data and its epochs.

    -epochs(epoched_example)
    -#> # A tibble: 256 x 5
    -#>    epoch participant_id recording         event_type epoch_labels
    -#>    <dbl> <chr>          <chr>                  <dbl> <chr>       
    -#>  1     1 ""             Matt-task-spatcue        122 valid_right 
    -#>  2     2 ""             Matt-task-spatcue        120 valid_left  
    -#>  3     3 ""             Matt-task-spatcue        122 valid_right 
    -#>  4     4 ""             Matt-task-spatcue        122 valid_right 
    -#>  5     5 ""             Matt-task-spatcue        120 valid_left  
    -#>  6     6 ""             Matt-task-spatcue        122 valid_right 
    -#>  7     7 ""             Matt-task-spatcue        120 valid_left  
    -#>  8     8 ""             Matt-task-spatcue        120 valid_left  
    -#>  9     9 ""             Matt-task-spatcue        122 valid_right 
    -#> 10    10 ""             Matt-task-spatcue        122 valid_right 
    -#> # ... with 246 more rows
    +epochs(epoched_example) +#> # A tibble: 256 × 5 +#> epoch participant_id recording event_type epoch_labels +#> <dbl> <lgl> <chr> <dbl> <chr> +#> 1 1 NA Matt-task-spatcue 122 valid_right +#> 2 2 NA Matt-task-spatcue 120 valid_left +#> 3 3 NA Matt-task-spatcue 122 valid_right +#> 4 4 NA Matt-task-spatcue 122 valid_right +#> 5 5 NA Matt-task-spatcue 120 valid_left +#> 6 6 NA Matt-task-spatcue 122 valid_right +#> 7 7 NA Matt-task-spatcue 120 valid_left +#> 8 8 NA Matt-task-spatcue 120 valid_left +#> 9 9 NA Matt-task-spatcue 122 valid_right +#> 10 10 NA Matt-task-spatcue 122 valid_right +#> # ℹ 246 more rows
    -
    -

    -Plotting

    -

    eeg_epochs can then be plotted using plot_butterfly() or plot_timecourse(). Both plot_butterfly() and plot_timecourse() average over epochs. plot_timecourse() will also average over electrodes - all electrodes if none are specified, or over any specified electrodes. Baseline correction can also be applied for plotting only using the baseline parameter in the plotting call.

    +
    +

    Plotting +

    +

    eeg_epochs can then be plotted using +plot_butterfly() or plot_timecourse(). Both +plot_butterfly() and plot_timecourse() average +over epochs. plot_timecourse() will also average over +electrodes - all electrodes if none are specified, or over any specified +electrodes. Baseline correction can also be applied for plotting only +using the baseline parameter in the plotting call.

    -plot_butterfly(epoched_example,
    -               legend = FALSE)
    +plot_butterfly(epoched_example, + legend = FALSE) +#> Creating epochs based on combinations of variables: participant_id epoch_labels

    -plot_butterfly(epoched_example,
    -               time_lim = c(-.1, .3),
    -               legend = FALSE)
    +plot_butterfly(epoched_example, + time_lim = c(-.1, .3), + legend = FALSE) +#> Creating epochs based on combinations of variables: participant_id epoch_labels

    -plot_timecourse(epoched_example,
    -                electrode = "POz") # Plot POz
    +plot_timecourse(epoched_example, + electrode = "POz") # Plot POz +#> Creating epochs based on combinations of variables: participant_id

    -plot_timecourse(epoched_example,
    -                electrode = c("POz", "Oz", "O1", "O2")) # average over four occipital electrodes
    +plot_timecourse(epoched_example, + electrode = c("POz", "Oz", "O1", "O2")) # average over four occipital electrodes +#> Creating epochs based on combinations of variables: participant_id

    -

    Standard channel locations can be added using the electrode_locations() command. This function supplies default locations for over 300 typical locations accroding to the 10-05 system. There are several specific montages provided that can be specified using the montage parameter.

    -

    You can inspect the added locations using channels().

    -

    topoplot() can then be used to plot a topographical representation of selected data. Note that it is not compulsory to use locations from electrode_locations(); if the data has x and y columns when it is a data frame, or added to chan_info element of the eeg_data/eeg_epochs object, then those will be used.

    +

    Standard channel locations can be added using the +electrode_locations() command. This function supplies +default locations for over 300 typical locations accroding to the 10-05 +system. There are several specific montages provided that can be +specified using the montage parameter.

    +

    You can inspect the added locations using +channels().

    +

    topoplot() can then be used to plot a topographical +representation of selected data. Note that it is not compulsory to use +locations from electrode_locations(); if the data has x and +y columns when it is a data frame, or added to chan_info +element of the eeg_data/eeg_epochs object, +then those will be used.

    -epoched_example <- electrode_locations(epoched_example)
    -#> Electrodes not found: EXG1 EXG2 EXG3 EXG4 EXG5 EXG6
    -channels(epoched_example)
    -#> # A tibble: 70 x 9
    -#>    electrode radius theta   phi cart_x cart_y cart_z     x     y
    -#>    <chr>      <dbl> <dbl> <dbl>  <dbl>  <dbl>  <dbl> <dbl> <dbl>
    -#>  1 Fp1            1   -94   -71  -29.4   83.9  -6.99 -30.6  88.9
    -#>  2 AF7            1   -97   -51  -54.8   68.6 -10.6  -61.0  75.4
    -#>  3 AF3            1   -76   -66  -33.7   76.8  21.2  -30.9  69.4
    -#>  4 F1             1   -46   -64  -27.5   56.9  60.3  -20.2  41.3
    -#>  5 F3             1   -60   -47  -50.2   53.1  42.2  -40.9  43.9
    -#>  6 F5             1   -78   -37  -64.5   48.0  16.9  -62.3  46.9
    -#>  7 F7             1   -98   -31  -70.3   42.5 -11.4  -84    50.5
    -#>  8 FT7            1   -98   -10  -80.8   14.1 -11.1  -96.5  17.0
    -#>  9 FC5            1   -73   -14  -77.2   18.6  24.5  -70.8  17.7
    -#> 10 FC3            1   -49   -21  -60.2   22.7  55.5  -45.8  17.6
    -#> # ... with 60 more rows
    -topoplot(epoched_example,
    -         time_lim = c(.22, .24))
    -#> Using electrode locations from data.
    -#> Removing channels with no location.
    +epoched_example <- electrode_locations(epoched_example, + overwrite = TRUE) +#> Electrodes not found: EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 +channels(epoched_example) +#> # A tibble: 70 × 9 +#> electrode radius theta phi cart_x cart_y cart_z x y +#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> +#> 1 Fp1 1 -94 -71 -29.4 83.9 -6.99 -30.6 88.9 +#> 2 AF7 1 -97 -51 -54.8 68.6 -10.6 -61.0 75.4 +#> 3 AF3 1 -76 -66 -33.7 76.8 21.2 -30.9 69.4 +#> 4 F1 1 -46 -64 -27.5 56.9 60.3 -20.2 41.3 +#> 5 F3 1 -60 -47 -50.2 53.1 42.2 -40.9 43.9 +#> 6 F5 1 -78 -37 -64.5 48.0 16.9 -62.3 46.9 +#> 7 F7 1 -98 -31 -70.3 42.5 -11.4 -84 50.5 +#> 8 FT7 1 -98 -10 -80.8 14.1 -11.1 -96.5 17.0 +#> 9 FC5 1 -73 -14 -77.2 18.6 24.5 -70.8 17.7 +#> 10 FC3 1 -49 -21 -60.2 22.7 55.5 -45.8 17.6 +#> # ℹ 60 more rows +topoplot(epoched_example, + time_lim = c(.22, .24)) +#> Creating epochs based on combinations of variables: participant_id epoch_labels +#> Using electrode locations from data. +#> Removing channels with no location. +#> Plotting head r 95 mm

    -

    At any point, eegUtils objects can be transformed into data frames for use with functions that don’t natively support them.

    +

    At any point, eegUtils objects can be transformed into +data frames for use with functions that don’t natively support them.

    -library(ggplot2)
    -library(dplyr)
    -#> 
    -#> Attaching package: 'dplyr'
    -#> The following objects are masked from 'package:stats':
    -#> 
    -#>     filter, lag
    -#> The following objects are masked from 'package:base':
    -#> 
    -#>     intersect, setdiff, setequal, union
    -epoched_example %>%
    -  select_epochs(epoch_no = 1:10) %>%
    -  select_elecs(c("PO8", "Cz")) %>%
    -  as.data.frame(long = TRUE) %>%
    -  ggplot(aes(x = time, y = amplitude)) +
    -  geom_line(aes(group = epoch), alpha = 0.2) + 
    -  stat_summary(fun.y = mean,
    -               geom = "line",
    -               size = 2,
    -               aes(colour = electrode)) + 
    -  facet_wrap(~electrode) + 
    -  theme_classic()
    -#> Warning: `fun.y` is deprecated. Use `fun` instead.
    +library(ggplot2) +library(dplyr) +#> +#> Attaching package: 'dplyr' +#> The following objects are masked from 'package:stats': +#> +#> filter, lag +#> The following objects are masked from 'package:base': +#> +#> intersect, setdiff, setequal, union +epoched_example %>% + select_epochs(epoch_no = 1:10) %>% + select_elecs(c("PO8", "Cz")) %>% + as.data.frame(long = TRUE) %>% + ggplot(aes(x = time, y = amplitude)) + + geom_line(aes(group = epoch), alpha = 0.2) + + stat_summary(fun.y = mean, + geom = "line", + size = 2, + aes(colour = electrode)) + + facet_wrap(~electrode) + + theme_classic() +#> Warning: The `fun.y` argument of `stat_summary()` is deprecated as of ggplot2 3.3.0. +#> Please use the `fun` argument instead. +#> This warning is displayed once every 8 hours. +#> Call `lifecycle::last_lifecycle_warnings()` to see where this warning was +#> generated. +#> Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0. +#> Please use `linewidth` instead. +#> This warning is displayed once every 8 hours. +#> Call `lifecycle::last_lifecycle_warnings()` to see where this warning was +#> generated.

    -
    -

    -Tidyverse functions

    -

    In addition, there are overloaded versions of some dplyr functions that operate on the signals element of eeg_data and eeg_epochs objects. For example, select() can be used to choose particular electrodes, and filter() can be used to filter out epochs or timepoints. mutate() can be used to add new columns (e.g. creating ROIs from multiple electrodes).

    +
    +

    Tidyverse functions +

    +

    In addition, there are overloaded versions of some dplyr +functions that operate on the signals element of +eeg_data and eeg_epochs objects. For example, +select() can be used to choose particular electrodes, and +filter() can be used to filter out epochs or timepoints. +mutate() can be used to add new columns (e.g. creating ROIs +from multiple electrodes).

    -epoched_example %>%
    -  rm_baseline(time_lim = c(-.1, 0)) %>%
    -  mutate(occipital = (O1 + O2 + Oz) / 3) %>%
    -  select(Oz, Fz, occipital) %>%
    -  filter(epoch <= 60, time < .3, time > -.1) %>%
    -  as.data.frame(long = TRUE) %>%
    -  ggplot(aes(x = time, y = amplitude)) +
    -  geom_line(aes(group = epoch), alpha = 0.2) + 
    -  stat_summary(fun = mean,
    -               geom = "line",
    -               size = 2,
    -               aes(colour = electrode)) +
    -  facet_wrap(~electrode) + 
    -  scale_colour_viridis_d() +
    -  theme_classic()
    +epoched_example %>% + rm_baseline(time_lim = c(-.1, 0)) %>% + mutate(occipital = (O1 + O2 + Oz) / 3) %>% + select(Oz, Fz, occipital) %>% + filter(epoch <= 60, time < .3, time > -.1) %>% + as.data.frame(long = TRUE) %>% + ggplot(aes(x = time, y = amplitude)) + + geom_line(aes(group = epoch), alpha = 0.2) + + stat_summary(fun = mean, + geom = "line", + size = 2, + aes(colour = electrode)) + + facet_wrap(~electrode) + + scale_colour_viridis_d() + + theme_classic() +#> Baseline: -0.1 - 0s

    + - + + + diff --git a/docs/dev/articles/eegUtils_files/figure-html/do-plots-1.png b/docs/dev/articles/eegUtils_files/figure-html/do-plots-1.png index add0fe42..19210fa8 100644 Binary files a/docs/dev/articles/eegUtils_files/figure-html/do-plots-1.png and b/docs/dev/articles/eegUtils_files/figure-html/do-plots-1.png differ diff --git a/docs/dev/articles/eegUtils_files/figure-html/do-plots-2.png b/docs/dev/articles/eegUtils_files/figure-html/do-plots-2.png index 6dea0975..f4314c6e 100644 Binary files a/docs/dev/articles/eegUtils_files/figure-html/do-plots-2.png and b/docs/dev/articles/eegUtils_files/figure-html/do-plots-2.png differ diff --git a/docs/dev/articles/eegUtils_files/figure-html/do-topo-1.png b/docs/dev/articles/eegUtils_files/figure-html/do-topo-1.png index f0333437..1bafb06c 100644 Binary files a/docs/dev/articles/eegUtils_files/figure-html/do-topo-1.png and b/docs/dev/articles/eegUtils_files/figure-html/do-topo-1.png differ diff --git a/docs/dev/articles/eegUtils_files/figure-html/filt-butter-1.png b/docs/dev/articles/eegUtils_files/figure-html/filt-butter-1.png index c6925608..3bd2c21a 100644 Binary files a/docs/dev/articles/eegUtils_files/figure-html/filt-butter-1.png and b/docs/dev/articles/eegUtils_files/figure-html/filt-butter-1.png differ diff --git a/docs/dev/articles/eegUtils_files/figure-html/filt-butter-2.png b/docs/dev/articles/eegUtils_files/figure-html/filt-butter-2.png index f066651e..92bfc22a 100644 Binary files a/docs/dev/articles/eegUtils_files/figure-html/filt-butter-2.png and b/docs/dev/articles/eegUtils_files/figure-html/filt-butter-2.png differ diff --git a/docs/dev/articles/epoch-handling.html b/docs/dev/articles/epoch-handling.html index f45fba88..3d4028ed 100644 --- a/docs/dev/articles/epoch-handling.html +++ b/docs/dev/articles/epoch-handling.html @@ -6,13 +6,12 @@ Event and epoch handling • eegUtils - + - + +
    + +
    -
    #> EEG data
    -#> 
    -#> Number of channels   : 72 
    -#> Electrode names      : A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 B32 EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 EXG7 EXG8 
    -#> Sampling rate        : 512 Hz
    -#> Reference        : 
    -#> Signal length: 0 443.998 seconds
    -

    In this example, we’re going to look at how to handle epoching and events. To start, we have continuous data from 70 channels sampled at 512 Hz, average referenced, and bandpass filtered from 0.1 to 40 Hz. There is a complete table of all of the events imported with the data. We can use that table to form epochs.

    +
    #> EEG data
    +#> 
    +#> Number of channels   : 72 
    +#> Electrode names      : A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 B32 EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 EXG7 EXG8 
    +#> Sampling rate        : 512 Hz
    +#> Reference        : 
    +#> Signal length: 0 443.998 seconds
    +

    In this example, we’re going to look at how to handle epoching and +events. To start, we have continuous data from 70 channels sampled at +512 Hz, average referenced, and bandpass filtered from 0.1 to 40 Hz. +There is a complete table of all of the events imported with the data. +We can use that table to form epochs.

    -eeg_example
    -#> EEG data
    -#> 
    -#> Number of channels   : 70 
    -#> Electrode names      : A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 B32 EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 
    -#> Sampling rate        : 512 Hz
    -#> Reference        : average 
    -#> Signal length: 0 443.998 seconds
    -events(eeg_example)
    -#> # A tibble: 468 x 3
    -#>    event_onset event_time event_type
    -#>          <dbl>      <dbl>      <dbl>
    -#>  1         475      0.926         18
    -#>  2         737      1.44         123
    -#>  3        1252      2.44         125
    -#>  4        1674      3.27         219
    -#>  5        2066      4.03         202
    -#>  6        2681      5.23          50
    -#>  7        3470      6.78           7
    -#>  8        3731      7.29         123
    -#>  9        4246      8.29         125
    -#> 10        4668      9.12         208
    -#> # ... with 458 more rows
    -

    There are 18 unique trigger codes, which we can check with list_events().

    +eeg_example +#> EEG data +#> +#> Number of channels : 70 +#> Electrode names : A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 B32 EXG1 EXG2 EXG3 EXG4 EXG5 EXG6 +#> Sampling rate : 512 Hz +#> Reference : average +#> Signal length: 0 443.998 seconds +events(eeg_example) +#> # A tibble: 468 × 3 +#> event_onset event_time event_type +#> <dbl> <dbl> <dbl> +#> 1 475 0.926 18 +#> 2 737 1.44 123 +#> 3 1252 2.44 125 +#> 4 1674 3.27 219 +#> 5 2066 4.03 202 +#> 6 2681 5.23 50 +#> 7 3470 6.78 7 +#> 8 3731 7.29 123 +#> 9 4246 8.29 125 +#> 10 4668 9.12 208 +#> # ℹ 458 more rows
    +

    There are 18 unique trigger codes, which we can check with +list_events().

    -list_events(eeg_example)
    -#>    event_type
    -#> 1          18
    -#> 2         123
    -#> 3         125
    -#> 4         219
    -#> 5         202
    -#> 6          50
    -#> 7           7
    -#> 8         208
    -#> 9          51
    -#> 10         21
    -#> 11        222
    -#> 12         12
    -#> 13        213
    -#> 14          6
    -#> 15        207
    -#> 16         14
    -#> 17        215
    -#> 18         99
    -

    In this experiment, six of those triggers correspond to condition codes.

    +list_events(eeg_example) +#> event_type +#> 1 18 +#> 2 123 +#> 3 125 +#> 4 219 +#> 5 202 +#> 6 50 +#> 7 7 +#> 8 208 +#> 9 51 +#> 10 21 +#> 11 222 +#> 12 12 +#> 13 213 +#> 14 6 +#> 15 207 +#> 16 14 +#> 17 215 +#> 18 99
    +

    In this experiment, six of those triggers correspond to condition +codes.

    @@ -210,85 +209,102 @@

    2021-07-16

    Trigger
    -

    We can use the epoch_data() function to create epochs around each of these triggers, and label those epochs accordingly. In this example, I’ll label each trigger using hierarchically coded event tags, simultaneously giving each condition of semantic type and spatial frequency separated by a “/” symbol.

    +

    We can use the epoch_data() function to create epochs +around each of these triggers, and label those epochs accordingly. In +this example, I’ll label each trigger using hierarchically coded event +tags, simultaneously giving each condition of semantic type and spatial +frequency separated by a “/” symbol.

    -example_epochs <- 
    -  epoch_data(eeg_example,
    -             events = c(207, 
    -                        208,
    -                        213,
    -                        215,
    -                        219,
    -                        222),
    -             epoch_labels = c("Match/HSF",
    -                              "Match/LSF",
    -                              "Mismatch/HSF",
    -                              "Mismatch/LSF",
    -                              "Nonsense/HSF",
    -                              "Nonsense/LSF"),
    -             time_lim = c(-.2, .6))
    -#> Adjusting output limits to match sampling rate.
    -#> Output limits:  -0.19921875 0.599609375
    -#> No baseline removal performed.
    -#> Creating 78 epochs.
    -events(example_epochs)
    -#> # A tibble: 78 x 6
    -#>    event_onset event_time event_type event_label  epoch  time
    -#>          <dbl>      <dbl>      <dbl> <chr>        <dbl> <dbl>
    -#>  1        1674       3.27        219 Nonsense/HSF     1     0
    -#>  2        4668       9.12        208 Match/LSF        2     0
    -#>  3        7565      14.8         222 Nonsense/LSF     3     0
    -#>  4       10613      20.7         208 Match/LSF        4     0
    -#>  5       13486      26.3         213 Mismatch/HSF     5     0
    -#>  6       16263      31.8         207 Match/HSF        6     0
    -#>  7       19293      37.7         215 Mismatch/LSF     7     0
    -#>  8       22069      43.1         208 Match/LSF        8     0
    -#>  9       25063      48.9         222 Nonsense/LSF     9     0
    -#> 10       27912      54.5         213 Mismatch/HSF    10     0
    -#> # ... with 68 more rows
    -epochs(example_epochs)
    -#> # A tibble: 78 x 5
    -#>    epoch participant_id recording event_type epoch_labels
    -#>    <dbl> <chr>          <chr>          <dbl> <chr>       
    -#>  1     1 S2             S2B1             219 Nonsense/HSF
    -#>  2     2 S2             S2B1             208 Match/LSF   
    -#>  3     3 S2             S2B1             222 Nonsense/LSF
    -#>  4     4 S2             S2B1             208 Match/LSF   
    -#>  5     5 S2             S2B1             213 Mismatch/HSF
    -#>  6     6 S2             S2B1             207 Match/HSF   
    -#>  7     7 S2             S2B1             215 Mismatch/LSF
    -#>  8     8 S2             S2B1             208 Match/LSF   
    -#>  9     9 S2             S2B1             222 Nonsense/LSF
    -#> 10    10 S2             S2B1             213 Mismatch/HSF
    -#> # ... with 68 more rows
    -

    As can be seen, this modifies the epochs structure so that it now labels each epoch accordingly. Since we have hierarchically encoded event tags, an easy way to split that into multiple columns is using the separate() function from the tidyr package.

    +example_epochs <- + epoch_data(eeg_example, + events = c(207, + 208, + 213, + 215, + 219, + 222), + epoch_labels = c("Match/HSF", + "Match/LSF", + "Mismatch/HSF", + "Mismatch/LSF", + "Nonsense/HSF", + "Nonsense/LSF"), + time_lim = c(-.2, .6)) +#> Adjusting output limits to match sampling rate. +#> Output limits: -0.19921875 0.599609375 +#> No baseline removal performed. +#> Creating 78 epochs. +events(example_epochs) +#> # A tibble: 78 × 6 +#> event_onset event_time event_type event_label epoch time +#> <dbl> <dbl> <dbl> <chr> <dbl> <dbl> +#> 1 1674 3.27 219 Nonsense/HSF 1 0 +#> 2 4668 9.12 208 Match/LSF 2 0 +#> 3 7565 14.8 222 Nonsense/LSF 3 0 +#> 4 10613 20.7 208 Match/LSF 4 0 +#> 5 13486 26.3 213 Mismatch/HSF 5 0 +#> 6 16263 31.8 207 Match/HSF 6 0 +#> 7 19293 37.7 215 Mismatch/LSF 7 0 +#> 8 22069 43.1 208 Match/LSF 8 0 +#> 9 25063 48.9 222 Nonsense/LSF 9 0 +#> 10 27912 54.5 213 Mismatch/HSF 10 0 +#> # ℹ 68 more rows +epochs(example_epochs) +#> # A tibble: 78 × 5 +#> epoch participant_id recording event_type epoch_labels +#> <dbl> <chr> <chr> <dbl> <chr> +#> 1 1 S2 S2B1 219 Nonsense/HSF +#> 2 2 S2 S2B1 208 Match/LSF +#> 3 3 S2 S2B1 222 Nonsense/LSF +#> 4 4 S2 S2B1 208 Match/LSF +#> 5 5 S2 S2B1 213 Mismatch/HSF +#> 6 6 S2 S2B1 207 Match/HSF +#> 7 7 S2 S2B1 215 Mismatch/LSF +#> 8 8 S2 S2B1 208 Match/LSF +#> 9 9 S2 S2B1 222 Nonsense/LSF +#> 10 10 S2 S2B1 213 Mismatch/HSF +#> # ℹ 68 more rows
    +

    As can be seen, this modifies the epochs structure so that it now +labels each epoch accordingly. Since we have hierarchically encoded +event tags, an easy way to split that into multiple columns is using the +separate() function from the tidyr +package.

    -epochs(example_epochs) <- tidyr::separate(epochs(example_epochs),
    -                                          col = epoch_labels,
    -                                          into = c("Semantics", "SF"))
    -epochs(example_epochs)
    -#> # A tibble: 78 x 6
    -#>    epoch participant_id recording event_type Semantics SF   
    -#>    <dbl> <chr>          <chr>          <dbl> <chr>     <chr>
    -#>  1     1 S2             S2B1             219 Nonsense  HSF  
    -#>  2     2 S2             S2B1             208 Match     LSF  
    -#>  3     3 S2             S2B1             222 Nonsense  LSF  
    -#>  4     4 S2             S2B1             208 Match     LSF  
    -#>  5     5 S2             S2B1             213 Mismatch  HSF  
    -#>  6     6 S2             S2B1             207 Match     HSF  
    -#>  7     7 S2             S2B1             215 Mismatch  LSF  
    -#>  8     8 S2             S2B1             208 Match     LSF  
    -#>  9     9 S2             S2B1             222 Nonsense  LSF  
    -#> 10    10 S2             S2B1             213 Mismatch  HSF  
    -#> # ... with 68 more rows
    -

    Any columns in the epochs structure are included when converting to a data frame. This has a lot of advantages for plotting; many plotting commands now allow you to use facet_wrap() and facet_grid() from ggplot2 to facet on any of the columns from the epoch structure. Note that for performance reasons, facetting must be explicitly allowed using allow_facets = TRUE, since ggplot2’s stat_summary() function can be extremely slow.

    +epochs(example_epochs) <- tidyr::separate(epochs(example_epochs), + col = epoch_labels, + into = c("Semantics", "SF")) +epochs(example_epochs) +#> # A tibble: 78 × 6 +#> epoch participant_id recording event_type Semantics SF +#> <dbl> <chr> <chr> <dbl> <chr> <chr> +#> 1 1 S2 S2B1 219 Nonsense HSF +#> 2 2 S2 S2B1 208 Match LSF +#> 3 3 S2 S2B1 222 Nonsense LSF +#> 4 4 S2 S2B1 208 Match LSF +#> 5 5 S2 S2B1 213 Mismatch HSF +#> 6 6 S2 S2B1 207 Match HSF +#> 7 7 S2 S2B1 215 Mismatch LSF +#> 8 8 S2 S2B1 208 Match LSF +#> 9 9 S2 S2B1 222 Nonsense LSF +#> 10 10 S2 S2B1 213 Mismatch HSF +#> # ℹ 68 more rows
    +

    Any columns in the epochs structure are included when +converting to a data frame. This has a lot of advantages for plotting; +many plotting commands now allow you to use facet_wrap() +and facet_grid() from ggplot2 to facet on any +of the columns from the epoch structure. Note that for performance +reasons, facetting must be explicitly allowed using +allow_facets = TRUE, since ggplot2’s +stat_summary() function can be extremely slow.

    -library(ggplot2)
    -plot_butterfly(example_epochs,
    -               legend = FALSE,
    -               baseline = c(-.1, 0),
    -               allow_facets = TRUE) +
    -  facet_wrap(~SF)
    +library(ggplot2) +plot_butterfly(example_epochs, + legend = FALSE, + baseline = c(-.1, 0), + allow_facets = TRUE) + + facet_wrap(~SF) +#> Creating epochs based on combinations of variables: participant_id Semantics SF +#> Baseline: -0.1 - 0s

    @@ -301,17 +317,21 @@

    2021-07-16

    - + + + diff --git a/docs/dev/articles/epoch-handling_files/figure-html/unnamed-chunk-6-1.png b/docs/dev/articles/epoch-handling_files/figure-html/unnamed-chunk-6-1.png index 124628b8..d0ac21f6 100644 Binary files a/docs/dev/articles/epoch-handling_files/figure-html/unnamed-chunk-6-1.png and b/docs/dev/articles/epoch-handling_files/figure-html/unnamed-chunk-6-1.png differ diff --git a/docs/dev/articles/index.html b/docs/dev/articles/index.html index 0bb67e6d..5756ede3 100644 --- a/docs/dev/articles/index.html +++ b/docs/dev/articles/index.html @@ -1,79 +1,49 @@ -Articles • eegUtils - - -
    -
    -
    - + + +
    +
    + -
    +
    -
    +
    + - - diff --git a/docs/dev/articles/linear_modelling/linear_modelling.html b/docs/dev/articles/linear_modelling/linear_modelling.html index 42fa5f2a..322fe929 100644 --- a/docs/dev/articles/linear_modelling/linear_modelling.html +++ b/docs/dev/articles/linear_modelling/linear_modelling.html @@ -6,13 +6,12 @@ Linear Modelling • eegUtils - + - + +
    + +
    @@ -117,144 +110,185 @@

    2021-07-16

    -library(eegUtils)
    -#> 
    -#> Attaching package: 'eegUtils'
    -#> The following object is masked from 'package:stats':
    -#> 
    -#>     filter
    -library(R.matlab)
    -#> R.matlab v3.6.2 (2018-09-26) successfully loaded. See ?R.matlab for help.
    -#> 
    -#> Attaching package: 'R.matlab'
    -#> The following objects are masked from 'package:base':
    -#> 
    -#>     getOption, isOpen
    -library(ggplot2)
    -library(tidyr)
    -

    Here we show how to fit a linear model to a single subject’s data. We’ll use the data from the LIMO EEG datase [^1] - S1

    -

    This data is from a two-alternative forced choice experiment in which participants had to discriminate between two different faces. Across the course of the experiment, the faces were also varied in their phase coherence from 0% to 85%. The more phase coherent the face images, the easier they were to discriminate from each other.

    +library(eegUtils) +#> +#> Attaching package: 'eegUtils' +#> The following object is masked from 'package:stats': +#> +#> filter +library(R.matlab) +#> R.matlab v3.7.0 (2022-08-25 21:52:34 UTC) successfully loaded. See ?R.matlab for help. +#> +#> Attaching package: 'R.matlab' +#> The following objects are masked from 'package:base': +#> +#> getOption, isOpen +library(ggplot2) +library(tidyr)
    +

    Here we show how to fit a linear model to a single subject’s data. +We’ll use the data from the LIMO EEG datase [^1] - S1

    +

    This data is from a two-alternative forced choice experiment in which +participants had to discriminate between two different faces. Across the +course of the experiment, the faces were also varied in their phase +coherence from 0% to 85%. The more phase coherent the face images, the +easier they were to discriminate from each other.

    -limo_test <- import_set("limo_dataset_S1.set")
    -#> Importing from EEGLAB .set file.
    -#> Importing data from .fdt file.
    -#> Rounding non-integer event sample latencies...
    -limo_cont <- R.matlab::readMat("continuous_variable.mat")
    -limo_cat <- readr::read_csv("categorical_variable.txt",
    -                            col_names = c("cond_lab"))
    -#> 
    -#> -- Column specification --------------------------------------------------------
    -#> cols(
    -#>   cond_lab = col_double()
    -#> )
    -

    The fit_glm() linear model fitting function in eegUtils looks in the epochs field of the data structures as predictors. To use these for linear modelling here, we’ll add the categorical and continuous predictors to the epochs structure.

    +limo_test <- import_set("limo_dataset_S1.set") +#> Importing from EEGLAB .set file. +#> Importing data from .fdt file. +#> Rounding non-integer event sample latencies... +limo_cont <- R.matlab::readMat("continuous_variable.mat") +limo_cat <- readr::read_csv("categorical_variable.txt", + col_names = c("cond_lab")) +#> Rows: 1055 Columns: 1 +#> ── Column specification ──────────────────────────────────────────────────────── +#> Delimiter: "," +#> dbl (1): cond_lab +#> +#> Use `spec()` to retrieve the full column specification for this data. +#> Specify the column types or set `show_col_types = FALSE` to quiet this message.
    +

    The fit_glm() linear model fitting function in +eegUtils looks in the epochs field of the data +structures as predictors. To use these for linear modelling here, we’ll +add the categorical and continuous predictors to the epochs +structure.

    -epochs(limo_test) <- dplyr::mutate(epochs(limo_test),
    -                            phase_coherence = unlist(limo_cont),
    -                            face = factor(limo_cat$cond_lab,
    -                                          levels = c(1, 2),
    -                                          labels = c("Face_A",
    -                                                     "Face_B")))
    -epochs(limo_test)
    -#> # A tibble: 1,055 x 5
    -#>    epoch participant_id  recording       phase_coherence face  
    -#>    <int> <chr>           <chr>                     <dbl> <fct> 
    -#>  1     1 limo_dataset_S1 limo_dataset_S1            0.6  Face_B
    -#>  2     2 limo_dataset_S1 limo_dataset_S1            0.55 Face_A
    -#>  3     3 limo_dataset_S1 limo_dataset_S1            0.3  Face_B
    -#>  4     4 limo_dataset_S1 limo_dataset_S1            0.1  Face_A
    -#>  5     5 limo_dataset_S1 limo_dataset_S1            0.15 Face_A
    -#>  6     6 limo_dataset_S1 limo_dataset_S1            0.1  Face_B
    -#>  7     7 limo_dataset_S1 limo_dataset_S1            0.85 Face_A
    -#>  8     8 limo_dataset_S1 limo_dataset_S1            0.8  Face_B
    -#>  9     9 limo_dataset_S1 limo_dataset_S1            0.25 Face_A
    -#> 10    10 limo_dataset_S1 limo_dataset_S1            0.65 Face_B
    -#> # ... with 1,045 more rows
    -

    The first argument to fit_glm() is a standard R formula, using Wilkinson notation. Unusually, the left hand side of the ~ is omitted, since we’ll be fitting the model to every electrode at every timepoint. On the right hand side, we put our predictors. In this case, we have two: face, a categorical predictor; and phase_coherence, a continuous predictor. The appropriate formula is thus ~face + phase_coherence.

    -

    R’s default contrasts are treatment or dummy contrasts, so we expect the model to return three coefficients: an intercept, which will be the amplitude when the categorical predictor is at its first level (i.e. Face A) and when phase coherence is 0; a face term, which will be the difference in amplitude from the intercept when the level of Face is Face B; and a phase_coherence term, which will be the increase in amplitude when image phase coherence increases from 0 to 1.

    -

    We can convert the fitted model into a standard data.frame using the as.data.frame function. By default, this returns the coefficients for each time point for each electrode. The values argument can be used to request other statistics by passing “coefficients”, “std_err”, “t_stats”, or “r_sq”.

    +epochs(limo_test) <- dplyr::mutate(epochs(limo_test), + phase_coherence = unlist(limo_cont), + face = factor(limo_cat$cond_lab, + levels = c(1, 2), + labels = c("Face_A", + "Face_B"))) +epochs(limo_test) +#> # A tibble: 1,055 × 5 +#> epoch participant_id recording phase_coherence face +#> <int> <chr> <chr> <dbl> <fct> +#> 1 1 limo_dataset_S1 limo_dataset_S1 0.6 Face_B +#> 2 2 limo_dataset_S1 limo_dataset_S1 0.55 Face_A +#> 3 3 limo_dataset_S1 limo_dataset_S1 0.3 Face_B +#> 4 4 limo_dataset_S1 limo_dataset_S1 0.1 Face_A +#> 5 5 limo_dataset_S1 limo_dataset_S1 0.15 Face_A +#> 6 6 limo_dataset_S1 limo_dataset_S1 0.1 Face_B +#> 7 7 limo_dataset_S1 limo_dataset_S1 0.85 Face_A +#> 8 8 limo_dataset_S1 limo_dataset_S1 0.8 Face_B +#> 9 9 limo_dataset_S1 limo_dataset_S1 0.25 Face_A +#> 10 10 limo_dataset_S1 limo_dataset_S1 0.65 Face_B +#> # ℹ 1,045 more rows
    +

    The first argument to fit_glm() is a standard R formula, +using Wilkinson notation. Unusually, the left hand side of the +~ is omitted, since we’ll be fitting the model to every +electrode at every timepoint. On the right hand side, we put our +predictors. In this case, we have two: face, a categorical +predictor; and phase_coherence, a continuous predictor. The +appropriate formula is thus ~face + phase_coherence.

    +

    R’s default contrasts are treatment or dummy +contrasts, so we expect the model to return three coefficients: an +intercept, which will be the amplitude when the categorical +predictor is at its first level (i.e. Face A) and when phase coherence +is 0; a face term, which will be the difference in +amplitude from the intercept when the level of Face is +Face B; and a phase_coherence term, which will be +the increase in amplitude when image phase coherence increases from 0 to +1.

    +

    We can convert the fitted model into a standard data.frame using the +as.data.frame function. By default, this returns the +coefficients for each time point for each electrode. The +values argument can be used to request other statistics by +passing “coefficients”, “std_err”, “t_stats”, or “r_sq”.

    -fitted_model <- fit_glm(~ face + phase_coherence,
    -                        data = limo_test)
    -as.data.frame(fitted_model,
    -              long = TRUE) %>%
    -  ggplot(aes(x = time,
    -             y = amplitude,
    -             colour = electrode)) +
    -  geom_line() +
    -  facet_wrap(~coefficient,
    -             scales = "free") +
    -  theme(legend.position = "none")
    +fitted_model <- fit_glm(~ face + phase_coherence, + data = limo_test) +as.data.frame(fitted_model, + long = TRUE) %>% + ggplot(aes(x = time, + y = amplitude, + colour = electrode)) + + geom_line() + + facet_wrap(~coefficient, + scales = "free") + + theme(legend.position = "none")

    -

    An alternative paramterization would be to remove the intercept term. The function would then return separate coefficients representing Face A and Face B. This would be particularly helpful if you are planning to take these coefficients forwards to a second-level analysis.

    +

    An alternative paramterization would be to remove the intercept term. +The function would then return separate coefficients representing +Face A and Face B. This would be particularly +helpful if you are planning to take these coefficients forwards to a +second-level analysis.

    -fitted_model_no_int <- fit_glm(~0 + face + phase_coherence,
    -                        data = limo_test)
    -as.data.frame(fitted_model_no_int,
    -              long = TRUE) %>%
    -  ggplot(aes(x = time,
    -             y = amplitude,
    -             colour = electrode)) +
    -  geom_line() +
    -  facet_wrap(~coefficient,
    -             scales = "free") +
    -  theme(legend.position = "none")
    +fitted_model_no_int <- fit_glm(~0 + face + phase_coherence, + data = limo_test) +as.data.frame(fitted_model_no_int, + long = TRUE) %>% + ggplot(aes(x = time, + y = amplitude, + colour = electrode)) + + geom_line() + + facet_wrap(~coefficient, + scales = "free") + + theme(legend.position = "none")

    -

    Continuous predictors can be rescaled using the scale() function, which converts them to z-scores (i.e. standard deviation units).

    +

    Continuous predictors can be rescaled using the scale() +function, which converts them to z-scores (i.e. standard deviation +units).

    -fitted_model_zscore <- fit_glm(~0 + face + scale(phase_coherence),
    -                        data = limo_test)
    -as.data.frame(fitted_model_zscore,
    -              long = TRUE) %>%
    -  ggplot(aes(x = time,
    -             y = amplitude,
    -             colour = electrode)) +
    -  geom_line() +
    -  facet_wrap(~coefficient,
    -             scales = "free") +
    -  theme(legend.position = "none")
    +fitted_model_zscore <- fit_glm(~0 + face + scale(phase_coherence), + data = limo_test) +as.data.frame(fitted_model_zscore, + long = TRUE) %>% + ggplot(aes(x = time, + y = amplitude, + colour = electrode)) + + geom_line() + + facet_wrap(~coefficient, + scales = "free") + + theme(legend.position = "none")

    -

    The function also provide additional information. For example, we can get the \(r^2\) value representing model fit:

    +

    The function also provide additional information. For example, we can +get the +r2r^2 +value representing model fit:

    -fitted_model$r_sq %>%
    -  pivot_longer(cols = channel_names(limo_test),
    -               names_to = "electrode",
    -               values_to = "r_sq") %>%
    -  ggplot(aes(x = time,
    -             y = r_sq,
    -             colour = electrode)) +
    -  geom_line() +
    -  theme(legend.position = "none")
    +fitted_model$r_sq %>% + pivot_longer(cols = channel_names(limo_test), + names_to = "electrode", + values_to = "r_sq") %>% + ggplot(aes(x = time, + y = r_sq, + colour = electrode)) + + geom_line() + + theme(legend.position = "none")

    -
    -

    -References

    -

    [^1] Guillaume, Rousselet. (2016). LIMO EEG Dataset, [dataset]. University of Edinburgh, Centre for Clinical Brain Sciences. https://doi.org/10.7488/ds/1556.

    +
    +

    References +

    +

    [^1] Guillaume, Rousselet. (2016). LIMO EEG Dataset, [dataset]. +University of Edinburgh, Centre for Clinical Brain Sciences. https://doi.org/10.7488/ds/1556.

    + - + + + diff --git a/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-4-1.png b/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-4-1.png index e6ab8a1b..97fbf852 100644 Binary files a/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-4-1.png and b/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-4-1.png differ diff --git a/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-5-1.png b/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-5-1.png index 0d3ec4aa..24c53ae0 100644 Binary files a/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-5-1.png and b/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-5-1.png differ diff --git a/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-6-1.png b/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-6-1.png index b6cd56d7..1cc2f817 100644 Binary files a/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-6-1.png and b/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-6-1.png differ diff --git a/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-7-1.png b/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-7-1.png index 925982a2..9fc5c4b2 100644 Binary files a/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-7-1.png and b/docs/dev/articles/linear_modelling/linear_modelling_files/figure-html/unnamed-chunk-7-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject.html b/docs/dev/articles/single_subj_N170/N170_single_subject.html new file mode 100644 index 00000000..aab1a69d --- /dev/null +++ b/docs/dev/articles/single_subj_N170/N170_single_subject.html @@ -0,0 +1,955 @@ + + + + + + + +Getting started with eegUtils and the N170 • eegUtils + + + + + + + + + + + + +
    +
    + + + + +
    +
    + + + + + +
    ## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
    +##  dplyr     1.1.4      readr     2.1.5
    +##  forcats   1.0.0      stringr   1.5.1
    +##  ggplot2   3.5.1      tibble    3.2.1
    +##  lubridate 1.9.3      tidyr     1.3.1
    +##  purrr     1.0.2     
    +## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
    +##  dplyr::filter() masks stats::filter()
    +##  dplyr::lag()    masks stats::lag()
    +##  Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
    + +
    ## 
    +## Attaching package: 'eegUtils'
    +## 
    +## The following object is masked from 'package:stats':
    +## 
    +##     filter
    +

    In this tutorial, we’ll be going through the analysis of a single +dataset from the ERP Core +N170 data.

    +

    We’ll be using the data from a single subject. If you don’t have the +data already, you can download it from the Open Science Framework or alternatively +download all of the data using the erpcore package.

    +

    Note that some understanding of EEG processing is assumed - we won’t +go through the justification for many of the steps or reasons for +choosing particular parameters, just the mechanics of actually doing +them.

    +
    +

    Standard preprocessing +

    +

    Let’s consider the steps we need to take to process our dataset. We +will broadly follow the steps taken by the ERP Core team in their +analysis of this data.

    +
      +
    1. Importing the data
    2. +
    3. Downsampling from 1024 Hz to 256 Hz.
    4. +
    5. Rereference to the average reference.
    6. +
    7. Perform a high-pass filter at .1 Hz.
    8. +
    9. Epoching around the stimulus events.
    10. +
    11. Artefact rejection
    12. +
    +
    +

    Importing the data +

    +

    The data is stored in EEGLAB’s .set format. +We can import that using the import_set() function. After +importing, we add some standard channel locations - we overwrite those +included in the original file, which are actually all missing values +rather than coordinates!

    +

    We’ll use the data from “sub-003”.

    +
    +# Set up basic file locations
    +sub_file <- "sub-003_task-N170_eeg.set"
    +single_data <- import_set(file_name = sub_file,
    +                          participant_id = "sub-003")
    +
    ## Importing from EEGLAB .set file.
    +
    ## Importing data from .fdt file.
    +
    +single_data <- electrode_locations(data = single_data,
    +                                   overwrite = TRUE)
    +
    ## Electrodes not found: HEOG_left HEOG_right VEOG_lower
    +
    +# browse_data(single_data) uncomment this line to use the data browser!
    +

    The function informs us that some electrodes don’t have matching +locations in our standard set. These are the HEOG and VEOG electrodes. +This isn’t something to worry about.

    +

    Since the .set file only contained data with a +single epoch, it’s imported as a continuous, eeg_data +object. It has 33 electrodes, and a sampling rate of 1024 Hz. It is also +unreferenced.

    +

    We could start our preprocessing now, but before we do anything else, +we have to attend to something important. According to the ERP Core +documentation, there was a delay of 26 ms between the onset of the +trigger and the onset of the visual stimulus. We need to modify the +event codes stored in the data to compensate for this delay.

    +
    +
    +

    Fixing the event codes. +

    +

    To make sure our ERPs are correctly timed, we need to modify the +triggers, shifting them 26 ms later in time. The safest way to do that +is going to be shift everything by whatever number of samples +corresponds closest to 26 ms. The sampling rate of this data is 1024 Hz, +which translates to one sample every 0.977 ms. Divide 26 by this, and we +have 26.624 samples. It works out nicely around a sample per ms, given +that we have a 1024 Hz sampling rate, but of course that would differ if +we had a different sampling rate!

    +

    In the ERP Core scripts, they take the floor of this, so +shift the triggers by 26 samples.

    +

    Events coded in the data can be inspected directly using the +events() function. Let’s take a look.

    +
    +events(single_data)
    +
    ## # A tibble: 642 × 4
    +##    event_type event_onset urevent event_time
    +##         <dbl>       <dbl>   <dbl>      <dbl>
    +##  1        202        3101       1       3.03
    +##  2        202        4854       2       4.74
    +##  3         56        9207       3       8.99
    +##  4        201        9728       4       9.50
    +##  5        137       10725       5      10.5 
    +##  6        201       11072       6      10.8 
    +##  7        144       12193       7      11.9 
    +##  8        201       12620       8      12.3 
    +##  9         71       13711       9      13.4 
    +## 10        201       14094      10      13.8 
    +## # ℹ 632 more rows
    +

    The important one here is event_onset. This tells us in +samples when the event code was sent, while +event_type tells us what the code was. +event_time is the time in seconds from the start +of the recording that the event code was sent.

    +

    Note that they only shift the stimulus onset triggers. We’ll do the +same here, using some base R code to modify only those triggers with +values from 1 to 80 or from 100 to 180, which correspond to stimulus +onset triggers.

    +
    +sample_shift <- floor(26 / (1000/single_data$srate)) # round down
    +orig_events <- events(single_data)
    +orig_events$event_onset <-
    +  with(orig_events,
    +       ifelse(event_type %in% c(1:80,
    +                                100:180),
    +              event_onset + sample_shift,
    +              event_onset))
    +orig_events$event_time <- (orig_events$event_onset - 1) * (1/1024)
    +events(single_data) <- orig_events
    +events(single_data)
    +
    ## # A tibble: 642 × 4
    +##    event_type event_onset urevent event_time
    +##         <dbl>       <dbl>   <dbl>      <dbl>
    +##  1        202        3101       1       3.03
    +##  2        202        4854       2       4.74
    +##  3         56        9233       3       9.02
    +##  4        201        9728       4       9.50
    +##  5        137       10751       5      10.5 
    +##  6        201       11072       6      10.8 
    +##  7        144       12219       7      11.9 
    +##  8        201       12620       8      12.3 
    +##  9         71       13737       9      13.4 
    +## 10        201       14094      10      13.8 
    +## # ℹ 632 more rows
    +

    Now that we’ve done that initial step, let’s look at what else we +need to.

    +
    +
    +

    Downsampling +

    +

    ERP Core downsample from 1024 Hz to 256 Hz. We can use the +eeg_downsample() for that. We need to tell it how much to +downsample. We pass the q argument to give it a +downsampling factor. 1024 / 4 is 256. We’ll do this first to speed up +subsequent steps.

    +

    Note that for this step, we probably want to use multiple processor +threads or cores to speed things up. We can do that via the +future library. Simply load the future +library, then make an appropriate plan() to use your +computer’s parallel processing capabilities. We only need to do this +once - all subsequent steps will use parallel processing where they can. +You definitely want to do this before filtering or downsampling, which +can take quite a long time otherwise.

    +
    +library(future)
    +plan(multisession, workers = 4)
    +
    +single_data <- eeg_downsample(data = single_data,
    +                              q = 4)
    +
    ## Downsampling from 1024Hz to 256Hz.
    +
    +
    +

    Referencing +

    +

    ERP Core reference to the average of all EEG electrodes. We can do +this with the eeg_reference() function. We can specify +which electrodes to reference to using the ref_chans +argument. By default, the function will use the average of all +electrodes if we don’t tell it otherwise, but we can also be explicit +and use the special keyword “average”.

    +
    +single_data <- eeg_reference(data = single_data,
    +                             ref_chans = "average")
    +
    +
    +

    Filtering +

    +

    The ERP Core perform a high-pass Butterworth IIR filter at .1 Hz, +with a 12 dB/octave roll-off (filter order 2). It removes very +low-frequency activity, long slow drifts, from the data. This is applied +as a non-causal filter - run forwards and then backwards - to prevent +temporal shifts in the data.

    +

    The eeg_filter() function can be used for high-pass, +low-pass, bandpass or bandstop filtering. Which one is used depends on +the low_freq and high_freq arguments. These +mark the low and high passband edges respectively. If we supply only the +low_freq argument, we are asking for a high-pass filter - +everything above that low edge is passed. The frequency we specify is +the half-amplitude, 3 dB cutoff point. We can ask for iir +or fir filters using the method argument. In +addition, we probably want to demean the data before +high-pass filtering.

    +

    Note that this is done to the continuous data to prevent edge +artefacts creeping in, which can be a problem when the data is +epoched.

    +
    +single_data <- eeg_filter(data = single_data,
    +                          low_freq = .1,
    +                          method = "iir",
    +                          order = 2,
    +                          demean = TRUE)
    +
    ## High-pass IIR filter at 0.1 Hz
    +
    ## Effective filter order: 4 (two-pass)
    +
    ## Removing channel means...
    +
    +
    +

    Epoching +

    +

    Now we have our high-pass filtered, continuous data. Our next step +will be to epoch it. Here we diverge from the ERP Core pipeline. At this +point, they perform an Independent Component Analysis on the data and +use it for artefact rejection. We’ll hold back on that until +after epoching.

    +

    We can use the epoch_data() function to create epochs. +We need to supply the function with the relevant timelocking events. In +this case, those are event codes from 1 to 80 and from 101 to 180. These +codes tell us exactly which stimulus was presented on each trial. The +stimuli from 1 to 40 are Intact Faces, from 41 to 80 are Intact Cars, +from 101 to 140 are Scrambled Faces, and from 141 to 180 are Scrambled +Cars.

    +

    Let’s use epoch_data() to create epochs that last from +200 ms before stimulus onset until 800 ms after stimulus onset. We won’t +perform baseline correction just yet. Note that it is possible to label +the epochs when using epoch_data() using the +epoch_labels argument. You have to supply one label for +each event code. Here, there are 160 event codes. Fortunately, it is +quite easy to construct an appropriate character vector using the +rep() function. I use it here to create a vector with 40 of +each combination of the two variables - Intact_Faces, Intact_Cars, +Scrambled_Faces, Scrambled_Cars.

    +
    +epoched_data <- epoch_data(single_data,
    +                           events = c(1:80,
    +                                      101:180),
    +                           time_lim = c(-.2, .8),
    +                           baseline = "none",
    +                           epoch_labels = rep(
    +                             c("Intact_Faces",
    +                               "Intact_Cars",
    +                               "Scrambled_Faces",
    +                               "Scrambled_Cars"),
    +                             each = 40)
    +                           )
    +
    ## Adjusting output limits to match sampling rate.
    +
    ## Output limits:  -0.19921875 0.80078125
    +
    ## No baseline removal performed.
    +
    ## Creating 320 epochs.
    +
    +epoched_data
    +
    ## Epoched EEG data
    +## 
    +## Number of channels   : 33 
    +## Number of epochs : 320 
    +## Epoch limits     : -0.199 - 0.801 seconds
    +## Electrode names      : FP1 F3 F7 FC3 C3 C5 P3 P7 P9 PO7 PO3 O1 Oz Pz CPz FP2 Fz F4 F8 FC4 FCz Cz C4 C6 P4 P8 P10 PO8 PO4 O2 HEOG_left HEOG_right VEOG_lower 
    +## Sampling rate        : 256  Hz
    +## Reference        : average
    +

    This creates 320 epochs. We can inspect metadata for the epochs using +the epochs() function, which will show us information like +the participant_id and the label for each epoch. This is an +important structure, as it allows us to easily compare different +conditions later on using functions like plot_timecourse(), +and helps us keep track of which data belongs to which participant when +we have group data.

    +
    +epochs(epoched_data)
    +
    ## # A tibble: 320 × 5
    +##    epoch participant_id recording             event_type epoch_labels   
    +##    <dbl> <chr>          <chr>                      <dbl> <chr>          
    +##  1     1 sub-003        sub-003_task-N170_eeg         56 Intact_Cars    
    +##  2     2 sub-003        sub-003_task-N170_eeg        137 Scrambled_Faces
    +##  3     3 sub-003        sub-003_task-N170_eeg        144 Scrambled_Cars 
    +##  4     4 sub-003        sub-003_task-N170_eeg         71 Intact_Cars    
    +##  5     5 sub-003        sub-003_task-N170_eeg        163 Scrambled_Cars 
    +##  6     6 sub-003        sub-003_task-N170_eeg          4 Intact_Faces   
    +##  7     7 sub-003        sub-003_task-N170_eeg        143 Scrambled_Cars 
    +##  8     8 sub-003        sub-003_task-N170_eeg        124 Scrambled_Faces
    +##  9     9 sub-003        sub-003_task-N170_eeg        178 Scrambled_Cars 
    +## 10    10 sub-003        sub-003_task-N170_eeg         23 Intact_Faces   
    +## # ℹ 310 more rows
    +

    Now, we know our design is a +2×22 \times 2 +design. We have two variables: Intact or Scrambled stimuli, and images +of Faces or Cars.

    +

    Let’s use some tidyverse magic to split our +epoch_labels column into two variables that code for this +structure. This is straightforward, since the values of the column use +_ to separate the values of each factor.

    +
    +epochs(epoched_data) <-
    +  separate(
    +    epochs(epoched_data),
    +    col = epoch_labels,
    +    into = c("Intact",
    +             "Type")
    +    )
    +epochs(epoched_data)
    +
    ## # A tibble: 320 × 6
    +##    epoch participant_id recording             event_type Intact    Type 
    +##    <dbl> <chr>          <chr>                      <dbl> <chr>     <chr>
    +##  1     1 sub-003        sub-003_task-N170_eeg         56 Intact    Cars 
    +##  2     2 sub-003        sub-003_task-N170_eeg        137 Scrambled Faces
    +##  3     3 sub-003        sub-003_task-N170_eeg        144 Scrambled Cars 
    +##  4     4 sub-003        sub-003_task-N170_eeg         71 Intact    Cars 
    +##  5     5 sub-003        sub-003_task-N170_eeg        163 Scrambled Cars 
    +##  6     6 sub-003        sub-003_task-N170_eeg          4 Intact    Faces
    +##  7     7 sub-003        sub-003_task-N170_eeg        143 Scrambled Cars 
    +##  8     8 sub-003        sub-003_task-N170_eeg        124 Scrambled Faces
    +##  9     9 sub-003        sub-003_task-N170_eeg        178 Scrambled Cars 
    +## 10    10 sub-003        sub-003_task-N170_eeg         23 Intact    Faces
    +## # ℹ 310 more rows
    +

    And BOOM! We have our nicely epoched dataset for a single +participant. We’re not quite finished, as we should do some artefact +rejection. But let’s quickly do a few exploratory plots with this +data.

    +
    +
    +

    Exploratory plots +

    +

    We’ll start off with some topographical plots. We know this data is +meant to show the N170, and from the ERP Core papers we know this is +maximal in this data from approximately 130-150 ms after stimulus onset. +So let’s plot the topography for each condition at that time. +eegUtils represents time in seconds.

    +

    The topoplot() function produces a ggplot2 +object. Here we’ll use facetting to display different topographies for +each condition. Note that we have to explicitly enable this by adding a +groups argument and specifying which variables we want to +group on.

    +
    +epoched_data <- rm_baseline(epoched_data,
    +                            c(-.1, 0))
    +
    ## Baseline: -0.1 - 0s
    +
    +topoplot(epoched_data,
    +         time_lim = c(.13, .15),
    +         groups = c("Intact",
    +                    "Type"), 
    +         limits = c(-10, 10)) +
    +  facet_grid(Intact~Type)
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +
    ## Using electrode locations from data.
    +
    ## Removing channels with no location.
    +
    ## Plotting head r 95 mm
    +

    +

    It’s a little tricky to make out much of a difference between +conditions, although it’s clear that amplitudes are higher over the +occipital electrodes.

    +

    Let’s create a butterfly plot showing the ERP for every channel, all +at once. We can use the plot_butterfly() function to do +that.

    +
    +plot_butterfly(epoched_data)
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +

    +

    You can clearly see some channels have great big signals relative to +everything else. These channels are capturing blinks and saccades. We’d +expect that on the HEOG and VEOG related channels, which are closest to +the eyes.

    +

    Let’s plot one of the VEOG and one of the HEOG channels.

    +
    +plot_timecourse(
    +  epoched_data, 
    +  electrode = "VEOG_lower",
    +  baseline = c(-.1, 0)
    +  )
    +
    ## Baseline: -0.1 - 0s
    +
    ## Creating epochs based on combinations of variables: participant_id
    +

    +
    +plot_timecourse(
    +  epoched_data, 
    +  electrode = "HEOG_left",
    +  baseline = c(-.1, 0)
    +  )
    +
    ## Baseline: -0.1 - 0s
    +## Creating epochs based on combinations of variables: participant_id
    +

    +

    From these two plots, it’s very clear that there is a big vertical +eye movement signal. But HEOG looks much less clear - the signals don’t +show typical eye-movement patterns and look much more +ERP-like.

    +

    Let’s restrict our butterly plot to the first 30 channels, which are +the scalp channels.

    +
    +plot_butterfly(
    +  select(epoched_data, 1:30)
    +  )
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +

    +

    There are still a couple of channels clearly dominated by eye +movements - likely channels FP1 and FP2, which are over the eyes. And we +can clearly see the effect of the eye movements on the topography around +that time.

    +
    +topoplot(
    +  epoched_data, 
    +  time_lim = c(.6, .8)
    +  )
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +
    ## Using electrode locations from data.
    +
    ## Removing channels with no location.
    +
    ## Plotting head r 95 mm
    +

    +

    We’d probably want to do something about that - either removal of +contaminated trials or some sort of eye movement correction using +Independent Component Analysis

    +
    +
    +
    +

    Artefact rejection +

    +
    +

    Independent Component Analysis +

    +

    In the ERP Core, Independent Component Analysis is +used to isolate and correct for artefactual contributions to the EEG +signal from eye movements. They run ICA on the continuous data, after +performing a few artefact rejection steps based on amplitude thresholds +to remove particuarly low quality data segments, as well as removing +data from between blocks.

    +

    We’ll do it a little differently - we’ve already arrived at our +epoched data, and will run ICA on that. We could do some artefact +rejection on the epoched data before running the ICA (for example, we +could use ar_FASTER() to automatically detect bad channels +and epochs), but this time we’ll skip that and go straight to ICA. We’ll +use the extended Infomax algorithm for our +decomposition. Note that since the data is average referenced, it is not +full rank - the signals are not fully linearly independent of +each other, but dependent on the reference signal. We’ll use +the pca argument to reduce our data to 32 components, one +fewer than the number of channels, and then run ICA.

    +
    +ica_imax <- run_ICA(epoched_data,
    +                    pca = 32,
    +                    method = "infomax")
    +
    ## Reducing data to 32 dimensions using PCA.
    +
    ## Running extended-Infomax (ica).
    +

    There are several interactive tools built in, like +view_ica() and browse_data(), that allow you +to visually inspect the results of the ICA decomposition, displaying +features such as topographies and ERPs. With experience, you will learn +to discriminate between different types of component. Some capture +genuine brain activity, while some capture artefacts. For this tutorial, +we will use an automatic method to help us detect eye movement related +components.

    +
    +
    +

    Automatically rejecting eye movement components +

    +

    There are also some ar_* functions for detecting +particular artefactual types of component automatically. One of those is +ar_eogcor(). Given the decomposition and the original data, +this function searches for components that have a high correlation with +the eye channels. We construct bipolarized channels from the two HEOG +channels - HEOG_left and HEOG_right - and for +VEOG, the VEOG_lower and FP2 channels, since +there was no VEOG_upper.

    +
    +high_cor <- 
    +  ar_eogcor(decomp = ica_imax,
    +            data = epoched_data,
    +            HEOG = c("HEOG_left", "HEOG_right"), 
    +            VEOG = c("VEOG_lower", "FP2"))
    +
    ## Estimated HEOG threshold: 0.64
    +
    ## Estimated VEOG threshold: 0.74
    +
    ## Components with high EOG correlation: Comp001
    +

    +
    +high_cor
    +
    ## [1] "Comp001"
    +

    A lot of channels show some correlation with HEOG, but nothing +particularly striking - horizontal eye movements are often much harder +to separate than blinks or vertical eye movements, and are possibly +spread across many components here.

    +

    For most components, the correlation was very low for VEOG. But +Component 1 crosses the (automatically determined) threshold, so we +should inspect it further. Let’s look at a few plots.

    +
    +topoplot(ica_imax,
    +         1)
    +
    ## Using electrode locations from data.
    +
    ## Removing channels with no location.
    +
    ## Plotting head r 95 mm
    +

    +
    +plot_timecourse(ica_imax,
    +                1)
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +

    +
    +erp_image(ica_imax,
    +          "Comp001")
    +

    +

    The topoplot shows the classic vertical eye movement topography - +large signal at frontal electrodes and a front-to-back gradient. The ERP +seems to show this component captures an eye movement or blink toward +the end of the trial, and this is also clear on the ERP image. These are +late movements, after stimulus offset.

    +

    So having identified a strong candidate for a component that captures +eye movements, what next? Well, we can recreate the data +without that component using the apply_ica() +function!

    +

    We can either do that directly from the eeg_ICA object, +which includes all the relevant parts of the decomposition, or by +applying the weights from our ICA to another dataset. This is sometimes +useful - for example, sometimes ICA provides much better decompositions +on data filtered with a 1 Hz high-pass filter. But a 1 Hz high-pass +filter is much too strong to use for ERPs - it seriously messes with the +waveforms. So one possibility is to filter the data at 1 Hz, run ICA on +the filtered data, then apply the weights to a dataset with a more +reasonable high-pass filter, such as .1 Hz.

    +

    Here, we’ll just go ahead and reconstruct from the +eeg_ICA object directly. We specify which components to +remove, rather than which to keep, as that’s what we +typically want to do.

    +
    +corrected_data <- 
    +  apply_ica(data = ica_imax,
    +            comps = "Comp001")
    +

    We can now plot our VEOG_lower and +HEOG_left channels again, to see what difference it +made.

    +
    +plot_timecourse(
    +  corrected_data, 
    +  electrode = "VEOG_lower",
    +  baseline = c(-.1, 0)
    +  )
    +
    ## Baseline: -0.1 - 0s
    +
    ## Creating epochs based on combinations of variables: participant_id
    +

    +
    +plot_timecourse(
    +  corrected_data, 
    +  electrode = "HEOG_left",
    +  baseline = c(-.1, 0)
    +  )
    +
    ## Baseline: -0.1 - 0s
    +## Creating epochs based on combinations of variables: participant_id
    +

    +

    There was a big impact on the VEOG channel, but very little impact on +HEOG. This is what we’d expect - the ICA clearly captured vertical eye +movements, but didn’t find anything clear for horizontal eye +movements.

    +

    Let’s have a look at the butterfly plot and topographies from our +corrected data. We’ll baseline correct the data first.

    +
    +corrected_data <- rm_baseline(corrected_data, 
    +                              time_lim = c(-.1, 0))
    +
    ## Baseline: -0.1 - 0s
    +
    +plot_butterfly(corrected_data)
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +

    +
    +topoplot(epoched_data, 
    +         time_lim = c(.6, .8),
    +         limits = c(-5, 5)) +
    +  ggtitle("Original data")
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +
    ## Using electrode locations from data.
    +
    ## Removing channels with no location.
    +
    ## Plotting head r 95 mm
    +

    +
    +topoplot(corrected_data, 
    +         time_lim = c(.6, .8),
    +         limits = c(-5, 5)) +
    +  ggtitle("Corrected data")
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +
    ## Using electrode locations from data.
    +
    ## Removing channels with no location.
    +
    ## Plotting head r 95 mm
    +

    +

    You can see a huge difference between the two. I’ve deliberately kept +the colour range the same so that you can see the true extent of the +difference. The large eye movement related artefacts seem to be mostly +gone after correction. It’s not perfect - there is still some residual +noise - but it still removed a huge amount of noise.

    +

    Now let’s see the topographies in the N170 window.

    +
    +topoplot(corrected_data,
    +         time_lim = c(.13, .15),
    +         groups = c("Intact",
    +                    "Type"), 
    +         limits = c(-10, 10)) +
    +  facet_grid(Intact ~ Type)
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +
    ## Using electrode locations from data.
    +
    ## Removing channels with no location.
    +
    ## Plotting head r 95 mm
    +

    +

    Oddly, the topographies in our period of interest might look a little +worse at a glance, as now there seems to be small positive +signal around the eye frontal channels. But that’s because a substantial +negative signal from eye movements has been removed.

    +
    +
    +

    Automated rejection and correction of channels and epochs +

    +

    As one last step, let’s try running the FASTER algorithm using +ar_FASTER(). This is an automated method of checking for a +variety of issues with signal quality: 1) It checks for globally bad +individual channels - i.e. channels that are consistently bad compared +to other channels across the whole recording - and removes or +interpolates those. 2) It checks for globally bad epochs - epochs which +are very noisy compared to other epochs - and removes those. 3) It also +checks for bad channels within each epoch, and interpolates those. This +is helpful because noise is frequently intermittent. A given channel +isn’t necessarily bad all the time - it may just be noisy on a few +epochs. By interpolating it during only those time periods, you preserve +the relatively clean data from that channel at other time periods. +Similarly, the noise on a given trial may be restricted to only a few +electrodes, so it is better to simply interpolate that electrode than +remove the entire trial.

    +
    +autorej_data <- 
    +  ar_FASTER(corrected_data,
    +            exclude = c(31:33))
    +
    ## Excluding channel(s):HEOG_left HEOG_right VEOG_lower
    +
    ## Globally bad channels: P8
    +
    ## Coords missing for electrodes HEOG_left HEOG_right VEOG_lower
    +
    ## Globally bad epochs: 56 76 122 123 125 134 161 195 233 236 253 262
    +
    ## 226 of 308 epochs had at least one channel interpolated.
    +
    ## Max number of channels interpolated in one epoch: 3
    +

    The algorithm picked out P8 as a globally bad channel, and +interpolates it completely. It also picked out a number of epochs which +could not be saved, removing them automatically. In addition, if found +220 epochs where it was worth interpolating some channels rather than +removing the epoch entirely.

    +
    +
    +

    Comparing the original and corrected data +

    +

    Let’s focus in on one specific channel. We can use the +plot_timecourse() function, and tell it which electrode we +want to plot. P10 is a good candidate for looking for a +face-specific N170 - it’s over posterior lateral occipital cortex, where +the Fusiform Face Area is located. We’ll focus in on a specific time +range from -.1 s to .3 s around stimulus onset, and we’ll do baseline +correction. With some ggplot2 magic, we’ll use different +colours for Cars and Faces, and different linetypes for Intact and +Scrambled images.

    +

    First, let’s look at the uncorrected data.

    +
    +plot_timecourse(
    +  epoched_data, 
    +  electrode = "P10",
    +  mapping = aes(colour = Type,
    +                linetype = Intact),
    +  baseline = c(-.1, 0),
    +  time_lim = c(-.1, .3)
    +  ) 
    +
    ## Baseline: -0.1 - 0s
    +
    ## Creating epochs based on combinations of variables: participant_id Type Intact
    +

    +

    It’s quite noisy - it is from a single participant after all, and we +haven’t done any artefact rejection yet.

    +

    But even with the noise, there’s a noticeable decline in amplitudes +for both intact faces and cars - slightly later, for the latter - +relative to scrambled faces and cars.

    +

    Let’s now compare the ERPs at P10 for our original, ICA +corrected, and FASTER corrected data.

    +
    +plot_timecourse(
    +  epoched_data, 
    +  electrode = "P10",
    +  mapping = aes(colour = Type,
    +                linetype = Intact),
    +  baseline = c(-.1, 0),
    +  time_lim = c(-.1, .5)
    +  ) +
    +  ggtitle("Original data")
    +
    ## Baseline: -0.1 - 0s
    +
    ## Creating epochs based on combinations of variables: participant_id Type Intact
    +

    +
    +plot_timecourse(
    +  corrected_data, 
    +  electrode = "P10",
    +  mapping = aes(colour = Type,
    +                linetype = Intact),
    +  baseline = c(-.1, 0),
    +  time_lim = c(-.1, .5)
    +  ) +
    +  ggtitle("ICA corrected data")
    +
    ## Baseline: -0.1 - 0s
    +## Creating epochs based on combinations of variables: participant_id Type Intact
    +

    +
    +plot_timecourse(
    +  autorej_data, 
    +  electrode = "P10",
    +  mapping = aes(colour = Type,
    +                linetype = Intact),
    +  baseline = c(-.1, 0),
    +  time_lim = c(-.1, .5)
    +  ) +
    +  ggtitle("ICA and FASTER corrected data")
    +
    ## Baseline: -0.1 - 0s
    +## Creating epochs based on combinations of variables: participant_id Type Intact
    +

    +

    We can see straight away that our original data was heavily affected +by eye movements, which are clearly in evidence towards the end of the +ERP. ICA correction of eye movements had the biggest effect in reducing +those artefacts.

    +
    +
    +
    +

    What next? +

    +

    This tutorial covered the processing of a single dataset, going from +continuous data to an epoched, artefact-corrected dataset, ready for +further use.

    +

    One thing you could do is convert the data to a +data.frame using as.data.frame(). This makes +it easy to get the data in a standard format for use with just about any +R function you could imagine.

    +
    +head(
    +  as.data.frame(corrected_data)
    +  )
    +
    ##         FP1         F3        F7        FC3        C3         C5         P3
    +## 1 -4.918215   2.607501 12.914789 -11.769973 -2.929508 -2.1002335  2.5623433
    +## 2  3.284854  -7.741160 10.040508 -11.393484 -3.676040 -0.8012886  0.2974999
    +## 3  7.634606 -12.420354  6.545192 -14.722391 -4.554828 -3.2928941  0.3563943
    +## 4  9.557865 -13.166525  5.546836 -12.864380 -5.550610 -2.9464081 -2.8844542
    +## 5  1.271142 -19.406360  3.433216  -5.995284 -1.928202  1.6790618 -3.3928845
    +## 6 -7.672153  -7.273593  7.844320  -3.868522  1.391638  3.6181119 -3.6480824
    +##           P7        P9        PO7       PO3         O1          Oz         Pz
    +## 1  1.1209619 10.732692 -0.1742992  2.019453  4.2239398  4.58045020 -0.1503262
    +## 2  0.0798196  7.791858 -2.3630911 -1.259310 -0.3648448 -2.54681613 -2.8521538
    +## 3 -0.0636548  7.398417 -3.7858564 -2.289407 -1.8346870 -0.01300358 -3.4383305
    +## 4 -0.4540354  6.381576 -5.2486966 -2.143878 -1.1645908  2.77910278 -1.7911478
    +## 5 -3.8973024  3.147973 -6.7718674 -2.240591 -2.0161813  1.40230432 -0.9932277
    +## 6 -4.3395225  3.598482 -7.7504763 -3.881101 -2.5397884 -1.35154112 -2.2447011
    +##         CPz        FP2        Fz         F4        F8        FC4        FCz
    +## 1 -3.771159 9.16061050 -8.275691 -0.4721051  8.639158 -9.5193433 -11.018538
    +## 2 -4.293270 4.40599262 -6.825932  6.4610650  8.733601  1.1439558  -7.681389
    +## 3 -5.152885 3.05625549 -3.748772  0.1227696 12.370066  2.0688119  -3.650893
    +## 4 -5.321949 0.07792673 -2.584166  4.6348850 10.993883  0.1471320  -3.178098
    +## 5 -4.817042 1.56222111 -2.148851  6.8607124  3.824447 -0.3889318  -3.249116
    +## 6 -4.475702 6.05525628 -2.267183 -0.1683632  8.466212 -3.1855276  -1.895252
    +##          Cz         C4        C6         P4          P8       P10        PO8
    +## 1 -9.593433 -11.549220 -8.803203 -7.1652201   1.1361546  2.435942  0.3897937
    +## 2 -7.989438  -6.892331 -5.171625 -7.4373582  10.4136403 10.624990 -4.3656774
    +## 3 -6.701339  -4.707480 -4.792048 -5.0186656  -0.1776135 13.001121 -0.1254546
    +## 4 -6.221984  -5.746008 -7.767344 -3.9501789  -2.1392469  7.197405  3.2033713
    +## 5 -6.148713  -4.858505 -2.197561 -1.9902390   6.8917263 10.211455  3.5230553
    +## 6 -5.603202  -3.039225  2.832010 -0.4929733 -11.2457749 11.712352  1.2432508
    +##          PO4         O2 HEOG_left HEOG_right VEOG_lower       time epoch
    +## 1 -1.7650513  0.3317207 16.156146   6.181929   8.781936 -0.1992188     1
    +## 2 -3.7886754 -5.0099955 12.521743   5.957762  10.696589 -0.1953125     1
    +## 3 -2.8131917 -1.8750412  9.804172  12.220627  10.600356 -0.1914062     1
    +## 4 -0.9658825  2.6846994 12.959973   9.817942  10.106985 -0.1875000     1
    +## 5  2.1369327  2.9971658 13.091465   4.949168   5.458813 -0.1835938     1
    +## 6  0.5209173 -3.0606154 14.988816   8.377120   9.354812 -0.1796875     1
    +##   participant_id             recording event_type Intact Type
    +## 1        sub-003 sub-003_task-N170_eeg         56 Intact Cars
    +## 2        sub-003 sub-003_task-N170_eeg         56 Intact Cars
    +## 3        sub-003 sub-003_task-N170_eeg         56 Intact Cars
    +## 4        sub-003 sub-003_task-N170_eeg         56 Intact Cars
    +## 5        sub-003 sub-003_task-N170_eeg         56 Intact Cars
    +## 6        sub-003 sub-003_task-N170_eeg         56 Intact Cars
    +

    You can also request that the data be output directly in +long format.

    +
    +head(
    +  as.data.frame(corrected_data, 
    +                long = TRUE)
    +)
    +
    ## # A tibble: 6 × 11
    +##     time epoch electrode amplitude     x      y participant_id recording        
    +##    <dbl> <dbl> <chr>         <dbl> <dbl>  <dbl> <chr>          <chr>            
    +## 1 -0.199     1 FP1           -4.92 -30.6  88.9  sub-003        sub-003_task-N17…
    +## 2 -0.199     1 F3             2.61 -40.9  43.9  sub-003        sub-003_task-N17…
    +## 3 -0.199     1 F7            12.9  -84    50.5  sub-003        sub-003_task-N17…
    +## 4 -0.199     1 FC3          -11.8  -45.8  17.6  sub-003        sub-003_task-N17…
    +## 5 -0.199     1 C3            -2.93 -45.3  -7.99 sub-003        sub-003_task-N17…
    +## 6 -0.199     1 C5            -2.10 -68.9 -12.2  sub-003        sub-003_task-N17…
    +## # ℹ 3 more variables: event_type <dbl>, Intact <chr>, Type <chr>
    +

    Of course, this includes data for every single trial. If you just +wanted the ERPs, you could first average the epoched data to create an +eeg_evoked object:

    +
    +eeg_average(corrected_data)
    +
    ## Creating epochs based on combinations of variables: participant_id Intact Type
    +
    ## Evoked EEG data
    +## 
    +## Number of channels   :    33 
    +## Epoch limits     : -0.199 - 0.801 seconds
    +## Electrode names      :    FP1 F3 F7 FC3 C3 C5 P3 P7 P9 PO7 PO3 O1 Oz Pz CPz FP2 Fz F4 F8 FC4 FCz Cz C4 C6 P4 P8 P10 PO8 PO4 O2 HEOG_left HEOG_right VEOG_lower 
    +## Sampling rate        :    256  Hz
    +

    By default, this will give you an ERP for each unique condition, +based on the variables stored in the epochs().

    +

    From here, you’d most likely want to combine it with other +datasets to create group level data. You can of course do that by +converting them all into their own data.frame and combining +them afterwards. But you can also combine the individual +eeg_epochs objects into eeg_group objects. +We’ll cover that in a later tutorial.

    +
    +
    + + + +
    + + + +
    + +
    +

    +

    Site built with pkgdown 2.1.0.

    +
    + +
    +
    + + + + + + + + diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/butterfly-epo-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/butterfly-epo-1.png new file mode 100644 index 00000000..460f2dfd Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/butterfly-epo-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/epo-bf-scalp-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/epo-bf-scalp-1.png new file mode 100644 index 00000000..8a7c37eb Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/epo-bf-scalp-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/plot-tcs-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/plot-tcs-1.png new file mode 100644 index 00000000..944985b0 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/plot-tcs-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/plot-tcs-2.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/plot-tcs-2.png new file mode 100644 index 00000000..474bc636 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/plot-tcs-2.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/uncorr-topo-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/uncorr-topo-1.png new file mode 100644 index 00000000..dd251952 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/uncorr-topo-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-10-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-10-1.png new file mode 100644 index 00000000..2b27aca0 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-10-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-1.png new file mode 100644 index 00000000..a8d9209b Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-2.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-2.png new file mode 100644 index 00000000..00ca4a92 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-2.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-3.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-3.png new file mode 100644 index 00000000..98a876e1 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-11-3.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-13-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-13-1.png new file mode 100644 index 00000000..adf56f58 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-13-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-13-2.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-13-2.png new file mode 100644 index 00000000..42d8a506 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-13-2.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-1.png new file mode 100644 index 00000000..28650640 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-2.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-2.png new file mode 100644 index 00000000..5b527155 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-2.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-3.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-3.png new file mode 100644 index 00000000..bd46fa53 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-14-3.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-15-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-15-1.png new file mode 100644 index 00000000..777929d1 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-15-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-1.png new file mode 100644 index 00000000..6d6e88a5 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-2.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-2.png new file mode 100644 index 00000000..c65b326f Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-2.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-3.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-3.png new file mode 100644 index 00000000..aba354a2 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-16-3.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-17-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-17-1.png new file mode 100644 index 00000000..b0b15186 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-17-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-1.png new file mode 100644 index 00000000..590afee9 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-2.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-2.png new file mode 100644 index 00000000..7da52ec4 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-2.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-3.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-3.png new file mode 100644 index 00000000..b41c6d2e Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-18-3.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-1.png new file mode 100644 index 00000000..8f6fe593 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-2.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-2.png new file mode 100644 index 00000000..bf54fe5e Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-2.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-3.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-3.png new file mode 100644 index 00000000..efcb65f3 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-19-3.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-20-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-20-1.png new file mode 100644 index 00000000..12077229 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-20-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-22-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-22-1.png new file mode 100644 index 00000000..1b433bd8 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-22-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-1.png new file mode 100644 index 00000000..97949af6 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-1.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-2.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-2.png new file mode 100644 index 00000000..988f9c68 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-2.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-3.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-3.png new file mode 100644 index 00000000..4124d162 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-23-3.png differ diff --git a/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-9-1.png b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-9-1.png new file mode 100644 index 00000000..90e75e92 Binary files /dev/null and b/docs/dev/articles/single_subj_N170/N170_single_subject_files/figure-html/unnamed-chunk-9-1.png differ diff --git a/docs/dev/articles/time-frequency-analysis.html b/docs/dev/articles/time-frequency-analysis.html index 5b18e764..0fcf1cef 100644 --- a/docs/dev/articles/time-frequency-analysis.html +++ b/docs/dev/articles/time-frequency-analysis.html @@ -6,13 +6,12 @@ Frequency analysis • eegUtils - + - + +
    + +
    -

    Periodicity is commonly observed in EEG signals. For example, oscillations in the alpha frequency range (approximately 8-13 Hz) were one of the first signals observed in the human EEG. One method of analysing this periodicity is to calculate the Power Spectral Density using a method such as Welch’s FFT.

    -
    -

    -Frequency analysis

    -

    In eegUtils, this can be achieved using compute_psd() and plot_psd(). With epoched data, compute_psd() calculates the PSD for each trial separately. compute_psd() returns a data.frame with spectral power at each resolved frequency and for each electrode. Note that plot_psd() can be called directly on eeg_data or eeg_epochs objects without first having to compute_psd(). With epoched data, it will compute the PSD for each epoch and then average over epochs before plotting.

    +

    Periodicity is commonly observed in EEG signals. For example, +oscillations in the alpha frequency range (approximately 8-13 Hz) were +one of the first signals observed in the human EEG. One method of +analysing this periodicity is to calculate the Power Spectral Density +using a method such as Welch’s FFT.

    +
    +

    Frequency analysis +

    +

    In eegUtils, this can be achieved using +compute_psd() and plot_psd(). With epoched +data, compute_psd() calculates the PSD for each trial +separately. compute_psd() returns a data.frame +with spectral power at each resolved frequency and for each electrode. +Note that plot_psd() can be called directly on +eeg_data or eeg_epochs objects without first +having to compute_psd(). With epoched data, it will compute +the PSD for each epoch and then average over epochs before plotting.

    -library(eegUtils)
    -#> 
    -#> Attaching package: 'eegUtils'
    -#> The following object is masked from 'package:stats':
    -#> 
    -#>     filter
    -demo_psd <- compute_psd(demo_epochs)
    -#> Removing channel means per epoch...
    -#> Computing Power Spectral Density using Welch's method.
    -#> FFT length: 256
    -#> Segment length: 84
    -#> Overlapping points: 42 (50% overlap)
    -plot_psd(demo_epochs)
    -#> Removing channel means per epoch...
    -#> Computing Power Spectral Density using Welch's method.
    -#> FFT length: 256
    -#> Segment length: 84
    -#> Overlapping points: 42 (50% overlap)
    +library(eegUtils) +#> +#> Attaching package: 'eegUtils' +#> The following object is masked from 'package:stats': +#> +#> filter +demo_psd <- compute_psd(demo_epochs) +#> Removing channel means per epoch... +#> Computing Power Spectral Density using Welch's method. +#> FFT length: 256 +#> Segment length: 84 +#> Overlapping points: 42 (50% overlap) +plot_psd(demo_epochs) +#> Removing channel means per epoch... +#> Computing Power Spectral Density using Welch's method. +#> FFT length: 256 +#> Segment length: 84 +#> Overlapping points: 42 (50% overlap)

    -
    -

    -Time-frequency analysis

    -

    Frequency analysis necessarily discards temporal information. One problem is that it assumes stationarity - that the signal remains stable in terms of frequency and power across the whole analysed time window. However, this is rarely the case with EEG data, which exhibits dynamics across a wide range of timescales.

    -

    Time-frequency analysis is a method of accounting for non-stationarity by decomposing the signal using a moving-window analysis, tiling the time-frequency space to resolve power over relatively shorter time-windows.

    -

    In eegUtils, compute_tfr() can be used to calculate a time-frequency representation of eeg_epochs(). Currently, this is achieved using Morlet wavelets. Morlet wavelets are used to window the signal, controlling spectral leakage and time-frequency specificity. Morlet wavelets have a user-defined temporal extent, which in turn determines the frequency extent. We define the temporal extent of our wavelets by cycles; we define it as an integer number of cycles at each frequency of interest.

    +
    +

    Time-frequency analysis +

    +

    Frequency analysis necessarily discards temporal information. One +problem is that it assumes stationarity - that the signal remains stable +in terms of frequency and power across the whole analysed time window. +However, this is rarely the case with EEG data, which exhibits dynamics +across a wide range of timescales.

    +

    Time-frequency analysis is a method of accounting for +non-stationarity by decomposing the signal using a moving-window +analysis, tiling the time-frequency space to resolve power over +relatively shorter time-windows.

    +

    In eegUtils, compute_tfr() can be used to +calculate a time-frequency representation of eeg_epochs(). +Currently, this is achieved using Morlet wavelets. Morlet wavelets are +used to window the signal, controlling spectral leakage and +time-frequency specificity. Morlet wavelets have a user-defined temporal +extent, which in turn determines the frequency extent. We define the +temporal extent of our wavelets by cycles; we define it +as an integer number of cycles at each frequency of interest.

    -demo_tfr <- compute_tfr(demo_epochs,
    -                        method = "morlet",
    -                        foi = c(4, 30),
    -                        n_freq = 12,
    -                        n_cycles = 3)
    -#> Computing TFR using Morlet wavelet convolution
    -#> Output frequencies using linear spacing: 4 6.36 8.73 11.09 13.45 15.82 18.18 20.55 22.91 25.27 27.64 30
    -#> Removing channel means per epoch...
    -#> Returning signal averaged over all trials.
    -demo_tfr
    -#> Epoched EEG TFR data
    -#> 
    -#> Frequency range      :    4 6.36 8.73 11.09 13.45 15.82 18.18 20.55 22.91 25.27 27.64 30 
    -#> Number of channels   :    11 
    -#> Electrode names      :    A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    -#> Number of epochs :    80 
    -#> Epoch limits     :    -0.197 - 0.451 seconds
    -#> Sampling rate        :    128  Hz
    -

    Note that the characteristics of the wavelets, in terms of temporal and frequency standard deviations, are stored inside the eeg_tfr object:

    +demo_tfr <- compute_tfr(demo_epochs, + method = "morlet", + foi = c(4, 30), + n_freq = 12, + n_cycles = 3) +#> Computing TFR using Morlet wavelet convolution +#> Output frequencies using linear spacing: 4 6.36 8.73 11.09 13.45 15.82 18.18 20.55 22.91 25.27 27.64 30 +#> Removing channel means per epoch... +#> Returning signal averaged over all trials. +demo_tfr +#> Epoched EEG TFR data +#> +#> Frequency range : 4 6.36 8.73 11.09 13.45 15.82 18.18 20.55 22.91 25.27 27.64 30 +#> Number of channels : 11 +#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 +#> Number of epochs : 1 +#> Epoch limits : -0.197 - 0.451 seconds +#> Sampling rate : 128 Hz
    +

    Note that the characteristics of the wavelets, in terms of temporal +and frequency standard deviations, are stored inside the +eeg_tfr object:

    -demo_tfr$freq_info$morlet_resolution
    -#>    frequency   sigma_f    sigma_t n_cycles
    -#> 1   4.000000  1.333333 0.11936621        3
    -#> 2   6.363636  2.121212 0.07503019        3
    -#> 3   8.727273  2.909091 0.05470951        3
    -#> 4  11.090909  3.696970 0.04305011        3
    -#> 5  13.454545  4.484848 0.03548725        3
    -#> 6  15.818182  5.272727 0.03018456        3
    -#> 7  18.181818  6.060606 0.02626057        3
    -#> 8  20.545455  6.848485 0.02323944        3
    -#> 9  22.909091  7.636364 0.02084172        3
    -#> 10 25.272727  8.424242 0.01889249        3
    -#> 11 27.636364  9.212121 0.01727669        3
    -#> 12 30.000000 10.000000 0.01591549        3
    -

    The results of the time-frequency transformation can be plotted using the plot_tfr() function.

    +demo_tfr$freq_info$morlet_resolution +#> frequency sigma_f sigma_t n_cycles +#> 1 4.000000 1.333333 0.11936621 3 +#> 2 6.363636 2.121212 0.07503019 3 +#> 3 8.727273 2.909091 0.05470951 3 +#> 4 11.090909 3.696970 0.04305011 3 +#> 5 13.454545 4.484848 0.03548725 3 +#> 6 15.818182 5.272727 0.03018456 3 +#> 7 18.181818 6.060606 0.02626057 3 +#> 8 20.545455 6.848485 0.02323944 3 +#> 9 22.909091 7.636364 0.02084172 3 +#> 10 25.272727 8.424242 0.01889249 3 +#> 11 27.636364 9.212121 0.01727669 3 +#> 12 30.000000 10.000000 0.01591549 3
    +

    The results of the time-frequency transformation can be plotted using +the plot_tfr() function.

    -plot_tfr(demo_tfr)
    +plot_tfr(demo_tfr)

    -

    Baseline correction is common in the literature, which can serve two purposes. Several different methods are possible. both for plotting only, and as a modification to the eeg_tfr object using rm_baseline().

    +

    Baseline correction is common in the literature, which can serve two +purposes. Several different methods are possible. both for plotting +only, and as a modification to the eeg_tfr object using +rm_baseline().

    -plot_tfr(demo_tfr, baseline_type = "absolute", baseline = c(-.1, 0))
    +plot_tfr(demo_tfr, baseline_type = "absolute", baseline = c(-.1, 0)) +#> Baseline: -0.1-0 s

    -plot_tfr(demo_tfr, baseline_type = "db", baseline = c(-.1, 0))
    +plot_tfr(demo_tfr, baseline_type = "db", baseline = c(-.1, 0)) +#> Baseline: -0.1-0 s

    + - + + + diff --git a/docs/dev/articles/topoplot/topoplot.html b/docs/dev/articles/topoplot/topoplot.html index 2ac4bb96..31daab18 100644 --- a/docs/dev/articles/topoplot/topoplot.html +++ b/docs/dev/articles/topoplot/topoplot.html @@ -6,13 +6,12 @@ Building a topographical plot • eegUtils - + - + +
    + +
    -

    eegUtils has convenience functions for plotting and styling topographical scalp maps, which are very frequently used when exploring EEG and MEG data.

    -

    The topoplot() function uses ggplot2 to create a such a topographical map, with a cartoon head, ears and nose, and points or text labels indicating electrode positions or names.

    -

    Here’s an example using the built-in demo_epochs dataset.

    +

    eegUtils has convenience functions for plotting and +styling topographical scalp maps, which are very frequently used when +exploring EEG and MEG data.

    +

    The topoplot() function uses ggplot2 to +create a such a topographical map, with a cartoon head, ears and nose, +and points or text labels indicating electrode positions or names.

    +

    Here’s an example using the built-in demo_epochs +dataset.

    -topoplot(demo_epochs)
    -#> Using electrode locations from data.
    +topoplot(demo_epochs) +#> Creating epochs based on combinations of variables: epoch_label participant_id +#> Using electrode locations from data. +#> Plotting head r 95 mm

    -

    topoplot() has many different parameters that can be used to alter its appearance and select different parts of the data to be plotted. For example, here we select a specific time period to plot (the function averages over points within these limits), change the plotting so that all electrodes and interpolated surfaces are within the cartoon head, and highlight a specific electrode in white.

    +

    topoplot() has many different parameters that can be +used to alter its appearance and select different parts of the data to +be plotted. For example, here we select a specific time period to plot +(the function averages over points within these limits), change the +plotting so that all electrodes and interpolated surfaces are within the +cartoon head, and highlight a specific electrode in white.

    -topoplot(demo_epochs,
    -         time_lim = c(.1, .2),
    -         palette = "viridis",
    -         highlights = c("B5"),
    -         interp_limit = "head")
    -#> Using electrode locations from data.
    +topoplot(demo_epochs, + time_lim = c(.1, .2), + palette = "viridis", + highlights = c("B5"), + interp_limit = "head") +#> Creating epochs based on combinations of variables: epoch_label participant_id +#> Using electrode locations from data. +#> Plotting head r 101.2 mm

    -

    topoplot() operates on several different types of eegUtils object, and has different default settings and behaviour for those objects. For example, for ICA decompositions, it plots the mixing matrix for each component.

    +

    topoplot() operates on several different types of +eegUtils object, and has different default settings and +behaviour for those objects. For example, for ICA decompositions, it +plots the mixing matrix for each component.

    -demo_ica <- run_ICA(demo_epochs,
    -                    pca = 10) # the data is average referenced, so PCA is required
    -topoplot(demo_ica, component = 2)
    +demo_ica <- run_ICA(demo_epochs, + pca = 10) # the data is average referenced, so PCA is required +topoplot(demo_ica, component = 2)

    -
    -

    -ggplot2 extensions - geom_topo()

    -

    For those who desire more control over the plots and are familiar with ggplot2, there are several custom geoms to help you do this. As a starter, the geom_topo() creates a full topographical plot, with cartoon head and points indicating coordinate locations. This is based on ggplot2’s geom_raster(), and has such has many parameters in common. But unlike geom_raster() it can handle an irregular grid. You are required to supply x, y, fill, and z aesthetics to use this function.

    -

    fortify methods are included in the package so that most eegUtils objects can be passed directly to ggplot(). For more complete control, one might wish to convert the objects using as.data.frame() first, so that any desired manipulations such as averaging can be conducted first.

    +
    +

    ggplot2 extensions - geom_topo() +

    +

    For those who desire more control over the plots and are familiar +with ggplot2, there are several custom geoms to help you do +this. As a starter, the geom_topo() creates a full +topographical plot, with cartoon head and points indicating coordinate +locations. This is based on ggplot2’s +geom_raster(), and has such has many parameters in common. +But unlike geom_raster() it can handle an irregular grid. +You are required to supply x, y, +fill, and z aesthetics to use this +function.

    +

    fortify methods are included in the package so that most +eegUtils objects can be passed directly to +ggplot(). For more complete control, one might wish to +convert the objects using as.data.frame() first, so that +any desired manipulations such as averaging can be conducted first.

    -library(ggplot2)
    -ggplot(demo_epochs,
    -       aes(x = x,
    -           y = y,
    -           fill = amplitude,
    -           z = amplitude)) +
    -  geom_topo()
    -#> Warning: Unknown or uninitialised column: `group`.
    +library(ggplot2) +ggplot(demo_epochs, + aes(x = x, + y = y, + fill = amplitude, + z = amplitude)) + + geom_topo()

    -ggplot(demo_epochs,
    -       aes(x = x,
    -           y = y,
    -           fill = amplitude,
    -           z = amplitude)) +
    -  geom_topo() + 
    -  scale_fill_distiller(palette = "RdBu") + 
    -  theme_void() + 
    -  coord_equal() + 
    -  labs(fill = expression(paste("Amplitude (", mu,"V)")))
    -#> Warning: Unknown or uninitialised column: `group`.
    +ggplot(demo_epochs, + aes(x = x, + y = y, + fill = amplitude, + z = amplitude)) + + geom_topo() + + scale_fill_distiller(palette = "RdBu") + + theme_void() + + coord_equal() + + labs(fill = expression(paste("Amplitude (", mu,"V)")))

    -

    There are several different parameters that can be passed to geom_topo() to change the appearance of the plot.

    +

    There are several different parameters that can be passed to +geom_topo() to change the appearance of the plot.

    -ggplot(demo_epochs,
    -       aes(x = x,
    -           y = y,
    -           fill = amplitude,
    -           z = amplitude,
    -           label = electrode)) +
    -  geom_topo(grid_res = 200,
    -            interp_limit = "head",
    -            chan_markers = "text",
    -            chan_size = 4,
    -            colour = "black") + 
    -  scale_fill_distiller(palette = "RdBu") + 
    -  theme_void() + 
    -  coord_equal() + 
    -  labs(fill = expression(paste("Amplitude (", mu,"V)"))) 
    -#> Warning: Unknown or uninitialised column: `group`.
    +ggplot(demo_epochs, + aes(x = x, + y = y, + fill = amplitude, + z = amplitude, + label = electrode)) + + geom_topo(grid_res = 200, + interp_limit = "head", + chan_markers = "text", + chan_size = 4, + colour = "black") + + scale_fill_distiller(palette = "RdBu") + + theme_void() + + coord_equal() + + labs(fill = expression(paste("Amplitude (", mu,"V)")))

    -
    -

    -Building from the ground up

    -

    For those who want even more control, individual constituent parts can be added to the plots as below.

    -

    stat_scalpmap() adds an interpolated surface from an irregular grid of electrodes, rounded off as a circular shape. geom_head() adds a cartoon headshape. geom_channels() is a wrapper round geom_text() and geom_point() that prevents overplotting when submitting an eegUtils object directly, and can be used to plot channel locations as points or text labels. geom_mask() can be used to draw a circular masking ring around the edge of the interpolated surface, to smooth any rough edges. This is useful when using a low grid resolution, which is advisable when using facetting or animation. All of these geoms are customisable as standard ggplot2 geoms are.

    +
    +

    Building from the ground up +

    +

    For those who want even more control, individual constituent +parts can be added to the plots as below.

    +

    stat_scalpmap() adds an interpolated surface from an +irregular grid of electrodes, rounded off as a circular shape. +geom_head() adds a cartoon headshape. +geom_channels() is a wrapper round geom_text() +and geom_point() that prevents overplotting when submitting +an eegUtils object directly, and can be used to plot +channel locations as points or text labels. geom_mask() can +be used to draw a circular masking ring around the edge of the +interpolated surface, to smooth any rough edges. This is useful when +using a low grid resolution, which is advisable when using facetting or +animation. All of these geoms are customisable as standard +ggplot2 geoms are.

    -ggplot(demo_epochs, 
    -       aes(x = x, 
    -           y = y,
    -           fill = amplitude)) + 
    -  stat_scalpmap(grid_res = 60) +  #based on geom_raster()
    -  geom_mask(r = 114, size = 6) +    #based on geom_path()
    -  geom_head() +                   #based on geom_path() and geom_curve()
    -  geom_channels() +               #based on geom_point() and geom_text()
    -  scale_fill_viridis_c(limits = c(-6, 6),
    -                       oob = scales::squish) +
    -  coord_equal()
    +ggplot(demo_epochs, + aes(x = x, + y = y, + fill = amplitude)) + + stat_scalpmap(grid_res = 60) + #based on geom_raster() + geom_mask(r = 114, size = 6) + #based on geom_path() + geom_head() + #based on geom_path() and geom_curve() + geom_channels() + #based on geom_point() and geom_text() + scale_fill_viridis_c(limits = c(-6, 6), + oob = scales::squish) + + coord_equal()

    + - + + + diff --git a/docs/dev/articles/topoplot/topoplot_files/figure-html/default-geom-1.png b/docs/dev/articles/topoplot/topoplot_files/figure-html/default-geom-1.png index 27a1bd41..7ad0bb0f 100644 Binary files a/docs/dev/articles/topoplot/topoplot_files/figure-html/default-geom-1.png and b/docs/dev/articles/topoplot/topoplot_files/figure-html/default-geom-1.png differ diff --git a/docs/dev/articles/topoplot/topoplot_files/figure-html/get-ica-1.png b/docs/dev/articles/topoplot/topoplot_files/figure-html/get-ica-1.png index 2f8c24ab..cadec0a9 100644 Binary files a/docs/dev/articles/topoplot/topoplot_files/figure-html/get-ica-1.png and b/docs/dev/articles/topoplot/topoplot_files/figure-html/get-ica-1.png differ diff --git a/docs/dev/articles/topoplot/topoplot_files/figure-html/step-by-step-1.png b/docs/dev/articles/topoplot/topoplot_files/figure-html/step-by-step-1.png index 40644f4a..22c34691 100644 Binary files a/docs/dev/articles/topoplot/topoplot_files/figure-html/step-by-step-1.png and b/docs/dev/articles/topoplot/topoplot_files/figure-html/step-by-step-1.png differ diff --git a/docs/dev/articles/topoplot/topoplot_files/figure-html/topo-orig-1.png b/docs/dev/articles/topoplot/topoplot_files/figure-html/topo-orig-1.png index c18b8aad..c2f423a4 100644 Binary files a/docs/dev/articles/topoplot/topoplot_files/figure-html/topo-orig-1.png and b/docs/dev/articles/topoplot/topoplot_files/figure-html/topo-orig-1.png differ diff --git a/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-1-1.png b/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-1-1.png index 18f979b1..cea2652b 100644 Binary files a/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-1-1.png and b/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-1-1.png differ diff --git a/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-2-1.png b/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-2-1.png index 1367ebc8..ca5a69cd 100644 Binary files a/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-2-1.png and b/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-2-1.png differ diff --git a/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-3-1.png b/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-3-1.png index 08e74e61..32890c4e 100644 Binary files a/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-3-1.png and b/docs/dev/articles/topoplot/topoplot_files/figure-html/unnamed-chunk-3-1.png differ diff --git a/docs/dev/authors.html b/docs/dev/authors.html index b61c7d5d..dbaf0e89 100644 --- a/docs/dev/authors.html +++ b/docs/dev/authors.html @@ -1,130 +1,97 @@ -Authors and Citation • eegUtils - - -
    -
    -
    -
    - - - + +
    + + +
    +
    +
    +
    + +
    +

    Authors

    +
    • -

      Matt Craddock. Author, maintainer, copyright holder. +

      Matt Craddock. Author, maintainer.

    • -

      Matti Vuorre. Contributor. +

      Matti Vuorre. Contributor.

    • -

      ggplot2 authors. Contributor, copyright holder. -
      Routines borrowed from ggplot2 to allow countours to be drawn on topoplots

      +

      ggplot2 authors. Copyright holder. +
      Routines borrowed from ggplot2 to allow contours to be drawn on topoplots

    -
    -
    -

    Citation

    - Source: DESCRIPTION -
    -
    +
    +

    Citation

    +

    Source: DESCRIPTION

    -

    Craddock M (2022). +

    Craddock M (2024). eegUtils: Utilities for Electroencephalographic (EEG) Analysis. -https://github.com/craddm/eegUtils, https://craddm.github.io/eegUtils. +R package version 0.7.0.9000, https://craddm.github.io/eegUtils, https://github.com/craddm/eegUtils.

    -
    @Manual{,
    +      
    @Manual{,
       title = {eegUtils: Utilities for Electroencephalographic (EEG) Analysis},
       author = {Matt Craddock},
    -  year = {2022},
    -  note = {https://github.com/craddm/eegUtils, https://craddm.github.io/eegUtils},
    +  year = {2024},
    +  note = {R package version 0.7.0.9000, https://craddm.github.io/eegUtils},
    +  url = {https://github.com/craddm/eegUtils},
     }
    +
    -
    - -
    - +
    -
    +
    + - - diff --git a/docs/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js b/docs/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js new file mode 100644 index 00000000..e8f21f70 --- /dev/null +++ b/docs/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.1 (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function M(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function j(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${j(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${j(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=M(t.dataset[n])}return e},getDataAttribute:(t,e)=>M(t.getAttribute(`data-bs-${j(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.1"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return n(e)},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",Mt="collapsing",jt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(Mt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(Mt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Mt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(jt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Me(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const je={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Me(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:Me(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==P(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],M=f?-T[$]/2:0,j=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-M-q-z-O.mainAxis:j-q-z-O.mainAxis,K=v?-E[$]/2+M+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,Mn=`hide${xn}`,jn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,jn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,jn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
    "},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",Ms="Home",js="End",Fs="active",Hs="fade",Ws="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Rs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,qs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Vs extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,Ms,js].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([Ms,js].includes(t.key))i=e[t.key===Ms?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return z.find(Rs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(Rs)?t:z.findOne(Rs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Vs.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(qs))Vs.getOrCreateInstance(t)})),m(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){N.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),d(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),N.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),N.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Qs,(t=>this._onInteraction(t,!0))),N.on(this._element,Xs,(t=>this._onInteraction(t,!1))),N.on(this._element,Ys,(t=>this._onInteraction(t,!0))),N.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ro),m(ro),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Vs,Toast:ro,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/docs/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map b/docs/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map new file mode 100644 index 00000000..3863da8b --- /dev/null +++ b/docs/dev/deps/bootstrap-5.3.1/bootstrap.bundle.min.js.map @@ -0,0 +1 @@ +{"version":3,"names":["elementMap","Map","Data","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","TRANSITION_END","parseSelector","selector","window","CSS","escape","replace","match","id","triggerTransitionEnd","dispatchEvent","Event","isElement","object","jquery","nodeType","getElement","length","document","querySelector","isVisible","getClientRects","elementIsVisible","getComputedStyle","getPropertyValue","closedDetails","closest","summary","parentNode","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","getAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","getjQuery","jQuery","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","possibleCallback","args","defaultValue","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","findHandler","events","callable","delegationSelector","Object","values","find","event","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","oneOff","wrapFunction","relatedTarget","delegateTarget","call","this","handlers","previousFunction","domElements","querySelectorAll","domElement","hydrateObj","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","elementEvent","slice","keyHandlers","trigger","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","obj","meta","value","_unused","defineProperty","configurable","normalizeData","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","Config","Default","DefaultType","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","prototype","RegExp","test","TypeError","toUpperCase","BaseComponent","super","_element","_config","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","eventName","getSelector","hrefAttribute","trim","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","EVENT_CLOSE","EVENT_CLOSED","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","DATA_API_KEY","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","EVENT_CLICK_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","swipeConfig","_directionToOrder","endCallBack","clearTimeout","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_SHOW","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_DEEPER_CHILDREN","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","activeInstance","dimension","_getDimension","style","scrollSize","complete","getBoundingClientRect","selected","triggerArray","isOpen","top","bottom","right","left","auto","basePlacements","start","end","clippingParents","viewport","popper","reference","variationPlacements","reduce","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","nodeName","getWindow","node","ownerDocument","defaultView","isHTMLElement","HTMLElement","isShadowRoot","applyStyles$1","enabled","phase","_ref","state","elements","forEach","styles","assign","effect","_ref2","initialStyles","position","options","strategy","margin","arrow","hasOwnProperty","attribute","requires","getBasePlacement","round","getUAString","uaData","userAgentData","brands","isArray","item","brand","version","userAgent","isLayoutViewport","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","offsetWidth","width","height","visualViewport","addVisualOffsets","x","offsetLeft","y","offsetTop","getLayoutRect","rootNode","isSameNode","host","isTableElement","getDocumentElement","getParentNode","assignedSlot","getTrueOffsetParent","offsetParent","getOffsetParent","isFirefox","currentNode","css","transform","perspective","contain","willChange","getContainingBlock","getMainAxisFromPlacement","within","mathMax","mathMin","mergePaddingObject","paddingObject","expandToHashMap","hashMap","arrow$1","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","axis","len","padding","rects","toPaddingObject","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","clientHeight","clientWidth","centerToReference","center","offset","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","win","heightProp","widthProp","_Object$assign","commonStyles","_ref4","dpr","devicePixelRatio","roundOffsetsByDPR","computeStyles$1","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","passive","eventListeners","_options$scroll","scroll","_options$resize","resize","scrollParents","scrollParent","update","hash","getOppositePlacement","matched","getOppositeVariationPlacement","getWindowScroll","scrollLeft","pageXOffset","scrollTop","pageYOffset","getWindowScrollBarX","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","_element$ownerDocumen","isBody","updatedList","rectToClientRect","rect","getClientRectFromMixedType","clippingParent","html","layoutViewport","getViewportRect","clientTop","clientLeft","getInnerBoundingClientRect","winScroll","scrollWidth","scrollHeight","getDocumentRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","boundary","_options$rootBoundary","rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","mainClippingParents","clipperElement","getClippingParents","firstClippingParent","clippingRect","accRect","getClippingRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","sort","a","b","flip$1","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","oppositePlacement","getExpandedFallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","i","_basePlacement","isStartVariation","isVertical","mainVariationSide","altVariationSide","checks","every","check","_loop","_i","fittingPlacement","reset","getSideOffsets","preventedOffsets","isAnySideFullyClipped","some","side","hide$1","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","offset$1","_options$offset","invertDistance","skidding","distance","distanceAndSkiddingToXY","_data$state$placement","popperOffsets$1","preventOverflow$1","_options$tether","tether","_options$tetherOffset","tetherOffset","isBasePlacement","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","v","withinMaxClamp","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","isElementScaled","modifiers","visited","result","modifier","dep","depModifier","DEFAULT_OPTIONS","areValidElements","arguments","_key","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","pending","orderedModifiers","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","merged","orderModifiers","current","existing","m","_ref$options","cleanupFn","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","Promise","resolve","then","destroy","onFirstUpdate","createPopper","computeStyles","applyStyles","flip","ARROW_UP_KEY","ARROW_DOWN_KEY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","autoClose","display","popperConfig","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","innerWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","isOverflowing","_saveInitialAttribute","styleProperty","scrollbarWidth","_applyManipulationCallback","setProperty","actualValue","removeProperty","callBack","sel","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","OPEN_SELECTOR","Offcanvas","blur","completeCallback","DefaultAllowlist","area","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeName","nodeValue","attributeRegex","regex","allowList","content","extraClass","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","innerHTML","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","textContent","unsafeHtml","sanitizeFunction","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","sanitizeHtml","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","prefix","floor","random","getElementById","getUID","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","Popover","_getContent","EVENT_ACTIVATE","EVENT_CLICK","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LINKS","SELECTOR_LINK_ITEMS","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","scrollTo","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","activeNodes","spy","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","HOME_KEY","END_KEY","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","hideEvent","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"sources":["../../js/src/dom/data.js","../../js/src/util/index.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map())\n }\n\n const instanceMap = elementMap.get(element)\n\n // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n return\n }\n\n instanceMap.set(key, instance)\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null\n }\n\n return null\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return\n }\n\n const instanceMap = elementMap.get(element)\n\n instanceMap.delete(key)\n\n // free up element references if there are no instances left for an element\n if (instanceMap.size === 0) {\n elementMap.delete(element)\n }\n }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n if (selector && window.CSS && window.CSS.escape) {\n // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n }\n\n return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID)\n } while (document.getElementById(prefix))\n\n return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n const floatTransitionDuration = Number.parseFloat(transitionDuration)\n const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0]\n }\n\n return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(parseSelector(object))\n }\n\n return null\n}\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n // Handle `details` element as its content may falsie appear visible when it is closed\n const closedDetails = element.closest('details:not([open])')\n\n if (!closedDetails) {\n return elementIsVisible\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary')\n if (summary && summary.parentNode !== closedDetails) {\n return false\n }\n\n if (summary === null) {\n return false\n }\n }\n\n return elementIsVisible\n}\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true\n }\n\n if (element.classList.contains('disabled')) {\n return true\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery\n }\n\n return null\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback()\n }\n })\n }\n\n DOMContentLoadedCallbacks.push(callback)\n } else {\n callback()\n }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery()\n /* istanbul ignore if */\n if ($) {\n const name = plugin.NAME\n const JQUERY_NO_CONFLICT = $.fn[name]\n $.fn[name] = plugin.jQueryInterface\n $.fn[name].Constructor = plugin\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT\n return plugin.jQueryInterface\n }\n }\n })\n}\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n return typeof possibleCallback === 'function' ? possibleCallback(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback)\n return\n }\n\n const durationPadding = 5\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n let called = false\n\n const handler = ({ target }) => {\n if (target !== transitionElement) {\n return\n }\n\n called = true\n transitionElement.removeEventListener(TRANSITION_END, handler)\n execute(callback)\n }\n\n transitionElement.addEventListener(TRANSITION_END, handler)\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement)\n }\n }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length\n let index = list.indexOf(activeElement)\n\n // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n }\n\n index += shouldGetNext ? 1 : -1\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n defineJQueryPlugin,\n execute,\n executeAfterTransition,\n findShadowRoot,\n getElement,\n getjQuery,\n getNextActiveElement,\n getTransitionDurationFromElement,\n getUID,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop,\n onDOMContentLoaded,\n parseSelector,\n reflow,\n triggerTransitionEnd,\n toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {}\n }\n\n static get DefaultType() {\n return {}\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!')\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n return config\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n return {\n ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n }\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const [property, expectedTypes] of Object.entries(configTypes)) {\n const value = config[property]\n const valueType = isElement(value) ? 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(\n `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n )\n }\n }\n }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super()\n\n element = getElement(element)\n if (!element) {\n return\n }\n\n this._element = element\n this._config = this._getConfig(config)\n\n Data.set(this._element, this.constructor.DATA_KEY, this)\n }\n\n // Public\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY)\n EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated)\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n // Static\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY)\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n }\n\n static get VERSION() {\n return VERSION\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`\n }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return parseSelector(selector)\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`\n const name = component.NAME\n\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n const instance = component.getOrCreateInstance(target)\n\n // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n instance[method]()\n })\n}\n\nexport {\n enableDismissTrigger\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n if (closeEvent.defaultPrevented) {\n return\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n }\n\n // Private\n _destroyElement() {\n this._element.remove()\n EventHandler.trigger(this._element, EVENT_CLOSED)\n this.dispose()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert)\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this)\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = Button.getOrCreateInstance(button)\n\n data.toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button)\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n}\n\nconst DefaultType = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super()\n this._element = element\n\n if (!element || !Swipe.isSupported()) {\n return\n }\n\n this._config = this._getConfig(config)\n this._deltaX = 0\n this._supportPointerEvents = Boolean(window.PointerEvent)\n this._initEvents()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n dispose() {\n EventHandler.off(this._element, EVENT_KEY)\n }\n\n // Private\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX\n\n return\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX\n }\n\n this._handleSwipe()\n execute(this._config.endCallback)\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ?\n 0 :\n event.touches[0].clientX - this._deltaX\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX)\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltaX / this._deltaX\n\n this._deltaX = 0\n\n if (!direction) {\n return\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n }\n\n // Static\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getNextActiveElement,\n isRTL,\n isVisible,\n reflow,\n triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)', // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._interval = null\n this._activeElement = null\n this._isSliding = false\n this.touchTimeout = null\n this._swipeHelper = null\n\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n this._addEventListeners()\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n next() {\n this._slide(ORDER_NEXT)\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next()\n }\n }\n\n prev() {\n this._slide(ORDER_PREV)\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element)\n }\n\n this._clearInterval()\n }\n\n cycle() {\n this._clearInterval()\n this._updateInterval()\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n return\n }\n\n this.cycle()\n }\n\n to(index) {\n const items = this._getItems()\n if (index > items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n return\n }\n\n const activeIndex = this._getItemIndex(this._getActive())\n if (activeIndex === index) {\n return\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n this._slide(order, items[index])\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose()\n }\n\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n config.defaultInterval = config.interval\n return config\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return\n }\n\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n }\n\n this._swipeHelper = new Swipe(this._element, swipeConfig)\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n const direction = KEY_TO_DIRECTION[event.key]\n if (direction) {\n event.preventDefault()\n this._slide(this._directionToOrder(direction))\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element)\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n activeIndicator.removeAttribute('aria-current')\n\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n newActiveIndicator.setAttribute('aria-current', 'true')\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive()\n\n if (!element) {\n return\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n this._config.interval = elementInterval || this._config.defaultInterval\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return\n }\n\n const activeElement = this._getActive()\n const isNext = order === ORDER_NEXT\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n if (nextElement === activeElement) {\n return\n }\n\n const nextElementIndex = this._getItemIndex(nextElement)\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n })\n }\n\n const slideEvent = triggerEvent(EVENT_SLIDE)\n\n if (slideEvent.defaultPrevented) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // TODO: change tests that use empty divs to avoid this check\n return\n }\n\n const isCycling = Boolean(this._interval)\n this.pause()\n\n this._isSliding = true\n\n this._setActiveIndicatorElement(nextElementIndex)\n this._activeElement = nextElement\n\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n nextElement.classList.add(orderClassName)\n\n reflow(nextElement)\n\n activeElement.classList.add(directionalClassName)\n nextElement.classList.add(directionalClassName)\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName)\n nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n this._isSliding = false\n\n triggerEvent(EVENT_SLID)\n }\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE)\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element)\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config)\n\n if (typeof config === 'number') {\n data.to(config)\n return\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n event.preventDefault()\n\n const carousel = Carousel.getOrCreateInstance(target)\n const slideIndex = this.getAttribute('data-bs-slide-to')\n\n if (slideIndex) {\n carousel.to(slideIndex)\n carousel._maybeEnableCycle()\n return\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next()\n carousel._maybeEnableCycle()\n return\n }\n\n carousel.prev()\n carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel)\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel)\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n getElement,\n reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n parent: null,\n toggle: true\n}\n\nconst DefaultType = {\n parent: '(null|element)',\n toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isTransitioning = false\n this._triggerArray = []\n\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n for (const elem of toggleList) {\n const selector = SelectorEngine.getSelectorFromElement(elem)\n const filterElement = SelectorEngine.find(selector)\n .filter(foundElement => foundElement === this._element)\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem)\n }\n }\n\n this._initializeChildren()\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n if (this._isShown()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return\n }\n\n let activeChildren = []\n\n // find active children\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n .filter(element => element !== this._element)\n .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n if (startEvent.defaultPrevented) {\n return\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide()\n }\n\n const dimension = this._getDimension()\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE)\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n this._addAriaAndCollapsedClass(this._triggerArray, true)\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n this._element.style[dimension] = ''\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n\n this._queueCallback(complete, this._element, true)\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n if (startEvent.defaultPrevented) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_COLLAPSING)\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n for (const trigger of this._triggerArray) {\n const element = SelectorEngine.getElementFromSelector(trigger)\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false)\n }\n }\n\n this._isTransitioning = true\n\n const complete = () => {\n this._isTransitioning = false\n this._element.classList.remove(CLASS_NAME_COLLAPSING)\n this._element.classList.add(CLASS_NAME_COLLAPSE)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n\n this._queueCallback(complete, this._element, true)\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle) // Coerce string values\n config.parent = getElement(config.parent)\n return config\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n for (const element of children) {\n const selected = SelectorEngine.getElementFromSelector(element)\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected))\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n // remove children if greater depth\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n element.setAttribute('aria-expanded', isOpen)\n }\n }\n\n // Static\n static jQueryInterface(config) {\n const _config = {}\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n event.preventDefault()\n }\n\n for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n }\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse)\n\nexport default Collapse\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n defineJQueryPlugin,\n execute,\n getElement,\n getNextActiveElement,\n isDisabled,\n isElement,\n isRTL,\n isVisible,\n noop\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n}\n\nconst DefaultType = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._popper = null\n this._parent = this._element.parentNode // dropdown wrapper\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n this._inNavbar = this._detectNavbar()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle() {\n return this._isShown() ? this.hide() : this.show()\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._createPopper()\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n this._menu.classList.add(CLASS_NAME_SHOW)\n this._element.classList.add(CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n\n this._completeHide(relatedTarget)\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy()\n }\n\n super.dispose()\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Private\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOW)\n this._element.setAttribute('aria-expanded', 'false')\n Manipulator.removeDataAttribute(this._menu, 'popper')\n EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n }\n\n _getConfig(config) {\n config = super._getConfig(config)\n\n if (typeof config.reference === 'object' && !isElement(config.reference) &&\n typeof config.reference.getBoundingClientRect !== 'function'\n ) {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n }\n\n return config\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference)\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference\n }\n\n const popperConfig = this._getPopperConfig()\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW)\n }\n\n _getPlacement() {\n const parentDropdown = this._parent\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER\n }\n\n // We need to trim the value because custom properties can also include spaces\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }\n\n // Disable Popper if we have a static display or Dropdown is in Navbar\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _selectMenuItem({ key, target }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element))\n\n if (!items.length) {\n return\n }\n\n // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n return\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle)\n if (!context || context._config.autoClose === false) {\n continue\n }\n\n const composedPath = event.composedPath()\n const isMenuTarget = composedPath.includes(context._menu)\n if (\n composedPath.includes(context._element) ||\n (context._config.autoClose === 'inside' && !isMenuTarget) ||\n (context._config.autoClose === 'outside' && isMenuTarget)\n ) {\n continue\n }\n\n // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue\n }\n\n const relatedTarget = { relatedTarget: context._element }\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n context._completeHide(relatedTarget)\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\n const isInput = /input|textarea/i.test(event.target.tagName)\n const isEscapeEvent = event.key === ESCAPE_KEY\n const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return\n }\n\n if (isInput && !isEscapeEvent) {\n return\n }\n\n event.preventDefault()\n\n // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n this :\n (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n if (isUpOrDownEvent) {\n event.stopPropagation()\n instance.show()\n instance._selectMenuItem(event)\n return\n }\n\n if (instance._isShown()) { // else is escape and we check if it is shown\n event.stopPropagation()\n instance.hide()\n getToggleButton.focus()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n Dropdown.getOrCreateInstance(this).toggle()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown)\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute, executeAfterTransition, getElement, reflow } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isAppended = false\n this._element = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._append()\n\n const element = this._getElement()\n if (this._config.isAnimated) {\n reflow(element)\n }\n\n element.classList.add(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n execute(callback)\n })\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback)\n return\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n this._emulateAnimation(() => {\n this.dispose()\n execute(callback)\n })\n }\n\n dispose() {\n if (!this._isAppended) {\n return\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n this._element.remove()\n this._isAppended = false\n }\n\n // Private\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div')\n backdrop.className = this._config.className\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE)\n }\n\n this._element = backdrop\n }\n\n return this._element\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement)\n return config\n }\n\n _append() {\n if (this._isAppended) {\n return\n }\n\n const element = this._getElement()\n this._config.rootElement.append(element)\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback)\n })\n\n this._isAppended = true\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n autofocus: 'boolean',\n trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n this._isActive = false\n this._lastTabNavDirection = null\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n activate() {\n if (this._isActive) {\n return\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus()\n }\n\n EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n this._isActive = true\n }\n\n deactivate() {\n if (!this._isActive) {\n return\n }\n\n this._isActive = false\n EventHandler.off(document, EVENT_KEY)\n }\n\n // Private\n _handleFocusin(event) {\n const { trapElement } = this._config\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement)\n\n if (elements.length === 0) {\n trapElement.focus()\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus()\n } else {\n elements[0].focus()\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body\n }\n\n // Public\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth\n return Math.abs(window.innerWidth - documentWidth)\n }\n\n hide() {\n const width = this.getWidth()\n this._disableOverFlow()\n // give padding to element to balance the hidden scrollbar width\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow')\n this._resetElementAttributes(this._element, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n }\n\n isOverflowing() {\n return this.getWidth() > 0\n }\n\n // Private\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow')\n this._element.style.overflow = 'hidden'\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth()\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return\n }\n\n this._saveInitialAttribute(element, styleProperty)\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty)\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue)\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty)\n // We only want to remove the property if the value is `null`; the value can also be zero\n if (value === null) {\n element.style.removeProperty(styleProperty)\n return\n }\n\n Manipulator.removeDataAttribute(element, styleProperty)\n element.style.setProperty(styleProperty, value)\n }\n\n this._applyManipulationCallback(selector, manipulationCallBack)\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector)\n return\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel)\n }\n }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport { defineJQueryPlugin, isRTL, isVisible, reflow } from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n backdrop: true,\n focus: true,\n keyboard: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._isShown = false\n this._isTransitioning = false\n this._scrollBar = new ScrollBarHelper()\n\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n relatedTarget\n })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._isTransitioning = true\n\n this._scrollBar.hide()\n\n document.body.classList.add(CLASS_NAME_OPEN)\n\n this._adjustDialog()\n\n this._backdrop.show(() => this._showElement(relatedTarget))\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._isShown = false\n this._isTransitioning = true\n this._focustrap.deactivate()\n\n this._element.classList.remove(CLASS_NAME_SHOW)\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n }\n\n dispose() {\n EventHandler.off(window, EVENT_KEY)\n EventHandler.off(this._dialog, EVENT_KEY)\n\n this._backdrop.dispose()\n this._focustrap.deactivate()\n\n super.dispose()\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.scrollTop = 0\n\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n if (modalBody) {\n modalBody.scrollTop = 0\n }\n\n reflow(this._element)\n\n this._element.classList.add(CLASS_NAME_SHOW)\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate()\n }\n\n this._isTransitioning = false\n EventHandler.trigger(this._element, EVENT_SHOWN, {\n relatedTarget\n })\n }\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n this._triggerBackdropTransition()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog()\n }\n })\n\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n return\n }\n\n if (this._config.backdrop) {\n this.hide()\n }\n })\n })\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._scrollBar.reset()\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n })\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE)\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const initialOverflowY = this._element.style.overflowY\n // return if the following background transition hasn't yet completed\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY\n }, this._dialog)\n }, this._dialog)\n\n this._element.focus()\n }\n\n /**\n * The following methods are used to handle overflowing modals\n */\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n const scrollbarWidth = this._scrollBar.getWidth()\n const isBodyOverflowing = scrollbarWidth > 0\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n this._element.style[property] = `${scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n // Static\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n EventHandler.one(target, EVENT_SHOW, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n if (isVisible(this)) {\n this.focus()\n }\n })\n })\n\n // avoid conflict when clicking modal toggler while another one is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide()\n }\n\n const data = Modal.getOrCreateInstance(target)\n\n data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal)\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n defineJQueryPlugin,\n isDisabled,\n isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n scroll: false\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._isShown = false\n this._backdrop = this._initializeBackDrop()\n this._focustrap = this._initializeFocusTrap()\n this._addEventListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._isShown = true\n this._backdrop.show()\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide()\n }\n\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n this._element.classList.add(CLASS_NAME_SHOWING)\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate()\n }\n\n this._element.classList.add(CLASS_NAME_SHOW)\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n }\n\n this._queueCallback(completeCallBack, this._element, true)\n }\n\n hide() {\n if (!this._isShown) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n this._focustrap.deactivate()\n this._element.blur()\n this._isShown = false\n this._element.classList.add(CLASS_NAME_HIDING)\n this._backdrop.hide()\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._queueCallback(completeCallback, this._element, true)\n }\n\n dispose() {\n this._backdrop.dispose()\n this._focustrap.deactivate()\n super.dispose()\n }\n\n // Private\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n return\n }\n\n this.hide()\n }\n\n // 'static' option will be translated to true, and booleans will keep their value\n const isVisible = Boolean(this._config.backdrop)\n\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n })\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n })\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return\n }\n\n if (this._config.keyboard) {\n this.hide()\n return\n }\n\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n })\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n const target = SelectorEngine.getElementFromSelector(this)\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault()\n }\n\n if (isDisabled(this)) {\n return\n }\n\n EventHandler.one(target, EVENT_HIDDEN, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus()\n }\n })\n\n // avoid conflict when clicking a toggler of an offcanvas, while another is open\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide()\n }\n\n const data = Offcanvas.getOrCreateInstance(target)\n data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show()\n }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide()\n }\n }\n})\n\nenableDismissTrigger(Offcanvas)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\n// eslint-disable-next-line unicorn/better-regex\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase()\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n }\n\n return true\n }\n\n // Check if a regular expression validates the attribute.\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase()\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove()\n continue\n }\n\n const attributeList = [].concat(...element.attributes)\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName)\n }\n }\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n allowList: DefaultAllowlist,\n content: {}, // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
    '\n}\n\nconst DefaultType = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n}\n\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super()\n this._config = this._getConfig(config)\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n getContent() {\n return Object.values(this._config.content)\n .map(config => this._resolvePossibleFunction(config))\n .filter(Boolean)\n }\n\n hasContent() {\n return this.getContent().length > 0\n }\n\n changeContent(content) {\n this._checkContent(content)\n this._config.content = { ...this._config.content, ...content }\n return this\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div')\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector)\n }\n\n const template = templateWrapper.children[0]\n const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '))\n }\n\n return template\n }\n\n // Private\n _typeCheckConfig(config) {\n super._typeCheckConfig(config)\n this._checkContent(config.content)\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template)\n\n if (!templateElement) {\n return\n }\n\n content = this._resolvePossibleFunction(content)\n\n if (!content) {\n templateElement.remove()\n return\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement)\n return\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content)\n return\n }\n\n templateElement.textContent = content\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this])\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = ''\n templateElement.append(element)\n return\n }\n\n templateElement.textContent = element.textContent\n }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin, execute, findShadowRoot, getElement, getUID, isRTL, noop } from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 6],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
    ' +\n '
    ' +\n '
    ' +\n '
    ',\n title: '',\n trigger: 'hover focus'\n}\n\nconst DefaultType = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n super(element, config)\n\n // Private\n this._isEnabled = true\n this._timeout = 0\n this._isHovered = null\n this._activeTrigger = {}\n this._popper = null\n this._templateFactory = null\n this._newContent = null\n\n // Protected\n this.tip = null\n\n this._setListeners()\n\n if (!this._config.selector) {\n this._fixTitle()\n }\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle() {\n if (!this._isEnabled) {\n return\n }\n\n this._activeTrigger.click = !this._activeTrigger.click\n if (this._isShown()) {\n this._leave()\n return\n }\n\n this._enter()\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n }\n\n this._disposePopper()\n super.dispose()\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n const shadowRoot = findShadowRoot(this._element)\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return\n }\n\n // TODO: v6 remove this or make it optional\n this._disposePopper()\n\n const tip = this._getTipElement()\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n const { container } = this._config\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip)\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n }\n\n this._popper = this._createPopper(tip)\n\n tip.classList.add(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop)\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n if (this._isHovered === false) {\n this._leave()\n }\n\n this._isHovered = false\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n hide() {\n if (!this._isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const tip = this._getTipElement()\n tip.classList.remove(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop)\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n this._isHovered = null // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n if (!this._isHovered) {\n this._disposePopper()\n }\n\n this._element.removeAttribute('aria-describedby')\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n }\n\n this._queueCallback(complete, this.tip, this._isAnimated())\n }\n\n update() {\n if (this._popper) {\n this._popper.update()\n }\n }\n\n // Protected\n _isWithContent() {\n return Boolean(this._getTitle())\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n }\n\n return this.tip\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml()\n\n // TODO: remove this check in v6\n if (!tip) {\n return null\n }\n\n tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n // TODO: v6 the following can be achieved with CSS only\n tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n const tipId = getUID(this.constructor.NAME).toString()\n\n tip.setAttribute('id', tipId)\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE)\n }\n\n return tip\n }\n\n setContent(content) {\n this._newContent = content\n if (this._isShown()) {\n this._disposePopper()\n this.show()\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content)\n } else {\n this._templateFactory = new TemplateFactory({\n ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n })\n }\n\n return this._templateFactory\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n }\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n }\n\n // Private\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n }\n\n _isAnimated() {\n return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n }\n\n _createPopper(tip) {\n const placement = execute(this._config.placement, [this, tip, this._element])\n const attachment = AttachmentMap[placement.toUpperCase()]\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\n }\n\n _getOffset() {\n const { offset } = this._config\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10))\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element)\n }\n\n return offset\n }\n\n _resolvePossibleFunction(arg) {\n return execute(arg, [this._element])\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [\n {\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n },\n {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n },\n {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n },\n {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n }\n }\n ]\n }\n\n return {\n ...defaultBsPopperConfig,\n ...execute(this._config.popperConfig, [defaultBsPopperConfig])\n }\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ')\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context.toggle()\n })\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSEENTER) :\n this.constructor.eventName(EVENT_FOCUSIN)\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.eventName(EVENT_MOUSELEAVE) :\n this.constructor.eventName(EVENT_FOCUSOUT)\n\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n context._enter()\n })\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event)\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n context._element.contains(event.relatedTarget)\n\n context._leave()\n })\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide()\n }\n }\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title')\n\n if (!title) {\n return\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title)\n }\n\n this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n this._element.removeAttribute('title')\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true\n return\n }\n\n this._isHovered = true\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show()\n }\n }, this._config.delay.show)\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return\n }\n\n this._isHovered = false\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide()\n }\n }, this._config.delay.hide)\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout)\n this._timeout = setTimeout(handler, timeout)\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true)\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute]\n }\n }\n\n config = {\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n config = this._mergeConfigObj(config)\n config = this._configAfterMerge(config)\n this._typeCheckConfig(config)\n return config\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container)\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n for (const [key, value] of Object.entries(this._config)) {\n if (this.constructor.Default[key] !== value) {\n config[key] = value\n }\n }\n\n config.selector = false\n config.trigger = 'manual'\n\n // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n return config\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy()\n this._popper = null\n }\n\n if (this.tip) {\n this.tip.remove()\n this.tip = null\n }\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Tooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Default = {\n ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
    ' +\n '
    ' +\n '

    ' +\n '
    ' +\n '
    ',\n trigger: 'click'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Overrides\n _isWithContent() {\n return this._getTitle() || this._getContent()\n }\n\n // Private\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n }\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content)\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config)\n\n if (typeof config !== 'string') {\n return\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n })\n }\n}\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Popover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { defineJQueryPlugin, getElement, isDisabled, isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n // this._element is the observablesContainer and config.target the menu links wrapper\n this._targetLinks = new Map()\n this._observableSections = new Map()\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n this._activeTarget = null\n this._observer = null\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n }\n this.refresh() // initialize\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n refresh() {\n this._initializeTargetsAndObservables()\n this._maybeEnableSmoothScroll()\n\n if (this._observer) {\n this._observer.disconnect()\n } else {\n this._observer = this._getNewObserver()\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section)\n }\n }\n\n dispose() {\n this._observer.disconnect()\n super.dispose()\n }\n\n // Private\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body\n\n // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n }\n\n return config\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return\n }\n\n // unregister any previous listeners\n EventHandler.off(this._config.target, EVENT_CLICK)\n\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash)\n if (observableSection) {\n event.preventDefault()\n const root = this._rootElement || window\n const height = observableSection.offsetTop - this._element.offsetTop\n if (root.scrollTo) {\n root.scrollTo({ top: height, behavior: 'smooth' })\n return\n }\n\n // Chrome 60 doesn't support `scrollTo`\n root.scrollTop = height\n }\n })\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n }\n\n return new IntersectionObserver(entries => this._observerCallback(entries), options)\n }\n\n // The logic of selection\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n this._process(targetElement(entry))\n }\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n this._previousScrollData.parentScrollTop = parentScrollTop\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null\n this._clearActiveClass(targetElement(entry))\n\n continue\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n // if we are scrolling down, pick the bigger offsetTop\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry)\n // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n if (!parentScrollTop) {\n return\n }\n\n continue\n }\n\n // if we are scrolling up, pick the smallest offsetTop\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry)\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map()\n this._observableSections = new Map()\n\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue\n }\n\n const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n // ensure that the observableSection exists & is visible\n if (isVisible(observableSection)) {\n this._targetLinks.set(decodeURI(anchor.hash), anchor)\n this._observableSections.set(anchor.hash, observableSection)\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return\n }\n\n this._clearActiveClass(this._config.target)\n this._activeTarget = target\n target.classList.add(CLASS_NAME_ACTIVE)\n this._activateParents(target)\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n .classList.add(CLASS_NAME_ACTIVE)\n return\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
      and
    ')},createChildNavList:function(e){var t=this.createNavList();return e.append(t),t},generateNavEl:function(e,t){var n=a('
    ');n.attr("href","#"+e),n.text(t);var r=a("
  • ");return r.append(n),r},generateNavItem:function(e){var t=this.generateAnchor(e),n=a(e),r=n.data("toc-text")||n.text();return this.generateNavEl(t,r)},getTopLevel:function(e){for(var t=1;t<=6;t++){if(1 + + + + + + + + + + + + diff --git a/docs/dev/deps/font-awesome-6.4.2/css/all.css b/docs/dev/deps/font-awesome-6.4.2/css/all.css new file mode 100644 index 00000000..bdb6e3ae --- /dev/null +++ b/docs/dev/deps/font-awesome-6.4.2/css/all.css @@ -0,0 +1,7968 @@ +/*! + * Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +.fa { + font-family: var(--fa-style-family, "Font Awesome 6 Free"); + font-weight: var(--fa-style, 900); } + +.fa, +.fa-classic, +.fa-sharp, +.fas, +.fa-solid, +.far, +.fa-regular, +.fab, +.fa-brands { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: var(--fa-display, inline-block); + font-style: normal; + font-variant: normal; + line-height: 1; + text-rendering: auto; } + +.fas, +.fa-classic, +.fa-solid, +.far, +.fa-regular { + font-family: 'Font Awesome 6 Free'; } + +.fab, +.fa-brands { + font-family: 'Font Awesome 6 Brands'; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; } + +.fa-xs { + font-size: 0.75em; + line-height: 0.08333em; + vertical-align: 0.125em; } + +.fa-sm { + font-size: 0.875em; + line-height: 0.07143em; + vertical-align: 0.05357em; } + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; } + +.fa-xl { + font-size: 1.5em; + line-height: 0.04167em; + vertical-align: -0.125em; } + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: calc(var(--fa-li-width, 2em) * -1); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; } + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); } + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); } + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); } + +.fa-beat { + -webkit-animation-name: fa-beat; + animation-name: fa-beat; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-bounce { + -webkit-animation-name: fa-bounce; + animation-name: fa-bounce; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } + +.fa-fade { + -webkit-animation-name: fa-fade; + animation-name: fa-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-beat-fade { + -webkit-animation-name: fa-beat-fade; + animation-name: fa-beat-fade; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } + +.fa-flip { + -webkit-animation-name: fa-flip; + animation-name: fa-flip; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); + animation-timing-function: var(--fa-animation-timing, ease-in-out); } + +.fa-shake { + -webkit-animation-name: fa-shake; + animation-name: fa-shake; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-delay: var(--fa-animation-delay, 0s); + animation-delay: var(--fa-animation-delay, 0s); + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 2s); + animation-duration: var(--fa-animation-duration, 2s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, linear); + animation-timing-function: var(--fa-animation-timing, linear); } + +.fa-spin-reverse { + --fa-animation-direction: reverse; } + +.fa-pulse, +.fa-spin-pulse { + -webkit-animation-name: fa-spin; + animation-name: fa-spin; + -webkit-animation-direction: var(--fa-animation-direction, normal); + animation-direction: var(--fa-animation-direction, normal); + -webkit-animation-duration: var(--fa-animation-duration, 1s); + animation-duration: var(--fa-animation-duration, 1s); + -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); + animation-timing-function: var(--fa-animation-timing, steps(8)); } + +@media (prefers-reduced-motion: reduce) { + .fa-beat, + .fa-bounce, + .fa-fade, + .fa-beat-fade, + .fa-flip, + .fa-pulse, + .fa-shake, + .fa-spin, + .fa-spin-pulse { + -webkit-animation-delay: -1ms; + animation-delay: -1ms; + -webkit-animation-duration: 1ms; + animation-duration: 1ms; + -webkit-animation-iteration-count: 1; + animation-iteration-count: 1; + -webkit-transition-delay: 0s; + transition-delay: 0s; + -webkit-transition-duration: 0s; + transition-duration: 0s; } } + +@-webkit-keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@keyframes fa-beat { + 0%, 90% { + -webkit-transform: scale(1); + transform: scale(1); } + 45% { + -webkit-transform: scale(var(--fa-beat-scale, 1.25)); + transform: scale(var(--fa-beat-scale, 1.25)); } } + +@-webkit-keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@keyframes fa-bounce { + 0% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 10% { + -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } + 30% { + -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); } + 50% { + -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } + 57% { + -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } + 64% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } + 100% { + -webkit-transform: scale(1, 1) translateY(0); + transform: scale(1, 1) translateY(0); } } + +@-webkit-keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); } } + +@-webkit-keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + -webkit-transform: scale(1); + transform: scale(1); } + 50% { + opacity: 1; + -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); + transform: scale(var(--fa-beat-fade-scale, 1.125)); } } + +@-webkit-keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@keyframes fa-flip { + 50% { + -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } + +@-webkit-keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@keyframes fa-shake { + 0% { + -webkit-transform: rotate(-15deg); + transform: rotate(-15deg); } + 4% { + -webkit-transform: rotate(15deg); + transform: rotate(15deg); } + 8%, 24% { + -webkit-transform: rotate(-18deg); + transform: rotate(-18deg); } + 12%, 28% { + -webkit-transform: rotate(18deg); + transform: rotate(18deg); } + 16% { + -webkit-transform: rotate(-22deg); + transform: rotate(-22deg); } + 20% { + -webkit-transform: rotate(22deg); + transform: rotate(22deg); } + 32% { + -webkit-transform: rotate(-12deg); + transform: rotate(-12deg); } + 36% { + -webkit-transform: rotate(12deg); + transform: rotate(12deg); } + 40%, 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +.fa-rotate-by { + -webkit-transform: rotate(var(--fa-rotate-angle, none)); + transform: rotate(var(--fa-rotate-angle, none)); } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; + z-index: var(--fa-stack-z-index, auto); } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: var(--fa-inverse, #fff); } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ + +.fa-0::before { + content: "\30"; } + +.fa-1::before { + content: "\31"; } + +.fa-2::before { + content: "\32"; } + +.fa-3::before { + content: "\33"; } + +.fa-4::before { + content: "\34"; } + +.fa-5::before { + content: "\35"; } + +.fa-6::before { + content: "\36"; } + +.fa-7::before { + content: "\37"; } + +.fa-8::before { + content: "\38"; } + +.fa-9::before { + content: "\39"; } + +.fa-fill-drip::before { + content: "\f576"; } + +.fa-arrows-to-circle::before { + content: "\e4bd"; } + +.fa-circle-chevron-right::before { + content: "\f138"; } + +.fa-chevron-circle-right::before { + content: "\f138"; } + +.fa-at::before { + content: "\40"; } + +.fa-trash-can::before { + content: "\f2ed"; } + +.fa-trash-alt::before { + content: "\f2ed"; } + +.fa-text-height::before { + content: "\f034"; } + +.fa-user-xmark::before { + content: "\f235"; } + +.fa-user-times::before { + content: "\f235"; } + +.fa-stethoscope::before { + content: "\f0f1"; } + +.fa-message::before { + content: "\f27a"; } + +.fa-comment-alt::before { + content: "\f27a"; } + +.fa-info::before { + content: "\f129"; } + +.fa-down-left-and-up-right-to-center::before { + content: "\f422"; } + +.fa-compress-alt::before { + content: "\f422"; } + +.fa-explosion::before { + content: "\e4e9"; } + +.fa-file-lines::before { + content: "\f15c"; } + +.fa-file-alt::before { + content: "\f15c"; } + +.fa-file-text::before { + content: "\f15c"; } + +.fa-wave-square::before { + content: "\f83e"; } + +.fa-ring::before { + content: "\f70b"; } + +.fa-building-un::before { + content: "\e4d9"; } + +.fa-dice-three::before { + content: "\f527"; } + +.fa-calendar-days::before { + content: "\f073"; } + +.fa-calendar-alt::before { + content: "\f073"; } + +.fa-anchor-circle-check::before { + content: "\e4aa"; } + +.fa-building-circle-arrow-right::before { + content: "\e4d1"; } + +.fa-volleyball::before { + content: "\f45f"; } + +.fa-volleyball-ball::before { + content: "\f45f"; } + +.fa-arrows-up-to-line::before { + content: "\e4c2"; } + +.fa-sort-down::before { + content: "\f0dd"; } + +.fa-sort-desc::before { + content: "\f0dd"; } + +.fa-circle-minus::before { + content: "\f056"; } + +.fa-minus-circle::before { + content: "\f056"; } + +.fa-door-open::before { + content: "\f52b"; } + +.fa-right-from-bracket::before { + content: "\f2f5"; } + +.fa-sign-out-alt::before { + content: "\f2f5"; } + +.fa-atom::before { + content: "\f5d2"; } + +.fa-soap::before { + content: "\e06e"; } + +.fa-icons::before { + content: "\f86d"; } + +.fa-heart-music-camera-bolt::before { + content: "\f86d"; } + +.fa-microphone-lines-slash::before { + content: "\f539"; } + +.fa-microphone-alt-slash::before { + content: "\f539"; } + +.fa-bridge-circle-check::before { + content: "\e4c9"; } + +.fa-pump-medical::before { + content: "\e06a"; } + +.fa-fingerprint::before { + content: "\f577"; } + +.fa-hand-point-right::before { + content: "\f0a4"; } + +.fa-magnifying-glass-location::before { + content: "\f689"; } + +.fa-search-location::before { + content: "\f689"; } + +.fa-forward-step::before { + content: "\f051"; } + +.fa-step-forward::before { + content: "\f051"; } + +.fa-face-smile-beam::before { + content: "\f5b8"; } + +.fa-smile-beam::before { + content: "\f5b8"; } + +.fa-flag-checkered::before { + content: "\f11e"; } + +.fa-football::before { + content: "\f44e"; } + +.fa-football-ball::before { + content: "\f44e"; } + +.fa-school-circle-exclamation::before { + content: "\e56c"; } + +.fa-crop::before { + content: "\f125"; } + +.fa-angles-down::before { + content: "\f103"; } + +.fa-angle-double-down::before { + content: "\f103"; } + +.fa-users-rectangle::before { + content: "\e594"; } + +.fa-people-roof::before { + content: "\e537"; } + +.fa-people-line::before { + content: "\e534"; } + +.fa-beer-mug-empty::before { + content: "\f0fc"; } + +.fa-beer::before { + content: "\f0fc"; } + +.fa-diagram-predecessor::before { + content: "\e477"; } + +.fa-arrow-up-long::before { + content: "\f176"; } + +.fa-long-arrow-up::before { + content: "\f176"; } + +.fa-fire-flame-simple::before { + content: "\f46a"; } + +.fa-burn::before { + content: "\f46a"; } + +.fa-person::before { + content: "\f183"; } + +.fa-male::before { + content: "\f183"; } + +.fa-laptop::before { + content: "\f109"; } + +.fa-file-csv::before { + content: "\f6dd"; } + +.fa-menorah::before { + content: "\f676"; } + +.fa-truck-plane::before { + content: "\e58f"; } + +.fa-record-vinyl::before { + content: "\f8d9"; } + +.fa-face-grin-stars::before { + content: "\f587"; } + +.fa-grin-stars::before { + content: "\f587"; } + +.fa-bong::before { + content: "\f55c"; } + +.fa-spaghetti-monster-flying::before { + content: "\f67b"; } + +.fa-pastafarianism::before { + content: "\f67b"; } + +.fa-arrow-down-up-across-line::before { + content: "\e4af"; } + +.fa-spoon::before { + content: "\f2e5"; } + +.fa-utensil-spoon::before { + content: "\f2e5"; } + +.fa-jar-wheat::before { + content: "\e517"; } + +.fa-envelopes-bulk::before { + content: "\f674"; } + +.fa-mail-bulk::before { + content: "\f674"; } + +.fa-file-circle-exclamation::before { + content: "\e4eb"; } + +.fa-circle-h::before { + content: "\f47e"; } + +.fa-hospital-symbol::before { + content: "\f47e"; } + +.fa-pager::before { + content: "\f815"; } + +.fa-address-book::before { + content: "\f2b9"; } + +.fa-contact-book::before { + content: "\f2b9"; } + +.fa-strikethrough::before { + content: "\f0cc"; } + +.fa-k::before { + content: "\4b"; } + +.fa-landmark-flag::before { + content: "\e51c"; } + +.fa-pencil::before { + content: "\f303"; } + +.fa-pencil-alt::before { + content: "\f303"; } + +.fa-backward::before { + content: "\f04a"; } + +.fa-caret-right::before { + content: "\f0da"; } + +.fa-comments::before { + content: "\f086"; } + +.fa-paste::before { + content: "\f0ea"; } + +.fa-file-clipboard::before { + content: "\f0ea"; } + +.fa-code-pull-request::before { + content: "\e13c"; } + +.fa-clipboard-list::before { + content: "\f46d"; } + +.fa-truck-ramp-box::before { + content: "\f4de"; } + +.fa-truck-loading::before { + content: "\f4de"; } + +.fa-user-check::before { + content: "\f4fc"; } + +.fa-vial-virus::before { + content: "\e597"; } + +.fa-sheet-plastic::before { + content: "\e571"; } + +.fa-blog::before { + content: "\f781"; } + +.fa-user-ninja::before { + content: "\f504"; } + +.fa-person-arrow-up-from-line::before { + content: "\e539"; } + +.fa-scroll-torah::before { + content: "\f6a0"; } + +.fa-torah::before { + content: "\f6a0"; } + +.fa-broom-ball::before { + content: "\f458"; } + +.fa-quidditch::before { + content: "\f458"; } + +.fa-quidditch-broom-ball::before { + content: "\f458"; } + +.fa-toggle-off::before { + content: "\f204"; } + +.fa-box-archive::before { + content: "\f187"; } + +.fa-archive::before { + content: "\f187"; } + +.fa-person-drowning::before { + content: "\e545"; } + +.fa-arrow-down-9-1::before { + content: "\f886"; } + +.fa-sort-numeric-desc::before { + content: "\f886"; } + +.fa-sort-numeric-down-alt::before { + content: "\f886"; } + +.fa-face-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-grin-tongue-squint::before { + content: "\f58a"; } + +.fa-spray-can::before { + content: "\f5bd"; } + +.fa-truck-monster::before { + content: "\f63b"; } + +.fa-w::before { + content: "\57"; } + +.fa-earth-africa::before { + content: "\f57c"; } + +.fa-globe-africa::before { + content: "\f57c"; } + +.fa-rainbow::before { + content: "\f75b"; } + +.fa-circle-notch::before { + content: "\f1ce"; } + +.fa-tablet-screen-button::before { + content: "\f3fa"; } + +.fa-tablet-alt::before { + content: "\f3fa"; } + +.fa-paw::before { + content: "\f1b0"; } + +.fa-cloud::before { + content: "\f0c2"; } + +.fa-trowel-bricks::before { + content: "\e58a"; } + +.fa-face-flushed::before { + content: "\f579"; } + +.fa-flushed::before { + content: "\f579"; } + +.fa-hospital-user::before { + content: "\f80d"; } + +.fa-tent-arrow-left-right::before { + content: "\e57f"; } + +.fa-gavel::before { + content: "\f0e3"; } + +.fa-legal::before { + content: "\f0e3"; } + +.fa-binoculars::before { + content: "\f1e5"; } + +.fa-microphone-slash::before { + content: "\f131"; } + +.fa-box-tissue::before { + content: "\e05b"; } + +.fa-motorcycle::before { + content: "\f21c"; } + +.fa-bell-concierge::before { + content: "\f562"; } + +.fa-concierge-bell::before { + content: "\f562"; } + +.fa-pen-ruler::before { + content: "\f5ae"; } + +.fa-pencil-ruler::before { + content: "\f5ae"; } + +.fa-people-arrows::before { + content: "\e068"; } + +.fa-people-arrows-left-right::before { + content: "\e068"; } + +.fa-mars-and-venus-burst::before { + content: "\e523"; } + +.fa-square-caret-right::before { + content: "\f152"; } + +.fa-caret-square-right::before { + content: "\f152"; } + +.fa-scissors::before { + content: "\f0c4"; } + +.fa-cut::before { + content: "\f0c4"; } + +.fa-sun-plant-wilt::before { + content: "\e57a"; } + +.fa-toilets-portable::before { + content: "\e584"; } + +.fa-hockey-puck::before { + content: "\f453"; } + +.fa-table::before { + content: "\f0ce"; } + +.fa-magnifying-glass-arrow-right::before { + content: "\e521"; } + +.fa-tachograph-digital::before { + content: "\f566"; } + +.fa-digital-tachograph::before { + content: "\f566"; } + +.fa-users-slash::before { + content: "\e073"; } + +.fa-clover::before { + content: "\e139"; } + +.fa-reply::before { + content: "\f3e5"; } + +.fa-mail-reply::before { + content: "\f3e5"; } + +.fa-star-and-crescent::before { + content: "\f699"; } + +.fa-house-fire::before { + content: "\e50c"; } + +.fa-square-minus::before { + content: "\f146"; } + +.fa-minus-square::before { + content: "\f146"; } + +.fa-helicopter::before { + content: "\f533"; } + +.fa-compass::before { + content: "\f14e"; } + +.fa-square-caret-down::before { + content: "\f150"; } + +.fa-caret-square-down::before { + content: "\f150"; } + +.fa-file-circle-question::before { + content: "\e4ef"; } + +.fa-laptop-code::before { + content: "\f5fc"; } + +.fa-swatchbook::before { + content: "\f5c3"; } + +.fa-prescription-bottle::before { + content: "\f485"; } + +.fa-bars::before { + content: "\f0c9"; } + +.fa-navicon::before { + content: "\f0c9"; } + +.fa-people-group::before { + content: "\e533"; } + +.fa-hourglass-end::before { + content: "\f253"; } + +.fa-hourglass-3::before { + content: "\f253"; } + +.fa-heart-crack::before { + content: "\f7a9"; } + +.fa-heart-broken::before { + content: "\f7a9"; } + +.fa-square-up-right::before { + content: "\f360"; } + +.fa-external-link-square-alt::before { + content: "\f360"; } + +.fa-face-kiss-beam::before { + content: "\f597"; } + +.fa-kiss-beam::before { + content: "\f597"; } + +.fa-film::before { + content: "\f008"; } + +.fa-ruler-horizontal::before { + content: "\f547"; } + +.fa-people-robbery::before { + content: "\e536"; } + +.fa-lightbulb::before { + content: "\f0eb"; } + +.fa-caret-left::before { + content: "\f0d9"; } + +.fa-circle-exclamation::before { + content: "\f06a"; } + +.fa-exclamation-circle::before { + content: "\f06a"; } + +.fa-school-circle-xmark::before { + content: "\e56d"; } + +.fa-arrow-right-from-bracket::before { + content: "\f08b"; } + +.fa-sign-out::before { + content: "\f08b"; } + +.fa-circle-chevron-down::before { + content: "\f13a"; } + +.fa-chevron-circle-down::before { + content: "\f13a"; } + +.fa-unlock-keyhole::before { + content: "\f13e"; } + +.fa-unlock-alt::before { + content: "\f13e"; } + +.fa-cloud-showers-heavy::before { + content: "\f740"; } + +.fa-headphones-simple::before { + content: "\f58f"; } + +.fa-headphones-alt::before { + content: "\f58f"; } + +.fa-sitemap::before { + content: "\f0e8"; } + +.fa-circle-dollar-to-slot::before { + content: "\f4b9"; } + +.fa-donate::before { + content: "\f4b9"; } + +.fa-memory::before { + content: "\f538"; } + +.fa-road-spikes::before { + content: "\e568"; } + +.fa-fire-burner::before { + content: "\e4f1"; } + +.fa-flag::before { + content: "\f024"; } + +.fa-hanukiah::before { + content: "\f6e6"; } + +.fa-feather::before { + content: "\f52d"; } + +.fa-volume-low::before { + content: "\f027"; } + +.fa-volume-down::before { + content: "\f027"; } + +.fa-comment-slash::before { + content: "\f4b3"; } + +.fa-cloud-sun-rain::before { + content: "\f743"; } + +.fa-compress::before { + content: "\f066"; } + +.fa-wheat-awn::before { + content: "\e2cd"; } + +.fa-wheat-alt::before { + content: "\e2cd"; } + +.fa-ankh::before { + content: "\f644"; } + +.fa-hands-holding-child::before { + content: "\e4fa"; } + +.fa-asterisk::before { + content: "\2a"; } + +.fa-square-check::before { + content: "\f14a"; } + +.fa-check-square::before { + content: "\f14a"; } + +.fa-peseta-sign::before { + content: "\e221"; } + +.fa-heading::before { + content: "\f1dc"; } + +.fa-header::before { + content: "\f1dc"; } + +.fa-ghost::before { + content: "\f6e2"; } + +.fa-list::before { + content: "\f03a"; } + +.fa-list-squares::before { + content: "\f03a"; } + +.fa-square-phone-flip::before { + content: "\f87b"; } + +.fa-phone-square-alt::before { + content: "\f87b"; } + +.fa-cart-plus::before { + content: "\f217"; } + +.fa-gamepad::before { + content: "\f11b"; } + +.fa-circle-dot::before { + content: "\f192"; } + +.fa-dot-circle::before { + content: "\f192"; } + +.fa-face-dizzy::before { + content: "\f567"; } + +.fa-dizzy::before { + content: "\f567"; } + +.fa-egg::before { + content: "\f7fb"; } + +.fa-house-medical-circle-xmark::before { + content: "\e513"; } + +.fa-campground::before { + content: "\f6bb"; } + +.fa-folder-plus::before { + content: "\f65e"; } + +.fa-futbol::before { + content: "\f1e3"; } + +.fa-futbol-ball::before { + content: "\f1e3"; } + +.fa-soccer-ball::before { + content: "\f1e3"; } + +.fa-paintbrush::before { + content: "\f1fc"; } + +.fa-paint-brush::before { + content: "\f1fc"; } + +.fa-lock::before { + content: "\f023"; } + +.fa-gas-pump::before { + content: "\f52f"; } + +.fa-hot-tub-person::before { + content: "\f593"; } + +.fa-hot-tub::before { + content: "\f593"; } + +.fa-map-location::before { + content: "\f59f"; } + +.fa-map-marked::before { + content: "\f59f"; } + +.fa-house-flood-water::before { + content: "\e50e"; } + +.fa-tree::before { + content: "\f1bb"; } + +.fa-bridge-lock::before { + content: "\e4cc"; } + +.fa-sack-dollar::before { + content: "\f81d"; } + +.fa-pen-to-square::before { + content: "\f044"; } + +.fa-edit::before { + content: "\f044"; } + +.fa-car-side::before { + content: "\f5e4"; } + +.fa-share-nodes::before { + content: "\f1e0"; } + +.fa-share-alt::before { + content: "\f1e0"; } + +.fa-heart-circle-minus::before { + content: "\e4ff"; } + +.fa-hourglass-half::before { + content: "\f252"; } + +.fa-hourglass-2::before { + content: "\f252"; } + +.fa-microscope::before { + content: "\f610"; } + +.fa-sink::before { + content: "\e06d"; } + +.fa-bag-shopping::before { + content: "\f290"; } + +.fa-shopping-bag::before { + content: "\f290"; } + +.fa-arrow-down-z-a::before { + content: "\f881"; } + +.fa-sort-alpha-desc::before { + content: "\f881"; } + +.fa-sort-alpha-down-alt::before { + content: "\f881"; } + +.fa-mitten::before { + content: "\f7b5"; } + +.fa-person-rays::before { + content: "\e54d"; } + +.fa-users::before { + content: "\f0c0"; } + +.fa-eye-slash::before { + content: "\f070"; } + +.fa-flask-vial::before { + content: "\e4f3"; } + +.fa-hand::before { + content: "\f256"; } + +.fa-hand-paper::before { + content: "\f256"; } + +.fa-om::before { + content: "\f679"; } + +.fa-worm::before { + content: "\e599"; } + +.fa-house-circle-xmark::before { + content: "\e50b"; } + +.fa-plug::before { + content: "\f1e6"; } + +.fa-chevron-up::before { + content: "\f077"; } + +.fa-hand-spock::before { + content: "\f259"; } + +.fa-stopwatch::before { + content: "\f2f2"; } + +.fa-face-kiss::before { + content: "\f596"; } + +.fa-kiss::before { + content: "\f596"; } + +.fa-bridge-circle-xmark::before { + content: "\e4cb"; } + +.fa-face-grin-tongue::before { + content: "\f589"; } + +.fa-grin-tongue::before { + content: "\f589"; } + +.fa-chess-bishop::before { + content: "\f43a"; } + +.fa-face-grin-wink::before { + content: "\f58c"; } + +.fa-grin-wink::before { + content: "\f58c"; } + +.fa-ear-deaf::before { + content: "\f2a4"; } + +.fa-deaf::before { + content: "\f2a4"; } + +.fa-deafness::before { + content: "\f2a4"; } + +.fa-hard-of-hearing::before { + content: "\f2a4"; } + +.fa-road-circle-check::before { + content: "\e564"; } + +.fa-dice-five::before { + content: "\f523"; } + +.fa-square-rss::before { + content: "\f143"; } + +.fa-rss-square::before { + content: "\f143"; } + +.fa-land-mine-on::before { + content: "\e51b"; } + +.fa-i-cursor::before { + content: "\f246"; } + +.fa-stamp::before { + content: "\f5bf"; } + +.fa-stairs::before { + content: "\e289"; } + +.fa-i::before { + content: "\49"; } + +.fa-hryvnia-sign::before { + content: "\f6f2"; } + +.fa-hryvnia::before { + content: "\f6f2"; } + +.fa-pills::before { + content: "\f484"; } + +.fa-face-grin-wide::before { + content: "\f581"; } + +.fa-grin-alt::before { + content: "\f581"; } + +.fa-tooth::before { + content: "\f5c9"; } + +.fa-v::before { + content: "\56"; } + +.fa-bangladeshi-taka-sign::before { + content: "\e2e6"; } + +.fa-bicycle::before { + content: "\f206"; } + +.fa-staff-snake::before { + content: "\e579"; } + +.fa-rod-asclepius::before { + content: "\e579"; } + +.fa-rod-snake::before { + content: "\e579"; } + +.fa-staff-aesculapius::before { + content: "\e579"; } + +.fa-head-side-cough-slash::before { + content: "\e062"; } + +.fa-truck-medical::before { + content: "\f0f9"; } + +.fa-ambulance::before { + content: "\f0f9"; } + +.fa-wheat-awn-circle-exclamation::before { + content: "\e598"; } + +.fa-snowman::before { + content: "\f7d0"; } + +.fa-mortar-pestle::before { + content: "\f5a7"; } + +.fa-road-barrier::before { + content: "\e562"; } + +.fa-school::before { + content: "\f549"; } + +.fa-igloo::before { + content: "\f7ae"; } + +.fa-joint::before { + content: "\f595"; } + +.fa-angle-right::before { + content: "\f105"; } + +.fa-horse::before { + content: "\f6f0"; } + +.fa-q::before { + content: "\51"; } + +.fa-g::before { + content: "\47"; } + +.fa-notes-medical::before { + content: "\f481"; } + +.fa-temperature-half::before { + content: "\f2c9"; } + +.fa-temperature-2::before { + content: "\f2c9"; } + +.fa-thermometer-2::before { + content: "\f2c9"; } + +.fa-thermometer-half::before { + content: "\f2c9"; } + +.fa-dong-sign::before { + content: "\e169"; } + +.fa-capsules::before { + content: "\f46b"; } + +.fa-poo-storm::before { + content: "\f75a"; } + +.fa-poo-bolt::before { + content: "\f75a"; } + +.fa-face-frown-open::before { + content: "\f57a"; } + +.fa-frown-open::before { + content: "\f57a"; } + +.fa-hand-point-up::before { + content: "\f0a6"; } + +.fa-money-bill::before { + content: "\f0d6"; } + +.fa-bookmark::before { + content: "\f02e"; } + +.fa-align-justify::before { + content: "\f039"; } + +.fa-umbrella-beach::before { + content: "\f5ca"; } + +.fa-helmet-un::before { + content: "\e503"; } + +.fa-bullseye::before { + content: "\f140"; } + +.fa-bacon::before { + content: "\f7e5"; } + +.fa-hand-point-down::before { + content: "\f0a7"; } + +.fa-arrow-up-from-bracket::before { + content: "\e09a"; } + +.fa-folder::before { + content: "\f07b"; } + +.fa-folder-blank::before { + content: "\f07b"; } + +.fa-file-waveform::before { + content: "\f478"; } + +.fa-file-medical-alt::before { + content: "\f478"; } + +.fa-radiation::before { + content: "\f7b9"; } + +.fa-chart-simple::before { + content: "\e473"; } + +.fa-mars-stroke::before { + content: "\f229"; } + +.fa-vial::before { + content: "\f492"; } + +.fa-gauge::before { + content: "\f624"; } + +.fa-dashboard::before { + content: "\f624"; } + +.fa-gauge-med::before { + content: "\f624"; } + +.fa-tachometer-alt-average::before { + content: "\f624"; } + +.fa-wand-magic-sparkles::before { + content: "\e2ca"; } + +.fa-magic-wand-sparkles::before { + content: "\e2ca"; } + +.fa-e::before { + content: "\45"; } + +.fa-pen-clip::before { + content: "\f305"; } + +.fa-pen-alt::before { + content: "\f305"; } + +.fa-bridge-circle-exclamation::before { + content: "\e4ca"; } + +.fa-user::before { + content: "\f007"; } + +.fa-school-circle-check::before { + content: "\e56b"; } + +.fa-dumpster::before { + content: "\f793"; } + +.fa-van-shuttle::before { + content: "\f5b6"; } + +.fa-shuttle-van::before { + content: "\f5b6"; } + +.fa-building-user::before { + content: "\e4da"; } + +.fa-square-caret-left::before { + content: "\f191"; } + +.fa-caret-square-left::before { + content: "\f191"; } + +.fa-highlighter::before { + content: "\f591"; } + +.fa-key::before { + content: "\f084"; } + +.fa-bullhorn::before { + content: "\f0a1"; } + +.fa-globe::before { + content: "\f0ac"; } + +.fa-synagogue::before { + content: "\f69b"; } + +.fa-person-half-dress::before { + content: "\e548"; } + +.fa-road-bridge::before { + content: "\e563"; } + +.fa-location-arrow::before { + content: "\f124"; } + +.fa-c::before { + content: "\43"; } + +.fa-tablet-button::before { + content: "\f10a"; } + +.fa-building-lock::before { + content: "\e4d6"; } + +.fa-pizza-slice::before { + content: "\f818"; } + +.fa-money-bill-wave::before { + content: "\f53a"; } + +.fa-chart-area::before { + content: "\f1fe"; } + +.fa-area-chart::before { + content: "\f1fe"; } + +.fa-house-flag::before { + content: "\e50d"; } + +.fa-person-circle-minus::before { + content: "\e540"; } + +.fa-ban::before { + content: "\f05e"; } + +.fa-cancel::before { + content: "\f05e"; } + +.fa-camera-rotate::before { + content: "\e0d8"; } + +.fa-spray-can-sparkles::before { + content: "\f5d0"; } + +.fa-air-freshener::before { + content: "\f5d0"; } + +.fa-star::before { + content: "\f005"; } + +.fa-repeat::before { + content: "\f363"; } + +.fa-cross::before { + content: "\f654"; } + +.fa-box::before { + content: "\f466"; } + +.fa-venus-mars::before { + content: "\f228"; } + +.fa-arrow-pointer::before { + content: "\f245"; } + +.fa-mouse-pointer::before { + content: "\f245"; } + +.fa-maximize::before { + content: "\f31e"; } + +.fa-expand-arrows-alt::before { + content: "\f31e"; } + +.fa-charging-station::before { + content: "\f5e7"; } + +.fa-shapes::before { + content: "\f61f"; } + +.fa-triangle-circle-square::before { + content: "\f61f"; } + +.fa-shuffle::before { + content: "\f074"; } + +.fa-random::before { + content: "\f074"; } + +.fa-person-running::before { + content: "\f70c"; } + +.fa-running::before { + content: "\f70c"; } + +.fa-mobile-retro::before { + content: "\e527"; } + +.fa-grip-lines-vertical::before { + content: "\f7a5"; } + +.fa-spider::before { + content: "\f717"; } + +.fa-hands-bound::before { + content: "\e4f9"; } + +.fa-file-invoice-dollar::before { + content: "\f571"; } + +.fa-plane-circle-exclamation::before { + content: "\e556"; } + +.fa-x-ray::before { + content: "\f497"; } + +.fa-spell-check::before { + content: "\f891"; } + +.fa-slash::before { + content: "\f715"; } + +.fa-computer-mouse::before { + content: "\f8cc"; } + +.fa-mouse::before { + content: "\f8cc"; } + +.fa-arrow-right-to-bracket::before { + content: "\f090"; } + +.fa-sign-in::before { + content: "\f090"; } + +.fa-shop-slash::before { + content: "\e070"; } + +.fa-store-alt-slash::before { + content: "\e070"; } + +.fa-server::before { + content: "\f233"; } + +.fa-virus-covid-slash::before { + content: "\e4a9"; } + +.fa-shop-lock::before { + content: "\e4a5"; } + +.fa-hourglass-start::before { + content: "\f251"; } + +.fa-hourglass-1::before { + content: "\f251"; } + +.fa-blender-phone::before { + content: "\f6b6"; } + +.fa-building-wheat::before { + content: "\e4db"; } + +.fa-person-breastfeeding::before { + content: "\e53a"; } + +.fa-right-to-bracket::before { + content: "\f2f6"; } + +.fa-sign-in-alt::before { + content: "\f2f6"; } + +.fa-venus::before { + content: "\f221"; } + +.fa-passport::before { + content: "\f5ab"; } + +.fa-heart-pulse::before { + content: "\f21e"; } + +.fa-heartbeat::before { + content: "\f21e"; } + +.fa-people-carry-box::before { + content: "\f4ce"; } + +.fa-people-carry::before { + content: "\f4ce"; } + +.fa-temperature-high::before { + content: "\f769"; } + +.fa-microchip::before { + content: "\f2db"; } + +.fa-crown::before { + content: "\f521"; } + +.fa-weight-hanging::before { + content: "\f5cd"; } + +.fa-xmarks-lines::before { + content: "\e59a"; } + +.fa-file-prescription::before { + content: "\f572"; } + +.fa-weight-scale::before { + content: "\f496"; } + +.fa-weight::before { + content: "\f496"; } + +.fa-user-group::before { + content: "\f500"; } + +.fa-user-friends::before { + content: "\f500"; } + +.fa-arrow-up-a-z::before { + content: "\f15e"; } + +.fa-sort-alpha-up::before { + content: "\f15e"; } + +.fa-chess-knight::before { + content: "\f441"; } + +.fa-face-laugh-squint::before { + content: "\f59b"; } + +.fa-laugh-squint::before { + content: "\f59b"; } + +.fa-wheelchair::before { + content: "\f193"; } + +.fa-circle-arrow-up::before { + content: "\f0aa"; } + +.fa-arrow-circle-up::before { + content: "\f0aa"; } + +.fa-toggle-on::before { + content: "\f205"; } + +.fa-person-walking::before { + content: "\f554"; } + +.fa-walking::before { + content: "\f554"; } + +.fa-l::before { + content: "\4c"; } + +.fa-fire::before { + content: "\f06d"; } + +.fa-bed-pulse::before { + content: "\f487"; } + +.fa-procedures::before { + content: "\f487"; } + +.fa-shuttle-space::before { + content: "\f197"; } + +.fa-space-shuttle::before { + content: "\f197"; } + +.fa-face-laugh::before { + content: "\f599"; } + +.fa-laugh::before { + content: "\f599"; } + +.fa-folder-open::before { + content: "\f07c"; } + +.fa-heart-circle-plus::before { + content: "\e500"; } + +.fa-code-fork::before { + content: "\e13b"; } + +.fa-city::before { + content: "\f64f"; } + +.fa-microphone-lines::before { + content: "\f3c9"; } + +.fa-microphone-alt::before { + content: "\f3c9"; } + +.fa-pepper-hot::before { + content: "\f816"; } + +.fa-unlock::before { + content: "\f09c"; } + +.fa-colon-sign::before { + content: "\e140"; } + +.fa-headset::before { + content: "\f590"; } + +.fa-store-slash::before { + content: "\e071"; } + +.fa-road-circle-xmark::before { + content: "\e566"; } + +.fa-user-minus::before { + content: "\f503"; } + +.fa-mars-stroke-up::before { + content: "\f22a"; } + +.fa-mars-stroke-v::before { + content: "\f22a"; } + +.fa-champagne-glasses::before { + content: "\f79f"; } + +.fa-glass-cheers::before { + content: "\f79f"; } + +.fa-clipboard::before { + content: "\f328"; } + +.fa-house-circle-exclamation::before { + content: "\e50a"; } + +.fa-file-arrow-up::before { + content: "\f574"; } + +.fa-file-upload::before { + content: "\f574"; } + +.fa-wifi::before { + content: "\f1eb"; } + +.fa-wifi-3::before { + content: "\f1eb"; } + +.fa-wifi-strong::before { + content: "\f1eb"; } + +.fa-bath::before { + content: "\f2cd"; } + +.fa-bathtub::before { + content: "\f2cd"; } + +.fa-underline::before { + content: "\f0cd"; } + +.fa-user-pen::before { + content: "\f4ff"; } + +.fa-user-edit::before { + content: "\f4ff"; } + +.fa-signature::before { + content: "\f5b7"; } + +.fa-stroopwafel::before { + content: "\f551"; } + +.fa-bold::before { + content: "\f032"; } + +.fa-anchor-lock::before { + content: "\e4ad"; } + +.fa-building-ngo::before { + content: "\e4d7"; } + +.fa-manat-sign::before { + content: "\e1d5"; } + +.fa-not-equal::before { + content: "\f53e"; } + +.fa-border-top-left::before { + content: "\f853"; } + +.fa-border-style::before { + content: "\f853"; } + +.fa-map-location-dot::before { + content: "\f5a0"; } + +.fa-map-marked-alt::before { + content: "\f5a0"; } + +.fa-jedi::before { + content: "\f669"; } + +.fa-square-poll-vertical::before { + content: "\f681"; } + +.fa-poll::before { + content: "\f681"; } + +.fa-mug-hot::before { + content: "\f7b6"; } + +.fa-car-battery::before { + content: "\f5df"; } + +.fa-battery-car::before { + content: "\f5df"; } + +.fa-gift::before { + content: "\f06b"; } + +.fa-dice-two::before { + content: "\f528"; } + +.fa-chess-queen::before { + content: "\f445"; } + +.fa-glasses::before { + content: "\f530"; } + +.fa-chess-board::before { + content: "\f43c"; } + +.fa-building-circle-check::before { + content: "\e4d2"; } + +.fa-person-chalkboard::before { + content: "\e53d"; } + +.fa-mars-stroke-right::before { + content: "\f22b"; } + +.fa-mars-stroke-h::before { + content: "\f22b"; } + +.fa-hand-back-fist::before { + content: "\f255"; } + +.fa-hand-rock::before { + content: "\f255"; } + +.fa-square-caret-up::before { + content: "\f151"; } + +.fa-caret-square-up::before { + content: "\f151"; } + +.fa-cloud-showers-water::before { + content: "\e4e4"; } + +.fa-chart-bar::before { + content: "\f080"; } + +.fa-bar-chart::before { + content: "\f080"; } + +.fa-hands-bubbles::before { + content: "\e05e"; } + +.fa-hands-wash::before { + content: "\e05e"; } + +.fa-less-than-equal::before { + content: "\f537"; } + +.fa-train::before { + content: "\f238"; } + +.fa-eye-low-vision::before { + content: "\f2a8"; } + +.fa-low-vision::before { + content: "\f2a8"; } + +.fa-crow::before { + content: "\f520"; } + +.fa-sailboat::before { + content: "\e445"; } + +.fa-window-restore::before { + content: "\f2d2"; } + +.fa-square-plus::before { + content: "\f0fe"; } + +.fa-plus-square::before { + content: "\f0fe"; } + +.fa-torii-gate::before { + content: "\f6a1"; } + +.fa-frog::before { + content: "\f52e"; } + +.fa-bucket::before { + content: "\e4cf"; } + +.fa-image::before { + content: "\f03e"; } + +.fa-microphone::before { + content: "\f130"; } + +.fa-cow::before { + content: "\f6c8"; } + +.fa-caret-up::before { + content: "\f0d8"; } + +.fa-screwdriver::before { + content: "\f54a"; } + +.fa-folder-closed::before { + content: "\e185"; } + +.fa-house-tsunami::before { + content: "\e515"; } + +.fa-square-nfi::before { + content: "\e576"; } + +.fa-arrow-up-from-ground-water::before { + content: "\e4b5"; } + +.fa-martini-glass::before { + content: "\f57b"; } + +.fa-glass-martini-alt::before { + content: "\f57b"; } + +.fa-rotate-left::before { + content: "\f2ea"; } + +.fa-rotate-back::before { + content: "\f2ea"; } + +.fa-rotate-backward::before { + content: "\f2ea"; } + +.fa-undo-alt::before { + content: "\f2ea"; } + +.fa-table-columns::before { + content: "\f0db"; } + +.fa-columns::before { + content: "\f0db"; } + +.fa-lemon::before { + content: "\f094"; } + +.fa-head-side-mask::before { + content: "\e063"; } + +.fa-handshake::before { + content: "\f2b5"; } + +.fa-gem::before { + content: "\f3a5"; } + +.fa-dolly::before { + content: "\f472"; } + +.fa-dolly-box::before { + content: "\f472"; } + +.fa-smoking::before { + content: "\f48d"; } + +.fa-minimize::before { + content: "\f78c"; } + +.fa-compress-arrows-alt::before { + content: "\f78c"; } + +.fa-monument::before { + content: "\f5a6"; } + +.fa-snowplow::before { + content: "\f7d2"; } + +.fa-angles-right::before { + content: "\f101"; } + +.fa-angle-double-right::before { + content: "\f101"; } + +.fa-cannabis::before { + content: "\f55f"; } + +.fa-circle-play::before { + content: "\f144"; } + +.fa-play-circle::before { + content: "\f144"; } + +.fa-tablets::before { + content: "\f490"; } + +.fa-ethernet::before { + content: "\f796"; } + +.fa-euro-sign::before { + content: "\f153"; } + +.fa-eur::before { + content: "\f153"; } + +.fa-euro::before { + content: "\f153"; } + +.fa-chair::before { + content: "\f6c0"; } + +.fa-circle-check::before { + content: "\f058"; } + +.fa-check-circle::before { + content: "\f058"; } + +.fa-circle-stop::before { + content: "\f28d"; } + +.fa-stop-circle::before { + content: "\f28d"; } + +.fa-compass-drafting::before { + content: "\f568"; } + +.fa-drafting-compass::before { + content: "\f568"; } + +.fa-plate-wheat::before { + content: "\e55a"; } + +.fa-icicles::before { + content: "\f7ad"; } + +.fa-person-shelter::before { + content: "\e54f"; } + +.fa-neuter::before { + content: "\f22c"; } + +.fa-id-badge::before { + content: "\f2c1"; } + +.fa-marker::before { + content: "\f5a1"; } + +.fa-face-laugh-beam::before { + content: "\f59a"; } + +.fa-laugh-beam::before { + content: "\f59a"; } + +.fa-helicopter-symbol::before { + content: "\e502"; } + +.fa-universal-access::before { + content: "\f29a"; } + +.fa-circle-chevron-up::before { + content: "\f139"; } + +.fa-chevron-circle-up::before { + content: "\f139"; } + +.fa-lari-sign::before { + content: "\e1c8"; } + +.fa-volcano::before { + content: "\f770"; } + +.fa-person-walking-dashed-line-arrow-right::before { + content: "\e553"; } + +.fa-sterling-sign::before { + content: "\f154"; } + +.fa-gbp::before { + content: "\f154"; } + +.fa-pound-sign::before { + content: "\f154"; } + +.fa-viruses::before { + content: "\e076"; } + +.fa-square-person-confined::before { + content: "\e577"; } + +.fa-user-tie::before { + content: "\f508"; } + +.fa-arrow-down-long::before { + content: "\f175"; } + +.fa-long-arrow-down::before { + content: "\f175"; } + +.fa-tent-arrow-down-to-line::before { + content: "\e57e"; } + +.fa-certificate::before { + content: "\f0a3"; } + +.fa-reply-all::before { + content: "\f122"; } + +.fa-mail-reply-all::before { + content: "\f122"; } + +.fa-suitcase::before { + content: "\f0f2"; } + +.fa-person-skating::before { + content: "\f7c5"; } + +.fa-skating::before { + content: "\f7c5"; } + +.fa-filter-circle-dollar::before { + content: "\f662"; } + +.fa-funnel-dollar::before { + content: "\f662"; } + +.fa-camera-retro::before { + content: "\f083"; } + +.fa-circle-arrow-down::before { + content: "\f0ab"; } + +.fa-arrow-circle-down::before { + content: "\f0ab"; } + +.fa-file-import::before { + content: "\f56f"; } + +.fa-arrow-right-to-file::before { + content: "\f56f"; } + +.fa-square-arrow-up-right::before { + content: "\f14c"; } + +.fa-external-link-square::before { + content: "\f14c"; } + +.fa-box-open::before { + content: "\f49e"; } + +.fa-scroll::before { + content: "\f70e"; } + +.fa-spa::before { + content: "\f5bb"; } + +.fa-location-pin-lock::before { + content: "\e51f"; } + +.fa-pause::before { + content: "\f04c"; } + +.fa-hill-avalanche::before { + content: "\e507"; } + +.fa-temperature-empty::before { + content: "\f2cb"; } + +.fa-temperature-0::before { + content: "\f2cb"; } + +.fa-thermometer-0::before { + content: "\f2cb"; } + +.fa-thermometer-empty::before { + content: "\f2cb"; } + +.fa-bomb::before { + content: "\f1e2"; } + +.fa-registered::before { + content: "\f25d"; } + +.fa-address-card::before { + content: "\f2bb"; } + +.fa-contact-card::before { + content: "\f2bb"; } + +.fa-vcard::before { + content: "\f2bb"; } + +.fa-scale-unbalanced-flip::before { + content: "\f516"; } + +.fa-balance-scale-right::before { + content: "\f516"; } + +.fa-subscript::before { + content: "\f12c"; } + +.fa-diamond-turn-right::before { + content: "\f5eb"; } + +.fa-directions::before { + content: "\f5eb"; } + +.fa-burst::before { + content: "\e4dc"; } + +.fa-house-laptop::before { + content: "\e066"; } + +.fa-laptop-house::before { + content: "\e066"; } + +.fa-face-tired::before { + content: "\f5c8"; } + +.fa-tired::before { + content: "\f5c8"; } + +.fa-money-bills::before { + content: "\e1f3"; } + +.fa-smog::before { + content: "\f75f"; } + +.fa-crutch::before { + content: "\f7f7"; } + +.fa-cloud-arrow-up::before { + content: "\f0ee"; } + +.fa-cloud-upload::before { + content: "\f0ee"; } + +.fa-cloud-upload-alt::before { + content: "\f0ee"; } + +.fa-palette::before { + content: "\f53f"; } + +.fa-arrows-turn-right::before { + content: "\e4c0"; } + +.fa-vest::before { + content: "\e085"; } + +.fa-ferry::before { + content: "\e4ea"; } + +.fa-arrows-down-to-people::before { + content: "\e4b9"; } + +.fa-seedling::before { + content: "\f4d8"; } + +.fa-sprout::before { + content: "\f4d8"; } + +.fa-left-right::before { + content: "\f337"; } + +.fa-arrows-alt-h::before { + content: "\f337"; } + +.fa-boxes-packing::before { + content: "\e4c7"; } + +.fa-circle-arrow-left::before { + content: "\f0a8"; } + +.fa-arrow-circle-left::before { + content: "\f0a8"; } + +.fa-group-arrows-rotate::before { + content: "\e4f6"; } + +.fa-bowl-food::before { + content: "\e4c6"; } + +.fa-candy-cane::before { + content: "\f786"; } + +.fa-arrow-down-wide-short::before { + content: "\f160"; } + +.fa-sort-amount-asc::before { + content: "\f160"; } + +.fa-sort-amount-down::before { + content: "\f160"; } + +.fa-cloud-bolt::before { + content: "\f76c"; } + +.fa-thunderstorm::before { + content: "\f76c"; } + +.fa-text-slash::before { + content: "\f87d"; } + +.fa-remove-format::before { + content: "\f87d"; } + +.fa-face-smile-wink::before { + content: "\f4da"; } + +.fa-smile-wink::before { + content: "\f4da"; } + +.fa-file-word::before { + content: "\f1c2"; } + +.fa-file-powerpoint::before { + content: "\f1c4"; } + +.fa-arrows-left-right::before { + content: "\f07e"; } + +.fa-arrows-h::before { + content: "\f07e"; } + +.fa-house-lock::before { + content: "\e510"; } + +.fa-cloud-arrow-down::before { + content: "\f0ed"; } + +.fa-cloud-download::before { + content: "\f0ed"; } + +.fa-cloud-download-alt::before { + content: "\f0ed"; } + +.fa-children::before { + content: "\e4e1"; } + +.fa-chalkboard::before { + content: "\f51b"; } + +.fa-blackboard::before { + content: "\f51b"; } + +.fa-user-large-slash::before { + content: "\f4fa"; } + +.fa-user-alt-slash::before { + content: "\f4fa"; } + +.fa-envelope-open::before { + content: "\f2b6"; } + +.fa-handshake-simple-slash::before { + content: "\e05f"; } + +.fa-handshake-alt-slash::before { + content: "\e05f"; } + +.fa-mattress-pillow::before { + content: "\e525"; } + +.fa-guarani-sign::before { + content: "\e19a"; } + +.fa-arrows-rotate::before { + content: "\f021"; } + +.fa-refresh::before { + content: "\f021"; } + +.fa-sync::before { + content: "\f021"; } + +.fa-fire-extinguisher::before { + content: "\f134"; } + +.fa-cruzeiro-sign::before { + content: "\e152"; } + +.fa-greater-than-equal::before { + content: "\f532"; } + +.fa-shield-halved::before { + content: "\f3ed"; } + +.fa-shield-alt::before { + content: "\f3ed"; } + +.fa-book-atlas::before { + content: "\f558"; } + +.fa-atlas::before { + content: "\f558"; } + +.fa-virus::before { + content: "\e074"; } + +.fa-envelope-circle-check::before { + content: "\e4e8"; } + +.fa-layer-group::before { + content: "\f5fd"; } + +.fa-arrows-to-dot::before { + content: "\e4be"; } + +.fa-archway::before { + content: "\f557"; } + +.fa-heart-circle-check::before { + content: "\e4fd"; } + +.fa-house-chimney-crack::before { + content: "\f6f1"; } + +.fa-house-damage::before { + content: "\f6f1"; } + +.fa-file-zipper::before { + content: "\f1c6"; } + +.fa-file-archive::before { + content: "\f1c6"; } + +.fa-square::before { + content: "\f0c8"; } + +.fa-martini-glass-empty::before { + content: "\f000"; } + +.fa-glass-martini::before { + content: "\f000"; } + +.fa-couch::before { + content: "\f4b8"; } + +.fa-cedi-sign::before { + content: "\e0df"; } + +.fa-italic::before { + content: "\f033"; } + +.fa-church::before { + content: "\f51d"; } + +.fa-comments-dollar::before { + content: "\f653"; } + +.fa-democrat::before { + content: "\f747"; } + +.fa-z::before { + content: "\5a"; } + +.fa-person-skiing::before { + content: "\f7c9"; } + +.fa-skiing::before { + content: "\f7c9"; } + +.fa-road-lock::before { + content: "\e567"; } + +.fa-a::before { + content: "\41"; } + +.fa-temperature-arrow-down::before { + content: "\e03f"; } + +.fa-temperature-down::before { + content: "\e03f"; } + +.fa-feather-pointed::before { + content: "\f56b"; } + +.fa-feather-alt::before { + content: "\f56b"; } + +.fa-p::before { + content: "\50"; } + +.fa-snowflake::before { + content: "\f2dc"; } + +.fa-newspaper::before { + content: "\f1ea"; } + +.fa-rectangle-ad::before { + content: "\f641"; } + +.fa-ad::before { + content: "\f641"; } + +.fa-circle-arrow-right::before { + content: "\f0a9"; } + +.fa-arrow-circle-right::before { + content: "\f0a9"; } + +.fa-filter-circle-xmark::before { + content: "\e17b"; } + +.fa-locust::before { + content: "\e520"; } + +.fa-sort::before { + content: "\f0dc"; } + +.fa-unsorted::before { + content: "\f0dc"; } + +.fa-list-ol::before { + content: "\f0cb"; } + +.fa-list-1-2::before { + content: "\f0cb"; } + +.fa-list-numeric::before { + content: "\f0cb"; } + +.fa-person-dress-burst::before { + content: "\e544"; } + +.fa-money-check-dollar::before { + content: "\f53d"; } + +.fa-money-check-alt::before { + content: "\f53d"; } + +.fa-vector-square::before { + content: "\f5cb"; } + +.fa-bread-slice::before { + content: "\f7ec"; } + +.fa-language::before { + content: "\f1ab"; } + +.fa-face-kiss-wink-heart::before { + content: "\f598"; } + +.fa-kiss-wink-heart::before { + content: "\f598"; } + +.fa-filter::before { + content: "\f0b0"; } + +.fa-question::before { + content: "\3f"; } + +.fa-file-signature::before { + content: "\f573"; } + +.fa-up-down-left-right::before { + content: "\f0b2"; } + +.fa-arrows-alt::before { + content: "\f0b2"; } + +.fa-house-chimney-user::before { + content: "\e065"; } + +.fa-hand-holding-heart::before { + content: "\f4be"; } + +.fa-puzzle-piece::before { + content: "\f12e"; } + +.fa-money-check::before { + content: "\f53c"; } + +.fa-star-half-stroke::before { + content: "\f5c0"; } + +.fa-star-half-alt::before { + content: "\f5c0"; } + +.fa-code::before { + content: "\f121"; } + +.fa-whiskey-glass::before { + content: "\f7a0"; } + +.fa-glass-whiskey::before { + content: "\f7a0"; } + +.fa-building-circle-exclamation::before { + content: "\e4d3"; } + +.fa-magnifying-glass-chart::before { + content: "\e522"; } + +.fa-arrow-up-right-from-square::before { + content: "\f08e"; } + +.fa-external-link::before { + content: "\f08e"; } + +.fa-cubes-stacked::before { + content: "\e4e6"; } + +.fa-won-sign::before { + content: "\f159"; } + +.fa-krw::before { + content: "\f159"; } + +.fa-won::before { + content: "\f159"; } + +.fa-virus-covid::before { + content: "\e4a8"; } + +.fa-austral-sign::before { + content: "\e0a9"; } + +.fa-f::before { + content: "\46"; } + +.fa-leaf::before { + content: "\f06c"; } + +.fa-road::before { + content: "\f018"; } + +.fa-taxi::before { + content: "\f1ba"; } + +.fa-cab::before { + content: "\f1ba"; } + +.fa-person-circle-plus::before { + content: "\e541"; } + +.fa-chart-pie::before { + content: "\f200"; } + +.fa-pie-chart::before { + content: "\f200"; } + +.fa-bolt-lightning::before { + content: "\e0b7"; } + +.fa-sack-xmark::before { + content: "\e56a"; } + +.fa-file-excel::before { + content: "\f1c3"; } + +.fa-file-contract::before { + content: "\f56c"; } + +.fa-fish-fins::before { + content: "\e4f2"; } + +.fa-building-flag::before { + content: "\e4d5"; } + +.fa-face-grin-beam::before { + content: "\f582"; } + +.fa-grin-beam::before { + content: "\f582"; } + +.fa-object-ungroup::before { + content: "\f248"; } + +.fa-poop::before { + content: "\f619"; } + +.fa-location-pin::before { + content: "\f041"; } + +.fa-map-marker::before { + content: "\f041"; } + +.fa-kaaba::before { + content: "\f66b"; } + +.fa-toilet-paper::before { + content: "\f71e"; } + +.fa-helmet-safety::before { + content: "\f807"; } + +.fa-hard-hat::before { + content: "\f807"; } + +.fa-hat-hard::before { + content: "\f807"; } + +.fa-eject::before { + content: "\f052"; } + +.fa-circle-right::before { + content: "\f35a"; } + +.fa-arrow-alt-circle-right::before { + content: "\f35a"; } + +.fa-plane-circle-check::before { + content: "\e555"; } + +.fa-face-rolling-eyes::before { + content: "\f5a5"; } + +.fa-meh-rolling-eyes::before { + content: "\f5a5"; } + +.fa-object-group::before { + content: "\f247"; } + +.fa-chart-line::before { + content: "\f201"; } + +.fa-line-chart::before { + content: "\f201"; } + +.fa-mask-ventilator::before { + content: "\e524"; } + +.fa-arrow-right::before { + content: "\f061"; } + +.fa-signs-post::before { + content: "\f277"; } + +.fa-map-signs::before { + content: "\f277"; } + +.fa-cash-register::before { + content: "\f788"; } + +.fa-person-circle-question::before { + content: "\e542"; } + +.fa-h::before { + content: "\48"; } + +.fa-tarp::before { + content: "\e57b"; } + +.fa-screwdriver-wrench::before { + content: "\f7d9"; } + +.fa-tools::before { + content: "\f7d9"; } + +.fa-arrows-to-eye::before { + content: "\e4bf"; } + +.fa-plug-circle-bolt::before { + content: "\e55b"; } + +.fa-heart::before { + content: "\f004"; } + +.fa-mars-and-venus::before { + content: "\f224"; } + +.fa-house-user::before { + content: "\e1b0"; } + +.fa-home-user::before { + content: "\e1b0"; } + +.fa-dumpster-fire::before { + content: "\f794"; } + +.fa-house-crack::before { + content: "\e3b1"; } + +.fa-martini-glass-citrus::before { + content: "\f561"; } + +.fa-cocktail::before { + content: "\f561"; } + +.fa-face-surprise::before { + content: "\f5c2"; } + +.fa-surprise::before { + content: "\f5c2"; } + +.fa-bottle-water::before { + content: "\e4c5"; } + +.fa-circle-pause::before { + content: "\f28b"; } + +.fa-pause-circle::before { + content: "\f28b"; } + +.fa-toilet-paper-slash::before { + content: "\e072"; } + +.fa-apple-whole::before { + content: "\f5d1"; } + +.fa-apple-alt::before { + content: "\f5d1"; } + +.fa-kitchen-set::before { + content: "\e51a"; } + +.fa-r::before { + content: "\52"; } + +.fa-temperature-quarter::before { + content: "\f2ca"; } + +.fa-temperature-1::before { + content: "\f2ca"; } + +.fa-thermometer-1::before { + content: "\f2ca"; } + +.fa-thermometer-quarter::before { + content: "\f2ca"; } + +.fa-cube::before { + content: "\f1b2"; } + +.fa-bitcoin-sign::before { + content: "\e0b4"; } + +.fa-shield-dog::before { + content: "\e573"; } + +.fa-solar-panel::before { + content: "\f5ba"; } + +.fa-lock-open::before { + content: "\f3c1"; } + +.fa-elevator::before { + content: "\e16d"; } + +.fa-money-bill-transfer::before { + content: "\e528"; } + +.fa-money-bill-trend-up::before { + content: "\e529"; } + +.fa-house-flood-water-circle-arrow-right::before { + content: "\e50f"; } + +.fa-square-poll-horizontal::before { + content: "\f682"; } + +.fa-poll-h::before { + content: "\f682"; } + +.fa-circle::before { + content: "\f111"; } + +.fa-backward-fast::before { + content: "\f049"; } + +.fa-fast-backward::before { + content: "\f049"; } + +.fa-recycle::before { + content: "\f1b8"; } + +.fa-user-astronaut::before { + content: "\f4fb"; } + +.fa-plane-slash::before { + content: "\e069"; } + +.fa-trademark::before { + content: "\f25c"; } + +.fa-basketball::before { + content: "\f434"; } + +.fa-basketball-ball::before { + content: "\f434"; } + +.fa-satellite-dish::before { + content: "\f7c0"; } + +.fa-circle-up::before { + content: "\f35b"; } + +.fa-arrow-alt-circle-up::before { + content: "\f35b"; } + +.fa-mobile-screen-button::before { + content: "\f3cd"; } + +.fa-mobile-alt::before { + content: "\f3cd"; } + +.fa-volume-high::before { + content: "\f028"; } + +.fa-volume-up::before { + content: "\f028"; } + +.fa-users-rays::before { + content: "\e593"; } + +.fa-wallet::before { + content: "\f555"; } + +.fa-clipboard-check::before { + content: "\f46c"; } + +.fa-file-audio::before { + content: "\f1c7"; } + +.fa-burger::before { + content: "\f805"; } + +.fa-hamburger::before { + content: "\f805"; } + +.fa-wrench::before { + content: "\f0ad"; } + +.fa-bugs::before { + content: "\e4d0"; } + +.fa-rupee-sign::before { + content: "\f156"; } + +.fa-rupee::before { + content: "\f156"; } + +.fa-file-image::before { + content: "\f1c5"; } + +.fa-circle-question::before { + content: "\f059"; } + +.fa-question-circle::before { + content: "\f059"; } + +.fa-plane-departure::before { + content: "\f5b0"; } + +.fa-handshake-slash::before { + content: "\e060"; } + +.fa-book-bookmark::before { + content: "\e0bb"; } + +.fa-code-branch::before { + content: "\f126"; } + +.fa-hat-cowboy::before { + content: "\f8c0"; } + +.fa-bridge::before { + content: "\e4c8"; } + +.fa-phone-flip::before { + content: "\f879"; } + +.fa-phone-alt::before { + content: "\f879"; } + +.fa-truck-front::before { + content: "\e2b7"; } + +.fa-cat::before { + content: "\f6be"; } + +.fa-anchor-circle-exclamation::before { + content: "\e4ab"; } + +.fa-truck-field::before { + content: "\e58d"; } + +.fa-route::before { + content: "\f4d7"; } + +.fa-clipboard-question::before { + content: "\e4e3"; } + +.fa-panorama::before { + content: "\e209"; } + +.fa-comment-medical::before { + content: "\f7f5"; } + +.fa-teeth-open::before { + content: "\f62f"; } + +.fa-file-circle-minus::before { + content: "\e4ed"; } + +.fa-tags::before { + content: "\f02c"; } + +.fa-wine-glass::before { + content: "\f4e3"; } + +.fa-forward-fast::before { + content: "\f050"; } + +.fa-fast-forward::before { + content: "\f050"; } + +.fa-face-meh-blank::before { + content: "\f5a4"; } + +.fa-meh-blank::before { + content: "\f5a4"; } + +.fa-square-parking::before { + content: "\f540"; } + +.fa-parking::before { + content: "\f540"; } + +.fa-house-signal::before { + content: "\e012"; } + +.fa-bars-progress::before { + content: "\f828"; } + +.fa-tasks-alt::before { + content: "\f828"; } + +.fa-faucet-drip::before { + content: "\e006"; } + +.fa-cart-flatbed::before { + content: "\f474"; } + +.fa-dolly-flatbed::before { + content: "\f474"; } + +.fa-ban-smoking::before { + content: "\f54d"; } + +.fa-smoking-ban::before { + content: "\f54d"; } + +.fa-terminal::before { + content: "\f120"; } + +.fa-mobile-button::before { + content: "\f10b"; } + +.fa-house-medical-flag::before { + content: "\e514"; } + +.fa-basket-shopping::before { + content: "\f291"; } + +.fa-shopping-basket::before { + content: "\f291"; } + +.fa-tape::before { + content: "\f4db"; } + +.fa-bus-simple::before { + content: "\f55e"; } + +.fa-bus-alt::before { + content: "\f55e"; } + +.fa-eye::before { + content: "\f06e"; } + +.fa-face-sad-cry::before { + content: "\f5b3"; } + +.fa-sad-cry::before { + content: "\f5b3"; } + +.fa-audio-description::before { + content: "\f29e"; } + +.fa-person-military-to-person::before { + content: "\e54c"; } + +.fa-file-shield::before { + content: "\e4f0"; } + +.fa-user-slash::before { + content: "\f506"; } + +.fa-pen::before { + content: "\f304"; } + +.fa-tower-observation::before { + content: "\e586"; } + +.fa-file-code::before { + content: "\f1c9"; } + +.fa-signal::before { + content: "\f012"; } + +.fa-signal-5::before { + content: "\f012"; } + +.fa-signal-perfect::before { + content: "\f012"; } + +.fa-bus::before { + content: "\f207"; } + +.fa-heart-circle-xmark::before { + content: "\e501"; } + +.fa-house-chimney::before { + content: "\e3af"; } + +.fa-home-lg::before { + content: "\e3af"; } + +.fa-window-maximize::before { + content: "\f2d0"; } + +.fa-face-frown::before { + content: "\f119"; } + +.fa-frown::before { + content: "\f119"; } + +.fa-prescription::before { + content: "\f5b1"; } + +.fa-shop::before { + content: "\f54f"; } + +.fa-store-alt::before { + content: "\f54f"; } + +.fa-floppy-disk::before { + content: "\f0c7"; } + +.fa-save::before { + content: "\f0c7"; } + +.fa-vihara::before { + content: "\f6a7"; } + +.fa-scale-unbalanced::before { + content: "\f515"; } + +.fa-balance-scale-left::before { + content: "\f515"; } + +.fa-sort-up::before { + content: "\f0de"; } + +.fa-sort-asc::before { + content: "\f0de"; } + +.fa-comment-dots::before { + content: "\f4ad"; } + +.fa-commenting::before { + content: "\f4ad"; } + +.fa-plant-wilt::before { + content: "\e5aa"; } + +.fa-diamond::before { + content: "\f219"; } + +.fa-face-grin-squint::before { + content: "\f585"; } + +.fa-grin-squint::before { + content: "\f585"; } + +.fa-hand-holding-dollar::before { + content: "\f4c0"; } + +.fa-hand-holding-usd::before { + content: "\f4c0"; } + +.fa-bacterium::before { + content: "\e05a"; } + +.fa-hand-pointer::before { + content: "\f25a"; } + +.fa-drum-steelpan::before { + content: "\f56a"; } + +.fa-hand-scissors::before { + content: "\f257"; } + +.fa-hands-praying::before { + content: "\f684"; } + +.fa-praying-hands::before { + content: "\f684"; } + +.fa-arrow-rotate-right::before { + content: "\f01e"; } + +.fa-arrow-right-rotate::before { + content: "\f01e"; } + +.fa-arrow-rotate-forward::before { + content: "\f01e"; } + +.fa-redo::before { + content: "\f01e"; } + +.fa-biohazard::before { + content: "\f780"; } + +.fa-location-crosshairs::before { + content: "\f601"; } + +.fa-location::before { + content: "\f601"; } + +.fa-mars-double::before { + content: "\f227"; } + +.fa-child-dress::before { + content: "\e59c"; } + +.fa-users-between-lines::before { + content: "\e591"; } + +.fa-lungs-virus::before { + content: "\e067"; } + +.fa-face-grin-tears::before { + content: "\f588"; } + +.fa-grin-tears::before { + content: "\f588"; } + +.fa-phone::before { + content: "\f095"; } + +.fa-calendar-xmark::before { + content: "\f273"; } + +.fa-calendar-times::before { + content: "\f273"; } + +.fa-child-reaching::before { + content: "\e59d"; } + +.fa-head-side-virus::before { + content: "\e064"; } + +.fa-user-gear::before { + content: "\f4fe"; } + +.fa-user-cog::before { + content: "\f4fe"; } + +.fa-arrow-up-1-9::before { + content: "\f163"; } + +.fa-sort-numeric-up::before { + content: "\f163"; } + +.fa-door-closed::before { + content: "\f52a"; } + +.fa-shield-virus::before { + content: "\e06c"; } + +.fa-dice-six::before { + content: "\f526"; } + +.fa-mosquito-net::before { + content: "\e52c"; } + +.fa-bridge-water::before { + content: "\e4ce"; } + +.fa-person-booth::before { + content: "\f756"; } + +.fa-text-width::before { + content: "\f035"; } + +.fa-hat-wizard::before { + content: "\f6e8"; } + +.fa-pen-fancy::before { + content: "\f5ac"; } + +.fa-person-digging::before { + content: "\f85e"; } + +.fa-digging::before { + content: "\f85e"; } + +.fa-trash::before { + content: "\f1f8"; } + +.fa-gauge-simple::before { + content: "\f629"; } + +.fa-gauge-simple-med::before { + content: "\f629"; } + +.fa-tachometer-average::before { + content: "\f629"; } + +.fa-book-medical::before { + content: "\f7e6"; } + +.fa-poo::before { + content: "\f2fe"; } + +.fa-quote-right::before { + content: "\f10e"; } + +.fa-quote-right-alt::before { + content: "\f10e"; } + +.fa-shirt::before { + content: "\f553"; } + +.fa-t-shirt::before { + content: "\f553"; } + +.fa-tshirt::before { + content: "\f553"; } + +.fa-cubes::before { + content: "\f1b3"; } + +.fa-divide::before { + content: "\f529"; } + +.fa-tenge-sign::before { + content: "\f7d7"; } + +.fa-tenge::before { + content: "\f7d7"; } + +.fa-headphones::before { + content: "\f025"; } + +.fa-hands-holding::before { + content: "\f4c2"; } + +.fa-hands-clapping::before { + content: "\e1a8"; } + +.fa-republican::before { + content: "\f75e"; } + +.fa-arrow-left::before { + content: "\f060"; } + +.fa-person-circle-xmark::before { + content: "\e543"; } + +.fa-ruler::before { + content: "\f545"; } + +.fa-align-left::before { + content: "\f036"; } + +.fa-dice-d6::before { + content: "\f6d1"; } + +.fa-restroom::before { + content: "\f7bd"; } + +.fa-j::before { + content: "\4a"; } + +.fa-users-viewfinder::before { + content: "\e595"; } + +.fa-file-video::before { + content: "\f1c8"; } + +.fa-up-right-from-square::before { + content: "\f35d"; } + +.fa-external-link-alt::before { + content: "\f35d"; } + +.fa-table-cells::before { + content: "\f00a"; } + +.fa-th::before { + content: "\f00a"; } + +.fa-file-pdf::before { + content: "\f1c1"; } + +.fa-book-bible::before { + content: "\f647"; } + +.fa-bible::before { + content: "\f647"; } + +.fa-o::before { + content: "\4f"; } + +.fa-suitcase-medical::before { + content: "\f0fa"; } + +.fa-medkit::before { + content: "\f0fa"; } + +.fa-user-secret::before { + content: "\f21b"; } + +.fa-otter::before { + content: "\f700"; } + +.fa-person-dress::before { + content: "\f182"; } + +.fa-female::before { + content: "\f182"; } + +.fa-comment-dollar::before { + content: "\f651"; } + +.fa-business-time::before { + content: "\f64a"; } + +.fa-briefcase-clock::before { + content: "\f64a"; } + +.fa-table-cells-large::before { + content: "\f009"; } + +.fa-th-large::before { + content: "\f009"; } + +.fa-book-tanakh::before { + content: "\f827"; } + +.fa-tanakh::before { + content: "\f827"; } + +.fa-phone-volume::before { + content: "\f2a0"; } + +.fa-volume-control-phone::before { + content: "\f2a0"; } + +.fa-hat-cowboy-side::before { + content: "\f8c1"; } + +.fa-clipboard-user::before { + content: "\f7f3"; } + +.fa-child::before { + content: "\f1ae"; } + +.fa-lira-sign::before { + content: "\f195"; } + +.fa-satellite::before { + content: "\f7bf"; } + +.fa-plane-lock::before { + content: "\e558"; } + +.fa-tag::before { + content: "\f02b"; } + +.fa-comment::before { + content: "\f075"; } + +.fa-cake-candles::before { + content: "\f1fd"; } + +.fa-birthday-cake::before { + content: "\f1fd"; } + +.fa-cake::before { + content: "\f1fd"; } + +.fa-envelope::before { + content: "\f0e0"; } + +.fa-angles-up::before { + content: "\f102"; } + +.fa-angle-double-up::before { + content: "\f102"; } + +.fa-paperclip::before { + content: "\f0c6"; } + +.fa-arrow-right-to-city::before { + content: "\e4b3"; } + +.fa-ribbon::before { + content: "\f4d6"; } + +.fa-lungs::before { + content: "\f604"; } + +.fa-arrow-up-9-1::before { + content: "\f887"; } + +.fa-sort-numeric-up-alt::before { + content: "\f887"; } + +.fa-litecoin-sign::before { + content: "\e1d3"; } + +.fa-border-none::before { + content: "\f850"; } + +.fa-circle-nodes::before { + content: "\e4e2"; } + +.fa-parachute-box::before { + content: "\f4cd"; } + +.fa-indent::before { + content: "\f03c"; } + +.fa-truck-field-un::before { + content: "\e58e"; } + +.fa-hourglass::before { + content: "\f254"; } + +.fa-hourglass-empty::before { + content: "\f254"; } + +.fa-mountain::before { + content: "\f6fc"; } + +.fa-user-doctor::before { + content: "\f0f0"; } + +.fa-user-md::before { + content: "\f0f0"; } + +.fa-circle-info::before { + content: "\f05a"; } + +.fa-info-circle::before { + content: "\f05a"; } + +.fa-cloud-meatball::before { + content: "\f73b"; } + +.fa-camera::before { + content: "\f030"; } + +.fa-camera-alt::before { + content: "\f030"; } + +.fa-square-virus::before { + content: "\e578"; } + +.fa-meteor::before { + content: "\f753"; } + +.fa-car-on::before { + content: "\e4dd"; } + +.fa-sleigh::before { + content: "\f7cc"; } + +.fa-arrow-down-1-9::before { + content: "\f162"; } + +.fa-sort-numeric-asc::before { + content: "\f162"; } + +.fa-sort-numeric-down::before { + content: "\f162"; } + +.fa-hand-holding-droplet::before { + content: "\f4c1"; } + +.fa-hand-holding-water::before { + content: "\f4c1"; } + +.fa-water::before { + content: "\f773"; } + +.fa-calendar-check::before { + content: "\f274"; } + +.fa-braille::before { + content: "\f2a1"; } + +.fa-prescription-bottle-medical::before { + content: "\f486"; } + +.fa-prescription-bottle-alt::before { + content: "\f486"; } + +.fa-landmark::before { + content: "\f66f"; } + +.fa-truck::before { + content: "\f0d1"; } + +.fa-crosshairs::before { + content: "\f05b"; } + +.fa-person-cane::before { + content: "\e53c"; } + +.fa-tent::before { + content: "\e57d"; } + +.fa-vest-patches::before { + content: "\e086"; } + +.fa-check-double::before { + content: "\f560"; } + +.fa-arrow-down-a-z::before { + content: "\f15d"; } + +.fa-sort-alpha-asc::before { + content: "\f15d"; } + +.fa-sort-alpha-down::before { + content: "\f15d"; } + +.fa-money-bill-wheat::before { + content: "\e52a"; } + +.fa-cookie::before { + content: "\f563"; } + +.fa-arrow-rotate-left::before { + content: "\f0e2"; } + +.fa-arrow-left-rotate::before { + content: "\f0e2"; } + +.fa-arrow-rotate-back::before { + content: "\f0e2"; } + +.fa-arrow-rotate-backward::before { + content: "\f0e2"; } + +.fa-undo::before { + content: "\f0e2"; } + +.fa-hard-drive::before { + content: "\f0a0"; } + +.fa-hdd::before { + content: "\f0a0"; } + +.fa-face-grin-squint-tears::before { + content: "\f586"; } + +.fa-grin-squint-tears::before { + content: "\f586"; } + +.fa-dumbbell::before { + content: "\f44b"; } + +.fa-rectangle-list::before { + content: "\f022"; } + +.fa-list-alt::before { + content: "\f022"; } + +.fa-tarp-droplet::before { + content: "\e57c"; } + +.fa-house-medical-circle-check::before { + content: "\e511"; } + +.fa-person-skiing-nordic::before { + content: "\f7ca"; } + +.fa-skiing-nordic::before { + content: "\f7ca"; } + +.fa-calendar-plus::before { + content: "\f271"; } + +.fa-plane-arrival::before { + content: "\f5af"; } + +.fa-circle-left::before { + content: "\f359"; } + +.fa-arrow-alt-circle-left::before { + content: "\f359"; } + +.fa-train-subway::before { + content: "\f239"; } + +.fa-subway::before { + content: "\f239"; } + +.fa-chart-gantt::before { + content: "\e0e4"; } + +.fa-indian-rupee-sign::before { + content: "\e1bc"; } + +.fa-indian-rupee::before { + content: "\e1bc"; } + +.fa-inr::before { + content: "\e1bc"; } + +.fa-crop-simple::before { + content: "\f565"; } + +.fa-crop-alt::before { + content: "\f565"; } + +.fa-money-bill-1::before { + content: "\f3d1"; } + +.fa-money-bill-alt::before { + content: "\f3d1"; } + +.fa-left-long::before { + content: "\f30a"; } + +.fa-long-arrow-alt-left::before { + content: "\f30a"; } + +.fa-dna::before { + content: "\f471"; } + +.fa-virus-slash::before { + content: "\e075"; } + +.fa-minus::before { + content: "\f068"; } + +.fa-subtract::before { + content: "\f068"; } + +.fa-chess::before { + content: "\f439"; } + +.fa-arrow-left-long::before { + content: "\f177"; } + +.fa-long-arrow-left::before { + content: "\f177"; } + +.fa-plug-circle-check::before { + content: "\e55c"; } + +.fa-street-view::before { + content: "\f21d"; } + +.fa-franc-sign::before { + content: "\e18f"; } + +.fa-volume-off::before { + content: "\f026"; } + +.fa-hands-asl-interpreting::before { + content: "\f2a3"; } + +.fa-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-asl-interpreting::before { + content: "\f2a3"; } + +.fa-hands-american-sign-language-interpreting::before { + content: "\f2a3"; } + +.fa-gear::before { + content: "\f013"; } + +.fa-cog::before { + content: "\f013"; } + +.fa-droplet-slash::before { + content: "\f5c7"; } + +.fa-tint-slash::before { + content: "\f5c7"; } + +.fa-mosque::before { + content: "\f678"; } + +.fa-mosquito::before { + content: "\e52b"; } + +.fa-star-of-david::before { + content: "\f69a"; } + +.fa-person-military-rifle::before { + content: "\e54b"; } + +.fa-cart-shopping::before { + content: "\f07a"; } + +.fa-shopping-cart::before { + content: "\f07a"; } + +.fa-vials::before { + content: "\f493"; } + +.fa-plug-circle-plus::before { + content: "\e55f"; } + +.fa-place-of-worship::before { + content: "\f67f"; } + +.fa-grip-vertical::before { + content: "\f58e"; } + +.fa-arrow-turn-up::before { + content: "\f148"; } + +.fa-level-up::before { + content: "\f148"; } + +.fa-u::before { + content: "\55"; } + +.fa-square-root-variable::before { + content: "\f698"; } + +.fa-square-root-alt::before { + content: "\f698"; } + +.fa-clock::before { + content: "\f017"; } + +.fa-clock-four::before { + content: "\f017"; } + +.fa-backward-step::before { + content: "\f048"; } + +.fa-step-backward::before { + content: "\f048"; } + +.fa-pallet::before { + content: "\f482"; } + +.fa-faucet::before { + content: "\e005"; } + +.fa-baseball-bat-ball::before { + content: "\f432"; } + +.fa-s::before { + content: "\53"; } + +.fa-timeline::before { + content: "\e29c"; } + +.fa-keyboard::before { + content: "\f11c"; } + +.fa-caret-down::before { + content: "\f0d7"; } + +.fa-house-chimney-medical::before { + content: "\f7f2"; } + +.fa-clinic-medical::before { + content: "\f7f2"; } + +.fa-temperature-three-quarters::before { + content: "\f2c8"; } + +.fa-temperature-3::before { + content: "\f2c8"; } + +.fa-thermometer-3::before { + content: "\f2c8"; } + +.fa-thermometer-three-quarters::before { + content: "\f2c8"; } + +.fa-mobile-screen::before { + content: "\f3cf"; } + +.fa-mobile-android-alt::before { + content: "\f3cf"; } + +.fa-plane-up::before { + content: "\e22d"; } + +.fa-piggy-bank::before { + content: "\f4d3"; } + +.fa-battery-half::before { + content: "\f242"; } + +.fa-battery-3::before { + content: "\f242"; } + +.fa-mountain-city::before { + content: "\e52e"; } + +.fa-coins::before { + content: "\f51e"; } + +.fa-khanda::before { + content: "\f66d"; } + +.fa-sliders::before { + content: "\f1de"; } + +.fa-sliders-h::before { + content: "\f1de"; } + +.fa-folder-tree::before { + content: "\f802"; } + +.fa-network-wired::before { + content: "\f6ff"; } + +.fa-map-pin::before { + content: "\f276"; } + +.fa-hamsa::before { + content: "\f665"; } + +.fa-cent-sign::before { + content: "\e3f5"; } + +.fa-flask::before { + content: "\f0c3"; } + +.fa-person-pregnant::before { + content: "\e31e"; } + +.fa-wand-sparkles::before { + content: "\f72b"; } + +.fa-ellipsis-vertical::before { + content: "\f142"; } + +.fa-ellipsis-v::before { + content: "\f142"; } + +.fa-ticket::before { + content: "\f145"; } + +.fa-power-off::before { + content: "\f011"; } + +.fa-right-long::before { + content: "\f30b"; } + +.fa-long-arrow-alt-right::before { + content: "\f30b"; } + +.fa-flag-usa::before { + content: "\f74d"; } + +.fa-laptop-file::before { + content: "\e51d"; } + +.fa-tty::before { + content: "\f1e4"; } + +.fa-teletype::before { + content: "\f1e4"; } + +.fa-diagram-next::before { + content: "\e476"; } + +.fa-person-rifle::before { + content: "\e54e"; } + +.fa-house-medical-circle-exclamation::before { + content: "\e512"; } + +.fa-closed-captioning::before { + content: "\f20a"; } + +.fa-person-hiking::before { + content: "\f6ec"; } + +.fa-hiking::before { + content: "\f6ec"; } + +.fa-venus-double::before { + content: "\f226"; } + +.fa-images::before { + content: "\f302"; } + +.fa-calculator::before { + content: "\f1ec"; } + +.fa-people-pulling::before { + content: "\e535"; } + +.fa-n::before { + content: "\4e"; } + +.fa-cable-car::before { + content: "\f7da"; } + +.fa-tram::before { + content: "\f7da"; } + +.fa-cloud-rain::before { + content: "\f73d"; } + +.fa-building-circle-xmark::before { + content: "\e4d4"; } + +.fa-ship::before { + content: "\f21a"; } + +.fa-arrows-down-to-line::before { + content: "\e4b8"; } + +.fa-download::before { + content: "\f019"; } + +.fa-face-grin::before { + content: "\f580"; } + +.fa-grin::before { + content: "\f580"; } + +.fa-delete-left::before { + content: "\f55a"; } + +.fa-backspace::before { + content: "\f55a"; } + +.fa-eye-dropper::before { + content: "\f1fb"; } + +.fa-eye-dropper-empty::before { + content: "\f1fb"; } + +.fa-eyedropper::before { + content: "\f1fb"; } + +.fa-file-circle-check::before { + content: "\e5a0"; } + +.fa-forward::before { + content: "\f04e"; } + +.fa-mobile::before { + content: "\f3ce"; } + +.fa-mobile-android::before { + content: "\f3ce"; } + +.fa-mobile-phone::before { + content: "\f3ce"; } + +.fa-face-meh::before { + content: "\f11a"; } + +.fa-meh::before { + content: "\f11a"; } + +.fa-align-center::before { + content: "\f037"; } + +.fa-book-skull::before { + content: "\f6b7"; } + +.fa-book-dead::before { + content: "\f6b7"; } + +.fa-id-card::before { + content: "\f2c2"; } + +.fa-drivers-license::before { + content: "\f2c2"; } + +.fa-outdent::before { + content: "\f03b"; } + +.fa-dedent::before { + content: "\f03b"; } + +.fa-heart-circle-exclamation::before { + content: "\e4fe"; } + +.fa-house::before { + content: "\f015"; } + +.fa-home::before { + content: "\f015"; } + +.fa-home-alt::before { + content: "\f015"; } + +.fa-home-lg-alt::before { + content: "\f015"; } + +.fa-calendar-week::before { + content: "\f784"; } + +.fa-laptop-medical::before { + content: "\f812"; } + +.fa-b::before { + content: "\42"; } + +.fa-file-medical::before { + content: "\f477"; } + +.fa-dice-one::before { + content: "\f525"; } + +.fa-kiwi-bird::before { + content: "\f535"; } + +.fa-arrow-right-arrow-left::before { + content: "\f0ec"; } + +.fa-exchange::before { + content: "\f0ec"; } + +.fa-rotate-right::before { + content: "\f2f9"; } + +.fa-redo-alt::before { + content: "\f2f9"; } + +.fa-rotate-forward::before { + content: "\f2f9"; } + +.fa-utensils::before { + content: "\f2e7"; } + +.fa-cutlery::before { + content: "\f2e7"; } + +.fa-arrow-up-wide-short::before { + content: "\f161"; } + +.fa-sort-amount-up::before { + content: "\f161"; } + +.fa-mill-sign::before { + content: "\e1ed"; } + +.fa-bowl-rice::before { + content: "\e2eb"; } + +.fa-skull::before { + content: "\f54c"; } + +.fa-tower-broadcast::before { + content: "\f519"; } + +.fa-broadcast-tower::before { + content: "\f519"; } + +.fa-truck-pickup::before { + content: "\f63c"; } + +.fa-up-long::before { + content: "\f30c"; } + +.fa-long-arrow-alt-up::before { + content: "\f30c"; } + +.fa-stop::before { + content: "\f04d"; } + +.fa-code-merge::before { + content: "\f387"; } + +.fa-upload::before { + content: "\f093"; } + +.fa-hurricane::before { + content: "\f751"; } + +.fa-mound::before { + content: "\e52d"; } + +.fa-toilet-portable::before { + content: "\e583"; } + +.fa-compact-disc::before { + content: "\f51f"; } + +.fa-file-arrow-down::before { + content: "\f56d"; } + +.fa-file-download::before { + content: "\f56d"; } + +.fa-caravan::before { + content: "\f8ff"; } + +.fa-shield-cat::before { + content: "\e572"; } + +.fa-bolt::before { + content: "\f0e7"; } + +.fa-zap::before { + content: "\f0e7"; } + +.fa-glass-water::before { + content: "\e4f4"; } + +.fa-oil-well::before { + content: "\e532"; } + +.fa-vault::before { + content: "\e2c5"; } + +.fa-mars::before { + content: "\f222"; } + +.fa-toilet::before { + content: "\f7d8"; } + +.fa-plane-circle-xmark::before { + content: "\e557"; } + +.fa-yen-sign::before { + content: "\f157"; } + +.fa-cny::before { + content: "\f157"; } + +.fa-jpy::before { + content: "\f157"; } + +.fa-rmb::before { + content: "\f157"; } + +.fa-yen::before { + content: "\f157"; } + +.fa-ruble-sign::before { + content: "\f158"; } + +.fa-rouble::before { + content: "\f158"; } + +.fa-rub::before { + content: "\f158"; } + +.fa-ruble::before { + content: "\f158"; } + +.fa-sun::before { + content: "\f185"; } + +.fa-guitar::before { + content: "\f7a6"; } + +.fa-face-laugh-wink::before { + content: "\f59c"; } + +.fa-laugh-wink::before { + content: "\f59c"; } + +.fa-horse-head::before { + content: "\f7ab"; } + +.fa-bore-hole::before { + content: "\e4c3"; } + +.fa-industry::before { + content: "\f275"; } + +.fa-circle-down::before { + content: "\f358"; } + +.fa-arrow-alt-circle-down::before { + content: "\f358"; } + +.fa-arrows-turn-to-dots::before { + content: "\e4c1"; } + +.fa-florin-sign::before { + content: "\e184"; } + +.fa-arrow-down-short-wide::before { + content: "\f884"; } + +.fa-sort-amount-desc::before { + content: "\f884"; } + +.fa-sort-amount-down-alt::before { + content: "\f884"; } + +.fa-less-than::before { + content: "\3c"; } + +.fa-angle-down::before { + content: "\f107"; } + +.fa-car-tunnel::before { + content: "\e4de"; } + +.fa-head-side-cough::before { + content: "\e061"; } + +.fa-grip-lines::before { + content: "\f7a4"; } + +.fa-thumbs-down::before { + content: "\f165"; } + +.fa-user-lock::before { + content: "\f502"; } + +.fa-arrow-right-long::before { + content: "\f178"; } + +.fa-long-arrow-right::before { + content: "\f178"; } + +.fa-anchor-circle-xmark::before { + content: "\e4ac"; } + +.fa-ellipsis::before { + content: "\f141"; } + +.fa-ellipsis-h::before { + content: "\f141"; } + +.fa-chess-pawn::before { + content: "\f443"; } + +.fa-kit-medical::before { + content: "\f479"; } + +.fa-first-aid::before { + content: "\f479"; } + +.fa-person-through-window::before { + content: "\e5a9"; } + +.fa-toolbox::before { + content: "\f552"; } + +.fa-hands-holding-circle::before { + content: "\e4fb"; } + +.fa-bug::before { + content: "\f188"; } + +.fa-credit-card::before { + content: "\f09d"; } + +.fa-credit-card-alt::before { + content: "\f09d"; } + +.fa-car::before { + content: "\f1b9"; } + +.fa-automobile::before { + content: "\f1b9"; } + +.fa-hand-holding-hand::before { + content: "\e4f7"; } + +.fa-book-open-reader::before { + content: "\f5da"; } + +.fa-book-reader::before { + content: "\f5da"; } + +.fa-mountain-sun::before { + content: "\e52f"; } + +.fa-arrows-left-right-to-line::before { + content: "\e4ba"; } + +.fa-dice-d20::before { + content: "\f6cf"; } + +.fa-truck-droplet::before { + content: "\e58c"; } + +.fa-file-circle-xmark::before { + content: "\e5a1"; } + +.fa-temperature-arrow-up::before { + content: "\e040"; } + +.fa-temperature-up::before { + content: "\e040"; } + +.fa-medal::before { + content: "\f5a2"; } + +.fa-bed::before { + content: "\f236"; } + +.fa-square-h::before { + content: "\f0fd"; } + +.fa-h-square::before { + content: "\f0fd"; } + +.fa-podcast::before { + content: "\f2ce"; } + +.fa-temperature-full::before { + content: "\f2c7"; } + +.fa-temperature-4::before { + content: "\f2c7"; } + +.fa-thermometer-4::before { + content: "\f2c7"; } + +.fa-thermometer-full::before { + content: "\f2c7"; } + +.fa-bell::before { + content: "\f0f3"; } + +.fa-superscript::before { + content: "\f12b"; } + +.fa-plug-circle-xmark::before { + content: "\e560"; } + +.fa-star-of-life::before { + content: "\f621"; } + +.fa-phone-slash::before { + content: "\f3dd"; } + +.fa-paint-roller::before { + content: "\f5aa"; } + +.fa-handshake-angle::before { + content: "\f4c4"; } + +.fa-hands-helping::before { + content: "\f4c4"; } + +.fa-location-dot::before { + content: "\f3c5"; } + +.fa-map-marker-alt::before { + content: "\f3c5"; } + +.fa-file::before { + content: "\f15b"; } + +.fa-greater-than::before { + content: "\3e"; } + +.fa-person-swimming::before { + content: "\f5c4"; } + +.fa-swimmer::before { + content: "\f5c4"; } + +.fa-arrow-down::before { + content: "\f063"; } + +.fa-droplet::before { + content: "\f043"; } + +.fa-tint::before { + content: "\f043"; } + +.fa-eraser::before { + content: "\f12d"; } + +.fa-earth-americas::before { + content: "\f57d"; } + +.fa-earth::before { + content: "\f57d"; } + +.fa-earth-america::before { + content: "\f57d"; } + +.fa-globe-americas::before { + content: "\f57d"; } + +.fa-person-burst::before { + content: "\e53b"; } + +.fa-dove::before { + content: "\f4ba"; } + +.fa-battery-empty::before { + content: "\f244"; } + +.fa-battery-0::before { + content: "\f244"; } + +.fa-socks::before { + content: "\f696"; } + +.fa-inbox::before { + content: "\f01c"; } + +.fa-section::before { + content: "\e447"; } + +.fa-gauge-high::before { + content: "\f625"; } + +.fa-tachometer-alt::before { + content: "\f625"; } + +.fa-tachometer-alt-fast::before { + content: "\f625"; } + +.fa-envelope-open-text::before { + content: "\f658"; } + +.fa-hospital::before { + content: "\f0f8"; } + +.fa-hospital-alt::before { + content: "\f0f8"; } + +.fa-hospital-wide::before { + content: "\f0f8"; } + +.fa-wine-bottle::before { + content: "\f72f"; } + +.fa-chess-rook::before { + content: "\f447"; } + +.fa-bars-staggered::before { + content: "\f550"; } + +.fa-reorder::before { + content: "\f550"; } + +.fa-stream::before { + content: "\f550"; } + +.fa-dharmachakra::before { + content: "\f655"; } + +.fa-hotdog::before { + content: "\f80f"; } + +.fa-person-walking-with-cane::before { + content: "\f29d"; } + +.fa-blind::before { + content: "\f29d"; } + +.fa-drum::before { + content: "\f569"; } + +.fa-ice-cream::before { + content: "\f810"; } + +.fa-heart-circle-bolt::before { + content: "\e4fc"; } + +.fa-fax::before { + content: "\f1ac"; } + +.fa-paragraph::before { + content: "\f1dd"; } + +.fa-check-to-slot::before { + content: "\f772"; } + +.fa-vote-yea::before { + content: "\f772"; } + +.fa-star-half::before { + content: "\f089"; } + +.fa-boxes-stacked::before { + content: "\f468"; } + +.fa-boxes::before { + content: "\f468"; } + +.fa-boxes-alt::before { + content: "\f468"; } + +.fa-link::before { + content: "\f0c1"; } + +.fa-chain::before { + content: "\f0c1"; } + +.fa-ear-listen::before { + content: "\f2a2"; } + +.fa-assistive-listening-systems::before { + content: "\f2a2"; } + +.fa-tree-city::before { + content: "\e587"; } + +.fa-play::before { + content: "\f04b"; } + +.fa-font::before { + content: "\f031"; } + +.fa-rupiah-sign::before { + content: "\e23d"; } + +.fa-magnifying-glass::before { + content: "\f002"; } + +.fa-search::before { + content: "\f002"; } + +.fa-table-tennis-paddle-ball::before { + content: "\f45d"; } + +.fa-ping-pong-paddle-ball::before { + content: "\f45d"; } + +.fa-table-tennis::before { + content: "\f45d"; } + +.fa-person-dots-from-line::before { + content: "\f470"; } + +.fa-diagnoses::before { + content: "\f470"; } + +.fa-trash-can-arrow-up::before { + content: "\f82a"; } + +.fa-trash-restore-alt::before { + content: "\f82a"; } + +.fa-naira-sign::before { + content: "\e1f6"; } + +.fa-cart-arrow-down::before { + content: "\f218"; } + +.fa-walkie-talkie::before { + content: "\f8ef"; } + +.fa-file-pen::before { + content: "\f31c"; } + +.fa-file-edit::before { + content: "\f31c"; } + +.fa-receipt::before { + content: "\f543"; } + +.fa-square-pen::before { + content: "\f14b"; } + +.fa-pen-square::before { + content: "\f14b"; } + +.fa-pencil-square::before { + content: "\f14b"; } + +.fa-suitcase-rolling::before { + content: "\f5c1"; } + +.fa-person-circle-exclamation::before { + content: "\e53f"; } + +.fa-chevron-down::before { + content: "\f078"; } + +.fa-battery-full::before { + content: "\f240"; } + +.fa-battery::before { + content: "\f240"; } + +.fa-battery-5::before { + content: "\f240"; } + +.fa-skull-crossbones::before { + content: "\f714"; } + +.fa-code-compare::before { + content: "\e13a"; } + +.fa-list-ul::before { + content: "\f0ca"; } + +.fa-list-dots::before { + content: "\f0ca"; } + +.fa-school-lock::before { + content: "\e56f"; } + +.fa-tower-cell::before { + content: "\e585"; } + +.fa-down-long::before { + content: "\f309"; } + +.fa-long-arrow-alt-down::before { + content: "\f309"; } + +.fa-ranking-star::before { + content: "\e561"; } + +.fa-chess-king::before { + content: "\f43f"; } + +.fa-person-harassing::before { + content: "\e549"; } + +.fa-brazilian-real-sign::before { + content: "\e46c"; } + +.fa-landmark-dome::before { + content: "\f752"; } + +.fa-landmark-alt::before { + content: "\f752"; } + +.fa-arrow-up::before { + content: "\f062"; } + +.fa-tv::before { + content: "\f26c"; } + +.fa-television::before { + content: "\f26c"; } + +.fa-tv-alt::before { + content: "\f26c"; } + +.fa-shrimp::before { + content: "\e448"; } + +.fa-list-check::before { + content: "\f0ae"; } + +.fa-tasks::before { + content: "\f0ae"; } + +.fa-jug-detergent::before { + content: "\e519"; } + +.fa-circle-user::before { + content: "\f2bd"; } + +.fa-user-circle::before { + content: "\f2bd"; } + +.fa-user-shield::before { + content: "\f505"; } + +.fa-wind::before { + content: "\f72e"; } + +.fa-car-burst::before { + content: "\f5e1"; } + +.fa-car-crash::before { + content: "\f5e1"; } + +.fa-y::before { + content: "\59"; } + +.fa-person-snowboarding::before { + content: "\f7ce"; } + +.fa-snowboarding::before { + content: "\f7ce"; } + +.fa-truck-fast::before { + content: "\f48b"; } + +.fa-shipping-fast::before { + content: "\f48b"; } + +.fa-fish::before { + content: "\f578"; } + +.fa-user-graduate::before { + content: "\f501"; } + +.fa-circle-half-stroke::before { + content: "\f042"; } + +.fa-adjust::before { + content: "\f042"; } + +.fa-clapperboard::before { + content: "\e131"; } + +.fa-circle-radiation::before { + content: "\f7ba"; } + +.fa-radiation-alt::before { + content: "\f7ba"; } + +.fa-baseball::before { + content: "\f433"; } + +.fa-baseball-ball::before { + content: "\f433"; } + +.fa-jet-fighter-up::before { + content: "\e518"; } + +.fa-diagram-project::before { + content: "\f542"; } + +.fa-project-diagram::before { + content: "\f542"; } + +.fa-copy::before { + content: "\f0c5"; } + +.fa-volume-xmark::before { + content: "\f6a9"; } + +.fa-volume-mute::before { + content: "\f6a9"; } + +.fa-volume-times::before { + content: "\f6a9"; } + +.fa-hand-sparkles::before { + content: "\e05d"; } + +.fa-grip::before { + content: "\f58d"; } + +.fa-grip-horizontal::before { + content: "\f58d"; } + +.fa-share-from-square::before { + content: "\f14d"; } + +.fa-share-square::before { + content: "\f14d"; } + +.fa-child-combatant::before { + content: "\e4e0"; } + +.fa-child-rifle::before { + content: "\e4e0"; } + +.fa-gun::before { + content: "\e19b"; } + +.fa-square-phone::before { + content: "\f098"; } + +.fa-phone-square::before { + content: "\f098"; } + +.fa-plus::before { + content: "\2b"; } + +.fa-add::before { + content: "\2b"; } + +.fa-expand::before { + content: "\f065"; } + +.fa-computer::before { + content: "\e4e5"; } + +.fa-xmark::before { + content: "\f00d"; } + +.fa-close::before { + content: "\f00d"; } + +.fa-multiply::before { + content: "\f00d"; } + +.fa-remove::before { + content: "\f00d"; } + +.fa-times::before { + content: "\f00d"; } + +.fa-arrows-up-down-left-right::before { + content: "\f047"; } + +.fa-arrows::before { + content: "\f047"; } + +.fa-chalkboard-user::before { + content: "\f51c"; } + +.fa-chalkboard-teacher::before { + content: "\f51c"; } + +.fa-peso-sign::before { + content: "\e222"; } + +.fa-building-shield::before { + content: "\e4d8"; } + +.fa-baby::before { + content: "\f77c"; } + +.fa-users-line::before { + content: "\e592"; } + +.fa-quote-left::before { + content: "\f10d"; } + +.fa-quote-left-alt::before { + content: "\f10d"; } + +.fa-tractor::before { + content: "\f722"; } + +.fa-trash-arrow-up::before { + content: "\f829"; } + +.fa-trash-restore::before { + content: "\f829"; } + +.fa-arrow-down-up-lock::before { + content: "\e4b0"; } + +.fa-lines-leaning::before { + content: "\e51e"; } + +.fa-ruler-combined::before { + content: "\f546"; } + +.fa-copyright::before { + content: "\f1f9"; } + +.fa-equals::before { + content: "\3d"; } + +.fa-blender::before { + content: "\f517"; } + +.fa-teeth::before { + content: "\f62e"; } + +.fa-shekel-sign::before { + content: "\f20b"; } + +.fa-ils::before { + content: "\f20b"; } + +.fa-shekel::before { + content: "\f20b"; } + +.fa-sheqel::before { + content: "\f20b"; } + +.fa-sheqel-sign::before { + content: "\f20b"; } + +.fa-map::before { + content: "\f279"; } + +.fa-rocket::before { + content: "\f135"; } + +.fa-photo-film::before { + content: "\f87c"; } + +.fa-photo-video::before { + content: "\f87c"; } + +.fa-folder-minus::before { + content: "\f65d"; } + +.fa-store::before { + content: "\f54e"; } + +.fa-arrow-trend-up::before { + content: "\e098"; } + +.fa-plug-circle-minus::before { + content: "\e55e"; } + +.fa-sign-hanging::before { + content: "\f4d9"; } + +.fa-sign::before { + content: "\f4d9"; } + +.fa-bezier-curve::before { + content: "\f55b"; } + +.fa-bell-slash::before { + content: "\f1f6"; } + +.fa-tablet::before { + content: "\f3fb"; } + +.fa-tablet-android::before { + content: "\f3fb"; } + +.fa-school-flag::before { + content: "\e56e"; } + +.fa-fill::before { + content: "\f575"; } + +.fa-angle-up::before { + content: "\f106"; } + +.fa-drumstick-bite::before { + content: "\f6d7"; } + +.fa-holly-berry::before { + content: "\f7aa"; } + +.fa-chevron-left::before { + content: "\f053"; } + +.fa-bacteria::before { + content: "\e059"; } + +.fa-hand-lizard::before { + content: "\f258"; } + +.fa-notdef::before { + content: "\e1fe"; } + +.fa-disease::before { + content: "\f7fa"; } + +.fa-briefcase-medical::before { + content: "\f469"; } + +.fa-genderless::before { + content: "\f22d"; } + +.fa-chevron-right::before { + content: "\f054"; } + +.fa-retweet::before { + content: "\f079"; } + +.fa-car-rear::before { + content: "\f5de"; } + +.fa-car-alt::before { + content: "\f5de"; } + +.fa-pump-soap::before { + content: "\e06b"; } + +.fa-video-slash::before { + content: "\f4e2"; } + +.fa-battery-quarter::before { + content: "\f243"; } + +.fa-battery-2::before { + content: "\f243"; } + +.fa-radio::before { + content: "\f8d7"; } + +.fa-baby-carriage::before { + content: "\f77d"; } + +.fa-carriage-baby::before { + content: "\f77d"; } + +.fa-traffic-light::before { + content: "\f637"; } + +.fa-thermometer::before { + content: "\f491"; } + +.fa-vr-cardboard::before { + content: "\f729"; } + +.fa-hand-middle-finger::before { + content: "\f806"; } + +.fa-percent::before { + content: "\25"; } + +.fa-percentage::before { + content: "\25"; } + +.fa-truck-moving::before { + content: "\f4df"; } + +.fa-glass-water-droplet::before { + content: "\e4f5"; } + +.fa-display::before { + content: "\e163"; } + +.fa-face-smile::before { + content: "\f118"; } + +.fa-smile::before { + content: "\f118"; } + +.fa-thumbtack::before { + content: "\f08d"; } + +.fa-thumb-tack::before { + content: "\f08d"; } + +.fa-trophy::before { + content: "\f091"; } + +.fa-person-praying::before { + content: "\f683"; } + +.fa-pray::before { + content: "\f683"; } + +.fa-hammer::before { + content: "\f6e3"; } + +.fa-hand-peace::before { + content: "\f25b"; } + +.fa-rotate::before { + content: "\f2f1"; } + +.fa-sync-alt::before { + content: "\f2f1"; } + +.fa-spinner::before { + content: "\f110"; } + +.fa-robot::before { + content: "\f544"; } + +.fa-peace::before { + content: "\f67c"; } + +.fa-gears::before { + content: "\f085"; } + +.fa-cogs::before { + content: "\f085"; } + +.fa-warehouse::before { + content: "\f494"; } + +.fa-arrow-up-right-dots::before { + content: "\e4b7"; } + +.fa-splotch::before { + content: "\f5bc"; } + +.fa-face-grin-hearts::before { + content: "\f584"; } + +.fa-grin-hearts::before { + content: "\f584"; } + +.fa-dice-four::before { + content: "\f524"; } + +.fa-sim-card::before { + content: "\f7c4"; } + +.fa-transgender::before { + content: "\f225"; } + +.fa-transgender-alt::before { + content: "\f225"; } + +.fa-mercury::before { + content: "\f223"; } + +.fa-arrow-turn-down::before { + content: "\f149"; } + +.fa-level-down::before { + content: "\f149"; } + +.fa-person-falling-burst::before { + content: "\e547"; } + +.fa-award::before { + content: "\f559"; } + +.fa-ticket-simple::before { + content: "\f3ff"; } + +.fa-ticket-alt::before { + content: "\f3ff"; } + +.fa-building::before { + content: "\f1ad"; } + +.fa-angles-left::before { + content: "\f100"; } + +.fa-angle-double-left::before { + content: "\f100"; } + +.fa-qrcode::before { + content: "\f029"; } + +.fa-clock-rotate-left::before { + content: "\f1da"; } + +.fa-history::before { + content: "\f1da"; } + +.fa-face-grin-beam-sweat::before { + content: "\f583"; } + +.fa-grin-beam-sweat::before { + content: "\f583"; } + +.fa-file-export::before { + content: "\f56e"; } + +.fa-arrow-right-from-file::before { + content: "\f56e"; } + +.fa-shield::before { + content: "\f132"; } + +.fa-shield-blank::before { + content: "\f132"; } + +.fa-arrow-up-short-wide::before { + content: "\f885"; } + +.fa-sort-amount-up-alt::before { + content: "\f885"; } + +.fa-house-medical::before { + content: "\e3b2"; } + +.fa-golf-ball-tee::before { + content: "\f450"; } + +.fa-golf-ball::before { + content: "\f450"; } + +.fa-circle-chevron-left::before { + content: "\f137"; } + +.fa-chevron-circle-left::before { + content: "\f137"; } + +.fa-house-chimney-window::before { + content: "\e00d"; } + +.fa-pen-nib::before { + content: "\f5ad"; } + +.fa-tent-arrow-turn-left::before { + content: "\e580"; } + +.fa-tents::before { + content: "\e582"; } + +.fa-wand-magic::before { + content: "\f0d0"; } + +.fa-magic::before { + content: "\f0d0"; } + +.fa-dog::before { + content: "\f6d3"; } + +.fa-carrot::before { + content: "\f787"; } + +.fa-moon::before { + content: "\f186"; } + +.fa-wine-glass-empty::before { + content: "\f5ce"; } + +.fa-wine-glass-alt::before { + content: "\f5ce"; } + +.fa-cheese::before { + content: "\f7ef"; } + +.fa-yin-yang::before { + content: "\f6ad"; } + +.fa-music::before { + content: "\f001"; } + +.fa-code-commit::before { + content: "\f386"; } + +.fa-temperature-low::before { + content: "\f76b"; } + +.fa-person-biking::before { + content: "\f84a"; } + +.fa-biking::before { + content: "\f84a"; } + +.fa-broom::before { + content: "\f51a"; } + +.fa-shield-heart::before { + content: "\e574"; } + +.fa-gopuram::before { + content: "\f664"; } + +.fa-earth-oceania::before { + content: "\e47b"; } + +.fa-globe-oceania::before { + content: "\e47b"; } + +.fa-square-xmark::before { + content: "\f2d3"; } + +.fa-times-square::before { + content: "\f2d3"; } + +.fa-xmark-square::before { + content: "\f2d3"; } + +.fa-hashtag::before { + content: "\23"; } + +.fa-up-right-and-down-left-from-center::before { + content: "\f424"; } + +.fa-expand-alt::before { + content: "\f424"; } + +.fa-oil-can::before { + content: "\f613"; } + +.fa-t::before { + content: "\54"; } + +.fa-hippo::before { + content: "\f6ed"; } + +.fa-chart-column::before { + content: "\e0e3"; } + +.fa-infinity::before { + content: "\f534"; } + +.fa-vial-circle-check::before { + content: "\e596"; } + +.fa-person-arrow-down-to-line::before { + content: "\e538"; } + +.fa-voicemail::before { + content: "\f897"; } + +.fa-fan::before { + content: "\f863"; } + +.fa-person-walking-luggage::before { + content: "\e554"; } + +.fa-up-down::before { + content: "\f338"; } + +.fa-arrows-alt-v::before { + content: "\f338"; } + +.fa-cloud-moon-rain::before { + content: "\f73c"; } + +.fa-calendar::before { + content: "\f133"; } + +.fa-trailer::before { + content: "\e041"; } + +.fa-bahai::before { + content: "\f666"; } + +.fa-haykal::before { + content: "\f666"; } + +.fa-sd-card::before { + content: "\f7c2"; } + +.fa-dragon::before { + content: "\f6d5"; } + +.fa-shoe-prints::before { + content: "\f54b"; } + +.fa-circle-plus::before { + content: "\f055"; } + +.fa-plus-circle::before { + content: "\f055"; } + +.fa-face-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-grin-tongue-wink::before { + content: "\f58b"; } + +.fa-hand-holding::before { + content: "\f4bd"; } + +.fa-plug-circle-exclamation::before { + content: "\e55d"; } + +.fa-link-slash::before { + content: "\f127"; } + +.fa-chain-broken::before { + content: "\f127"; } + +.fa-chain-slash::before { + content: "\f127"; } + +.fa-unlink::before { + content: "\f127"; } + +.fa-clone::before { + content: "\f24d"; } + +.fa-person-walking-arrow-loop-left::before { + content: "\e551"; } + +.fa-arrow-up-z-a::before { + content: "\f882"; } + +.fa-sort-alpha-up-alt::before { + content: "\f882"; } + +.fa-fire-flame-curved::before { + content: "\f7e4"; } + +.fa-fire-alt::before { + content: "\f7e4"; } + +.fa-tornado::before { + content: "\f76f"; } + +.fa-file-circle-plus::before { + content: "\e494"; } + +.fa-book-quran::before { + content: "\f687"; } + +.fa-quran::before { + content: "\f687"; } + +.fa-anchor::before { + content: "\f13d"; } + +.fa-border-all::before { + content: "\f84c"; } + +.fa-face-angry::before { + content: "\f556"; } + +.fa-angry::before { + content: "\f556"; } + +.fa-cookie-bite::before { + content: "\f564"; } + +.fa-arrow-trend-down::before { + content: "\e097"; } + +.fa-rss::before { + content: "\f09e"; } + +.fa-feed::before { + content: "\f09e"; } + +.fa-draw-polygon::before { + content: "\f5ee"; } + +.fa-scale-balanced::before { + content: "\f24e"; } + +.fa-balance-scale::before { + content: "\f24e"; } + +.fa-gauge-simple-high::before { + content: "\f62a"; } + +.fa-tachometer::before { + content: "\f62a"; } + +.fa-tachometer-fast::before { + content: "\f62a"; } + +.fa-shower::before { + content: "\f2cc"; } + +.fa-desktop::before { + content: "\f390"; } + +.fa-desktop-alt::before { + content: "\f390"; } + +.fa-m::before { + content: "\4d"; } + +.fa-table-list::before { + content: "\f00b"; } + +.fa-th-list::before { + content: "\f00b"; } + +.fa-comment-sms::before { + content: "\f7cd"; } + +.fa-sms::before { + content: "\f7cd"; } + +.fa-book::before { + content: "\f02d"; } + +.fa-user-plus::before { + content: "\f234"; } + +.fa-check::before { + content: "\f00c"; } + +.fa-battery-three-quarters::before { + content: "\f241"; } + +.fa-battery-4::before { + content: "\f241"; } + +.fa-house-circle-check::before { + content: "\e509"; } + +.fa-angle-left::before { + content: "\f104"; } + +.fa-diagram-successor::before { + content: "\e47a"; } + +.fa-truck-arrow-right::before { + content: "\e58b"; } + +.fa-arrows-split-up-and-left::before { + content: "\e4bc"; } + +.fa-hand-fist::before { + content: "\f6de"; } + +.fa-fist-raised::before { + content: "\f6de"; } + +.fa-cloud-moon::before { + content: "\f6c3"; } + +.fa-briefcase::before { + content: "\f0b1"; } + +.fa-person-falling::before { + content: "\e546"; } + +.fa-image-portrait::before { + content: "\f3e0"; } + +.fa-portrait::before { + content: "\f3e0"; } + +.fa-user-tag::before { + content: "\f507"; } + +.fa-rug::before { + content: "\e569"; } + +.fa-earth-europe::before { + content: "\f7a2"; } + +.fa-globe-europe::before { + content: "\f7a2"; } + +.fa-cart-flatbed-suitcase::before { + content: "\f59d"; } + +.fa-luggage-cart::before { + content: "\f59d"; } + +.fa-rectangle-xmark::before { + content: "\f410"; } + +.fa-rectangle-times::before { + content: "\f410"; } + +.fa-times-rectangle::before { + content: "\f410"; } + +.fa-window-close::before { + content: "\f410"; } + +.fa-baht-sign::before { + content: "\e0ac"; } + +.fa-book-open::before { + content: "\f518"; } + +.fa-book-journal-whills::before { + content: "\f66a"; } + +.fa-journal-whills::before { + content: "\f66a"; } + +.fa-handcuffs::before { + content: "\e4f8"; } + +.fa-triangle-exclamation::before { + content: "\f071"; } + +.fa-exclamation-triangle::before { + content: "\f071"; } + +.fa-warning::before { + content: "\f071"; } + +.fa-database::before { + content: "\f1c0"; } + +.fa-share::before { + content: "\f064"; } + +.fa-arrow-turn-right::before { + content: "\f064"; } + +.fa-mail-forward::before { + content: "\f064"; } + +.fa-bottle-droplet::before { + content: "\e4c4"; } + +.fa-mask-face::before { + content: "\e1d7"; } + +.fa-hill-rockslide::before { + content: "\e508"; } + +.fa-right-left::before { + content: "\f362"; } + +.fa-exchange-alt::before { + content: "\f362"; } + +.fa-paper-plane::before { + content: "\f1d8"; } + +.fa-road-circle-exclamation::before { + content: "\e565"; } + +.fa-dungeon::before { + content: "\f6d9"; } + +.fa-align-right::before { + content: "\f038"; } + +.fa-money-bill-1-wave::before { + content: "\f53b"; } + +.fa-money-bill-wave-alt::before { + content: "\f53b"; } + +.fa-life-ring::before { + content: "\f1cd"; } + +.fa-hands::before { + content: "\f2a7"; } + +.fa-sign-language::before { + content: "\f2a7"; } + +.fa-signing::before { + content: "\f2a7"; } + +.fa-calendar-day::before { + content: "\f783"; } + +.fa-water-ladder::before { + content: "\f5c5"; } + +.fa-ladder-water::before { + content: "\f5c5"; } + +.fa-swimming-pool::before { + content: "\f5c5"; } + +.fa-arrows-up-down::before { + content: "\f07d"; } + +.fa-arrows-v::before { + content: "\f07d"; } + +.fa-face-grimace::before { + content: "\f57f"; } + +.fa-grimace::before { + content: "\f57f"; } + +.fa-wheelchair-move::before { + content: "\e2ce"; } + +.fa-wheelchair-alt::before { + content: "\e2ce"; } + +.fa-turn-down::before { + content: "\f3be"; } + +.fa-level-down-alt::before { + content: "\f3be"; } + +.fa-person-walking-arrow-right::before { + content: "\e552"; } + +.fa-square-envelope::before { + content: "\f199"; } + +.fa-envelope-square::before { + content: "\f199"; } + +.fa-dice::before { + content: "\f522"; } + +.fa-bowling-ball::before { + content: "\f436"; } + +.fa-brain::before { + content: "\f5dc"; } + +.fa-bandage::before { + content: "\f462"; } + +.fa-band-aid::before { + content: "\f462"; } + +.fa-calendar-minus::before { + content: "\f272"; } + +.fa-circle-xmark::before { + content: "\f057"; } + +.fa-times-circle::before { + content: "\f057"; } + +.fa-xmark-circle::before { + content: "\f057"; } + +.fa-gifts::before { + content: "\f79c"; } + +.fa-hotel::before { + content: "\f594"; } + +.fa-earth-asia::before { + content: "\f57e"; } + +.fa-globe-asia::before { + content: "\f57e"; } + +.fa-id-card-clip::before { + content: "\f47f"; } + +.fa-id-card-alt::before { + content: "\f47f"; } + +.fa-magnifying-glass-plus::before { + content: "\f00e"; } + +.fa-search-plus::before { + content: "\f00e"; } + +.fa-thumbs-up::before { + content: "\f164"; } + +.fa-user-clock::before { + content: "\f4fd"; } + +.fa-hand-dots::before { + content: "\f461"; } + +.fa-allergies::before { + content: "\f461"; } + +.fa-file-invoice::before { + content: "\f570"; } + +.fa-window-minimize::before { + content: "\f2d1"; } + +.fa-mug-saucer::before { + content: "\f0f4"; } + +.fa-coffee::before { + content: "\f0f4"; } + +.fa-brush::before { + content: "\f55d"; } + +.fa-mask::before { + content: "\f6fa"; } + +.fa-magnifying-glass-minus::before { + content: "\f010"; } + +.fa-search-minus::before { + content: "\f010"; } + +.fa-ruler-vertical::before { + content: "\f548"; } + +.fa-user-large::before { + content: "\f406"; } + +.fa-user-alt::before { + content: "\f406"; } + +.fa-train-tram::before { + content: "\e5b4"; } + +.fa-user-nurse::before { + content: "\f82f"; } + +.fa-syringe::before { + content: "\f48e"; } + +.fa-cloud-sun::before { + content: "\f6c4"; } + +.fa-stopwatch-20::before { + content: "\e06f"; } + +.fa-square-full::before { + content: "\f45c"; } + +.fa-magnet::before { + content: "\f076"; } + +.fa-jar::before { + content: "\e516"; } + +.fa-note-sticky::before { + content: "\f249"; } + +.fa-sticky-note::before { + content: "\f249"; } + +.fa-bug-slash::before { + content: "\e490"; } + +.fa-arrow-up-from-water-pump::before { + content: "\e4b6"; } + +.fa-bone::before { + content: "\f5d7"; } + +.fa-user-injured::before { + content: "\f728"; } + +.fa-face-sad-tear::before { + content: "\f5b4"; } + +.fa-sad-tear::before { + content: "\f5b4"; } + +.fa-plane::before { + content: "\f072"; } + +.fa-tent-arrows-down::before { + content: "\e581"; } + +.fa-exclamation::before { + content: "\21"; } + +.fa-arrows-spin::before { + content: "\e4bb"; } + +.fa-print::before { + content: "\f02f"; } + +.fa-turkish-lira-sign::before { + content: "\e2bb"; } + +.fa-try::before { + content: "\e2bb"; } + +.fa-turkish-lira::before { + content: "\e2bb"; } + +.fa-dollar-sign::before { + content: "\24"; } + +.fa-dollar::before { + content: "\24"; } + +.fa-usd::before { + content: "\24"; } + +.fa-x::before { + content: "\58"; } + +.fa-magnifying-glass-dollar::before { + content: "\f688"; } + +.fa-search-dollar::before { + content: "\f688"; } + +.fa-users-gear::before { + content: "\f509"; } + +.fa-users-cog::before { + content: "\f509"; } + +.fa-person-military-pointing::before { + content: "\e54a"; } + +.fa-building-columns::before { + content: "\f19c"; } + +.fa-bank::before { + content: "\f19c"; } + +.fa-institution::before { + content: "\f19c"; } + +.fa-museum::before { + content: "\f19c"; } + +.fa-university::before { + content: "\f19c"; } + +.fa-umbrella::before { + content: "\f0e9"; } + +.fa-trowel::before { + content: "\e589"; } + +.fa-d::before { + content: "\44"; } + +.fa-stapler::before { + content: "\e5af"; } + +.fa-masks-theater::before { + content: "\f630"; } + +.fa-theater-masks::before { + content: "\f630"; } + +.fa-kip-sign::before { + content: "\e1c4"; } + +.fa-hand-point-left::before { + content: "\f0a5"; } + +.fa-handshake-simple::before { + content: "\f4c6"; } + +.fa-handshake-alt::before { + content: "\f4c6"; } + +.fa-jet-fighter::before { + content: "\f0fb"; } + +.fa-fighter-jet::before { + content: "\f0fb"; } + +.fa-square-share-nodes::before { + content: "\f1e1"; } + +.fa-share-alt-square::before { + content: "\f1e1"; } + +.fa-barcode::before { + content: "\f02a"; } + +.fa-plus-minus::before { + content: "\e43c"; } + +.fa-video::before { + content: "\f03d"; } + +.fa-video-camera::before { + content: "\f03d"; } + +.fa-graduation-cap::before { + content: "\f19d"; } + +.fa-mortar-board::before { + content: "\f19d"; } + +.fa-hand-holding-medical::before { + content: "\e05c"; } + +.fa-person-circle-check::before { + content: "\e53e"; } + +.fa-turn-up::before { + content: "\f3bf"; } + +.fa-level-up-alt::before { + content: "\f3bf"; } + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; } +:root, :host { + --fa-style-family-brands: 'Font Awesome 6 Brands'; + --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; } + +@font-face { + font-family: 'Font Awesome 6 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +.fab, +.fa-brands { + font-weight: 400; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-square-js:before { + content: "\f3b9"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-square-reddit:before { + content: "\f1a2"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-square-font-awesome:before { + content: "\e5ad"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-square-instagram:before { + content: "\e055"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-square-hacker-news:before { + content: "\f3af"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-threads:before { + content: "\e618"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-square-snapchat:before { + content: "\f2ad"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-square-font-awesome-stroke:before { + content: "\f35c"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-square-viadeo:before { + content: "\f2aa"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-square-dribbble:before { + content: "\f397"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-node:before { + content: "\f419"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-debian:before { + content: "\e60b"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-square-twitter:before { + content: "\f081"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-golang:before { + content: "\e40f"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-square-youtube:before { + content: "\f431"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-rendact:before { + content: "\f3e4"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-nfc-directional:before { + content: "\e530"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-meta:before { + content: "\e49b"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-square-steam:before { + content: "\f1b7"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-500px:before { + content: "\f26e"; } + +.fa-square-vimeo:before { + content: "\f194"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-flag:before { + content: "\f2b4"; } + +.fa-font-awesome-logo-full:before { + content: "\f2b4"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-padlet:before { + content: "\e4a0"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-square-github:before { + content: "\f092"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-square-threads:before { + content: "\e619"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-square-gitlab:before { + content: "\e5ae"; } + +.fa-gitlab-square:before { + content: "\e5ae"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-square-odnoklassniki:before { + content: "\f264"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-hashnode:before { + content: "\e499"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-square-pinterest:before { + content: "\f0d3"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-nfc-symbol:before { + content: "\e531"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-square-google-plus:before { + content: "\f0d4"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-square-xing:before { + content: "\f169"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-bilibili:before { + content: "\e3d9"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-x-twitter:before { + content: "\e61b"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-42-group:before { + content: "\e080"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-square-pied-piper:before { + content: "\e01e"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-square-facebook:before { + content: "\f082"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-square-lastfm:before { + content: "\f203"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-cmplid:before { + content: "\e360"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-screenpal:before { + content: "\e570"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-wirsindhandwerk:before { + content: "\e2d0"; } + +.fa-wsh:before { + content: "\e2d0"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-square-behance:before { + content: "\f1b5"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-space-awesome:before { + content: "\e5ac"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-square-git:before { + content: "\f1d2"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-square-tumblr:before { + content: "\f174"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-bots:before { + content: "\e340"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-php:before { + content: "\f457"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-stubber:before { + content: "\e5c7"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f2c6"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-odysee:before { + content: "\e5c6"; } + +.fa-square-whatsapp:before { + content: "\f40c"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f198"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-square-x-twitter:before { + content: "\e61a"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f23a"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-sitrox:before { + content: "\e44a"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-pix:before { + content: "\e43a"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } +:root, :host { + --fa-style-family-classic: 'Font Awesome 6 Free'; + --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +.far, +.fa-regular { + font-weight: 400; } +:root, :host { + --fa-style-family-classic: 'Font Awesome 6 Free'; + --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; } + +@font-face { + font-family: 'Font Awesome 6 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +.fas, +.fa-solid { + font-weight: 900; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-display: block; + font-weight: 900; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: 'Font Awesome 5 Free'; + font-display: block; + font-weight: 400; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } + +@font-face { + font-family: 'FontAwesome'; + font-display: block; + src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); } diff --git a/docs/dev/deps/font-awesome-6.4.2/css/all.min.css b/docs/dev/deps/font-awesome-6.4.2/css/all.min.css new file mode 100644 index 00000000..6604a067 --- /dev/null +++ b/docs/dev/deps/font-awesome-6.4.2/css/all.min.css @@ -0,0 +1,9 @@ +/*! + * Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} + +.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"} +.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }@font-face{font-family:"FontAwesome";font-display:block;src: url("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.ttf") format("truetype"); } \ No newline at end of file diff --git a/docs/dev/deps/font-awesome-6.4.2/css/v4-shims.css b/docs/dev/deps/font-awesome-6.4.2/css/v4-shims.css new file mode 100644 index 00000000..a85953d1 --- /dev/null +++ b/docs/dev/deps/font-awesome-6.4.2/css/v4-shims.css @@ -0,0 +1,2194 @@ +/*! + * Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-star-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-home:before { + content: "\f015"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-list-alt:before { + content: "\f022"; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-edit { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-edit:before { + content: "\f044"; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart:before { + content: "\e0e3"; } + +.fa.fa-bar-chart-o:before { + content: "\e0e3"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitter-square:before { + content: "\f081"; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square:before { + content: "\f082"; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-github-square:before { + content: "\f092"; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-globe:before { + content: "\f57d"; } + +.fa.fa-tasks:before { + content: "\f828"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-cut:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-save { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-save:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-magic:before { + content: "\e2ca"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f625"; } + +.fa.fa-dashboard:before { + content: "\f625"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard:before { + content: "\f0ea"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f0ed"; } + +.fa.fa-cloud-upload:before { + content: "\f0ee"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f5c0"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f5c0"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f5c0"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-unlink:before { + content: "\f127"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-unlock-alt:before { + content: "\f09c"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\24"; } + +.fa.fa-dollar:before { + content: "\24"; } + +.fa.fa-inr:before { + content: "\e1bc"; } + +.fa.fa-rupee:before { + content: "\e1bc"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f884"; } + +.fa.fa-sort-amount-desc:before { + content: "\f160"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-square:before { + content: "\f431"; } + +.fa.fa-youtube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-xing-square:before { + content: "\f169"; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square:before { + content: "\f174"; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo-square:before { + content: "\f194"; } + +.fa.fa-try:before { + content: "\e2bb"; } + +.fa.fa-turkish-lira:before { + content: "\e2bb"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square:before { + content: "\f1a2"; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-behance-square:before { + content: "\f1b5"; } + +.fa.fa-steam { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-steam-square:before { + content: "\f1b7"; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-cab:before { + content: "\f1ba"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-git-square:before { + content: "\f1d2"; } + +.fa.fa-git { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square:before { + content: "\f203"; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-transgender:before { + content: "\f224"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-transgender-alt:before { + content: "\f225"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost:before { + content: "\f2ab"; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 6 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } + +.fa.fa-meetup { + font-family: 'Font Awesome 6 Brands'; + font-weight: 400; } diff --git a/docs/dev/deps/font-awesome-6.4.2/css/v4-shims.min.css b/docs/dev/deps/font-awesome-6.4.2/css/v4-shims.min.css new file mode 100644 index 00000000..64e4e8d8 --- /dev/null +++ b/docs/dev/deps/font-awesome-6.4.2/css/v4-shims.min.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-brands-400.ttf b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-brands-400.ttf new file mode 100644 index 00000000..30f55b74 Binary files /dev/null and b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-brands-400.ttf differ diff --git a/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-brands-400.woff2 b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-brands-400.woff2 new file mode 100644 index 00000000..8a480d9b Binary files /dev/null and b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-brands-400.woff2 differ diff --git a/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-regular-400.ttf b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-regular-400.ttf new file mode 100644 index 00000000..c79589d8 Binary files /dev/null and b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-regular-400.ttf differ diff --git a/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-regular-400.woff2 b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-regular-400.woff2 new file mode 100644 index 00000000..059a94e2 Binary files /dev/null and b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-regular-400.woff2 differ diff --git a/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-solid-900.ttf b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-solid-900.ttf new file mode 100644 index 00000000..e479fb29 Binary files /dev/null and b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-solid-900.ttf differ diff --git a/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-solid-900.woff2 b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-solid-900.woff2 new file mode 100644 index 00000000..88b0367a Binary files /dev/null and b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-solid-900.woff2 differ diff --git a/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-v4compatibility.ttf b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-v4compatibility.ttf new file mode 100644 index 00000000..ba6cb258 Binary files /dev/null and b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-v4compatibility.ttf differ diff --git a/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-v4compatibility.woff2 b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-v4compatibility.woff2 new file mode 100644 index 00000000..23b1c47b Binary files /dev/null and b/docs/dev/deps/font-awesome-6.4.2/webfonts/fa-v4compatibility.woff2 differ diff --git a/docs/dev/deps/headroom-0.11.0/headroom.min.js b/docs/dev/deps/headroom-0.11.0/headroom.min.js new file mode 100644 index 00000000..433069fd --- /dev/null +++ b/docs/dev/deps/headroom-0.11.0/headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.11.0 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).Headroom=n()}(this,function(){"use strict";function t(){return"undefined"!=typeof window}function d(t){return function(t){return t&&t.document&&function(t){return 9===t.nodeType}(t.document)}(t)?function(t){var n=t.document,o=n.body,s=n.documentElement;return{scrollHeight:function(){return Math.max(o.scrollHeight,s.scrollHeight,o.offsetHeight,s.offsetHeight,o.clientHeight,s.clientHeight)},height:function(){return t.innerHeight||s.clientHeight||o.clientHeight},scrollY:function(){return void 0!==t.pageYOffset?t.pageYOffset:(s||o.parentNode||o).scrollTop}}}(t):function(t){return{scrollHeight:function(){return Math.max(t.scrollHeight,t.offsetHeight,t.clientHeight)},height:function(){return Math.max(t.offsetHeight,t.clientHeight)},scrollY:function(){return t.scrollTop}}}(t)}function n(t,s,e){var n,o=function(){var n=!1;try{var t={get passive(){n=!0}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){n=!1}return n}(),i=!1,r=d(t),l=r.scrollY(),a={};function c(){var t=Math.round(r.scrollY()),n=r.height(),o=r.scrollHeight();a.scrollY=t,a.lastScrollY=l,a.direction=ls.tolerance[a.direction],e(a),l=t,i=!1}function h(){i||(i=!0,n=requestAnimationFrame(c))}var u=!!o&&{passive:!0,capture:!1};return t.addEventListener("scroll",h,u),c(),{destroy:function(){cancelAnimationFrame(n),t.removeEventListener("scroll",h,u)}}}function o(t,n){n=n||{},Object.assign(this,o.options,n),this.classes=Object.assign({},o.options.classes,n.classes),this.elem=t,this.tolerance=function(t){return t===Object(t)?t:{down:t,up:t}}(this.tolerance),this.initialised=!1,this.frozen=!1}return o.prototype={constructor:o,init:function(){return o.cutsTheMustard&&!this.initialised&&(this.addClass("initial"),this.initialised=!0,setTimeout(function(t){t.scrollTracker=n(t.scroller,{offset:t.offset,tolerance:t.tolerance},t.update.bind(t))},100,this)),this},destroy:function(){this.initialised=!1,Object.keys(this.classes).forEach(this.removeClass,this),this.scrollTracker.destroy()},unpin:function(){!this.hasClass("pinned")&&this.hasClass("unpinned")||(this.addClass("unpinned"),this.removeClass("pinned"),this.onUnpin&&this.onUnpin.call(this))},pin:function(){this.hasClass("unpinned")&&(this.addClass("pinned"),this.removeClass("unpinned"),this.onPin&&this.onPin.call(this))},freeze:function(){this.frozen=!0,this.addClass("frozen")},unfreeze:function(){this.frozen=!1,this.removeClass("frozen")},top:function(){this.hasClass("top")||(this.addClass("top"),this.removeClass("notTop"),this.onTop&&this.onTop.call(this))},notTop:function(){this.hasClass("notTop")||(this.addClass("notTop"),this.removeClass("top"),this.onNotTop&&this.onNotTop.call(this))},bottom:function(){this.hasClass("bottom")||(this.addClass("bottom"),this.removeClass("notBottom"),this.onBottom&&this.onBottom.call(this))},notBottom:function(){this.hasClass("notBottom")||(this.addClass("notBottom"),this.removeClass("bottom"),this.onNotBottom&&this.onNotBottom.call(this))},shouldUnpin:function(t){return"down"===t.direction&&!t.top&&t.toleranceExceeded},shouldPin:function(t){return"up"===t.direction&&t.toleranceExceeded||t.top},addClass:function(t){this.elem.classList.add.apply(this.elem.classList,this.classes[t].split(" "))},removeClass:function(t){this.elem.classList.remove.apply(this.elem.classList,this.classes[t].split(" "))},hasClass:function(t){return this.classes[t].split(" ").every(function(t){return this.classList.contains(t)},this.elem)},update:function(t){t.isOutOfBounds||!0!==this.frozen&&(t.top?this.top():this.notTop(),t.bottom?this.bottom():this.notBottom(),this.shouldUnpin(t)?this.unpin():this.shouldPin(t)&&this.pin())}},o.options={tolerance:{up:0,down:0},offset:0,scroller:t()?window:null,classes:{frozen:"headroom--frozen",pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},o.cutsTheMustard=!!(t()&&function(){}.bind&&"classList"in document.documentElement&&Object.assign&&Object.keys&&requestAnimationFrame),o}); \ No newline at end of file diff --git a/docs/dev/deps/headroom-0.11.0/jQuery.headroom.min.js b/docs/dev/deps/headroom-0.11.0/jQuery.headroom.min.js new file mode 100644 index 00000000..17f70c9e --- /dev/null +++ b/docs/dev/deps/headroom-0.11.0/jQuery.headroom.min.js @@ -0,0 +1,7 @@ +/*! + * headroom.js v0.9.4 - Give your page some headroom. Hide your header until you need it + * Copyright (c) 2017 Nick Williams - http://wicky.nillia.ms/headroom.js + * License: MIT + */ + +!function(a){a&&(a.fn.headroom=function(b){return this.each(function(){var c=a(this),d=c.data("headroom"),e="object"==typeof b&&b;e=a.extend(!0,{},Headroom.options,e),d||(d=new Headroom(this,e),d.init(),c.data("headroom",d)),"string"==typeof b&&(d[b](),"destroy"===b&&c.removeData("headroom"))})},a("[data-headroom]").each(function(){var b=a(this);b.headroom(b.data())}))}(window.Zepto||window.jQuery); \ No newline at end of file diff --git a/docs/dev/deps/jquery-3.6.0/jquery-3.6.0.js b/docs/dev/deps/jquery-3.6.0/jquery-3.6.0.js new file mode 100644 index 00000000..fc6c299b --- /dev/null +++ b/docs/dev/deps/jquery-3.6.0/jquery-3.6.0.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " - - - - - - + +Utilities for Electroencephalographic (EEG) Analysis • eegUtils + + + + + + + - - - + + Skip to contents -
    -
    -
    -
    +
    +
    +
    +
    @@ -113,11 +75,11 @@

    Installation
    -#install.packages("remotes")
    -remotes::install_github("craddm/eegUtils")

    +#install.packages("remotes") +remotes::install_github("craddm/eegUtils")

    To install the latest development version, install from the develop branch as below.

    -remotes::install_github("craddm/eegUtils@develop")
    +remotes::install_github("craddm/eegUtils@develop")

    You can also find the package on Neuroconductor - for more information about installing packages from Neuroconductor, see the Neuroconductor installation tutorial

    @@ -128,49 +90,49 @@

    Usage

    ERP butterfly plots

    -library(eegUtils)
    -#> 
    -#> Attaching package: 'eegUtils'
    -#> The following object is masked from 'package:stats':
    -#> 
    -#>     filter
    -plot_butterfly(demo_epochs)
    +library(eegUtils) +#> +#> Attaching package: 'eegUtils' +#> The following object is masked from 'package:stats': +#> +#> filter +plot_butterfly(demo_epochs)

    Topographical plots

    -topoplot(demo_epochs, 
    -         time_lim = c(.22, .25 ))
    -#> Using electrode locations from data.
    -#> Plotting head r 95 mm
    +topoplot(demo_epochs, + time_lim = c(.22, .25 )) +#> Using electrode locations from data. +#> Plotting head r 95 mm

    Power spectral density

    -plot_psd(demo_epochs)
    -#> Removing channel means per epoch...
    -#> Computing Power Spectral Density using Welch's method.
    -#> FFT length: 256
    -#> Segment length: 84
    -#> Overlapping points: 42 (50% overlap)
    +plot_psd(demo_epochs) +#> Removing channel means per epoch... +#> Computing Power Spectral Density using Welch's method. +#> FFT length: 256 +#> Segment length: 84 +#> Overlapping points: 42 (50% overlap)

    Time-frequency analysis

    -plot_tfr(compute_tfr(demo_epochs,
    -                     foi = c(4, 30),
    -                     n_freq = 20,
    -                     n_cycles = 3))
    -#> Computing TFR using Morlet wavelet convolution
    -#> Output frequencies using linear spacing: 4 5.37 6.74 8.11 9.47 10.84 12.21 13.58 14.95 16.32 17.68 19.05 20.42 21.79 23.16 24.53 25.89 27.26 28.63 30
    -#> Removing channel means per epoch...
    -#> Returning signal averaged over all trials.
    +plot_tfr(compute_tfr(demo_epochs, + foi = c(4, 30), + n_freq = 20, + n_cycles = 3)) +#> Computing TFR using Morlet wavelet convolution +#> Output frequencies using linear spacing: 4 5.37 6.74 8.11 9.47 10.84 12.21 13.58 14.95 16.32 17.68 19.05 20.42 21.79 23.16 24.53 25.89 27.26 28.63 30 +#> Removing channel means per epoch... +#> Returning signal averaged over all trials.

    There are many potential processing steps that precede the production of plots like these. For more examples of how to import and process data, or import data from other sources, see the eegUtils website!

    @@ -188,10 +150,7 @@

    Code of ConductPlease note that the eegUtils project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

    - - - -
    - - + diff --git a/docs/dev/katex-auto.js b/docs/dev/katex-auto.js new file mode 100644 index 00000000..20651d9f --- /dev/null +++ b/docs/dev/katex-auto.js @@ -0,0 +1,14 @@ +// https://github.com/jgm/pandoc/blob/29fa97ab96b8e2d62d48326e1b949a71dc41f47a/src/Text/Pandoc/Writers/HTML.hs#L332-L345 +document.addEventListener("DOMContentLoaded", function () { + var mathElements = document.getElementsByClassName("math"); + var macros = []; + for (var i = 0; i < mathElements.length; i++) { + var texText = mathElements[i].firstChild; + if (mathElements[i].tagName == "SPAN") { + katex.render(texText.data, mathElements[i], { + displayMode: mathElements[i].classList.contains("display"), + throwOnError: false, + macros: macros, + fleqn: false + }); + }}}); diff --git a/docs/dev/lightswitch.js b/docs/dev/lightswitch.js new file mode 100644 index 00000000..9467125a --- /dev/null +++ b/docs/dev/lightswitch.js @@ -0,0 +1,85 @@ + +/*! + * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under the Creative Commons Attribution 3.0 Unported License. + * Updates for {pkgdown} by the {bslib} authors, also licensed under CC-BY-3.0. + */ + +const getStoredTheme = () => localStorage.getItem('theme') +const setStoredTheme = theme => localStorage.setItem('theme', theme) + +const getPreferredTheme = () => { + const storedTheme = getStoredTheme() + if (storedTheme) { + return storedTheme + } + + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' +} + +const setTheme = theme => { + if (theme === 'auto') { + document.documentElement.setAttribute('data-bs-theme', (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')) + } else { + document.documentElement.setAttribute('data-bs-theme', theme) + } +} + +function bsSetupThemeToggle () { + 'use strict' + + const showActiveTheme = (theme, focus = false) => { + var activeLabel, activeIcon; + + document.querySelectorAll('[data-bs-theme-value]').forEach(element => { + const buttonTheme = element.getAttribute('data-bs-theme-value') + const isActive = buttonTheme == theme + + element.classList.toggle('active', isActive) + element.setAttribute('aria-pressed', isActive) + + if (isActive) { + activeLabel = element.textContent; + activeIcon = element.querySelector('span').classList.value; + } + }) + + const themeSwitcher = document.querySelector('#dropdown-lightswitch') + if (!themeSwitcher) { + return + } + + themeSwitcher.setAttribute('aria-label', activeLabel) + themeSwitcher.querySelector('span').classList.value = activeIcon; + + if (focus) { + themeSwitcher.focus() + } + } + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { + const storedTheme = getStoredTheme() + if (storedTheme !== 'light' && storedTheme !== 'dark') { + setTheme(getPreferredTheme()) + } + }) + + window.addEventListener('DOMContentLoaded', () => { + showActiveTheme(getPreferredTheme()) + + document + .querySelectorAll('[data-bs-theme-value]') + .forEach(toggle => { + toggle.addEventListener('click', () => { + const theme = toggle.getAttribute('data-bs-theme-value') + setTheme(theme) + setStoredTheme(theme) + showActiveTheme(theme, true) + }) + }) + }) +} + +setTheme(getPreferredTheme()); +bsSetupThemeToggle(); diff --git a/docs/dev/news/index.html b/docs/dev/news/index.html index 5ec95b92..5637bcfb 100644 --- a/docs/dev/news/index.html +++ b/docs/dev/news/index.html @@ -1,87 +1,110 @@ -Changelog • eegUtils - +Changelog • eegUtils + Skip to contents -
    -
    +
    +
    +
    -
    -
    - +

    eegUtils (development version)

    -

    Function changes

    -
    • Add imax method to run_ICA(). This allows use of the infomax ICA algorithm from the infomax package, which is a reimplementation of the Infomax algorithm used in the EEGLAB Matlab toolbox.
    • +

      Function changes

      +
      • +plot_timecourse() now requires facets and mappings to be explicitly stated during the call, rather than added afterwards. This allows it to use weighted averages when required.
      • +
      • +plot_timecourse.eeg_tfr() now defaults to no baseline correction, and takes a type argument for baseline type to be specified.
      • +
      • Added new plot_gfp() function for calculating and plotting Global Field Power.
      • +
      • +topoplot() now supports plotting of multiple timepoints - pass a list of times to the time_lim argument.
      • +
      • +topoplot() now supports custom fill titles through the fill_title argument, and automatically switches where necessary (e.g. now says “Power mV^2”). Fill titles are now also centred.
      • +
      • +browse_data.eeg_ICA() now provides the option to select components for rejection, and returns a character vector of selected components.
      • +
      • Recoded browse_data() to use bslib for styling.
      • +
      • +view_ica() now allows you to select components for rejection, to double-click on topographies to inspect them individually, and to return cleaned data.
      • +
      • +eeg_average() now supports averaging over conditions in eeg_evoked files
      • +
      • +eeg_average() now records weights - the number of epochs that went into an average - and uses those in subsequent steps where possible for eeg_epochs/eeg_evoked / eeg_tfr objects.
      • +
      • +compute_tfr() now has an argument trim_edges which allows users to switch off automatic removal of epoch edges after transformation. Defaults to TRUE.
      • +
      • +rm_baseline() now adds a record of the baseline period
      • +
      • Changed logic of eeg_combine.eeg_epochs(). Now checks for duplicate epochs directly using epoch, participant_id and recording, and only corrects when there are duplicates. This means recording and participant_id have to be matching across eeg_epochs objects for the timing correction to be applied.
      • +
    +
    +

    Internal changes/bug fixes

    +
    • Recoded faster_epochs() to no longer use data.table.
    • +
    • added parse_cycles() function for use during compute_tfr() +
    • +
    • Using electrode_locations() on a data.frame would return a data frame with the electrode names in full upper case. Now returns with the electrodes in their original case.
    • +
    • +eeg_evoked objects should now contain reference information.
    • +
    • +ar_for_ica file started, moving some functions from artefact_rejection.R +
    • +
    • +select_times prevented from converting single column data.frames to vectors after subsetting.
    • +
    • +plot_timecourse.eeg_tfr now correctly uses the freq_range parameter.
    • +
    • Improvements to internal processing logic in view_ica() to improve performance.
    • +
    • +import_raw(..., fast_bdf = TRUE) will now discard Annotations rather than fail to import BDF files with Annotations.
    • +
    • removed dependency on Matrix - now using qr()$rank in run_ICA rather than using Matrix::rankMatrix() to determine rank of input signals.
    • +
    • Added numerous dropped_aes variables to the custom ggplot2 stat_ functions for compatibility with ggplot2 3.4.0.
    • +
    • Replaced size aesthetic with linewidth for compatibility with ggplot2 3.4.0.
    • +
    • Lots of minor code style improvements
    • +
    • Deprecated function iir_filt removed
    • +
    +
    +
    +

    eegUtils 0.7.0

    +
    +

    Function changes

    +
    -

    Internal changes / bug fixes

    +

    Internal changes / bug fixes

    - +

    eegUtils 0.6.3

    Function changes

    • Added log spaced frequencies to compute_tfr(), with the new spacing argument. plot_tfr automatically detects the spacing and plots the figure appropriately.
    • @@ -143,7 +168,7 @@

      Internal changes / bug fixes

    - +

    eegUtils 0.6.2

    Function changes

    • added support for EEGLAB .set files saved in newer Matlab file formats.
    • @@ -171,7 +196,7 @@

      Internal changes / bug fixes

    - +

    eegUtils 0.6.1

    Function changes

    • @@ -204,7 +229,7 @@

      Internal changes / bug fixes

    - +

    eegUtils 0.6.0

    IMPORTANT: There have been some changes to the logic of the topoplot() that may make their appearance quite different. Specifically, these changes are to the way the underlying interpolation grid is calculated and to how things like the diameter of the cartoon head is calculated. These changes often lead to different minimum or maximum amplitudes across the image, and thus changes in the appearance of the plot due to different scales- don’t be alarmed!

    Function changes

    @@ -288,7 +313,7 @@

    Internal changes / bug fixes

    - +

    eegUtils 0.5.0

    Function changes

    • Default settings for Infomax ICA changed to be similar to EEGLAB/Fieldtrip.
    • @@ -338,7 +363,7 @@

      Function changes - +

      eegUtils 0.4.0

      Function changes

      • Behaviour of as.data.frame methods changed. @@ -377,7 +402,7 @@

        Function changeseeg_filter() supports use of multiple threads/cores through the future package.

      • -iir_filt() will be deprecated
      • +iir_filt() will be deprecated
    • geom_topo() extension for ggplot2 added. Allows plotting of a topographical scalp maps using standard ggplot2 functions.
    • @@ -387,14 +412,14 @@

      Function changesInternal changes / bug fixes

      • data.table now used in the following functions internally: -
        • reref_eeg()
        • -
        • iir_filt()
        • +
        • -reref_eeg() now correctly excludes electrodes as requested.
        • +reref_eeg() now correctly excludes electrodes as requested.
        • -iir_filt() now correctly respects epoch boundaries.
        • +iir_filt() now correctly respects epoch boundaries.
        • New field epochs added to eeg_data and eeg_epochs objects.
        • chan_info changes to make chan_info consistent across systems.
        • @@ -408,7 +433,7 @@

          Internal changes / bug fixes

    - +

    eegUtils 0.3.0

    Function changes

    • @@ -444,7 +469,7 @@

      Internal changes/ bug fixes - +

      eegUtils 0.2.1

      Function changes

      • @@ -470,7 +495,7 @@

        Function changes

        Internal changes/ bug fixes

        • -reref_eeg() +reref_eeg()
          • correctly excludes multiple named electrodes (i.e. passed as characters rather than numbers), where it previously silently failed.
          • no longer records the reference data in the ref_data field
        • @@ -506,7 +531,7 @@

          Internal changes/ bug fixes - +

          eegUtils 0.2.0

          Function changes

          • @@ -516,7 +541,7 @@

            Function changesas.data.frame.eeg_ICA() now has a cond_labels parameter to select epochs with specific events and add the event label as an additional column.

          • -reref_eeg() now removes reference channels from the data.
          • +reref_eeg() now removes reference channels from the data.
          • eeg_FASTER() - FASTER artefact rejection method now (mostly) implemented (experimental).
          @@ -546,7 +571,7 @@

          Internal changes / bug fixes

    - +

    eegUtils 0.1.15

    Function changes

    • @@ -579,7 +604,7 @@

      Internal changes / bug fixes

    - +

    eegUtils 0.1.14

    Function changes

    • @@ -610,7 +635,7 @@

      Internal changes/ bug fixes - +

      eegUtils 0.1.13

      Function changes

      • @@ -622,11 +647,11 @@

        Function changes - +

        eegUtils 0.1.12

        Function changes

        • -iir_filt() now also filters reference channels
        • +iir_filt() now also filters reference channels
        • load_set() command added to load EEGLAB .set files
        @@ -636,39 +661,33 @@

        Internal changesiir_filt() to an S3 generic method +
      • Converted iir_filt() to an S3 generic method
        • iir_filt.eeg_data
        • iir_filt.eeg_epochs
    - +

    eegUtils 0.1.11

    • Added a NEWS.md file to track changes to the package.
    -
    +
    - +
    - -
    -
    - - diff --git a/docs/dev/pkgdown.js b/docs/dev/pkgdown.js index 6f0eee40..1a99c65f 100644 --- a/docs/dev/pkgdown.js +++ b/docs/dev/pkgdown.js @@ -2,83 +2,43 @@ (function($) { $(function() { - $('.navbar-fixed-top').headroom(); + $('nav.navbar').headroom(); - $('body').css('padding-top', $('.navbar').height() + 10); - $(window).resize(function(){ - $('body').css('padding-top', $('.navbar').height() + 10); + Toc.init({ + $nav: $("#toc"), + $scope: $("main h2, main h3, main h4, main h5, main h6") }); - $('[data-toggle="tooltip"]').tooltip(); - - var cur_path = paths(location.pathname); - var links = $("#navbar ul li a"); - var max_length = -1; - var pos = -1; - for (var i = 0; i < links.length; i++) { - if (links[i].getAttribute("href") === "#") - continue; - // Ignore external links - if (links[i].host !== location.host) - continue; - - var nav_path = paths(links[i].pathname); - - var length = prefix_length(nav_path, cur_path); - if (length > max_length) { - max_length = length; - pos = i; - } - } - - // Add class to parent
  • , and enclosing
  • if in dropdown - if (pos >= 0) { - var menu_anchor = $(links[pos]); - menu_anchor.parent().addClass("active"); - menu_anchor.closest("li.dropdown").addClass("active"); - } - }); - - function paths(pathname) { - var pieces = pathname.split("/"); - pieces.shift(); // always starts with / - - var end = pieces[pieces.length - 1]; - if (end === "index.html" || end === "") - pieces.pop(); - return(pieces); - } - - // Returns -1 if not found - function prefix_length(needle, haystack) { - if (needle.length > haystack.length) - return(-1); - - // Special case for length-0 haystack, since for loop won't run - if (haystack.length === 0) { - return(needle.length === 0 ? 0 : -1); + if ($('#toc').length) { + $('body').scrollspy({ + target: '#toc', + offset: $("nav.navbar").outerHeight() + 1 + }); } - for (var i = 0; i < haystack.length; i++) { - if (needle[i] != haystack[i]) - return(i); - } + // Activate popovers + $('[data-bs-toggle="popover"]').popover({ + container: 'body', + html: true, + trigger: 'focus', + placement: "top", + sanitize: false, + }); - return(haystack.length); - } + $('[data-bs-toggle="tooltip"]').tooltip(); /* Clipboard --------------------------*/ function changeTooltipMessage(element, msg) { - var tooltipOriginalTitle=element.getAttribute('data-original-title'); - element.setAttribute('data-original-title', msg); + var tooltipOriginalTitle=element.getAttribute('data-bs-original-title'); + element.setAttribute('data-bs-original-title', msg); $(element).tooltip('show'); - element.setAttribute('data-original-title', tooltipOriginalTitle); + element.setAttribute('data-bs-original-title', tooltipOriginalTitle); } if(ClipboardJS.isSupported()) { $(document).ready(function() { - var copyButton = ""; + var copyButton = ""; $("div.sourceCode").addClass("hasCopyButton"); @@ -89,20 +49,114 @@ $('.btn-copy-ex').tooltip({container: 'body'}); // Initialize clipboard: - var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', { + var clipboard = new ClipboardJS('[data-clipboard-copy]', { text: function(trigger) { return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); } }); - clipboardBtnCopies.on('success', function(e) { + clipboard.on('success', function(e) { changeTooltipMessage(e.trigger, 'Copied!'); e.clearSelection(); }); - clipboardBtnCopies.on('error', function() { + clipboard.on('error', function(e) { changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); }); + }); } + + /* Search marking --------------------------*/ + var url = new URL(window.location.href); + var toMark = url.searchParams.get("q"); + var mark = new Mark("main#main"); + if (toMark) { + mark.mark(toMark, { + accuracy: { + value: "complementary", + limiters: [",", ".", ":", "/"], + } + }); + } + + /* Search --------------------------*/ + /* Adapted from https://github.com/rstudio/bookdown/blob/2d692ba4b61f1e466c92e78fd712b0ab08c11d31/inst/resources/bs4_book/bs4_book.js#L25 */ + // Initialise search index on focus + var fuse; + $("#search-input").focus(async function(e) { + if (fuse) { + return; + } + + $(e.target).addClass("loading"); + var response = await fetch($("#search-input").data("search-index")); + var data = await response.json(); + + var options = { + keys: ["what", "text", "code"], + ignoreLocation: true, + threshold: 0.1, + includeMatches: true, + includeScore: true, + }; + fuse = new Fuse(data, options); + + $(e.target).removeClass("loading"); + }); + + // Use algolia autocomplete + var options = { + autoselect: true, + debug: true, + hint: false, + minLength: 2, + }; + var q; +async function searchFuse(query, callback) { + await fuse; + + var items; + if (!fuse) { + items = []; + } else { + q = query; + var results = fuse.search(query, { limit: 20 }); + items = results + .filter((x) => x.score <= 0.75) + .map((x) => x.item); + if (items.length === 0) { + items = [{dir:"Sorry 😿",previous_headings:"",title:"No results found.",what:"No results found.",path:window.location.href}]; + } + } + callback(items); +} + $("#search-input").autocomplete(options, [ + { + name: "content", + source: searchFuse, + templates: { + suggestion: (s) => { + if (s.title == s.what) { + return `${s.dir} >
    ${s.title}
    `; + } else if (s.previous_headings == "") { + return `${s.dir} >
    ${s.title}
    > ${s.what}`; + } else { + return `${s.dir} >
    ${s.title}
    > ${s.previous_headings} > ${s.what}`; + } + }, + }, + }, + ]).on('autocomplete:selected', function(event, s) { + window.location.href = s.path + "?q=" + q + "#" + s.id; + }); + }); })(window.jQuery || window.$) + +document.addEventListener('keydown', function(event) { + // Check if the pressed key is '/' + if (event.key === '/') { + event.preventDefault(); // Prevent any default action associated with the '/' key + document.getElementById('search-input').focus(); // Set focus to the search input + } +}); diff --git a/docs/dev/pkgdown.yml b/docs/dev/pkgdown.yml index ec720c72..90ecb8a8 100644 --- a/docs/dev/pkgdown.yml +++ b/docs/dev/pkgdown.yml @@ -1,15 +1,15 @@ -pandoc: 2.14.0.3 -pkgdown: 2.0.2 +pandoc: 3.1.11 +pkgdown: 2.1.1 pkgdown_sha: ~ articles: data_structures: data_structures.html eegUtils: eegUtils.html epoch-handling: epoch-handling.html - linear_modelling: linear_modelling/linear_modelling.html + linear_modelling/linear_modelling: linear_modelling/linear_modelling.html + single_subj_N170/N170_single_subject: single_subj_N170/N170_single_subject.html time-frequency-analysis: time-frequency-analysis.html - topoplot: topoplot/topoplot.html -last_built: 2022-02-07T16:05Z + topoplot/topoplot: topoplot/topoplot.html +last_built: 2024-10-04T22:28Z urls: reference: http://craddm.github.io/eegUtils/reference article: http://craddm.github.io/eegUtils/articles - diff --git a/docs/dev/reference/Rplot002.png b/docs/dev/reference/Rplot002.png index c75becab..dd2b421d 100644 Binary files a/docs/dev/reference/Rplot002.png and b/docs/dev/reference/Rplot002.png differ diff --git a/docs/dev/reference/Rplot003.png b/docs/dev/reference/Rplot003.png index 6a141170..6b0b806a 100644 Binary files a/docs/dev/reference/Rplot003.png and b/docs/dev/reference/Rplot003.png differ diff --git a/docs/dev/reference/Rplot004.png b/docs/dev/reference/Rplot004.png index 9ceb8073..610e1bf9 100644 Binary files a/docs/dev/reference/Rplot004.png and b/docs/dev/reference/Rplot004.png differ diff --git a/docs/dev/reference/Rplot005.png b/docs/dev/reference/Rplot005.png index 98bcbbc4..01c6452a 100644 Binary files a/docs/dev/reference/Rplot005.png and b/docs/dev/reference/Rplot005.png differ diff --git a/docs/dev/reference/StatScalpContours.html b/docs/dev/reference/StatScalpContours.html index 9328cf0d..8cc8d3b8 100644 --- a/docs/dev/reference/StatScalpContours.html +++ b/docs/dev/reference/StatScalpContours.html @@ -1,67 +1,12 @@ - - - - - - - -StatScalpcontours — StatScalpContours • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -StatScalpcontours — StatScalpContours • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,38 +80,36 @@

    StatScalpcontours

    StatScalpcontours

    -
    StatScalpContours
    - - -

    Format

    +
    +
    StatScalpContours
    +
    -

    An object of class StatScalpContours (inherits from Stat, ggproto, gg) of length 5.

    +
    +

    Format

    +

    An object of class StatScalpContours (inherits from Stat, ggproto, gg) of length 6.

    +
    +
    -
    - +
  • + + - - - + diff --git a/docs/dev/reference/StatScalpmap.html b/docs/dev/reference/StatScalpmap.html index bedac935..30b33f11 100644 --- a/docs/dev/reference/StatScalpmap.html +++ b/docs/dev/reference/StatScalpmap.html @@ -1,67 +1,12 @@ - - - - - - - -StatScalpmap — StatScalpmap • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -StatScalpmap — StatScalpmap • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,38 +80,36 @@

    StatScalpmap

    StatScalpmap

    -
    StatScalpmap
    - - -

    Format

    +
    +
    StatScalpmap
    +
    -

    An object of class StatScalpmap (inherits from Stat, ggproto, gg) of length 3.

    +
    +

    Format

    +

    An object of class StatScalpmap (inherits from Stat, ggproto, gg) of length 4.

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/apply_ica-1.png b/docs/dev/reference/apply_ica-1.png index c0a37979..1bb4b85c 100644 Binary files a/docs/dev/reference/apply_ica-1.png and b/docs/dev/reference/apply_ica-1.png differ diff --git a/docs/dev/reference/apply_ica-2.png b/docs/dev/reference/apply_ica-2.png index ab456291..92cbff8c 100644 Binary files a/docs/dev/reference/apply_ica-2.png and b/docs/dev/reference/apply_ica-2.png differ diff --git a/docs/dev/reference/apply_ica-3.png b/docs/dev/reference/apply_ica-3.png index 9b610822..c39237c8 100644 Binary files a/docs/dev/reference/apply_ica-3.png and b/docs/dev/reference/apply_ica-3.png differ diff --git a/docs/dev/reference/apply_ica.eeg_ICA.html b/docs/dev/reference/apply_ica.eeg_ICA.html new file mode 100644 index 00000000..ecebdb82 --- /dev/null +++ b/docs/dev/reference/apply_ica.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/apply_ica.eeg_epochs.html b/docs/dev/reference/apply_ica.eeg_epochs.html new file mode 100644 index 00000000..ecebdb82 --- /dev/null +++ b/docs/dev/reference/apply_ica.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/apply_ica.html b/docs/dev/reference/apply_ica.html index 4da475bb..950a2c2b 100644 --- a/docs/dev/reference/apply_ica.html +++ b/docs/dev/reference/apply_ica.html @@ -1,70 +1,15 @@ - - - - - - - -Recreate channel timecourses from ICA decompositions. — apply_ica • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Recreate channel timecourses from ICA decompositions. — apply_ica • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -159,82 +86,91 @@

    Recreate channel timecourses from ICA decompositions.

    dataset.

    -
    apply_ica(data, ...)
    -
    -# S3 method for eeg_ICA
    -apply_ica(data, comps = NULL, ...)
    -
    -# S3 method for eeg_epochs
    -apply_ica(data, decomp, comps, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    An eeg_ICA or eeg_epochs object.

    ...

    Other parameters.

    comps

    Components to remove.

    decomp

    An eeg_ICA object.

    - -

    Methods (by class)

    - - -
      -
    • eeg_ICA: From given eeg_ICA object, recreate channel timecourses.

    • -
    • eeg_epochs: Combine a specific set of ICA weights with any +

      +
      apply_ica(data, ...)
      +
      +# S3 method for class 'eeg_ICA'
      +apply_ica(data, comps = NULL, ...)
      +
      +# S3 method for class 'eeg_epochs'
      +apply_ica(data, decomp, comps, ...)
      +
      + +
      +

      Arguments

      + + +
      data
      +

      An eeg_ICA or eeg_epochs object.

      + + +
      ...
      +

      Other parameters.

      + + +
      comps
      +

      Components to remove.

      + + +
      decomp
      +

      An eeg_ICA object.

      + +
      +
      +

      Methods (by class)

      + +
      • apply_ica(eeg_ICA): From given eeg_ICA object, recreate channel +timecourses.

      • +
      • apply_ica(eeg_epochs): Combine a specific set of ICA weights with any eeg_epochs object.

      • -
      -

      Author

      - -

      Matt Craddock matt@mattcraddock.com

      - -

      Examples

      -
      test_ica <- run_ICA(demo_epochs, pca = 10) -
      #> Reducing data to 10 dimensions using PCA.
      #> Running SOBI ICA.
      #> Setting tolerance to 0.0011
      plot_butterfly(demo_epochs) -
      # Reconstruct the original data from the ICA decomposition. -# Note that the ICA process subtracts the mean from each epoch, -# so the reconstructed plot may look slightly different to the original. -plot_butterfly(apply_ica(test_ica)) -
      # Remove component 2 from the data -plot_butterfly(apply_ica(demo_epochs, test_ica, comps = 2)) -
      +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    test_ica <- run_ICA(demo_epochs, pca = 10)
    +#> Reducing data to 10 dimensions using PCA.
    +#> Running SOBI ICA.
    +#> Setting tolerance to 0.0011
    +plot_butterfly(demo_epochs)
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +
    +# Reconstruct the original data from the ICA decomposition.
    +# Note that the ICA process subtracts the mean from each epoch,
    +# so the reconstructed plot may look slightly different to the original.
    +plot_butterfly(apply_ica(test_ica))
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +
    +# Remove component 2 from the data
    +plot_butterfly(apply_ica(demo_epochs, test_ica, comps = 2))
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/ar_FASTER.eeg_epochs.html b/docs/dev/reference/ar_FASTER.eeg_epochs.html new file mode 100644 index 00000000..7655d051 --- /dev/null +++ b/docs/dev/reference/ar_FASTER.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/ar_FASTER.eeg_group.html b/docs/dev/reference/ar_FASTER.eeg_group.html new file mode 100644 index 00000000..7655d051 --- /dev/null +++ b/docs/dev/reference/ar_FASTER.eeg_group.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/ar_FASTER.html b/docs/dev/reference/ar_FASTER.html index 254a3198..74a6217e 100644 --- a/docs/dev/reference/ar_FASTER.html +++ b/docs/dev/reference/ar_FASTER.html @@ -1,69 +1,14 @@ - - - - - - - -FASTER EEG artefact rejection — ar_FASTER • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -FASTER EEG artefact rejection — ar_FASTER • eegUtils - - - - - - - - - - + - - -
    -
    - - -
    -
    +
    @@ -157,117 +84,121 @@

    FASTER EEG artefact rejection

    EEG artifact Rejection. J Neurosci Methods.

    -
    ar_FASTER(data, ...)
    -
    -# S3 method for eeg_epochs
    -ar_FASTER(
    -  data,
    -  exclude = NULL,
    -  test_chans = TRUE,
    -  test_epochs = TRUE,
    -  test_cine = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_group
    -ar_FASTER(
    -  data,
    -  exclude = NULL,
    -  test_chans = TRUE,
    -  test_epochs = TRUE,
    -  test_cine = TRUE,
    -  EOG = NULL,
    -  ...
    -)
    -
    -eeg_FASTER(data, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An object of class eeg_epochs

    ...

    Parameters passed to FASTER

    exclude

    Channels to be ignored by FASTER.

    test_chans

    Logical. Run tests of global channel statistics

    test_epochs

    Logical. Run tests of globally bad epochs.

    test_cine

    Logical. Run tests for locally bad channels within epochs.

    EOG

    names of EOG channels to be used when computed maximum EOG values.

    - -

    Value

    +
    +
    ar_FASTER(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +ar_FASTER(
    +  data,
    +  exclude = NULL,
    +  test_chans = TRUE,
    +  test_epochs = TRUE,
    +  test_cine = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_group'
    +ar_FASTER(
    +  data,
    +  exclude = NULL,
    +  test_chans = TRUE,
    +  test_epochs = TRUE,
    +  test_cine = TRUE,
    +  EOG = NULL,
    +  ...
    +)
    +
    +eeg_FASTER(data, ...)
    +
    -

    An eeg_epochs object with artefact correction applied.

    -

    Methods (by class)

    +
    +

    Arguments

    - -
      -
    • eeg_epochs: Run FASTER on eeg_epochs

    • -
    • eeg_group: Run FASTER on eeg_group objects

    • -
    -

    References

    -

    Nolan, Whelan & Reilly (2010). FASTER: Fully Automated Statistical Thresholding for -EEG artifact Rejection. J Neurosci Methods.

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    ar_FASTER(demo_epochs) -
    #> Globally bad channels:
    #> Globally bad epochs: 26 65
    #> Epoched EEG data -#> -#> Number of channels : 11 -#> Number of epochs : 78 -#> Epoch limits : -0.197 - 0.451 seconds -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Sampling rate : 128 Hz -#> Reference : average
    +
    data
    +

    An object of class eeg_epochs

    + + +
    ...
    +

    Parameters passed to FASTER

    + + +
    exclude
    +

    Channels to be ignored by FASTER.

    + + +
    test_chans
    +

    Logical. Run tests of global channel statistics

    + + +
    test_epochs
    +

    Logical. Run tests of globally bad epochs.

    + + +
    test_cine
    +

    Logical. Run tests for locally bad channels within epochs.

    + + +
    EOG
    +

    names of EOG channels to be used when computed maximum EOG values.

    + +
    +
    +

    Value

    +

    An eeg_epochs object with artefact correction applied.

    +
    +
    +

    Methods (by class)

    + +
    • ar_FASTER(eeg_epochs): Run FASTER on eeg_epochs

    • +
    • ar_FASTER(eeg_group): Run FASTER on eeg_group objects

    • +
    +
    +

    References

    +

    Nolan, Whelan & Reilly (2010). FASTER: Fully Automated +Statistical Thresholding for EEG artifact Rejection. J Neurosci Methods.

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    ar_FASTER(demo_epochs)
    +#> Globally bad channels: 
    +#> Globally bad epochs: 1 26 65
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 77 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/ar_acf-1.png b/docs/dev/reference/ar_acf-1.png index 89591fc7..60d2b3d0 100644 Binary files a/docs/dev/reference/ar_acf-1.png and b/docs/dev/reference/ar_acf-1.png differ diff --git a/docs/dev/reference/ar_acf.eeg_ICA.html b/docs/dev/reference/ar_acf.eeg_ICA.html new file mode 100644 index 00000000..fe0b6139 --- /dev/null +++ b/docs/dev/reference/ar_acf.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/ar_acf.html b/docs/dev/reference/ar_acf.html index 3a747bc8..db44932f 100644 --- a/docs/dev/reference/ar_acf.html +++ b/docs/dev/reference/ar_acf.html @@ -1,70 +1,15 @@ - - - - - - - -Detect low autocorrelation of ICA components — ar_acf • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Detect low autocorrelation of ICA components — ar_acf • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -159,88 +86,98 @@

    Detect low autocorrelation of ICA components

    noise.

    -
    ar_acf(data, ...)
    -
    -# S3 method for eeg_ICA
    -ar_acf(data, ms = 20, plot = TRUE, verbose = TRUE, threshold = NULL, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    eeg_ICA object

    ...

    additional parameters

    ms

    Time lag to check ACF, in milliseconds. Defaults to 20 ms.

    plot

    Produce plot showing ACF and threshold for all EEG components.

    verbose

    Print informative messages. Defaults to TRUE.

    threshold

    Specify a threshold for low ACF. NULL estimates the threshold automatically.

    - -

    Value

    +
    +
    ar_acf(data, ...)
    +
    +# S3 method for class 'eeg_ICA'
    +ar_acf(data, ms = 20, plot = TRUE, verbose = TRUE, threshold = NULL, ...)
    +
    -

    A character vector of component names that break the threshold.

    -

    Methods (by class)

    +
    +

    Arguments

    + + +
    data
    +

    eeg_ICA object

    + + +
    ...
    +

    additional parameters

    + + +
    ms
    +

    Time lag to check ACF, in milliseconds. Defaults to 20 ms.

    + + +
    plot
    +

    Produce plot showing ACF and threshold for all EEG components.

    - -
      -
    • eeg_ICA: Autocorrelation checker for eeg_ICA objects

    • -
    -

    References

    +
    verbose
    +

    Print informative messages. Defaults to TRUE.

    + + +
    threshold
    +

    Specify a threshold for low ACF. NULL estimates the +threshold automatically.

    + +
    +
    +

    Value

    +

    A character vector of component names that break the threshold.

    +
    +
    +

    Methods (by class)

    + +
    • ar_acf(eeg_ICA): Autocorrelation checker for eeg_ICA objects

    • +
    +
    +

    References

    Chaumon, M., Bishop, D.V., Busch, N.A. (2015). A practical guide to the selection of independent components of the electroencephalogram for artifact correction. J Neurosci Methods. Jul 30;250:47-63. doi: 10.1016/j.jneumeth.2015.02.025

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    -

    Examples

    -
    demo_sobi <- run_ICA(demo_epochs, pca = 10) -
    #> Reducing data to 10 dimensions using PCA.
    #> Running SOBI ICA.
    #> Setting tolerance to 0.0011
    ar_acf(demo_sobi) -
    #> Estimating autocorrelation at 20ms lag.
    #> Estimated ACF threshold: -0.16
    #> Subthreshold components:
    #> character(0)
    +
    +

    Examples

    +
    demo_sobi <- run_ICA(demo_epochs, pca = 10)
    +#> Reducing data to 10 dimensions using PCA.
    +#> Running SOBI ICA.
    +#> Setting tolerance to 0.0011
    +ar_acf(demo_sobi)
    +#> Estimating autocorrelation at 20ms lag.
    +#> Estimated ACF threshold: -0.16
    +#> Subthreshold components:  
    +
    +#> character(0)
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/ar_chanfoc-1.png b/docs/dev/reference/ar_chanfoc-1.png index b3bad7b0..cc07353e 100644 Binary files a/docs/dev/reference/ar_chanfoc-1.png and b/docs/dev/reference/ar_chanfoc-1.png differ diff --git a/docs/dev/reference/ar_chanfoc.html b/docs/dev/reference/ar_chanfoc.html index a03d2778..57047631 100644 --- a/docs/dev/reference/ar_chanfoc.html +++ b/docs/dev/reference/ar_chanfoc.html @@ -1,68 +1,13 @@ - - - - - - - -Detect high channel focality of ICA components — ar_chanfoc • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Detect high channel focality of ICA components — ar_chanfoc • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -155,88 +82,97 @@

    Detect high channel focality of ICA components

    that have one particular channel that has a particularly high z-score.

    -
    ar_chanfoc(
    -  data,
    -  plot = TRUE,
    -  threshold = NULL,
    -  verbose = TRUE,
    -  measure = "max",
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    eeg_ICA object

    plot

    Produce plot showing max z-scores and threshold for all ICA -components.

    threshold

    Specify a threshold for high focality. NULL estimates the -threshold automatically.

    verbose

    Print informative messages.

    measure

    Use maximum "max" or "kurtosis".

    ...

    additional parameters

    - -

    Value

    +
    +
    ar_chanfoc(
    +  data,
    +  plot = TRUE,
    +  threshold = NULL,
    +  verbose = TRUE,
    +  measure = "max",
    +  ...
    +)
    +
    -

    A character vector of component names that break the threshold.

    -

    References

    +
    +

    Arguments

    + + +
    data
    +

    An eeg_ICA object

    + + +
    plot
    +

    Produce plot showing max z-scores and threshold for all ICA +components.

    + + +
    threshold
    +

    Specify a threshold for high focality. NULL estimates the +threshold automatically.

    + + +
    verbose
    +

    Print informative messages.

    + +
    measure
    +

    Use maximum "max" or "kurtosis".

    + + +
    ...
    +

    additional parameters

    + +
    +
    +

    Value

    +

    A character vector of component names that break the threshold.

    +
    +
    +

    References

    Chaumon, M., Bishop, D.V., Busch, N.A. (2015). A practical guide to the selection of independent components of the electroencephalogram for artifact correction. J Neurosci Methods. Jul 30;250:47-63. doi: 10.1016/j.jneumeth.2015.02.025

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    -

    Examples

    -
    demo_sobi <- run_ICA(demo_epochs, pca = 10) -
    #> Reducing data to 10 dimensions using PCA.
    #> Running SOBI ICA.
    #> Setting tolerance to 0.0011
    ar_chanfoc(demo_sobi) -
    #> Estimated threshold: 2.95
    #> Components with high channel focality:
    #> character(0)
    +
    +

    Examples

    +
    demo_sobi <- run_ICA(demo_epochs, pca = 10)
    +#> Reducing data to 10 dimensions using PCA.
    +#> Running SOBI ICA.
    +#> Setting tolerance to 0.0011
    +ar_chanfoc(demo_sobi)
    +#> Estimated threshold: 2.95
    +#> Components with high channel focality:  
    +
    +#> character(0)
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/ar_eogcor.eeg_ICA.html b/docs/dev/reference/ar_eogcor.eeg_ICA.html new file mode 100644 index 00000000..915cf7e1 --- /dev/null +++ b/docs/dev/reference/ar_eogcor.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/ar_eogcor.html b/docs/dev/reference/ar_eogcor.html index bf8da75e..d7dddd25 100644 --- a/docs/dev/reference/ar_eogcor.html +++ b/docs/dev/reference/ar_eogcor.html @@ -1,68 +1,13 @@ - - - - - - - -Detect high component correlation with eye channels — ar_eogcor • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Detect high component correlation with eye channels — ar_eogcor • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,102 +82,112 @@

    Detect high component correlation with eye channels

    decomposition and the electrooculogram channels of an eeg_epochs dataset.

    -
    ar_eogcor(decomp, data, ...)
    -
    -# S3 method for eeg_ICA
    -ar_eogcor(
    -  decomp,
    -  data,
    -  HEOG,
    -  VEOG,
    -  threshold = NULL,
    -  plot = TRUE,
    -  bipolarize = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    decomp

    ICA decomposition

    data

    Original data

    ...

    Other parameters

    HEOG

    Horizontal eye channels

    VEOG

    Vertical eye channels

    threshold

    Threshold for correlation (r). Defaults to NULL, -automatically determining a threshold.

    plot

    Plot correlation coefficient for all components

    bipolarize

    Bipolarize the HEOG and VEOG channels?

    - -

    Value

    +
    +
    ar_eogcor(decomp, data, ...)
    +
    +# S3 method for class 'eeg_ICA'
    +ar_eogcor(
    +  decomp,
    +  data,
    +  HEOG,
    +  VEOG,
    +  threshold = NULL,
    +  plot = TRUE,
    +  bipolarize = TRUE,
    +  method = c("pearson", "kendall", "spearman"),
    +  verbose = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    decomp
    +

    An eeg_ica object

    + + +
    data
    +

    The original eeg_epochs object from which this decomposition +was derived

    + + +
    ...
    +

    Other parameters

    + + +
    HEOG
    +

    Horizontal eye channels

    + + +
    VEOG
    +

    Vertical eye channels

    + + +
    threshold
    +

    Threshold for correlation (r). Defaults to NULL, +automatically determining a threshold.

    -

    A character vector of component names that break the threshold.

    -

    Methods (by class)

    - -
      -
    • eeg_ICA: Method for eeg_ICA objects.

    • -
    -

    References

    +
    plot
    +

    Plot correlation coefficient for all components

    + +
    bipolarize
    +

    Bipolarize the HEOG and VEOG channels?

    + + +
    method
    +

    Correlation method. Defaults to Pearson.

    + + +
    verbose
    +

    Print informative messages. Defaults to TRUE.

    + +
    +
    +

    Value

    +

    A character vector of component names that break the threshold.

    +
    +
    +

    Methods (by class)

    + +
    • ar_eogcor(eeg_ICA): Method for eeg_ICA objects.

    • +
    +
    +

    References

    Chaumon, M., Bishop, D.V., Busch, N.A. (2015). A practical guide to the selection of independent components of the electroencephalogram for artifact correction. J Neurosci Methods. Jul 30;250:47-63. doi: 10.1016/j.jneumeth.2015.02.025

    -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/ar_eogreg.eeg_data.html b/docs/dev/reference/ar_eogreg.eeg_data.html new file mode 100644 index 00000000..0a182ef0 --- /dev/null +++ b/docs/dev/reference/ar_eogreg.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/ar_eogreg.eeg_epochs.html b/docs/dev/reference/ar_eogreg.eeg_epochs.html new file mode 100644 index 00000000..0a182ef0 --- /dev/null +++ b/docs/dev/reference/ar_eogreg.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/ar_eogreg.html b/docs/dev/reference/ar_eogreg.html index 656eeb5a..7a0a4db4 100644 --- a/docs/dev/reference/ar_eogreg.html +++ b/docs/dev/reference/ar_eogreg.html @@ -1,70 +1,15 @@ - - - - - - - -Remove EOG using regression — ar_eogreg • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Remove EOG using regression — ar_eogreg • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -159,69 +86,68 @@

    Remove EOG using regression

    movements are responsible for across all channels.

    -
    ar_eogreg(data, heog, veog, bipolarize = TRUE)
    -
    -# S3 method for eeg_data
    -ar_eogreg(data, heog, veog, bipolarize = TRUE)
    -
    -# S3 method for eeg_epochs
    -ar_eogreg(data, heog, veog, bipolarize = TRUE)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    Data to regress - eeg_data or eeg_epochs

    heog

    Horizontal EOG channel labels

    veog

    Vertical EOG channel labels

    bipolarize

    Bipolarize the EOG channels. Only works when four channels -are supplied (2 HEOG and 2 VEOG).

    - -

    Value

    +
    +
    ar_eogreg(data, heog, veog, bipolarize = TRUE)
    +
    +# S3 method for class 'eeg_data'
    +ar_eogreg(data, heog, veog, bipolarize = TRUE)
    +
    +# S3 method for class 'eeg_epochs'
    +ar_eogreg(data, heog, veog, bipolarize = TRUE)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Data to regress - eeg_data or eeg_epochs

    + +
    heog
    +

    Horizontal EOG channel labels

    + + +
    veog
    +

    Vertical EOG channel labels

    + + +
    bipolarize
    +

    Bipolarize the EOG channels. Only works when four channels +are supplied (2 HEOG and 2 VEOG).

    + +
    +
    +

    Value

    An eeg_data or eeg_epochs object with corrections applied.

    -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/ar_thresh.eeg_data.html b/docs/dev/reference/ar_thresh.eeg_data.html new file mode 100644 index 00000000..67944755 --- /dev/null +++ b/docs/dev/reference/ar_thresh.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/ar_thresh.eeg_epochs.html b/docs/dev/reference/ar_thresh.eeg_epochs.html new file mode 100644 index 00000000..67944755 --- /dev/null +++ b/docs/dev/reference/ar_thresh.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/ar_thresh.html b/docs/dev/reference/ar_thresh.html index 13e2a493..a462e573 100644 --- a/docs/dev/reference/ar_thresh.html +++ b/docs/dev/reference/ar_thresh.html @@ -1,68 +1,13 @@ - - - - - - - -Simple absolute value thresholding — ar_thresh • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Simple absolute value thresholding — ar_thresh • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -155,82 +82,86 @@

    Simple absolute value thresholding

    timepoint from any electrode.

    -
    ar_thresh(data, threshold, reject = FALSE)
    -
    -# S3 method for eeg_data
    -ar_thresh(data, threshold, reject = FALSE)
    -
    -# S3 method for eeg_epochs
    -ar_thresh(data, threshold, reject = FALSE)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    An object of class eeg_data or eeg_epochs.

    threshold

    In microvolts. If one value is supplied, it will be treated -as a +- value.

    reject

    If TRUE, remove marked data immediately, otherwise mark for -inspection/rejection. Defaults to FALSE.

    - -

    Value

    +
    +
    ar_thresh(data, threshold, reject = FALSE)
    +
    +# S3 method for class 'eeg_data'
    +ar_thresh(data, threshold, reject = FALSE)
    +
    +# S3 method for class 'eeg_epochs'
    +ar_thresh(data, threshold, reject = FALSE)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An object of class eeg_data or eeg_epochs.

    + +
    threshold
    +

    In microvolts. If one value is supplied, it will be treated +as a +- value.

    + + +
    reject
    +

    If TRUE, remove marked data immediately, otherwise mark for +inspection/rejection. Defaults to FALSE.

    + +
    +
    +

    Value

    An object of class eeg_data or eeg_epochs

    -

    Methods (by class)

    - - -
      -
    • eeg_data: Reject data using a simple threshold.

    • -
    • eeg_epochs: Reject data using a simple threshold.

    • -
    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    ar_thresh(demo_epochs, c(100)) -
    #> 0 (0%) samples above 100 uV threshold.
    #> 0 (0%) samples below -100 uV threshold.
    #> 0 epochs contain samples above threshold.
    #> Epoched EEG data -#> -#> Number of channels : 11 -#> Number of epochs : 80 -#> Epoch limits : -0.197 - 0.451 seconds -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Sampling rate : 128 Hz -#> Reference : average
    +
    +
    +

    Methods (by class)

    + +
    • ar_thresh(eeg_data): Reject data using a simple threshold.

    • +
    • ar_thresh(eeg_epochs): Reject data using a simple threshold.

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    ar_thresh(demo_epochs, c(100))
    +#> 0 (0%) samples above 100 uV threshold.
    +#> 0 (0%) samples below -100 uV threshold.
    +#> No epochs contain samples above threshold.
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/ar_trialfoc-1.png b/docs/dev/reference/ar_trialfoc-1.png index d5055781..135f2d68 100644 Binary files a/docs/dev/reference/ar_trialfoc-1.png and b/docs/dev/reference/ar_trialfoc-1.png differ diff --git a/docs/dev/reference/ar_trialfoc.html b/docs/dev/reference/ar_trialfoc.html index edba9604..ce0711d8 100644 --- a/docs/dev/reference/ar_trialfoc.html +++ b/docs/dev/reference/ar_trialfoc.html @@ -1,69 +1,14 @@ - - - - - - - -Detect high trial focality of ICA components — ar_trialfoc • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Detect high trial focality of ICA components — ar_trialfoc • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,73 +84,82 @@

    Detect high trial focality of ICA components

    z-score.

    -
    ar_trialfoc(data, plot = TRUE, threshold = NULL, verbose = TRUE)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    eeg_ICA object

    plot

    Produce plot showing max z-scores and threshold for all ICA -components.

    threshold

    Specify a threshold (z-score) for high focality. NULL -estimates the threshold automatically.

    verbose

    Print informative messages.

    - -

    Value

    +
    +
    ar_trialfoc(data, plot = TRUE, threshold = NULL, verbose = TRUE)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    eeg_ICA object

    + + +
    plot
    +

    Produce plot showing max z-scores and threshold for all ICA +components.

    -

    A character vector of component names that break the threshold.

    -

    References

    +
    threshold
    +

    Specify a threshold (z-score) for high focality. NULL +estimates the threshold automatically.

    + + +
    verbose
    +

    Print informative messages.

    + +
    +
    +

    Value

    +

    A character vector of component names that break the threshold.

    +
    +
    +

    References

    Chaumon, M., Bishop, D.V., Busch, N.A. (2015). A practical guide to the selection of independent components of the electroencephalogram for artifact correction. J Neurosci Methods. Jul 30;250:47-63. doi: 10.1016/j.jneumeth.2015.02.025

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    -

    Examples

    -
    demo_sobi <- run_ICA(demo_epochs, pca = 10) -
    #> Reducing data to 10 dimensions using PCA.
    #> Running SOBI ICA.
    #> Setting tolerance to 0.0011
    ar_trialfoc(demo_sobi) -
    #> Estimated trial focality threshold (z): 6.41
    #> [1] "Comp009"
    +
    +

    Examples

    +
    demo_sobi <- run_ICA(demo_epochs, pca = 10)
    +#> Reducing data to 10 dimensions using PCA.
    +#> Running SOBI ICA.
    +#> Setting tolerance to 0.0011
    +ar_trialfoc(demo_sobi)
    +#> Estimated trial focality threshold (z): 6.41
    +#> Components with high trial focality: Comp009 
    +
    +#> [1] "Comp009"
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/arrange_chans.html b/docs/dev/reference/arrange_chans.html index 60266ea5..e124d8ff 100644 --- a/docs/dev/reference/arrange_chans.html +++ b/docs/dev/reference/arrange_chans.html @@ -1,68 +1,13 @@ - - - - - - - -Topographical channel ordering — arrange_chans • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Topographical channel ordering — arrange_chans • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -155,53 +82,52 @@

    Topographical channel ordering

    to posterior).

    -
    arrange_chans(chan_info, sig_names)
    +
    +
    arrange_chans(chan_info, sig_names)
    +
    -

    Arguments

    - - - - - - - - - - -
    chan_info

    channel info structure

    sig_names

    names of signals in the data

    +
    +

    Arguments

    -

    Value

    -

    Vector of channel positions

    -

    Author

    +
    chan_info
    +

    channel info structure

    + -

    Matt Craddock, matt@mattcraddock.com

    +
    sig_names
    +

    names of signals in the data

    + +
    +
    +

    Value

    +

    Vector of channel positions

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/as.data.frame.eeg_ICA.html b/docs/dev/reference/as.data.frame.eeg_ICA.html index 42e3a719..ca934159 100644 --- a/docs/dev/reference/as.data.frame.eeg_ICA.html +++ b/docs/dev/reference/as.data.frame.eeg_ICA.html @@ -1,67 +1,12 @@ - - - - - - - -Convert eeg_ICA object to data frame — as.data.frame.eeg_ICA • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert eeg_ICA object to data frame — as.data.frame.eeg_ICA • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,84 +80,82 @@

    Convert eeg_ICA object to data frame

    Convert eeg_ICA object to data frame

    -
    # S3 method for eeg_ICA
    -as.data.frame(
    -  x,
    -  row.names = NULL,
    -  optional = FALSE,
    -  long = FALSE,
    -  cond_labels,
    -  mixing = FALSE,
    -  coords = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    x

    Object of class eeg_ICA

    row.names

    Kept for compatability with S3 generic, ignored.

    optional

    Kept for compatability with S3 generic, ignored.

    long

    Convert to long format. Defaults to FALSE

    cond_labels

    add condition labels to data frame. Deprecated.

    mixing

    If TRUE, outputs the mixing matrix. If FALSE, outputs source activations.

    coords

    Adds electrode coordinates if TRUE; only if long data and the mixing matrix are requested.

    ...

    arguments for other as.data.frame commands

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    # S3 method for class 'eeg_ICA'
    +as.data.frame(
    +  x,
    +  row.names = NULL,
    +  optional = FALSE,
    +  long = FALSE,
    +  cond_labels,
    +  mixing = FALSE,
    +  coords = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    Object of class eeg_ICA

    + + +
    row.names
    +

    Kept for compatibility with S3 generic, ignored.

    + + +
    optional
    +

    Kept for compatibility with S3 generic, ignored.

    + + +
    long
    +

    Convert to long format. Defaults to FALSE

    + + +
    cond_labels
    +

    add condition labels to data frame. Deprecated.

    + + +
    mixing
    +

    If TRUE, outputs the mixing matrix. If FALSE, outputs source activations.

    + + +
    coords
    +

    Adds electrode coordinates if TRUE; only if long data and the mixing matrix are requested.

    + + +
    ...
    +

    arguments for other as.data.frame commands

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/as.data.frame.eeg_data.html b/docs/dev/reference/as.data.frame.eeg_data.html index c23ce89d..70bf267f 100644 --- a/docs/dev/reference/as.data.frame.eeg_data.html +++ b/docs/dev/reference/as.data.frame.eeg_data.html @@ -1,67 +1,12 @@ - - - - - - - -Convert eeg_data to data.frame — as.data.frame.eeg_data • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert eeg_data to data.frame — as.data.frame.eeg_data • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,80 +80,78 @@

    Convert eeg_data to data.frame

    Convert an object of class eeg_data into a standard data.frame.

    -
    # S3 method for eeg_data
    -as.data.frame(
    -  x,
    -  row.names = NULL,
    -  optional = FALSE,
    -  long = FALSE,
    -  events = FALSE,
    -  coords = FALSE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    x

    Object of class eeg_data

    row.names

    Kept for compatibility with S3 generic, ignored.

    optional

    Kept for compatibility with S3 generic, ignored.

    long

    Convert to long format. Defaults to FALSE

    events

    Include events in output.

    coords

    Include electrode coordinates in output. Only possible when -long = TRUE.

    ...

    arguments for other as.data.frame commands

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    # S3 method for class 'eeg_data'
    +as.data.frame(
    +  x,
    +  row.names = NULL,
    +  optional = FALSE,
    +  long = FALSE,
    +  events = FALSE,
    +  coords = FALSE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    Object of class eeg_data

    + + +
    row.names
    +

    Kept for compatibility with S3 generic, ignored.

    + + +
    optional
    +

    Kept for compatibility with S3 generic, ignored.

    + + +
    long
    +

    Convert to long format. Defaults to FALSE

    + + +
    events
    +

    Include events in output.

    + + +
    coords
    +

    Include electrode coordinates in output. Only possible when +long = TRUE.

    + + +
    ...
    +

    arguments for other as.data.frame commands

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/as.data.frame.eeg_epochs.html b/docs/dev/reference/as.data.frame.eeg_epochs.html index 2b0d59cb..a5e753d1 100644 --- a/docs/dev/reference/as.data.frame.eeg_epochs.html +++ b/docs/dev/reference/as.data.frame.eeg_epochs.html @@ -1,68 +1,13 @@ - - - - - - - -Convert eeg_epochs object to data.frame — as.data.frame.eeg_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert eeg_epochs object to data.frame — as.data.frame.eeg_epochs • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -155,86 +82,84 @@

    Convert eeg_epochs object to data.frame

    packages you desire.

    -
    # S3 method for eeg_epochs
    -as.data.frame(
    -  x,
    -  row.names = NULL,
    -  optional = FALSE,
    -  long = FALSE,
    -  events = FALSE,
    -  cond_labels,
    -  coords = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    x

    Object of class eeg_epochs

    row.names

    Kept for compatability with S3 generic, ignored.

    optional

    Kept for compatability with S3 generic, ignored.

    long

    Convert to long format. Defaults to FALSE.

    events

    Include events in output. Defaults to FALSE. Currently ignored.

    cond_labels

    Add column tagging epochs with events that have matching +

    +
    # S3 method for class 'eeg_epochs'
    +as.data.frame(
    +  x,
    +  row.names = NULL,
    +  optional = FALSE,
    +  long = FALSE,
    +  events = FALSE,
    +  cond_labels,
    +  coords = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    Object of class eeg_epochs

    + + +
    row.names
    +

    Kept for compatability with S3 generic, ignored.

    + + +
    optional
    +

    Kept for compatability with S3 generic, ignored.

    + + +
    long
    +

    Convert to long format. Defaults to FALSE.

    + + +
    events
    +

    Include events in output. Defaults to FALSE. Currently ignored.

    + + +
    cond_labels
    +

    Add column tagging epochs with events that have matching labels. Deprecated. Metainfo from the epochs structure is now added -automatically.

    coords

    Include electrode coordinates in output. Ignored if long == FALSE.

    ...

    arguments for other as.data.frame commands

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +automatically.

    + + +
    coords
    +

    Include electrode coordinates in output. Ignored if long == FALSE.

    + + +
    ...
    +

    arguments for other as.data.frame commands

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/as.data.frame.eeg_evoked.html b/docs/dev/reference/as.data.frame.eeg_evoked.html index 18f3dbd1..9a253272 100644 --- a/docs/dev/reference/as.data.frame.eeg_evoked.html +++ b/docs/dev/reference/as.data.frame.eeg_evoked.html @@ -1,67 +1,12 @@ - - - - - - - -Convert eeg_evoked object to data frame — as.data.frame.eeg_evoked • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert eeg_evoked object to data frame — as.data.frame.eeg_evoked • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,74 +80,72 @@

    Convert eeg_evoked object to data frame

    Convert eeg_evoked object to data frame

    -
    # S3 method for eeg_evoked
    -as.data.frame(
    -  x,
    -  row.names = NULL,
    -  optional = FALSE,
    -  long = FALSE,
    -  coords = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    x

    Object of class eeg_evoked

    row.names

    Kept for compatability with S3 generic, ignored.

    optional

    Kept for compatability with S3 generic, ignored.

    long

    Convert to long format. Defaults to FALSE

    coords

    include electrode coordinates in output. Ignored if long = FALSE.

    ...

    arguments for other as.data.frame commands

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    # S3 method for class 'eeg_evoked'
    +as.data.frame(
    +  x,
    +  row.names = NULL,
    +  optional = FALSE,
    +  long = FALSE,
    +  coords = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    Object of class eeg_evoked

    + + +
    row.names
    +

    Kept for compatability with S3 generic, ignored.

    + + +
    optional
    +

    Kept for compatability with S3 generic, ignored.

    + + +
    long
    +

    Convert to long format. Defaults to FALSE

    + + +
    coords
    +

    include electrode coordinates in output. Ignored if long = FALSE.

    + + +
    ...
    +

    arguments for other as.data.frame commands

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/as.data.frame.eeg_lm.html b/docs/dev/reference/as.data.frame.eeg_lm.html index c4846bc9..b15b49bf 100644 --- a/docs/dev/reference/as.data.frame.eeg_lm.html +++ b/docs/dev/reference/as.data.frame.eeg_lm.html @@ -1,67 +1,12 @@ - - - - - - - -Convert eeg_lm to data.frame — as.data.frame.eeg_lm • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert eeg_lm to data.frame — as.data.frame.eeg_lm • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,80 +80,78 @@

    Convert eeg_lm to data.frame

    Convert an object of class eeg_data into a standard data.frame.

    -
    # S3 method for eeg_lm
    -as.data.frame(
    -  x,
    -  row.names = NULL,
    -  optional = FALSE,
    -  long = FALSE,
    -  coords = TRUE,
    -  values = c("coefficients", "std_err", "t_stats", "r_sq"),
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    x

    Object of class eeg_data

    row.names

    Kept for compatibility with S3 generic, ignored.

    optional

    Kept for compatibility with S3 generic, ignored.

    long

    Convert to long format. Defaults to FALSE.

    coords

    Include electrode coordinates in output. Only possible when -long = TRUE.

    values

    Defaults to "coefficients", returning fitted coefficient values.

    ...

    arguments for other as.data.frame commands

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    # S3 method for class 'eeg_lm'
    +as.data.frame(
    +  x,
    +  row.names = NULL,
    +  optional = FALSE,
    +  long = FALSE,
    +  coords = TRUE,
    +  values = c("coefficients", "std_err", "t_stats", "r_sq"),
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    Object of class eeg_lm

    + + +
    row.names
    +

    Kept for compatibility with S3 generic, ignored.

    + + +
    optional
    +

    Kept for compatibility with S3 generic, ignored.

    + + +
    long
    +

    Convert to long format. Defaults to FALSE.

    + + +
    coords
    +

    Include electrode coordinates in output. Only possible when +long = TRUE.

    + + +
    values
    +

    Defaults to "coefficients", returning fitted coefficient values.

    + + +
    ...
    +

    arguments for other as.data.frame commands

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/as.data.frame.eeg_stats.html b/docs/dev/reference/as.data.frame.eeg_stats.html index b515306e..a65fce2a 100644 --- a/docs/dev/reference/as.data.frame.eeg_stats.html +++ b/docs/dev/reference/as.data.frame.eeg_stats.html @@ -1,67 +1,12 @@ - - - - - - - -Convert eeg_stats objects to data frames — as.data.frame.eeg_stats • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert eeg_stats objects to data frames — as.data.frame.eeg_stats • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,74 +80,72 @@

    Convert eeg_stats objects to data frames

    Convert eeg_stats objects to data frames

    -
    # S3 method for eeg_stats
    -as.data.frame(
    -  x,
    -  row.names = NULL,
    -  optional = FALSE,
    -  long = FALSE,
    -  coords = FALSE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    x

    Object of class eeg_stats

    row.names

    Kept for compatability with S3 generic, ignored.

    optional

    Kept for compatability with S3 generic, ignored.

    long

    Convert to long format. Defaults to FALSE.

    coords

    Include electrode coordinates in output (ignored if long = FALSE)

    ...

    arguments for other as.data.frame commands

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    # S3 method for class 'eeg_stats'
    +as.data.frame(
    +  x,
    +  row.names = NULL,
    +  optional = FALSE,
    +  long = FALSE,
    +  coords = FALSE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    Object of class eeg_stats

    + + +
    row.names
    +

    Kept for compatability with S3 generic, ignored.

    + + +
    optional
    +

    Kept for compatability with S3 generic, ignored.

    + + +
    long
    +

    Convert to long format. Defaults to FALSE.

    + + +
    coords
    +

    Include electrode coordinates in output (ignored if long = FALSE)

    + + +
    ...
    +

    arguments for other as.data.frame commands

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/as.data.frame.eeg_tfr.html b/docs/dev/reference/as.data.frame.eeg_tfr.html index 94624fd7..b18b0d3a 100644 --- a/docs/dev/reference/as.data.frame.eeg_tfr.html +++ b/docs/dev/reference/as.data.frame.eeg_tfr.html @@ -1,67 +1,12 @@ - - - - - - - -Convert eeg_tfr objects to data frames — as.data.frame.eeg_tfr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert eeg_tfr objects to a data.frame — as.data.frame.eeg_tfr • eegUtils - + - - -
    -
    - - -
    -
    +
    -

    Convert eeg_tfr objects to data frames

    +

    Convert eeg_tfr objects to a data.frame

    -
    # S3 method for eeg_tfr
    -as.data.frame(x, row.names = NULL, optional = FALSE, long = FALSE, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    x

    Object of class eeg_tfr

    row.names

    Kept for compatability with S3 generic, ignored.

    optional

    Kept for compatability with S3 generic, ignored.

    long

    Convert to long format. Defaults to FALSE.

    ...

    arguments for other as.data.frame commands

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    # S3 method for class 'eeg_tfr'
    +as.data.frame(x, row.names = NULL, optional = FALSE, long = FALSE, ...)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    Object of class eeg_tfr

    + + +
    row.names
    +

    Kept for compatability with S3 generic, ignored.

    + + +
    optional
    +

    Kept for compatability with S3 generic, ignored.

    + + +
    long
    +

    Convert to long format. Defaults to FALSE.

    + + +
    ...
    +

    arguments for other as.data.frame commands

    + +
    +
    +

    Value

    +

    A data.frame or tibble

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/average_tf.html b/docs/dev/reference/average_tf.html index aacfa3e2..286a5825 100644 --- a/docs/dev/reference/average_tf.html +++ b/docs/dev/reference/average_tf.html @@ -1,67 +1,12 @@ - - - - - - - -Internal function for averaging over epochs for eeg_tfr objects. — average_tf • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Internal function for averaging over epochs for eeg_tfr objects. — average_tf • eegUtils - - + - -
    -
    - - -
    -
    +
    -

    Internal function for averaging over epochs for eeg_tfr objects.

    +

    Internal function for averaging over epochs for eeg_tfr objects.

    -
    average_tf(data, cols = NULL)
    +
    +
    average_tf(data, cols = NULL, weighted, verbose)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - -
    data

    data to average over

    +
    data
    +

    data to average over

    +
    weighted
    +

    Calculate weighted means if TRUE (if possible!)

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/browse_data.eeg_ICA.html b/docs/dev/reference/browse_data.eeg_ICA.html new file mode 100644 index 00000000..795cb012 --- /dev/null +++ b/docs/dev/reference/browse_data.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/browse_data.eeg_data.html b/docs/dev/reference/browse_data.eeg_data.html new file mode 100644 index 00000000..795cb012 --- /dev/null +++ b/docs/dev/reference/browse_data.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/browse_data.eeg_epochs.html b/docs/dev/reference/browse_data.eeg_epochs.html new file mode 100644 index 00000000..795cb012 --- /dev/null +++ b/docs/dev/reference/browse_data.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/browse_data.html b/docs/dev/reference/browse_data.html index 67bf1251..8e8c74ba 100644 --- a/docs/dev/reference/browse_data.html +++ b/docs/dev/reference/browse_data.html @@ -1,71 +1,17 @@ - - - - - - - -Browse EEG data. — browse_data • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Browse EEG data — browse_data • eegUtils + - - - -
    -
    - - -
    -
    +

    A Shiny gadget for browsing EEG data and ICA decompositions interactively. With EEG data (epoched or continuous), data can be viewed as a butterfly plot -(all electrodes overlaid) or as individual traces (electrodes "stacked"). -Currently, the scale cannot be manually set and is determined by the range of -the viewable data. With

    +(all electrodes overlaid) or as individual traces (electrodes "stacked"). For +eeg_ICA objects, you will instead be shown a composite of multiple +properties of the decomposition - a topography, an ERP image, an ERP, and a +power spectral density plot from 4-50 Hz.

    -
    browse_data(data, ...)
    -
    -# S3 method for eeg_ICA
    -browse_data(data, ...)
    -
    -# S3 method for eeg_data
    -browse_data(data, sig_length = 5, n_elecs = NULL, downsample = TRUE, ...)
    -
    -# S3 method for eeg_epochs
    -browse_data(data, sig_length = 5, n_elecs = NULL, downsample = FALSE, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    data

    eeg_data, eeg_epochs, or eeg_ICA object to be -plotted.

    ...

    Other parameters passed to browsing functions.

    sig_length

    Length of signal to be plotted initially (seconds if -continuous, epochs if epoched).

    n_elecs

    Number of electrodes to be plotted on a single screen. (not yet -implemented)

    downsample

    Only works on eeg_data or eeg_epochs objects. -Reduces size of data by only plotting every 4th point, speeding up plotting -considerably. Defaults to TRUE for eeg_data, FALSE for eeg_epochs

    +
    +
    browse_data(data, ...)
    +
    +# S3 method for class 'eeg_ICA'
    +browse_data(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +browse_data(data, sig_length = 5, downsample = TRUE, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +browse_data(data, sig_length = 5, downsample = FALSE, ...)
    +
    + +
    +

    Arguments

    + -

    Methods (by class)

    +
    data
    +

    eeg_data, eeg_epochs, or eeg_ICA object to be plotted.

    - -
      -
    • eeg_ICA: View eeg_ICA component properties

    • -
    • eeg_data: Browse continuous EEG data.

    • -
    • eeg_epochs: Browse epoched EEG data.

    • -
    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    ...
    +

    Other parameters passed to browsing functions.

    + + +
    sig_length
    +

    Length of signal to be plotted initially (seconds if +continuous, epochs if epoched).

    + + +
    downsample
    +

    Only works on eeg_data or eeg_epochs objects. +Reduces size of data by only plotting every 4th point, speeding up plotting +considerably. Defaults to TRUE for eeg_data, FALSE for eeg_epochs

    + +
    +
    +

    Value

    +

    A character vector of component names selected for rejection.

    +
    +
    +

    Methods (by class)

    + +
    • browse_data(eeg_ICA): View eeg_ICA component properties

    • +
    • browse_data(eeg_data): Browse continuous EEG data.

    • +
    • browse_data(eeg_epochs): Browse epoched EEG data.

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/bva_elecs.html b/docs/dev/reference/bva_elecs.html index c502ca87..50d84122 100644 --- a/docs/dev/reference/bva_elecs.html +++ b/docs/dev/reference/bva_elecs.html @@ -1,68 +1,13 @@ - - - - - - - -Convert BVA spherical locations — bva_elecs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert BVA spherical locations — bva_elecs • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,47 +82,44 @@

    Convert BVA spherical locations

    Cartesian 3D and 2D projections.

    -
    bva_elecs(chan_info, radius = 85)
    +
    +
    bva_elecs(chan_info, radius = 85)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    chan_info

    A data.frame containing electrodes

    radius

    Head radius in millimetres

    +
    chan_info
    +

    A data.frame containing electrodes

    +
    radius
    +

    Head radius in millimetres

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/calc_max_elec.html b/docs/dev/reference/calc_max_elec.html index d485e088..d2485992 100644 --- a/docs/dev/reference/calc_max_elec.html +++ b/docs/dev/reference/calc_max_elec.html @@ -1,67 +1,12 @@ - - - - - - - -Calculate maximum electrode distance from origin. — calc_max_elec • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate maximum electrode distance from origin. — calc_max_elec • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,35 +80,32 @@

    Calculate maximum electrode distance from origin.

    Calculate maximum electrode distance from origin.

    -
    calc_max_elec(data)
    - +
    +
    calc_max_elec(data)
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/calculate_sem.html b/docs/dev/reference/calculate_sem.html new file mode 100644 index 00000000..b9626cc4 --- /dev/null +++ b/docs/dev/reference/calculate_sem.html @@ -0,0 +1,127 @@ + +Calculate the standard error of the mean — calculate_sem • eegUtils + + +
    +
    + + + +
    +
    + + +
    +

    Calculate the standard error of the mean

    +
    + +
    +
    calculate_sem(data, time_lim = NULL, conditions = NULL)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eegUtils object

    + + +
    time_lim
    +

    A vector of time-points to calculate SEM over.

    + + +
    conditions
    +

    Split the calculation across multiple conditions

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.1.0.

    +
    + +
    + + + + + + + + diff --git a/docs/dev/reference/cart_to_spherical.html b/docs/dev/reference/cart_to_spherical.html index 8e0581a2..12e11d8e 100644 --- a/docs/dev/reference/cart_to_spherical.html +++ b/docs/dev/reference/cart_to_spherical.html @@ -1,67 +1,12 @@ - - - - - - - -Convert 3D Cartesian coordinates to spherical coordinates — cart_to_spherical • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert 3D Cartesian coordinates to spherical coordinates — cart_to_spherical • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Convert 3D Cartesian coordinates to spherical coordinates

    Output theta and phi are in degrees.

    -
    cart_to_spherical(xyz_coords)
    +
    +
    cart_to_spherical(xyz_coords)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    xyz_coords

    3D Cartesian electrode locations

    +
    xyz_coords
    +

    3D Cartesian electrode locations

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/channel_names.html b/docs/dev/reference/channel_names.html index c0b6d8dc..0a5f9626 100644 --- a/docs/dev/reference/channel_names.html +++ b/docs/dev/reference/channel_names.html @@ -1,67 +1,12 @@ - - - - - - - -Retrieve signal/channel names — channel_names • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Retrieve signal/channel names — channel_names • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,47 @@

    Retrieve signal/channel names

    Get the names of the signals element of eegUtils objects.

    -
    channel_names(.data)
    +
    +
    channel_names(.data)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - -
    .data

    eegUtils object

    +
    .data
    +

    eegUtils object

    +
    -

    Examples

    -
    channel_names(demo_epochs) -
    #> [1] "A5" "A13" "A21" "A29" "A31" "B5" "B6" "B8" "B16" "B18" "B26"
    -
    +
    +

    Examples

    +
    channel_names(demo_epochs)
    +#>  [1] "A5"  "A13" "A21" "A29" "A31" "B5"  "B6"  "B8"  "B16" "B18" "B26"
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/channel_stats.eeg_data.html b/docs/dev/reference/channel_stats.eeg_data.html new file mode 100644 index 00000000..d1905e78 --- /dev/null +++ b/docs/dev/reference/channel_stats.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/channel_stats.html b/docs/dev/reference/channel_stats.html index 6feebae8..742e89e2 100644 --- a/docs/dev/reference/channel_stats.html +++ b/docs/dev/reference/channel_stats.html @@ -1,67 +1,12 @@ - - - - - - - -Channel statistics — channel_stats • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Channel statistics — channel_stats • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,77 +80,78 @@

    Channel statistics

    Channel statistics

    -
    channel_stats(data, ...)
    +    
    +
    channel_stats(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +channel_stats(data, ...)
    +
    + +
    +

    Arguments

    + -# S3 method for eeg_data -channel_stats(data, ...)
    +
    data
    +

    An eeg_data or eeg_epochs object.

    -

    Arguments

    - - - - - - - - - - -
    data

    Data as a eeg_data or eeg_epochs object.

    ...

    Other parameters passed to the functions.

    -

    Value

    +
    ...
    +

    Other parameters passed to the functions.

    +
    +
    +

    Value

    A data frame with statistics for each channel.

    -

    Methods (by class)

    +
    +
    +

    Methods (by class)

    - -
      -
    • eeg_data: Calculate channel statistics for eeg_data +

      • channel_stats(eeg_data): Calculate channel statistics for eeg_data objects.

      • -
      -

      Author

      - -

      Matt Craddock matt@mattcraddock.com

      - -

      Examples

      -
      channel_stats(demo_epochs) -
      #> electrode means sds variance kurtosis minmax -#> A5 A5 -2.0201400 5.872054 34.48102 0.8110859 55.99172 -#> A13 A13 -0.7884497 3.922905 15.38918 0.8728392 39.18374 -#> A21 A21 3.2864957 6.088564 37.07061 1.4236771 68.28431 -#> A29 A29 4.1693878 7.781989 60.55936 0.1267196 57.26694 -#> A31 A31 1.0943630 5.607857 31.44806 0.8183168 47.41699 -#> B5 B5 -2.1856578 7.477209 55.90865 1.0617711 73.42224 -#> B6 B6 -2.8632122 5.963742 35.56622 0.3695797 46.77692 -#> B8 B8 -1.6502435 6.782543 46.00289 0.9660805 66.80369 -#> B16 B16 -1.4560545 5.200351 27.04365 2.0987794 51.42989 -#> B18 B18 -0.4696431 5.460927 29.82173 2.3864875 63.04594 -#> B26 B26 2.8831543 6.146965 37.78518 0.7989692 56.77661
      +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    channel_stats(demo_epochs)
    +#>     electrode      means      sds variance  kurtosis   minmax
    +#> A5         A5 -2.0201400 5.872054 34.48102 0.8110859 55.99172
    +#> A13       A13 -0.7884497 3.922905 15.38918 0.8728392 39.18374
    +#> A21       A21  3.2864957 6.088564 37.07061 1.4236771 68.28431
    +#> A29       A29  4.1693878 7.781989 60.55936 0.1267196 57.26694
    +#> A31       A31  1.0943630 5.607857 31.44806 0.8183168 47.41699
    +#> B5         B5 -2.1856578 7.477209 55.90865 1.0617711 73.42224
    +#> B6         B6 -2.8632122 5.963742 35.56622 0.3695797 46.77692
    +#> B8         B8 -1.6502435 6.782543 46.00289 0.9660805 66.80369
    +#> B16       B16 -1.4560545 5.200351 27.04365 2.0987794 51.42989
    +#> B18       B18 -0.4696431 5.460927 29.82173 2.3864875 63.04594
    +#> B26       B26  2.8831543 6.146965 37.78518 0.7989692 56.77661
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/channels.html b/docs/dev/reference/channels.html index d59df9de..3c328d71 100644 --- a/docs/dev/reference/channels.html +++ b/docs/dev/reference/channels.html @@ -1,67 +1,12 @@ - - - - - - - -Modify channel information — channels • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Modify channel information — channels • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,69 +80,70 @@

    Modify channel information

    Get or set the contents of the channel information inside eegUtils objects.

    -
    channels(.data)
    -
    -channels(.data) <- value
    - -

    Arguments

    - - - - - - - - - - -
    .data

    eegUtils object to view

    value

    Value to replace chan_info structure with.

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    channels(demo_epochs) -
    #> # A tibble: 11 x 9 -#> electrode radius theta phi cart_x cart_y cart_z x y -#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> -#> 1 A5 1 -60 -51 -46.3 57.2 42.5 -37.8 46.6 -#> 2 A13 1 -46 0 -61.1 0 59.0 -46 0 -#> 3 A21 1 -60 51 -46.3 -57.2 42.5 -37.8 -46.6 -#> 4 A29 1 92 -90 0 -85.0 -2.97 0 -92 -#> 5 A31 1 46 -90 0 -61.1 59.0 0 -46 -#> 6 B5 1 69 90 0 79.4 30.5 0 69 -#> 7 B6 1 46 90 0 61.1 59.0 0 46 -#> 8 B8 1 60 51 46.3 57.2 42.5 37.8 46.6 -#> 9 B16 1 0 0 0 0 85 0 0 -#> 10 B18 1 46 0 61.1 0 59.0 46 0 -#> 11 B26 1 60 -51 46.3 -57.2 42.5 37.8 -46.6
    -
    +
    +
    channels(.data)
    +
    +channels(.data) <- value
    +
    + +
    +

    Arguments

    + + +
    .data
    +

    eegUtils object to view

    + + +
    value
    +

    Value to replace chan_info structure with.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    channels(demo_epochs)
    +#> # A tibble: 11 × 9
    +#>    electrode radius theta   phi cart_x cart_y cart_z     x     y
    +#>    <chr>      <dbl> <dbl> <dbl>  <dbl>  <dbl>  <dbl> <dbl> <dbl>
    +#>  1 A5             1   -60   -51  -46.3   57.2  42.5  -37.8  46.6
    +#>  2 A13            1   -46     0  -61.1    0    59.0  -46     0  
    +#>  3 A21            1   -60    51  -46.3  -57.2  42.5  -37.8 -46.6
    +#>  4 A29            1    92   -90    0    -85.0  -2.97   0   -92  
    +#>  5 A31            1    46   -90    0    -61.1  59.0    0   -46  
    +#>  6 B5             1    69    90    0     79.4  30.5    0    69  
    +#>  7 B6             1    46    90    0     61.1  59.0    0    46  
    +#>  8 B8             1    60    51   46.3   57.2  42.5   37.8  46.6
    +#>  9 B16            1     0     0    0      0    85      0     0  
    +#> 10 B18            1    46     0   61.1    0    59.0   46     0  
    +#> 11 B26            1    60   -51   46.3  -57.2  42.5   37.8 -46.6
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/check_ci_str.html b/docs/dev/reference/check_ci_str.html index 3eb6ee0e..7f79c2f0 100644 --- a/docs/dev/reference/check_ci_str.html +++ b/docs/dev/reference/check_ci_str.html @@ -1,67 +1,12 @@ - - - - - - - -Check if chan_info is in old format — check_ci_str • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check if chan_info is in old format — check_ci_str • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Check if chan_info is in old format

    Check if chan_info is in old format

    -
    check_ci_str(chan_info)
    +
    +
    check_ci_str(chan_info)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    chan_info

    Channel info structure

    +
    chan_info
    +

    Channel info structure

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/check_classes.html b/docs/dev/reference/check_classes.html index 102ec783..18d18886 100644 --- a/docs/dev/reference/check_classes.html +++ b/docs/dev/reference/check_classes.html @@ -1,9 +1,9 @@ -Check that all classes in a list match — check_classes • eegUtilsCheck that all classes in a list match — check_classes • eegUtils - +
    @@ -29,9 +29,9 @@ Reference
    - +
    @@ -78,13 +81,16 @@

    Check that all classes in a list match

    -
    check_classes(data)
    +
    check_classes(data)

    Arguments

    -
    data
    + + +
    data

    list of objects to check

    +
    @@ -99,15 +105,15 @@

    Arguments

    -

    Site built with pkgdown 2.0.2.

    +

    Site built with pkgdown 2.1.0.

    - - + + diff --git a/docs/dev/reference/check_epochs.html b/docs/dev/reference/check_epochs.html index 4cf12ae1..ed6d5466 100644 --- a/docs/dev/reference/check_epochs.html +++ b/docs/dev/reference/check_epochs.html @@ -1,9 +1,9 @@ -Check that all objects have the same number of trials — check_epochs • eegUtilsCheck that all objects have the same number of trials — check_epochs • eegUtils - +
    @@ -29,9 +29,9 @@ Reference
    - +
    @@ -78,13 +81,16 @@

    Check that all objects have the same number of trials

    -
    check_epochs(data)
    +
    check_epochs(data)

    Arguments

    -
    data
    + + +
    data

    list of objects to check

    +
    @@ -99,15 +105,15 @@

    Arguments

    -

    Site built with pkgdown 2.0.2.

    +

    Site built with pkgdown 2.1.0.

    - - + + diff --git a/docs/dev/reference/check_q.html b/docs/dev/reference/check_q.html index 5ac8ca74..43a5b67c 100644 --- a/docs/dev/reference/check_q.html +++ b/docs/dev/reference/check_q.html @@ -1,67 +1,12 @@ - - - - - - - -Validate the q factor for downsampling — check_q • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Validate the q factor for downsampling — check_q • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Validate the q factor for downsampling

    Validate the q factor for downsampling

    -
    check_q(q, srate)
    +
    +
    check_q(q, srate)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    q

    Q factor

    srate

    Sampling rate

    +
    q
    +

    Q factor

    +
    srate
    +

    Sampling rate

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/check_timings.eeg_data.html b/docs/dev/reference/check_timings.eeg_data.html new file mode 100644 index 00000000..cfc49645 --- /dev/null +++ b/docs/dev/reference/check_timings.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/check_timings.eeg_epochs.html b/docs/dev/reference/check_timings.eeg_epochs.html new file mode 100644 index 00000000..cfc49645 --- /dev/null +++ b/docs/dev/reference/check_timings.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/check_timings.html b/docs/dev/reference/check_timings.html index 9849804c..5a9e68e7 100644 --- a/docs/dev/reference/check_timings.html +++ b/docs/dev/reference/check_timings.html @@ -1,67 +1,12 @@ - - - - - - - -Check consistency of event and timing tables — check_timings • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check consistency of event and timing tables — check_timings • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,49 +80,50 @@

    Check consistency of event and timing tables

    Check consistency of event and timing tables

    -
    check_timings(.data)
    +    
    +
    check_timings(.data, verbose = TRUE)
    +
    +# S3 method for class 'eeg_data'
    +check_timings(.data, verbose = TRUE)
    +
    +# S3 method for class 'eeg_epochs'
    +check_timings(data, verbose = TRUE)
    +
    + +
    +

    Arguments

    -# S3 method for eeg_data -check_timings(.data) -# S3 method for eeg_epochs -check_timings(data)
    +
    verbose
    +

    Print informative messages

    -

    Arguments

    - - - - - - -
    data

    eeg_data or eeg_epochs object

    +
    data
    +

    eeg_data or eeg_epochs object

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/circ_mean.html b/docs/dev/reference/circ_mean.html index 31fe226a..398f2769 100644 --- a/docs/dev/reference/circ_mean.html +++ b/docs/dev/reference/circ_mean.html @@ -1,68 +1,13 @@ - - - - - - - -Calculate circular mean — circ_mean • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate circular mean — circ_mean • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -155,43 +82,40 @@

    Calculate circular mean

    radians.

    -
    circ_mean(data)
    +
    +
    circ_mean(data)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    data

    vector of phase angles in radians

    +
    data
    +

    vector of phase angles in radians

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/circ_rad_fun.html b/docs/dev/reference/circ_rad_fun.html index 788a651e..4364b5c7 100644 --- a/docs/dev/reference/circ_rad_fun.html +++ b/docs/dev/reference/circ_rad_fun.html @@ -1,67 +1,12 @@ - - - - - - - -Generate circle as radians — circ_rad_fun • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Generate circle as radians — circ_rad_fun • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,35 +80,32 @@

    Generate circle as radians

    Generate circle as radians

    -
    circ_rad_fun()
    - +
    +
    circ_rad_fun()
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/compute_csd-1.png b/docs/dev/reference/compute_csd-1.png index 5f45752a..2104193e 100644 Binary files a/docs/dev/reference/compute_csd-1.png and b/docs/dev/reference/compute_csd-1.png differ diff --git a/docs/dev/reference/compute_csd-2.png b/docs/dev/reference/compute_csd-2.png index 5ef57c1b..a83c0725 100644 Binary files a/docs/dev/reference/compute_csd-2.png and b/docs/dev/reference/compute_csd-2.png differ diff --git a/docs/dev/reference/compute_csd-3.png b/docs/dev/reference/compute_csd-3.png index c9b03134..1a8e3a40 100644 Binary files a/docs/dev/reference/compute_csd-3.png and b/docs/dev/reference/compute_csd-3.png differ diff --git a/docs/dev/reference/compute_csd.default.html b/docs/dev/reference/compute_csd.default.html new file mode 100644 index 00000000..a6aaf33a --- /dev/null +++ b/docs/dev/reference/compute_csd.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_csd.eeg_data.html b/docs/dev/reference/compute_csd.eeg_data.html new file mode 100644 index 00000000..a6aaf33a --- /dev/null +++ b/docs/dev/reference/compute_csd.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_csd.eeg_epochs.html b/docs/dev/reference/compute_csd.eeg_epochs.html new file mode 100644 index 00000000..a6aaf33a --- /dev/null +++ b/docs/dev/reference/compute_csd.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_csd.html b/docs/dev/reference/compute_csd.html index 2d2b06ad..ee5d55d7 100644 --- a/docs/dev/reference/compute_csd.html +++ b/docs/dev/reference/compute_csd.html @@ -1,71 +1,16 @@ - - - - - - - -Convert to Current Source Density — compute_csd • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert to Current Source Density — compute_csd • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -161,56 +88,55 @@

    Convert to Current Source Density

    activity that emphasises more local spatial features

    -
    compute_csd(data, ...)
    -
    -# S3 method for default
    -compute_csd(data, ...)
    -
    -# S3 method for eeg_data
    -compute_csd(data, m = 4, smoothing = 1e-05, scaling = 1, ...)
    -
    -# S3 method for eeg_epochs
    -compute_csd(data, m = 4, smoothing = 1e-05, scaling = 1, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    data

    eeg_data or eeg_epochs object

    ...

    Other parameters

    m

    smoothing constraint (higher = more rigid splines)

    smoothing

    lambda constant. Added to the Defaults to 1e-05

    scaling

    Default scaling (1) is uV / m^2. Note that this depends on the -units of the electrode co-ordinates.

    - -

    Methods (by class)

    - - -
      -
    • default: Default method to detect unknown classes.

    • -
    • eeg_data: Transform eeg_data to CSD

    • -
    • eeg_epochs: Transform eeg_data to CSD

    • -
    -

    References

    - - -
      -
    • Perrin, F., Pernier, J., Bertrand, O., Echallier, J.F. +

      +
      compute_csd(data, ...)
      +
      +# Default S3 method
      +compute_csd(data, ...)
      +
      +# S3 method for class 'eeg_data'
      +compute_csd(data, m = 4, smoothing = 1e-05, scaling = 1, ...)
      +
      +# S3 method for class 'eeg_epochs'
      +compute_csd(data, m = 4, smoothing = 1e-05, scaling = 1, ...)
      +
      + +
      +

      Arguments

      + + +
      data
      +

      eeg_data or eeg_epochs object

      + + +
      ...
      +

      Other parameters

      + + +
      m
      +

      smoothing constraint (higher = more rigid splines)

      + + +
      smoothing
      +

      lambda constant. Added to the Defaults to 1e-05

      + + +
      scaling
      +

      Default scaling (1) is uV / m^2. Note that this depends on the +units of the electrode co-ordinates.

      + +
      +
      +

      Methods (by class)

      + +
      • compute_csd(default): Default method to detect unknown classes.

      • +
      • compute_csd(eeg_data): Transform eeg_data to CSD

      • +
      • compute_csd(eeg_epochs): Transform eeg_data to CSD

      • +
      +
      +

      References

      + +
      • Perrin, F., Pernier, J., Bertrand, O., Echallier, J.F. (1989). Spherical splines for scalp potential and current density mapping. Electroencephalography and Clinical Neurophysiology, 72(2), 184-187. PMID: 2464490

      • @@ -222,45 +148,53 @@

        R Issues and considerations for using the scalp surface Laplacian in EEG/ERP research: A tutorial review. International Journal of Psycholphysiology, 97(3), 189-209

        -

      - -

      Author

      - -

      Matt Craddock matt@mattcraddock.com

      +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    -

    Examples

    -
    csd_epochs <- compute_csd(demo_epochs) -plot_butterfly(csd_epochs) -
    -# Compare the topographies of the CSD vs average referenced data -topoplot(demo_epochs, c(.2, .21)) -
    #> Using electrode locations from data.
    topoplot(csd_epochs, c(.2, .21)) -
    #> Using electrode locations from data.
    +
    +

    Examples

    +
    csd_epochs <- compute_csd(demo_epochs)
    +plot_butterfly(csd_epochs)
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +
    +
    +# Compare the topographies of the CSD vs average referenced data
    +topoplot(demo_epochs, c(.2, .21))
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +#> Using electrode locations from data.
    +#> Plotting head r 95 mm
    +
    +topoplot(csd_epochs, c(.2, .21))
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +#> Using electrode locations from data.
    +#> Plotting head r 95 mm
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/compute_g.html b/docs/dev/reference/compute_g.html index b1e55149..6d5bb8ac 100644 --- a/docs/dev/reference/compute_g.html +++ b/docs/dev/reference/compute_g.html @@ -1,70 +1,13 @@ - - - - - - - -Compute the g function for two sets of locations of channel locations on the -unit sphere. — compute_g • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Compute the g function for two sets of locations of channel locations on the unit sphere. — compute_g • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -158,54 +82,52 @@

    Compute the g function for two sets of locations of channel locations on the unit sphere.

    -
    compute_g(xyz_coords, xyz_elecs, m = 4, iter = 7)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    xyz_coords

    A set of electrode locations on a unit sphere.

    xyz_elecs

    A set of electrode locations on a unit sphere.

    m

    Interpolation constant (higher = less flexible)

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    compute_g(xyz_coords, xyz_elecs, m = 4, iter = 7)
    +
    + +
    +

    Arguments

    + + +
    xyz_coords
    +

    A set of electrode locations on a unit sphere.

    + + +
    xyz_elecs
    +

    A set of electrode locations on a unit sphere.

    + + +
    m
    +

    Interpolation constant (higher = less flexible)

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/compute_h.html b/docs/dev/reference/compute_h.html index 3f2ed2a7..27551ac3 100644 --- a/docs/dev/reference/compute_h.html +++ b/docs/dev/reference/compute_h.html @@ -1,70 +1,13 @@ - - - - - - - -Compute the h function for two sets of locations of channel locations on the -unit sphere. — compute_h • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Compute the h function for two sets of locations of channel locations on the unit sphere. — compute_h • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -158,62 +82,60 @@

    Compute the h function for two sets of locations of channel locations on the unit sphere.

    -
    compute_h(xyz_coords, xyz_elecs, m = 4, iter = 50)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    xyz_coords

    A set of electrode locations on a unit sphere.

    xyz_elecs

    A set of electrode locations on a unit sphere.

    m

    Interpolation constant (higher = less flexible)

    iter

    iterations for calculations

    lambda

    smoothing parameter

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    compute_h(xyz_coords, xyz_elecs, m = 4, iter = 50)
    +
    + +
    +

    Arguments

    + + +
    xyz_coords
    +

    A set of electrode locations on a unit sphere.

    + + +
    xyz_elecs
    +

    A set of electrode locations on a unit sphere.

    + + +
    m
    +

    Interpolation constant (higher = less flexible)

    + + +
    iter
    +

    iterations for calculations

    + + +
    lambda
    +

    smoothing parameter

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/compute_itc.html b/docs/dev/reference/compute_itc.html index 605c7ed2..6c722565 100644 --- a/docs/dev/reference/compute_itc.html +++ b/docs/dev/reference/compute_itc.html @@ -1,69 +1,14 @@ - - - - - - - -Calculate inter-trial coherence — compute_itc • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate inter-trial coherence — compute_itc • eegUtils - - - - - - - - - - + - - -
    -
    - - -
    -
    +
    @@ -157,46 +84,44 @@

    Calculate inter-trial coherence

    coefficients within an eeg_tfr object

    -
    compute_itc(data)
    +
    +
    compute_itc(data)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    data

    An eeg_tfr object

    -

    Value

    +
    data
    +

    An eeg_tfr object

    +
    +
    +

    Value

    An eeg_tfr object

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/compute_psd.eeg_data.html b/docs/dev/reference/compute_psd.eeg_data.html new file mode 100644 index 00000000..ec47ec6d --- /dev/null +++ b/docs/dev/reference/compute_psd.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_psd.eeg_epochs.html b/docs/dev/reference/compute_psd.eeg_epochs.html new file mode 100644 index 00000000..ec47ec6d --- /dev/null +++ b/docs/dev/reference/compute_psd.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_psd.eeg_evoked.html b/docs/dev/reference/compute_psd.eeg_evoked.html new file mode 100644 index 00000000..ec47ec6d --- /dev/null +++ b/docs/dev/reference/compute_psd.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_psd.html b/docs/dev/reference/compute_psd.html index 55d1c46e..34e11c4c 100644 --- a/docs/dev/reference/compute_psd.html +++ b/docs/dev/reference/compute_psd.html @@ -1,70 +1,15 @@ - - - - - - - -Compute power spectral density — compute_psd • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Compute power spectral density — compute_psd • eegUtils - - + - -
    -
    - - -
    -
    +

    compute_psd returns the PSD calculated using Welch's method for every -channel in the data. The output is in microvolts ^2 / Hz. If the object has -multiple epochs, it will perform Welch's FFT separately for each epoch and -then average them afterwards.

    +channel in the data. The output is in microvolts-squared divided by Hertz - +\(\muV^2 / Hz\). If the object has multiple epochs, it will perform Welch's +FFT separately for each epoch and then average them afterwards.

    +
    + +
    +
    compute_psd(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +compute_psd(
    +  data,
    +  seg_length = NULL,
    +  noverlap = NULL,
    +  n_fft = NULL,
    +  method = "Welch",
    +  demean = TRUE,
    +  verbose = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_epochs'
    +compute_psd(
    +  data,
    +  seg_length = NULL,
    +  noverlap = NULL,
    +  n_fft = 256,
    +  method = "Welch",
    +  keep_trials = TRUE,
    +  demean = TRUE,
    +  verbose = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_evoked'
    +compute_psd(
    +  data,
    +  seg_length = NULL,
    +  noverlap = NULL,
    +  n_fft = 256,
    +  method = "Welch",
    +  demean = TRUE,
    +  verbose = TRUE,
    +  ...
    +)
    -
    compute_psd(data, ...)
    -
    -# S3 method for eeg_data
    -compute_psd(
    -  data,
    -  seg_length = NULL,
    -  noverlap = NULL,
    -  n_fft = NULL,
    -  method = "Welch",
    -  demean = TRUE,
    -  verbose = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_epochs
    -compute_psd(
    -  data,
    -  seg_length = NULL,
    -  noverlap = NULL,
    -  n_fft = 256,
    -  method = "Welch",
    -  keep_trials = TRUE,
    -  demean = TRUE,
    -  verbose = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_evoked
    -compute_psd(
    -  data,
    -  seg_length = NULL,
    -  noverlap = NULL,
    -  n_fft = 256,
    -  method = "Welch",
    -  demean = TRUE,
    -  verbose = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data to be plotted. Accepts objects of class eeg_data

    ...

    any further parameters passed to specific methods

    seg_length

    Length of rolling data segments. Defaults to n_fft. -Must be <= n_fft.

    noverlap

    Number of (sampling) points of overlap between segments. Must -be <= seg_length.

    n_fft

    Length of FFT to be calculated in sampling points. See details.

    method

    Defaults to "Welch". No other method currently implemented.

    demean

    Remove channel/epoch means. TRUE by default.

    verbose

    Print informative messages. TRUE by default.

    keep_trials

    Include FFT for every trial in output, or average over -them if FALSE.

    - -

    Value

    +
    +

    Arguments

    -

    Currently, a data frame with the PSD for each channel separately.

    -

    Details

    +
    data
    +

    Data to be plotted. Accepts objects of class eeg_data

    + + +
    ...
    +

    any further parameters passed to specific methods

    + + +
    seg_length
    +

    Length of rolling data segments. Defaults to n_fft. +Must be <= n_fft.

    + + +
    noverlap
    +

    Number of (sampling) points of overlap between segments. Must +be <= seg_length.

    + + +
    n_fft
    +

    Length of FFT to be calculated in sampling points. See details.

    + + +
    method
    +

    Defaults to "Welch". No other method currently implemented.

    + + +
    demean
    +

    Remove channel/epoch means. TRUE by default.

    + + +
    verbose
    +

    Print informative messages. TRUE by default.

    + + +
    keep_trials
    +

    Include FFT for every trial in output, or average over +them if FALSE.

    + +
    +
    +

    Value

    +

    Currently, a data frame with the PSD for each channel separately.

    +
    +
    +

    Details

    Welch's FFT splits the data into multiple segments, calculates the FFT separately for each segment, and then averages over segments. Each segment is windowed with a Hanning window to counter spectral leakage. For epoched data, Welch's FFT is calculated separately for each trial.

    The number of sampling points used for the FFT can be specified using n_fft. -n_fft defaults to 256 sampling points for eeg_epochs data, or the -minimum of 2048 or the length of the signal for continuous eeg_data.

    -

    seg_length defaults to be n_fft, and must be less than or equal -to it.

    +n_fft defaults to 256 sampling points for eeg_epochs data, or the minimum +of 2048 or the length of the signal for continuous eeg_data.

    +

    seg_length defaults to be n_fft, and must be less than or equal to it.

    noverlap specifies the amount of overlap between windows in sampling points. If NULL, it defaults to 50\

    -

    Methods (by class)

    - - -
      -
    • eeg_data: Compute PSD for an eeg_data object

    • -
    • eeg_epochs: Compute PSD for an eeg_epochs object

    • -
    • eeg_evoked: Compute PSD for an eeg_evoked object

    • -
    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    out <- compute_psd(demo_epochs) -
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    -out <- compute_psd(demo_epochs, n_fft = 256, seg_length = 128) -
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    -
    +
    +
    +

    Methods (by class)

    + +
    • compute_psd(eeg_data): Compute PSD for an eeg_data object

    • +
    • compute_psd(eeg_epochs): Compute PSD for an eeg_epochs object

    • +
    • compute_psd(eeg_evoked): Compute PSD for an eeg_evoked object

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    out <- compute_psd(demo_epochs)
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    +out <- compute_psd(demo_epochs, n_fft = 256, seg_length = 128)
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/compute_tfr-1.png b/docs/dev/reference/compute_tfr-1.png new file mode 100644 index 00000000..f4942b06 Binary files /dev/null and b/docs/dev/reference/compute_tfr-1.png differ diff --git a/docs/dev/reference/compute_tfr-2.png b/docs/dev/reference/compute_tfr-2.png new file mode 100644 index 00000000..702081c4 Binary files /dev/null and b/docs/dev/reference/compute_tfr-2.png differ diff --git a/docs/dev/reference/compute_tfr.default.html b/docs/dev/reference/compute_tfr.default.html new file mode 100644 index 00000000..78d1d4fa --- /dev/null +++ b/docs/dev/reference/compute_tfr.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_tfr.eeg_epochs.html b/docs/dev/reference/compute_tfr.eeg_epochs.html new file mode 100644 index 00000000..78d1d4fa --- /dev/null +++ b/docs/dev/reference/compute_tfr.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_tfr.eeg_evoked.html b/docs/dev/reference/compute_tfr.eeg_evoked.html new file mode 100644 index 00000000..78d1d4fa --- /dev/null +++ b/docs/dev/reference/compute_tfr.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/compute_tfr.html b/docs/dev/reference/compute_tfr.html index 26f0078a..c3db0588 100644 --- a/docs/dev/reference/compute_tfr.html +++ b/docs/dev/reference/compute_tfr.html @@ -1,70 +1,15 @@ - - - - - - - -Compute Time-Frequency representation of EEG data — compute_tfr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Compute Time-Frequency representation of EEG data — compute_tfr • eegUtils - - - - - - - - - - + - - -
    -
    - - -
    -
    +
    @@ -159,171 +86,202 @@

    Compute Time-Frequency representation of EEG data

    domain.

    -
    compute_tfr(data, ...)
    -
    -# S3 method for default
    -compute_tfr(data, ...)
    -
    -# S3 method for eeg_epochs
    -compute_tfr(
    -  data,
    -  method = "morlet",
    -  foi,
    -  n_freq,
    -  spacing = "linear",
    -  n_cycles = 7,
    -  keep_trials = FALSE,
    -  output = "power",
    -  downsample = 1,
    -  verbose = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_evoked
    -compute_tfr(
    -  data,
    -  method = "morlet",
    -  foi,
    -  n_freq,
    -  spacing = "linear",
    -  n_cycles = 7,
    -  keep_trials = FALSE,
    -  output = "power",
    -  downsample = 1,
    -  verbose = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An object of class eeg_epochs.

    ...

    Further TFR parameters

    method

    Time-frequency analysis method. Defaults to "morlet".

    foi

    Frequencies of interest. Scalar or character vector of the lowest -and highest frequency to resolve.

    n_freq

    Number of frequencies to be resolved. Must be an integer number -of frequencies.

    spacing

    Use "linear" or "log" spacing for the frequency vector and number of cycles.

    n_cycles

    Number of cycles at each frequency. If a single integer, use +

    +
    compute_tfr(data, ...)
    +
    +# Default S3 method
    +compute_tfr(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +compute_tfr(
    +  data,
    +  method = "morlet",
    +  foi,
    +  n_freq,
    +  spacing = "linear",
    +  n_cycles = 7,
    +  keep_trials = FALSE,
    +  output = "power",
    +  downsample = 1,
    +  trim_edges = TRUE,
    +  verbose = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_evoked'
    +compute_tfr(
    +  data,
    +  method = "morlet",
    +  foi,
    +  n_freq,
    +  spacing = "linear",
    +  n_cycles = 7,
    +  keep_trials = FALSE,
    +  output = "power",
    +  downsample = 1,
    +  trim_edges = TRUE,
    +  verbose = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An object of class eeg_epochs.

    + + +
    ...
    +

    Further TFR parameters

    + + +
    method
    +

    Time-frequency analysis method. Defaults to "morlet".

    + + +
    foi
    +

    Frequencies of interest. Scalar or character vector of the lowest +and highest frequency to resolve.

    + + +
    n_freq
    +

    Number of frequencies to be resolved. Must be an integer number +of frequencies.

    + + +
    spacing
    +

    Use "linear" or "log" spacing for the frequency vector and +number of cycles.

    + + +
    n_cycles
    +

    Number of cycles at each frequency. If a single integer, use a constant number of cycles at each frequency. If a character vector of length 2, the number of cycles will scale with frequency from the minimum -to the maximum.

    keep_trials

    Keep single trials or average over them before returning. -Defaults to FALSE.

    output

    Sets whether output is power, phase, or fourier coefficients.

    downsample

    Downsampling factor. Integer. Selects every n samples after -performing time-frequency analysis on the full sampling rate data.

    verbose

    Print informative messages in console.

    - -

    Value

    +to the maximum.

    + +
    keep_trials
    +

    Keep single trials or average over them before returning. +Defaults to FALSE.

    + + +
    output
    +

    Sets whether output is power, phase, or fourier coefficients.

    + + +
    downsample
    +

    Downsampling factor. Integer. Selects every n samples after +performing time-frequency analysis on the full sampling rate data.

    + + +
    trim_edges
    +

    Remove edges of time-frequency representation to avoid edge +effects from overlap of wavelet with timepoints outside the epochs. +Defaults to TRUE.

    + + +
    verbose
    +

    Print informative messages in console.

    + +
    +
    +

    Value

    An object of class eeg_tfr

    -

    Methods (by class)

    - - -
      -
    • default: Default method for compute_tfr

    • -
    • eeg_epochs: Default method for compute_tfr

    • -
    • eeg_evoked: Method for eeg_evoked objects.

    • -
    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), n_freq = 10, n_cycles = 3) -
    #> Computing TFR using Morlet wavelet convolution
    #> Output frequencies using linear spacing: 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30
    #> Removing channel means per epoch...
    #> Returning signal averaged over all trials.
    out -
    #> Epoched EEG TFR data -#> -#> Frequency range : 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30 -#> Number of channels : 11 -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Number of epochs : 80 -#> Epoch limits : -0.197 - 0.451 seconds -#> Sampling rate : 128 Hz
    out$freq_info$morlet_resolution -
    #> frequency sigma_f sigma_t n_cycles -#> 1 4.000000 1.333333 0.11936621 3 -#> 2 6.888889 2.296296 0.06930941 3 -#> 3 9.777778 3.259259 0.04883163 3 -#> 4 12.666667 4.222222 0.03769459 3 -#> 5 15.555556 5.185185 0.03069417 3 -#> 6 18.444444 6.148148 0.02588665 3 -#> 7 21.333333 7.111111 0.02238116 3 -#> 8 24.222222 8.074074 0.01971185 3 -#> 9 27.111111 9.037037 0.01761141 3 -#> 10 30.000000 10.000000 0.01591549 3
    out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), n_freq = 10, n_cycles = c(3, 10)) -
    #> Computing TFR using Morlet wavelet convolution
    #> Output frequencies using linear spacing: 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30
    #> Removing channel means per epoch...
    #> Returning signal averaged over all trials.
    out$freq_info$morlet_resolution -
    #> frequency sigma_f sigma_t n_cycles -#> 1 4.000000 1.333333 0.11936621 3.000000 -#> 2 6.888889 1.823529 0.08727852 3.777778 -#> 3 9.777778 2.146341 0.07415173 4.555556 -#> 4 12.666667 2.375000 0.06701261 5.333333 -#> 5 15.555556 2.545455 0.06252516 6.111111 -#> 6 18.444444 2.677419 0.05944341 6.888889 -#> 7 21.333333 2.782609 0.05719631 7.666667 -#> 8 24.222222 2.868421 0.05548521 8.444444 -#> 9 27.111111 2.939759 0.05413877 9.222222 -#> 10 30.000000 3.000000 0.05305165 10.000000
    +
    +
    +

    Methods (by class)

    + +
    • compute_tfr(default): Default method for compute_tfr

    • +
    • compute_tfr(eeg_epochs): Default method for compute_tfr

    • +
    • compute_tfr(eeg_evoked): Method for eeg_evoked objects.

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), n_freq = 10, n_cycles = 3)
    +#> Computing TFR using Morlet wavelet convolution
    +#> Output frequencies using linear spacing: 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30
    +#> Removing channel means per epoch...
    +#> Returning signal averaged over all trials.
    +out
    +#> Epoched EEG TFR data
    +#> 
    +#> Frequency range		:	 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30 
    +#> Number of channels	:	 11 
    +#> Electrode names		:	 A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Number of epochs	:	 1 
    +#> Epoch limits		:	 -0.197 - 0.451 seconds
    +#> Sampling rate		:	 128  Hz
    +out$freq_info$morlet_resolution
    +#>    frequency   sigma_f    sigma_t n_cycles
    +#> 1   4.000000  1.333333 0.11936621        3
    +#> 2   6.888889  2.296296 0.06930941        3
    +#> 3   9.777778  3.259259 0.04883163        3
    +#> 4  12.666667  4.222222 0.03769459        3
    +#> 5  15.555556  5.185185 0.03069417        3
    +#> 6  18.444444  6.148148 0.02588665        3
    +#> 7  21.333333  7.111111 0.02238116        3
    +#> 8  24.222222  8.074074 0.01971185        3
    +#> 9  27.111111  9.037037 0.01761141        3
    +#> 10 30.000000 10.000000 0.01591549        3
    +out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30),
    + n_freq = 10, n_cycles = c(3, 10))
    +#> Computing TFR using Morlet wavelet convolution
    +#> Output frequencies using linear spacing: 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30
    +#> Removing channel means per epoch...
    +#> Returning signal averaged over all trials.
    +out$freq_info$morlet_resolution
    +#>    frequency  sigma_f    sigma_t  n_cycles
    +#> 1   4.000000 1.333333 0.11936621  3.000000
    +#> 2   6.888889 1.823529 0.08727852  3.777778
    +#> 3   9.777778 2.146341 0.07415173  4.555556
    +#> 4  12.666667 2.375000 0.06701261  5.333333
    +#> 5  15.555556 2.545455 0.06252516  6.111111
    +#> 6  18.444444 2.677419 0.05944341  6.888889
    +#> 7  21.333333 2.782609 0.05719631  7.666667
    +#> 8  24.222222 2.868421 0.05548521  8.444444
    +#> 9  27.111111 2.939759 0.05413877  9.222222
    +#> 10 30.000000 3.000000 0.05305165 10.000000
    +plot_tfr(out)
    +
    +out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30),
    + n_freq = 10, n_cycles = c(3, 10), trim_edges = FALSE)
    +#> Computing TFR using Morlet wavelet convolution
    +#> Output frequencies using linear spacing: 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30
    +#> Removing channel means per epoch...
    +#> Returning signal averaged over all trials.
    +plot_tfr(out)
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/conv_to_mat.eeg_epochs.html b/docs/dev/reference/conv_to_mat.eeg_epochs.html new file mode 100644 index 00000000..bc80f4f1 --- /dev/null +++ b/docs/dev/reference/conv_to_mat.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/conv_to_mat.html b/docs/dev/reference/conv_to_mat.html index 0c8c22e3..62b64eb8 100644 --- a/docs/dev/reference/conv_to_mat.html +++ b/docs/dev/reference/conv_to_mat.html @@ -1,67 +1,12 @@ - - - - - - - -Convert to 3d matrix — conv_to_mat • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert to 3d matrix — conv_to_mat • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,56 +80,52 @@

    Convert to 3d matrix

    Convert to 3d matrix

    -
    conv_to_mat(data, ...)
    +    
    +
    conv_to_mat(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +conv_to_mat(data, ...)
    +
    + +
    +

    Arguments

    + -# S3 method for eeg_epochs -conv_to_mat(data, ...)
    +
    data
    +

    data to be converted

    -

    Arguments

    - - - - - - - - - - -
    data

    data to be converted

    ...

    additional parameters

    -

    Methods (by class)

    +
    ...
    +

    additional parameters

    - -
      -
    • eeg_epochs: Convert eeg_epochs to 3D matrix

    • -
    +
    +
    +

    Methods (by class)

    + +
    • conv_to_mat(eeg_epochs): Convert eeg_epochs to 3D matrix

    • +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/convert_tfr.html b/docs/dev/reference/convert_tfr.html index f7eb553d..03fd4634 100644 --- a/docs/dev/reference/convert_tfr.html +++ b/docs/dev/reference/convert_tfr.html @@ -1,67 +1,12 @@ - - - - - - - -Convert Fourier output to power, phase, or ITC as requested. — convert_tfr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert Fourier output to power, phase, or ITC as requested. — convert_tfr • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Convert Fourier output to power, phase, or ITC as requested.

    Convert Fourier output to power, phase, or ITC as requested.

    -
    convert_tfr(data, output)
    +
    +
    convert_tfr(data, output)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    data

    Fourier coefficients from eeg_tfr

    output

    What output is desired - "power", "phase"

    +
    data
    +

    Fourier coefficients from eeg_tfr

    +
    output
    +

    What output is desired - "power", "phase"

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/convert_to_csd.html b/docs/dev/reference/convert_to_csd.html index 6ff56a99..7d9fc407 100644 --- a/docs/dev/reference/convert_to_csd.html +++ b/docs/dev/reference/convert_to_csd.html @@ -1,67 +1,12 @@ - - - - - - - -Calculate current source densities — convert_to_csd • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate current source densities — convert_to_csd • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,55 +80,52 @@

    Calculate current source densities

    Calculate current source densities

    -
    convert_to_csd(data, m = 4, smoothing = 1e-05, scaling = 1)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    eeg_data object

    m

    smoothing constraint (higher = more rigid)

    smoothing

    lambda constant

    scaling

    Default scaling (1) is uV / m^2.

    +
    +
    convert_to_csd(data, m = 4, smoothing = 1e-05, scaling = 1)
    +
    + +
    +

    Arguments

    +
    data
    +

    eeg_data object

    + + +
    m
    +

    smoothing constraint (higher = more rigid)

    + + +
    smoothing
    +

    lambda constant

    + + +
    scaling
    +

    Default scaling (1) is uV / m^2.

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/cov_epochs.html b/docs/dev/reference/cov_epochs.html index 9261d3f2..ffd83a20 100644 --- a/docs/dev/reference/cov_epochs.html +++ b/docs/dev/reference/cov_epochs.html @@ -1,67 +1,12 @@ - - - - - - - -Covariance of epoched data — cov_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Covariance of epoched data — cov_epochs • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Covariance of epoched data

    Calculate covariance of each epoch, then average

    -
    cov_epochs(data)
    +
    +
    cov_epochs(data)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    data

    epoched data to calculate covariance for

    +
    data
    +

    epoched data to calculate covariance for

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/create_electrode_layout_plot.html b/docs/dev/reference/create_electrode_layout_plot.html new file mode 100644 index 00000000..b25b383e --- /dev/null +++ b/docs/dev/reference/create_electrode_layout_plot.html @@ -0,0 +1,124 @@ + +Create a ggplot or plotly plot showing electrode positions — create_electrode_layout_plot • eegUtils + + +
    +
    + + + +
    +
    + + +
    +

    Create a ggplot or plotly plot showing electrode positions

    +
    + +
    +
    create_electrode_layout_plot(data, interact)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    The data from which to extract channel locations

    + + +
    interact
    +

    If TRUE, use plotly to create a 3D interactive plot, +otherwise create a 2D ggplot.

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.1.0.

    +
    + +
    + + + + + + + + diff --git a/docs/dev/reference/create_erpimage.html b/docs/dev/reference/create_erpimage.html index e6188798..a2afe8e1 100644 --- a/docs/dev/reference/create_erpimage.html +++ b/docs/dev/reference/create_erpimage.html @@ -1,67 +1,12 @@ - - - - - - - -Function for creating an ERP image — create_erpimage • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function for creating an ERP image — create_erpimage • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,64 +80,61 @@

    Function for creating an ERP image

    Function for creating an ERP image

    -
    create_erpimage(data, electrode, smoothing, clim, interpolate = FALSE, na.rm)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data frame to be plotted. Requires an amplitude column.

    electrode

    electrode at which to generate an ERP image.

    smoothing

    Number of trials to smooth over when generating image

    clim

    Character vector of min and max values of plotting colour range. -e.g. c(-5,5). Defaults to min and max.

    interpolate

    Turn on geom_raster() interpolation for smoother images.

    na.rm

    Remove trials with NA amplitudes after smoothing. Defaults to TRUE.

    +
    +
    create_erpimage(data, electrode, smoothing, clim, interpolate = FALSE, na.rm)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Data frame to be plotted. Requires an amplitude column.

    + +
    electrode
    +

    electrode at which to generate an ERP image.

    + + +
    smoothing
    +

    Number of trials to smooth over when generating image

    + + +
    clim
    +

    Character vector of min and max values of plotting colour range. +e.g. c(-5,5). Defaults to min and max.

    + + +
    interpolate
    +

    Turn on geom_raster() interpolation for smoother images.

    + + +
    na.rm
    +

    Remove trials with NA amplitudes after smoothing. Defaults to TRUE.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/create_psd_plot.html b/docs/dev/reference/create_psd_plot.html index 9630454a..5f7f27e1 100644 --- a/docs/dev/reference/create_psd_plot.html +++ b/docs/dev/reference/create_psd_plot.html @@ -1,67 +1,12 @@ - - - - - - - -Create a PSD plot — create_psd_plot • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create a PSD plot — create_psd_plot • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,50 +80,48 @@

    Create a PSD plot

    Create a PSD plot

    -
    create_psd_plot(psd_out, freq_range, chan_names)
    +
    +
    create_psd_plot(psd_out, freq_range, chan_names)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    psd_out

    PSD to plot.

    freq_range

    Frequency range to plot.

    +
    psd_out
    +

    PSD to plot.

    -

    Value

    +
    freq_range
    +

    Frequency range to plot.

    + +
    +
    +

    Value

    ggplot showing power spectral density.

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/create_tc.html b/docs/dev/reference/create_tc.html index e0509ad6..638e3b6d 100644 --- a/docs/dev/reference/create_tc.html +++ b/docs/dev/reference/create_tc.html @@ -1,67 +1,12 @@ - - - - - - - -Internal function for creation of timecourse plots — create_tc • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Internal function for creation of timecourse plots — create_tc • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,59 +80,63 @@

    Internal function for creation of timecourse plots

    Internal function for creation of timecourse plots

    -
    create_tc(data, add_CI, colour, quantity = amplitude, mapping = NULL)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    data

    A data frame to be plotted

    add_CI

    whether to add confidence intervals

    colour

    whether to use colour

    quantity

    The name of the column/quantity to plot

    mapping

    A ggplot2 aes() mapping.

    +
    +
    create_tc(
    +  data,
    +  add_CI,
    +  colour,
    +  quantity = amplitude,
    +  mapping = NULL,
    +  facets = NULL
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    A data frame to be plotted

    +
    add_CI
    +

    whether to add confidence intervals

    + + +
    colour
    +

    whether to use colour

    + + +
    quantity
    +

    The name of the column/quantity to plot

    + + +
    mapping
    +

    A ggplot2 aes() mapping.

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/cycle_calc.html b/docs/dev/reference/cycle_calc.html index 017e1d53..824d0b90 100644 --- a/docs/dev/reference/cycle_calc.html +++ b/docs/dev/reference/cycle_calc.html @@ -1,72 +1,17 @@ - - - - - - - -Calculate cycles — cycle_calc • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate cycles — cycle_calc • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -163,59 +90,65 @@

    Calculate cycles

    function to calculate the equivalent number of cycles at each frequency.

    -
    cycle_calc(time_win, frex)
    +
    +
    cycle_calc(time_win, frex)
    +
    -

    Arguments

    - - - - - - - - - - -
    time_win

    Time window in seconds.

    frex

    Frequencies of interest.

    +
    +

    Arguments

    -

    Value

    -

    the number of cycles for each frequency of interest

    -

    See also

    +
    time_win
    +

    Time window in seconds.

    + + +
    frex
    +

    Frequencies of interest.

    - +
    +
    +

    Value

    +

    the number of cycles for each frequency of interest

    +
    +
    +

    See also

    + +
    -

    Examples

    -
    cycle_calc(.5, seq(3, 30, length.out = 10)) -
    #> [1] 1.5 3.0 4.5 6.0 7.5 9.0 10.5 12.0 13.5 15.0
    no_scale_tfr <- compute_tfr(demo_epochs, foi = c(3, 30), - n_cycles = range(cycle_calc(0.5, seq(3, 30, length.out = 10))), - n_freq = 10) -
    #> Computing TFR using Morlet wavelet convolution
    #> Output frequencies using linear spacing: 3 6 9 12 15 18 21 24 27 30
    #> Removing channel means per epoch...
    #> Returning signal averaged over all trials.
    +
    +

    Examples

    +
    cycle_calc(.5, seq(3, 30, length.out = 10))
    +#>  [1]  1.5  3.0  4.5  6.0  7.5  9.0 10.5 12.0 13.5 15.0
    +no_scale_tfr <- compute_tfr(demo_epochs, foi = c(3, 30),
    + n_cycles = range(cycle_calc(0.5, seq(3, 30, length.out = 10))),
    +  n_freq = 10)
    +#> Computing TFR using Morlet wavelet convolution
    +#> Output frequencies using linear spacing: 3 6 9 12 15 18 21 24 27 30
    +#> Removing channel means per epoch...
    +#> Returning signal averaged over all trials.
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/deg2rad.html b/docs/dev/reference/deg2rad.html index bf85416e..acb1d90f 100644 --- a/docs/dev/reference/deg2rad.html +++ b/docs/dev/reference/deg2rad.html @@ -1,67 +1,12 @@ - - - - - - - -Convert degrees to radians — deg2rad • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert degrees to radians — deg2rad • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Convert degrees to radians

    Convert degrees to radians

    -
    deg2rad(x)
    +
    +
    deg2rad(x)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    x

    Degrees to convert

    +
    x
    +

    Degrees to convert

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/demo_epochs.html b/docs/dev/reference/demo_epochs.html index c93f3ddc..1c40a820 100644 --- a/docs/dev/reference/demo_epochs.html +++ b/docs/dev/reference/demo_epochs.html @@ -1,68 +1,13 @@ - - - - - - - -A demo eeg_epochs dataset — demo_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A demo eeg_epochs dataset — demo_epochs • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,38 +82,36 @@

    A demo eeg_epochs dataset

    demonstrating some features of the eegUtils package.

    -
    demo_epochs
    - - -

    Format

    +
    +
    demo_epochs
    +
    +
    +

    Format

    An eeg_epochs object

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/demo_spatial.html b/docs/dev/reference/demo_spatial.html index 3a7b0244..bfcdbb81 100644 --- a/docs/dev/reference/demo_spatial.html +++ b/docs/dev/reference/demo_spatial.html @@ -1,69 +1,14 @@ - - - - - - - -A demo eeg_epochs dataset — demo_spatial • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A demo eeg_epochs dataset — demo_spatial • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,38 +84,36 @@

    A demo eeg_epochs dataset

    recording from a visual spatial cueing task.

    -
    demo_spatial
    - - -

    Format

    +
    +
    demo_spatial
    +
    +
    +

    Format

    An eeg_epochs object

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/downsample_events.html b/docs/dev/reference/downsample_events.html index e3074353..fdfa703c 100644 --- a/docs/dev/reference/downsample_events.html +++ b/docs/dev/reference/downsample_events.html @@ -1,67 +1,12 @@ - - - - - - - -Downsample the events table — downsample_events • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Downsample the events table — downsample_events • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,58 +80,56 @@

    Downsample the events table

    Downsample the events table

    -
    downsample_events(timings, events, srate, q)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    timings

    the timings from the data

    events

    the events table to downsample

    srate

    sampling rate

    q

    downsampling factor

    - -

    Author

    - -

    Matt Craddock matt@craddock.com

    +
    +
    downsample_events(timings, events, srate, q)
    +
    + +
    +

    Arguments

    + + +
    timings
    +

    the timings from the data

    + + +
    events
    +

    the events table to downsample

    + + +
    srate
    +

    sampling rate

    + + +
    q
    +

    downsampling factor

    + +
    +
    +

    Author

    +

    Matt Craddock matt@craddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/drop_points.html b/docs/dev/reference/drop_points.html index 873dc208..8ab1a14a 100644 --- a/docs/dev/reference/drop_points.html +++ b/docs/dev/reference/drop_points.html @@ -1,67 +1,12 @@ - - - - - - - -Drop points before downsampling — drop_points • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Drop points before downsampling — drop_points • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Drop points before downsampling

    Drop points before downsampling

    -
    drop_points(data, data_length)
    +
    +
    drop_points(data, data_length)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    data

    data to be downsampled

    data_length

    number of points to drop

    +
    data
    +

    data to be downsampled

    +
    data_length
    +

    number of points to drop

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eegUtils-package.html b/docs/dev/reference/eegUtils-package.html index 9e7a8b1a..4b57999e 100644 --- a/docs/dev/reference/eegUtils-package.html +++ b/docs/dev/reference/eegUtils-package.html @@ -1,67 +1,12 @@ - - - - - - - -eegUtils: Utilities for Electroencephalographic (EEG) Analysis — eegUtils-package • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A package for processing electroencephalographic data — eegUtils-package • eegUtils - - + - -
    -
    - - -
    -
    +
    -

    EEG processing and visualization tools. Includes import functions for 'BioSemi' (.BDF), 'Neuroscan' (.CNT), 'Brain Vision Analyzer' (.VHDR), 'EEGLAB' (.set) and 'Fieldtrip' (.mat). Many preprocessing functions such as referencing, epoching, filtering, and ICA are available. There are a variety of visualizations possible, including timecourse and topographical plotting.

    +

    Electroencephalography data processing and visualization tools. Includes import functions for 'BioSemi' (.BDF), 'Neuroscan' (.CNT), 'Brain Vision Analyzer' (.VHDR), 'EEGLAB' (.set) and 'Fieldtrip' (.mat). Many preprocessing functions such as referencing, epoching, filtering, and ICA are available. There are a variety of visualizations possible, including timecourse and topographical plotting.

    - -

    See also

    - - -

    Author

    - -

    Maintainer: Matt Craddock matt@mattcraddock.com [copyright holder]

    -

    Other contributors:

      -
    • Matti Vuorre mv2521@columbia.edu [contributor]

    • -
    • ggplot2 authors (Routines borrowed from ggplot2 to allow countours to be drawn on topoplots) [contributor, copyright holder]

    • -
    - - + +
    +

    Author

    +

    Maintainer: Matt Craddock matt@mattcraddock.com

    +

    Other contributors:

    • Matti Vuorre mv2521@columbia.edu [contributor]

    • +
    • ggplot2 authors (Routines borrowed from ggplot2 to allow contours to be drawn on topoplots) [copyright holder]

    • +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eegUtils.html b/docs/dev/reference/eegUtils.html new file mode 100644 index 00000000..b5dab495 --- /dev/null +++ b/docs/dev/reference/eegUtils.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_FASTER.html b/docs/dev/reference/eeg_FASTER.html new file mode 100644 index 00000000..7655d051 --- /dev/null +++ b/docs/dev/reference/eeg_FASTER.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_ICA.html b/docs/dev/reference/eeg_ICA.html index 3b52c586..fcf497d7 100644 --- a/docs/dev/reference/eeg_ICA.html +++ b/docs/dev/reference/eeg_ICA.html @@ -1,67 +1,12 @@ - - - - - - - -Function to create an S3 object of class eeg_ICA. — eeg_ICA • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function to create an S3 object of class eeg_ICA. — eeg_ICA • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,94 +80,98 @@

    Function to create an S3 object of class eeg_ICA.

    Function to create an S3 object of class eeg_ICA.

    -
    eeg_ICA(
    -  mixing_matrix,
    -  unmixing_matrix,
    -  signals,
    -  timings,
    -  events,
    -  chan_info,
    -  srate,
    -  epochs,
    -  algorithm
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    mixing_matrix

    ICA mixing matrix

    unmixing_matrix

    ICA unmixing matrix

    signals

    ICA component timecourses.

    timings

    Unique timepoints remaining in the data.

    events

    event table

    chan_info

    A data frame containing electrode labels and coordinates.

    srate

    Sampling rate in Hz. A numeric value.

    epochs

    A data frame containing meta-information about the epochs +

    +
    eeg_ICA(
    +  mixing_matrix,
    +  unmixing_matrix,
    +  signals,
    +  timings,
    +  events,
    +  chan_info,
    +  srate,
    +  epochs,
    +  algorithm,
    +  contents
    +)
    +
    + +
    +

    Arguments

    + + +
    mixing_matrix
    +

    ICA mixing matrix

    + + +
    unmixing_matrix
    +

    ICA unmixing matrix

    + + +
    signals
    +

    ICA component timecourses.

    + + +
    timings
    +

    Unique timepoints remaining in the data.

    + + +
    events
    +

    event table

    + + +
    chan_info
    +

    A data frame containing electrode labels and coordinates.

    + + +
    srate
    +

    Sampling rate in Hz. A numeric value.

    + + +
    epochs
    +

    A data frame containing meta-information about the epochs contained in the data, such as participant ID label and condition labels -for epochs.

    algorithm

    The method used to calculate the decomposition.

    +for epochs.

    -

    Value

    -

    An object of class eeg_ICA.

    -

    Author

    +
    algorithm
    +

    The method used to calculate the decomposition.

    + -

    Matt Craddock matt@mattcraddock.com

    -

    Matt Craddock matt@mattcraddock.com

    +
    contents
    +

    Whether the object contains only the mixing and unmixing +matrices ("weights") or source timecourses as well ("full")

    + +
    +
    +

    Value

    +

    An object of class eeg_ICA.

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_average.default.html b/docs/dev/reference/eeg_average.default.html new file mode 100644 index 00000000..73d9f8cc --- /dev/null +++ b/docs/dev/reference/eeg_average.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_average.eeg_epochs.html b/docs/dev/reference/eeg_average.eeg_epochs.html new file mode 100644 index 00000000..73d9f8cc --- /dev/null +++ b/docs/dev/reference/eeg_average.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_average.eeg_evoked.html b/docs/dev/reference/eeg_average.eeg_evoked.html new file mode 100644 index 00000000..73d9f8cc --- /dev/null +++ b/docs/dev/reference/eeg_average.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_average.eeg_tfr.html b/docs/dev/reference/eeg_average.eeg_tfr.html new file mode 100644 index 00000000..73d9f8cc --- /dev/null +++ b/docs/dev/reference/eeg_average.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_average.html b/docs/dev/reference/eeg_average.html index 1c919013..3a451f95 100644 --- a/docs/dev/reference/eeg_average.html +++ b/docs/dev/reference/eeg_average.html @@ -1,71 +1,16 @@ - - - - - - - -Calculate averages (e.g. ERPs) for single datasets — eeg_average • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate averages (e.g. event-related potentials) for single datasets — eeg_average • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -161,81 +88,109 @@

    Calculate averages (e.g. ERPs) for single datasets

    the cols argument.

    -
    eeg_average(data, ...)
    -
    -# S3 method for default
    -eeg_average(data, ...)
    -
    -# S3 method for eeg_epochs
    -eeg_average(data, cols = NULL, ...)
    -
    -# S3 method for eeg_evoked
    -eeg_average(data, cols = NULL, ...)
    -
    -# S3 method for eeg_tfr
    -eeg_average(data, cols = NULL, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    An eeg_epochs of eeg_tfr object.

    ...

    Other arguments passed to the averaging functions

    cols

    Columns from the epochs structure that the average should +

    +
    eeg_average(data, ...)
    +
    +# Default S3 method
    +eeg_average(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +eeg_average(data, cols = NULL, verbose = TRUE, ...)
    +
    +# S3 method for class 'eeg_evoked'
    +eeg_average(data, cols = NULL, weighted = TRUE, verbose = TRUE, ...)
    +
    +# S3 method for class 'eeg_tfr'
    +eeg_average(data, cols = NULL, weighted = TRUE, verbose = TRUE, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eeg_epochs of eeg_tfr object.

    + + +
    ...
    +

    Other arguments passed to the averaging functions

    + + +
    cols
    +

    Columns from the epochs structure that the average should group on. NULL, the default, uses all columns other than the epoch -column.

    +column.

    -

    Value

    -

    An object of class eeg_evoked if applied to eeg_epochs; -eeg_tfr if applied to eeg_tfr.

    -

    Methods (by class)

    +
    verbose
    +

    Print informative messages during averaging. Defaults to TRUE

    - -
      -
    • default: Default method for averaging EEG objects

    • -
    • eeg_epochs: Create evoked data from eeg_epochs

    • -
    • eeg_evoked: average an eeg_epochs object over epochs.

    • -
    • eeg_tfr: average an eeg_tfr object over epochs.

    • -
    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    weighted
    +

    Produce a weighted average over epochs, which accounts for +upstream differences in the number of epochs that contribute to each +average.

    + +
    +
    +

    Value

    +

    An object of class eeg_evoked if applied to eeg_epochs; +eeg_tfr if applied to eeg_tfr.

    +
    +
    +

    Methods (by class)

    + +
    • eeg_average(default): Default method for averaging EEG objects

    • +
    • eeg_average(eeg_epochs): Create evoked data from eeg_epochsobjects

    • +
    • eeg_average(eeg_evoked): average an eeg_evoked object over epochs.

    • +
    • eeg_average(eeg_tfr): average an eeg_tfr object over epochs.

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    +

    Examples

    +
    eeg_average(demo_spatial)
    +#> Creating epochs based on combinations of variables: participant_id epoch_labels 
    +#> Evoked EEG data
    +#> 
    +#> Number of channels	:	 23 
    +#> Epoch limits		: -0.301 - 0.488 seconds
    +#> Electrode names		:	 Fp1 Fp2 Fz Cz Pz P3 P4 C3 C4 P7 P8 F3 F4 T7 T8 F7 F8 Oz Fpz EXG1 EXG2 EXG3 EXG4 
    +#> Sampling rate		:	 128  Hz
    +eeg_average(demo_spatial, cols = "everything")
    +#> Creating epochs based on combinations of variables: participant_id 
    +#> Evoked EEG data
    +#> 
    +#> Number of channels	:	 23 
    +#> Epoch limits		: -0.301 - 0.488 seconds
    +#> Electrode names		:	 Fp1 Fp2 Fz Cz Pz P3 P4 C3 C4 P7 P8 F3 F4 T7 T8 F7 F8 Oz Fpz EXG1 EXG2 EXG3 EXG4 
    +#> Sampling rate		:	 128  Hz
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_combine.eeg_data.html b/docs/dev/reference/eeg_combine.eeg_data.html new file mode 100644 index 00000000..11ac2029 --- /dev/null +++ b/docs/dev/reference/eeg_combine.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_combine.eeg_epochs.html b/docs/dev/reference/eeg_combine.eeg_epochs.html new file mode 100644 index 00000000..11ac2029 --- /dev/null +++ b/docs/dev/reference/eeg_combine.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_combine.eeg_evoked.html b/docs/dev/reference/eeg_combine.eeg_evoked.html new file mode 100644 index 00000000..11ac2029 --- /dev/null +++ b/docs/dev/reference/eeg_combine.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_combine.html b/docs/dev/reference/eeg_combine.html index 267d09fd..7845cf06 100644 --- a/docs/dev/reference/eeg_combine.html +++ b/docs/dev/reference/eeg_combine.html @@ -1,72 +1,20 @@ - - - - - - - -Combine eegUtils objects — eeg_combine • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Combine eegUtils objects — eeg_combine • eegUtils - + - - -
    -
    - - -
    -
    +

    Combine multiple eeg_epochs, eeg_data, or eeg_evoked objects into a -single object. The function will try to check the participant_id entry in -the epochs structure to see if the data comes from a single participant or -from multiple participants. If the data is from a single participant, it will -concatenate the objects and attempt to correct them so that the trial numbers -and timings are correct.

    +single object. The function will check the participant_id entry in the +epochs structure of each object to see if the objects come from a single +participant or from multiple participants. If the data are from multiple +participants, it will create an eeg_group object. For individual +participants, it will check for duplicate epochs. For most objects, it will +concatenate the objects if none are found. However, for eeg_data it will +instead try to correct the epoch numbers. Check the details below for further +advice.

    -
    eeg_combine(data, ...)
    -
    -# S3 method for list
    -eeg_combine(data, ...)
    -
    -# S3 method for eeg_data
    -eeg_combine(data, ..., check_timings = TRUE)
    -
    -# S3 method for eeg_epochs
    -eeg_combine(data, ..., check_timings = TRUE)
    -
    -# S3 method for eeg_evoked
    -eeg_combine(data, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    An eeg_data, eeg_epochs, or eeg_evoked object, or a list of -such objects.

    ...

    additional eeg_data or eeg_epochs objects

    check_timings

    Check whether sample times / epoch numbers are -continuously ascending; if not, modify so that they are. Useful when, for -example, combining epochs derived from multiple recording blocks. Defaults to TRUE

    +
    +
    eeg_combine(data, ...)
    +
    +# S3 method for class 'list'
    +eeg_combine(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +eeg_combine(data, ..., check_timings = TRUE)
    +
    +# S3 method for class 'eeg_epochs'
    +eeg_combine(data, ..., check_timings = TRUE)
    +
    +# S3 method for class 'eeg_evoked'
    +eeg_combine(data, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eeg_data, eeg_epochs, or eeg_evoked object, or a list of +such objects.

    -

    Value

    +
    ...
    +

    additional eeg_data or eeg_epochs objects

    + + +
    check_timings
    +

    Check whether sample times / epoch numbers are +continuously ascending; if not, modify so that they are. Useful when, for +example, combining epochs derived from multiple recording blocks. Defaults to TRUE

    + +
    +
    +

    Value

    If all objects have the same participant_id, returns an object of the same class as the original input object. If the objects have different participant_id numbers, an object of both class eeg_group and the same class as the original input object.

    -

    Methods (by class)

    +
    +
    +

    Methods (by class)

    - -
      -
    • list: Method for combining lists of eeg_data and +

      • eeg_combine(list): Method for combining lists of eeg_data and eeg_epochs objects.

      • -
      • eeg_data: Method for combining eeg_data objects.

      • -
      • eeg_epochs: Method for combining eeg_epochs objects

      • -
      • eeg_evoked: Method for combining eeg_evoked objects

      • -
      -

      Author

      - -

      Matt Craddock, matt@mattcraddock.com

      +
    • eeg_combine(eeg_data): Method for combining eeg_data objects.

    • +
    • eeg_combine(eeg_epochs): Method for combining eeg_epochs objects

    • +
    • eeg_combine(eeg_evoked): Method for combining eeg_evoked objects

    • +
    +
    +

    Combining eeg_data objects

    +

    Combining eeg_data is mainly intended to be used for combining multiple +recordings from a single participant prior to subsequent epoching. Thus, +check_timings defaults to true, and the function will change the epochs and +timing structures of the resulting combined object to be as if it were a +single recording. The objects will be combined in the input order, so ensure +that the objects are input in chronological order.

    +
    +
    +

    Combining eeg_epochs objects

    +

    There are several scenarios where you might wish to combine eeg_epochs. For +example, a user may have processed continuous data in smaller chunks +reflecting short recording blocks before epoching. They then wish to combine +these into a single object. In that case, the epoch numbering should reflect +chronological ordering and needs to be corrected.

    +

    If check_timings == TRUE, the function will perform several checks before +combining objects. First, it will check for duplicate epochs in the epochs +structure of each object. If each object only has unique epochs, the objects +will be combined without correction. Thus, combining across separate +recordings or separate participants will not elicit correction. The user +should ensure

    +

    If there are any duplicates (e.g. a participant has more than one epoch +numbered one from the same recording), it will then check if there are any +missing epochs. If there are, the new trial numbering cannot be automatically +determined, so the objects cannot be combined without further manual +intervention. If there are no missing epochs, it will then check if there is +any decreases in epoch numbers across objects. If there are any, then the +epoch numbers and timings for the objects will be adjusted.

    +

    Alternatively, the user may wish to combine eeg_epochs objects from +different participants or from entirely different recording sessions of the +same participant. In this case, no correction of timings or epoch numbers is +desirable. check_timings == TRUE should detect this and skip correction, +but can be explicitly set to FALSE.

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_combine.list.html b/docs/dev/reference/eeg_combine.list.html new file mode 100644 index 00000000..11ac2029 --- /dev/null +++ b/docs/dev/reference/eeg_combine.list.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_data.html b/docs/dev/reference/eeg_data.html index c7057807..5485bcad 100644 --- a/docs/dev/reference/eeg_data.html +++ b/docs/dev/reference/eeg_data.html @@ -1,67 +1,12 @@ - - - - - - - -Function to create an S3 object of class eeg_data. — eeg_data • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function to create an S3 object of class eeg_data. — eeg_data • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,84 +80,82 @@

    Function to create an S3 object of class eeg_data.

    Function to create an S3 object of class eeg_data.

    -
    eeg_data(
    -  data,
    -  srate,
    -  events = NULL,
    -  chan_info = NULL,
    -  timings = NULL,
    -  continuous,
    -  reference = NULL,
    -  epochs = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Raw data - signals from electrodes/channels.

    srate

    Sampling rate in Hz.

    events

    Event table

    chan_info

    String of character names for electrodes.

    timings

    Timing information - samples and sample /sampling rate.

    continuous

    Whether the data is continuous or epoched. (Deprecated.)

    reference

    Reference channel information, including names of reference -channels, excluded channels etc.

    epochs

    Information about the epochs contained in the data.

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    eeg_data(
    +  data,
    +  srate,
    +  events = NULL,
    +  chan_info = NULL,
    +  timings = NULL,
    +  continuous,
    +  reference = NULL,
    +  epochs = NULL
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Raw data - signals from electrodes/channels.

    + + +
    srate
    +

    Sampling rate in Hz.

    + + +
    events
    +

    Event table

    + + +
    chan_info
    +

    String of character names for electrodes.

    + + +
    timings
    +

    Timing information - samples and sample /sampling rate.

    + + +
    continuous
    +

    Whether the data is continuous or epoched. (Deprecated.)

    + + +
    reference
    +

    Reference channel information, including names of reference +channels, excluded channels etc.

    + + +
    epochs
    +

    Information about the epochs contained in the data.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_decompose-1.png b/docs/dev/reference/eeg_decompose-1.png index 6ee945af..e2a6dcb0 100644 Binary files a/docs/dev/reference/eeg_decompose-1.png and b/docs/dev/reference/eeg_decompose-1.png differ diff --git a/docs/dev/reference/eeg_decompose-2.png b/docs/dev/reference/eeg_decompose-2.png index 59742f3a..52e1f10a 100644 Binary files a/docs/dev/reference/eeg_decompose-2.png and b/docs/dev/reference/eeg_decompose-2.png differ diff --git a/docs/dev/reference/eeg_decompose-3.png b/docs/dev/reference/eeg_decompose-3.png index 51d1da21..69b3d80a 100644 Binary files a/docs/dev/reference/eeg_decompose-3.png and b/docs/dev/reference/eeg_decompose-3.png differ diff --git a/docs/dev/reference/eeg_decompose-4.png b/docs/dev/reference/eeg_decompose-4.png index 5531f1b8..aae7e6bf 100644 Binary files a/docs/dev/reference/eeg_decompose-4.png and b/docs/dev/reference/eeg_decompose-4.png differ diff --git a/docs/dev/reference/eeg_decompose-5.png b/docs/dev/reference/eeg_decompose-5.png index 59742f3a..52e1f10a 100644 Binary files a/docs/dev/reference/eeg_decompose-5.png and b/docs/dev/reference/eeg_decompose-5.png differ diff --git a/docs/dev/reference/eeg_decompose-6.png b/docs/dev/reference/eeg_decompose-6.png index 639e7f3f..39b393f4 100644 Binary files a/docs/dev/reference/eeg_decompose-6.png and b/docs/dev/reference/eeg_decompose-6.png differ diff --git a/docs/dev/reference/eeg_decompose.eeg_epochs.html b/docs/dev/reference/eeg_decompose.eeg_epochs.html new file mode 100644 index 00000000..c25d0945 --- /dev/null +++ b/docs/dev/reference/eeg_decompose.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_decompose.html b/docs/dev/reference/eeg_decompose.html index cf084d8b..476e191d 100644 --- a/docs/dev/reference/eeg_decompose.html +++ b/docs/dev/reference/eeg_decompose.html @@ -1,76 +1,21 @@ - - - - - - - -Generalized eigenvalue decomposition based methods for EEG data — eeg_decompose • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Generalized eigenvalue decomposition based methods for EEG data — eeg_decompose • eegUtils - + - - -
    -
    - - -
    -
    +

    Implements a selection of Generalized Eigenvalue based decomposition methods for EEG signals. Intended for isolating oscillations at specified -frequencies, decomposing channel-based data into components -reflecting distinct or combinations of sources of oscillatory signals. -Currently, spatio-spectral decomposition (Nikulin, Nolte, & Curio, 2011) and -Rhythmic Entrainment Source Separation (Cohen & Gulbinate, 2017) are -implemented. The key difference between the two is that the former returns -the results of the data-derived spatial filters applied to the -bandpass-filtered "signal" data, whereas the latter returns the results of the -filters applied to the original, broadband data.

    +frequencies, decomposing channel-based data into components reflecting +distinct or combinations of sources of oscillatory signals. Currently, +spatio-spectral decomposition (Nikulin, Nolte, & Curio, 2011) and Rhythmic +Entrainment Source Separation (Cohen & Gulbinate, 2017) are implemented. The +key difference between the two is that the former returns the results of the +data-derived spatial filters applied to the bandpass-filtered "signal" data, +whereas the latter returns the results of the filters applied to the +original, broadband data.

    +
    + +
    +
    eeg_decompose(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +eeg_decompose(
    +  data,
    +  sig_range,
    +  noise_range,
    +  method = c("ssd", "ress"),
    +  verbose = TRUE,
    +  order = 2,
    +  ...
    +)
    -
    eeg_decompose(data, ...)
    -
    -# S3 method for eeg_epochs
    -eeg_decompose(
    -  data,
    -  sig_range,
    -  noise_range,
    -  method = "ssd",
    -  verbose = TRUE,
    -  order = 2,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An eeg_data object

    ...

    Additional parameters

    sig_range

    Vector with two inputs, the lower and upper bounds of the frequency range of interest

    noise_range

    Range of frequencies to be considered noise (e.g. bounds of flanker frequencies)

    method

    Type of decomposition to apply. Currently only "ssd" is supported.

    verbose

    Informative messages printed to console. Defaults to TRUE.

    order

    Filter order for filter applied to signal/noise

    - -

    Value

    - -

    An eeg_ICA object. Note that

    -

    Methods (by class)

    - - -
      -
    • eeg_epochs: method for eeg_epochs objects

    • -
    -

    References

    +
    +

    Arguments

    + + +
    data
    +

    An eeg_epochs object

    + + +
    ...
    +

    Additional parameters

    + + +
    sig_range
    +

    Vector with two inputs, the lower and upper bounds of the frequency range of interest

    + + +
    noise_range
    +

    Range of frequencies to be considered noise (e.g. bounds of flanker frequencies)

    + + +
    method
    +

    Type of decomposition to apply. Defaults to "ssd"

    + +
    verbose
    +

    Informative messages printed to console. Defaults to TRUE.

    + + +
    order
    +

    Filter order for filter applied to signal/noise

    + +
    +
    +

    Value

    +

    An eeg_ICA object.

    +
    +
    +

    Methods (by class)

    + +
    • eeg_decompose(eeg_epochs): method for eeg_epochs objects

    • +
    +
    +

    References

    Cohen, M. X., & Gulbinate, R. (2017). Rhythmic entrainment source separation: Optimizing analyses of neural responses to rhythmic sensory stimulation. NeuroImage, 147, 43-56. @@ -239,69 +167,110 @@

    R and fast extraction of neuronal EEG/MEG oscillations on the basis of spatio-spectral decomposition. NeuroImage, 55(4), 1528–1535. https://doi.org/10.1016/j.neuroimage.2011.01.057

    -

    See also

    - -

    Other decompositions: -run_ICA()

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    # The default method is Spatio-Spectral Decomposition, which returns -# spatially and temporally filtered source timecourses. - decomposed <- - eeg_decompose(demo_epochs, - sig_range = c(9, 11), - noise_range = c(8, 12), - method = "ssd") -
    #> Performing ssd...
    #> Band-pass IIR filter from 9 - 11 Hz
    #> Effective filter order: 4 (two-pass)
    #> Removing channel means per epoch...
    #> Band-pass IIR filter from 8 - 12 Hz
    #> Effective filter order: 4 (two-pass)
    #> Removing channel means per epoch...
    #> Band-stop IIR filter from 8.5 - 11.5 Hz.
    #> Effective filter order: 4 (two-pass)
    #> Removing channel means per epoch...
    #> Input data is not full rank; returning 10components
    plot_psd(decomposed) -
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    # We can plot the spatial filters using `topoplot()` - topoplot(decomposed, 1:2) -
    #> Using electrode locations from data.
    plot_timecourse(decomposed, 1) -
    # method = "ress" returns spatially but not temporally filtered timecourses. - with_RESS <- - eeg_decompose(demo_epochs, - sig_range = c(9, 11), - noise_range = c(8, 12), - method = "ress") -
    #> Performing ress...
    #> Band-pass IIR filter from 9 - 11 Hz
    #> Effective filter order: 4 (two-pass)
    #> Removing channel means per epoch...
    #> Band-pass IIR filter from 8 - 12 Hz
    #> Effective filter order: 4 (two-pass)
    #> Removing channel means per epoch...
    #> Band-stop IIR filter from 8.5 - 11.5 Hz.
    #> Effective filter order: 4 (two-pass)
    #> Removing channel means per epoch...
    #> Input data is not full rank; returning 10components
    plot_psd(with_RESS) -
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    # The topographical plots are identical to those using "ssd", as the - # spatial filters are the same. - topoplot(with_RESS, 1:2) -
    #> Using electrode locations from data.
    plot_timecourse(with_RESS, 1) -
    +
    +
    +

    See also

    +

    Other decompositions: +run_ICA()

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    # The default method is Spatio-Spectral Decomposition, which returns
    +# spatially and temporally filtered source timecourses.
    + decomposed <-
    +   eeg_decompose(demo_epochs,
    +                 sig_range = c(9, 11),
    +                 noise_range = c(8, 12),
    +                 method = "ssd")
    +#> Performing ssd...
    +#> Band-pass IIR filter from 9 - 11 Hz
    +#> Effective filter order: 4 (two-pass)
    +#> Removing channel means per epoch...
    +#> Band-pass IIR filter from 8 - 12 Hz
    +#> Effective filter order: 4 (two-pass)
    +#> Removing channel means per epoch...
    +#> Band-stop IIR filter from 8.5 - 11.5 Hz.
    +#> Effective filter order: 4 (two-pass)
    +#> Removing channel means per epoch...
    +#> Input data is not full rank; returning 10components
    + plot_psd(decomposed)
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    + # We can plot the spatial filters using `topoplot()`
    + topoplot(decomposed, 1:2)
    +#> Plotting 2 components
    +#> Using electrode locations from data.
    +#> Plotting head r 95 mm
    +
    + plot_timecourse(decomposed, 1)
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +
    +# method = "ress" returns spatially but not temporally filtered timecourses.
    + with_RESS <-
    +   eeg_decompose(demo_epochs,
    +                 sig_range = c(9, 11),
    +                 noise_range = c(8, 12),
    +                 method = "ress")
    +#> Performing ress...
    +#> Band-pass IIR filter from 9 - 11 Hz
    +#> Effective filter order: 4 (two-pass)
    +#> Removing channel means per epoch...
    +#> Band-pass IIR filter from 8 - 12 Hz
    +#> Effective filter order: 4 (two-pass)
    +#> Removing channel means per epoch...
    +#> Band-stop IIR filter from 8.5 - 11.5 Hz.
    +#> Effective filter order: 4 (two-pass)
    +#> Removing channel means per epoch...
    +#> Input data is not full rank; returning 10components
    + plot_psd(with_RESS)
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    + # The topographical plots are identical to those using "ssd", as the
    + # spatial filters are the same.
    + topoplot(with_RESS, 1:2)
    +#> Plotting 2 components
    +#> Using electrode locations from data.
    +#> Plotting head r 95 mm
    +
    + plot_timecourse(with_RESS, 1)
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_downsample.eeg_data.html b/docs/dev/reference/eeg_downsample.eeg_data.html new file mode 100644 index 00000000..20c781a1 --- /dev/null +++ b/docs/dev/reference/eeg_downsample.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_downsample.eeg_epochs.html b/docs/dev/reference/eeg_downsample.eeg_epochs.html new file mode 100644 index 00000000..20c781a1 --- /dev/null +++ b/docs/dev/reference/eeg_downsample.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_downsample.html b/docs/dev/reference/eeg_downsample.html index 0f523043..e4d552dd 100644 --- a/docs/dev/reference/eeg_downsample.html +++ b/docs/dev/reference/eeg_downsample.html @@ -1,70 +1,15 @@ - - - - - - - -Downsampling EEG data — eeg_downsample • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Downsampling EEG data — eeg_downsample • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -159,78 +86,79 @@

    Downsampling EEG data

    moving events to the nearest time remaining after downsampling

    -
    eeg_downsample(data, ...)
    -
    -# S3 method for eeg_data
    -eeg_downsample(data, q, ...)
    -
    -# S3 method for eeg_epochs
    -eeg_downsample(data, q, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    An eeg_data object to be downsampled

    ...

    Parameters passed to functions

    q

    Integer factor to downsample by

    - -

    Methods (by class)

    - - -
      -
    • eeg_data: Downsample eeg_data objects

    • -
    • eeg_epochs: Downsample eeg_epochs objects

    • -
    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    eeg_downsample(demo_epochs, 2) -
    #> Downsampling from 128Hz to 64Hz.
    #> Epoched EEG data -#> -#> Number of channels : 11 -#> Number of epochs : 80 -#> Epoch limits : -0.197 - 0.443 seconds -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Sampling rate : 64 Hz -#> Reference : average
    -
    +
    +
    eeg_downsample(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +eeg_downsample(data, q, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +eeg_downsample(data, q, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eeg_data object to be downsampled

    + + +
    ...
    +

    Parameters passed to functions

    + + +
    q
    +

    Integer factor to downsample by

    + +
    +
    +

    Methods (by class)

    + +
    • eeg_downsample(eeg_data): Downsample eeg_data objects

    • +
    • eeg_downsample(eeg_epochs): Downsample eeg_epochs objects

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    eeg_downsample(demo_epochs, 2)
    +#> Downsampling from 128Hz to 64Hz.
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.197 - 0.443 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 64  Hz
    +#> Reference		: average 
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_epochs.html b/docs/dev/reference/eeg_epochs.html index 8e7d564c..51882827 100644 --- a/docs/dev/reference/eeg_epochs.html +++ b/docs/dev/reference/eeg_epochs.html @@ -1,67 +1,12 @@ - - - - - - - -Function to create an S3 object of class eeg_epochs. — eeg_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function to create an S3 object of class eeg_epochs. — eeg_epochs • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,79 +80,77 @@

    Function to create an S3 object of class eeg_epochs.

    Function to create an S3 object of class eeg_epochs.

    -
    eeg_epochs(
    -  data,
    -  srate,
    -  events = NULL,
    -  chan_info = NULL,
    -  timings = NULL,
    -  reference = NULL,
    -  epochs = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Raw data - signals from electrodes/channels.

    srate

    Sampling rate in Hz.

    events

    Event table

    chan_info

    String of character names for electrodes.

    timings

    Timing information - samples and sample /sampling rate.

    reference

    Reference channel information, including names of reference -channels, excluded channels etc.

    epochs

    Information about the epochs contained in the data.

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    eeg_epochs(
    +  data,
    +  srate,
    +  events = NULL,
    +  chan_info = NULL,
    +  timings = NULL,
    +  reference = NULL,
    +  epochs = NULL
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Raw data - signals from electrodes/channels.

    + + +
    srate
    +

    Sampling rate in Hz.

    + + +
    events
    +

    Event table

    + + +
    chan_info
    +

    String of character names for electrodes.

    + + +
    timings
    +

    Timing information - samples and sample /sampling rate.

    + + +
    reference
    +

    Reference channel information, including names of reference +channels, excluded channels etc.

    + + +
    epochs
    +

    Information about the epochs contained in the data.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_evoked.html b/docs/dev/reference/eeg_evoked.html index c8dba8c7..fbaf0874 100644 --- a/docs/dev/reference/eeg_evoked.html +++ b/docs/dev/reference/eeg_evoked.html @@ -1,67 +1,12 @@ - - - - - - - -Function to create an S3 object of class "eeg_evoked" — eeg_evoked • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function to create an S3 object of class "eeg_evoked" — eeg_evoked • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,58 +80,56 @@

    Function to create an S3 object of class "eeg_evoked"

    Function to create an S3 object of class "eeg_evoked"

    -
    eeg_evoked(data, chan_info, timings, srate, epochs, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    evoked data

    chan_info

    Electrode locations etc

    timings

    vector of timepoints

    ...

    Other parameters

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    eeg_evoked(data, chan_info, timings, srate, epochs, reference = NULL, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    evoked data

    + + +
    chan_info
    +

    Electrode locations etc

    + + +
    timings
    +

    vector of timepoints

    + + +
    ...
    +

    Other parameters

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_filter-1.png b/docs/dev/reference/eeg_filter-1.png index 8a219a59..fe84ee65 100644 Binary files a/docs/dev/reference/eeg_filter-1.png and b/docs/dev/reference/eeg_filter-1.png differ diff --git a/docs/dev/reference/eeg_filter-2.png b/docs/dev/reference/eeg_filter-2.png index 9500634f..f0610d5e 100644 Binary files a/docs/dev/reference/eeg_filter-2.png and b/docs/dev/reference/eeg_filter-2.png differ diff --git a/docs/dev/reference/eeg_filter-3.png b/docs/dev/reference/eeg_filter-3.png index ca519c87..ef02256a 100644 Binary files a/docs/dev/reference/eeg_filter-3.png and b/docs/dev/reference/eeg_filter-3.png differ diff --git a/docs/dev/reference/eeg_filter.eeg_data.html b/docs/dev/reference/eeg_filter.eeg_data.html new file mode 100644 index 00000000..3733529f --- /dev/null +++ b/docs/dev/reference/eeg_filter.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_filter.eeg_epochs.html b/docs/dev/reference/eeg_filter.eeg_epochs.html new file mode 100644 index 00000000..3733529f --- /dev/null +++ b/docs/dev/reference/eeg_filter.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_filter.eeg_group.html b/docs/dev/reference/eeg_filter.eeg_group.html new file mode 100644 index 00000000..3733529f --- /dev/null +++ b/docs/dev/reference/eeg_filter.eeg_group.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_filter.html b/docs/dev/reference/eeg_filter.html index 58c3e767..9132f346 100644 --- a/docs/dev/reference/eeg_filter.html +++ b/docs/dev/reference/eeg_filter.html @@ -1,69 +1,14 @@ - - - - - - - -Filter EEG data — eeg_filter • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Filter EEG data — eeg_filter • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,98 +84,103 @@

    Filter EEG data

    ignored, which can result in minor edge artifacts.

    -
    eeg_filter(data, ...)
    -
    -# S3 method for eeg_data
    -eeg_filter(
    -  data,
    -  low_freq = NULL,
    -  high_freq = NULL,
    -  filter_order = "auto",
    -  trans_bw = "auto",
    -  method = "fir",
    -  window = "hamming",
    -  demean = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_epochs
    -eeg_filter(
    -  data,
    -  low_freq = NULL,
    -  high_freq = NULL,
    -  filter_order = "auto",
    -  trans_bw = "auto",
    -  method = "fir",
    -  window = "hamming",
    -  demean = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_group
    -eeg_filter(
    -  data,
    -  low_freq = NULL,
    -  high_freq = NULL,
    -  filter_order = "auto",
    -  trans_bw = "auto",
    -  method = "fir",
    -  window = "hamming",
    -  demean = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An eeg_data or eeg_epochs object to be filtered.

    ...

    Additional parameters.

    low_freq

    Low cutoff frequency.

    high_freq

    High cutoff frequency.

    filter_order

    Defaults to "auto", which automatically estimates filter order for the specified filter characteristics (defaults to 4 if method = "iir").

    trans_bw

    Transition bandwidth of the filter. "auto" or an integer. +

    +
    eeg_filter(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +eeg_filter(
    +  data,
    +  low_freq = NULL,
    +  high_freq = NULL,
    +  filter_order = "auto",
    +  trans_bw = "auto",
    +  method = "fir",
    +  window = "hamming",
    +  demean = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_epochs'
    +eeg_filter(
    +  data,
    +  low_freq = NULL,
    +  high_freq = NULL,
    +  filter_order = "auto",
    +  trans_bw = "auto",
    +  method = "fir",
    +  window = "hamming",
    +  demean = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_group'
    +eeg_filter(
    +  data,
    +  low_freq = NULL,
    +  high_freq = NULL,
    +  filter_order = "auto",
    +  trans_bw = "auto",
    +  method = "fir",
    +  window = "hamming",
    +  demean = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eeg_data or eeg_epochs object to be filtered.

    + + +
    ...
    +

    Additional parameters.

    + + +
    low_freq
    +

    Low cutoff frequency.

    + + +
    high_freq
    +

    High cutoff frequency.

    + + +
    filter_order
    +

    Defaults to "auto", which automatically estimates filter +order for the specified filter characteristics (defaults to 4 if method = +"iir").

    + + +
    trans_bw
    +

    Transition bandwidth of the filter. "auto" or an integer. "auto" attempts to determine a suitable transition bandwidth using the -heuristic given below. Ignored if method = "iir".

    method

    "fir" (Finite Impulse Response) or "iir" (Infinite Impulse -Response). Defaults to "fir".

    window

    Windowing function to use (FIR filtering only). Defaults to -"hamming"; currently only "hamming" available.

    demean

    Remove DC component (i.e. channel/epoch mean) before filtering. Defaults to TRUE.

    - -

    Value

    +heuristic given below. Ignored if method = "iir".

    + +
    method
    +

    "fir" (Finite Impulse Response) or "iir" (Infinite Impulse +Response). Defaults to "fir".

    + + +
    window
    +

    Windowing function to use (FIR filtering only). Defaults to +"hamming"; currently only "hamming" available.

    + + +
    demean
    +

    Remove DC component (i.e. channel/epoch mean) before filtering. +Defaults to TRUE.

    + +
    +
    +

    Value

    An object of the original class with signals filtered according to the user's specifications

    -

    Details

    - +
    +
    +

    Details

    low_freq and high_freq are the low and high cutoff frequencies. Pass low freq or high freq alone to perform high-pass or low-pass filtering respectively. For band-pass or band-stop filters, pass both low_freq and high_freq.

    @@ -257,9 +189,10 @@

    Details

    Note that it is recommended to first zero-mean the signal using either channel means or by-channel epoch means.

    The function allows parallelization using the future package, e.g. using -plan(multiprocess)

    -

    FIR versus IIR filtering

    - +plan(multisession)

    +
    +
    +

    FIR versus IIR filtering

    Finite Impulse Response (FIR) filtering is performed using an overlap-add FFT method. Note that this only performs a single-pass; the data is shifted back in time by the group delay of the @@ -269,47 +202,66 @@

    Examples

    -
    plot_psd(eeg_filter(demo_epochs, low_freq = 1, high_freq = 30)) -
    #> Band-pass FIR filter from 1 - 30 Hz
    #> Transition bandwidth: 1 Hz
    #> Filter order: 424
    #> Removing channel means per epoch...
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    plot_psd(eeg_filter(demo_epochs, low_freq = 12, high_freq = 8)) -
    #> Band-stop FIR filter from 8 - 12 Hz.
    #> Transition bandwidth: 2 Hz
    #> Filter order: 212
    #> Removing channel means per epoch...
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    plot_psd(eeg_filter(demo_epochs, low_freq = 12, high_freq = 8, method = "iir")) -
    #> Band-stop IIR filter from 8 - 12 Hz.
    #> Effective filter order: 4 (two-pass)
    #> Removing channel means per epoch...
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    -
    +
    +

    Examples

    +
    plot_psd(eeg_filter(demo_epochs, low_freq = 1, high_freq = 30))
    +#> Band-pass FIR filter from 1 - 30 Hz
    +#> Transition bandwidth: 1 Hz
    +#> Filter order: 424
    +#> Removing channel means per epoch...
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    +plot_psd(eeg_filter(demo_epochs, low_freq = 12, high_freq = 8))
    +#> Band-stop FIR filter from 8 - 12 Hz.
    +#> Transition bandwidth: 2 Hz
    +#> Filter order: 212
    +#> Removing channel means per epoch...
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    +plot_psd(eeg_filter(demo_epochs, low_freq = 12, high_freq = 8, method = "iir"))
    +#> Band-stop IIR filter from 8 - 12 Hz.
    +#> Effective filter order: 4 (two-pass)
    +#> Removing channel means per epoch...
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_psd.html b/docs/dev/reference/eeg_psd.html index 17e3d0f6..afd4644d 100644 --- a/docs/dev/reference/eeg_psd.html +++ b/docs/dev/reference/eeg_psd.html @@ -1,67 +1,12 @@ - - - - - - - -Function to create an object of class eeg_psd — eeg_psd • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function to create an object of class eeg_psd — eeg_psd • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,66 +80,64 @@

    Function to create an object of class eeg_psd

    Function to create an object of class eeg_psd

    -
    eeg_psd(data, srate, chan_info = NULL, timings = NULL, freqs, epochs)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    PSD transformed data

    srate

    Sampling rate in Hz.

    chan_info

    String of character names for electrodes.

    timings

    Timing information - samples and sample /samplirng rate.

    freqs

    vector of frequencies

    epochs

    Epoch information

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    eeg_psd(data, srate, chan_info = NULL, timings = NULL, freqs, epochs)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    PSD transformed data

    + + +
    srate
    +

    Sampling rate in Hz.

    + + +
    chan_info
    +

    String of character names for electrodes.

    + + +
    timings
    +

    Timing information - samples and sample /samplirng rate.

    + + +
    freqs
    +

    vector of frequencies

    + + +
    epochs
    +

    Epoch information

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_reference.default.html b/docs/dev/reference/eeg_reference.default.html new file mode 100644 index 00000000..441e0e0e --- /dev/null +++ b/docs/dev/reference/eeg_reference.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_reference.eeg_data.html b/docs/dev/reference/eeg_reference.eeg_data.html new file mode 100644 index 00000000..441e0e0e --- /dev/null +++ b/docs/dev/reference/eeg_reference.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_reference.eeg_epochs.html b/docs/dev/reference/eeg_reference.eeg_epochs.html new file mode 100644 index 00000000..441e0e0e --- /dev/null +++ b/docs/dev/reference/eeg_reference.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_reference.html b/docs/dev/reference/eeg_reference.html index a3b86acb..74c031ea 100644 --- a/docs/dev/reference/eeg_reference.html +++ b/docs/dev/reference/eeg_reference.html @@ -1,12 +1,12 @@ -Referencing — eeg_reference • eegUtilsReferencing — eeg_reference • eegUtils - +
    @@ -32,9 +32,9 @@ Reference
    - +
    @@ -84,59 +87,72 @@

    Referencing

    -
    eeg_reference(data, ...)
    -
    -# S3 method for default
    -eeg_reference(data, ...)
    -
    -# S3 method for eeg_data
    -eeg_reference(
    -  data,
    -  ref_chans = "average",
    -  exclude = NULL,
    -  robust = FALSE,
    -  implicit_ref = NULL,
    -  verbose = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_epochs
    -eeg_reference(
    -  data,
    -  ref_chans = "average",
    -  exclude = NULL,
    -  robust = FALSE,
    -  implicit_ref = NULL,
    -  verbose = TRUE,
    -  ...
    -)
    -
    -reref_eeg(data, ...)
    +
    eeg_reference(data, ...)
    +
    +# Default S3 method
    +eeg_reference(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +eeg_reference(
    +  data,
    +  ref_chans = "average",
    +  exclude = NULL,
    +  robust = FALSE,
    +  implicit_ref = NULL,
    +  verbose = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_epochs'
    +eeg_reference(
    +  data,
    +  ref_chans = "average",
    +  exclude = NULL,
    +  robust = FALSE,
    +  implicit_ref = NULL,
    +  verbose = TRUE,
    +  ...
    +)

    Arguments

    -
    data
    + + +
    data

    Data to re-reference. Primarily meant for use with data of class eeg_data.

    -
    ...
    + + +
    ...

    Further parameters to be passed to eeg_reference

    -
    ref_chans
    + + +
    ref_chans

    Channels to reference data to. Defaults to "average" i.e. average of all electrodes in data. Character vector of channel names or numbers.

    -
    exclude
    + + +
    exclude

    Electrodes to exclude from average reference calculation.

    -
    robust
    + + +
    robust

    Use median instead of mean; only used for average reference. Defaults to FALSE.

    -
    implicit_ref
    + + +
    implicit_ref

    Implicit reference channel - use this to add a channel back that was previously used as a reference. E.g. if the LM (left mastoid) channel was used in recording and is absent from the data, passing "LM" adds an "LM" channel back to the data, populated with zeroes.

    -
    verbose
    + + +
    verbose

    Print informative messages in console. Defaults to TRUE.

    +

    Value

    @@ -144,10 +160,10 @@

    Value

    Methods (by class)

    - -
    • default: Default method

    • -
    • eeg_data: Rereference objects of class eeg_data

    • -
    • eeg_epochs: Rereference objects of class eeg_epochs

    • + +
      • eeg_reference(default): Default method

      • +
      • eeg_reference(eeg_data): Rereference objects of class eeg_data

      • +
      • eeg_reference(eeg_epochs): Rereference objects of class eeg_epochs

    Author

    @@ -156,8 +172,8 @@

    Author

    Examples

    -
    # demo_epochs is average referenced by default
    -demo_epochs
    +    
    # demo_epochs is average referenced by default
    +demo_epochs
     #> Epoched EEG data
     #> 
     #> Number of channels	: 11 
    @@ -166,8 +182,8 @@ 

    Examples

    #> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 #> Sampling rate : 128 Hz #> Reference : average -# Rereference it but exclude B5 from calculation of the average -eeg_reference(demo_epochs, exclude = "B5") +# Rereference it but exclude B5 from calculation of the average +eeg_reference(demo_epochs, exclude = "B5") #> You have used the existing reference channel(s), average again. #> Epoched EEG data #> @@ -177,8 +193,8 @@

    Examples

    #> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 #> Sampling rate : 128 Hz #> Reference : average -# Reference data using the median of the reference channels rather than the mean -eeg_reference(demo_epochs, robust = TRUE) +# Reference data using the median of the reference channels rather than the mean +eeg_reference(demo_epochs, robust = TRUE) #> You have used the existing reference channel(s), average again. #> Epoched EEG data #> @@ -188,8 +204,8 @@

    Examples

    #> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 #> Sampling rate : 128 Hz #> Reference : average - -eeg_reference(demo_spatial) + +eeg_reference(demo_spatial) #> You have used the existing reference channel(s), average again. #> Epoched EEG data #> @@ -199,7 +215,7 @@

    Examples

    #> Electrode names : Fp1 Fp2 Fz Cz Pz P3 P4 C3 C4 P7 P8 F3 F4 T7 T8 F7 F8 Oz Fpz EXG1 EXG2 EXG3 EXG4 #> Sampling rate : 128 Hz #> Reference : average -eeg_reference(demo_spatial, ref_chans = "Fz") +eeg_reference(demo_spatial, ref_chans = "Fz") #> Epoched EEG data #> #> Number of channels : 22 @@ -208,7 +224,7 @@

    Examples

    #> Electrode names : Fp1 Fp2 Cz Pz P3 P4 C3 C4 P7 P8 F3 F4 T7 T8 F7 F8 Oz Fpz EXG1 EXG2 EXG3 EXG4 #> Sampling rate : 128 Hz #> Reference : Fz -eeg_reference(demo_spatial, implicit_ref = "LM") +eeg_reference(demo_spatial, implicit_ref = "LM") #> You have used the existing reference channel(s), average again. #> Epoched EEG data #> @@ -232,15 +248,15 @@

    Examples

    -

    Site built with pkgdown 2.0.2.

    +

    Site built with pkgdown 2.1.0.

    - - + + diff --git a/docs/dev/reference/eeg_stats.html b/docs/dev/reference/eeg_stats.html index 693249b6..e17fbf7b 100644 --- a/docs/dev/reference/eeg_stats.html +++ b/docs/dev/reference/eeg_stats.html @@ -1,67 +1,12 @@ - - - - - - - -Function to create an S3 object of class "eeg_stats". — eeg_stats • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function to create an S3 object of class "eeg_stats". — eeg_stats • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,62 +80,60 @@

    Function to create an S3 object of class "eeg_stats".

    Function to create an S3 object of class "eeg_stats".

    -
    eeg_stats(statistic, chan_info, pvals, timings, method)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    statistic

    Calculated statistic (e.g. t-statistic)

    chan_info

    String of character names for electrodes.

    pvals

    calculated p-values for that statistic

    timings

    Unique timepoints remaining in the data.

    method

    Type of statistical test

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    eeg_stats(statistic, chan_info, pvals, timings, method)
    +
    + +
    +

    Arguments

    + + +
    statistic
    +

    Calculated statistic (e.g. t-statistic)

    + + +
    chan_info
    +

    String of character names for electrodes.

    + + +
    pvals
    +

    calculated p-values for that statistic

    + + +
    timings
    +

    Unique timepoints remaining in the data.

    + + +
    method
    +

    Type of statistical test

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/eeg_summarise.eeg_epochs.html b/docs/dev/reference/eeg_summarise.eeg_epochs.html new file mode 100644 index 00000000..a98ac12a --- /dev/null +++ b/docs/dev/reference/eeg_summarise.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/eeg_summarise.html b/docs/dev/reference/eeg_summarise.html new file mode 100644 index 00000000..cfc8f945 --- /dev/null +++ b/docs/dev/reference/eeg_summarise.html @@ -0,0 +1,184 @@ + +Calculate simple summary statistics for eeg_* objects — eeg_summarise • eegUtils + + +
    +
    + + + +
    +
    + + +
    +

    Calculate the timepoint-by-timepoint mean, standard deviation, standard +error, or variance eeg_epochs objects.

    +
    + +
    +
    eeg_summarise(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +eeg_summarise(
    +  data,
    +  statistic = c("sem", "mean", "sd", "var"),
    +  conditions = NULL,
    +  time_lim = NULL,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eegUtils object.

    + + +
    ...
    +

    Various arguments passed to specific functions

    + + +
    statistic
    +

    The statistic to calculate at each timepoint. Defaults to +"sem"

    + + +
    conditions
    +

    Conditions to group the data by.

    + + +
    time_lim
    +

    Timepoint(s) to summarise. Can be a range, for which a +summary statistic will be provided for each timepoint, or a list of +individual times. If none is supplied, the function will calculate a +summary for every timepoint.

    + +
    +
    +

    Value

    +

    A tibble

    +
    +
    +

    Methods (by class)

    + +
    • eeg_summarise(eeg_epochs): Calculate summary statistics for eeg_epochs +objects

    • +
    + +
    +

    Examples

    +
    eeg_summarise(demo_spatial, statistic = "sem")
    +#> # A tibble: 102 × 24
    +#>      time sem_Fp1 sem_Fp2 sem_Fz sem_Cz sem_Pz sem_P3 sem_P4 sem_C3 sem_C4
    +#>     <dbl>   <dbl>   <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
    +#>  1 -0.301  0.0861  0.0769 0.0800 0.0933  0.108 0.0782 0.0879 0.0609 0.0775
    +#>  2 -0.293  0.0830  0.0763 0.0754 0.0981  0.105 0.0749 0.0837 0.0591 0.0733
    +#>  3 -0.285  0.0862  0.0733 0.0751 0.100   0.101 0.0737 0.0782 0.0598 0.0688
    +#>  4 -0.277  0.0907  0.0798 0.0755 0.0989  0.100 0.0730 0.0742 0.0664 0.0675
    +#>  5 -0.270  0.0885  0.0769 0.0743 0.0913  0.107 0.0726 0.0701 0.0647 0.0660
    +#>  6 -0.262  0.0857  0.0824 0.0713 0.0894  0.111 0.0795 0.0693 0.0610 0.0679
    +#>  7 -0.254  0.0860  0.0813 0.0763 0.0916  0.106 0.0859 0.0732 0.0598 0.0760
    +#>  8 -0.246  0.0877  0.0733 0.0823 0.0914  0.103 0.0823 0.0760 0.0563 0.0833
    +#>  9 -0.238  0.0835  0.0713 0.0793 0.0877  0.104 0.0730 0.0762 0.0563 0.0867
    +#> 10 -0.230  0.0847  0.0773 0.0704 0.0821  0.107 0.0739 0.0771 0.0606 0.0818
    +#> # ℹ 92 more rows
    +#> # ℹ 14 more variables: sem_P7 <dbl>, sem_P8 <dbl>, sem_F3 <dbl>, sem_F4 <dbl>,
    +#> #   sem_T7 <dbl>, sem_T8 <dbl>, sem_F7 <dbl>, sem_F8 <dbl>, sem_Oz <dbl>,
    +#> #   sem_Fpz <dbl>, sem_EXG1 <dbl>, sem_EXG2 <dbl>, sem_EXG3 <dbl>,
    +#> #   sem_EXG4 <dbl>
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.1.0.

    +
    + +
    + + + + + + + + diff --git a/docs/dev/reference/eeg_tfr.html b/docs/dev/reference/eeg_tfr.html index 847f075a..d6c0e577 100644 --- a/docs/dev/reference/eeg_tfr.html +++ b/docs/dev/reference/eeg_tfr.html @@ -1,67 +1,12 @@ - - - - - - - -Object creator for eeg_tfr objects. — eeg_tfr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Object creator for eeg_tfr objects. — eeg_tfr • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,88 +80,86 @@

    Object creator for eeg_tfr objects.

    Object creator for eeg_tfr objects.

    -
    eeg_tfr(
    -  data,
    -  srate,
    -  events,
    -  chan_info = NULL,
    -  reference,
    -  timings = NULL,
    -  freq_info,
    -  dimensions,
    -  epochs = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    TFR transformed data

    srate

    Sampling rate in Hz. A numeric value.

    events

    Event tables

    chan_info

    Standard channel information.

    reference

    Reference information

    timings

    Timing information.

    freq_info

    Frequencies and other useful information

    dimensions

    List of which dimension is which

    epochs

    Epoch information

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    eeg_tfr(
    +  data,
    +  srate,
    +  events,
    +  chan_info = NULL,
    +  reference,
    +  timings = NULL,
    +  freq_info,
    +  dimensions,
    +  epochs = NULL
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    TFR transformed data

    + + +
    srate
    +

    Sampling rate in Hz. A numeric value.

    + + +
    events
    +

    Event tables

    + + +
    chan_info
    +

    Standard channel information.

    + + +
    reference
    +

    Reference information

    + + +
    timings
    +

    Timing information.

    + + +
    freq_info
    +

    Frequencies and other useful information

    + + +
    dimensions
    +

    List of which dimension is which

    + + +
    epochs
    +

    Epoch information

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/electrode_locations.data.frame.html b/docs/dev/reference/electrode_locations.data.frame.html new file mode 100644 index 00000000..62126c80 --- /dev/null +++ b/docs/dev/reference/electrode_locations.data.frame.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/electrode_locations.eeg_data.html b/docs/dev/reference/electrode_locations.eeg_data.html new file mode 100644 index 00000000..62126c80 --- /dev/null +++ b/docs/dev/reference/electrode_locations.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/electrode_locations.eeg_epochs.html b/docs/dev/reference/electrode_locations.eeg_epochs.html new file mode 100644 index 00000000..62126c80 --- /dev/null +++ b/docs/dev/reference/electrode_locations.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/electrode_locations.eeg_tfr.html b/docs/dev/reference/electrode_locations.eeg_tfr.html new file mode 100644 index 00000000..62126c80 --- /dev/null +++ b/docs/dev/reference/electrode_locations.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/electrode_locations.html b/docs/dev/reference/electrode_locations.html index 2d7334dc..d357fc1e 100644 --- a/docs/dev/reference/electrode_locations.html +++ b/docs/dev/reference/electrode_locations.html @@ -1,68 +1,12 @@ - - - - - - - -Get standard electrode locations — electrode_locations • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Get standard electrode locations — electrode_locations • eegUtils + - - - -
    -
    - - -
    -
    +
    -

    Joins standard electrode locations to EEG data from eegUtils internal -data.

    +

    Joins standard electrode locations to EEG data from eegUtils internal data.

    -
    electrode_locations(data, ...)
    -
    -# S3 method for data.frame
    -electrode_locations(
    -  data,
    -  electrode = "electrode",
    -  drop = FALSE,
    -  montage = NULL,
    -  ...
    -)
    -
    -# S3 method for eeg_data
    -electrode_locations(data, drop = FALSE, montage = NULL, overwrite = FALSE, ...)
    -
    -# S3 method for eeg_epochs
    -electrode_locations(data, drop = FALSE, montage = NULL, overwrite = FALSE, ...)
    -
    -# S3 method for eeg_tfr
    -electrode_locations(data, drop = FALSE, montage = NULL, overwrite = FALSE, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An EEG dataset.

    ...

    Passed to S3 methods.

    electrode

    The column name containing electrode names in data. -(Defaults to "electrode").

    drop

    Should electrodes in data for which default locations are -not available be removed? (Defaults to FALSE).

    montage

    Name of an existing montage set. Defaults to NULL.

    overwrite

    Overwrite existing channel info. Defaults to FALSE.

    - -

    Value

    +
    +
    electrode_locations(data, ...)
    +
    +# S3 method for class 'data.frame'
    +electrode_locations(
    +  data,
    +  electrode = "electrode",
    +  drop = FALSE,
    +  montage = NULL,
    +  overwrite = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_data'
    +electrode_locations(data, drop = FALSE, montage = NULL, overwrite = FALSE, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +electrode_locations(data, drop = FALSE, montage = NULL, overwrite = FALSE, ...)
    +
    +# S3 method for class 'eeg_tfr'
    +electrode_locations(data, drop = FALSE, montage = NULL, overwrite = FALSE, ...)
    +
    -

    A tibble (or data.frame), or ggplot2 object if plot = TRUE.

    -

    Details

    +
    +

    Arguments

    + + +
    data
    +

    An EEG dataset.

    + + +
    ...
    +

    Passed to S3 methods.

    + + +
    electrode
    +

    The column name containing electrode names in data. +(Defaults to "electrode").

    + + +
    drop
    +

    Should electrodes in data for which default locations are +not available be removed? (Defaults to FALSE).

    + +
    montage
    +

    Name of an existing montage set. Defaults to NULL.

    + + +
    overwrite
    +

    Overwrite existing channel info. Defaults to FALSE.

    + +
    +
    +

    Value

    +

    A tibble (or data.frame), or ggplot2 object if plot = TRUE.

    +
    +
    +

    Details

    The standard locations are from the 10-05 system derived by Oostenveld & Praamstra (2001). In addition, there are multiple specific montages for BioSemi systems included. These can be added using the montage parameter: "biosemi16", "biosemi32", biosemi64", "biosemi64alpha", "biosemi128", "biosemi160", "biosemi256"

    -

    Methods (by class)

    +
    +
    +

    Methods (by class)

    - -
      -
    • data.frame: Adds standard locations to a data frame in +

      • electrode_locations(data.frame): Adds standard locations to a data frame in long format

      • -
      • eeg_data: Adds standard locations to the chan_info field of an eeg_data object.

      • -
      • eeg_epochs: Adds standard locations to the chan_info field of an eeg_data object.

      • -
      • eeg_tfr: Adds standard locations to the chan_info field of an eeg_tfr object.

      • -
      -

      References

      - +
    • electrode_locations(eeg_data): Adds standard locations to the chan_info +field of an eeg_data object.

    • +
    • electrode_locations(eeg_epochs): Adds standard locations to the chan_info +field of an eeg_data object.

    • +
    • electrode_locations(eeg_tfr): Adds standard locations to the chan_info +field of an eeg_tfr object.

    • +
    +
    +

    References

    Oostenveld, R. & Praamstra, P. (2001). The five percent electrode system for high-resolution EEG and ERP measurements. Clinical Neurophysiology, 112, 4, 713-719

    +
    -

    Examples

    -
    channels(demo_epochs) -
    #> # A tibble: 11 x 9 -#> electrode radius theta phi cart_x cart_y cart_z x y -#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> -#> 1 A5 1 -60 -51 -46.3 57.2 42.5 -37.8 46.6 -#> 2 A13 1 -46 0 -61.1 0 59.0 -46 0 -#> 3 A21 1 -60 51 -46.3 -57.2 42.5 -37.8 -46.6 -#> 4 A29 1 92 -90 0 -85.0 -2.97 0 -92 -#> 5 A31 1 46 -90 0 -61.1 59.0 0 -46 -#> 6 B5 1 69 90 0 79.4 30.5 0 69 -#> 7 B6 1 46 90 0 61.1 59.0 0 46 -#> 8 B8 1 60 51 46.3 57.2 42.5 37.8 46.6 -#> 9 B16 1 0 0 0 0 85 0 0 -#> 10 B18 1 46 0 61.1 0 59.0 46 0 -#> 11 B26 1 60 -51 46.3 -57.2 42.5 37.8 -46.6
    electrode_locations(demo_epochs, overwrite = TRUE, montage = "biosemi64alpha") -
    #> Epoched EEG data -#> -#> Number of channels : 11 -#> Number of epochs : 80 -#> Epoch limits : -0.197 - 0.451 seconds -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Sampling rate : 128 Hz -#> Reference : average
    +
    +

    Examples

    +
    channels(demo_epochs)
    +#> # A tibble: 11 × 9
    +#>    electrode radius theta   phi cart_x cart_y cart_z     x     y
    +#>    <chr>      <dbl> <dbl> <dbl>  <dbl>  <dbl>  <dbl> <dbl> <dbl>
    +#>  1 A5             1   -60   -51  -46.3   57.2  42.5  -37.8  46.6
    +#>  2 A13            1   -46     0  -61.1    0    59.0  -46     0  
    +#>  3 A21            1   -60    51  -46.3  -57.2  42.5  -37.8 -46.6
    +#>  4 A29            1    92   -90    0    -85.0  -2.97   0   -92  
    +#>  5 A31            1    46   -90    0    -61.1  59.0    0   -46  
    +#>  6 B5             1    69    90    0     79.4  30.5    0    69  
    +#>  7 B6             1    46    90    0     61.1  59.0    0    46  
    +#>  8 B8             1    60    51   46.3   57.2  42.5   37.8  46.6
    +#>  9 B16            1     0     0    0      0    85      0     0  
    +#> 10 B18            1    46     0   61.1    0    59.0   46     0  
    +#> 11 B26            1    60   -51   46.3  -57.2  42.5   37.8 -46.6
    +electrode_locations(demo_epochs, overwrite = TRUE, montage = "biosemi64alpha")
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/epoch_data.default.html b/docs/dev/reference/epoch_data.default.html index 9d93b6d7..3bc2bbf7 100644 --- a/docs/dev/reference/epoch_data.default.html +++ b/docs/dev/reference/epoch_data.default.html @@ -1,67 +1,12 @@ - - - - - - - -Create epochs from EEG data — epoch_data.default • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create epochs from EEG data — epoch_data.default • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Create epochs from EEG data

    Create epochs from EEG data

    -
    # S3 method for default
    -epoch_data(data, ...)
    +
    +
    # Default S3 method
    +epoch_data(data, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    data

    Continuous data to be epoched.

    ...

    Parameters passed to functions

    +
    data
    +

    Continuous data to be epoched.

    +
    ...
    +

    Parameters passed to functions

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/epoch_data.eeg_data.html b/docs/dev/reference/epoch_data.eeg_data.html new file mode 100644 index 00000000..a745a4c3 --- /dev/null +++ b/docs/dev/reference/epoch_data.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/epoch_data.html b/docs/dev/reference/epoch_data.html index 9b22f108..c453d6b6 100644 --- a/docs/dev/reference/epoch_data.html +++ b/docs/dev/reference/epoch_data.html @@ -1,69 +1,14 @@ - - - - - - - -Create epochs from EEG data — epoch_data • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create epochs from EEG data — epoch_data • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,90 +84,88 @@

    Create epochs from EEG data

    around each event.

    -
    epoch_data(data, ...)
    -
    -# S3 method for eeg_data
    -epoch_data(
    -  data,
    -  events,
    -  time_lim = c(-1, 1),
    -  baseline = "none",
    -  epoch_labels = NULL,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Continuous data to be epoched.

    ...

    Parameters passed to functions

    events

    Character vector of events to epoch around.

    time_lim

    Time in seconds to form epoch around the events. Defaults to -one second either side.

    baseline

    Baseline times to subtract. Can be set to a numeric vector of length two to specify +

    +
    epoch_data(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +epoch_data(
    +  data,
    +  events,
    +  time_lim = c(-1, 1),
    +  baseline = "none",
    +  epoch_labels = NULL,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Continuous data to be epoched.

    + + +
    ...
    +

    Parameters passed to functions

    + + +
    events
    +

    Character vector of events to epoch around.

    + + +
    time_lim
    +

    Time in seconds to form epoch around the events. Defaults to +one second either side.

    + + +
    baseline
    +

    Baseline times to subtract. Can be set to a numeric vector of length two to specify a time window to use as a baseline in each epoch (e.g. c(-.1, 0)), "none", which will perform no baseline correction, or NULL to use the mean of the -whole epoch. As of v0.6 of eegUtils, the default is "none".

    epoch_labels

    Character vector of same length as events which'll be -used to label the epochs.

    - -

    Value

    +whole epoch. As of v0.6 of eegUtils, the default is "none".

    -

    Returns an epoched object of class eeg_epochs

    -

    Methods (by class)

    - -
      -
    • eeg_data: Epoch eeg_data objects

    • -
    -

    Author

    +
    epoch_labels
    +

    Character vector of same length as events which'll be +used to label the epochs.

    -

    Matt Craddock matt@mattcraddock.com

    +
    +
    +

    Value

    +

    Returns an epoched object of class eeg_epochs

    +
    +
    +

    Methods (by class)

    + +
    • epoch_data(eeg_data): Epoch eeg_data objects

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/epoch_stats.eeg_epochs.html b/docs/dev/reference/epoch_stats.eeg_epochs.html new file mode 100644 index 00000000..1c73a7b7 --- /dev/null +++ b/docs/dev/reference/epoch_stats.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/epoch_stats.html b/docs/dev/reference/epoch_stats.html index 14bf4278..a9fe6b72 100644 --- a/docs/dev/reference/epoch_stats.html +++ b/docs/dev/reference/epoch_stats.html @@ -1,67 +1,12 @@ - - - - - - - -Epoch statistics — epoch_stats • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Epoch statistics — epoch_stats • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,85 +80,87 @@

    Epoch statistics

    Calculate various statistics for each epoch in the data

    -
    epoch_stats(data, ...)
    -
    -# S3 method for eeg_epochs
    -epoch_stats(data, ...)
    - -

    Arguments

    - - - - - - - - - - -
    data

    Data as a eeg_data or eeg_epochs object.

    ...

    Other parameters passed to the functions.

    - -

    Methods (by class)

    - - -
      -
    • eeg_epochs: Calculate statistics for each epoch.

    • -
    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    epoch_stats(demo_epochs) -
    #> measure epoch A5 A13 A21 A29 A31 B5 -#> 1: max 1 11.56975 5.843069 6.950029 16.05196 5.835857 16.037969 -#> 2: max 2 11.47310 3.076121 17.336609 25.07866 5.495951 13.935791 -#> 3: max 3 10.00425 5.781016 17.194586 17.19246 9.782940 12.822427 -#> 4: max 4 9.31763 10.440170 15.260184 17.20443 13.233307 4.500334 -#> 5: max 5 13.83158 7.853081 13.628233 21.79226 11.007382 13.648832 -#> --- -#> 396: minmax 76 46.45077 15.341318 64.726750 34.25538 45.579252 56.265198 -#> 397: minmax 77 30.11000 20.520123 29.243788 49.73817 33.340733 40.902041 -#> 398: minmax 78 18.74668 10.368268 19.936261 31.79093 23.085611 23.651198 -#> 399: minmax 79 25.99021 18.232140 19.778950 36.60640 24.057504 36.741414 -#> 400: minmax 80 33.72606 29.993020 25.637490 31.08364 28.710451 37.933588 -#> B6 B8 B16 B18 B26 -#> 1: 15.222137 5.365861 0.8970604 2.939259 15.516402 -#> 2: 10.753399 10.561023 1.4575628 8.013282 7.306200 -#> 3: 9.603629 5.616830 8.1576152 16.020897 14.130052 -#> 4: 8.287086 12.999384 7.1457154 6.542394 6.952915 -#> 5: 11.821007 10.215768 12.8578863 8.408418 13.708609 -#> --- -#> 396: 42.861184 41.866046 21.9149196 15.964518 41.049195 -#> 397: 39.543097 34.720623 47.8854240 48.952999 35.531254 -#> 398: 18.209071 16.666973 20.3557738 18.072725 19.773843 -#> 399: 20.970510 21.315809 15.1661056 23.930244 27.508591 -#> 400: 30.095758 27.686008 24.1916472 24.933046 37.598064
    +
    +
    epoch_stats(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +epoch_stats(data, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eeg_epochs object.

    + + +
    ...
    +

    Other parameters passed to the functions.

    + +
    +
    +

    Methods (by class)

    + +
    • epoch_stats(eeg_epochs): Calculate statistics for each epoch.

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    epoch_stats(demo_epochs)
    +#>      measure epoch       A5       A13       A21      A29       A31        B5
    +#>       <char> <num>    <num>     <num>     <num>    <num>     <num>     <num>
    +#>   1:     max     1 11.56975  5.843069  6.950029 16.05196  5.835857 16.037969
    +#>   2:     max     2 11.47310  3.076121 17.336609 25.07866  5.495951 13.935791
    +#>   3:     max     3 10.00425  5.781016 17.194586 17.19246  9.782940 12.822427
    +#>   4:     max     4  9.31763 10.440170 15.260184 17.20443 13.233307  4.500334
    +#>   5:     max     5 13.83158  7.853081 13.628233 21.79226 11.007382 13.648832
    +#>  ---                                                                        
    +#> 396:  minmax    76 46.45077 15.341318 64.726750 34.25538 45.579252 56.265198
    +#> 397:  minmax    77 30.11000 20.520123 29.243788 49.73817 33.340733 40.902041
    +#> 398:  minmax    78 18.74668 10.368268 19.936261 31.79093 23.085611 23.651198
    +#> 399:  minmax    79 25.99021 18.232140 19.778950 36.60640 24.057504 36.741414
    +#> 400:  minmax    80 33.72606 29.993020 25.637490 31.08364 28.710451 37.933588
    +#>             B6        B8        B16       B18       B26
    +#>          <num>     <num>      <num>     <num>     <num>
    +#>   1: 15.222137  5.365861  0.8970604  2.939259 15.516402
    +#>   2: 10.753399 10.561023  1.4575628  8.013282  7.306200
    +#>   3:  9.603629  5.616830  8.1576152 16.020897 14.130052
    +#>   4:  8.287086 12.999384  7.1457154  6.542394  6.952915
    +#>   5: 11.821007 10.215768 12.8578863  8.408418 13.708609
    +#>  ---                                                   
    +#> 396: 42.861184 41.866046 21.9149196 15.964518 41.049195
    +#> 397: 39.543097 34.720623 47.8854240 48.952999 35.531254
    +#> 398: 18.209071 16.666973 20.3557738 18.072725 19.773843
    +#> 399: 20.970510 21.315809 15.1661056 23.930244 27.508591
    +#> 400: 30.095758 27.686008 24.1916472 24.933046 37.598064
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/epochs.html b/docs/dev/reference/epochs.html index 4c2ad634..9d2dc68d 100644 --- a/docs/dev/reference/epochs.html +++ b/docs/dev/reference/epochs.html @@ -1,67 +1,12 @@ - - - - - - - -Modify the epochs structure — epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Modify the epochs structure — epochs • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,69 +80,69 @@

    Modify the epochs structure

    Get or set the epochs structure of an eegUtils object.

    -
    epochs(data)
    -
    -epochs(data) <- value
    - -

    Arguments

    - - - - - - - - - - -
    data

    eegUtils object to view

    value

    Structure to replace epochs structure with.

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
      epochs(demo_spatial)
    -#> # A tibble: 80 x 5
    -#>    epoch participant_id recording         event_type epoch_labels
    -#>    <dbl> <chr>          <chr>                  <dbl> <chr>       
    -#>  1     1 ""             Matt-task-spatcue        122 valid_right 
    -#>  2     2 ""             Matt-task-spatcue        120 valid_left  
    -#>  3     3 ""             Matt-task-spatcue        122 valid_right 
    -#>  4     4 ""             Matt-task-spatcue        122 valid_right 
    -#>  5     5 ""             Matt-task-spatcue        120 valid_left  
    -#>  6     6 ""             Matt-task-spatcue        122 valid_right 
    -#>  7     7 ""             Matt-task-spatcue        120 valid_left  
    -#>  8     8 ""             Matt-task-spatcue        120 valid_left  
    -#>  9     9 ""             Matt-task-spatcue        122 valid_right 
    -#> 10    10 ""             Matt-task-spatcue        122 valid_right 
    -#> # ... with 70 more rows
    -
    +
    +
    epochs(data)
    +
    +epochs(data) <- value
    +
    + +
    +

    Arguments

    + + +
    data
    +

    eegUtils object to view

    + + +
    value
    +

    Structure to replace epochs structure with.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
      epochs(demo_spatial)
    +#> # A tibble: 80 × 5
    +#>    epoch participant_id recording         event_type epoch_labels
    +#>    <dbl> <chr>          <chr>                  <dbl> <chr>       
    +#>  1     1 ""             Matt-task-spatcue        122 valid_right 
    +#>  2     2 ""             Matt-task-spatcue        120 valid_left  
    +#>  3     3 ""             Matt-task-spatcue        122 valid_right 
    +#>  4     4 ""             Matt-task-spatcue        122 valid_right 
    +#>  5     5 ""             Matt-task-spatcue        120 valid_left  
    +#>  6     6 ""             Matt-task-spatcue        122 valid_right 
    +#>  7     7 ""             Matt-task-spatcue        120 valid_left  
    +#>  8     8 ""             Matt-task-spatcue        120 valid_left  
    +#>  9     9 ""             Matt-task-spatcue        122 valid_right 
    +#> 10    10 ""             Matt-task-spatcue        122 valid_right 
    +#> # ℹ 70 more rows
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/erp_image-1.png b/docs/dev/reference/erp_image-1.png index c8031226..b6147729 100644 Binary files a/docs/dev/reference/erp_image-1.png and b/docs/dev/reference/erp_image-1.png differ diff --git a/docs/dev/reference/erp_image-2.png b/docs/dev/reference/erp_image-2.png index a14d6142..395a3b3f 100644 Binary files a/docs/dev/reference/erp_image-2.png and b/docs/dev/reference/erp_image-2.png differ diff --git a/docs/dev/reference/erp_image-3.png b/docs/dev/reference/erp_image-3.png index 38e4e572..f0054a4d 100644 Binary files a/docs/dev/reference/erp_image-3.png and b/docs/dev/reference/erp_image-3.png differ diff --git a/docs/dev/reference/erp_image-4.png b/docs/dev/reference/erp_image-4.png index 4152abe6..c2116fb2 100644 Binary files a/docs/dev/reference/erp_image-4.png and b/docs/dev/reference/erp_image-4.png differ diff --git a/docs/dev/reference/erp_image.data.frame.html b/docs/dev/reference/erp_image.data.frame.html new file mode 100644 index 00000000..414c5659 --- /dev/null +++ b/docs/dev/reference/erp_image.data.frame.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/erp_image.eeg_ICA.html b/docs/dev/reference/erp_image.eeg_ICA.html new file mode 100644 index 00000000..414c5659 --- /dev/null +++ b/docs/dev/reference/erp_image.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/erp_image.eeg_epochs.html b/docs/dev/reference/erp_image.eeg_epochs.html new file mode 100644 index 00000000..414c5659 --- /dev/null +++ b/docs/dev/reference/erp_image.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/erp_image.eeg_tfr.html b/docs/dev/reference/erp_image.eeg_tfr.html new file mode 100644 index 00000000..414c5659 --- /dev/null +++ b/docs/dev/reference/erp_image.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/erp_image.html b/docs/dev/reference/erp_image.html index c64278b8..757c13b6 100644 --- a/docs/dev/reference/erp_image.html +++ b/docs/dev/reference/erp_image.html @@ -1,68 +1,13 @@ - - - - - - - -Plot ERP images — erp_image • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Plot ERP images — erp_image • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,154 +82,158 @@

    Plot ERP images

    order to make across-trial patterns more apparent.

    -
    erp_image(data, ...)
    -
    -# S3 method for data.frame
    -erp_image(
    -  data,
    -  electrode = "Cz",
    -  time_lim = NULL,
    -  smoothing = 10,
    -  clim = NULL,
    -  interpolate = FALSE,
    -  na.rm = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_epochs
    -erp_image(
    -  data,
    -  electrode = "Cz",
    -  time_lim = NULL,
    -  smoothing = 10,
    -  clim = NULL,
    -  interpolate = FALSE,
    -  na.rm = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_ICA
    -erp_image(
    -  data,
    -  component = "Comp001",
    -  smoothing = 10,
    -  clim = NULL,
    -  interpolate = FALSE,
    -  na.rm = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_tfr
    -erp_image(
    -  data,
    -  electrode = "Cz",
    -  time_lim = NULL,
    -  smoothing = 10,
    -  clim = NULL,
    -  interpolate = FALSE,
    -  freq_range = NULL,
    -  na.rm = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data frame or eegUtils object to be plotted.

    ...

    Other arguments passed to the method.

    electrode

    Electrode for which to generate an ERP image.

    time_lim

    Time limits of plot.

    smoothing

    Number of trials to smooth over when generating image.

    clim

    Character vector of min and max values of plotting colour range. -e.g. c(-5,5). Defaults to min and max.

    interpolate

    Perform interpolation to produce smoother looking plots. -Defaults to FALSE.

    na.rm

    Remove trials with NA amplitudes after smoothing. Defaults to TRUE.

    component

    eeg_ICA component to plot

    freq_range

    A numeric vector specify the range of frequencies to -average over. A single number will find the closest matching frequency. A -vector of length two will match average over frequencies within that range.

    +
    +
    erp_image(data, ...)
    +
    +# S3 method for class 'data.frame'
    +erp_image(
    +  data,
    +  electrode = "Cz",
    +  time_lim = NULL,
    +  smoothing = 10,
    +  clim = NULL,
    +  interpolate = FALSE,
    +  na.rm = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_epochs'
    +erp_image(
    +  data,
    +  electrode = "Cz",
    +  time_lim = NULL,
    +  smoothing = 10,
    +  clim = NULL,
    +  interpolate = FALSE,
    +  na.rm = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_ICA'
    +erp_image(
    +  data,
    +  component = "Comp001",
    +  smoothing = 10,
    +  clim = NULL,
    +  interpolate = FALSE,
    +  na.rm = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_tfr'
    +erp_image(
    +  data,
    +  electrode = "Cz",
    +  time_lim = NULL,
    +  smoothing = 10,
    +  clim = NULL,
    +  interpolate = FALSE,
    +  freq_range = NULL,
    +  na.rm = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Data frame or eegUtils object to be plotted.

    + + +
    ...
    +

    Other arguments passed to the method.

    + + +
    electrode
    +

    Electrode for which to generate an ERP image.

    + + +
    time_lim
    +

    Time limits of plot.

    + + +
    smoothing
    +

    Number of trials to smooth over when generating image.

    + + +
    clim
    +

    Character vector of min and max values of plotting colour range. +e.g. c(-5,5). Defaults to min and max.

    -

    Value

    +
    interpolate
    +

    Perform interpolation to produce smoother looking plots. +Defaults to FALSE.

    + + +
    na.rm
    +

    Remove trials with NA amplitudes after smoothing. Defaults to TRUE.

    + + +
    component
    +

    eeg_ICA component to plot

    + + +
    freq_range
    +

    A numeric vector specify the range of frequencies to +average over. A single number will find the closest matching frequency. A +vector of length two will match average over frequencies within that range.

    + +
    +
    +

    Value

    A ggplot object

    -

    Methods (by class)

    - - -
      -
    • data.frame: Default function operates on normal data frames

    • -
    • eeg_epochs: Create an erp_image from eeg_epochs

    • -
    • eeg_ICA: Plot component image from eeg_ICA

    • -
    • eeg_tfr: Plot component image from eeg_tfr

    • -
    -

    Author

    - -

    Matt craddock matt@mattcraddock.com

    - -

    Examples

    -
    erp_image(demo_epochs, electrode = "A31") -
    erp_image(demo_epochs, electrode = "A31", interpolate = TRUE) -
    erp_image(demo_epochs, electrode = "A31", smoothing = 5) -
    erp_image(compute_tfr(demo_epochs, - foi = c(4, 30), n_cycles = 3, n_freq = 20, verbose = FALSE, keep_trials = TRUE), - electrode = "A31", freq_range = c(8, 12)) -
    +
    +
    +

    Methods (by class)

    + +
    • erp_image(data.frame): Default function operates on normal data frames

    • +
    • erp_image(eeg_epochs): Create an erp_image from eeg_epochs

    • +
    • erp_image(eeg_ICA): Plot component image from eeg_ICA

    • +
    • erp_image(eeg_tfr): Plot component image from eeg_tfr

    • +
    +
    +

    Author

    +

    Matt craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    erp_image(demo_epochs, electrode = "A31")
    +
    +erp_image(demo_epochs, electrode = "A31", interpolate = TRUE)
    +
    +erp_image(demo_epochs, electrode = "A31", smoothing = 5)
    +
    +erp_image(compute_tfr(demo_epochs,
    + foi = c(4, 30), n_cycles = 3, n_freq = 20, verbose = FALSE, keep_trials = TRUE),
    + electrode = "A31", freq_range = c(8, 12))
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/erp_raster-1.png b/docs/dev/reference/erp_raster-1.png index a7c819a3..487ec4be 100644 Binary files a/docs/dev/reference/erp_raster-1.png and b/docs/dev/reference/erp_raster-1.png differ diff --git a/docs/dev/reference/erp_raster-2.png b/docs/dev/reference/erp_raster-2.png index 305b1e4b..3aeea4b4 100644 Binary files a/docs/dev/reference/erp_raster-2.png and b/docs/dev/reference/erp_raster-2.png differ diff --git a/docs/dev/reference/erp_raster-3.png b/docs/dev/reference/erp_raster-3.png index c0b59164..2db7530c 100644 Binary files a/docs/dev/reference/erp_raster-3.png and b/docs/dev/reference/erp_raster-3.png differ diff --git a/docs/dev/reference/erp_raster.html b/docs/dev/reference/erp_raster.html index 43cadf87..9e1ade8b 100644 --- a/docs/dev/reference/erp_raster.html +++ b/docs/dev/reference/erp_raster.html @@ -1,73 +1,18 @@ - - - - - - - -ERP raster plot — erp_raster • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ERP raster plot — erp_raster • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -165,81 +92,87 @@

    ERP raster plot

    original order.

    -
    erp_raster(
    -  data,
    -  anat_order = TRUE,
    -  time_lim = NULL,
    -  clim = NULL,
    -  interpolate = FALSE
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    data

    An eeg_epochs object

    anat_order

    Arrange the channels in a more anatomically representative -order. Defaults to TRUE.

    time_lim

    Time limits of plot - should be a character vector (e.g. -c(-.2, .5))

    clim

    Character vector of min and max values of plotting colour range. -e.g. c(-5,5). Defaults to min and max.

    interpolate

    Smooth the raster plot. Defaults to FALSE.

    - -

    Value

    +
    +
    erp_raster(
    +  data,
    +  anat_order = TRUE,
    +  time_lim = NULL,
    +  clim = NULL,
    +  interpolate = FALSE
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eeg_epochs object

    + + +
    anat_order
    +

    Arrange the channels in a more anatomically representative +order. Defaults to TRUE.

    -

    A ggplot object

    -

    Author

    -

    Matt Craddock, matt@mattcraddock.com

    +
    time_lim
    +

    Time limits of plot - should be a character vector (e.g. +c(-.2, .5))

    -

    Examples

    -
    library(ggplot2) -erp_raster(demo_epochs) -
    erp_raster(demo_epochs, interpolate = TRUE) -
    erp_raster(rm_baseline(demo_epochs, c(-.1, 0)), interpolate = TRUE) -
    erp_raster(demo_spatial) + facet_wrap(~epoch_labels) -
    + +
    clim
    +

    Character vector of min and max values of plotting colour range. +e.g. c(-5,5). Defaults to min and max.

    + + +
    interpolate
    +

    Smooth the raster plot. Defaults to FALSE.

    + +
    +
    +

    Value

    +

    A ggplot object

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    library(ggplot2)
    +erp_raster(demo_epochs)
    +
    +erp_raster(demo_epochs, interpolate = TRUE)
    +
    +erp_raster(rm_baseline(demo_epochs, c(-.1, 0)), interpolate = TRUE)
    +#> Baseline: -0.1 - 0s
    +
    +erp_raster(demo_spatial) + facet_wrap(~epoch_labels)
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/erp_scalp-1.png b/docs/dev/reference/erp_scalp-1.png index 40df6f2d..da1a57d9 100644 Binary files a/docs/dev/reference/erp_scalp-1.png and b/docs/dev/reference/erp_scalp-1.png differ diff --git a/docs/dev/reference/erp_scalp.default.html b/docs/dev/reference/erp_scalp.default.html new file mode 100644 index 00000000..11abe420 --- /dev/null +++ b/docs/dev/reference/erp_scalp.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/erp_scalp.html b/docs/dev/reference/erp_scalp.html index 98606723..2e30936c 100644 --- a/docs/dev/reference/erp_scalp.html +++ b/docs/dev/reference/erp_scalp.html @@ -1,68 +1,13 @@ - - - - - - - -Plot event-related potentials using a scalp based layout — erp_scalp • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Plot event-related potentials using a scalp based layout — erp_scalp • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,134 +82,141 @@

    Plot event-related potentials using a scalp based layout

    electrode placed according to its location on the scalp.

    -
    erp_scalp(data, ...)
    -
    -# S3 method for default
    -erp_scalp(
    -  data,
    -  electrode = "electrode",
    -  amplitude = "amplitude",
    -  time = "time",
    -  color = NULL,
    -  colour = NULL,
    -  size = 0.8,
    -  baseline = NULL,
    -  show_guide = TRUE,
    -  chan_info = NULL,
    -  montage = NULL,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An EEG dataset.

    ...

    Various arguments passed to specific functions

    electrode

    Column name containing electrode names in data. Defaults to -"electrode".

    amplitude

    Column name containing amplitudes in data. Defaults to -"amplitude".

    time

    Column name containing time in data. Defaults to "time".

    color

    Alias for colour.

    colour

    Variable to colour lines by. If no variable is passed, only one -line is drawn for each electrode.

    size

    Size of the line(s) for the ERPs.

    baseline

    Character vector of times to subtract for baseline correct.

    show_guide

    Should a guide showing the scale of the ERP plots be shown. -Defaults to TRUE.

    chan_info

    Pass channel information in the standard eegUtils format -directly.

    montage

    Name of an existing montage set. Defaults to NULL, which will -attempt to us locations from the data. If none are found, it will attempt -to use standard 10-05 locations.

    +
    +
    erp_scalp(data, ...)
    +
    +# Default S3 method
    +erp_scalp(
    +  data,
    +  electrode = "electrode",
    +  amplitude = "amplitude",
    +  time = "time",
    +  color = NULL,
    +  colour = NULL,
    +  size = 0.8,
    +  linewidth = 0.8,
    +  baseline = NULL,
    +  show_guide = TRUE,
    +  chan_info = NULL,
    +  montage = NULL,
    +  ...
    +)
    +
    -

    Value

    +
    +

    Arguments

    -

    Returns a ggplot2 plot object.

    -

    Methods (by class)

    - -
      -
    • default: Plot an ERP scalp map

    • -
    -

    See also

    +
    data
    +

    An eeg_epochs or eeg_evoked object

    -

    interactive_scalp() for interactive plots of ERPs in a scalp-based + +

    ...
    +

    Various arguments passed to specific functions

    + + +
    electrode
    +

    Column name containing electrode names in data. Defaults to +"electrode".

    + + +
    amplitude
    +

    Column name containing amplitudes in data. Defaults to +"amplitude".

    + + +
    time
    +

    Column name containing time in data. Defaults to "time".

    + + +
    color
    +

    Alias for colour.

    + + +
    colour
    +

    Variable to colour lines by. If no variable is passed, only one +line is drawn for each electrode.

    + + +
    size
    +

    Size of the line(s) for the ERPs. Deprecated

    + + +
    linewidth
    +

    Size of the line(s) for the ERPs.

    + + +
    baseline
    +

    Character vector of times to subtract for baseline correct.

    + + +
    show_guide
    +

    Should be a guide showing the scale of the ERP plots be +shown. Defaults to TRUE.

    + + +
    chan_info
    +

    Pass channel information in the standard eegUtils format +directly.

    + + +
    montage
    +

    Name of an existing montage set. Defaults to NULL, which will +attempt to us locations from the data. If none are found, it will attempt +to use standard 10-05 locations.

    + +
    +
    +

    Value

    +

    Returns a ggplot2 plot object.

    +
    +
    +

    Methods (by class)

    + +
    • erp_scalp(default): Plot an ERP scalp map

    • +
    +
    +

    See also

    +

    interactive_scalp() for interactive plots of ERPs in a scalp-based layout.

    -

    Other scalp-based maps: -interactive_scalp(), -topoplot()

    -

    Author

    - -

    Matti Vuorre, mv2521@columbia.edu

    -

    Matt Craddock, matt@mattcraddock.com

    - -

    Examples

    -
    erp_scalp(demo_epochs, montage = "biosemi64alpha") -
    -
    +

    Other scalp-based maps: +interactive_scalp(), +topoplot()

    +
    +
    +

    Author

    +

    Matti Vuorre, mv2521@columbia.edu

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    erp_scalp(demo_epochs, montage = "biosemi64alpha")
    +
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/est_filt_order.html b/docs/dev/reference/est_filt_order.html index f978719b..9431dc5a 100644 --- a/docs/dev/reference/est_filt_order.html +++ b/docs/dev/reference/est_filt_order.html @@ -1,67 +1,12 @@ - - - - - - - -Estimate filter order — est_filt_order • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Estimate filter order — est_filt_order • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,51 +80,48 @@

    Estimate filter order

    Estimate filter order

    -
    est_filt_order(window, tbw, srate)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    window

    Window to use (string)

    tbw

    Transition bandwidth.

    srate

    Sampling rate (Hz)

    +
    +
    est_filt_order(window, tbw, srate)
    +
    +
    +

    Arguments

    + + +
    window
    +

    Window to use (string)

    + + +
    tbw
    +

    Transition bandwidth.

    + + +
    srate
    +

    Sampling rate (Hz)

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/est_tbw.html b/docs/dev/reference/est_tbw.html index 33771f92..98a47ff9 100644 --- a/docs/dev/reference/est_tbw.html +++ b/docs/dev/reference/est_tbw.html @@ -1,67 +1,12 @@ - - - - - - - -Estimate transition bandwidth — est_tbw • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Estimate transition bandwidth — est_tbw • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Estimate transition bandwidth

    Estimate transition bandwidth

    -
    est_tbw(filt_pars, srate)
    +
    +
    est_tbw(filt_pars, srate)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    filt_pars

    Parsed filter information from parse_filt_freqs

    srate

    Sampling rate (Hz)

    +
    filt_pars
    +

    Parsed filter information from parse_filt_freqs

    +
    srate
    +

    Sampling rate (Hz)

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/events.html b/docs/dev/reference/events.html index 0f15a556..a630583d 100644 --- a/docs/dev/reference/events.html +++ b/docs/dev/reference/events.html @@ -1,67 +1,12 @@ - - - - - - - -Modify events structure — events • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Modify events structure — events • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,100 +80,103 @@

    Modify events structure

    Get or set the values in the events structure of an eegUtils object.

    -
    events(.data)
    -
    -events(.data) <- value
    -
    -# S3 method for eeg_epochs
    -events(.data) <- value
    -
    -# S3 method for eeg_data
    -events(.data) <- value
    - -

    Arguments

    - - - - - - - - - - -
    .data

    eegUtils object to view

    value

    Value to replace events structure with.

    - -

    See also

    - -

    Other event handlers: -list_epochs(), -list_events(), -tag_events()

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    events(demo_epochs) -
    #> # A tibble: 80 x 5 -#> event_onset event_time event_type epoch time -#> <dbl> <dbl> <dbl> <dbl> <dbl> -#> 1 4128 8.06 208 1 0 -#> 2 7037 13.7 213 2 0 -#> 3 10043 19.6 215 3 0 -#> 4 12928 25.2 213 4 0 -#> 5 15868 31.0 207 5 0 -#> 6 18777 36.7 207 6 0 -#> 7 21578 42.1 213 7 0 -#> 8 24554 48.0 213 8 0 -#> 9 27379 53.5 222 9 0 -#> 10 30306 59.2 208 10 0 -#> # ... with 70 more rows
    events(demo_epochs) <- mutate(events(demo_epochs), - sf = dplyr::case_when( - event_type %% 2 == 0 ~ "HSF", - event_type %% 2 == 1 ~ "LSF", - )) -events(demo_epochs) -
    #> # A tibble: 80 x 6 -#> event_onset event_time event_type epoch time sf -#> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> -#> 1 4128 8.06 208 1 0 HSF -#> 2 7037 13.7 213 2 0 LSF -#> 3 10043 19.6 215 3 0 LSF -#> 4 12928 25.2 213 4 0 LSF -#> 5 15868 31.0 207 5 0 LSF -#> 6 18777 36.7 207 6 0 LSF -#> 7 21578 42.1 213 7 0 LSF -#> 8 24554 48.0 213 8 0 LSF -#> 9 27379 53.5 222 9 0 HSF -#> 10 30306 59.2 208 10 0 HSF -#> # ... with 70 more rows
    -
    +
    +
    events(.data)
    +
    +events(.data) <- value
    +
    +# S3 method for class 'eeg_epochs'
    +events(.data) <- value
    +
    +# S3 method for class 'eeg_data'
    +events(.data) <- value
    +
    + +
    +

    Arguments

    + + +
    .data
    +

    eegUtils object to view

    + + +
    value
    +

    Value to replace events structure with.

    + +
    +
    +

    See also

    +

    Other event handlers: +list_epochs(), +list_events(), +tag_events()

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    events(demo_epochs)
    +#> # A tibble: 80 × 5
    +#>    event_onset event_time event_type epoch  time
    +#>          <dbl>      <dbl>      <dbl> <dbl> <dbl>
    +#>  1        4128       8.06        208     1     0
    +#>  2        7037      13.7         213     2     0
    +#>  3       10043      19.6         215     3     0
    +#>  4       12928      25.2         213     4     0
    +#>  5       15868      31.0         207     5     0
    +#>  6       18777      36.7         207     6     0
    +#>  7       21578      42.1         213     7     0
    +#>  8       24554      48.0         213     8     0
    +#>  9       27379      53.5         222     9     0
    +#> 10       30306      59.2         208    10     0
    +#> # ℹ 70 more rows
    +events(demo_epochs) <- mutate(events(demo_epochs),
    + sf = dplyr::case_when(
    +         event_type %% 2 == 0 ~ "HSF",
    +         event_type %% 2 == 1 ~ "LSF",
    + ))
    +events(demo_epochs)
    +#> # A tibble: 80 × 6
    +#>    event_onset event_time event_type epoch  time sf   
    +#>          <dbl>      <dbl>      <dbl> <dbl> <dbl> <chr>
    +#>  1        4128       8.06        208     1     0 HSF  
    +#>  2        7037      13.7         213     2     0 LSF  
    +#>  3       10043      19.6         215     3     0 LSF  
    +#>  4       12928      25.2         213     4     0 LSF  
    +#>  5       15868      31.0         207     5     0 LSF  
    +#>  6       18777      36.7         207     6     0 LSF  
    +#>  7       21578      42.1         213     7     0 LSF  
    +#>  8       24554      48.0         213     8     0 LSF  
    +#>  9       27379      53.5         222     9     0 HSF  
    +#> 10       30306      59.2         208    10     0 HSF  
    +#> # ℹ 70 more rows
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/export_bva.eeg_data.html b/docs/dev/reference/export_bva.eeg_data.html new file mode 100644 index 00000000..f29b8c8e --- /dev/null +++ b/docs/dev/reference/export_bva.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/export_bva.html b/docs/dev/reference/export_bva.html index dbdae081..8b35fed4 100644 --- a/docs/dev/reference/export_bva.html +++ b/docs/dev/reference/export_bva.html @@ -1,69 +1,14 @@ - - - - - - - -Export continuous data in Brain Vision Analyzer format — export_bva • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Export continuous data in Brain Vision Analyzer format — export_bva • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    + +
    +
    export_bva(.data, filename, orientation, verbose = TRUE)
    +
    +# S3 method for class 'eeg_data'
    +export_bva(.data, filename, orientation = "VECTORIZED", verbose = TRUE)
    -
    export_bva(.data, filename, orientation, verbose = TRUE)
    -
    -# S3 method for eeg_data
    -export_bva(.data, filename, orientation = "VECTORIZED", verbose = TRUE)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    .data

    eeg_data object to be exported.

    filename

    String giving filename to export to. File extensions will be removed when supplied.

    orientation

    VECTORIZED or MULTIPLEXED. This relates to the way the +

    +

    Arguments

    + + +
    .data
    +

    eeg_data object to be exported.

    + + +
    filename
    +

    String giving filename to export to. File extensions will be removed when supplied.

    + + +
    orientation
    +

    VECTORIZED or MULTIPLEXED. This relates to the way the data is stored in the binary file. VECTORIZED is the default and -recommended.

    verbose

    print informative messages to console

    +recommended.

    -

    Methods (by class)

    - -
      -
    • eeg_data: Method for eeg_data

    • -
    +
    verbose
    +

    print informative messages to console

    + +
    +
    +

    Methods (by class)

    + +
    • export_bva(eeg_data): Method for eeg_data

    • +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/faster_chans.html b/docs/dev/reference/faster_chans.html index b605f053..9e6d76b7 100644 --- a/docs/dev/reference/faster_chans.html +++ b/docs/dev/reference/faster_chans.html @@ -1,67 +1,12 @@ - - - - - - - -Perform global bad channel detection for FASTER — faster_chans • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Perform global bad channel detection for FASTER — faster_chans • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,51 +80,48 @@

    Perform global bad channel detection for FASTER

    Perform global bad channel detection for FASTER

    -
    faster_chans(data, sds = 3, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    A matrix of EEG data signals

    sds

    Standard deviation thresholds

    ...

    Further parameters (tbd)

    +
    +
    faster_chans(data, sds = 3, ...)
    +
    +
    +

    Arguments

    + + +
    data
    +

    A matrix of EEG data signals

    + + +
    sds
    +

    Standard deviation thresholds

    + + +
    ...
    +

    Further parameters (tbd)

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/faster_cine.html b/docs/dev/reference/faster_cine.html index 94291981..be433cc1 100644 --- a/docs/dev/reference/faster_cine.html +++ b/docs/dev/reference/faster_cine.html @@ -1,67 +1,12 @@ - - - - - - - -FASTER detection of bad channels in single epochs — faster_cine • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -FASTER detection of bad channels in single epochs — faster_cine • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,51 +80,48 @@

    FASTER detection of bad channels in single epochs

    FASTER detection of bad channels in single epochs

    -
    faster_cine(data, exclude = NULL, max_bad = 10, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    eeg_epochs object.

    exclude

    Channels to be ignored.

    ...

    further parameters (tbd)

    +
    +
    faster_cine(data, exclude = NULL, max_bad = 10, ...)
    +
    +
    +

    Arguments

    + + +
    data
    +

    eeg_epochs object.

    + + +
    exclude
    +

    Channels to be ignored.

    + + +
    ...
    +

    further parameters (tbd)

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/faster_epo_stat.html b/docs/dev/reference/faster_epo_stat.html index 444a1c60..fbffc16e 100644 --- a/docs/dev/reference/faster_epo_stat.html +++ b/docs/dev/reference/faster_epo_stat.html @@ -1,67 +1,12 @@ - - - - - - - -Calculate statistics for each channel in an epoch and identify bad channels — faster_epo_stat • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate statistics for each channel in an epoch and identify bad channels — faster_epo_stat • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Calculate statistics for each channel in an epoch and identify bad channels<

    Calculate statistics for each channel in an epoch and identify bad channels

    -
    faster_epo_stat(data, exclude = NULL, sds = 3, chan_means)
    +
    +
    faster_epo_stat(data, exclude = NULL, sds = 3, chan_means)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    data

    a matrix of signals from a single epoch

    +
    data
    +

    a matrix of signals from a single epoch

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/faster_epochs.html b/docs/dev/reference/faster_epochs.html index d93bede7..d3ee6080 100644 --- a/docs/dev/reference/faster_epochs.html +++ b/docs/dev/reference/faster_epochs.html @@ -1,67 +1,12 @@ - - - - - - - -Perform global bad epoch detection for FASTER — faster_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Perform global bad epoch detection for FASTER — faster_epochs • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,51 +80,48 @@

    Perform global bad epoch detection for FASTER

    Perform global bad epoch detection for FASTER

    -
    faster_epochs(data, sds = 3, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    eeg_epochs object

    sds

    standard deviations for threshold

    ...

    Further parameters (tbd)

    +
    +
    faster_epochs(data, sds = 3, ...)
    +
    +
    +

    Arguments

    + + +
    data
    +

    eeg_epochs object

    + + +
    sds
    +

    standard deviations for threshold

    + + +
    ...
    +

    Further parameters (tbd)

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/fft_n.html b/docs/dev/reference/fft_n.html index 58d090ed..6534a777 100644 --- a/docs/dev/reference/fft_n.html +++ b/docs/dev/reference/fft_n.html @@ -1,68 +1,13 @@ - - - - - - - -N-point FFT — fft_n • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -N-point FFT — fft_n • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,47 +82,44 @@

    N-point FFT

    runs an FFT.

    -
    fft_n(signal, n)
    +
    +
    fft_n(signal, n)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    signal

    signal to be FFT'd

    n

    Number of FFT points

    +
    signal
    +

    signal to be FFT'd

    +
    n
    +

    Number of FFT points

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/filt_kernel.html b/docs/dev/reference/filt_kernel.html index 11869ecb..f2474e42 100644 --- a/docs/dev/reference/filt_kernel.html +++ b/docs/dev/reference/filt_kernel.html @@ -1,69 +1,14 @@ - - - - - - - -Create windowed-sinc filter kernel — filt_kernel • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create windowed-sinc filter kernel — filt_kernel • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,51 +84,48 @@

    Create windowed-sinc filter kernel

    filtering.

    -
    filt_kernel(filt_order, cut_off, w)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    filt_order

    Length of the filter in samples

    cut_off

    Cutoff frequency (normalized as a fraction of sampling rate)

    w

    Window

    +
    +
    filt_kernel(filt_order, cut_off, w)
    +
    +
    +

    Arguments

    + + +
    filt_order
    +

    Length of the filter in samples

    + + +
    cut_off
    +

    Cutoff frequency (normalized as a fraction of sampling rate)

    + + +
    w
    +

    Window

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/filter.html b/docs/dev/reference/filter.html new file mode 100644 index 00000000..2b5e2469 --- /dev/null +++ b/docs/dev/reference/filter.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/filter_coefs.html b/docs/dev/reference/filter_coefs.html index b96e3c25..da668f63 100644 --- a/docs/dev/reference/filter_coefs.html +++ b/docs/dev/reference/filter_coefs.html @@ -1,67 +1,12 @@ - - - - - - - -Generate filter coefficients — filter_coefs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Generate filter coefficients — filter_coefs • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,55 +80,52 @@

    Generate filter coefficients

    Generate filter coefficients for an IIR or FIR filter.

    -
    filter_coefs(method, filt_pars, filter_order, window)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    method

    IIR or FIR

    filt_pars

    output of parse_filt_freqs

    filter_order

    order of the filter in samples

    window

    Ignored for IIR

    +
    +
    filter_coefs(method, filt_pars, filter_order, window)
    +
    + +
    +

    Arguments

    +
    method
    +

    IIR or FIR

    + + +
    filt_pars
    +

    output of parse_filt_freqs

    + + +
    filter_order
    +

    order of the filter in samples

    + + +
    window
    +

    Ignored for IIR

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/find_times.html b/docs/dev/reference/find_times.html index 82bb9263..74208300 100644 --- a/docs/dev/reference/find_times.html +++ b/docs/dev/reference/find_times.html @@ -1,67 +1,12 @@ - - - - - - - -Find times in an eeg_* object — find_times • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Find times in an eeg_* object — find_times • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,50 +80,48 @@

    Find times in an eeg_* object

    Internal function to find the rows corresponding to the selected time limits

    -
    find_times(timings, time_lim)
    +
    +
    find_times(timings, time_lim)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    timings

    timing information from the EEG object.

    time_lim

    character vector of the time limits

    +
    timings
    +

    timing information from the EEG object.

    -

    Value

    +
    time_lim
    +

    character vector of the time limits

    + +
    +
    +

    Value

    logical vector of selected timepoints

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/fit_glm.eeg_epochs.html b/docs/dev/reference/fit_glm.eeg_epochs.html new file mode 100644 index 00000000..863f307f --- /dev/null +++ b/docs/dev/reference/fit_glm.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/fit_glm.html b/docs/dev/reference/fit_glm.html index 8a943c19..8484e7e6 100644 --- a/docs/dev/reference/fit_glm.html +++ b/docs/dev/reference/fit_glm.html @@ -1,67 +1,12 @@ - - - - - - - -Fit a linear model to EEG data — fit_glm • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Fit a linear model to EEG data — fit_glm • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,43 +80,43 @@

    Fit a linear model to EEG data

    Fits a linear model to each timepoint separately for each electrode.

    -
    fit_glm(formula, data, ...)
    -
    -# S3 method for eeg_epochs
    -fit_glm(formula, data, time_lim = NULL, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    formula

    An object of class formula. Right-hand side A -regression formula for a GLM. See ?formula and notes on use below

    data

    An eegUtils object.

    ...

    Any other arguments passed to (LM/GLM)

    time_lim

    Numeric vector of length 2 specifying time period to be used -as a baseline.

    - -

    Methods (by class)

    - - -
      -
    • eeg_epochs: GLM fitting for eeg_epochs

    • -
    -

    Notes On Usage

    - - +
    +
    fit_glm(formula, data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +fit_glm(formula, data, baseline = NULL, ...)
    +
    + +
    +

    Arguments

    + + +
    formula
    +

    An object of class formula. Right-hand side A +regression formula for a GLM. See ?formula and notes on use below

    + + +
    data
    +

    An eegUtils object.

    + + +
    ...
    +

    Any other arguments passed to (LM/GLM)

    + + +
    baseline
    +

    Numeric vector of length 2 specifying time period to be used +as a baseline.

    + +
    +
    +

    Methods (by class)

    + +
    • fit_glm(eeg_epochs): GLM fitting for eeg_epochs

    • +
    +
    +

    Notes On Usage

    +

    The fit_glm function will fit a linear model to each timepoint for @@ -198,35 +125,53 @@

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    +
    +

    Examples

    +
    fit_glm(~epoch_labels, demo_spatial)
    +#> EEG Linear Model
    +#> 
    +#> Formula: ~ epoch_labels 
    +#> 
    +#> Number of fitted channels	:	 23 
    +#> Channel names			: Fp1 F3 F7 C3 T7 P3 P7 Oz Pz Fpz Fp2 Fz F4 F8 Cz C4 T8 P4 P8 EXG1 EXG2 EXG3 EXG4 
    +#> Epoch limits			: -0.301 - 0.488 seconds
    +fit_glm(~epoch_labels + baseline, demo_spatial, baseline = c(-.1, 0))
    +#> EEG Linear Model
    +#> 
    +#> Formula: ~ epoch_labels + baseline 
    +#> 
    +#> Number of fitted channels	:	 23 
    +#> Channel names			: Fp1 F3 F7 C3 T7 P3 P7 Oz Pz Fpz Fp2 Fz F4 F8 Cz C4 T8 P4 P8 EXG1 EXG2 EXG3 EXG4 
    +#> Epoch limits			: -0.301 - 0.488 seconds
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/fix_grpdelay.html b/docs/dev/reference/fix_grpdelay.html index ac6783c1..739fd439 100644 --- a/docs/dev/reference/fix_grpdelay.html +++ b/docs/dev/reference/fix_grpdelay.html @@ -1,67 +1,12 @@ - - - - - - - -Fix group delay — fix_grpdelay • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Fix group delay — fix_grpdelay • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,35 +80,32 @@

    Fix group delay

    Corrects a signal for the group delay of an FIR filter.

    -
    fix_grpdelay(x, n, grp_delay)
    - +
    +
    fix_grpdelay(x, n, grp_delay)
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/flip_x.html b/docs/dev/reference/flip_x.html index 6b8cbf5d..48ec0f00 100644 --- a/docs/dev/reference/flip_x.html +++ b/docs/dev/reference/flip_x.html @@ -1,67 +1,12 @@ - - - - - - - -Flip x-axis coords — flip_x • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Flip x-axis coords — flip_x • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Flip x-axis coords

    Flip x-axis coords

    -
    flip_x(chan_info)
    +
    +
    flip_x(chan_info)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    chan_info

    chan-info structure

    +
    chan_info
    +

    chan-info structure

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/fortify.html b/docs/dev/reference/fortify.html new file mode 100644 index 00000000..2b5e2469 --- /dev/null +++ b/docs/dev/reference/fortify.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/gauss_filter.html b/docs/dev/reference/gauss_filter.html index feb25a4a..2389b020 100644 --- a/docs/dev/reference/gauss_filter.html +++ b/docs/dev/reference/gauss_filter.html @@ -1,67 +1,12 @@ - - - - - - - -Gaussian filter — gauss_filter • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Gaussian filter — gauss_filter • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,55 +80,52 @@

    Gaussian filter

    Gaussian filtering in the frequency domain.

    -
    gauss_filter(data, srate, freq, fwhm)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    Data to be filtered

    srate

    Sampling rate of the data

    freq

    Peak frequency of the filter

    fwhm

    Standard deviation of the filter

    +
    +
    gauss_filter(data, srate, freq, fwhm)
    +
    + +
    +

    Arguments

    +
    data
    +

    Data to be filtered

    + + +
    srate
    +

    Sampling rate of the data

    + + +
    freq
    +

    Peak frequency of the filter

    + + +
    fwhm
    +

    Standard deviation of the filter

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/geom_channels.html b/docs/dev/reference/geom_channels.html new file mode 100644 index 00000000..a8f7efab --- /dev/null +++ b/docs/dev/reference/geom_channels.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/geom_ears.html b/docs/dev/reference/geom_ears.html new file mode 100644 index 00000000..a8f7efab --- /dev/null +++ b/docs/dev/reference/geom_ears.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/geom_head.html b/docs/dev/reference/geom_head.html new file mode 100644 index 00000000..a8f7efab --- /dev/null +++ b/docs/dev/reference/geom_head.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/geom_mask.html b/docs/dev/reference/geom_mask.html new file mode 100644 index 00000000..a8f7efab --- /dev/null +++ b/docs/dev/reference/geom_mask.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/geom_topo-1.png b/docs/dev/reference/geom_topo-1.png index 580ad971..066f4479 100644 Binary files a/docs/dev/reference/geom_topo-1.png and b/docs/dev/reference/geom_topo-1.png differ diff --git a/docs/dev/reference/geom_topo.html b/docs/dev/reference/geom_topo.html index 0cd0d0e9..8be5338a 100644 --- a/docs/dev/reference/geom_topo.html +++ b/docs/dev/reference/geom_topo.html @@ -1,70 +1,15 @@ - - - - - - - -Create a topographical plot — geom_topo • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create a topographical plot — geom_topo • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -159,162 +86,200 @@

    Create a topographical plot

    not allow unevenly spaced grids, the function creates an interpolated surface.

    -
    geom_topo(
    -  mapping = NULL,
    -  data = NULL,
    -  stat = "identity",
    -  position = "identity",
    -  show.legend = NA,
    -  na.rm = TRUE,
    -  inherit.aes = TRUE,
    -  interpolate = FALSE,
    -  interp_limit = "skirt",
    -  chan_markers = "point",
    -  chan_size = rel(2),
    -  head_size = rel(1.5),
    -  r = NULL,
    -  grid_res = 200,
    -  method = "biharmonic",
    -  bins = 6,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    mapping

    Set of aesthetic mappings created by aes() or -aes_(). If specified and inherit.aes = TRUE (the -default), it is combined with the default mapping at the top level of the -plot. You must supply mapping if there is no plot mapping.

    data

    The data to be displayed in this layer. There are three +

    +
    geom_topo(
    +  mapping = NULL,
    +  data = NULL,
    +  stat = "identity",
    +  position = "identity",
    +  show.legend = NA,
    +  na.rm = TRUE,
    +  inherit.aes = TRUE,
    +  interpolate = FALSE,
    +  interp_limit = "skirt",
    +  chan_markers = "point",
    +  chan_size = rel(2),
    +  head_size = rel(1.5),
    +  r = NULL,
    +  grid_res = 200,
    +  method = "biharmonic",
    +  bins = 6,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    mapping
    +

    Set of aesthetic mappings created by aes(). If specified and +inherit.aes = TRUE (the default), it is combined with the default mapping +at the top level of the plot. You must supply mapping if there is no plot +mapping.

    + + +
    data
    +

    The data to be displayed in this layer. There are three options:

    If NULL, the default, the data is inherited from the plot -data as specified in the call to ggplot().

    +data as specified in the call to ggplot().

    A data.frame, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -fortify() for which variables will be created.

    +fortify() for which variables will be created.

    A function will be called with a single argument, the plot data. The return value must be a data.frame, and will be used as the layer data. A function can be created -from a formula (e.g. ~ head(.x, 10)).

    stat

    The statistical transformation to use on the data for this -layer, as a string.

    position

    Position adjustment, either as a string, or the result of -a call to a position adjustment function.

    show.legend

    logical. Should this layer be included in the legends? +from a formula (e.g. ~ head(.x, 10)).

    + + +
    stat
    +

    The statistical transformation to use on the data for this layer. +When using a geom_*() function to construct a layer, the stat +argument can be used the override the default coupling between geoms and +stats. The stat argument accepts the following:

    • A Stat ggproto subclass, for example StatCount.

    • +
    • A string naming the stat. To give the stat as a string, strip the +function name of the stat_ prefix. For example, to use stat_count(), +give the stat as "count".

    • +
    • For more information and other ways to specify the stat, see the +layer stat documentation.

    • +
    + + +
    position
    +

    A position adjustment to use on the data for this layer. This +can be used in various ways, including to prevent overplotting and +improving the display. The position argument accepts the following:

    • The result of calling a position function, such as position_jitter(). +This method allows for passing extra arguments to the position.

    • +
    • A string naming the position adjustment. To give the position as a +string, strip the function name of the position_ prefix. For example, +to use position_jitter(), give the position as "jitter".

    • +
    • For more information and other ways to specify the position, see the +layer position documentation.

    • +
    + + +
    show.legend
    +

    logical. Should this layer be included in the legends? NA, the default, includes if any aesthetics are mapped. FALSE never includes, and TRUE always includes. It can also be a named logical vector to finely select the aesthetics to -display.

    na.rm

    If FALSE, the default, missing values are removed with -a warning. If TRUE, missing values are silently removed.

    inherit.aes

    If FALSE, overrides the default aesthetics, +display.

    + + +
    na.rm
    +

    If FALSE, the default, missing values are removed with +a warning. If TRUE, missing values are silently removed.

    + + +
    inherit.aes
    +

    If FALSE, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. borders().

    interpolate

    If TRUE interpolate linearly, if FALSE -(the default) don't interpolate.

    interp_limit

    Topoplot with a "skirt" or inside the "head".

    chan_markers

    Defaults to "point". Mark electrode positions with points -or text.

    chan_size

    Size for channel markers, if any.

    head_size

    Size of the head shape.

    r

    Head circumference

    grid_res

    Smoothness of the interpolation grid.

    method

    "biharmonic" or ""gam".

    bins

    Number of bins to use for contour lines.

    ...

    Other arguments passed on to layer(). These are -often aesthetics, used to set an aesthetic to a fixed value, like -colour = "red" or size = 3. They may also be parameters -to the paired geom/stat.

    - -

    See also

    - -

    Other topoplot functions: -stat_scalpcontours(), -stat_scalpmap()

    - -

    Examples

    -
    library(ggplot2) -ggplot(demo_epochs, aes(x = x, y = y, fill = amplitude, z = amplitude)) + geom_topo() -
    #> Warning: Unknown or uninitialised column: `group`.
    +the default plot specification, e.g. borders().

    + + +
    interpolate
    +

    If TRUE interpolate linearly, if FALSE +(the default) don't interpolate.

    + + +
    interp_limit
    +

    Topoplot with a "skirt" or inside the "head".

    + + +
    chan_markers
    +

    Defaults to "point". Mark electrode positions with points +or text.

    + + +
    chan_size
    +

    Size for channel markers, if any.

    + + +
    head_size
    +

    Size of the head shape.

    + + +
    r
    +

    Head circumference

    + + +
    grid_res
    +

    Smoothness of the interpolation grid.

    + + +
    method
    +

    "biharmonic" or ""gam".

    + + +
    bins
    +

    Number of bins to use for contour lines.

    + + +
    ...
    +

    Other arguments passed on to layer()'s params argument. These +arguments broadly fall into one of 4 categories below. Notably, further +arguments to the position argument, or aesthetics that are required +can not be passed through .... Unknown arguments that are not part +of the 4 categories below are ignored.

    • Static aesthetics that are not mapped to a scale, but are at a fixed +value and apply to the layer as a whole. For example, colour = "red" +or linewidth = 3. The geom's documentation has an Aesthetics +section that lists the available options. The 'required' aesthetics +cannot be passed on to the params. Please note that while passing +unmapped aesthetics as vectors is technically possible, the order and +required length is not guaranteed to be parallel to the input data.

    • +
    • When constructing a layer using +a stat_*() function, the ... argument can be used to pass on +parameters to the geom part of the layer. An example of this is +stat_density(geom = "area", outline.type = "both"). The geom's +documentation lists which parameters it can accept.

    • +
    • Inversely, when constructing a layer using a +geom_*() function, the ... argument can be used to pass on parameters +to the stat part of the layer. An example of this is +geom_area(stat = "density", adjust = 0.5). The stat's documentation +lists which parameters it can accept.

    • +
    • The key_glyph argument of layer() may also be passed on through +.... This can be one of the functions described as +key glyphs, to change the display of the layer in the legend.

    • +
    + +
    +
    +

    See also

    +

    Other topoplot functions: +stat_scalpcontours(), +stat_scalpmap()

    +
    + +
    +

    Examples

    +
    library(ggplot2)
    +ggplot(demo_epochs, aes(x = x, y = y, fill = amplitude, z = amplitude)) + geom_topo()
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/get_epoch_baselines.html b/docs/dev/reference/get_epoch_baselines.html index 7b9c6948..611c050f 100644 --- a/docs/dev/reference/get_epoch_baselines.html +++ b/docs/dev/reference/get_epoch_baselines.html @@ -1,67 +1,12 @@ - - - - - - - -Get epoch baselines — get_epoch_baselines • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Get epoch baselines — get_epoch_baselines • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,51 +80,49 @@

    Get epoch baselines

    Gets the baseline values for every epoch separately

    -
    get_epoch_baselines(data, time_lim)
    +
    +
    get_epoch_baselines(data, time_lim)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    data

    data for which to calculate the baselines

    time_lim

    time limits of the baseline period. numeric vector of length -two, c(start, end)

    +
    data
    +

    data for which to calculate the baselines

    -

    Value

    +
    time_lim
    +

    time limits of the baseline period. numeric vector of length +two, c(start, end)

    + +
    +
    +

    Value

    A numeric matrix of n_epochs x n_channels.

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/get_lm.html b/docs/dev/reference/get_lm.html index d1895fb7..26a98312 100644 --- a/docs/dev/reference/get_lm.html +++ b/docs/dev/reference/get_lm.html @@ -1,67 +1,12 @@ - - - - - - - -Calculate coefficients and standard errors — get_lm • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate coefficients and standard errors — get_lm • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,59 +80,56 @@

    Calculate coefficients and standard errors

    Calculate coefficients and standard errors

    -
    get_lm(mdf, x, inverted_dm, resid_df, robust = FALSE)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    mdf

    model matrix

    x

    data to be modelled (matrix of trials x channels)

    inverted_dm

    inverted matrix - unscaled covariance

    resid_df

    residual degrees of freedom for the model

    robust

    Use heteroskedasticity-consistent covariance (HC3).

    +
    +
    get_lm(mdf, x, inverted_dm, resid_df, robust = FALSE)
    +
    + +
    +

    Arguments

    + + +
    mdf
    +

    model matrix

    +
    x
    +

    data to be modelled (matrix of trials x channels)

    + + +
    inverted_dm
    +

    inverted matrix - unscaled covariance

    + + +
    resid_df
    +

    residual degrees of freedom for the model

    + + +
    robust
    +

    Use heteroskedasticity-consistent covariance (HC3).

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/get_participant_id.html b/docs/dev/reference/get_participant_id.html index 291c1e49..8c8fdfce 100644 --- a/docs/dev/reference/get_participant_id.html +++ b/docs/dev/reference/get_participant_id.html @@ -1,69 +1,14 @@ - - - - - - - -Query and set elements of the epochs metadata structures — get_participant_id • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Query and set elements of the epochs metadata structures — get_participant_id • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,38 +84,38 @@

    Query and set elements of the epochs metadata structures

    Note that the two set_* functions do not operate on eeg_group objects.

    -
    get_participant_id(data)
    +    
    +
    get_participant_id(data)
    +
    +get_recording(data)
    +
    +set_participant_id(data, participant_id)
    +
    +set_recording(data, recording)
    +
    -get_recording(data) +
    +

    Arguments

    -set_participant_id(data, participant_id) -set_recording(data, recording)
    +
    data
    +

    An eegUtils object.

    -

    Arguments

    - - - - - - - - - - - - - - -
    data

    An eegUtils object.

    participant_id

    A character vector giving the name to use for the -participant_id for a particular object.

    recording

    A character vector giving the name to use for the EEG -recording.

    -

    Value

    +
    participant_id
    +

    A character vector giving the name to use for the +participant_id for a particular object.

    - -
      -
    • get_participant_id() returns a character vector containing the + +

      recording
      +

      A character vector giving the name to use for the EEG +recording.

      + +
    +
    +

    Value

    + +
    • get_participant_id() returns a character vector containing the participant_id

    • get_recording() returns a character vector containing the recording from values of recording from the eegUtils object

    • @@ -196,61 +123,59 @@

      Value

      participant_id field modified in the epochs structure

    • set_recording() returns the full eegUtilsobject with the recording field modified in the epochs structure

    • -
    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    -

    Examples

    -
    get_participant_id(demo_epochs)
    -#> [1] "001"
    -get_recording(demo_epochs)
    -#> [1] NA
    -set_participant_id(demo_epochs, "002")
    -#> Epoched EEG data
    -#> 
    -#> Number of channels	: 11 
    -#> Number of epochs	: 80 
    -#> Epoch limits		: -0.197 - 0.451 seconds
    -#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    -#> Sampling rate		: 128  Hz
    -#> Reference		: average 
    -set_recording(demo_epochs, "test_recording")
    -#> Epoched EEG data
    -#> 
    -#> Number of channels	: 11 
    -#> Number of epochs	: 80 
    -#> Epoch limits		: -0.197 - 0.451 seconds
    -#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    -#> Sampling rate		: 128  Hz
    -#> Reference		: average 
    -
    +
    +

    Examples

    +
    get_participant_id(demo_epochs)
    +#> [1] "001"
    +get_recording(demo_epochs)
    +#> [1] NA
    +set_participant_id(demo_epochs, "002")
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +set_recording(demo_epochs, "test_recording")
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/get_recording.html b/docs/dev/reference/get_recording.html new file mode 100644 index 00000000..9b8981f6 --- /dev/null +++ b/docs/dev/reference/get_recording.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/get_scalpmap.data.frame.html b/docs/dev/reference/get_scalpmap.data.frame.html new file mode 100644 index 00000000..bb97e1e3 --- /dev/null +++ b/docs/dev/reference/get_scalpmap.data.frame.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/get_scalpmap.eeg_epochs.html b/docs/dev/reference/get_scalpmap.eeg_epochs.html new file mode 100644 index 00000000..bb97e1e3 --- /dev/null +++ b/docs/dev/reference/get_scalpmap.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/get_scalpmap.html b/docs/dev/reference/get_scalpmap.html index 78b74f16..c1a9b63d 100644 --- a/docs/dev/reference/get_scalpmap.html +++ b/docs/dev/reference/get_scalpmap.html @@ -1,69 +1,14 @@ - - - - - - - -Calculate an interpolated scalpmap — get_scalpmap • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate an interpolated scalpmap — get_scalpmap • eegUtils - - - - - - - - - - + - - -
    -
    - - -
    -
    +
    @@ -157,122 +84,123 @@

    Calculate an interpolated scalpmap

    create topographical plots.

    -
    get_scalpmap(data, ...)
    -
    -# S3 method for data.frame
    -get_scalpmap(
    -  data,
    -  method = "biharmonic",
    -  grid_res = 100,
    -  interp_limit = "skirt",
    -  quantity = "amplitude",
    -  facets = NULL,
    -  r = 95,
    -  k = -1,
    -  ...
    -)
    -
    -# S3 method for eeg_epochs
    -get_scalpmap(
    -  data,
    -  method = "biharmonic",
    -  grid_res = 100,
    -  interp_limit = "skirt",
    -  quantity = "amplitude",
    -  facets = NULL,
    -  r = 95,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An object of class 'data.frame`

    ...

    Other arguments

    method

    "biharmonic" or "gam" smooth

    grid_res

    Grid resolution

    interp_limit

    Interpolate up to the "head" or add a "skirt"

    quantity

    Quantity to be plotted. Defaults to "amplitude".

    facets

    Any facets you plan to use

    r

    Size of headshape

    k

    Degrees of freedom used for spline when using method = gam. -Defaults to -1, which attempts to automatically determine k.

    - -

    Value

    +
    +
    get_scalpmap(data, ...)
    +
    +# S3 method for class 'data.frame'
    +get_scalpmap(
    +  data,
    +  method = "biharmonic",
    +  grid_res = 100,
    +  interp_limit = "skirt",
    +  quantity = "amplitude",
    +  facets = NULL,
    +  r = 95,
    +  k = -1,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_epochs'
    +get_scalpmap(
    +  data,
    +  method = "biharmonic",
    +  grid_res = 100,
    +  interp_limit = "skirt",
    +  quantity = "amplitude",
    +  facets = NULL,
    +  r = 95,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An object of class 'data.frame`

    + + +
    ...
    +

    Other arguments

    + + +
    method
    +

    "biharmonic" or "gam" smooth

    + + +
    grid_res
    +

    Grid resolution

    + +
    interp_limit
    +

    Interpolate up to the "head" or add a "skirt"

    + + +
    quantity
    +

    Quantity to be plotted. Defaults to "amplitude".

    + + +
    facets
    +

    Any facets you plan to use

    + + +
    r
    +

    Size of headshape

    + + +
    k
    +

    Degrees of freedom used for spline when using method = gam. +Defaults to -1, which attempts to automatically determine k.

    + +
    +
    +

    Value

    A tibble with the columns x, y, fill

    -

    Methods (by class)

    - - -
      -
    • data.frame: Get scalpmap from a data.frame

    • -
    • eeg_epochs: Get scalpmap from an eeg_epochs object.

    • -
    - -

    Examples

    -
    head(get_scalpmap(demo_epochs)) -
    #> Joining, by = "electrode"
    #> # A tibble: 6 x 3 -#> x y fill -#> <dbl> <dbl> <dbl> -#> 1 -113. -9.60 5.77 -#> 2 -113. -5.76 5.54 -#> 3 -113. -1.92 5.33 -#> 4 -113. 1.92 5.14 -#> 5 -113. 5.76 4.96 -#> 6 -113. 9.60 4.81
    +
    +
    +

    Methods (by class)

    + +
    • get_scalpmap(data.frame): Get scalpmap from a data.frame

    • +
    • get_scalpmap(eeg_epochs): Get scalpmap from an eeg_epochs object.

    • +
    + +
    +

    Examples

    +
    head(get_scalpmap(demo_epochs))
    +#> Joining with `by = join_by(electrode)`
    +#> # A tibble: 6 × 3
    +#>       x     y  fill
    +#>   <dbl> <dbl> <dbl>
    +#> 1 -113. -9.60  5.77
    +#> 2 -113. -5.76  5.54
    +#> 3 -113. -1.92  5.33
    +#> 4 -113.  1.92  5.14
    +#> 5 -113.  5.76  4.96
    +#> 6 -113.  9.60  4.81
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/iir_filt.html b/docs/dev/reference/iir_filt.html index 76ba1bbf..24bb2aa3 100644 --- a/docs/dev/reference/iir_filt.html +++ b/docs/dev/reference/iir_filt.html @@ -1,69 +1,14 @@ - - - - - - - -Butterworth IIR filter — iir_filt • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Butterworth IIR filter — iir_filt • eegUtils - - - - - - - - - - - - - + + -
    -
    - -
    - -
    +
    @@ -157,74 +84,73 @@

    Butterworth IIR filter

    then again backwards).

    -
    iir_filt(data, ...)
    +    
    +
    iir_filt(data, ...)
    +
    +# S3 method for data.frame
    +iir_filt(
    +  data,
    +  low_freq = NULL,
    +  high_freq = NULL,
    +  filter_order = 4,
    +  srate,
    +  silent = FALSE,
    +  ...
    +)
    +
    +# S3 method for eeg_data
    +iir_filt(
    +  data,
    +  low_freq = NULL,
    +  high_freq = NULL,
    +  filter_order = 4,
    +  silent = FALSE,
    +  ...
    +)
    +
    +# S3 method for eeg_epochs
    +iir_filt(
    +  data,
    +  low_freq = NULL,
    +  high_freq = NULL,
    +  filter_order = 4,
    +  silent = FALSE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    +
    data
    +

    Data to be filtered.

    + -# S3 method for data.frame -iir_filt( - data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - srate, - silent = FALSE, - ... -) +
    ...
    +

    Parameters passed to S3 methods

    -# S3 method for eeg_data -iir_filt( - data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - silent = FALSE, - ... -) -# S3 method for eeg_epochs -iir_filt( - data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - silent = FALSE, - ... -)
    +
    low_freq
    +

    Low passband edge.

    -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data to be filtered.

    ...

    Parameters passed to S3 methods

    low_freq

    Low passband edge.

    high_freq

    High passband edge.

    filter_order

    Order of the Butterworth filter.

    srate

    Sampling rate of the signal.

    silent

    Turns off filtering messages.

    -

    Details

    +
    high_freq
    +

    High passband edge.

    + +
    filter_order
    +

    Order of the Butterworth filter.

    + + +
    srate
    +

    Sampling rate of the signal.

    + + +
    silent
    +

    Turns off filtering messages.

    + +
    +
    +

    Details

    low_freq and high_freq are passband edges. Pass low freq or high freq alone to perform high-pass or low-pass filtering respectively. For band-pass or band-stop filters, pass both low_freq and high_freq.

    @@ -232,53 +158,60 @@

    Details

    If low_freq > high_freq, bandstop filtering is performed.

    Note that the signal is first zero-meaned using either channel means or by-channel epoch means.

    -

    Methods (by class)

    - +
    +
    +

    Methods (by class)

    -
      -
    • data.frame: Filter a data frame

    • -
    • eeg_data: Filter eeg_data objects

    • -
    • eeg_epochs: Filter eeg_epochs objects.

    • -
    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    • iir_filt(data.frame): Filter a data frame

    • +
    • iir_filt(eeg_data): Filter eeg_data objects

    • +
    • iir_filt(eeg_epochs): Filter eeg_epochs objects.

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    -

    Examples

    -
    plot_psd(iir_filt(demo_epochs, low_freq = 1, high_freq = 30)) -
    #> Band-pass IIR filter from 1-30 Hz
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    plot_psd(iir_filt(demo_epochs, low_freq = 12, high_freq = 8)) -
    #> Band-stop IIR filter from 8-12 Hz
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    +
    +

    Examples

    +
    plot_psd(iir_filt(demo_epochs, low_freq = 1, high_freq = 30))
    +#> Band-pass IIR filter from 1-30 Hz
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    +plot_psd(iir_filt(demo_epochs, low_freq = 12, high_freq = 8))
    +#> Band-stop IIR filter from 8-12 Hz
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    +
    +
    +
    -
    - +
    - - + + diff --git a/docs/dev/reference/import_chans.html b/docs/dev/reference/import_chans.html index f0f8921e..75a4b689 100644 --- a/docs/dev/reference/import_chans.html +++ b/docs/dev/reference/import_chans.html @@ -1,10 +1,10 @@ -Import channel locations from various file formats — import_chans • eegUtilsImport channel locations from various file formats — import_chans • eegUtils - +
    @@ -30,9 +30,9 @@ Reference
    - +
    @@ -80,19 +83,26 @@

    Import channel locations from various file formats

    -
    import_chans(file_name, format = "spherical", file_format = "auto")
    +
    import_chans(file_name, format = "spherical", file_format = "auto")

    Arguments

    -
    file_name
    + + +
    file_name

    Name and full path of file to be loaded.

    -
    format
    + + +
    format

    If the file is not .elc format, "spherical", "geographic". Default is "spherical".

    -
    file_format
    + + +
    file_format

    Default is auto, which will use the file extension to determine file format. Other options include ced, besa, elp, elc

    +

    Value

    @@ -116,15 +126,15 @@

    Author

    -

    Site built with pkgdown 2.0.2.

    +

    Site built with pkgdown 2.1.0.

    - - + + diff --git a/docs/dev/reference/import_cnt.html b/docs/dev/reference/import_cnt.html index f481c589..895cd376 100644 --- a/docs/dev/reference/import_cnt.html +++ b/docs/dev/reference/import_cnt.html @@ -1,68 +1,13 @@ - - - - - - - -Import Neuroscan .CNT file — import_cnt • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Import Neuroscan .CNT file — import_cnt • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -155,43 +82,40 @@

    Import Neuroscan .CNT file

    import of 32-bit files.

    -
    import_cnt(file_name)
    +
    +
    import_cnt(file_name)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    file_name

    Name of .CNT file to be loaded.

    +
    file_name
    +

    Name of .CNT file to be loaded.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/import_elc.html b/docs/dev/reference/import_elc.html index 72833c97..47ee0317 100644 --- a/docs/dev/reference/import_elc.html +++ b/docs/dev/reference/import_elc.html @@ -1,68 +1,13 @@ - - - - - - - -Import ASA '.elc' electrode location files — import_elc • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Import ASA '.elc' electrode location files — import_elc • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -155,43 +82,40 @@

    Import ASA '.elc' electrode location files

    ASA electrode locations are given as Cartesian XYZ.

    -
    import_elc(file_name)
    +
    +
    import_elc(file_name)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    file_name

    file name

    +
    file_name
    +

    file name

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/import_elp.html b/docs/dev/reference/import_elp.html index b9136f1e..2af7b170 100644 --- a/docs/dev/reference/import_elp.html +++ b/docs/dev/reference/import_elp.html @@ -1,67 +1,12 @@ - - - - - - - -Import electrode locations from '.elp' file — import_elp • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Import electrode locations from '.elp' file — import_elp • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,46 +80,44 @@

    Import electrode locations from '.elp' file

    '.elp' files are from BESA.

    -
    import_elp(file_name)
    +
    +
    import_elp(file_name)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    file_name

    file name of '.elp' electrode locations to import.

    -

    Value

    +
    file_name
    +

    file name of '.elp' electrode locations to import.

    +
    +
    +

    Value

    A tibble containing channel locations.

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/import_erplab.html b/docs/dev/reference/import_erplab.html index 34b4d429..5808c8a6 100644 --- a/docs/dev/reference/import_erplab.html +++ b/docs/dev/reference/import_erplab.html @@ -1,72 +1,17 @@ - - - - - - - -Import from ERPLAB .erp files — import_erplab • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Import from ERPLAB .erp files — import_erplab • eegUtils - - - - - - - - - - + - - -
    -
    - - -
    -
    +
    @@ -163,72 +90,73 @@

    Import from ERPLAB .erp files

    own knowledge of the contents to import them correctly.

    -
    import_erplab(
    -  file_name,
    -  df_out = FALSE,
    -  participant_id = NULL,
    -  recording = NULL
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    file_name

    Filename (and path if not in present working directory)

    df_out

    Defaults to FALSE - outputs an object of class eeg_epochs. Set to -TRUE to output a data frame.

    participant_id

    By default, the filename will be used as the id of the -participant.

    recording

    By default, the filename will be used as the name of the -recording.

    - -

    Value

    +
    +
    import_erplab(
    +  file_name,
    +  df_out = FALSE,
    +  participant_id = NULL,
    +  recording = NULL
    +)
    +
    + +
    +

    Arguments

    + + +
    file_name
    +

    Filename (and path if not in present working directory)

    -

    An object of class eeg_epochs or a data.frame.

    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    df_out
    +

    Defaults to FALSE - outputs an object of class eeg_epochs. Set to +TRUE to output a data frame.

    -

    Examples

    -
    if (FALSE) import_set("your_data.set") -
    + +
    participant_id
    +

    By default, the filename will be used as the id of the +participant.

    + + +
    recording
    +

    By default, the filename will be used as the name of the +recording.

    + +
    +
    +

    Value

    +

    An object of class eeg_epochs or a data.frame.

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    if (FALSE) import_set("your_data.set") # \dontrun{}
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/import_ft.html b/docs/dev/reference/import_ft.html index 996f5f8d..f3043d29 100644 --- a/docs/dev/reference/import_ft.html +++ b/docs/dev/reference/import_ft.html @@ -1,67 +1,12 @@ - - - - - - - -Import Fieldtrip files — import_ft • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Import Fieldtrip files — import_ft • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,66 +80,67 @@

    Import Fieldtrip files

    Fieldtrip is a Matlab package for EEG/MEG processing and analysis.

    -
    import_ft(file_name, participant_id = NULL, recording = NULL, verbose = TRUE)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    file_name

    Name of file to be imported.

    participant_id

    Identifier for the participant.

    recording

    Name of the recording. By default, the filename will be -used.

    verbose

    Informative messages printed to console. Defaults to TRUE.

    - -

    Value

    +
    +
    import_ft(file_name, participant_id = NULL, recording = NULL, verbose = TRUE)
    +
    + +
    +

    Arguments

    + + +
    file_name
    +

    Name of file to be imported.

    + +
    participant_id
    +

    Identifier for the participant.

    + + +
    recording
    +

    Name of the recording. By default, the filename will be +used.

    + + +
    verbose
    +

    Informative messages printed to console. Defaults to TRUE.

    + +
    +
    +

    Value

    An object of class eeg_data, eeg_epochs, or eeg_tfr, depending on the type of input data.

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    -

    Examples

    -
    if (FALSE) import_ft("fieldtrip_test.mat") -
    +
    +

    Examples

    +
    if (FALSE) import_ft("fieldtrip_test.mat") # \dontrun{}
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/import_raw.html b/docs/dev/reference/import_raw.html index 4f0f7584..0cbe82b2 100644 --- a/docs/dev/reference/import_raw.html +++ b/docs/dev/reference/import_raw.html @@ -1,71 +1,16 @@ - - - - - - - -Function for reading raw data. — import_raw • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function for reading raw data. — import_raw • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -161,77 +88,78 @@

    Function for reading raw data.

    subsequent use.

    -
    import_raw(
    -  file_name,
    -  file_path = NULL,
    -  recording = NULL,
    -  participant_id = NA,
    -  fast_bdf = TRUE
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    file_name

    File to import. Should include file extension.

    file_path

    Path to file name, if not included in filename.

    recording

    Name of the recording. By default, the filename will be -used.

    participant_id

    Identifier for the participant. Defaults to NA.

    fast_bdf

    New, faster method for loading BDF files. Experimental.

    - -

    Value

    +
    +
    import_raw(
    +  file_name,
    +  file_path = NULL,
    +  recording = NULL,
    +  participant_id = NA,
    +  fast_bdf = TRUE
    +)
    +
    + +
    +

    Arguments

    + + +
    file_name
    +

    File to import. Should include file extension.

    + + +
    file_path
    +

    Path to file name, if not included in filename.

    -

    An object of class eeg_data

    -

    Author

    -

    Matt Craddock, matt@mattcraddock.com

    +
    recording
    +

    Name of the recording. By default, the filename will be +used.

    -

    Examples

    -
    if (FALSE) {
    -import_raw("test_bdf.bdf")
    -}
    -
    + +
    participant_id
    +

    Identifier for the participant. Defaults to NA.

    + + +
    fast_bdf
    +

    New, faster method for loading BDF files. Experimental.

    + +
    +
    +

    Value

    +

    An object of class eeg_data

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    if (FALSE) { # \dontrun{
    +import_raw("test_bdf.bdf")
    +} # }
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/import_set.html b/docs/dev/reference/import_set.html index 2bc54f17..63660a81 100644 --- a/docs/dev/reference/import_set.html +++ b/docs/dev/reference/import_set.html @@ -1,69 +1,14 @@ - - - - - - - -Load EEGLAB .set files — import_set • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Load EEGLAB .set files — import_set • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -157,82 +84,83 @@

    Load EEGLAB .set files

    any ICA weights or decompositions are discarded.

    -
    import_set(
    -  file_name,
    -  df_out = FALSE,
    -  participant_id = NULL,
    -  recording = NULL,
    -  drop_custom = FALSE,
    -  verbose = TRUE
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    file_name

    Filename (and path if not in present working directory)

    df_out

    Defaults to FALSE - outputs an object of class eeg_epochs. Set -to TRUE for a normal data frame.

    participant_id

    Character vector. By default, the filename will be used as the id of the -participant.

    recording

    Character vector. By default, the filename will be used as the name of the -recording.

    drop_custom

    Drop custom event fields. TRUE by default.

    verbose

    Print informative messages. TRUE by default.

    - -

    Value

    +
    +
    import_set(
    +  file_name,
    +  df_out = FALSE,
    +  participant_id = NULL,
    +  recording = NULL,
    +  drop_custom = FALSE,
    +  verbose = TRUE
    +)
    +
    -

    An object of class eeg_epochs

    -

    Author

    +
    +

    Arguments

    + + +
    file_name
    +

    Filename (and path if not in present working directory)

    + + +
    df_out
    +

    Defaults to FALSE - outputs an object of class eeg_epochs. Set +to TRUE for a normal data frame.

    + + +
    participant_id
    +

    Character vector. By default, the filename will be used as the id of the +participant.

    -

    Matt Craddock matt@mattcraddock.com

    -

    Examples

    -
    if (FALSE) import_set("your_data.set")
    -
    +
    recording
    +

    Character vector. By default, the filename will be used as the name of the +recording.

    + + +
    drop_custom
    +

    Drop custom event fields. TRUE by default.

    + + +
    verbose
    +

    Print informative messages. TRUE by default.

    + +
    +
    +

    Value

    +

    An object of class eeg_epochs

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    if (FALSE) import_set("your_data.set") # \dontrun{}
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/import_txt.html b/docs/dev/reference/import_txt.html index 9995583d..5ef479c9 100644 --- a/docs/dev/reference/import_txt.html +++ b/docs/dev/reference/import_txt.html @@ -1,10 +1,10 @@ -Import electrode locations from text — import_txt • eegUtilsImport electrode locations from text — import_txt • eegUtils - +
    @@ -30,9 +30,9 @@ Reference
    - +
    @@ -80,13 +83,16 @@

    Import electrode locations from text

    -
    import_txt(file_name)
    +
    import_txt(file_name)

    Arguments

    -
    file_name
    + + +
    file_name

    file name of .txt electrode locations to import.

    +

    Value

    @@ -105,15 +111,15 @@

    Value

    -

    Site built with pkgdown 2.0.2.

    +

    Site built with pkgdown 2.1.0.

    - - + + diff --git a/docs/dev/reference/import_vhdr.html b/docs/dev/reference/import_vhdr.html index 359b2707..e83dcc36 100644 --- a/docs/dev/reference/import_vhdr.html +++ b/docs/dev/reference/import_vhdr.html @@ -1,67 +1,12 @@ - - - - - - - -Function for importing Brain Vision Analyzer files — import_vhdr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Function for importing Brain Vision Analyzer files — import_vhdr • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Function for importing Brain Vision Analyzer files

    Function for importing Brain Vision Analyzer files

    -
    import_vhdr(file_name, participant_id, recording)
    +
    +
    import_vhdr(file_name, participant_id, recording)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    file_name

    file name of the header file.

    +
    file_name
    +

    file name of the header file.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/index.html b/docs/dev/reference/index.html index 118f99f7..6fd011c1 100644 --- a/docs/dev/reference/index.html +++ b/docs/dev/reference/index.html @@ -1,398 +1,560 @@ -Function reference • eegUtils - - -
    -
    -
    - + + +
    +
    +
    +
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    IO

    -

    Functions for importing data or electrode information into R.

    -
    -

    import_chans()

    -

    Import channel locations from various file formats

    -

    import_erplab()

    -

    Import from ERPLAB .erp files

    -

    import_ft()

    -

    Import Fieldtrip files

    -

    import_raw()

    -

    Function for reading raw data.

    -

    import_set()

    -

    Load EEGLAB .set files

    -

    export_bva()

    -

    Export continuous data in Brain Vision Analyzer format

    -

    Processing

    -

    Functions for pre-processing and processing data

    -
    -

    apply_ica()

    -

    Recreate channel timecourses from ICA decompositions.

    -

    compute_csd()

    -

    Convert to Current Source Density

    -

    eeg_average()

    -

    Calculate averages (e.g. ERPs) for single datasets

    -

    eeg_combine()

    -

    Combine eegUtils objects

    -

    eeg_decompose()

    -

    Generalized eigenvalue decomposition based methods for EEG data

    -

    eeg_downsample()

    -

    Downsampling EEG data

    -

    eeg_filter()

    -

    Filter EEG data

    -

    eeg_reference() reref_eeg()

    -

    Referencing

    -

    electrode_locations()

    -

    Get standard electrode locations

    -

    epoch_data()

    -

    Create epochs from EEG data

    -

    interp_elecs()

    -

    Channel interpolation

    -

    rm_baseline()

    -

    Baseline correction

    -

    run_ICA()

    -

    Independent Component Analysis for EEG data

    -

    tag_events()

    -

    Tag events

    -

    Artefact rejection

    -

    Functions for artefact rejection.

    -
    -

    ar_acf()

    -

    Detect low autocorrelation of ICA components

    -

    ar_chanfoc()

    -

    Detect high channel focality of ICA components

    -

    ar_eogcor()

    -

    Detect high component correlation with eye channels

    -

    ar_eogreg()

    -

    Remove EOG using regression

    -

    ar_FASTER() eeg_FASTER()

    -

    FASTER EEG artefact rejection

    -

    ar_thresh()

    -

    Simple absolute value thresholding

    -

    ar_trialfoc()

    -

    Detect high trial focality of ICA components

    -

    epoch_stats()

    -

    Epoch statistics

    -

    channel_stats()

    -

    Channel statistics

    -

    view_artefacts()

    -

    Artefact browser

    -

    Selection

    -

    Functions for selecting subsets of data

    -
    -

    select_elecs()

    -

    Select electrodes from a given dataset

    -

    select_epochs()

    -

    Select epochs

    -

    select_freqs()

    -

    Select frequencies

    -

    select_times()

    -

    Select timerange

    -

    reexports

    -

    Objects exported from other packages

    -

    Plotting

    -

    Functions for plotting data

    -
    -

    browse_data()

    -

    Browse EEG data.

    -

    erp_image()

    -

    Plot ERP images

    -

    erp_raster()

    -

    ERP raster plot

    -

    erp_scalp()

    -

    Plot event-related potentials using a scalp based layout

    -

    geom_topo()

    -

    Create a topographical plot

    -

    get_scalpmap()

    -

    Calculate an interpolated scalpmap

    -

    interactive_scalp()

    -

    Interactive scalp maps

    -

    plot_butterfly()

    -

    Create a butterfly plot from timecourse data

    -

    plot_difference()

    -

    Plot ERP difference waves

    -

    plot_electrodes()

    -

    Plot electrode locations

    -

    plot_psd()

    -

    Plot Power Spectral Density

    -

    plot_tfr()

    -

    Time-frequency plot

    -

    plot_timecourse()

    -

    Plot 1-D timecourse data.

    -

    stat_scalpmap() geom_head() geom_mask() geom_ears() geom_channels()

    -

    Create an interpolated scalp surface

    -

    stat_scalpcontours()

    -

    Create an interpolated scalp surface

    -

    topoplot()

    -

    Topographical Plotting Function for EEG

    -

    view_ica()

    -

    EEG component viewer

    -

    Frequency analysis

    -

    Functions related to (time-)frequency analysis

    -
    -

    compute_itc()

    -

    Calculate inter-trial coherence

    -

    compute_psd()

    -

    Compute power spectral density

    -

    compute_tfr()

    -

    Compute Time-Frequency representation of EEG data

    -

    Converters

    -

    Functions for converting objects to data.frames

    -
    -

    as.data.frame(<eeg_data>)

    -

    Convert eeg_data to data.frame

    -

    as.data.frame(<eeg_epochs>)

    -

    Convert eeg_epochs object to data.frame

    -

    as.data.frame(<eeg_evoked>)

    -

    Convert eeg_evoked object to data frame

    -

    as.data.frame(<eeg_ICA>)

    -

    Convert eeg_ICA object to data frame

    -

    as.data.frame(<eeg_lm>)

    -

    Convert eeg_lm to data.frame

    -

    as.data.frame(<eeg_stats>)

    -

    Convert eeg_stats objects to data frames

    -

    as.data.frame(<eeg_tfr>)

    -

    Convert eeg_tfr objects to data frames

    -

    Accessors

    -

    Functions for accessing and modifying specific elements of an object

    -
    -

    channels() `channels<-`()

    -

    Modify channel information

    -

    epochs() `epochs<-`()

    -

    Modify the epochs structure

    -

    events() `events<-`()

    -

    Modify events structure

    -

    channel_names()

    -

    Retrieve signal/channel names

    -

    get_participant_id() get_recording() set_participant_id() set_recording()

    -

    Query and set elements of the epochs metadata structures

    - - -
    +
    +

    IO

    + +

    Functions for importing data or electrode information into R.

    + + +
    + + + + +
    + + import_chans() + +
    +
    Import channel locations from various file formats
    +
    + + import_erplab() + +
    +
    Import from ERPLAB .erp files
    +
    + + import_ft() + +
    +
    Import Fieldtrip files
    +
    + + import_raw() + +
    +
    Function for reading raw data.
    +
    + + import_set() + +
    +
    Load EEGLAB .set files
    +
    + + export_bva() + +
    +
    Export continuous data in Brain Vision Analyzer format
    +
    +

    Processing

    + +

    Functions for pre-processing and processing data

    + + +
    + + + + +
    + + apply_ica() + +
    +
    Recreate channel timecourses from ICA decompositions.
    +
    + + compute_csd() + +
    +
    Convert to Current Source Density
    +
    + + eeg_average() + +
    +
    Calculate averages (e.g. event-related potentials) for single datasets
    +
    + + eeg_combine() + +
    +
    Combine eegUtils objects
    +
    + + eeg_decompose() + +
    +
    Generalized eigenvalue decomposition based methods for EEG data
    +
    + + eeg_downsample() + +
    +
    Downsampling EEG data
    +
    + + eeg_filter() + +
    +
    Filter EEG data
    +
    + + eeg_reference() + +
    +
    Referencing
    +
    + + electrode_locations() + +
    +
    Get standard electrode locations
    +
    + + epoch_data() + +
    +
    Create epochs from EEG data
    +
    + + interp_elecs() + +
    +
    Channel interpolation
    +
    + + rm_baseline() + +
    +
    Baseline correction
    +
    + + run_ICA() + +
    +
    Independent Component Analysis for EEG data
    +
    + + tag_events() + +
    +
    Tag events
    +
    +

    Artefact rejection

    + +

    Functions for artefact rejection.

    + + +
    + + + + +
    + + ar_acf() + +
    +
    Detect low autocorrelation of ICA components
    +
    + + ar_chanfoc() + +
    +
    Detect high channel focality of ICA components
    +
    + + ar_eogcor() + +
    +
    Detect high component correlation with eye channels
    +
    + + ar_eogreg() + +
    +
    Remove EOG using regression
    +
    + + ar_FASTER() eeg_FASTER() + +
    +
    FASTER EEG artefact rejection
    +
    + + ar_thresh() + +
    +
    Simple absolute value thresholding
    +
    + + ar_trialfoc() + +
    +
    Detect high trial focality of ICA components
    +
    + + epoch_stats() + +
    +
    Epoch statistics
    +
    + + channel_stats() + +
    +
    Channel statistics
    +
    + + view_artefacts() + +
    +
    Artefact browser
    +
    +

    Selection

    + +

    Functions for selecting subsets of data

    + + +
    + + + + +
    + + select_elecs() + +
    +
    Select electrodes from a given dataset
    +
    + + select_epochs() +
    +
    Select epochs
    +
    -
    +
    Select frequencies
    +
    + + select_times() + +
    +
    Select timerange
    +
    + + reexports filter select mutate rename fortify + +
    +
    Objects exported from other packages
    +
    +

    Plotting

    + +

    Functions for plotting data

    + + +
    + + + + +
    + + browse_data() + +
    +
    Browse EEG data
    +
    + + erp_image() + +
    +
    Plot ERP images
    +
    + + erp_raster() + +
    +
    ERP raster plot
    +
    + + erp_scalp() + +
    +
    Plot event-related potentials using a scalp based layout
    +
    + + geom_topo() + +
    +
    Create a topographical plot
    +
    + + get_scalpmap() + +
    +
    Calculate an interpolated scalpmap
    +
    + + interactive_scalp() + +
    +
    Interactive scalp maps
    +
    + + plot_butterfly() + +
    +
    Create a butterfly plot from timecourse data
    +
    + + plot_difference() + +
    +
    Plot ERP difference waves
    +
    + + plot_electrodes() + +
    +
    Plot electrode locations
    +
    + + plot_gfp() + +
    +
    Plot Global Field Power of EEG Signals
    +
    + + plot_psd() + +
    +
    Plot Power Spectral Density
    +
    + + plot_tfr() + +
    +
    Time-frequency plot
    +
    + + plot_timecourse() + +
    +
    Plot one-dimensional timecourse data.
    +
    + + stat_scalpmap() geom_head() geom_mask() geom_ears() geom_channels() + +
    +
    Create an interpolated scalp surface
    +
    + + stat_scalpcontours() + +
    +
    Create an interpolated scalp surface
    +
    + + topoplot() + +
    +
    Topographical Plotting Function for EEG
    +
    + + view_ica() + +
    +
    EEG decomposition viewer
    +
    +

    Frequency analysis

    + +

    Functions related to (time-)frequency analysis

    + + +
    + + + + +
    + + compute_itc() + +
    +
    Calculate inter-trial coherence
    +
    + + compute_psd() + +
    +
    Compute power spectral density
    +
    + + compute_tfr() + +
    +
    Compute Time-Frequency representation of EEG data
    +
    +

    Converters

    + +

    Functions for converting objects to data.frames

    + + +
    + + + + +
    + + as.data.frame(<eeg_data>) + +
    +
    Convert eeg_data to data.frame
    +
    + + as.data.frame(<eeg_epochs>) + +
    +
    Convert eeg_epochs object to data.frame
    +
    + + as.data.frame(<eeg_evoked>) + +
    +
    Convert eeg_evoked object to data frame
    +
    + + as.data.frame(<eeg_ICA>) + +
    +
    Convert eeg_ICA object to data frame
    +
    + + as.data.frame(<eeg_lm>) + +
    +
    Convert eeg_lm to data.frame
    +
    + + as.data.frame(<eeg_stats>) + +
    +
    Convert eeg_stats objects to data frames
    +
    + + as.data.frame(<eeg_tfr>) + +
    +
    Convert eeg_tfr objects to a data.frame
    +
    +

    Accessors

    + +

    Functions for accessing and modifying specific elements of an object

    + + +
    + + + + +
    + + channels() `channels<-`() + +
    +
    Modify channel information
    +
    + + epochs() `epochs<-`() + +
    +
    Modify the epochs structure
    +
    + + events() `events<-`() + +
    +
    Modify events structure
    +
    + + channel_names() + +
    +
    Retrieve signal/channel names
    +
    + + get_participant_id() get_recording() set_participant_id() set_recording() + +
    +
    Query and set elements of the epochs metadata structures
    +
    +
    + + +
    -
    -

    Site built with pkgdown 2.0.2.

    + -
    + + - - diff --git a/docs/dev/reference/interactive_scalp.eeg_epochs.html b/docs/dev/reference/interactive_scalp.eeg_epochs.html new file mode 100644 index 00000000..dafdf759 --- /dev/null +++ b/docs/dev/reference/interactive_scalp.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/interactive_scalp.html b/docs/dev/reference/interactive_scalp.html index 628fd8a3..aba1058d 100644 --- a/docs/dev/reference/interactive_scalp.html +++ b/docs/dev/reference/interactive_scalp.html @@ -1,69 +1,14 @@ - - - - - - - -Interactive scalp maps — interactive_scalp • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Interactive scalp maps — interactive_scalp • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,66 +84,79 @@

    Interactive scalp maps

    panel, they can be averaged over or plotted as individual electrodes.

    -
    interactive_scalp(data, colour = NULL, baseline = NULL, montage = NULL)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    An EEG dataset.

    colour

    Variable to colour lines by. If no variable is passed, only one -line is drawn for each electrode.

    baseline

    Character vector of times to subtract for baseline correction.

    montage

    Name of an existing montage set. Defaults to NULL; (currently -only 'biosemi64alpha' available other than default 10/20 system)

    - -

    See also

    - -

    erp_scalp() for non-interactive plots of ERPs in a scalp-based layout.

    -

    Other scalp-based maps: -erp_scalp(), -topoplot()

    -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    +
    +
    interactive_scalp(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +interactive_scalp(data, colour = NULL, baseline = NULL, montage = NULL, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An EEG dataset.

    + + +
    ...
    +

    Additional arguments

    + + +
    colour
    +

    Variable to colour lines by. If no variable is passed, only one +line is drawn for each electrode.

    + + +
    baseline
    +

    Character vector of times to subtract for baseline +correction.

    + + +
    montage
    +

    Name of an existing montage set. Defaults to NULL; (currently +only 'biosemi64alpha' available other than default 10/20 system)

    + +
    +
    +

    Methods (by class)

    + +
    • interactive_scalp(eeg_epochs): Method for eeg_epochs objects

    • +
    +
    +

    See also

    +

    erp_scalp() for non-interactive plots of ERPs in a scalp-based +layout.

    +

    Other scalp-based maps: +erp_scalp(), +topoplot()

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/interp_chans.html b/docs/dev/reference/interp_chans.html index 922179f1..52ad9dd2 100644 --- a/docs/dev/reference/interp_chans.html +++ b/docs/dev/reference/interp_chans.html @@ -1,67 +1,12 @@ - - - - - - - -Interpolate channels — interp_chans • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Interpolate channels — interp_chans • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,56 +80,53 @@

    Interpolate channels

    Interpolate channels

    -
    interp_chans(.data, bad_chans, missing_coords = FALSE, weights)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    .data

    Channel data containing all data

    bad_chans

    Vector of names of bad channels

    missing_coords

    Logical vector indicating any channels in the data that -had no associated coordinates

    weights

    Spherical spline weights for interpolation

    +
    +
    interp_chans(.data, bad_chans, missing_coords = FALSE, weights)
    +
    + +
    +

    Arguments

    +
    .data
    +

    Channel data containing all data

    + + +
    bad_chans
    +

    Vector of names of bad channels

    + + +
    missing_coords
    +

    Logical vector indicating any channels in the data that +had no associated coordinates

    + + +
    weights
    +

    Spherical spline weights for interpolation

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/interp_elecs.eeg_data.html b/docs/dev/reference/interp_elecs.eeg_data.html new file mode 100644 index 00000000..8479799b --- /dev/null +++ b/docs/dev/reference/interp_elecs.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/interp_elecs.html b/docs/dev/reference/interp_elecs.html index 76b3e23c..720f8b2c 100644 --- a/docs/dev/reference/interp_elecs.html +++ b/docs/dev/reference/interp_elecs.html @@ -1,68 +1,13 @@ - - - - - - - -Channel interpolation — interp_elecs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Channel interpolation — interp_elecs • eegUtils + - - - -
    -
    - - -
    -
    +
    -

    Interpolate EEG channels using a spherical spline (Perrin et al., 1989; 1990). The -data must have channel locations attached.

    +

    Interpolate EEG channels using a spherical spline (Perrin et al., 1989; +1990). The data must have channel locations attached.

    -
    interp_elecs(data, bad_elecs, ...)
    -
    -# S3 method for eeg_data
    -interp_elecs(data, bad_elecs, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    Data as a eeg_data or eeg_epochs object.

    bad_elecs

    Name(s) of electrode(s) to interpolate.

    ...

    Other parameters passed to the functions.

    - -

    Methods (by class)

    - - -
      -
    • eeg_data: Interpolate EEG channel(s)

    • -
    -

    References

    - - -
      -
    • Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. -(1989). Spherical splines for scalp potential and current -density mapping. Electroencephalography and Clinical -Neurophysiology, 72, 184-187

    • -
    • Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. -(1990). Corrigenda EEG 02274. Electroencephalography and -Clinical Neurophysiology, 76, 565

    • -
    +
    +
    interp_elecs(data, bad_elecs, ...)
    +
    +# S3 method for class 'eeg_data'
    +interp_elecs(data, bad_elecs, ...)
    +
    + +
    +

    Arguments

    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    data
    +

    Data as a eeg_data or eeg_epochs object.

    + + +
    bad_elecs
    +

    Name(s) of electrode(s) to interpolate.

    + + +
    ...
    +

    Other parameters passed to the functions.

    + +
    +
    +

    Methods (by class)

    + +
    • interp_elecs(eeg_data): Interpolate EEG channel(s)

    • +
    +
    +

    References

    + +
    • Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. +(1989). Spherical splines for scalp potential and current density mapping. +Electroencephalography and Clinical Neurophysiology, 72, 184-187

    • +
    • Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. +(1990). Corrigenda EEG 02274. Electroencephalography and Clinical +Neurophysiology, 76, 565

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/is.eeg_ICA.html b/docs/dev/reference/is.eeg_ICA.html index 7d15c287..db62c13e 100644 --- a/docs/dev/reference/is.eeg_ICA.html +++ b/docs/dev/reference/is.eeg_ICA.html @@ -1,67 +1,12 @@ - - - - - - - -Check if object is of class eeg_ICA — is.eeg_ICA • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check if object is of class eeg_ICA — is.eeg_ICA • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,46 +80,44 @@

    Check if object is of class eeg_ICA

    Check if object is of class eeg_ICA

    -
    is.eeg_ICA(x)
    +
    +
    is.eeg_ICA(x)
    +
    -

    Arguments

    - - - - - - -
    x

    Object to check.

    +
    +

    Arguments

    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    x
    +

    Object to check.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/is.eeg_data.html b/docs/dev/reference/is.eeg_data.html index 83ebf357..d546fd54 100644 --- a/docs/dev/reference/is.eeg_data.html +++ b/docs/dev/reference/is.eeg_data.html @@ -1,67 +1,12 @@ - - - - - - - -Check if object is of class eeg_data. — is.eeg_data • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check if object is of class eeg_data. — is.eeg_data • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,46 +80,44 @@

    Check if object is of class eeg_data.

    Check if object is of class eeg_data.

    -
    is.eeg_data(x)
    +
    +
    is.eeg_data(x)
    +
    -

    Arguments

    - - - - - - -
    x

    Object to check.

    +
    +

    Arguments

    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    x
    +

    Object to check.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/is.eeg_epochs.html b/docs/dev/reference/is.eeg_epochs.html index 50bfbc24..29aa4e3c 100644 --- a/docs/dev/reference/is.eeg_epochs.html +++ b/docs/dev/reference/is.eeg_epochs.html @@ -1,67 +1,12 @@ - - - - - - - -Check if object is of class eeg_epochs. — is.eeg_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check if object is of class eeg_epochs. — is.eeg_epochs • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,46 +80,44 @@

    Check if object is of class eeg_epochs.

    Check if object is of class eeg_epochs.

    -
    is.eeg_epochs(x)
    +
    +
    is.eeg_epochs(x)
    +
    -

    Arguments

    - - - - - - -
    x

    Object to check.

    +
    +

    Arguments

    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    x
    +

    Object to check.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/is.eeg_evoked.html b/docs/dev/reference/is.eeg_evoked.html index 90fe0ccb..38c01475 100644 --- a/docs/dev/reference/is.eeg_evoked.html +++ b/docs/dev/reference/is.eeg_evoked.html @@ -1,67 +1,12 @@ - - - - - - - -Check if object is of class eeg_evoked — is.eeg_evoked • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check if object is of class eeg_evoked — is.eeg_evoked • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,46 +80,44 @@

    Check if object is of class eeg_evoked

    Check if object is of class eeg_evoked

    -
    is.eeg_evoked(x)
    +
    +
    is.eeg_evoked(x)
    +
    -

    Arguments

    - - - - - - -
    x

    Object to check.

    +
    +

    Arguments

    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    x
    +

    Object to check.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/is.eeg_group.html b/docs/dev/reference/is.eeg_group.html index 79ea05fa..2b0027f6 100644 --- a/docs/dev/reference/is.eeg_group.html +++ b/docs/dev/reference/is.eeg_group.html @@ -1,67 +1,12 @@ - - - - - - - -Check if object is of class eeg_group — is.eeg_group • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check if object is of class eeg_group — is.eeg_group • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Check if object is of class eeg_group

    Check if object is of class eeg_group

    -
    is.eeg_group(x)
    +
    +
    is.eeg_group(x)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    x

    Object to check.

    +
    x
    +

    Object to check.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/is.eeg_stats.html b/docs/dev/reference/is.eeg_stats.html index ccd01250..b1e481d4 100644 --- a/docs/dev/reference/is.eeg_stats.html +++ b/docs/dev/reference/is.eeg_stats.html @@ -1,67 +1,12 @@ - - - - - - - -Check if object is of class eeg_stats — is.eeg_stats • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check if object is of class eeg_stats — is.eeg_stats • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Check if object is of class eeg_stats

    Check if object is of class eeg_stats

    -
    is.eeg_stats(x)
    +
    +
    is.eeg_stats(x)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    x

    Object to check.

    +
    x
    +

    Object to check.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/is.eeg_tfr.html b/docs/dev/reference/is.eeg_tfr.html index df2c2044..de7b295e 100644 --- a/docs/dev/reference/is.eeg_tfr.html +++ b/docs/dev/reference/is.eeg_tfr.html @@ -1,67 +1,12 @@ - - - - - - - -Check if object is of class eeg_tfr — is.eeg_tfr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check if object is of class eeg_tfr — is.eeg_tfr • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,46 +80,44 @@

    Check if object is of class eeg_tfr

    Check if object is of class eeg_tfr

    -
    is.eeg_tfr(x)
    +
    +
    is.eeg_tfr(x)
    +
    -

    Arguments

    - - - - - - -
    x

    Object to check.

    +
    +

    Arguments

    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    x
    +

    Object to check.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/kurtosis.html b/docs/dev/reference/kurtosis.html index 8c3a8357..08ca103c 100644 --- a/docs/dev/reference/kurtosis.html +++ b/docs/dev/reference/kurtosis.html @@ -1,67 +1,12 @@ - - - - - - - -Calculate kurtosis — kurtosis • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate kurtosis — kurtosis • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Calculate kurtosis

    Calculate kurtosis

    -
    kurtosis(data)
    +
    +
    kurtosis(data)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    data

    Data to calculate kurtosis for

    +
    data
    +

    Data to calculate kurtosis for

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/label_check.html b/docs/dev/reference/label_check.html index 4b4562ce..fd004a51 100644 --- a/docs/dev/reference/label_check.html +++ b/docs/dev/reference/label_check.html @@ -1,11 +1,11 @@ -Check consistency of labels — label_check • eegUtilsCheck consistency of labels — label_check • eegUtils - +
    @@ -31,9 +31,9 @@ Reference
    - +
    @@ -82,15 +85,20 @@

    Check consistency of labels

    -
    label_check(cond_labs, data_labs)
    +
    label_check(cond_labs, data_labs)

    Arguments

    -
    cond_labs
    + + +
    cond_labs

    labels submitted by the user

    -
    data_labs
    + + +
    data_labs

    labels from the actual data

    +

    Author

    @@ -109,15 +117,15 @@

    Author

    -

    Site built with pkgdown 2.0.2.

    +

    Site built with pkgdown 2.1.0.

    - - + + diff --git a/docs/dev/reference/list_epochs.eeg_ICA.html b/docs/dev/reference/list_epochs.eeg_ICA.html new file mode 100644 index 00000000..e4529d00 --- /dev/null +++ b/docs/dev/reference/list_epochs.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/list_epochs.eeg_epochs.html b/docs/dev/reference/list_epochs.eeg_epochs.html new file mode 100644 index 00000000..e4529d00 --- /dev/null +++ b/docs/dev/reference/list_epochs.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/list_epochs.html b/docs/dev/reference/list_epochs.html index 09df6d2f..f7e0a003 100644 --- a/docs/dev/reference/list_epochs.html +++ b/docs/dev/reference/list_epochs.html @@ -1,67 +1,12 @@ - - - - - - - -List epochs — list_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -List epochs — list_epochs • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,70 +80,68 @@

    List epochs

    List trigger types and any labels found in an eeg_epochs object.

    -
    list_epochs(data, ...)
    -
    -# S3 method for eeg_epochs
    -list_epochs(data, ...)
    -
    -# S3 method for eeg_ICA
    -list_epochs(data, ...)
    - -

    Arguments

    - - - - - - - - - - -
    data

    An object of class eeg_epochs

    ...

    Additional arguments

    - -

    Methods (by class)

    - - -
      -
    • eeg_epochs: List epochs and associated events from eeg_epochs objects

    • -
    • eeg_ICA: List epochs and associated events from eeg_ICA objects

    • -
    -

    See also

    - -

    tag_events() and list_events()

    -

    Other event handlers: -events(), -list_events(), -tag_events()

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    list_epochs(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +list_epochs(data, ...)
    +
    +# S3 method for class 'eeg_ICA'
    +list_epochs(data, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An object of class eeg_epochs

    + + +
    ...
    +

    Additional arguments

    + +
    +
    +

    Methods (by class)

    + +
    • list_epochs(eeg_epochs): List epochs and associated events from eeg_epochs objects

    • +
    • list_epochs(eeg_ICA): List epochs and associated events from eeg_ICA objects

    • +
    +
    +

    See also

    +

    tag_events() and list_events()

    +

    Other event handlers: +events(), +list_events(), +tag_events()

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/list_events.html b/docs/dev/reference/list_events.html index 5131ed5a..25f41b5f 100644 --- a/docs/dev/reference/list_events.html +++ b/docs/dev/reference/list_events.html @@ -1,67 +1,12 @@ - - - - - - - -List events — list_events • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -List events — list_events • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,62 +80,64 @@

    List events

    List trigger types and any labels found in an eeg_data object.

    -
    list_events(data)
    - -

    Arguments

    - - - - - - -
    data

    An object of class eeg_data

    - -

    See also

    - -

    tag_events() and list_epochs()

    -

    Other event handlers: -events(), -list_epochs(), -tag_events()

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    list_events(demo_epochs) -
    #> event_type -#> 1 208 -#> 2 213 -#> 3 215 -#> 4 207 -#> 5 222 -#> 6 219
    +
    +
    list_events(data)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An object of class eeg_data

    + +
    +
    +

    See also

    +

    tag_events() and list_epochs()

    +

    Other event handlers: +events(), +list_epochs(), +tag_events()

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    list_events(demo_epochs)
    +#>   event_type
    +#> 1        208
    +#> 2        213
    +#> 3        215
    +#> 4        207
    +#> 5        222
    +#> 6        219
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/make_head.html b/docs/dev/reference/make_head.html index c37a7def..2042affb 100644 --- a/docs/dev/reference/make_head.html +++ b/docs/dev/reference/make_head.html @@ -1,67 +1,12 @@ - - - - - - - -Create a headshape — make_head • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create a headshape — make_head • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,35 +80,32 @@

    Create a headshape

    Create a headshape

    -
    make_head(r)
    - +
    +
    make_head(r)
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/make_l_ear.html b/docs/dev/reference/make_l_ear.html index 1080ba0a..7af01f37 100644 --- a/docs/dev/reference/make_l_ear.html +++ b/docs/dev/reference/make_l_ear.html @@ -1,67 +1,12 @@ - - - - - - - -Make left ear — make_l_ear • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Make left ear — make_l_ear • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Make left ear

    Make left ear

    -
    make_l_ear(r)
    +
    +
    make_l_ear(r)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    r

    Radius of head

    +
    r
    +

    Radius of head

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/make_r_ear.html b/docs/dev/reference/make_r_ear.html index 12d4d2ee..8dd739f4 100644 --- a/docs/dev/reference/make_r_ear.html +++ b/docs/dev/reference/make_r_ear.html @@ -1,67 +1,12 @@ - - - - - - - -Make right ear — make_r_ear • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Make right ear — make_r_ear • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Make right ear

    Make right ear

    -
    make_r_ear(r)
    +
    +
    make_r_ear(r)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    r

    Radius of head

    +
    r
    +

    Radius of head

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/montage_check.html b/docs/dev/reference/montage_check.html index a4c4e22f..0f274794 100644 --- a/docs/dev/reference/montage_check.html +++ b/docs/dev/reference/montage_check.html @@ -1,67 +1,12 @@ - - - - - - - -Montage check — montage_check • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Montage check — montage_check • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Montage check

    Montage check

    -
    montage_check(montage)
    +
    +
    montage_check(montage)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    montage

    Name of montage

    +
    montage
    +

    Name of montage

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/morlet.html b/docs/dev/reference/morlet.html index 71a33aa1..4b46b98c 100644 --- a/docs/dev/reference/morlet.html +++ b/docs/dev/reference/morlet.html @@ -1,67 +1,12 @@ - - - - - - - -Morlet wavelet — morlet • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Morlet wavelet — morlet • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,59 +80,56 @@

    Morlet wavelet

    Generate Morlet wavelet family

    -
    morlet(frex, srate, n_cycles, n_freq, gauss_width = 3)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    frex

    Frequency range of interest

    srate

    Sampling rate of signal

    n_cycles

    Length of wavelet in cycles

    n_freq

    number of frequencies to resolve

    gauss_width

    Size of filter kernel in standard deviations

    +
    +
    morlet(frex, srate, n_cycles, n_freq, gauss_width = 3)
    +
    + +
    +

    Arguments

    + + +
    frex
    +

    Frequency range of interest

    +
    srate
    +

    Sampling rate of signal

    + + +
    n_cycles
    +

    Length of wavelet in cycles

    + + +
    n_freq
    +

    number of frequencies to resolve

    + + +
    gauss_width
    +

    Size of filter kernel in standard deviations

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/morlet_res.html b/docs/dev/reference/morlet_res.html index 50630913..3e221dca 100644 --- a/docs/dev/reference/morlet_res.html +++ b/docs/dev/reference/morlet_res.html @@ -1,67 +1,12 @@ - - - - - - - -Morlet wavelet resolutions — morlet_res • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Morlet wavelet resolutions — morlet_res • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Morlet wavelet resolutions

    Calculate frequency and temporal standard deviations for the Morlet wavelets

    -
    morlet_res(frex, n_cycles)
    +
    +
    morlet_res(frex, n_cycles)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    frex

    Frequencies of interest

    n_cycles

    Number of cycles for each frequency

    +
    frex
    +

    Frequencies of interest

    +
    n_cycles
    +

    Number of cycles for each frequency

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/mutate.html b/docs/dev/reference/mutate.html new file mode 100644 index 00000000..2b5e2469 --- /dev/null +++ b/docs/dev/reference/mutate.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/norm_sphere.html b/docs/dev/reference/norm_sphere.html index cc8f9fb0..e5df0f6c 100644 --- a/docs/dev/reference/norm_sphere.html +++ b/docs/dev/reference/norm_sphere.html @@ -1,67 +1,12 @@ - - - - - - - -Normalize 3d Cartesian co-ordinates to unit sphere — norm_sphere • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Normalize 3d Cartesian co-ordinates to unit sphere — norm_sphere • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Normalize 3d Cartesian co-ordinates to unit sphere

    Normalize 3d Cartesian co-ordinates to unit sphere

    -
    norm_sphere(xyz_coords)
    +
    +
    norm_sphere(xyz_coords)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    xyz_coords

    3D Cartesian electrode locations

    +
    xyz_coords
    +

    3D Cartesian electrode locations

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/ortho_norm.html b/docs/dev/reference/ortho_norm.html index 674d611d..c35a9572 100644 --- a/docs/dev/reference/ortho_norm.html +++ b/docs/dev/reference/ortho_norm.html @@ -1,69 +1,14 @@ - - - - - - - -Orthographic electrode projection — ortho_norm • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Orthographic electrode projection — ortho_norm • eegUtils - - - - - - - - - - + - - -
    -
    - - -
    -
    +
    @@ -157,47 +84,45 @@

    Orthographic electrode projection

    resulting in bunching up of electrodes at the further reaches of the head.

    -
    ortho_norm(chan_info)
    +
    +
    ortho_norm(chan_info)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    chan_info

    Channel information from an eegUtils objects

    -

    Value

    +
    chan_info
    +

    Channel information from an eegUtils objects

    +
    +
    +

    Value

    A data.frame with x and y columns indictating electrode positions in mm

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/pad.html b/docs/dev/reference/pad.html index 0f8b1340..c1c1f81e 100644 --- a/docs/dev/reference/pad.html +++ b/docs/dev/reference/pad.html @@ -1,67 +1,12 @@ - - - - - - - -Pad a vector with zeros — pad • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Pad a vector with zeros — pad • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,55 +80,52 @@

    Pad a vector with zeros

    Pads a vector with zeros at the beginning and end.

    -
    pad(x, n, startval = 0, endval = 0)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    x

    vector to pad

    n

    number of zeros to pad

    startval

    value to add at the start of the vector - defaults to zero

    endval

    value to add at the end of the vector - defaults to zero

    +
    +
    pad(x, n, startval = 0, endval = 0)
    +
    + +
    +

    Arguments

    +
    x
    +

    vector to pad

    + + +
    n
    +

    number of zeros to pad

    + + +
    startval
    +

    value to add at the start of the vector - defaults to zero

    + + +
    endval
    +

    value to add at the end of the vector - defaults to zero

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/parse_args.html b/docs/dev/reference/parse_args.html index 95d5dcbe..ce50f635 100644 --- a/docs/dev/reference/parse_args.html +++ b/docs/dev/reference/parse_args.html @@ -1,70 +1,13 @@ - - - - - - - -This function checks which elements of the object need to be -accessed/filtered — parse_args • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -This function checks which elements of the object need to be accessed/filtered — parse_args • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -158,35 +82,32 @@

    This function checks which elements of the object need to be accessed/filtered

    -
    parse_args(arg_list, data)
    - +
    +
    parse_args(arg_list, data)
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/parse_chaninfo.html b/docs/dev/reference/parse_chaninfo.html index 5508b6f2..56606d4b 100644 --- a/docs/dev/reference/parse_chaninfo.html +++ b/docs/dev/reference/parse_chaninfo.html @@ -1,67 +1,12 @@ - - - - - - - -Parse channel info from an EEGLAB set file — parse_chaninfo • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Parse channel info from an EEGLAB set file — parse_chaninfo • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Parse channel info from an EEGLAB set file

    Internal function to convert EEGLAB chan_info to eegUtils style

    -
    parse_chaninfo(chan_info, drop = FALSE)
    +
    +
    parse_chaninfo(chan_info, drop = FALSE)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    chan_info

    Channel info list from an EEGLAB set file

    drop

    If there are additional columns, remove all columns except -electrode if TRUE, or just unexpected columns if FALSE.

    +
    chan_info
    +

    Channel info list from an EEGLAB set file

    +
    drop
    +

    If there are additional columns, remove all columns except +electrode if TRUE, or just unexpected columns if FALSE.

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/parse_filt_freqs.html b/docs/dev/reference/parse_filt_freqs.html index 6116e372..1b9c4439 100644 --- a/docs/dev/reference/parse_filt_freqs.html +++ b/docs/dev/reference/parse_filt_freqs.html @@ -1,69 +1,14 @@ - - - - - - - -Parse filter frequency input — parse_filt_freqs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Parse filter frequency input — parse_filt_freqs • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -157,55 +84,52 @@

    Parse filter frequency input

    band-pass, band-stop) appropriately.

    -
    parse_filt_freqs(low_freq, high_freq, srate, method)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    low_freq

    low frequency cutoff (Hz)

    high_freq

    High frequency cutoff (Hz)

    srate

    Sampling rate (Hz)

    method

    "iir" or "fir" method.

    +
    +
    parse_filt_freqs(low_freq, high_freq, srate, method)
    +
    + +
    +

    Arguments

    +
    low_freq
    +

    low frequency cutoff (Hz)

    + + +
    high_freq
    +

    High frequency cutoff (Hz)

    + + +
    srate
    +

    Sampling rate (Hz)

    + + +
    method
    +

    "iir" or "fir" method.

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/parse_for_bf.html b/docs/dev/reference/parse_for_bf.html index d3ef4df4..2b66546a 100644 --- a/docs/dev/reference/parse_for_bf.html +++ b/docs/dev/reference/parse_for_bf.html @@ -1,68 +1,13 @@ - - - - - - - -Parse data for butterfly plots — parse_for_bf • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Parse data for butterfly plots — parse_for_bf • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,51 +82,48 @@

    Parse data for butterfly plots

    for plot_butterfly

    -
    parse_for_bf(data, time_lim = NULL, baseline = NULL, quantity = "coefficients")
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    data to be parsed

    time_lim

    time limits to be returned.

    baseline

    baseline times to be average and subtracted

    +
    +
    parse_for_bf(data, time_lim = NULL, baseline = NULL, quantity = "coefficients")
    +
    +
    +

    Arguments

    + + +
    data
    +

    data to be parsed

    + + +
    time_lim
    +

    time limits to be returned.

    + + +
    baseline
    +

    baseline times to be average and subtracted

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/parse_for_tc.html b/docs/dev/reference/parse_for_tc.html index 21b1f3ab..82621645 100644 --- a/docs/dev/reference/parse_for_tc.html +++ b/docs/dev/reference/parse_for_tc.html @@ -1,68 +1,13 @@ - - - - - - - -Parse data for timecourses — parse_for_tc • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Parse data for timecourses — parse_for_tc • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -155,59 +82,77 @@

    Parse data for timecourses

    for tc_plot

    -
    parse_for_tc(data, time_lim, electrode, baseline, add_CI)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - -
    data

    data to be parsed

    time_lim

    time limits to be returned.

    electrode

    electrodes to be selected

    baseline

    baseline times to be average and subtracted

    add_CI

    Logical for whether CIS are required

    +
    +
    parse_for_tc(
    +  data,
    +  time_lim,
    +  electrode,
    +  baseline,
    +  add_CI,
    +  facets,
    +  mapping,
    +  colour
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    data to be parsed

    + + +
    time_lim
    +

    time limits to be returned.

    + + +
    electrode
    +

    electrodes to be selected

    +
    baseline
    +

    baseline times to be average and subtracted

    + + +
    add_CI
    +

    Logical for whether CIS are required

    + + +
    facets
    +

    A RHS-only formula for use with ggplot2::facet_wrap

    + + +
    mapping
    +

    A ggplot2 aes() call with axis mappings

    + + +
    colour
    +

    A character vector indicating which variable to use for colour.

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/parse_vhdr_chans.html b/docs/dev/reference/parse_vhdr_chans.html index 75902631..3598e5c4 100644 --- a/docs/dev/reference/parse_vhdr_chans.html +++ b/docs/dev/reference/parse_vhdr_chans.html @@ -1,67 +1,12 @@ - - - - - - - -Parse BVA channel info — parse_vhdr_chans • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Parse BVA channel info — parse_vhdr_chans • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Parse BVA channel info

    Parse BVA channel info

    -
    parse_vhdr_chans(chan_labels, chan_info, verbose = TRUE)
    +
    +
    parse_vhdr_chans(chan_labels, chan_info, verbose = TRUE)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    chan_labels

    The Channel Infos section from a BVA vhdr file

    chan_info

    The Coordinates section from a BVA vhdr file

    +
    chan_labels
    +

    The Channel Infos section from a BVA vhdr file

    +
    chan_info
    +

    The Coordinates section from a BVA vhdr file

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/plot_butterfly-1.png b/docs/dev/reference/plot_butterfly-1.png index c0a37979..1bb4b85c 100644 Binary files a/docs/dev/reference/plot_butterfly-1.png and b/docs/dev/reference/plot_butterfly-1.png differ diff --git a/docs/dev/reference/plot_butterfly-2.png b/docs/dev/reference/plot_butterfly-2.png index ce84ba1a..c255ec45 100644 Binary files a/docs/dev/reference/plot_butterfly-2.png and b/docs/dev/reference/plot_butterfly-2.png differ diff --git a/docs/dev/reference/plot_butterfly.default.html b/docs/dev/reference/plot_butterfly.default.html new file mode 100644 index 00000000..8d1354b9 --- /dev/null +++ b/docs/dev/reference/plot_butterfly.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_butterfly.eeg_data.html b/docs/dev/reference/plot_butterfly.eeg_data.html new file mode 100644 index 00000000..8d1354b9 --- /dev/null +++ b/docs/dev/reference/plot_butterfly.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_butterfly.eeg_epochs.html b/docs/dev/reference/plot_butterfly.eeg_epochs.html new file mode 100644 index 00000000..8d1354b9 --- /dev/null +++ b/docs/dev/reference/plot_butterfly.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_butterfly.eeg_evoked.html b/docs/dev/reference/plot_butterfly.eeg_evoked.html new file mode 100644 index 00000000..8d1354b9 --- /dev/null +++ b/docs/dev/reference/plot_butterfly.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_butterfly.eeg_lm.html b/docs/dev/reference/plot_butterfly.eeg_lm.html new file mode 100644 index 00000000..8d1354b9 --- /dev/null +++ b/docs/dev/reference/plot_butterfly.eeg_lm.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_butterfly.eeg_stats.html b/docs/dev/reference/plot_butterfly.eeg_stats.html new file mode 100644 index 00000000..8d1354b9 --- /dev/null +++ b/docs/dev/reference/plot_butterfly.eeg_stats.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_butterfly.html b/docs/dev/reference/plot_butterfly.html index 1b3c3ebd..ea830376 100644 --- a/docs/dev/reference/plot_butterfly.html +++ b/docs/dev/reference/plot_butterfly.html @@ -1,69 +1,14 @@ - - - - - - - -Create a butterfly plot from timecourse data — plot_butterfly • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create a butterfly plot from timecourse data — plot_butterfly • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,193 +84,191 @@

    Create a butterfly plot from timecourse data

    not possible.

    -
    plot_butterfly(data, ...)
    -
    -# S3 method for default
    -plot_butterfly(
    -  data,
    -  time_lim = NULL,
    -  baseline = NULL,
    -  colourmap = NULL,
    -  legend = TRUE,
    -  continuous = FALSE,
    -  browse_mode = FALSE,
    -  allow_facets = FALSE,
    -  ...
    -)
    -
    -# S3 method for eeg_evoked
    -plot_butterfly(
    -  data,
    -  time_lim = NULL,
    -  baseline = NULL,
    -  colourmap = NULL,
    -  legend = TRUE,
    -  continuous = FALSE,
    -  browse_mode = FALSE,
    -  allow_facets = FALSE,
    -  ...
    -)
    -
    -# S3 method for eeg_data
    -plot_butterfly(
    -  data,
    -  time_lim = NULL,
    -  baseline = NULL,
    -  legend = TRUE,
    -  allow_facets = FALSE,
    -  browse_mode = FALSE,
    -  ...
    -)
    -
    -# S3 method for eeg_epochs
    -plot_butterfly(
    -  data,
    -  time_lim = NULL,
    -  baseline = NULL,
    -  legend = TRUE,
    -  allow_facets = FALSE,
    -  browse_mode = FALSE,
    -  ...
    -)
    -
    -# S3 method for eeg_stats
    -plot_butterfly(
    -  data,
    -  time_lim = NULL,
    -  baseline = NULL,
    -  legend = TRUE,
    -  allow_facets = FALSE,
    -  browse_mode = FALSE,
    -  quantity = "statistic",
    -  ...
    -)
    -
    -# S3 method for eeg_lm
    -plot_butterfly(
    -  data,
    -  time_lim = NULL,
    -  baseline = NULL,
    -  legend = TRUE,
    -  allow_facets = FALSE,
    -  browse_mode = FALSE,
    -  quantity = "coefficients",
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    EEG dataset. Should have multiple timepoints.

    ...

    Other parameters passed to plot_butterfly

    time_lim

    Character vector. Numbers in whatever time unit is used -specifying beginning and end of time-range to plot. e.g. c(-.1,.3)

    baseline

    Character vector. Times to use as a baseline. Takes the mean -over the specified period and subtracts. e.g. c(-.1, 0)

    colourmap

    Attempt to plot using a different colourmap (from -RColorBrewer). (Not yet implemented)

    legend

    Include plot legend. Defaults to TRUE.

    continuous

    Is the data continuous or not (I.e. epoched)

    browse_mode

    Custom theme for use with browse_data.

    allow_facets

    Allow use of ggplot2 facetting. See note below. Defaults -to FALSE.

    quantity

    Which aspect of the linear model you want to be plotted. only -applies to eeg_lm objects

    - -

    Value

    - -

    A ggplot object

    -

    ggplot2 object showing ERPs for all electrodes overlaid on a single +

    +
    plot_butterfly(data, ...)
    +
    +# Default S3 method
    +plot_butterfly(
    +  data,
    +  time_lim = NULL,
    +  baseline = NULL,
    +  legend = TRUE,
    +  continuous = FALSE,
    +  browse_mode = FALSE,
    +  allow_facets = FALSE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_evoked'
    +plot_butterfly(
    +  data,
    +  time_lim = NULL,
    +  baseline = NULL,
    +  legend = TRUE,
    +  continuous = FALSE,
    +  browse_mode = FALSE,
    +  allow_facets = FALSE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_data'
    +plot_butterfly(
    +  data,
    +  time_lim = NULL,
    +  baseline = NULL,
    +  legend = TRUE,
    +  allow_facets = FALSE,
    +  browse_mode = FALSE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_epochs'
    +plot_butterfly(
    +  data,
    +  time_lim = NULL,
    +  baseline = NULL,
    +  legend = TRUE,
    +  allow_facets = FALSE,
    +  browse_mode = FALSE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_stats'
    +plot_butterfly(
    +  data,
    +  time_lim = NULL,
    +  baseline = NULL,
    +  legend = TRUE,
    +  allow_facets = FALSE,
    +  browse_mode = FALSE,
    +  quantity = "statistic",
    +  ...
    +)
    +
    +# S3 method for class 'eeg_lm'
    +plot_butterfly(
    +  data,
    +  time_lim = NULL,
    +  baseline = NULL,
    +  legend = TRUE,
    +  allow_facets = FALSE,
    +  browse_mode = FALSE,
    +  quantity = "coefficients",
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    EEG dataset. Should have multiple timepoints.

    + + +
    ...
    +

    Other parameters passed to plot_butterfly

    + + +
    time_lim
    +

    Character vector. Numbers in whatever time unit is used +specifying beginning and end of time-range to plot. e.g. c(-.1,.3)

    + + +
    baseline
    +

    Character vector. Times to use as a baseline. Takes the mean +over the specified period and subtracts. e.g. c(-.1, 0)

    + + +
    legend
    +

    Include plot legend. Defaults to TRUE.

    + + +
    continuous
    +

    Is the data continuous or not (I.e. epoched)

    + + +
    browse_mode
    +

    Applies custom theme used with browse_data().

    + + +
    allow_facets
    +

    Allow use of ggplot2 facetting. See note below. Defaults +to FALSE.

    + + +
    quantity
    +

    Which aspect of the linear model you want to be plotted. only +applies to eeg_lm objects

    + +
    +
    +

    Value

    +

    ggplot2 object showing ERPs for all electrodes overlaid on a single plot.

    -

    Methods (by class)

    +
    +
    +

    Methods (by class)

    - -
      -
    • default: Default plot_butterfly method for data.frames, +

      • plot_butterfly(default): Default plot_butterfly method for data.frames, eeg_data

      • -
      • eeg_evoked: Plot butterfly for eeg_evoked objects

      • -
      • eeg_data: Create butterfly plot for eeg_data objects

      • -
      • eeg_epochs: Create butterfly plot for eeg_epochs objects

      • -
      • eeg_stats: Create butterfly plot for eeg_stats objects

      • -
      • eeg_lm: Create butterfly plot for eeg_lm objects

      • -
      -

      Notes on ggplot2 facetting

      +
    • plot_butterfly(eeg_evoked): Plot butterfly for eeg_evoked objects

    • +
    • plot_butterfly(eeg_data): Create butterfly plot for eeg_data objects

    • +
    • plot_butterfly(eeg_epochs): Create butterfly plot for eeg_epochs objects

    • +
    • plot_butterfly(eeg_stats): Create butterfly plot for eeg_stats objects

    • +
    • plot_butterfly(eeg_lm): Create butterfly plot for eeg_lm objects

    • +
    +
    +

    Notes on ggplot2 facetting

    -

    In order for ggplot2 facetting to work, the data has to be plotted using -stat_summary() rather than geom_line(), so that the plots can still be +stat_summary() rather than geom_line(), so that the plots can still be made when not all categorical variables are reflected in the facets. e.g. if there are two variables with two levels each, but you want to average -over one of those variables, stat_summary() is required. However, -stat_summary() is extremely slow.

    -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    - -

    Examples

    -
    plot_butterfly(demo_epochs) -
    plot_butterfly(demo_epochs, -time_lim = c(-.1, .4), -legend = FALSE) -
    +over one of those variables, stat_summary() is required. However, +stat_summary() can be extremely slow with a large number of timepoints, +electrodes, and epochs.

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    plot_butterfly(demo_epochs)
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +
    +plot_butterfly(demo_epochs,
    +time_lim = c(-.1, .4),
    +legend = FALSE)
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/plot_difference-1.png b/docs/dev/reference/plot_difference-1.png index f1739774..75ebd205 100644 Binary files a/docs/dev/reference/plot_difference-1.png and b/docs/dev/reference/plot_difference-1.png differ diff --git a/docs/dev/reference/plot_difference.eeg_epochs.html b/docs/dev/reference/plot_difference.eeg_epochs.html new file mode 100644 index 00000000..447e45b3 --- /dev/null +++ b/docs/dev/reference/plot_difference.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_difference.html b/docs/dev/reference/plot_difference.html index f4de6d42..8faf10d9 100644 --- a/docs/dev/reference/plot_difference.html +++ b/docs/dev/reference/plot_difference.html @@ -1,68 +1,13 @@ - - - - - - - -Plot ERP difference waves — plot_difference • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Plot ERP difference waves — plot_difference • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -155,107 +82,108 @@

    Plot ERP difference waves

    conditions and plots it.

    -
    plot_difference(data, ...)
    -
    -# S3 method for eeg_epochs
    -plot_difference(
    -  data,
    -  electrode = NULL,
    -  time_lim = NULL,
    -  baseline = NULL,
    -  colour = NULL,
    -  color = NULL,
    -  mapping = NULL,
    -  conditions = "epoch_labels",
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    eegUtils object. Should have multiple timepoints.

    ...

    Other arguments passed to methods.

    electrode

    Electrode(s) to plot.

    time_lim

    Character vector. Numbers in whatever time unit is used -specifying beginning and end of time-range to plot. e.g. c(-.1, .3)

    baseline

    Character vector. Times to use as a baseline. Takes the mean -over the specified period and subtracts. e.g. c(-.1,0)

    colour

    Variable to colour lines by. If no variable is passed, only one -line is drawn.

    color

    Alias for colour.

    mapping

    A ggplot2 aes() mapping.

    conditions

    Defaults to "epoch_labels".

    - -

    Value

    +
    +
    plot_difference(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +plot_difference(
    +  data,
    +  electrode = NULL,
    +  time_lim = NULL,
    +  baseline = NULL,
    +  colour = NULL,
    +  color = NULL,
    +  mapping = NULL,
    +  conditions = "epoch_labels",
    +  ...
    +)
    +
    + +
    +

    Arguments

    -

    Returns a ggplot2 plot object

    -

    Methods (by class)

    - -
      -
    • eeg_epochs: Plot an ERP difference wave from an eeg_epochs object

    • -
    -

    Author

    +
    data
    +

    eegUtils object. Should have multiple timepoints.

    + + +
    ...
    +

    Other arguments passed to methods.

    + + +
    electrode
    +

    Electrode(s) to plot.

    + + +
    time_lim
    +

    Character vector. Numbers in whatever time unit is used +specifying beginning and end of time-range to plot. e.g. c(-.1, .3)

    + + +
    baseline
    +

    Character vector. Times to use as a baseline. Takes the mean +over the specified period and subtracts. e.g. c(-.1,0)

    + -

    Matt Craddock, matt@mattcraddock.com

    +
    colour
    +

    Variable to colour lines by. If no variable is passed, only one +line is drawn.

    -

    Examples

    -
    plot_difference(demo_spatial, conditions = "epoch_labels", electrode = "P8")
    -
    -
    + +
    color
    +

    Alias for colour.

    + + +
    mapping
    +

    A ggplot2 aes() mapping.

    + + +
    conditions
    +

    Defaults to "epoch_labels".

    + +
    +
    +

    Value

    +

    Returns a ggplot2 plot object

    +
    +
    +

    Methods (by class)

    + +
    • plot_difference(eeg_epochs): Plot an ERP difference wave from an eeg_epochs object

    • +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    plot_difference(demo_spatial, conditions = "epoch_labels", electrode = "P8")
    +#> Creating epochs based on combinations of variables: participant_id epoch_labels 
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/plot_electrodes-1.png b/docs/dev/reference/plot_electrodes-1.png index 9d288447..bae3e881 100644 Binary files a/docs/dev/reference/plot_electrodes-1.png and b/docs/dev/reference/plot_electrodes-1.png differ diff --git a/docs/dev/reference/plot_electrodes.default.html b/docs/dev/reference/plot_electrodes.default.html new file mode 100644 index 00000000..af9467b6 --- /dev/null +++ b/docs/dev/reference/plot_electrodes.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_electrodes.eeg_data.html b/docs/dev/reference/plot_electrodes.eeg_data.html new file mode 100644 index 00000000..af9467b6 --- /dev/null +++ b/docs/dev/reference/plot_electrodes.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_electrodes.eeg_evoked.html b/docs/dev/reference/plot_electrodes.eeg_evoked.html new file mode 100644 index 00000000..af9467b6 --- /dev/null +++ b/docs/dev/reference/plot_electrodes.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_electrodes.eeg_tfr.html b/docs/dev/reference/plot_electrodes.eeg_tfr.html new file mode 100644 index 00000000..af9467b6 --- /dev/null +++ b/docs/dev/reference/plot_electrodes.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_electrodes.html b/docs/dev/reference/plot_electrodes.html index 9f260a2f..10b176bb 100644 --- a/docs/dev/reference/plot_electrodes.html +++ b/docs/dev/reference/plot_electrodes.html @@ -1,68 +1,13 @@ - - - - - - - -Plot electrode locations — plot_electrodes • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Plot electrode locations — plot_electrodes • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,77 +82,85 @@

    Plot electrode locations

    of electrode locations in 3D space.

    -
    plot_electrodes(data, interact = FALSE)
    +    
    +
    plot_electrodes(data, interact = FALSE)
    +
    +# Default S3 method
    +plot_electrodes(data, interact = FALSE)
    +
    +# S3 method for class 'eeg_data'
    +plot_electrodes(data, interact = FALSE)
    +
    +# S3 method for class 'eeg_evoked'
    +plot_electrodes(data, interact = FALSE)
    +
    +# S3 method for class 'eeg_tfr'
    +plot_electrodes(data, interact = FALSE)
    +
    -# S3 method for default -plot_electrodes(data, interact = FALSE) +
    +

    Arguments

    -# S3 method for eeg_data -plot_electrodes(data, interact = FALSE) -# S3 method for eeg_tfr -plot_electrodes(data, interact = FALSE)
    +
    data
    +

    Data with associated electrode locations to be plotted.

    -

    Arguments

    - - - - - - - - - - -
    data

    Data with associated electrode locations to be plotted.

    interact

    Choose 2D cartesian layout, or, if set to TRUE, an -interactive 3D plot of electrode locations. Defaults to FALSE.

    -

    Value

    +
    interact
    +

    Choose 2D cartesian layout, or, if set to TRUE, an +interactive 3D plot of electrode locations. Defaults to FALSE.

    +
    +
    +

    Value

    A ggplot or plotly figure showing the locations of the electrodes

    -

    Methods (by class)

    - - -
      -
    • default: generic plot electrodes function

    • -
    • eeg_data: Plot electrodes associated with an eeg_data object.

    • -
    • eeg_tfr: Plot electrodes associated with an eeg_data object.

    • -
    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    -plot_electrodes(demo_epochs) -
    -
    +
    +
    +

    Methods (by class)

    + +
    • plot_electrodes(default): generic plot electrodes function

    • +
    • plot_electrodes(eeg_data): Plot electrodes associated with an eeg_data +object.

    • +
    • plot_electrodes(eeg_evoked): Plot electrodes associated with an eeg_evoked +object.

    • +
    • plot_electrodes(eeg_tfr): Plot electrodes associated with an eeg_data +object.

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    
    +plot_electrodes(demo_epochs)
    +
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/plot_gfp-1.png b/docs/dev/reference/plot_gfp-1.png new file mode 100644 index 00000000..95aefe57 Binary files /dev/null and b/docs/dev/reference/plot_gfp-1.png differ diff --git a/docs/dev/reference/plot_gfp-2.png b/docs/dev/reference/plot_gfp-2.png new file mode 100644 index 00000000..024551df Binary files /dev/null and b/docs/dev/reference/plot_gfp-2.png differ diff --git a/docs/dev/reference/plot_gfp-3.png b/docs/dev/reference/plot_gfp-3.png new file mode 100644 index 00000000..ba90219e Binary files /dev/null and b/docs/dev/reference/plot_gfp-3.png differ diff --git a/docs/dev/reference/plot_gfp-4.png b/docs/dev/reference/plot_gfp-4.png new file mode 100644 index 00000000..44b61f6f Binary files /dev/null and b/docs/dev/reference/plot_gfp-4.png differ diff --git a/docs/dev/reference/plot_gfp.html b/docs/dev/reference/plot_gfp.html new file mode 100644 index 00000000..ac34edcb --- /dev/null +++ b/docs/dev/reference/plot_gfp.html @@ -0,0 +1,151 @@ + +Plot Global Field Power of EEG Signals — plot_gfp • eegUtils + + +
    +
    + + + +
    +
    + + +
    +

    Global Field Power (Lehmann & Skrandies, 1980) is a way to quantify the +amount of activity in the overall electroencephalographic signal at a given +timepoint. It corresponds to the spatial standard deviation.

    +
    + +
    +
    plot_gfp(data, cols = NULL, keep_trials = FALSE)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eeg_epochs object

    + + +
    cols
    +

    Condition columns from the epochs metadata to calculate GFP +separately for different conditions.

    + + +
    keep_trials
    +

    Calculate GFP for each epoch separately, then average over +epochs.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    plot_gfp(demo_spatial)
    +#> Creating epochs based on combinations of variables: participant_id 
    +
    +plot_gfp(demo_spatial, keep_trials = TRUE)
    +
    +plot_gfp(demo_spatial, cols = "epoch_labels")
    +#> Creating epochs based on combinations of variables: participant_id epoch_labels 
    +
    +plot_gfp(demo_spatial, cols = "epoch_labels", keep_trials = TRUE)
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.1.0.

    +
    + +
    + + + + + + + + diff --git a/docs/dev/reference/plot_psd-1.png b/docs/dev/reference/plot_psd-1.png index 1647e918..e854f67f 100644 Binary files a/docs/dev/reference/plot_psd-1.png and b/docs/dev/reference/plot_psd-1.png differ diff --git a/docs/dev/reference/plot_psd-2.png b/docs/dev/reference/plot_psd-2.png index 1647e918..e854f67f 100644 Binary files a/docs/dev/reference/plot_psd-2.png and b/docs/dev/reference/plot_psd-2.png differ diff --git a/docs/dev/reference/plot_psd.data.frame.html b/docs/dev/reference/plot_psd.data.frame.html new file mode 100644 index 00000000..170b77a5 --- /dev/null +++ b/docs/dev/reference/plot_psd.data.frame.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_psd.eeg_ICA.html b/docs/dev/reference/plot_psd.eeg_ICA.html new file mode 100644 index 00000000..170b77a5 --- /dev/null +++ b/docs/dev/reference/plot_psd.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_psd.eeg_data.html b/docs/dev/reference/plot_psd.eeg_data.html new file mode 100644 index 00000000..170b77a5 --- /dev/null +++ b/docs/dev/reference/plot_psd.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_psd.eeg_epochs.html b/docs/dev/reference/plot_psd.eeg_epochs.html new file mode 100644 index 00000000..170b77a5 --- /dev/null +++ b/docs/dev/reference/plot_psd.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_psd.eeg_evoked.html b/docs/dev/reference/plot_psd.eeg_evoked.html new file mode 100644 index 00000000..170b77a5 --- /dev/null +++ b/docs/dev/reference/plot_psd.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_psd.eeg_group.html b/docs/dev/reference/plot_psd.eeg_group.html new file mode 100644 index 00000000..170b77a5 --- /dev/null +++ b/docs/dev/reference/plot_psd.eeg_group.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_psd.html b/docs/dev/reference/plot_psd.html index 71cd37a9..38c8517d 100644 --- a/docs/dev/reference/plot_psd.html +++ b/docs/dev/reference/plot_psd.html @@ -1,68 +1,13 @@ - - - - - - - -Plot Power Spectral Density — plot_psd • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Plot Power Spectral Density — plot_psd • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,172 +82,179 @@

    Plot Power Spectral Density

    PSD is calculated using Welch's method.

    -
    plot_psd(data, freq_range = NULL, ...)
    -
    -# S3 method for eeg_epochs
    -plot_psd(
    -  data,
    -  freq_range = NULL,
    -  n_fft = 256,
    -  seg_length = NULL,
    -  noverlap = NULL,
    -  demean = TRUE,
    -  keep_trials = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_data
    -plot_psd(
    -  data,
    -  freq_range = NULL,
    -  n_fft = 2048,
    -  noverlap = NULL,
    -  seg_length = NULL,
    -  ...
    -)
    -
    -# S3 method for eeg_ICA
    -plot_psd(
    -  data,
    -  freq_range = NULL,
    -  components = NULL,
    -  seg_length = NULL,
    -  noverlap = NULL,
    -  n_fft = 256,
    -  ...
    -)
    -
    -# S3 method for data.frame
    -plot_psd(data, freq_range = NULL, ...)
    -
    -# S3 method for eeg_evoked
    -plot_psd(
    -  data,
    -  freq_range = NULL,
    -  n_fft = 256,
    -  seg_length = NULL,
    -  noverlap = NULL,
    -  keep_trials = TRUE,
    -  ...
    -)
    -
    -# S3 method for eeg_group
    -plot_psd(
    -  data,
    -  freq_range = NULL,
    -  n_fft = 256,
    -  seg_length = NULL,
    -  noverlap = NULL,
    -  demean = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Object of class eeg_epochs, eeg_data, or eeg_ICA.

    freq_range

    Vector of lower and upper frequencies to plot. (e.g. c(1, -40))

    ...

    Additional parameters.

    n_fft

    Number of points to use for the underlying FFTs. Defaults to 256 -for eeg_epochs or minimum of 2048 or the signal length for eeg_data.

    seg_length

    Length of individual segments. Defaults to n_fft. Must be -<= n_fft.

    noverlap

    Amount of overlap between segments, in sampling points. -Defaults to 50%.

    demean

    Remove epoch means before FFT.

    keep_trials

    Whether to keep trial information in the output or average -over all trials

    components

    Which components to compute the PSD for. Defaults to all.

    - -

    Value

    +
    +
    plot_psd(data, freq_range = NULL, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +plot_psd(
    +  data,
    +  freq_range = NULL,
    +  n_fft = 256,
    +  seg_length = NULL,
    +  noverlap = NULL,
    +  demean = TRUE,
    +  keep_trials = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_data'
    +plot_psd(
    +  data,
    +  freq_range = NULL,
    +  n_fft = 2048,
    +  noverlap = NULL,
    +  seg_length = NULL,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_ICA'
    +plot_psd(
    +  data,
    +  freq_range = NULL,
    +  components = NULL,
    +  seg_length = NULL,
    +  noverlap = NULL,
    +  n_fft = 256,
    +  ...
    +)
    +
    +# S3 method for class 'data.frame'
    +plot_psd(data, freq_range = NULL, ...)
    +
    +# S3 method for class 'eeg_evoked'
    +plot_psd(
    +  data,
    +  freq_range = NULL,
    +  n_fft = 256,
    +  seg_length = NULL,
    +  noverlap = NULL,
    +  keep_trials = TRUE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_group'
    +plot_psd(
    +  data,
    +  freq_range = NULL,
    +  n_fft = 256,
    +  seg_length = NULL,
    +  noverlap = NULL,
    +  demean = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    -

    A ggplot object.

    -

    Details

    +
    data
    +

    Object of class eeg_epochs, eeg_data, or eeg_ICA.

    + + +
    freq_range
    +

    Vector of lower and upper frequencies to plot. (e.g. c(1, +40))

    + + +
    ...
    +

    Additional parameters.

    + + +
    n_fft
    +

    Number of points to use for the underlying FFTs. Defaults to 256 +for eeg_epochs or minimum of 2048 or the signal length for eeg_data.

    + + +
    seg_length
    +

    Length of individual segments. Defaults to n_fft. Must be +<= n_fft.

    + + +
    noverlap
    +

    Amount of overlap between segments, in sampling points. +Defaults to 50%.

    + + +
    demean
    +

    Remove epoch means before FFT.

    + + +
    keep_trials
    +

    Whether to keep trial information in the output or average +over all trials

    + + +
    components
    +

    Which components to compute the PSD for. Defaults to all.

    + +
    +
    +

    Value

    +

    A ggplot object.

    +
    +
    +

    Details

    Welch's method splits the data into multiple segments and then averages over those segments. For epoched data, Welch's FFT is calculated separately for each trial.

    Specific parameters such as the number of FFT points and the amount of overlap between segments can be passed to Welch's FFT.

    -

    Methods (by class)

    - - -
      -
    • eeg_epochs: Plot PSD for eeg_epochs.

    • -
    • eeg_data: Plot PSD for eeg_data.

    • -
    • eeg_ICA: Plot PSD for eeg_ICA objects

    • -
    • data.frame: Plot PSD for data.frames.

    • -
    • eeg_evoked: Plot PSD for eeg_evoked objects

    • -
    • eeg_group: Plot PSD for eeg_group objects is not currently supported

    • -
    -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    - -

    Examples

    -
    plot_psd(demo_epochs) -
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    plot_psd(demo_epochs, seg_length = 256) -
    #> Removing channel means per epoch...
    #> Computing Power Spectral Density using Welch's method. -#> FFT length: 256 -#> Segment length: 84 -#> Overlapping points: 42 (50% overlap)
    +
    +
    +

    Methods (by class)

    + +
    • plot_psd(eeg_epochs): Plot PSD for eeg_epochs.

    • +
    • plot_psd(eeg_data): Plot PSD for eeg_data.

    • +
    • plot_psd(eeg_ICA): Plot PSD for eeg_ICA objects

    • +
    • plot_psd(data.frame): Plot PSD for data.frames.

    • +
    • plot_psd(eeg_evoked): Plot PSD for eeg_evoked objects

    • +
    • plot_psd(eeg_group): Plot PSD for eeg_group objects is not currently supported

    • +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
     plot_psd(demo_epochs)
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    + plot_psd(demo_epochs, seg_length = 256)
    +#> Removing channel means per epoch...
    +#> Computing Power Spectral Density using Welch's method.
    +#> FFT length: 256
    +#> Segment length: 84
    +#> Overlapping points: 42 (50% overlap)
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/plot_tfr.html b/docs/dev/reference/plot_tfr.html index 2cf483c2..f3bc2e6f 100644 --- a/docs/dev/reference/plot_tfr.html +++ b/docs/dev/reference/plot_tfr.html @@ -1,69 +1,14 @@ - - - - - - - -Time-frequency plot — plot_tfr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Time-frequency plot — plot_tfr • eegUtils - - + - -
    -
    - - -
    -
    +
    -

    Creates a time-frequency plot of an eeg_tfr object. The plot has time -on the x-axis and frequency on the y-axis. If no electrode is supplied, it -will average over all electrodes.

    +

    Creates a time-frequency plot of an eeg_tfr object. The plot has time on +the x-axis and frequency on the y-axis. If no electrode is supplied, it will +average over all electrodes.

    +
    + +
    +
    plot_tfr(
    +  data,
    +  electrode = NULL,
    +  time_lim = NULL,
    +  freq_range = NULL,
    +  baseline_type = "none",
    +  baseline = NULL,
    +  fill_lims = NULL,
    +  interpolate = FALSE,
    +  na.rm = TRUE,
    +  fun.data = mean
    +)
    -
    plot_tfr(
    -  data,
    -  electrode = NULL,
    -  time_lim = NULL,
    -  freq_range = NULL,
    -  baseline_type = "none",
    -  baseline = NULL,
    -  fill_lims = NULL,
    -  interpolate = FALSE,
    -  na.rm = TRUE,
    -  fun.data = mean
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Object of class eeg_tfr

    electrode

    Electrode to plot. If none is supplied, averages over all -electrodes.

    time_lim

    Time limits of plot.

    freq_range

    Vector of two numbers. (e.g. c(8, 40)).

    baseline_type

    baseline correction to apply. Defaults to "none".

    baseline

    Baseline period

    fill_lims

    Custom colour scale (i.e. range of power). e.g. c(-5, 5).

    interpolate

    Interpolation of raster for smoother plotting.

    na.rm

    Remove NA values silently (TRUE) or with a warning (FALSE). -Defaults to TRUE.

    fun.data

    Statistical function to use for averaging over -electrodes/conditions. Defaults to mean.

    - -

    Value

    - -

    A ggplot

    -

    Details

    +
    +

    Arguments

    -

    Various different baseline options can be applied here (e.g. "db" for -decibels, "pc" for percent change, "divide" for division; see -rm_baseline for details).

    -

    See also

    - -

    Author

    +
    data
    +

    Object of class eeg_tfr

    + + +
    electrode
    +

    Electrode to plot. If none is supplied, averages over all +electrodes.

    + + +
    time_lim
    +

    Time limits of plot.

    + + +
    freq_range
    +

    Vector of two numbers. (e.g. c(8, 40)).

    + + +
    baseline_type
    +

    baseline correction to apply. Defaults to none.

    + + +
    baseline
    +

    Baseline period

    + -

    Matt Craddock matt@mattcraddock.com

    +
    fill_lims
    +

    Custom colour scale (i.e. range of power). e.g. c(-5, 5).

    + + +
    interpolate
    +

    Interpolation of raster for smoother plotting.

    + + +
    na.rm
    +

    Remove NA values silently (TRUE) or with a warning (FALSE). +Defaults to TRUE.

    + + +
    fun.data
    +

    Statistical function to use for averaging over +electrodes/conditions. Defaults to mean. Alternatively, supply +weighted.mean, which will attempt to weight separate conditions +appropriately.

    + +
    +
    +

    Value

    +

    A ggplot object

    +
    +
    +

    Details

    +

    Various different baseline options can be applied here (e.g. "db" for +decibels, "pc" for percent change, "divide" for division; see rm_baseline +for details).

    +
    +
    +

    See also

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/plot_timecourse-1.png b/docs/dev/reference/plot_timecourse-1.png index 3609ff2b..9a7f3b6c 100644 Binary files a/docs/dev/reference/plot_timecourse-1.png and b/docs/dev/reference/plot_timecourse-1.png differ diff --git a/docs/dev/reference/plot_timecourse-2.png b/docs/dev/reference/plot_timecourse-2.png index a394b5f1..f9ca2877 100644 Binary files a/docs/dev/reference/plot_timecourse-2.png and b/docs/dev/reference/plot_timecourse-2.png differ diff --git a/docs/dev/reference/plot_timecourse-3.png b/docs/dev/reference/plot_timecourse-3.png new file mode 100644 index 00000000..75eb0e22 Binary files /dev/null and b/docs/dev/reference/plot_timecourse-3.png differ diff --git a/docs/dev/reference/plot_timecourse-4.png b/docs/dev/reference/plot_timecourse-4.png new file mode 100644 index 00000000..e77492b8 Binary files /dev/null and b/docs/dev/reference/plot_timecourse-4.png differ diff --git a/docs/dev/reference/plot_timecourse-5.png b/docs/dev/reference/plot_timecourse-5.png new file mode 100644 index 00000000..bef65a66 Binary files /dev/null and b/docs/dev/reference/plot_timecourse-5.png differ diff --git a/docs/dev/reference/plot_timecourse.data.frame.html b/docs/dev/reference/plot_timecourse.data.frame.html new file mode 100644 index 00000000..106c5a7e --- /dev/null +++ b/docs/dev/reference/plot_timecourse.data.frame.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_timecourse.eeg_ICA.html b/docs/dev/reference/plot_timecourse.eeg_ICA.html new file mode 100644 index 00000000..106c5a7e --- /dev/null +++ b/docs/dev/reference/plot_timecourse.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_timecourse.eeg_epochs.html b/docs/dev/reference/plot_timecourse.eeg_epochs.html new file mode 100644 index 00000000..106c5a7e --- /dev/null +++ b/docs/dev/reference/plot_timecourse.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_timecourse.eeg_evoked.html b/docs/dev/reference/plot_timecourse.eeg_evoked.html new file mode 100644 index 00000000..106c5a7e --- /dev/null +++ b/docs/dev/reference/plot_timecourse.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_timecourse.eeg_group.html b/docs/dev/reference/plot_timecourse.eeg_group.html new file mode 100644 index 00000000..106c5a7e --- /dev/null +++ b/docs/dev/reference/plot_timecourse.eeg_group.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_timecourse.eeg_tfr.html b/docs/dev/reference/plot_timecourse.eeg_tfr.html new file mode 100644 index 00000000..106c5a7e --- /dev/null +++ b/docs/dev/reference/plot_timecourse.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/plot_timecourse.html b/docs/dev/reference/plot_timecourse.html index 820ed6ed..78b01897 100644 --- a/docs/dev/reference/plot_timecourse.html +++ b/docs/dev/reference/plot_timecourse.html @@ -1,11 +1,13 @@ -Plot 1-D timecourse data. — plot_timecourse • eegUtilsPlot one-dimensional timecourse data. — plot_timecourse • eegUtils - +
    @@ -31,9 +33,9 @@ Reference
    - +
    @@ -78,123 +83,163 @@

    Plot 1-D timecourse data.

    Typically event-related potentials/fields, but could also be timecourses from frequency analyses for single frequencies. Averages over all submitted -electrodes. Output is a ggplot2 object.

    +electrodes. For group data, plot_timecourse will average within-participants +first, using weighted averaging where possible, then across participants using +unweighted averaging. Output is a ggplot2 object.

    -
    plot_timecourse(data, ...)
    -
    -# S3 method for data.frame
    -plot_timecourse(
    -  data,
    -  electrode = NULL,
    -  time_lim = NULL,
    -  add_CI = FALSE,
    -  baseline = NULL,
    -  colour = NULL,
    -  color = NULL,
    -  mapping = NULL,
    -  ...
    -)
    -
    -# S3 method for eeg_evoked
    -plot_timecourse(
    -  data,
    -  electrode = NULL,
    -  time_lim = NULL,
    -  add_CI = FALSE,
    -  baseline = NULL,
    -  colour = NULL,
    -  color = NULL,
    -  mapping = NULL,
    -  ...
    -)
    -
    -# S3 method for eeg_ICA
    -plot_timecourse(
    -  data,
    -  component = NULL,
    -  time_lim = NULL,
    -  add_CI = FALSE,
    -  baseline = NULL,
    -  colour = NULL,
    -  color = NULL,
    -  mapping = NULL,
    -  ...
    -)
    -
    -# S3 method for eeg_epochs
    -plot_timecourse(
    -  data,
    -  electrode = NULL,
    -  time_lim = NULL,
    -  add_CI = FALSE,
    -  baseline = NULL,
    -  colour = NULL,
    -  color = NULL,
    -  mapping = NULL,
    -  ...
    -)
    -
    -# S3 method for eeg_group
    -plot_timecourse(
    -  data,
    -  electrode = NULL,
    -  time_lim = NULL,
    -  add_CI = FALSE,
    -  baseline = NULL,
    -  colour = NULL,
    -  color = NULL,
    -  mapping = NULL,
    -  ...
    -)
    -
    -# S3 method for eeg_tfr
    -plot_timecourse(
    -  data,
    -  electrode = NULL,
    -  time_lim = NULL,
    -  add_CI = FALSE,
    -  baseline = NULL,
    -  colour = NULL,
    -  color = NULL,
    -  mapping = NULL,
    -  freq_range = NULL,
    -  type = "divide",
    -  ...
    -)
    +
    plot_timecourse(data, ...)
    +
    +# S3 method for class 'data.frame'
    +plot_timecourse(
    +  data,
    +  electrode = NULL,
    +  time_lim = NULL,
    +  add_CI = FALSE,
    +  baseline = NULL,
    +  colour = NULL,
    +  color = NULL,
    +  mapping = NULL,
    +  facets = NULL,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_evoked'
    +plot_timecourse(
    +  data,
    +  electrode = NULL,
    +  time_lim = NULL,
    +  add_CI = FALSE,
    +  baseline = NULL,
    +  colour = NULL,
    +  color = NULL,
    +  mapping = NULL,
    +  facets = NULL,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_ICA'
    +plot_timecourse(
    +  data,
    +  component = NULL,
    +  time_lim = NULL,
    +  add_CI = FALSE,
    +  baseline = NULL,
    +  colour = NULL,
    +  color = NULL,
    +  mapping = NULL,
    +  facets = NULL,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_epochs'
    +plot_timecourse(
    +  data,
    +  electrode = NULL,
    +  time_lim = NULL,
    +  add_CI = FALSE,
    +  baseline = NULL,
    +  colour = NULL,
    +  color = NULL,
    +  mapping = NULL,
    +  facets = NULL,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_group'
    +plot_timecourse(
    +  data,
    +  electrode = NULL,
    +  time_lim = NULL,
    +  add_CI = FALSE,
    +  baseline = NULL,
    +  colour = NULL,
    +  color = NULL,
    +  mapping = NULL,
    +  facets = NULL,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_tfr'
    +plot_timecourse(
    +  data,
    +  electrode = NULL,
    +  time_lim = NULL,
    +  add_CI = FALSE,
    +  baseline = NULL,
    +  colour = NULL,
    +  color = NULL,
    +  mapping = NULL,
    +  freq_range = NULL,
    +  type = "divide",
    +  ...
    +)

    Arguments

    -
    data
    + + +
    data

    EEG dataset. Should have multiple timepoints.

    -
    ...
    + + +
    ...

    Other arguments passed to methods.

    -
    electrode
    + + +
    electrode

    Electrode(s) to plot.

    -
    time_lim
    + + +
    time_lim

    Character vector. Numbers in whatever time unit is used specifying beginning and end of time-range to plot. e.g. c(-.1, .3)

    -
    add_CI
    + + +
    add_CI

    Add confidence intervals to the graph. Defaults to 95 percent between-subject CIs.

    -
    baseline
    + + +
    baseline

    Character vector. Times to use as a baseline. Takes the mean over the specified period and subtracts. e.g. c(-.1,0)

    -
    colour
    + + +
    colour

    Variable to colour lines by. If no variable is passed, only one line is drawn.

    -
    color
    + + +
    color

    Alias for colour.

    -
    mapping
    -

    A ggplot2 aes() mapping.

    -
    component
    + + +
    mapping
    +

    A ggplot2 aes() mapping.

    + + +
    facets
    +

    A right-hand-side only formula specifying which variables should +be used to create facets.

    + + +
    component

    name or number of ICA component to plot

    -
    freq_range
    -

    Choose a specific frequency range to plot

    -
    type
    + + +
    freq_range
    +

    Choose a specific frequency range to plot. If NULL, +calculates the mean over all frequencies. Note that this does not imply +that there is power at an included frequency. For example, lower +frequencies will have shorter timecourses than high frequencies.

    + + +
    type

    Type of baseline correction to use for eeg_tfr objects

    +

    Value

    @@ -202,13 +247,14 @@

    Value

    Methods (by class)

    - -
    • data.frame: Plot a data.frame timecourse

    • -
    • eeg_evoked: plot eeg_evoked timecourses

    • -
    • eeg_ICA: Plot individual components from eeg_ICA components

    • -
    • eeg_epochs: Plot timecourses from eeg_epochs objects.

    • -
    • eeg_group: Plot timecourses from eeg_group objects.

    • -
    • eeg_tfr: Plot timecourses from eeg_tfr objects.

    • + +
      • plot_timecourse(data.frame): Plot a data.frame timecourse

      • +
      • plot_timecourse(eeg_evoked): plot eeg_evoked timecourses

      • +
      • plot_timecourse(eeg_ICA): Plot individual components from eeg_ICA +components

      • +
      • plot_timecourse(eeg_epochs): Plot timecourses from eeg_epochs objects.

      • +
      • plot_timecourse(eeg_group): Plot timecourses from eeg_group objects.

      • +
      • plot_timecourse(eeg_tfr): Plot timecourses from eeg_tfr objects.

    Author

    @@ -217,10 +263,25 @@

    Author

    Examples

    -
    plot_timecourse(demo_epochs, "A29")
    +    
    library(ggplot2)
    +plot_timecourse(demo_epochs, "A29")
    +#> Creating epochs based on combinations of variables: participant_id 
     
    -plot_timecourse(demo_epochs, "A29", add_CI = TRUE)
    +plot_timecourse(demo_epochs, "A29", baseline = c(-.1, 0))
    +#> Baseline: -0.1 - 0s
    +#> Creating epochs based on combinations of variables: participant_id 
     
    +plot_timecourse(demo_epochs, "A29", baseline = c(-.1, 0), add_CI = TRUE)
    +#> Baseline: -0.1 - 0s
    +
    +plot_timecourse(demo_spatial, "Oz", baseline = c(-.1, 0), mapping = aes(colour = epoch_labels))
    +#> Baseline: -0.1 - 0s
    +#> Creating epochs based on combinations of variables: participant_id epoch_labels 
    +
    +plot_timecourse(demo_spatial, "Oz", baseline = c(-.1, 0), facets = ~epoch_labels)
    +#> Baseline: -0.1 - 0s
    +#> Creating epochs based on combinations of variables: participant_id epoch_labels 
    +
     
    @@ -235,15 +296,15 @@

    Examples

    -

    Site built with pkgdown 2.0.2.

    +

    Site built with pkgdown 2.1.0.

    - - + + diff --git a/docs/dev/reference/print.eeg_ICA.html b/docs/dev/reference/print.eeg_ICA.html index f246d8e0..284d2dd7 100644 --- a/docs/dev/reference/print.eeg_ICA.html +++ b/docs/dev/reference/print.eeg_ICA.html @@ -1,67 +1,12 @@ - - - - - - - -Print eeg_epochs summary — print.eeg_ICA • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Print eeg_epochs summary — print.eeg_ICA • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Print eeg_epochs summary

    Print a basic summary of the contents of an eeg_epochs object

    -
    # S3 method for eeg_ICA
    -print(x, ...)
    +
    +
    # S3 method for class 'eeg_ICA'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    eeg_epochs object to be printed

    ...

    Further arguments passed

    +
    x
    +

    eeg_epochs object to be printed

    +
    ...
    +

    Further arguments passed

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/print.eeg_data.html b/docs/dev/reference/print.eeg_data.html index b4c6eb5a..c06f7f91 100644 --- a/docs/dev/reference/print.eeg_data.html +++ b/docs/dev/reference/print.eeg_data.html @@ -1,67 +1,12 @@ - - - - - - - -Print eeg_data summary — print.eeg_data • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Print eeg_data summary — print.eeg_data • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Print eeg_data summary

    Print a basic summary of the contents of an eeg_data object

    -
    # S3 method for eeg_data
    -print(x, ...)
    +
    +
    # S3 method for class 'eeg_data'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    eeg_data object to be printed

    ...

    Further arguments passed

    +
    x
    +

    eeg_data object to be printed

    +
    ...
    +

    Further arguments passed

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/print.eeg_epochs.html b/docs/dev/reference/print.eeg_epochs.html index b51c26ac..efe77f81 100644 --- a/docs/dev/reference/print.eeg_epochs.html +++ b/docs/dev/reference/print.eeg_epochs.html @@ -1,67 +1,12 @@ - - - - - - - -Print eeg_epochs summary — print.eeg_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Print eeg_epochs summary — print.eeg_epochs • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Print eeg_epochs summary

    Print a basic summary of the contents of an eeg_epochs object

    -
    # S3 method for eeg_epochs
    -print(x, ...)
    +
    +
    # S3 method for class 'eeg_epochs'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    eeg_epochs object to be printed

    ...

    Further arguments passed

    +
    x
    +

    eeg_epochs object to be printed

    +
    ...
    +

    Further arguments passed

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/print.eeg_evoked.html b/docs/dev/reference/print.eeg_evoked.html index 49c4158c..71df2d6b 100644 --- a/docs/dev/reference/print.eeg_evoked.html +++ b/docs/dev/reference/print.eeg_evoked.html @@ -1,67 +1,12 @@ - - - - - - - -Print eeg_evoked summary — print.eeg_evoked • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Print eeg_evoked summary — print.eeg_evoked • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Print eeg_evoked summary

    Print a basic summary of the contents of an eeg_epochs object

    -
    # S3 method for eeg_evoked
    -print(x, ...)
    +
    +
    # S3 method for class 'eeg_evoked'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    eeg_epochs object to be printed

    ...

    Further arguments passed

    +
    x
    +

    eeg_epochs object to be printed

    +
    ...
    +

    Further arguments passed

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/print.eeg_group.html b/docs/dev/reference/print.eeg_group.html index 32d4395f..73efd2df 100644 --- a/docs/dev/reference/print.eeg_group.html +++ b/docs/dev/reference/print.eeg_group.html @@ -1,67 +1,12 @@ - - - - - - - -Print eeg_group summary — print.eeg_group • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Print eeg_group summary — print.eeg_group • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Print eeg_group summary

    Print a basic summary of the contents of an eeg_group object

    -
    # S3 method for eeg_group
    -print(x, ...)
    +
    +
    # S3 method for class 'eeg_group'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    eeg_group object to be printed

    ...

    Further arguments passed

    +
    x
    +

    eeg_group object to be printed

    +
    ...
    +

    Further arguments passed

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/print.eeg_lm.html b/docs/dev/reference/print.eeg_lm.html index a59e8971..adabb972 100644 --- a/docs/dev/reference/print.eeg_lm.html +++ b/docs/dev/reference/print.eeg_lm.html @@ -1,67 +1,12 @@ - - - - - - - -Print eeg_lm summary — print.eeg_lm • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Print eeg_lm summary — print.eeg_lm • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Print eeg_lm summary

    Print a basic summary of the contents of an eeg_lm object

    -
    # S3 method for eeg_lm
    -print(x, ...)
    +
    +
    # S3 method for class 'eeg_lm'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    eeg_lm object to be printed

    ...

    Further arguments passed

    +
    x
    +

    eeg_lm object to be printed

    +
    ...
    +

    Further arguments passed

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/print.eeg_stats.html b/docs/dev/reference/print.eeg_stats.html index b23385a7..61a387fb 100644 --- a/docs/dev/reference/print.eeg_stats.html +++ b/docs/dev/reference/print.eeg_stats.html @@ -1,67 +1,12 @@ - - - - - - - -Print eeg_stats summary — print.eeg_stats • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Print eeg_stats summary — print.eeg_stats • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Print eeg_stats summary

    Print a basic summary of the contents of an eeg_stats object

    -
    # S3 method for eeg_stats
    -print(x, ...)
    +
    +
    # S3 method for class 'eeg_stats'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    eeg_stats object to be printed

    ...

    Further arguments passed

    +
    x
    +

    eeg_stats object to be printed

    +
    ...
    +

    Further arguments passed

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/print.eeg_tfr.html b/docs/dev/reference/print.eeg_tfr.html index 9251ee99..33f7f5fc 100644 --- a/docs/dev/reference/print.eeg_tfr.html +++ b/docs/dev/reference/print.eeg_tfr.html @@ -1,67 +1,12 @@ - - - - - - - -Print eeg_tfr summary — print.eeg_tfr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Print eeg_tfr summary — print.eeg_tfr • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,48 +80,45 @@

    Print eeg_tfr summary

    Print a basic summary of the contents of an eeg_tfr object

    -
    # S3 method for eeg_tfr
    -print(x, ...)
    +
    +
    # S3 method for class 'eeg_tfr'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    eeg_tfr object to be printed

    ...

    Further arguments passed

    +
    x
    +

    eeg_tfr object to be printed

    +
    ...
    +

    Further arguments passed

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/print.tfr_average.html b/docs/dev/reference/print.tfr_average.html new file mode 100644 index 00000000..5a7d0eda --- /dev/null +++ b/docs/dev/reference/print.tfr_average.html @@ -0,0 +1,124 @@ + +Print tfr_average summary — print.tfr_average • eegUtils + + +
    +
    + + + +
    +
    + + +
    +

    Print a basic summary of the contents of a tfr_average object

    +
    + +
    +
    # S3 method for class 'tfr_average'
    +print(x, ...)
    +
    + +
    +

    Arguments

    + + +
    x
    +

    tfr_average object to be printed

    + + +
    ...
    +

    Further arguments passed

    + +
    + +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.1.0.

    +
    + +
    + + + + + + + + diff --git a/docs/dev/reference/proc_events.html b/docs/dev/reference/proc_events.html index 6112d36c..aedce9c0 100644 --- a/docs/dev/reference/proc_events.html +++ b/docs/dev/reference/proc_events.html @@ -1,67 +1,12 @@ - - - - - - - -Internal function for processing epoch_events during selection — proc_events • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Internal function for processing epoch_events during selection — proc_events • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,35 +80,32 @@

    Internal function for processing epoch_events during selection

    Converts character strings into a vector of epoch numbers with matching labels.

    -
    proc_events(epoch_events, event_type, epoch_nos, event_labels, keep)
    - +
    +
    proc_events(epoch_events, event_type, epoch_nos, event_labels, keep)
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/project_elecs.html b/docs/dev/reference/project_elecs.html index 5ccf5bbd..a01579a7 100644 --- a/docs/dev/reference/project_elecs.html +++ b/docs/dev/reference/project_elecs.html @@ -1,72 +1,17 @@ - - - - - - - -Electrode projection — project_elecs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Electrode projection — project_elecs • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -163,48 +90,45 @@

    Electrode projection

    the features by "unrolling" the electrode positions.

    -
    project_elecs(chan_info, method = "stereographic")
    +
    +
    project_elecs(chan_info, method = "stereographic")
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    chan_info

    Channel information from an eegUtils object

    method

    Method of projection. "stereographic" or "orthographic". -Defaults to sterographic.

    +
    chan_info
    +

    Channel information from an eegUtils object

    +
    method
    +

    Method of projection. "stereographic" or "orthographic". +Defaults to sterographic.

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/quick_hurst.html b/docs/dev/reference/quick_hurst.html index f34326b3..f3a95b26 100644 --- a/docs/dev/reference/quick_hurst.html +++ b/docs/dev/reference/quick_hurst.html @@ -1,67 +1,12 @@ - - - - - - - -Quickly calculate simple Hurst exponent for a matrix — quick_hurst • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Quickly calculate simple Hurst exponent for a matrix — quick_hurst • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Quickly calculate simple Hurst exponent for a matrix

    Quickly calculate simple Hurst exponent for a matrix

    -
    quick_hurst(data)
    +
    +
    quick_hurst(data)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    data

    matrix of EEG signals

    +
    data
    +

    matrix of EEG signals

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/rad2deg.html b/docs/dev/reference/rad2deg.html index 759d07dc..d70dd53a 100644 --- a/docs/dev/reference/rad2deg.html +++ b/docs/dev/reference/rad2deg.html @@ -1,67 +1,12 @@ - - - - - - - -Convert radians to degrees — rad2deg • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert radians to degrees — rad2deg • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Convert radians to degrees

    Convert radians to degrees

    -
    rad2deg(x)
    +
    +
    rad2deg(x)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    x

    Radians to convert

    +
    x
    +

    Radians to convert

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/read_dat.html b/docs/dev/reference/read_dat.html index a341a529..edcab6da 100644 --- a/docs/dev/reference/read_dat.html +++ b/docs/dev/reference/read_dat.html @@ -1,67 +1,12 @@ - - - - - - - -Read the raw data for a BVA file. — read_dat • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Read the raw data for a BVA file. — read_dat • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,55 +80,52 @@

    Read the raw data for a BVA file.

    Read the raw data for a BVA file.

    -
    read_dat(file_name, file_size, bin_format, multiplexed)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    file_name

    Filename of the .dat file

    file_size

    Size of the .dat file

    bin_format

    Storage format.

    multiplexed

    Logical; whether the data is VECTORIZED (FALSE) or MULTIPLEXED (TRUE)

    +
    +
    read_dat(file_name, file_size, bin_format, multiplexed)
    +
    + +
    +

    Arguments

    +
    file_name
    +

    Filename of the .dat file

    + + +
    file_size
    +

    Size of the .dat file

    + + +
    bin_format
    +

    Storage format.

    + + +
    multiplexed
    +

    Logical; whether the data is VECTORIZED (FALSE) or MULTIPLEXED (TRUE)

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/read_vmrk.html b/docs/dev/reference/read_vmrk.html index 76d929dc..4f7263da 100644 --- a/docs/dev/reference/read_vmrk.html +++ b/docs/dev/reference/read_vmrk.html @@ -1,67 +1,12 @@ - - - - - - - -Read BVA markers — read_vmrk • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Read BVA markers — read_vmrk • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Read BVA markers

    Import and parse BVA marker files.

    -
    read_vmrk(file_name)
    +
    +
    read_vmrk(file_name)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    file_name

    File name of the .vmrk markers file.

    +
    file_name
    +

    File name of the .vmrk markers file.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/rearrange_tfr.html b/docs/dev/reference/rearrange_tfr.html index 1134df2a..b8399556 100644 --- a/docs/dev/reference/rearrange_tfr.html +++ b/docs/dev/reference/rearrange_tfr.html @@ -1,67 +1,12 @@ - - - - - - - -Rearrange and combine tfr_average objects — rearrange_tfr • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Rearrange and combine tfr_average objects — rearrange_tfr • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Rearrange and combine tfr_average objects

    Epochs in different tfr_average objects are not necessarily in the same order.

    -
    rearrange_tfr(data, add_obj)
    +
    +
    rearrange_tfr(data, add_obj)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    data

    first object to be combined

    add_obj

    list of additional objects

    +
    data
    +

    first object to be combined

    +
    add_obj
    +

    list of additional objects

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/reexports.html b/docs/dev/reference/reexports.html index 34e233c8..bbbfb6b7 100644 --- a/docs/dev/reference/reexports.html +++ b/docs/dev/reference/reexports.html @@ -1,74 +1,23 @@ - - - - - - - -Objects exported from other packages — reexports • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Objects exported from other packages — reexports • eegUtils + ggplot2 +fortify - - - - - - - - - + - -
    -
    - - -
    -
    +

    These objects are imported from other packages. Follow the links below to see their documentation.

    -
    -
    dplyr

    filter, mutate, rename, select

    +
    dplyr
    +

    filter, mutate, rename, select

    -
    ggplot2

    fortify

    -
    -
    +
    ggplot2
    +

    fortify

    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/remove_edges.html b/docs/dev/reference/remove_edges.html index 6f069ea7..99cc7718 100644 --- a/docs/dev/reference/remove_edges.html +++ b/docs/dev/reference/remove_edges.html @@ -1,68 +1,13 @@ - - - - - - - -Remove convolution edges — remove_edges • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Remove convolution edges — remove_edges • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -155,47 +82,44 @@

    Remove convolution edges

    Returns a time by frequency matrix with NA

    -
    remove_edges(sigtime, sigma_t)
    +
    +
    remove_edges(sigtime, sigma_t)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    sigtime

    timepoints in the signal

    sigma_t

    standard deviations of the morlet wavelets

    +
    sigtime
    +

    timepoints in the signal

    +
    sigma_t
    +

    standard deviations of the morlet wavelets

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/rename.html b/docs/dev/reference/rename.html new file mode 100644 index 00000000..2b5e2469 --- /dev/null +++ b/docs/dev/reference/rename.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/rm_baseline.data.frame.html b/docs/dev/reference/rm_baseline.data.frame.html new file mode 100644 index 00000000..b43c706e --- /dev/null +++ b/docs/dev/reference/rm_baseline.data.frame.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/rm_baseline.eeg_data.html b/docs/dev/reference/rm_baseline.eeg_data.html new file mode 100644 index 00000000..b43c706e --- /dev/null +++ b/docs/dev/reference/rm_baseline.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/rm_baseline.eeg_epochs.html b/docs/dev/reference/rm_baseline.eeg_epochs.html new file mode 100644 index 00000000..b43c706e --- /dev/null +++ b/docs/dev/reference/rm_baseline.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/rm_baseline.eeg_evoked.html b/docs/dev/reference/rm_baseline.eeg_evoked.html new file mode 100644 index 00000000..b43c706e --- /dev/null +++ b/docs/dev/reference/rm_baseline.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/rm_baseline.eeg_tfr.html b/docs/dev/reference/rm_baseline.eeg_tfr.html new file mode 100644 index 00000000..b43c706e --- /dev/null +++ b/docs/dev/reference/rm_baseline.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/rm_baseline.html b/docs/dev/reference/rm_baseline.html index a47c866f..15f5bd5e 100644 --- a/docs/dev/reference/rm_baseline.html +++ b/docs/dev/reference/rm_baseline.html @@ -1,5 +1,5 @@ -Baseline correction — rm_baseline • eegUtils - +
    @@ -39,9 +39,9 @@ Reference
    - +
    @@ -98,40 +101,51 @@

    Baseline correction

    -
    rm_baseline(data, time_lim = NULL, ...)
    -
    -# S3 method for eeg_data
    -rm_baseline(data, time_lim = NULL, verbose = TRUE, ...)
    -
    -# S3 method for eeg_epochs
    -rm_baseline(data, time_lim = NULL, verbose = TRUE, ...)
    -
    -# S3 method for data.frame
    -rm_baseline(data, time_lim = NULL, verbose = TRUE, ...)
    -
    -# S3 method for eeg_tfr
    -rm_baseline(data, time_lim = NULL, type = "divide", verbose = TRUE, ...)
    -
    -# S3 method for eeg_evoked
    -rm_baseline(data, time_lim = NULL, verbose = TRUE, ...)
    +
    rm_baseline(data, time_lim = NULL, ...)
    +
    +# S3 method for class 'eeg_data'
    +rm_baseline(data, time_lim = NULL, verbose = TRUE, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +rm_baseline(data, time_lim = NULL, verbose = TRUE, ...)
    +
    +# S3 method for class 'data.frame'
    +rm_baseline(data, time_lim = NULL, verbose = TRUE, ...)
    +
    +# S3 method for class 'eeg_tfr'
    +rm_baseline(data, time_lim = NULL, type = "divide", verbose = TRUE, ...)
    +
    +# S3 method for class 'eeg_evoked'
    +rm_baseline(data, time_lim = NULL, verbose = TRUE, ...)

    Arguments

    -
    data
    + + +
    data

    Data to be baseline corrected.

    -
    time_lim
    + + +
    time_lim

    Numeric character vector (e.g. time_lim <- c(-.1, 0)) defining the time period to use as a baseline. If the value is NULL, it uses the mean of the whole of each epoch if the data is epoched, or the channel mean if the data is continuous.

    -
    ...
    + + +
    ...

    other parameters to be passed to functions

    -
    verbose
    + + +
    verbose

    Defaults to TRUE. Output descriptive messages to console.

    -
    type
    + + +
    type

    Type of baseline correction to apply. Options are ("divide", "ratio", "absolute", "db", and "pc")

    +

    Value

    @@ -139,12 +153,12 @@

    Value

    Methods (by class)

    - -
    • eeg_data: remove baseline from continuous eeg_data

    • -
    • eeg_epochs: Remove baseline from eeg_epochs

    • -
    • data.frame: Legacy method for data.frames

    • -
    • eeg_tfr: Method for eeg_tfr objects

    • -
    • eeg_evoked: Method for eeg_evoked objects

    • + +
      • rm_baseline(eeg_data): remove baseline from continuous eeg_data

      • +
      • rm_baseline(eeg_epochs): Remove baseline from eeg_epochs

      • +
      • rm_baseline(data.frame): Legacy method for data.frames

      • +
      • rm_baseline(eeg_tfr): Method for eeg_tfr objects

      • +
      • rm_baseline(eeg_evoked): Method for eeg_evoked objects

    Author

    @@ -153,7 +167,7 @@

    Author

    Examples

    -
    rm_baseline(demo_epochs)
    +    
    rm_baseline(demo_epochs)
     #> Removing channel means per epoch...
     #> Epoched EEG data
     #> 
    @@ -163,8 +177,8 @@ 

    Examples

    #> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 #> Sampling rate : 128 Hz #> Reference : average -rm_baseline(demo_epochs, c(-.1, 0)) -#> Baseline: -0.1 sBaseline: 0 s +rm_baseline(demo_epochs, c(-.1, 0)) +#> Baseline: -0.1 - 0s #> Epoched EEG data #> #> Number of channels : 11 @@ -187,15 +201,15 @@

    Examples

    -

    Site built with pkgdown 2.0.2.

    +

    Site built with pkgdown 2.1.0.

    - - + + diff --git a/docs/dev/reference/rob_se.html b/docs/dev/reference/rob_se.html index c2d54b18..f49923b2 100644 --- a/docs/dev/reference/rob_se.html +++ b/docs/dev/reference/rob_se.html @@ -1,67 +1,12 @@ - - - - - - - -robust standard error calculation — rob_se • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -robust standard error calculation — rob_se • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,35 +80,32 @@

    robust standard error calculation

    robust standard error calculation

    -
    rob_se(mdf, squared_resids, inverted_dm)
    - +
    +
    rob_se(mdf, squared_resids, inverted_dm)
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/rotate_angle-1.png b/docs/dev/reference/rotate_angle-1.png index 9d288447..bae3e881 100644 Binary files a/docs/dev/reference/rotate_angle-1.png and b/docs/dev/reference/rotate_angle-1.png differ diff --git a/docs/dev/reference/rotate_angle-2.png b/docs/dev/reference/rotate_angle-2.png index 76c1b6a6..606d345c 100644 Binary files a/docs/dev/reference/rotate_angle-2.png and b/docs/dev/reference/rotate_angle-2.png differ diff --git a/docs/dev/reference/rotate_angle.html b/docs/dev/reference/rotate_angle.html index af645451..67abdc5b 100644 --- a/docs/dev/reference/rotate_angle.html +++ b/docs/dev/reference/rotate_angle.html @@ -1,67 +1,12 @@ - - - - - - - -Rotate channel locations — rotate_angle • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Rotate channel locations — rotate_angle • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,71 +80,74 @@

    Rotate channel locations

    On import, channel locations may be rotated (e.g. Fpz pointing towards ears.)

    -
    rotate_angle(chan_info, degrees)
    +
    +
    rotate_angle(chan_info, degrees)
    +
    + +
    +

    Arguments

    + + +
    chan_info
    +

    channel information structure

    -

    Arguments

    - - - - - - - - - - -
    chan_info

    channel information structure

    degrees

    degrees by which to rotate

    -

    Value

    +
    degrees
    +

    degrees by which to rotate

    +
    +
    +

    Value

    A tibble()

    +
    -

    Examples

    -
    -plot_electrodes(demo_epochs) -
    channels(demo_epochs) <- rotate_angle(channels(demo_epochs), 90) -plot_electrodes(demo_epochs) -
    -rotate_angle(channels(demo_epochs), 90) -
    #> # A tibble: 11 x 9 -#> electrode radius theta phi cart_x cart_y cart_z x y -#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> -#> 1 A5 1 -60 -51 -46.3 57.2 42.5 3.78e+ 1 -4.66e+ 1 -#> 2 A13 1 -46 0 -61.1 0 59.0 4.6 e+ 1 -5.63e-15 -#> 3 A21 1 -60 51 -46.3 -57.2 42.5 3.78e+ 1 4.66e+ 1 -#> 4 A29 1 92 -90 0 -85.0 -2.97 1.13e-14 9.2 e+ 1 -#> 5 A31 1 46 -90 0 -61.1 59.0 5.63e-15 4.6 e+ 1 -#> 6 B5 1 69 90 0 79.4 30.5 -8.45e-15 -6.9 e+ 1 -#> 7 B6 1 46 90 0 61.1 59.0 -5.63e-15 -4.6 e+ 1 -#> 8 B8 1 60 51 46.3 57.2 42.5 -3.78e+ 1 -4.66e+ 1 -#> 9 B16 1 0 0 0 0 85 0 0 -#> 10 B18 1 46 0 61.1 0 59.0 -4.6 e+ 1 5.63e-15 -#> 11 B26 1 60 -51 46.3 -57.2 42.5 -3.78e+ 1 4.66e+ 1
    +
    +

    Examples

    +
    
    +plot_electrodes(demo_epochs)
    +
    +channels(demo_epochs) <- rotate_angle(channels(demo_epochs), 90)
    +plot_electrodes(demo_epochs)
    +
    +
    +rotate_angle(channels(demo_epochs), 90)
    +#> # A tibble: 11 × 9
    +#>    electrode radius theta   phi cart_x cart_y cart_z         x         y
    +#>    <chr>      <dbl> <dbl> <dbl>  <dbl>  <dbl>  <dbl>     <dbl>     <dbl>
    +#>  1 A5             1   -60   -51  -46.3   57.2  42.5   3.78e+ 1 -4.66e+ 1
    +#>  2 A13            1   -46     0  -61.1    0    59.0   4.6 e+ 1 -5.63e-15
    +#>  3 A21            1   -60    51  -46.3  -57.2  42.5   3.78e+ 1  4.66e+ 1
    +#>  4 A29            1    92   -90    0    -85.0  -2.97  1.13e-14  9.2 e+ 1
    +#>  5 A31            1    46   -90    0    -61.1  59.0   5.63e-15  4.6 e+ 1
    +#>  6 B5             1    69    90    0     79.4  30.5  -8.45e-15 -6.9 e+ 1
    +#>  7 B6             1    46    90    0     61.1  59.0  -5.63e-15 -4.6 e+ 1
    +#>  8 B8             1    60    51   46.3   57.2  42.5  -3.78e+ 1 -4.66e+ 1
    +#>  9 B16            1     0     0    0      0    85     0         0       
    +#> 10 B18            1    46     0   61.1    0    59.0  -4.6 e+ 1  5.63e-15
    +#> 11 B26            1    60   -51   46.3  -57.2  42.5  -3.78e+ 1  4.66e+ 1
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/run_ICA-1.png b/docs/dev/reference/run_ICA-1.png index c4cb6630..18db1bcb 100644 Binary files a/docs/dev/reference/run_ICA-1.png and b/docs/dev/reference/run_ICA-1.png differ diff --git a/docs/dev/reference/run_ICA.eeg_epochs.html b/docs/dev/reference/run_ICA.eeg_epochs.html new file mode 100644 index 00000000..2944e8b0 --- /dev/null +++ b/docs/dev/reference/run_ICA.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/run_ICA.html b/docs/dev/reference/run_ICA.html index 08635221..58174cec 100644 --- a/docs/dev/reference/run_ICA.html +++ b/docs/dev/reference/run_ICA.html @@ -1,71 +1,16 @@ - - - - - - - -Independent Component Analysis for EEG data — run_ICA • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Independent Component Analysis for EEG data — run_ICA • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -161,93 +88,101 @@

    Independent Component Analysis for EEG data

    like eeg_epochs objects.

    -
    run_ICA(data, ...)
    -
    -# S3 method for eeg_epochs
    -run_ICA(
    -  data,
    -  method = "sobi",
    -  maxit = 1000,
    -  tol = 1e-06,
    -  pca = NULL,
    -  centre = TRUE,
    -  alg = "gradient",
    -  rateanneal = c(60, 0.9),
    -  rate = 0.1,
    -  verbose = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data to be ICAed.

    ...

    Other parameters passed to function.

    method

    "sobi" (default), "fastica", "infomax", or "imax". "infomax" +

    +
    run_ICA(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +run_ICA(
    +  data,
    +  method = "sobi",
    +  maxit = 1000,
    +  tol = 1e-06,
    +  pca = NULL,
    +  centre = TRUE,
    +  alg = "gradient",
    +  rateanneal = c(60, 0.9),
    +  rate = 0.1,
    +  verbose = TRUE,
    +  return = c("full", "weights"),
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Data to be ICAed.

    + + +
    ...
    +

    Other parameters passed to function.

    + + +
    method
    +

    "sobi" (default), "fastica", "infomax", or "imax". "infomax" uses the implementation from the ica package, whereas imax uses the implementation from the infomax package, which is based on the EEGLAB -implementation.

    maxit

    Maximum number of iterations of the Infomax and Fastica ICA -algorithms.

    tol

    Convergence tolerance for fastica and infomax. Defaults to 1e-06.

    pca

    Reduce the number of dimensions using PCA before running ICA. -Numeric, >1 and < number of channels

    centre

    Defaults to TRUE. Centre the data on zero by subtracting the -column mean. See notes on usage.

    alg

    Use "gradient descent" or "newton" algorithm for extended infomax. -Defaults to "gradient". Ignored if method != "infomax".

    rateanneal

    Annealing rate for extended infomax. Ignored if method != -"infomax".

    rate

    Learning rate for extended infomax. Ignored if method != -"infomax".

    verbose

    Print informative messages to console.

    - -

    Value

    +implementation.

    + + +
    maxit
    +

    Maximum number of iterations of the Infomax and Fastica ICA +algorithms.

    + + +
    tol
    +

    Convergence tolerance for fastica and infomax. Defaults to 1e-06.

    + + +
    pca
    +

    Reduce the number of dimensions using PCA before running ICA. +Numeric, >1 and < number of channels

    + + +
    centre
    +

    Defaults to TRUE. Centre the data on zero by subtracting the +column mean. See notes on usage.

    + + +
    alg
    +

    Use "gradient descent" or "newton" algorithm for extended infomax. +Defaults to "gradient". Ignored if method != "infomax".

    + +
    rateanneal
    +

    Annealing rate for extended infomax. Ignored if method != +"infomax".

    + + +
    rate
    +

    Learning rate for extended infomax. Ignored if method != +"infomax".

    + + +
    verbose
    +

    Print informative messages to console.

    + + +
    return
    +

    "full" or "weights". "full" returns the mixing and unmixing +matrices and the source timecourses. "weights" returns only the mixing and +unmixing matrices. Defaults to "full".

    + +
    +
    +

    Value

    An eeg_ICA object containing an ICA decomposition

    -

    Methods (by class)

    +
    +
    +

    Methods (by class)

    - -
      -
    • eeg_epochs: Run ICA on an eeg_epochs object

    • -
    -

    Notes on ICA usage

    +
    • run_ICA(eeg_epochs): Run ICA on an eeg_epochs object

    • +
    +
    +

    Notes on ICA usage

    -

    It is recommended to mean-centre your data appropriately before running @@ -256,59 +191,68 @@

    rm_baseline() function. SOBI ICA will do this automatically, whereas the other ICA implementations will centre on the channel means, not the epoch means.

    In addition, PCA will be required if the data is not full rank. This is typical when using average reference, when the data rank will be n_electrodes - 1.

    -

    See also

    - -

    Other decompositions: -eeg_decompose()

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    - -

    Examples

    -
    sobi_demo <- - run_ICA(demo_epochs, - pca = 10) -
    #> Reducing data to 10 dimensions using PCA.
    #> Running SOBI ICA.
    #> Setting tolerance to 0.0011
    sobi_demo -
    #> Epoched ICA decomposition -#> -#> Number of components : 10 -#> Number of epochs : 80 -#> Epoch limits : -0.197 - 0.451 seconds -#> Sampling rate : 128 Hz
    # We can plot the resulting spatial filters using `topoplot()` - topoplot(sobi_demo, 1:2) -
    #> Using electrode locations from data.
    if (FALSE) view_ica(sobi_demo) -
    +
    +
    +

    See also

    +

    Other decompositions: +eeg_decompose()

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    sobi_demo <-
    +  run_ICA(demo_epochs,
    +          pca = 10)
    +#> Reducing data to 10 dimensions using PCA.
    +#> Running SOBI ICA.
    +#> Setting tolerance to 0.0011
    + sobi_demo
    +#> Epoched ICA decomposition
    +#> 
    +#> Number of components	: 10 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Sampling rate		: 128  Hz
    + # We can plot the resulting spatial filters using `topoplot()`
    + topoplot(sobi_demo, 1:2)
    +#> Plotting 2 components
    +#> Using electrode locations from data.
    +#> Plotting head r 95 mm
    +
    + if (FALSE)  view_ica(sobi_demo)  # \dontrun{}
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/run_SSD.html b/docs/dev/reference/run_SSD.html index 4cfb423a..8ef0e16c 100644 --- a/docs/dev/reference/run_SSD.html +++ b/docs/dev/reference/run_SSD.html @@ -1,67 +1,12 @@ - - - - - - - -Internal function for running SSD algorithm — run_SSD • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Internal function for running SSD algorithm — run_SSD • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,63 +80,60 @@

    Internal function for running SSD algorithm

    Internal function for running SSD algorithm

    -
    run_SSD(data, sig_range, noise_range, RESS = FALSE, verbose = TRUE, order = 2)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    eeg_epochs object to be decomposed

    sig_range

    Frequency range of the signal of interest

    noise_range

    Frequency range of the noise

    RESS

    Run RESS rather than SSD. Defaults to FALSE.

    verbose

    Informative messages in consoles. Defaults to TRUE.

    order

    filter order for IIR filters

    +
    +
    run_SSD(data, sig_range, noise_range, RESS = FALSE, verbose = TRUE, order = 2)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    eeg_epochs object to be decomposed

    + +
    sig_range
    +

    Frequency range of the signal of interest

    + + +
    noise_range
    +

    Frequency range of the noise

    + + +
    RESS
    +

    Run RESS rather than SSD. Defaults to FALSE.

    + + +
    verbose
    +

    Informative messages in consoles. Defaults to TRUE.

    + + +
    order
    +

    filter order for IIR filters

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/run_fir.html b/docs/dev/reference/run_fir.html index 2eca6ef2..68361209 100644 --- a/docs/dev/reference/run_fir.html +++ b/docs/dev/reference/run_fir.html @@ -1,67 +1,12 @@ - - - - - - - -Run FIR filter using overlap-add FFT — run_fir • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Run FIR filter using overlap-add FFT — run_fir • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,51 +80,48 @@

    Run FIR filter using overlap-add FFT

    Run FIR filter using overlap-add FFT

    -
    run_fir(data, filt_coef, filter_order)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    data

    Data to be filtered.

    filt_coef

    Filter coefficients

    filter_order

    Order of filter

    +
    +
    run_fir(data, filt_coef, filter_order)
    +
    +
    +

    Arguments

    + + +
    data
    +

    Data to be filtered.

    + + +
    filt_coef
    +

    Filter coefficients

    + + +
    filter_order
    +

    Order of filter

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/run_iir.html b/docs/dev/reference/run_iir.html index dbf68c11..6e584176 100644 --- a/docs/dev/reference/run_iir.html +++ b/docs/dev/reference/run_iir.html @@ -1,67 +1,12 @@ - - - - - - - -Internal function for running IIR filtering — run_iir • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Internal function for running IIR filtering — run_iir • eegUtils - + + - - - -
    -
    - -
    - -
    +
    @@ -153,70 +80,65 @@

    Internal function for running IIR filtering

    Internal function for running IIR filtering

    -
    run_iir(
    -  data,
    -  low_freq = NULL,
    -  high_freq = NULL,
    -  filter_order,
    -  srate,
    -  silent = FALSE
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data to be filtered

    low_freq

    Low passband edge.

    high_freq

    High passband edge.

    filter_order

    Order of the Butterworth filter.

    srate

    Sampling rate of the signal.

    silent

    Turns off filtering messages.

    +
    +
    run_iir(
    +  data,
    +  low_freq = NULL,
    +  high_freq = NULL,
    +  filter_order,
    +  srate,
    +  silent = FALSE
    +)
    +
    + +
    +

    Arguments

    +
    data
    +

    Data to be filtered

    +
    low_freq
    +

    Low passband edge.

    + + +
    high_freq
    +

    High passband edge.

    + + +
    filter_order
    +

    Order of the Butterworth filter.

    + + +
    srate
    +

    Sampling rate of the signal.

    + + +
    silent
    +

    Turns off filtering messages.

    + +
    +
    +
    -
    - +
    - - + + diff --git a/docs/dev/reference/samples.html b/docs/dev/reference/samples.html index 8404ef3a..f0223abb 100644 --- a/docs/dev/reference/samples.html +++ b/docs/dev/reference/samples.html @@ -1,67 +1,12 @@ - - - - - - - -Get number of samples — samples • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Get number of samples — samples • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Get number of samples

    Get number of samples

    -
    samples(.data)
    +
    +
    samples(.data)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    .data

    Object to get total number of sampling points from

    +
    .data
    +

    Object to get total number of sampling points from

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/select.html b/docs/dev/reference/select.html new file mode 100644 index 00000000..2b5e2469 --- /dev/null +++ b/docs/dev/reference/select.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_elecs.default.html b/docs/dev/reference/select_elecs.default.html new file mode 100644 index 00000000..6ca1d4f2 --- /dev/null +++ b/docs/dev/reference/select_elecs.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_elecs.eeg_ICA.html b/docs/dev/reference/select_elecs.eeg_ICA.html new file mode 100644 index 00000000..6ca1d4f2 --- /dev/null +++ b/docs/dev/reference/select_elecs.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_elecs.eeg_data.html b/docs/dev/reference/select_elecs.eeg_data.html new file mode 100644 index 00000000..6ca1d4f2 --- /dev/null +++ b/docs/dev/reference/select_elecs.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_elecs.eeg_evoked.html b/docs/dev/reference/select_elecs.eeg_evoked.html new file mode 100644 index 00000000..6ca1d4f2 --- /dev/null +++ b/docs/dev/reference/select_elecs.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_elecs.eeg_tfr.html b/docs/dev/reference/select_elecs.eeg_tfr.html new file mode 100644 index 00000000..6ca1d4f2 --- /dev/null +++ b/docs/dev/reference/select_elecs.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_elecs.html b/docs/dev/reference/select_elecs.html index 64e02f6c..8a31d211 100644 --- a/docs/dev/reference/select_elecs.html +++ b/docs/dev/reference/select_elecs.html @@ -1,67 +1,12 @@ - - - - - - - -Select electrodes from a given dataset — select_elecs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Select electrodes from a given dataset — select_elecs • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,119 +80,120 @@

    Select electrodes from a given dataset

    This is a generic function for selection of electrodes from an EEG dataset.

    -
    select_elecs(data, ...)
    -
    -# S3 method for default
    -select_elecs(data, electrode = NULL, keep = TRUE, ...)
    -
    -# S3 method for eeg_data
    -select_elecs(data, electrode, keep = TRUE, df_out = FALSE, ...)
    -
    -# S3 method for eeg_evoked
    -select_elecs(data, electrode = NULL, keep = TRUE, df_out = FALSE, ...)
    -
    -# S3 method for eeg_ICA
    -select_elecs(data, component, keep = TRUE, df_out = FALSE, ...)
    -
    -# S3 method for eeg_tfr
    -select_elecs(data, electrode, keep = TRUE, df_out = FALSE, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An EEG dataset.

    ...

    Arguments used with related methods

    electrode

    A character vector of electrode labels for selection or -removal.

    keep

    Defaults to TRUE. Set to false to remove the selected -electrodes.

    df_out

    Defaults to FALSE. Set to TRUE to return a dataframe rather -than an eeg_data object.

    component

    Component to select

    - -

    Value

    +
    +
    select_elecs(data, ...)
    +
    +# Default S3 method
    +select_elecs(data, electrode = NULL, keep = TRUE, ...)
    +
    +# S3 method for class 'eeg_data'
    +select_elecs(data, electrode, keep = TRUE, df_out = FALSE, ...)
    +
    +# S3 method for class 'eeg_evoked'
    +select_elecs(data, electrode = NULL, keep = TRUE, df_out = FALSE, ...)
    +
    +# S3 method for class 'eeg_ICA'
    +select_elecs(data, component, keep = TRUE, df_out = FALSE, ...)
    +
    +# S3 method for class 'eeg_tfr'
    +select_elecs(data, electrode, keep = TRUE, df_out = FALSE, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An EEG dataset.

    + + +
    ...
    +

    Arguments used with related methods

    + + +
    electrode
    +

    A character vector of electrode labels for selection or +removal.

    + +
    keep
    +

    Defaults to TRUE. Set to false to remove the selected +electrodes.

    + + +
    df_out
    +

    Defaults to FALSE. Set to TRUE to return a dataframe rather +than an eeg_data object.

    + + +
    component
    +

    Component to select

    + +
    +
    +

    Value

    Data frame with only data from the chosen electrodes

    eeg_data object with selected electrodes removed/kept.

    -

    Methods (by class)

    - - -
      -
    • default: Select electrodes from a generic data frame.

    • -
    • eeg_data: Select electrodes from a eeg_data object.

    • -
    • eeg_evoked: Select electrode from an eeg_evoked object

    • -
    • eeg_ICA: Select components from eeg_ICA objects.

    • -
    • eeg_tfr: Select electrodes from eeg_tfr objects.

    • -
    -

    See also

    - -

    select_times() and select_epochs()

    -

    Other Data selection functions: -select_times()

    -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    - -

    Examples

    -
    names(demo_epochs$signals)
    -#>  [1] "A5"  "A13" "A21" "A29" "A31" "B5"  "B6"  "B8"  "B16" "B18" "B26"
    -keep_A5 <- select_elecs(demo_epochs, electrode = "A5")
    -remove_A5 <- select_elecs(demo_epochs, electrode = "A5", keep = FALSE)
    -
    -select_elecs(demo_epochs, c("A21", "A29"))
    -#> Epoched EEG data
    -#> 
    -#> Number of channels	: 2 
    -#> Number of epochs	: 80 
    -#> Epoch limits		: -0.197 - 0.451 seconds
    -#> Electrode names		: A21 A29 
    -#> Sampling rate		: 128  Hz
    -#> Reference		: average 
    -
    +
    +
    +

    Methods (by class)

    + +
    • select_elecs(default): Select electrodes from a generic data frame.

    • +
    • select_elecs(eeg_data): Select electrodes from a eeg_data object.

    • +
    • select_elecs(eeg_evoked): Select electrode from an eeg_evoked object

    • +
    • select_elecs(eeg_ICA): Select components from eeg_ICA objects.

    • +
    • select_elecs(eeg_tfr): Select electrodes from eeg_tfr objects.

    • +
    +
    +

    See also

    +

    select_times() and select_epochs()

    +

    Other Data selection functions: +select_times()

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    names(demo_epochs$signals)
    +#>  [1] "A5"  "A13" "A21" "A29" "A31" "B5"  "B6"  "B8"  "B16" "B18" "B26"
    +keep_A5 <- select_elecs(demo_epochs, electrode = "A5")
    +remove_A5 <- select_elecs(demo_epochs, electrode = "A5", keep = FALSE)
    +
    +select_elecs(demo_epochs, c("A21", "A29"))
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 2 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Electrode names		: A21 A29 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/select_epochs.default.html b/docs/dev/reference/select_epochs.default.html new file mode 100644 index 00000000..a5ec42ad --- /dev/null +++ b/docs/dev/reference/select_epochs.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_epochs.eeg_ICA.html b/docs/dev/reference/select_epochs.eeg_ICA.html new file mode 100644 index 00000000..a5ec42ad --- /dev/null +++ b/docs/dev/reference/select_epochs.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_epochs.eeg_epochs.html b/docs/dev/reference/select_epochs.eeg_epochs.html new file mode 100644 index 00000000..a5ec42ad --- /dev/null +++ b/docs/dev/reference/select_epochs.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_epochs.eeg_tfr.html b/docs/dev/reference/select_epochs.eeg_tfr.html new file mode 100644 index 00000000..a5ec42ad --- /dev/null +++ b/docs/dev/reference/select_epochs.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_epochs.html b/docs/dev/reference/select_epochs.html index d5b6c3ba..20887370 100644 --- a/docs/dev/reference/select_epochs.html +++ b/docs/dev/reference/select_epochs.html @@ -1,67 +1,12 @@ - - - - - - - -Select epochs — select_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Select epochs — select_epochs • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -153,131 +80,136 @@

    Select epochs

    This is a generic function for selecting epochs from an epoched data set.

    -
    select_epochs(data, ...)
    -
    -# S3 method for default
    -select_epochs(data, ...)
    -
    -# S3 method for eeg_epochs
    -select_epochs(
    -  data,
    -  epoch_events = NULL,
    -  epoch_no = NULL,
    -  keep = TRUE,
    -  df_out = FALSE,
    -  ...
    -)
    -
    -# S3 method for eeg_ICA
    -select_epochs(
    -  data,
    -  epoch_events = NULL,
    -  epoch_no = NULL,
    -  keep = TRUE,
    -  df_out = FALSE,
    -  ...
    -)
    -
    -# S3 method for eeg_tfr
    -select_epochs(
    -  data,
    -  epoch_events = NULL,
    -  epoch_no = NULL,
    -  keep = TRUE,
    -  df_out = FALSE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    eeg_epochs object from which to select epochs.

    ...

    Parameters passed to specific methods

    epoch_events

    Select epochs containing any of the specified events. Can -be numeric or a character string. Will override any epoch_no input.

    epoch_no

    Select epochs by epoch number.

    keep

    Defaults to TRUE, meaning select the specified epochs. Set to -FALSE to remove specified epochs.

    df_out

    Output a data.frame instead of an eeg_data object.

    - -

    Methods (by class)

    - - -
      -
    • default: Select from generic object

    • -
    • eeg_epochs: Selection of epochs from eeg_epochs objects.

    • -
    • eeg_ICA: Selection of epochs from eeg_ICA objects.

    • -
    • eeg_tfr: Selection of epochs from eeg_tfr objects.

    • -
    -

    See also

    - - -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    - -

    Examples

    -
    select_epochs(demo_epochs, epoch_no = 1:5) -
    #> Epoched EEG data -#> -#> Number of channels : 11 -#> Number of epochs : 5 -#> Epoch limits : -0.197 - 0.451 seconds -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Sampling rate : 128 Hz -#> Reference : average
    demo_ica <- run_ICA(demo_epochs, pca = 10) -
    #> Reducing data to 10 dimensions using PCA.
    #> Running SOBI ICA.
    #> Setting tolerance to 0.0011
    select_epochs(demo_ica, epoch_no = 1:5) -
    #> Epoched ICA decomposition -#> -#> Number of components : 10 -#> Number of epochs : 5 -#> Epoch limits : -0.197 - 0.451 seconds -#> Sampling rate : 128 Hz
    -
    +
    +
    select_epochs(data, ...)
    +
    +# Default S3 method
    +select_epochs(data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +select_epochs(
    +  data,
    +  epoch_events = NULL,
    +  epoch_no = NULL,
    +  keep = TRUE,
    +  df_out = FALSE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_ICA'
    +select_epochs(
    +  data,
    +  epoch_events = NULL,
    +  epoch_no = NULL,
    +  keep = TRUE,
    +  df_out = FALSE,
    +  ...
    +)
    +
    +# S3 method for class 'eeg_tfr'
    +select_epochs(
    +  data,
    +  epoch_events = NULL,
    +  epoch_no = NULL,
    +  keep = TRUE,
    +  df_out = FALSE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    eeg_epochs object from which to select epochs.

    + + +
    ...
    +

    Parameters passed to specific methods

    + + +
    epoch_events
    +

    Select epochs containing any of the specified events. Can +be numeric or a character string. Will override any epoch_no input.

    + + +
    epoch_no
    +

    Select epochs by epoch number.

    + + +
    keep
    +

    Defaults to TRUE, meaning select the specified epochs. Set to +FALSE to remove specified epochs.

    + + +
    df_out
    +

    Output a data.frame instead of an eeg_data object.

    + +
    +
    +

    Methods (by class)

    + +
    • select_epochs(default): Select from generic object

    • +
    • select_epochs(eeg_epochs): Selection of epochs from eeg_epochs objects.

    • +
    • select_epochs(eeg_ICA): Selection of epochs from eeg_ICA objects.

    • +
    • select_epochs(eeg_tfr): Selection of epochs from eeg_tfr objects.

    • +
    +
    +

    See also

    + +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    select_epochs(demo_epochs, epoch_no = 1:5)
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 5 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +demo_ica <- run_ICA(demo_epochs, pca = 10)
    +#> Reducing data to 10 dimensions using PCA.
    +#> Running SOBI ICA.
    +#> Setting tolerance to 0.0011
    +select_epochs(demo_ica, epoch_no = 1:5)
    +#> Epoched ICA decomposition
    +#> 
    +#> Number of components	: 10 
    +#> Number of epochs	: 5 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Sampling rate		: 128  Hz
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/select_freqs.eeg_tfr.html b/docs/dev/reference/select_freqs.eeg_tfr.html new file mode 100644 index 00000000..d0d659ad --- /dev/null +++ b/docs/dev/reference/select_freqs.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_freqs.html b/docs/dev/reference/select_freqs.html index 226e9cec..50aa90b6 100644 --- a/docs/dev/reference/select_freqs.html +++ b/docs/dev/reference/select_freqs.html @@ -1,68 +1,13 @@ - - - - - - - -Select frequencies — select_freqs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Select frequencies — select_freqs • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -155,68 +82,71 @@

    Select frequencies

    selecting either single frequencies or anything within a range.

    -
    select_freqs(data, freq_range)
    -
    -# S3 method for eeg_tfr
    -select_freqs(data, freq_range)
    - -

    Arguments

    - - - - - - - - - - -
    data

    An eeg_tfr object.

    freq_range

    The range of frequencies to retain. Can be a scale or the -lower and upper bounds. (e.g. c(5, 30))

    - -

    Methods (by class)

    - - -
      -
    • eeg_tfr: Function for selecting specific frequencies from eeg_tfr objects.

    • -
    - -

    Examples

    -
    demo_tfr <- compute_tfr(demo_epochs, foi = c(4, 30), n_freq = 10, n_cycles = 5) -
    #> Computing TFR using Morlet wavelet convolution
    #> Output frequencies using linear spacing: 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30
    #> Removing channel means per epoch...
    #> Returning signal averaged over all trials.
    select_freqs(demo_tfr, c(8, 12)) -
    #> Epoched EEG TFR data -#> -#> Frequency range : 9.78 -#> Number of channels : 11 -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Number of epochs : 80 -#> Epoch limits : -0.197 - 0.451 seconds -#> Sampling rate : 128 Hz
    +
    +
    select_freqs(data, freq_range)
    +
    +# S3 method for class 'eeg_tfr'
    +select_freqs(data, freq_range)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An eeg_tfr object.

    + + +
    freq_range
    +

    The range of frequencies to retain. Can be a scale or the +lower and upper bounds. (e.g. c(5, 30))

    + +
    +
    +

    Methods (by class)

    + +
    • select_freqs(eeg_tfr): Function for selecting specific frequencies from eeg_tfr objects.

    • +
    + +
    +

    Examples

    +
    demo_tfr <- compute_tfr(demo_epochs, foi = c(4, 30), n_freq = 10, n_cycles = 5)
    +#> Computing TFR using Morlet wavelet convolution
    +#> Output frequencies using linear spacing: 4 6.89 9.78 12.67 15.56 18.44 21.33 24.22 27.11 30
    +#> Removing channel means per epoch...
    +#> Returning signal averaged over all trials.
    +select_freqs(demo_tfr, c(8, 12))
    +#> Epoched EEG TFR data
    +#> 
    +#> Frequency range		:	 9.78 
    +#> Number of channels	:	 11 
    +#> Electrode names		:	 A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Number of epochs	:	 1 
    +#> Epoch limits		:	 -0.197 - 0.451 seconds
    +#> Sampling rate		:	 128  Hz
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/select_times.default.html b/docs/dev/reference/select_times.default.html new file mode 100644 index 00000000..99fa1abe --- /dev/null +++ b/docs/dev/reference/select_times.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_times.eeg_data.html b/docs/dev/reference/select_times.eeg_data.html new file mode 100644 index 00000000..99fa1abe --- /dev/null +++ b/docs/dev/reference/select_times.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_times.eeg_epochs.html b/docs/dev/reference/select_times.eeg_epochs.html new file mode 100644 index 00000000..99fa1abe --- /dev/null +++ b/docs/dev/reference/select_times.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_times.eeg_evoked.html b/docs/dev/reference/select_times.eeg_evoked.html new file mode 100644 index 00000000..99fa1abe --- /dev/null +++ b/docs/dev/reference/select_times.eeg_evoked.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_times.eeg_tfr.html b/docs/dev/reference/select_times.eeg_tfr.html new file mode 100644 index 00000000..99fa1abe --- /dev/null +++ b/docs/dev/reference/select_times.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/select_times.html b/docs/dev/reference/select_times.html index 38c146bb..f06564a8 100644 --- a/docs/dev/reference/select_times.html +++ b/docs/dev/reference/select_times.html @@ -1,71 +1,16 @@ - - - - - - - -Select timerange — select_times • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Select timerange — select_times • eegUtils - - - - - - - - - - + - - -
    -
    - - -
    -
    +
    @@ -161,115 +88,130 @@

    Select timerange

    than that requested.

    -
    select_times(data, ...)
    -
    -# S3 method for default
    -select_times(data, time_lim = NULL, ...)
    -
    -# S3 method for eeg_data
    -select_times(data, time_lim = NULL, df_out = FALSE, ...)
    -
    -# S3 method for eeg_epochs
    -select_times(data, time_lim, df_out = FALSE, ...)
    -
    -# S3 method for eeg_evoked
    -select_times(data, time_lim, df_out = FALSE, ...)
    -
    -# S3 method for eeg_tfr
    -select_times(data, time_lim = NULL, df_out = FALSE, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    Data from which to select

    ...

    Further arguments passed to or from other methods.

    time_lim

    A character vector of two numbers indicating the time range -to be selected e.g. c(min, max)

    df_out

    Returns a data frame rather than an object of the same type -that was passed in.

    - -

    Value

    +
    +
    select_times(data, ...)
    +
    +# Default S3 method
    +select_times(data, time_lim = NULL, ...)
    +
    +# S3 method for class 'eeg_data'
    +select_times(data, time_lim = NULL, df_out = FALSE, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +select_times(data, time_lim, df_out = FALSE, ...)
    +
    +# S3 method for class 'eeg_evoked'
    +select_times(data, time_lim, df_out = FALSE, ...)
    +
    +# S3 method for class 'eeg_tfr'
    +select_times(data, time_lim = NULL, df_out = FALSE, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Data from which to select

    + + +
    ...
    +

    Further arguments passed to or from other methods.

    + +
    time_lim
    +

    A character vector of two numbers indicating the time range +to be selected e.g. c(min, max), or a list to select specific times.

    + + +
    df_out
    +

    Returns a data frame rather than an object of the same type +that was passed in.

    + +
    +
    +

    Value

    Data frame with only data from within the specified range.

    eeg_data object

    -

    Methods (by class)

    - - -
      -
    • default: Default select times function

    • -
    • eeg_data: Select times from an eeg_data object

    • -
    • eeg_epochs: Select times in eeg_epochs objects

    • -
    • eeg_evoked: Select times in eeg_evoked objects

    • -
    • eeg_tfr: Select times from an eeg_tfr object

    • -
    -

    See also

    - -

    select_elecs() and select_epochs()

    -

    Other Data selection functions: -select_elecs()

    -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    - -

    Examples

    -
    ## Select timepoints from -.1 to .3 -demo_epochs -
    #> Epoched EEG data -#> -#> Number of channels : 11 -#> Number of epochs : 80 -#> Epoch limits : -0.197 - 0.451 seconds -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Sampling rate : 128 Hz -#> Reference : average
    short_epochs <- select_times(demo_epochs, time_lim = c(-.1, .3)) -short_epochs -
    #> Epoched EEG data -#> -#> Number of channels : 11 -#> Number of epochs : 80 -#> Epoch limits : -0.096 - 0.295 seconds -#> Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 -#> Sampling rate : 128 Hz -#> Reference : average
    -
    +
    +
    +

    Methods (by class)

    + +
    • select_times(default): Default select times function

    • +
    • select_times(eeg_data): Select times from an eeg_data object

    • +
    • select_times(eeg_epochs): Select times in eeg_epochs objects

    • +
    • select_times(eeg_evoked): Select times in eeg_evoked objects

    • +
    • select_times(eeg_tfr): Select times from an eeg_tfr object

    • +
    +
    +

    See also

    +

    select_elecs() and select_epochs()

    +

    Other Data selection functions: +select_elecs()

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    ## Select timepoints from -.1 to .3
    +demo_epochs
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.197 - 0.451 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +short_epochs <- select_times(demo_epochs, time_lim = c(-.1, .3))
    +short_epochs
    +#> Epoched EEG data
    +#> 
    +#> Number of channels	: 11 
    +#> Number of epochs	: 80 
    +#> Epoch limits		: -0.096 - 0.295 seconds
    +#> Electrode names		: A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 
    +#> Sampling rate		: 128  Hz
    +#> Reference		: average 
    +short_epochs <- select_times(demo_epochs, time_lim = list(-.1, .15, .3))
    +#> Returning closest time points to those requested: -0.104 0.146 0.295 
    +head(short_epochs$timings)
    +#> # A tibble: 6 × 3
    +#>   epoch sample   time
    +#>   <dbl>  <dbl>  <dbl>
    +#> 1     1   4076 -0.104
    +#> 2     1   4204  0.146
    +#> 3     1   4280  0.295
    +#> 4     2   6985 -0.104
    +#> 5     2   7113  0.146
    +#> 6     2   7189  0.295
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/select_window.html b/docs/dev/reference/select_window.html index c6bdceb7..544d630c 100644 --- a/docs/dev/reference/select_window.html +++ b/docs/dev/reference/select_window.html @@ -1,67 +1,12 @@ - - - - - - - -Create windowing function — select_window • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create windowing function — select_window • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,51 +80,48 @@

    Create windowing function

    Create a windowing function for use in creating a windowed-sinc kernel

    -
    select_window(type, m, a = NULL)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    type

    Window function to apply

    m

    Filter order

    a

    alpha/beta to be used for some window functions

    +
    +
    select_window(type, m, a = NULL)
    +
    +
    +

    Arguments

    + + +
    type
    +

    Window function to apply

    + + +
    m
    +

    Filter order

    + + +
    a
    +

    alpha/beta to be used for some window functions

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/set_palette.html b/docs/dev/reference/set_palette.html index 2b8a776f..9f264c3f 100644 --- a/docs/dev/reference/set_palette.html +++ b/docs/dev/reference/set_palette.html @@ -1,67 +1,12 @@ - - - - - - - -Set palette and limits for topoplot — set_palette • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Set palette and limits for topoplot — set_palette • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,51 +80,48 @@

    Set palette and limits for topoplot

    Set palette and limits for topoplot

    -
    set_palette(topo, palette, limits = NULL)
    - -

    Arguments

    - - - - - - - - - - - - - - -
    topo

    ggplot2 object produced by topoplot command

    palette

    Requested palette

    limits

    Limits of colour scale

    +
    +
    set_palette(topo, palette, limits = NULL)
    +
    +
    +

    Arguments

    + + +
    topo
    +

    ggplot2 object produced by topoplot command

    + + +
    palette
    +

    Requested palette

    + + +
    limits
    +

    Limits of colour scale

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/set_participant_id.html b/docs/dev/reference/set_participant_id.html new file mode 100644 index 00000000..9b8981f6 --- /dev/null +++ b/docs/dev/reference/set_participant_id.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/set_recording.html b/docs/dev/reference/set_recording.html new file mode 100644 index 00000000..9b8981f6 --- /dev/null +++ b/docs/dev/reference/set_recording.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/sobi_ICA.html b/docs/dev/reference/sobi_ICA.html index 403c515a..0553233a 100644 --- a/docs/dev/reference/sobi_ICA.html +++ b/docs/dev/reference/sobi_ICA.html @@ -1,67 +1,12 @@ - - - - - - - -SOBI ICA — sobi_ICA • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -SOBI ICA — sobi_ICA • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,67 +80,65 @@

    SOBI ICA

    Internal function for running SOBI ICA on an eeg_epochs object

    -
    sobi_ICA(data, maxiter, tol, pca, centre, verbose = TRUE)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data to be ICAed.

    maxiter

    Maximum number of iterations of the joint diagonalization

    tol

    convergence tolerance.

    pca

    Number of PCA components.

    centre

    Mean centre signals.

    verbose

    Print informative messages.

    - -

    Author

    +
    +
    sobi_ICA(data, maxiter, tol, pca, centre, verbose = TRUE)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Data to be ICAed.

    + + +
    maxiter
    +

    Maximum number of iterations of the joint diagonalization

    + +
    tol
    +

    convergence tolerance.

    + + +
    pca
    +

    Number of PCA components.

    + + +
    centre
    +

    Mean centre signals.

    + + +
    verbose
    +

    Print informative messages.

    + +
    +
    +

    Author

    A. Belouchrani and A. Cichocki. Adapted to R by Matt Craddock -matt@mattcraddock.com

    +matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/spec_inv.html b/docs/dev/reference/spec_inv.html index 76744c6d..291f02d8 100644 --- a/docs/dev/reference/spec_inv.html +++ b/docs/dev/reference/spec_inv.html @@ -1,67 +1,12 @@ - - - - - - - -Spectral inversion — spec_inv • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Spectral inversion — spec_inv • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Spectral inversion

    Convert high-pass to low-pass, band-pass to band-stop, and vice versa.

    -
    spec_inv(filt_kern)
    +
    +
    spec_inv(filt_kern)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    filt_kern

    Filter kernel to be inverted

    +
    filt_kern
    +

    Filter kernel to be inverted

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/sph_to_cart.html b/docs/dev/reference/sph_to_cart.html index ec94a3c9..6868805c 100644 --- a/docs/dev/reference/sph_to_cart.html +++ b/docs/dev/reference/sph_to_cart.html @@ -1,67 +1,12 @@ - - - - - - - -Convert spherical co-ordinates to Cartesian 3D co-ordinates — sph_to_cart • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert spherical co-ordinates to Cartesian 3D co-ordinates — sph_to_cart • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Convert spherical co-ordinates to Cartesian 3D co-ordinates

    Convert spherical co-ordinates to Cartesian 3D co-ordinates

    -
    sph_to_cart(theta, phi, radius = 85)
    +
    +
    sph_to_cart(theta, phi, radius = 85)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    radius

    Radius of head (in mm)

    sph_coords

    Theta and phi in degrees.

    +
    radius
    +

    Radius of head (in mm)

    +
    sph_coords
    +

    Theta and phi in degrees.

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/spheric_spline.html b/docs/dev/reference/spheric_spline.html index 6971371f..1b5c71f2 100644 --- a/docs/dev/reference/spheric_spline.html +++ b/docs/dev/reference/spheric_spline.html @@ -1,67 +1,12 @@ - - - - - - - -Calculate a spherical spline smooth for interpolation of electrodes — spheric_spline • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Calculate a spherical spline smooth for interpolation of electrodes — spheric_spline • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,50 +80,48 @@

    Calculate a spherical spline smooth for interpolation of electrodes

    Calculate a spherical spline smooth for interpolation of electrodes

    -
    spheric_spline(good_elecs, all_elecs)
    +
    +
    spheric_spline(good_elecs, all_elecs)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    good_elecs

    Electrode positions that do not need interpolation

    all_elecs

    Electrode positions including those to be interpolated

    +
    good_elecs
    +

    Electrode positions that do not need interpolation

    -

    Author

    -

    Matt Craddock matt@mattcraddock.com

    +
    all_elecs
    +

    Electrode positions including those to be interpolated

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/split_vec.html b/docs/dev/reference/split_vec.html index 2b16066b..1b02b6d5 100644 --- a/docs/dev/reference/split_vec.html +++ b/docs/dev/reference/split_vec.html @@ -1,68 +1,13 @@ - - - - - - - -Segment data — split_vec • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Segment data — split_vec • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -155,59 +82,57 @@

    Segment data

    if seg_length is 256 and signal length is 400, only 1 segment is returned)

    -
    split_vec(vec, seg_length, overlap, detrend = "mean")
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    vec

    Data vector to be split up into segments.

    seg_length

    Length of segments to be FFT'd (in samples).

    overlap

    Overlap between segments (in samples).

    detrend

    Detrend segments. Defaults to "mean" - removes mean from each -segment. Anything else turns off detrending.

    - -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    split_vec(vec, seg_length, overlap, detrend = "mean")
    +
    + +
    +

    Arguments

    + + +
    vec
    +

    Data vector to be split up into segments.

    + + +
    seg_length
    +

    Length of segments to be FFT'd (in samples).

    + + +
    overlap
    +

    Overlap between segments (in samples).

    + + +
    detrend
    +

    Detrend segments. Defaults to "mean" - removes mean from each +segment. Anything else turns off detrending.

    + +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/stat_scalpcontours.html b/docs/dev/reference/stat_scalpcontours.html index f018d30e..b415f049 100644 --- a/docs/dev/reference/stat_scalpcontours.html +++ b/docs/dev/reference/stat_scalpcontours.html @@ -1,69 +1,14 @@ - - - - - - - -Create an interpolated scalp surface — stat_scalpcontours • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create an interpolated scalp surface — stat_scalpcontours • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -157,145 +84,173 @@

    Create an interpolated scalp surface

    then calculates contours.

    -
    stat_scalpcontours(
    -  mapping = NULL,
    -  data = NULL,
    -  position = "identity",
    -  na.rm = FALSE,
    -  show.legend = FALSE,
    -  inherit.aes = TRUE,
    -  grid_res = 200,
    -  interp_limit = c("skirt", "head"),
    -  method = "biharmonic",
    -  r = NULL,
    -  bins = 6,
    -  binwidth = NULL,
    -  breaks = NULL,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    mapping

    Set of aesthetic mappings created by aes() or -aes_(). If specified and inherit.aes = TRUE (the -default), it is combined with the default mapping at the top level of the -plot. You must supply mapping if there is no plot mapping.

    data

    The data to be displayed in this layer. There are three +

    +
    stat_scalpcontours(
    +  mapping = NULL,
    +  data = NULL,
    +  position = "identity",
    +  na.rm = FALSE,
    +  show.legend = FALSE,
    +  inherit.aes = TRUE,
    +  grid_res = 200,
    +  interp_limit = c("skirt", "head"),
    +  method = "biharmonic",
    +  r = NULL,
    +  bins = 6,
    +  binwidth = NULL,
    +  breaks = NULL,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    mapping
    +

    Set of aesthetic mappings created by aes(). If specified and +inherit.aes = TRUE (the default), it is combined with the default mapping +at the top level of the plot. You must supply mapping if there is no plot +mapping.

    + + +
    data
    +

    The data to be displayed in this layer. There are three options:

    If NULL, the default, the data is inherited from the plot -data as specified in the call to ggplot().

    +data as specified in the call to ggplot().

    A data.frame, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -fortify() for which variables will be created.

    +fortify() for which variables will be created.

    A function will be called with a single argument, the plot data. The return value must be a data.frame, and will be used as the layer data. A function can be created -from a formula (e.g. ~ head(.x, 10)).

    position

    Position adjustment, either as a string, or the result of -a call to a position adjustment function.

    na.rm

    If FALSE, the default, missing values are removed with -a warning. If TRUE, missing values are silently removed.

    show.legend

    logical. Should this layer be included in the legends? +from a formula (e.g. ~ head(.x, 10)).

    + + +
    position
    +

    A position adjustment to use on the data for this layer. This +can be used in various ways, including to prevent overplotting and +improving the display. The position argument accepts the following:

    • The result of calling a position function, such as position_jitter(). +This method allows for passing extra arguments to the position.

    • +
    • A string naming the position adjustment. To give the position as a +string, strip the function name of the position_ prefix. For example, +to use position_jitter(), give the position as "jitter".

    • +
    • For more information and other ways to specify the position, see the +layer position documentation.

    • +
    + + +
    na.rm
    +

    If FALSE, the default, missing values are removed with +a warning. If TRUE, missing values are silently removed.

    + + +
    show.legend
    +

    logical. Should this layer be included in the legends? NA, the default, includes if any aesthetics are mapped. FALSE never includes, and TRUE always includes. It can also be a named logical vector to finely select the aesthetics to -display.

    inherit.aes

    If FALSE, overrides the default aesthetics, +display.

    + + +
    inherit.aes
    +

    If FALSE, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. borders().

    grid_res

    Resolution of the interpolation grid. (Defaults to 200 -points).

    interp_limit

    Interpolate to the "skirt" or inside the "head".

    method

    "biharmonic" or "gam" smooth to create interpolated surface

    r

    Radius of interpolated surface

    bins

    Number of contour bins. Overridden by binwidth.

    binwidth

    The width of the contour bins. Overridden by breaks.

    breaks

    Numeric vector to set the contour breaks. Overrides binwidth -and bins. By default, this is a vector of length ten with pretty() breaks.

    ...

    Other arguments passed on to layer(). These are -often aesthetics, used to set an aesthetic to a fixed value, like -colour = "red" or size = 3. They may also be parameters -to the paired geom/stat.

    - -

    See also

    - -

    Other topoplot functions: -geom_topo(), -stat_scalpmap()

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +the default plot specification, e.g. borders().

    + + +
    grid_res
    +

    Resolution of the interpolation grid. (Defaults to 200 +points).

    + + +
    interp_limit
    +

    Interpolate to the "skirt" or inside the "head".

    + + +
    method
    +

    "biharmonic" or "gam" smooth to create interpolated surface

    + + +
    r
    +

    Radius of interpolated surface

    + + +
    bins
    +

    Number of contour bins. Overridden by binwidth.

    + + +
    binwidth
    +

    The width of the contour bins. Overridden by breaks.

    + + +
    breaks
    +

    Numeric vector to set the contour breaks. Overrides binwidth +and bins. By default, this is a vector of length ten with pretty() breaks.

    + + +
    ...
    +

    Other arguments passed on to layer()'s params argument. These +arguments broadly fall into one of 4 categories below. Notably, further +arguments to the position argument, or aesthetics that are required +can not be passed through .... Unknown arguments that are not part +of the 4 categories below are ignored.

    • Static aesthetics that are not mapped to a scale, but are at a fixed +value and apply to the layer as a whole. For example, colour = "red" +or linewidth = 3. The geom's documentation has an Aesthetics +section that lists the available options. The 'required' aesthetics +cannot be passed on to the params. Please note that while passing +unmapped aesthetics as vectors is technically possible, the order and +required length is not guaranteed to be parallel to the input data.

    • +
    • When constructing a layer using +a stat_*() function, the ... argument can be used to pass on +parameters to the geom part of the layer. An example of this is +stat_density(geom = "area", outline.type = "both"). The geom's +documentation lists which parameters it can accept.

    • +
    • Inversely, when constructing a layer using a +geom_*() function, the ... argument can be used to pass on parameters +to the stat part of the layer. An example of this is +geom_area(stat = "density", adjust = 0.5). The stat's documentation +lists which parameters it can accept.

    • +
    • The key_glyph argument of layer() may also be passed on through +.... This can be one of the functions described as +key glyphs, to change the display of the layer in the legend.

    • +
    + +
    +
    +

    See also

    +

    Other topoplot functions: +geom_topo(), +stat_scalpmap()

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/stat_scalpmap.html b/docs/dev/reference/stat_scalpmap.html index 7023f5f1..66986488 100644 --- a/docs/dev/reference/stat_scalpmap.html +++ b/docs/dev/reference/stat_scalpmap.html @@ -1,46 +1,5 @@ - - - - - - - -Create an interpolated scalp surface — stat_scalpmap • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Create an interpolated scalp surface — stat_scalpmap • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -173,195 +100,228 @@

    Create an interpolated scalp surface

    contains many rows of data.

    -
    stat_scalpmap(
    -  mapping = NULL,
    -  data = NULL,
    -  position = "identity",
    -  na.rm = FALSE,
    -  show.legend = NA,
    -  inherit.aes = TRUE,
    -  grid_res = 200,
    -  interpolate = FALSE,
    -  interp_limit = c("skirt", "head"),
    -  method = "biharmonic",
    -  r = NULL,
    -  ...
    -)
    -
    -geom_head(
    -  mapping = NULL,
    -  data = NULL,
    -  show.legend = NA,
    -  na.rm = TRUE,
    -  inherit.aes = TRUE,
    -  interp_limit = "skirt",
    -  r = 95,
    -  ...
    -)
    -
    -geom_mask(
    -  mapping = NULL,
    -  data = NULL,
    -  show.legend = NA,
    -  na.rm = FALSE,
    -  colour = "white",
    -  size = rel(5),
    -  r = 95,
    -  interp_limit = "skirt",
    -  ...
    -)
    -
    -geom_ears(
    -  mapping = NULL,
    -  data = NULL,
    -  show.legend = NA,
    -  na.rm = FALSE,
    -  r = 95,
    -  ...
    -)
    -
    -geom_channels(
    -  mapping = NULL,
    -  data = NULL,
    -  geom = "point",
    -  show.legend = NA,
    -  inherit.aes = TRUE,
    -  na.rm = TRUE,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    mapping

    Set of aesthetic mappings created by aes() or -aes_(). If specified and inherit.aes = TRUE (the -default), it is combined with the default mapping at the top level of the -plot. You must supply mapping if there is no plot mapping.

    data

    The data to be displayed in this layer. There are three +

    +
    stat_scalpmap(
    +  mapping = NULL,
    +  data = NULL,
    +  position = "identity",
    +  na.rm = FALSE,
    +  show.legend = NA,
    +  inherit.aes = TRUE,
    +  grid_res = 200,
    +  interpolate = FALSE,
    +  interp_limit = c("skirt", "head"),
    +  method = "biharmonic",
    +  r = NULL,
    +  ...
    +)
    +
    +geom_head(
    +  mapping = NULL,
    +  data = NULL,
    +  show.legend = NA,
    +  na.rm = TRUE,
    +  inherit.aes = TRUE,
    +  interp_limit = "skirt",
    +  r = 95,
    +  ...
    +)
    +
    +geom_mask(
    +  mapping = NULL,
    +  data = NULL,
    +  show.legend = NA,
    +  na.rm = FALSE,
    +  colour = "white",
    +  size = rel(5),
    +  linewidth = rel(5),
    +  r = 95,
    +  interp_limit = "skirt",
    +  ...
    +)
    +
    +geom_ears(
    +  mapping = NULL,
    +  data = NULL,
    +  show.legend = NA,
    +  na.rm = FALSE,
    +  r = 95,
    +  ...
    +)
    +
    +geom_channels(
    +  mapping = NULL,
    +  data = NULL,
    +  geom = "point",
    +  show.legend = NA,
    +  inherit.aes = TRUE,
    +  na.rm = TRUE,
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    mapping
    +

    Set of aesthetic mappings created by aes(). If specified and +inherit.aes = TRUE (the default), it is combined with the default mapping +at the top level of the plot. You must supply mapping if there is no plot +mapping.

    + + +
    data
    +

    The data to be displayed in this layer. There are three options:

    If NULL, the default, the data is inherited from the plot -data as specified in the call to ggplot().

    +data as specified in the call to ggplot().

    A data.frame, or other object, will override the plot data. All objects will be fortified to produce a data frame. See -fortify() for which variables will be created.

    +fortify() for which variables will be created.

    A function will be called with a single argument, the plot data. The return value must be a data.frame, and will be used as the layer data. A function can be created -from a formula (e.g. ~ head(.x, 10)).

    position

    Position adjustment, either as a string, or the result of -a call to a position adjustment function.

    na.rm

    If FALSE, the default, missing values are removed with -a warning. If TRUE, missing values are silently removed.

    show.legend

    logical. Should this layer be included in the legends? +from a formula (e.g. ~ head(.x, 10)).

    + + +
    position
    +

    A position adjustment to use on the data for this layer. This +can be used in various ways, including to prevent overplotting and +improving the display. The position argument accepts the following:

    • The result of calling a position function, such as position_jitter(). +This method allows for passing extra arguments to the position.

    • +
    • A string naming the position adjustment. To give the position as a +string, strip the function name of the position_ prefix. For example, +to use position_jitter(), give the position as "jitter".

    • +
    • For more information and other ways to specify the position, see the +layer position documentation.

    • +
    + + +
    na.rm
    +

    If FALSE, the default, missing values are removed with +a warning. If TRUE, missing values are silently removed.

    + + +
    show.legend
    +

    logical. Should this layer be included in the legends? NA, the default, includes if any aesthetics are mapped. FALSE never includes, and TRUE always includes. It can also be a named logical vector to finely select the aesthetics to -display.

    inherit.aes

    If FALSE, overrides the default aesthetics, +display.

    + + +
    inherit.aes
    +

    If FALSE, overrides the default aesthetics, rather than combining with them. This is most useful for helper functions that define both data and aesthetics and shouldn't inherit behaviour from -the default plot specification, e.g. borders().

    grid_res

    Resolution of the interpolation grid. (Defaults to 200 -points).

    interpolate

    If TRUE interpolate linearly, if FALSE -(the default) don't interpolate.

    interp_limit

    Topoplot with a "skirt" or inside the "head".

    method

    "biharmonic" or "gam"

    r

    Radius of head

    ...

    Other arguments passed on to layer(). These are -often aesthetics, used to set an aesthetic to a fixed value, like -colour = "red" or size = 3. They may also be parameters -to the paired geom/stat.

    colour

    For geom_mask, colour of the masking ring.

    size

    For geom_mask, width of the masking ring.

    geom

    "point" for points or "text" for labels. Default is "point".

    - -

    See also

    - -

    Other topoplot functions: -geom_topo(), -stat_scalpcontours()

    -

    Other topoplot functions: -geom_topo(), -stat_scalpcontours()

    -

    Other topoplot functions: -geom_topo(), -stat_scalpcontours()

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +the default plot specification, e.g. borders().

    + + +
    grid_res
    +

    Resolution of the interpolation grid. (Defaults to 200 +points).

    + + +
    interpolate
    +

    If TRUE interpolate linearly, if FALSE +(the default) don't interpolate.

    + + +
    interp_limit
    +

    Topoplot with a "skirt" or inside the "head".

    + + +
    method
    +

    "biharmonic" or "gam"

    + + +
    r
    +

    Radius of head

    + + +
    ...
    +

    Other arguments passed on to layer()'s params argument. These +arguments broadly fall into one of 4 categories below. Notably, further +arguments to the position argument, or aesthetics that are required +can not be passed through .... Unknown arguments that are not part +of the 4 categories below are ignored.

    • Static aesthetics that are not mapped to a scale, but are at a fixed +value and apply to the layer as a whole. For example, colour = "red" +or linewidth = 3. The geom's documentation has an Aesthetics +section that lists the available options. The 'required' aesthetics +cannot be passed on to the params. Please note that while passing +unmapped aesthetics as vectors is technically possible, the order and +required length is not guaranteed to be parallel to the input data.

    • +
    • When constructing a layer using +a stat_*() function, the ... argument can be used to pass on +parameters to the geom part of the layer. An example of this is +stat_density(geom = "area", outline.type = "both"). The geom's +documentation lists which parameters it can accept.

    • +
    • Inversely, when constructing a layer using a +geom_*() function, the ... argument can be used to pass on parameters +to the stat part of the layer. An example of this is +geom_area(stat = "density", adjust = 0.5). The stat's documentation +lists which parameters it can accept.

    • +
    • The key_glyph argument of layer() may also be passed on through +.... This can be one of the functions described as +key glyphs, to change the display of the layer in the legend.

    • +
    + + +
    colour
    +

    For geom_mask, colour of the masking ring.

    + + +
    size
    +

    For geom_mask, width of the masking ring. Deprecated.

    + + +
    linewidth
    +

    For geom_mask, width of the masking ring.

    + + +
    geom
    +

    "point" for points or "text" for labels. Default is "point".

    + +
    +
    +

    See also

    +

    Other topoplot functions: +geom_topo(), +stat_scalpcontours()

    +

    Other topoplot functions: +geom_topo(), +stat_scalpcontours()

    +

    Other topoplot functions: +geom_topo(), +stat_scalpcontours()

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/stereo_norm.html b/docs/dev/reference/stereo_norm.html index c41347c6..02f93743 100644 --- a/docs/dev/reference/stereo_norm.html +++ b/docs/dev/reference/stereo_norm.html @@ -1,70 +1,15 @@ - - - - - - - -Stereographic electrode projection — stereo_norm • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Stereographic electrode projection — stereo_norm • eegUtils - - - - - - - - - - + - - -
    -
    - - -
    -
    +
    @@ -159,47 +86,45 @@

    Stereographic electrode projection

    flattens out the scalp.

    -
    stereo_norm(chan_info)
    +
    +
    stereo_norm(chan_info)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    chan_info

    Channel information from an eegUtils objects

    -

    Value

    +
    chan_info
    +

    Channel information from an eegUtils objects

    +
    +
    +

    Value

    A data.frame with x and y columns indictating electrode positions in degrees

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/tag_epochs.default.html b/docs/dev/reference/tag_epochs.default.html new file mode 100644 index 00000000..ee790281 --- /dev/null +++ b/docs/dev/reference/tag_epochs.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/tag_epochs.eeg_epochs.html b/docs/dev/reference/tag_epochs.eeg_epochs.html new file mode 100644 index 00000000..ee790281 --- /dev/null +++ b/docs/dev/reference/tag_epochs.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/tag_epochs.html b/docs/dev/reference/tag_epochs.html index 8bcbe8f2..9675a640 100644 --- a/docs/dev/reference/tag_epochs.html +++ b/docs/dev/reference/tag_epochs.html @@ -1,69 +1,14 @@ - - - - - - - -Tag epochs with labels — tag_epochs • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Tag epochs with labels — tag_epochs • eegUtils - - - - - - - - - + - - - -
    -
    - - -
    -
    +
    @@ -157,68 +84,64 @@

    Tag epochs with labels

    adds a new column to the epochs structure in an eeg_epochs object.

    -
    tag_epochs(.data, ...)
    -
    -# S3 method for default
    -tag_epochs(.data, ...)
    -
    -# S3 method for eeg_epochs
    -tag_epochs(.data, event_type = NULL, event_label = NULL, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    .data

    An eegUtils object

    ...

    Additional arguments.

    event_type

    Label epochs according to specific event_types (typically a -trigger)

    event_label

    Label epochs according to specific event_labels

    - -

    Methods (by class)

    - - -
      -
    • eeg_epochs: Tag epochs in an eeg_epochs object.

    • -
    +
    +
    tag_epochs(.data, ...)
    +
    +# Default S3 method
    +tag_epochs(.data, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +tag_epochs(.data, event_type = NULL, event_label = NULL, ...)
    +
    + +
    +

    Arguments

    + + +
    .data
    +

    An eegUtils object

    + + +
    ...
    +

    Additional arguments.

    + + +
    event_type
    +

    Label epochs according to specific event_types (typically a +trigger)

    + + +
    event_label
    +

    Label epochs according to specific event_labels

    + +
    +
    +

    Methods (by class)

    + +
    • tag_epochs(eeg_epochs): Tag epochs in an eeg_epochs object.

    • +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/tag_events.eeg_data.html b/docs/dev/reference/tag_events.eeg_data.html new file mode 100644 index 00000000..daf4500c --- /dev/null +++ b/docs/dev/reference/tag_events.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/tag_events.eeg_epochs.html b/docs/dev/reference/tag_events.eeg_epochs.html new file mode 100644 index 00000000..daf4500c --- /dev/null +++ b/docs/dev/reference/tag_events.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/tag_events.html b/docs/dev/reference/tag_events.html index 8c676cfa..663fb15c 100644 --- a/docs/dev/reference/tag_events.html +++ b/docs/dev/reference/tag_events.html @@ -1,71 +1,16 @@ - - - - - - - -Tag events — tag_events • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Tag events — tag_events • eegUtils + - - - -
    -
    - - -
    -
    +
    @@ -161,77 +88,75 @@

    Tag events

    condition).

    -
    tag_events(data, ...)
    -
    -# S3 method for eeg_data
    -tag_events(data, trigs, event_label, ...)
    -
    -# S3 method for eeg_epochs
    -tag_events(data, trigs, event_label, ...)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - -
    data

    An object of class eeg_data or eeg_epochs

    ...

    Parameters passed to S3 methods

    trigs

    Character vector of trigger numbers

    event_label

    Labels for the events.

    - -

    Methods (by class)

    - - -
      -
    • eeg_data: Tag events in an eeg_data object

    • -
    • eeg_epochs: Tag events in an epoched dataset

    • -
    -

    See also

    - -

    Other event handlers: -events(), -list_epochs(), -list_events()

    -

    Author

    - -

    Matt Craddock matt@mattcraddock.com

    +
    +
    tag_events(data, ...)
    +
    +# S3 method for class 'eeg_data'
    +tag_events(data, trigs, event_label, ...)
    +
    +# S3 method for class 'eeg_epochs'
    +tag_events(data, trigs, event_label, ...)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An object of class eeg_data or eeg_epochs

    + + +
    ...
    +

    Parameters passed to S3 methods

    + + +
    trigs
    +

    Character vector of trigger numbers

    + + +
    event_label
    +

    Labels for the events.

    + +
    +
    +

    Methods (by class)

    + +
    • tag_events(eeg_data): Tag events in an eeg_data object

    • +
    • tag_events(eeg_epochs): Tag events in an epoched dataset

    • +
    +
    +

    See also

    +

    Other event handlers: +events(), +list_epochs(), +list_events()

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/tf_hanning.html b/docs/dev/reference/tf_hanning.html index 2dd4f822..02ee2979 100644 --- a/docs/dev/reference/tf_hanning.html +++ b/docs/dev/reference/tf_hanning.html @@ -1,68 +1,13 @@ - - - - - - - -Perform Hanning time-frequency analysis — tf_hanning • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Perform Hanning time-frequency analysis — tf_hanning • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -155,91 +82,89 @@

    Perform Hanning time-frequency analysis

    in frequency domain

    -
    tf_hanning(
    -  data,
    -  foi,
    -  n_freq,
    -  spacing,
    -  n_cycles,
    -  keep_trials,
    -  output,
    -  downsample,
    -  demean = TRUE,
    -  verbose
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data in eeg_epochs format.

    foi

    Frequencies of interest. Scalar or character vector of the lowest -and highest frequency to resolve.

    n_freq

    Number of frequencies to be resolved.

    spacing

    Use linear or log spacing for frequencies.

    n_cycles

    Number of cycles at each frequency.

    keep_trials

    Keep single trials or average over them before returning.

    output

    Sets whether output is power, phase, or fourier coefficients.

    downsample

    Downsampling factor (integer).

    demean

    Remove mean before transforming.

    verbose

    Print informative messages in console.

    +
    +
    tf_hanning(
    +  data,
    +  foi,
    +  n_freq,
    +  spacing,
    +  n_cycles,
    +  keep_trials,
    +  output,
    +  downsample,
    +  trim_edges = trim_edges,
    +  demean = TRUE,
    +  verbose
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Data in eeg_epochs format.

    + + +
    foi
    +

    Frequencies of interest. Scalar or character vector of the lowest +and highest frequency to resolve.

    + + +
    n_freq
    +

    Number of frequencies to be resolved.

    + + +
    spacing
    +

    Use linear or log spacing for frequencies.

    + +
    n_cycles
    +

    Number of cycles at each frequency.

    + + +
    keep_trials
    +

    Keep single trials or average over them before returning.

    + + +
    output
    +

    Sets whether output is power, phase, or fourier coefficients.

    + + +
    downsample
    +

    Downsampling factor (integer).

    + + +
    demean
    +

    Remove mean before transforming.

    + + +
    verbose
    +

    Print informative messages in console.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/tf_morlet.html b/docs/dev/reference/tf_morlet.html index bfc616e2..33441375 100644 --- a/docs/dev/reference/tf_morlet.html +++ b/docs/dev/reference/tf_morlet.html @@ -1,68 +1,13 @@ - - - - - - - -Perform Morlet time-frequency analysis — tf_morlet • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Perform Morlet time-frequency analysis — tf_morlet • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -155,91 +82,89 @@

    Perform Morlet time-frequency analysis

    in frequency domain

    -
    tf_morlet(
    -  data,
    -  foi,
    -  n_freq,
    -  spacing,
    -  n_cycles,
    -  keep_trials,
    -  output,
    -  downsample,
    -  demean = TRUE,
    -  verbose
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Data in eeg_epochs format.

    foi

    Frequencies of interest. Scalar or character vector of the lowest -and highest frequency to resolve.

    n_freq

    Number of frequencies to be resolved.

    spacing

    Use linear or log spacing for frequencies.

    n_cycles

    Number of cycles at each frequency.

    keep_trials

    Keep single trials or average over them before returning.

    output

    Sets whether output is power, phase, or fourier coefficients.

    downsample

    Downsampling factor (integer).

    demean

    Remove mean before transforming.

    verbose

    Print informative messages in console.

    +
    +
    tf_morlet(
    +  data,
    +  foi,
    +  n_freq,
    +  spacing,
    +  n_cycles,
    +  keep_trials,
    +  output,
    +  downsample,
    +  demean = TRUE,
    +  trim_edges = trim_edges,
    +  verbose
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    Data in eeg_epochs format.

    + + +
    foi
    +

    Frequencies of interest. Scalar or character vector of the lowest +and highest frequency to resolve.

    + + +
    n_freq
    +

    Number of frequencies to be resolved.

    + + +
    spacing
    +

    Use linear or log spacing for frequencies.

    + +
    n_cycles
    +

    Number of cycles at each frequency.

    + + +
    keep_trials
    +

    Keep single trials or average over them before returning.

    + + +
    output
    +

    Sets whether output is power, phase, or fourier coefficients.

    + + +
    downsample
    +

    Downsampling factor (integer).

    + + +
    demean
    +

    Remove mean before transforming.

    + + +
    verbose
    +

    Print informative messages in console.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/topo_norm.html b/docs/dev/reference/topo_norm.html index 2ac0ab69..131cbb4c 100644 --- a/docs/dev/reference/topo_norm.html +++ b/docs/dev/reference/topo_norm.html @@ -1,67 +1,12 @@ - - - - - - - -Convert topographical 2d to cartesian 2d — topo_norm • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Convert topographical 2d to cartesian 2d — topo_norm • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Convert topographical 2d to cartesian 2d

    Expects input to be in degrees

    -
    topo_norm(angle, radius)
    +
    +
    topo_norm(angle, radius)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    angle

    Angle

    radius

    Radius

    +
    angle
    +

    Angle

    +
    radius
    +

    Radius

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/topoplot-1.png b/docs/dev/reference/topoplot-1.png index 68a86975..68af37a5 100644 Binary files a/docs/dev/reference/topoplot-1.png and b/docs/dev/reference/topoplot-1.png differ diff --git a/docs/dev/reference/topoplot-2.png b/docs/dev/reference/topoplot-2.png index def34724..ba50967b 100644 Binary files a/docs/dev/reference/topoplot-2.png and b/docs/dev/reference/topoplot-2.png differ diff --git a/docs/dev/reference/topoplot-3.png b/docs/dev/reference/topoplot-3.png new file mode 100644 index 00000000..6b06fbc0 Binary files /dev/null and b/docs/dev/reference/topoplot-3.png differ diff --git a/docs/dev/reference/topoplot.data.frame.html b/docs/dev/reference/topoplot.data.frame.html new file mode 100644 index 00000000..bf1e468c --- /dev/null +++ b/docs/dev/reference/topoplot.data.frame.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/topoplot.default.html b/docs/dev/reference/topoplot.default.html new file mode 100644 index 00000000..bf1e468c --- /dev/null +++ b/docs/dev/reference/topoplot.default.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/topoplot.eeg_ICA.html b/docs/dev/reference/topoplot.eeg_ICA.html new file mode 100644 index 00000000..bf1e468c --- /dev/null +++ b/docs/dev/reference/topoplot.eeg_ICA.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/topoplot.eeg_data.html b/docs/dev/reference/topoplot.eeg_data.html new file mode 100644 index 00000000..bf1e468c --- /dev/null +++ b/docs/dev/reference/topoplot.eeg_data.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/topoplot.eeg_epochs.html b/docs/dev/reference/topoplot.eeg_epochs.html new file mode 100644 index 00000000..bf1e468c --- /dev/null +++ b/docs/dev/reference/topoplot.eeg_epochs.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/topoplot.eeg_tfr.html b/docs/dev/reference/topoplot.eeg_tfr.html new file mode 100644 index 00000000..bf1e468c --- /dev/null +++ b/docs/dev/reference/topoplot.eeg_tfr.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/dev/reference/topoplot.html b/docs/dev/reference/topoplot.html index 57a8f437..3f4b6d08 100644 --- a/docs/dev/reference/topoplot.html +++ b/docs/dev/reference/topoplot.html @@ -1,67 +1,12 @@ - - - - - - - -Topographical Plotting Function for EEG — topoplot • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Topographical Plotting Function for EEG — topoplot • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,301 +80,328 @@

    Topographical Plotting Function for EEG

    Allows topographical plotting of functional data. Output is a ggplot2 object.

    -
    topoplot(data, ...)
    -
    -# S3 method for default
    -topoplot(data, ...)
    -
    -# S3 method for data.frame
    -topoplot(
    -  data,
    -  time_lim = NULL,
    -  limits = NULL,
    -  chanLocs = NULL,
    -  method = "Biharmonic",
    -  r = NULL,
    -  grid_res = 200,
    -  palette = "RdBu",
    -  interp_limit = "skirt",
    -  contour = TRUE,
    -  chan_marker = "point",
    -  quantity = "amplitude",
    -  montage = NULL,
    -  highlights = NULL,
    -  scaling = 1,
    -  groups = NULL,
    -  verbose = TRUE,
    -  k = 40,
    -  ...
    -)
    -
    -# S3 method for eeg_data
    -topoplot(
    -  data,
    -  time_lim = NULL,
    -  limits = NULL,
    -  chanLocs = NULL,
    -  method = "Biharmonic",
    -  r = NULL,
    -  grid_res = 200,
    -  palette = "RdBu",
    -  interp_limit = "skirt",
    -  contour = TRUE,
    -  chan_marker = "point",
    -  quantity = "amplitude",
    -  montage = NULL,
    -  highlights = NULL,
    -  scaling = 1,
    -  verbose = TRUE,
    -  groups = NULL,
    -  k = 40,
    -  ...
    -)
    -
    -# S3 method for eeg_epochs
    -topoplot(
    -  data,
    -  time_lim = NULL,
    -  limits = NULL,
    -  chanLocs = NULL,
    -  method = "Biharmonic",
    -  r = NULL,
    -  grid_res = 200,
    -  palette = "RdBu",
    -  interp_limit = "skirt",
    -  contour = TRUE,
    -  chan_marker = "point",
    -  quantity = "amplitude",
    -  montage = NULL,
    -  highlights = NULL,
    -  scaling = 1,
    -  groups = NULL,
    -  verbose = TRUE,
    -  k = 40,
    -  ...
    -)
    -
    -# S3 method for eeg_ICA
    -topoplot(
    -  data,
    -  component,
    -  time_lim = NULL,
    -  limits = NULL,
    -  chanLocs = NULL,
    -  method = "Biharmonic",
    -  r = NULL,
    -  grid_res = 200,
    -  palette = "RdBu",
    -  interp_limit = "skirt",
    -  contour = TRUE,
    -  chan_marker = "point",
    -  quantity = "amplitude",
    -  montage = NULL,
    -  highlights = NULL,
    -  scaling = 1,
    -  verbose = TRUE,
    -  groups = NULL,
    -  k = 40,
    -  ...
    -)
    -
    -# S3 method for eeg_tfr
    -topoplot(
    -  data,
    -  time_lim = NULL,
    -  limits = NULL,
    -  chanLocs = NULL,
    -  method = "Biharmonic",
    -  r = NULL,
    -  grid_res = 200,
    -  palette = "RdBu",
    -  interp_limit = "skirt",
    -  contour = TRUE,
    -  chan_marker = "point",
    -  quantity = "power",
    -  montage = NULL,
    -  highlights = NULL,
    -  scaling = 1,
    -  freq_range = NULL,
    -  verbose = TRUE,
    -  groups = NULL,
    -  k = 40,
    -  ...
    -)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    An EEG dataset. If the input is a data.frame, then it must have -columns x, y, and amplitude at present. x and y are (Cartesian) electrode -co-ordinates), amplitude is amplitude.

    ...

    Various arguments passed to specific functions

    time_lim

    Timepoint(s) to plot. Can be one time or a range to average -over. If none is supplied, the function will average across all timepoints -in the supplied data.

    limits

    Limits of the fill scale - should be given as a character +

    +
    topoplot(data, ...)
    +
    +# Default S3 method
    +topoplot(data, ...)
    +
    +# S3 method for class 'data.frame'
    +topoplot(
    +  data,
    +  time_lim = NULL,
    +  limits = NULL,
    +  chanLocs = NULL,
    +  method = "Biharmonic",
    +  r = NULL,
    +  grid_res = 200,
    +  palette = "RdBu",
    +  interp_limit = "skirt",
    +  contour = TRUE,
    +  chan_marker = "point",
    +  quantity = "amplitude",
    +  montage = NULL,
    +  highlights = NULL,
    +  scaling = 1,
    +  groups = NULL,
    +  verbose = TRUE,
    +  k = 40,
    +  fill_title = expression(paste("Amplitude (", mu, "V)")),
    +  ...
    +)
    +
    +# S3 method for class 'eeg_data'
    +topoplot(
    +  data,
    +  time_lim = NULL,
    +  limits = NULL,
    +  chanLocs = NULL,
    +  method = "Biharmonic",
    +  r = NULL,
    +  grid_res = 200,
    +  palette = "RdBu",
    +  interp_limit = "skirt",
    +  contour = TRUE,
    +  chan_marker = "point",
    +  quantity = "amplitude",
    +  montage = NULL,
    +  highlights = NULL,
    +  scaling = 1,
    +  verbose = TRUE,
    +  groups = NULL,
    +  k = 40,
    +  fill_title = expression(paste("Amplitude (", mu, "V)")),
    +  ...
    +)
    +
    +# S3 method for class 'eeg_epochs'
    +topoplot(
    +  data,
    +  time_lim = NULL,
    +  limits = NULL,
    +  chanLocs = NULL,
    +  method = "Biharmonic",
    +  r = NULL,
    +  grid_res = 200,
    +  palette = "RdBu",
    +  interp_limit = "skirt",
    +  contour = TRUE,
    +  chan_marker = "point",
    +  quantity = "amplitude",
    +  montage = NULL,
    +  highlights = NULL,
    +  scaling = 1,
    +  groups = NULL,
    +  verbose = TRUE,
    +  k = 40,
    +  fill_title = expression(paste("Amplitude (", mu, "V)")),
    +  ...
    +)
    +
    +# S3 method for class 'eeg_ICA'
    +topoplot(
    +  data,
    +  component,
    +  time_lim = NULL,
    +  limits = NULL,
    +  chanLocs = NULL,
    +  method = "Biharmonic",
    +  r = NULL,
    +  grid_res = 200,
    +  palette = "RdBu",
    +  interp_limit = "skirt",
    +  contour = TRUE,
    +  chan_marker = "point",
    +  quantity = "amplitude",
    +  montage = NULL,
    +  highlights = NULL,
    +  scaling = 1,
    +  verbose = TRUE,
    +  groups = NULL,
    +  k = 40,
    +  fill_title = "a.u.",
    +  ...
    +)
    +
    +# S3 method for class 'eeg_tfr'
    +topoplot(
    +  data,
    +  time_lim = NULL,
    +  limits = NULL,
    +  chanLocs = NULL,
    +  method = "Biharmonic",
    +  r = NULL,
    +  grid_res = 200,
    +  palette = "RdBu",
    +  interp_limit = "skirt",
    +  contour = TRUE,
    +  chan_marker = "point",
    +  quantity = "power",
    +  montage = NULL,
    +  highlights = NULL,
    +  scaling = 1,
    +  freq_range = NULL,
    +  verbose = TRUE,
    +  groups = NULL,
    +  k = 40,
    +  fill_title = expression(paste("Power (", mu, V^2, ")")),
    +  ...
    +)
    +
    + +
    +

    Arguments

    + + +
    data
    +

    An EEG dataset. If the input is a data.frame, then it must have +columns electrode, x, y, and amplitude. x and y should be +(Cartesian) electrode co-ordinates.

    + + +
    ...
    +

    Various arguments passed to specific functions

    + + +
    time_lim
    +

    Timepoint(s) to plot. Can be one time, a range to average +over, or a list of individual times. If none is supplied, the function will +average across all timepoints in the supplied data.

    + + +
    limits
    +

    Limits of the fill scale - should be given as a character vector with two values specifying the start and endpoints e.g. limits = -c(-2,-2). Will ignore anything else. Defaults to the range of the data.

    chanLocs

    Allows passing of channel locations (see -electrode_locations)

    method

    Interpolation method. "Biharmonic" or "gam". "Biharmonic" +c(-2,-2). Will ignore anything else. Defaults to the range of the data.

    + + +
    chanLocs
    +

    Allows passing of channel locations (see +electrode_locations)

    + + +
    method
    +

    Interpolation method. "Biharmonic" or "gam". "Biharmonic" implements the same method used in Matlab's EEGLAB. "gam" fits a Generalized Additive Model with k = 40 knots. Defaults to biharmonic spline -interpolation.

    r

    Radius of cartoon head_shape in mm. Default value is 95 (mm) when -using interp_limit = "skirt".

    grid_res

    Resolution of the interpolated grid. Higher = smoother but -slower. Defaults to 200 points per edge.

    palette

    Defaults to RdBu if none supplied. Can be any palette from +interpolation.

    + + +
    r
    +

    Radius of cartoon head_shape in mm. Default value is 95 (mm) when +using interp_limit = "skirt".

    + + +
    grid_res
    +

    Resolution of the interpolated grid. Higher = smoother but +slower. Defaults to 200 points per edge.

    + + +
    palette
    +

    Defaults to RdBu if none supplied. Can be any palette from RColorBrewer or viridis. If an unsupported palette is specified, switches -to Greens.

    interp_limit

    "skirt" or "head". Defaults to "skirt". "skirt" +to Greens.

    + + +
    interp_limit
    +

    "skirt" or "head". Defaults to "skirt". "skirt" interpolates just past the farthest electrode and does not respect the boundary of the head_shape. "head" interpolates up to the radius of the -plotted head, and moves all electrodes inside the head.

    contour

    Plot contour lines on topography (defaults to TRUE)

    chan_marker

    Set marker for electrode locations. "point" = point, -"name" = electrode name, "none" = no marker. Defaults to "point".

    quantity

    Allows plotting of an arbitrary quantitative column. Defaults -to amplitude. Use quoted column names. E.g. "p.value", "t_statistic".

    montage

    Name of an existing montage set. Defaults to NULL; (currently -only 'biosemi64alpha' available other than default 10/20 system)

    highlights

    Electrodes to highlight (in white).

    scaling

    Scaling multiplication factor for labels and any plot lines. -Defaults to 1.

    groups

    Column name for groups to retain. This is required to create facetted plots.

    verbose

    Warning messages when electrodes do not have locations. -Defaults to TRUE.

    k

    Degrees of freedom used for spline when using method = gam. -Defaults to 40.

    component

    Component to plot (numeric)

    freq_range

    Range of frequencies to average over.

    - -

    Methods (by class)

    - - -
      -
    • default: Default method for data frames.

    • -
    • data.frame: Topographical plotting of data.frames and other non -eeg_data objects.

    • -
    • eeg_data: Topographical plotting of eeg_data objects.

    • -
    • eeg_epochs: Topographical plotting of eeg_epochs objects.

    • -
    • eeg_ICA: Topographical plot for eeg_ICA objects

    • -
    • eeg_tfr: Topographical plotting of eeg_tfr objects.

    • -
    -

    Notes on usage of Generalized Additive Models for interpolation

    +plotted head, and moves all electrodes inside the head.

    + + +
    contour
    +

    Plot contour lines on topography (defaults to TRUE)

    + + +
    chan_marker
    +

    Set marker for electrode locations. "point" = point, +"name" = electrode name, "none" = no marker. Defaults to "point".

    + + +
    quantity
    +

    Allows plotting of an arbitrary quantitative column. Defaults +to amplitude. Use quoted column names. E.g. "p.value", "t_statistic".

    + + +
    montage
    +

    Name of an existing montage set. Defaults to NULL. (currently +only 'biosemi64alpha' available other than default 10/20 system)

    + + +
    highlights
    +

    Electrodes to highlight (in white).

    + + +
    scaling
    +

    Scaling multiplication factor for labels and any plot lines. +Defaults to 1.

    + +
    groups
    +

    Column name for groups to retain. This is required to create +facetted plots.

    + + +
    verbose
    +

    Warning messages when electrodes do not have locations. +Defaults to TRUE.

    + + +
    k
    +

    Degrees of freedom used for spline when using method = gam. +Defaults to 40.

    + + +
    fill_title
    +

    Allows specification of the title of the colourbar. +Defaults to `expression(paste("Amplitude (", mu, "V)")), appropriate for +typical time-domain data.

    + + +
    component
    +

    Component to plot (numeric)

    + + +
    freq_range
    +

    Range of frequencies to average over.

    + +
    +
    +

    Methods (by class)

    + +
    • topoplot(default): Default method for data frames.

    • +
    • topoplot(data.frame): Topographical plotting of data.frames and other non +eeg_data objects.

    • +
    • topoplot(eeg_data): Topographical plotting of eeg_data objects.

    • +
    • topoplot(eeg_epochs): Topographical plotting of eeg_epochs objects.

    • +
    • topoplot(eeg_ICA): Topographical plot for eeg_ICA objects

    • +
    • topoplot(eeg_tfr): Topographical plotting of eeg_tfr objects.

    • +
    +
    +

    Notes on usage of Generalized Additive Models for interpolation

    The function fits a GAM using the gam function from mgcv. Specifically, it -fits a spline using the model function gam(z ~ s(x, y, bs = "ts", k = 40). -Using GAMs for smooths is very much experimental. The surface is produced -from the predictions of the GAM model fitted to the supplied data. Values -at each electrode do not necessarily match actual values in the data: -high-frequency variation will tend to be smoothed out. Thus, the method -should be used with caution. In addition the method can only be used when -there are more than 40 electrodes.

    -

    See also

    - -

    Other scalp-based maps: -erp_scalp(), -interactive_scalp()

    -

    Author

    - -

    Matt Craddock, matt@mattcraddock.com

    - -

    Examples

    -
    topoplot(demo_epochs) -
    #> Using electrode locations from data.
    topoplot(demo_epochs, time_lim = c(.1, .2)) -
    #> Using electrode locations from data.
    +fits a spline using the model function gam(z ~ s(x, y, bs = "ts", k = 40). Using GAMs for smooths is very much experimental. The surface is +produced from the predictions of the GAM model fitted to the supplied data. +Values at each electrode do not necessarily match actual values in the +data: high-frequency variation will tend to be smoothed out. Thus, the +method should be used with caution. In addition the method can only be used +when there are more than 40 electrodes.

    +
    +
    +

    See also

    +

    Other scalp-based maps: +erp_scalp(), +interactive_scalp()

    +
    +
    +

    Author

    +

    Matt Craddock, matt@mattcraddock.com

    +
    + +
    +

    Examples

    +
    topoplot(demo_epochs)
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +#> Using electrode locations from data.
    +#> Plotting head r 95 mm
    +
    +topoplot(demo_epochs, time_lim = c(.1, .2))
    +#> Creating epochs based on combinations of variables: epoch_label participant_id 
    +#> Using electrode locations from data.
    +#> Plotting head r 95 mm
    +
    +topoplot(demo_spatial, time_lim = list(0, .1, .2))
    +#> Creating epochs based on combinations of variables: participant_id epoch_labels 
    +#> Returning closest time points to those requested: -0.00391 0.0977 0.199 
    +#> Using electrode locations from data.
    +#> Removing channels with no location.
    +#> Plotting head r 95 mm
    +
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/unpad.html b/docs/dev/reference/unpad.html index f993e784..d401181f 100644 --- a/docs/dev/reference/unpad.html +++ b/docs/dev/reference/unpad.html @@ -1,67 +1,12 @@ - - - - - - - -Unpad a vector — unpad • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Unpad a vector — unpad • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -153,47 +80,44 @@

    Unpad a vector

    remove a specified number of points from the beginning and end of a vector

    -
    unpad(x, n)
    +
    +
    unpad(x, n)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    x

    Vector to unpad/trim

    n

    Number of points to remove

    +
    x
    +

    Vector to unpad/trim

    +
    n
    +

    Number of points to remove

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/update_r.html b/docs/dev/reference/update_r.html index 31c2e015..209f16b3 100644 --- a/docs/dev/reference/update_r.html +++ b/docs/dev/reference/update_r.html @@ -1,67 +1,12 @@ - - - - - - - -Update radius — update_r • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Update radius — update_r • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,35 +80,32 @@

    Update radius

    Update radius

    -
    update_r(r = 95, data, interp_limit)
    - +
    +
    update_r(r = 95, data, interp_limit)
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/validate_channels.html b/docs/dev/reference/validate_channels.html index 5925d4f5..7b526658 100644 --- a/docs/dev/reference/validate_channels.html +++ b/docs/dev/reference/validate_channels.html @@ -1,70 +1,15 @@ - - - - - - - -Chan_info checker — validate_channels • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Chan_info checker — validate_channels • eegUtils - - + - -
    -
    - - -
    -
    +
    @@ -159,47 +86,44 @@

    Chan_info checker

    names are supplied; populates them with NA if it finds any.

    -
    validate_channels(chan_info, sig_names = NULL)
    +
    +
    validate_channels(chan_info, sig_names = NULL)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    chan_info

    A channel info structure

    sig_names

    signal names from eegUtils signals

    +
    chan_info
    +

    A channel info structure

    +
    sig_names
    +

    signal names from eegUtils signals

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/validate_eeg_data.html b/docs/dev/reference/validate_eeg_data.html index da099503..f7791511 100644 --- a/docs/dev/reference/validate_eeg_data.html +++ b/docs/dev/reference/validate_eeg_data.html @@ -1,67 +1,12 @@ - - - - - - - -Check eeg_data structure — validate_eeg_data • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Check eeg_data structure — validate_eeg_data • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,35 +80,32 @@

    Check eeg_data structure

    Check for missing fields and add them if necessary.

    -
    validate_eeg_data(.data)
    - +
    +
    validate_eeg_data(.data)
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/view_artefacts.html b/docs/dev/reference/view_artefacts.html index 1b011020..cd2cbe55 100644 --- a/docs/dev/reference/view_artefacts.html +++ b/docs/dev/reference/view_artefacts.html @@ -1,68 +1,13 @@ - - - - - - - -Artefact browser — view_artefacts • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Artefact browser — view_artefacts • eegUtils - + - - -
    -
    - - -
    -
    +

    An interactive Shiny app that allows exploration of channel and epoch -statistics.

    +statistics

    -
    view_artefacts(data)
    +
    +
    view_artefacts(data)
    +
    -

    Arguments

    - - - - - - -
    data

    Object to be explored.

    +
    +

    Arguments

    -

    Value

    -

    Nothing.

    -

    Author

    +
    data
    +

    Object to be explored.

    -

    Matt Craddock matt@mattcraddock.com

    +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    -

    Examples

    -
    if (FALSE) view_artefacts(demo_epochs) -
    +
    +

    Examples

    +
      if (FALSE)  view_artefacts(demo_epochs)  # \dontrun{}
    +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/view_ica.html b/docs/dev/reference/view_ica.html index dc5814e2..4263a2f0 100644 --- a/docs/dev/reference/view_ica.html +++ b/docs/dev/reference/view_ica.html @@ -1,69 +1,15 @@ - - - - - - - -EEG component viewer — view_ica • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -EEG decomposition viewer — view_ica • eegUtils - + - - -
    -
    - - -
    -
    +
    -

    A Shiny viewer for ICA or SSD/RESS components that provides an interface for -looking at topographies, timecourses, and power spectral densities of all or -individual components.

    +

    A Shiny viewer for Independent Component Analysis or Spatio-spectral +Decomposition/RESS components that provides an interface for looking at +topographies, timecourses, and power spectral densities of all or individual +components. Can be used to select and reject artefactual components.

    -
    view_ica(data)
    +
    +
    view_ica(data)
    +
    -

    Arguments

    - - - - - - -
    data

    An eeg_ICA object

    +
    +

    Arguments

    -

    Author

    -

    Matt craddock matt@mattcraddock.com

    +
    data
    +

    An eeg_ICA object

    + +
    +
    +

    Value

    +

    A list consisting (optionally) of

    • A character vector of components marked for rejection

    • +
    • A character vector of components marked to be kept

    • +
    • An eeg_epochs object reconstructed from the eeg_ICA object, with +components marked for rejection removed.

    • +
    +
    +

    Author

    +

    Matt Craddock matt@mattcraddock.com

    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/wavelet_norm.html b/docs/dev/reference/wavelet_norm.html index 4c93f242..28c14cbd 100644 --- a/docs/dev/reference/wavelet_norm.html +++ b/docs/dev/reference/wavelet_norm.html @@ -1,71 +1,16 @@ - - - - - - - -Normalise Morlet wavelets — wavelet_norm • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Normalise Morlet wavelets — wavelet_norm • eegUtils - - - - - - - - - - - + - -
    -
    - - -
    -
    +
    @@ -161,47 +88,44 @@

    Normalise Morlet wavelets

    / Hz). an alternative would be Frobenius norm?

    -
    wavelet_norm(mf_zp, n_freq)
    +
    +
    wavelet_norm(mf_zp, n_freq)
    +
    + +
    +

    Arguments

    + -

    Arguments

    - - - - - - - - - - -
    mf_zp

    A zero-padded, FFT'd morlet wavelet family

    n_freq

    Number of frequencies

    +
    mf_zp
    +

    A zero-padded, FFT'd morlet wavelet family

    +
    n_freq
    +

    Number of frequencies

    + +
    +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/welch_fft.html b/docs/dev/reference/welch_fft.html index 03de2ac6..8d52fecf 100644 --- a/docs/dev/reference/welch_fft.html +++ b/docs/dev/reference/welch_fft.html @@ -1,67 +1,13 @@ - - - - - - - -Welch fft — welch_fft • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Welch FFT — welch_fft • eegUtils - + - - -
    -
    - - -
    -
    +
    -

    Internal function for calculating the PSD using Welch's method

    +

    Internal function for calculating the PSD using Welch's method. Hardcoded to +use Hamming window.

    +
    + +
    +
    welch_fft(data, seg_length, n_fft, noverlap, n_sig, srate)
    -
    welch_fft(data, seg_length, n_fft, noverlap, n_sig, srate)
    - -

    Arguments

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    data

    Object to perform FFT on.

    seg_length

    length of each segment of data.

    n_fft

    length of FFT.

    noverlap

    overlap between segments.

    n_sig

    number of samples total.

    srate

    Sampling rate of the data.

    +
    +

    Arguments

    + + +
    data
    +

    Object to perform FFT on.

    + +
    seg_length
    +

    length of each segment of data.

    + + +
    n_fft
    +

    length of FFT.

    + + +
    noverlap
    +

    overlap between segments.

    + + +
    n_sig
    +

    number of samples total.

    + + +
    srate
    +

    Sampling rate of the data.

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/reference/zero_vec.html b/docs/dev/reference/zero_vec.html index 8f10de05..d56d2bfa 100644 --- a/docs/dev/reference/zero_vec.html +++ b/docs/dev/reference/zero_vec.html @@ -1,67 +1,12 @@ - - - - - - - -Generate a zero centred vector — zero_vec • eegUtils - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Generate a zero centred vector — zero_vec • eegUtils - + - - -
    -
    - - -
    -
    +
    @@ -153,43 +80,40 @@

    Generate a zero centred vector

    Generate a zero centred vector

    -
    zero_vec(vec_length)
    +
    +
    zero_vec(vec_length)
    +
    + +
    +

    Arguments

    -

    Arguments

    - - - - - - -
    vec_length

    how many points you want the vector to have

    +
    vec_length
    +

    how many points you want the vector to have

    + +
    +
    -
    - +
    + + - - - + diff --git a/docs/dev/search.json b/docs/dev/search.json new file mode 100644 index 00000000..9871a036 --- /dev/null +++ b/docs/dev/search.json @@ -0,0 +1 @@ +[{"path":"http://craddm.github.io/eegUtils/dev/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Matt Craddock. Author, maintainer. Matti Vuorre. Contributor. ggplot2 authors. Copyright holder. Routines borrowed ggplot2 allow contours drawn topoplots","code":""},{"path":"http://craddm.github.io/eegUtils/dev/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Craddock M (2024). eegUtils: Utilities Electroencephalographic (EEG) Analysis. R package version 0.7.0.9000, https://craddm.github.io/eegUtils, https://github.com/craddm/eegUtils.","code":"@Manual{, title = {eegUtils: Utilities for Electroencephalographic (EEG) Analysis}, author = {Matt Craddock}, year = {2024}, note = {R package version 0.7.0.9000, https://craddm.github.io/eegUtils}, url = {https://github.com/craddm/eegUtils}, }"},{"path":"http://craddm.github.io/eegUtils/dev/CODE_OF_CONDUCT.html","id":null,"dir":"","previous_headings":"","what":"Contributor Code of Conduct","title":"Contributor Code of Conduct","text":"contributors maintainers project, pledge respect people contribute reporting issues, posting feature requests, updating documentation, submitting pull requests patches, activities. committed making participation project harassment-free experience everyone, regardless level experience, gender, gender identity expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion. Examples unacceptable behavior participants include use sexual language imagery, derogatory comments personal attacks, trolling, public private harassment, insults, unprofessional conduct. Project maintainers right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct. Project maintainers follow Code Conduct may removed project team. Instances abusive, harassing, otherwise unacceptable behavior may reported opening issue contacting one project maintainers. Code Conduct adapted Contributor Covenant (https://www.contributor-covenant.org), version 1.0.0, available https://contributor-covenant.org/version/1/0/0/.","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"eegUtils package processing, manipulation, plotting EEG data. includes functions importing data variety file formats (including Biosemi, Brain Vision Analyzer, EEGLAB), many typical steps pre-preprocessing (filtering, referencing, artefact rejection), advanced processing techniques (time-frequency analysis, ICA), several types plot common field (ERP plots, time-frequency plots, topographical scalp maps). Although uses custom object classes, designed always translatable standard R data.frames, thus can used myriad packages methods support standard R formats.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"package much active development subject lot changes. , currently available CRAN. Install latest released version Github . install latest development version, install develop branch . can also find package Neuroconductor - information installing packages Neuroconductor, see Neuroconductor installation tutorial","code":"#install.packages(\"remotes\") remotes::install_github(\"craddm/eegUtils\") remotes::install_github(\"craddm/eegUtils@develop\")"},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"following examples show use eegUtils produce common plots EEG data simple included example data.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"erp-butterfly-plots","dir":"","previous_headings":"Usage","what":"ERP butterfly plots","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"","code":"library(eegUtils) #> #> Attaching package: 'eegUtils' #> The following object is masked from 'package:stats': #> #> filter plot_butterfly(demo_epochs)"},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"topographical-plots","dir":"","previous_headings":"Usage","what":"Topographical plots","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"","code":"topoplot(demo_epochs, time_lim = c(.22, .25 )) #> Using electrode locations from data. #> Plotting head r 95 mm"},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"power-spectral-density","dir":"","previous_headings":"Usage","what":"Power spectral density","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"","code":"plot_psd(demo_epochs) #> Removing channel means per epoch... #> Computing Power Spectral Density using Welch's method. #> FFT length: 256 #> Segment length: 84 #> Overlapping points: 42 (50% overlap)"},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"time-frequency-analysis","dir":"","previous_headings":"Usage","what":"Time-frequency analysis","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"many potential processing steps precede production plots like . examples import process data, import data sources, see eegUtils website!","code":"plot_tfr(compute_tfr(demo_epochs, foi = c(4, 30), n_freq = 20, n_cycles = 3)) #> Computing TFR using Morlet wavelet convolution #> Output frequencies using linear spacing: 4 5.37 6.74 8.11 9.47 10.84 12.21 13.58 14.95 16.32 17.68 19.05 20.42 21.79 23.16 24.53 25.89 27.26 28.63 30 #> Removing channel means per epoch... #> Returning signal averaged over all trials."},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"contributing","dir":"","previous_headings":"","what":"Contributing","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"bug reports feature requests, please report using Github issue tracker. like contribute code, anything documentation fix whole new feature, please begin raising issue moving file Github pull request. can find guide Github issues pull requests work .","code":""},{"path":"http://craddm.github.io/eegUtils/dev/index.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Utilities for Electroencephalographic (EEG) Analysis","text":"Please note eegUtils project released Contributor Code Conduct. contributing project, agree abide terms.","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-development-version","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils (development version)","text":"plot_timecourse() now requires facets mappings explicitly stated call, rather added afterwards. allows use weighted averages required. plot_timecourse.eeg_tfr() now defaults baseline correction, takes type argument baseline type specified. Added new plot_gfp() function calculating plotting Global Field Power. topoplot() now supports plotting multiple timepoints - pass list times time_lim argument. topoplot() now supports custom fill titles fill_title argument, automatically switches necessary (e.g. now says “Power mV^2”). Fill titles now also centred. browse_data.eeg_ICA() now provides option select components rejection, returns character vector selected components. Recoded browse_data() use bslib styling. view_ica() now allows select components rejection, double-click topographies inspect individually, return cleaned data. eeg_average() now supports averaging conditions eeg_evoked files eeg_average() now records weights - number epochs went average - uses subsequent steps possible eeg_epochs/eeg_evoked / eeg_tfr objects. compute_tfr() now argument trim_edges allows users switch automatic removal epoch edges transformation. Defaults TRUE. rm_baseline() now adds record baseline period Changed logic eeg_combine.eeg_epochs(). Now checks duplicate epochs directly using epoch, participant_id recording, corrects duplicates. means recording participant_id matching across eeg_epochs objects timing correction applied.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changesbug-fixes-development-version","dir":"Changelog","previous_headings":"","what":"Internal changes/bug fixes","title":"eegUtils (development version)","text":"Recoded faster_epochs() longer use data.table. added parse_cycles() function use compute_tfr() Using electrode_locations() data.frame return data frame electrode names full upper case. Now returns electrodes original case. eeg_evoked objects now contain reference information. ar_for_ica file started, moving functions artefact_rejection.R select_times prevented converting single column data.frames vectors subsetting. plot_timecourse.eeg_tfr now correctly uses freq_range parameter. Improvements internal processing logic view_ica() improve performance. import_raw(..., fast_bdf = TRUE) now discard Annotations rather fail import BDF files Annotations. removed dependency Matrix - now using qr()$rank run_ICA rather using Matrix::rankMatrix() determine rank input signals. Added numerous dropped_aes variables custom ggplot2 stat_ functions compatibility ggplot2 3.4.0. Replaced size aesthetic linewidth compatibility ggplot2 3.4.0. Lots minor code style improvements Deprecated function iir_filt removed","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-7-0","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.7.0","text":"Add imax method run_ICA(). allows use infomax ICA algorithm infomax package, reimplementation extended-Infomax algorithm used EEGLAB Matlab toolbox. erp_scalp() interactive_scalp() now appropriately use channel locations included data. informative messages using compute_tfr(). plot_tfr() now applies baseline correction single-trial basis possible, may show different results using non-linear baseline correction (e.g. divide dB) topoplot() now allows provide multiple component numbers plotting eeg_ICA object, automatically produce appropriately facetted plot. topoplot() now k parameter control smoothing using method = \"gam\". added additional demo_spatial data spatial cueing experiment. plot_difference() function added plotting ERP difference waves. currently handles two levels. Added hanning taper support compute_tfr. Note scaling factors used compute_tfr calculations adjusted, exact numerical values returned change. However, just scaling factor - relative distances values remained unchanged. ar_FASTER() experimental support eeg_group objects objects eeg_evoked groups. perform rejection reports many times participants data breaks threshold number measures. import_raw() default participant_id now changed NA instead character(1), promote better use eeg_combine(). eeg_combine() now refuse combine objects participant_id missing (.e. NA), warn combining objects previous default value ““. prevent accidentally treating data different participants participant. topoplot() now provides informative messages head radius used plotting. default calculation r using interp_limit = \"head\" changed now set outermost electrode’s position + 10% buffer. Smaller r can set manually. added get_participant_id, set_participant_id, get_recording set_recording interact epochs metadata eegUtils object. eeg_combine() handles eeg_tfr() objects better, now returns error trying combine single-trial data. plot_timecourse() now handles eeg_tfr() objects.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes--bug-fixes-0-7-0","dir":"Changelog","previous_headings":"","what":"Internal changes / bug fixes","title":"eegUtils 0.7.0","text":"erp_scalp() interactive_scalp() now use cleaner evaluation colour argument using rlang Fixed adding CSD new reference using compute_csd() using scaling number cycles compute_tfr(), now also use spacing parameter determine log linear scaling. Fixed bug eeg_average() used c(\"eeg_group\", \"eeg_tfr\") objects. Fixed bug incorrect number epochs calculated epoching eeg_data objects multiple “target” triggers appearing epoch. Fixed error erp_raster() anat_order == FALSE new epoch_queries file functions setting getting epochs structure new check_items file functions check consistency various structures eeg_combine() eeg_tfr() longer drops single dimensions, causing issues one channel epoch object. plot_timecourse.eeg_tfr now correctly passes baseline period rm_baseline() filter.eeg_tfr() sometimes dropping single dimensions using abind::asub(), now fixed","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-6-3","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.6.3","text":"Added log spaced frequencies compute_tfr(), new spacing argument. plot_tfr automatically detects spacing plots figure appropriately. Added na.rm option erp_image() either keep plot trials NA values due smoothing. default ’ll removed. Added informative messages compute_psd().","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes--bug-fixes-0-6-3","dir":"Changelog","previous_headings":"","what":"Internal changes / bug fixes","title":"eegUtils 0.6.3","text":"minor documentation fixes. plot_tfr() error selecting specific frequency range fixed. Switched new style vdiffr tests fixed erp_image() smoothing time instead epochs.","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-6-2","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.6.2","text":"added support EEGLAB .set files saved newer Matlab file formats. changed first argument eeg_filter() data instead .data added informative user messages importing data adding electrode locations. erp_image() now supports eeg_tfr objects.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes--bug-fixes-0-6-2","dir":"Changelog","previous_headings":"","what":"Internal changes / bug fixes","title":"eegUtils 0.6.2","text":"combining three continuous eeg_data objects, eeg_combine() substantially undercorrect timing events third file - now fixed. groups parameter topoplot() now correctly passed types object. stat_tests.R file removed, reimplemented elsewhere Long standing issues import channel locations EEGLAB files hopefully fixed… rm_baseline() eeg_evoked longer uses data.table .data.frame.eeg_evoked() handles grouped data better. import_set() now handles EEGLAB formats better.","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-6-1","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.6.1","text":"ar_eogcor now bipolarize argument can set false HEOG/VEOG channels already bipolarized. stat_scalpcontours() geom_topo() now contours added errors attempting use compute_psd compute_tfr eeg_group objects. compute_tfr() now works better eeg_evoked objects contain multiple conditions.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes--bug-fixes-0-6-1","dir":"Changelog","previous_headings":"","what":"Internal changes / bug fixes","title":"eegUtils 0.6.1","text":"eeg_reference now handles multiple reference channels better rereferencing get_scalpmap handles eeg_ICA components better channels locations Travis-CI removed. cart_to_spherical coord flipping bug fixed (hopefully…) filter now converts tibble internally coerce signals vector one channel. added copyright info summary_contour file eeg_combine.eeg_evoked made behave consistently creating grouped data .data.frame() functions moved df_converters.r","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"eegutils-060","dir":"Changelog","previous_headings":"","what":"eegUtils 0.6.0","title":"eegUtils 0.6.0","text":"IMPORTANT: changes logic topoplot() may make appearance quite different. Specifically, changes way underlying interpolation grid calculated things like diameter cartoon head calculated. changes often lead different minimum maximum amplitudes across image, thus changes appearance plot due different scales- don’t alarmed!","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-6-0","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.6.0","text":"epoch_data baseline correction now defaults baseline correction Added filter method eeg_tfr objects fit_glm() overhauled. Now far faster allows specification models using standard R formulae. New eeg_lm class introduced output fit_glm(). plot_butterfly.eeg_lm() method added .data.frame() methods added eeg_lm objects. view_ica() Shiny viewer eeg_ICA eeg_decomp objects added. view_artefacts()Shiny viewer channel epoch stats added. plot_timecourse() now takes mapping argument, allows use ggplot2 aes() mappings eeg_average.eeg_tfr() now follows behaviour eeg_average() methods respecting epochs structure. compute_itc() added computing inter-trial coherence eeg_tfr objects. cols added eeg_average.eeg_tfr eeg_combine.tfr_average() added handle pre-averaged eeg_tfr objects compute_tfr() now allows non-constant number cycles compute_tfr() now uses different scaling factor, raw units now microvolts-squared. added import_erplab() function plot_timecourse() now allows CIs eeg_group objects.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes--bug-fixes-0-6-0","dir":"Changelog","previous_headings":"","what":"Internal changes / bug fixes","title":"eegUtils 0.6.0","text":"plot_tfr() now always drops NA/NaN values averages appropriately electrodes conditions. import_set() handles continuous EEG data EEGLAB much better Now using whitening package whitening SOBI ICA select_epochs eeg_ICA objects fixed correctly remove epochs signals added tests filter.eeg_ICA filter.eeg_tfr fixed filter.eeg_data filter.eeg_evoked select_elecs eeg_ICA now correctly removes components unmixing matrix switched back using left_join dplyr tag_events function easy fix sorting events tagging. fixed odd interaction select() validate_channels() reordered channel names chan_info eeg_decomp now better job filtering ssd method various tibble related warnings errors cleaned . method = \"gam\" now yield sensible results geom_topo() run_ICA() eeg_decomp() methods now return components ordered percent variance explained (high low) removed scaling components SOBI ICA method browse_data().eeg_ica grid res reduced eeg_reference().eeg_epochs always average referencing, now fixed. cleaner code topoplot() biharmonic smooth compute_psd() now demeans individual segments Welch FFT; also longer errors one segment per channel eeg_tfr() internal structure modified keep 4 dimensions even averaging, consistency stat_summary_by_fill() added averaging raster plots effectively. convert_tfr() now properly returns converted data import_raw() fix Brain Vision Analyzer files date fields markers added version field objects","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-5-0","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.5.0","text":"Default settings Infomax ICA changed similar EEGLAB/Fieldtrip. Faster reading bdf implemented. Old behaviour can retained using fast_bdf = FALSE parameter import_raw() eeg_combine now supports combining lists. eeg_reference now supports eeg_epochs eeg_evoked objects. ### Internal changes / bug fixes plot_butterfly now faster . Much faster reader BDF implemented. eeg_filter added demean parameter removing channel/epoch means filtering now optional. Defaults TRUE. ar_acf() checks low autocorrelation ar_chanfoc() checks excessive channel focality (e.g. components load mostly one channel) ar_trialfoc() checks trial focality (components load mostly trials) ar_eogcor() checks correlation EOG channels topoplot plotting radius logic altered compute_csd now uses eeg_reference rather reref_eeg Unmixing matrix SSD decompositions fixed. compute_tfr reworked faster. Faster baseline correction implemented using Rcpp. Padding now used compute_tfr, greatly improves speed/accuracy; units may change change scaling factor. epoch_data now uses robust way determining time limits/samples include epoch longer fails combinations time limit sampling rate eeg_average returns objects class(eeg_evoked, eeg_epochs) Updated R requirement >= 3.2.0 Updated rlang requirement >= 0.4.0 compute_psd fix single segment data updated use nest unnest keeping tidyr 1.0.0 .data.frame.eeg_tfr() now fixed output correctly","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-4-0","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.4.0","text":"cond_label parameter deprecated Information new epochs structure now automatically added data.frame tag_epochs function added labelling run_ICA now includes fICA package version fastica, now supports running PCA ICA. apply_ICA function added remove ICA components. Behaviour select_times() changed use exact supplied times rather finding nearest times data. select() now works selecting electrodes eeg_data eeg_epochs objects. filter() filters time points epochs eeg_data eeg_epochs objects. mutate() adds columns signals eeg_data eeg_epochs objects. topoplot() now groups parameter allows possibility facetting event labels. Biosemi montages added events() function added easily access modify events structure eegUtils objects. channels() function added easily access modify chan_info structure eegUtils objects. epochs() function added access modify epochs structure. ar_eogreg() function added removing eye movement activity using regression. eeg_filter() supports use multiple threads/cores future package. iir_filt() deprecated geom_topo() extension ggplot2 added. Allows plotting topographical scalp maps using standard ggplot2 functions. Default grid_res topography related plots increased 200.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes--bug-fixes-0-4-0","dir":"Changelog","previous_headings":"","what":"Internal changes / bug fixes","title":"eegUtils 0.4.0","text":"reref_eeg() iir_filt() eeg_FASTER() reref_eeg() now correctly excludes electrodes requested. iir_filt() now correctly respects epoch boundaries. New field epochs added eeg_data eeg_epochs objects. chan_info changes make chan_info consistent across systems. Corrected scaling factor PSD eeg_combine now checks fixes eeg_data timing consistency eeg_tfr objects now use differently organised underlying matrices. eeg_ICA fixed unmixing matrices, transposed.","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-3-0","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.3.0","text":"topoplot() now scaling parameter scale size lines markers drawn plot. plot_tfr() function now useable, baseline correction also added. rm_baseline() now handles eeg_tfr objects. .data.frame() method added eeg_tfr objects. compute_tfr() function now available use Morlet wavelets. plot_psd() now allows changing FFT parameters (e.g. number FFT points, segment length) Data selectors added eeg_tfr objects (e.g. select_elecs())","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes-bug-fixes-0-3-0","dir":"Changelog","previous_headings":"","what":"Internal changes/ bug fixes","title":"eegUtils 0.3.0","text":"plot_timecourse() overhauled S3 method. plot_butterfly() reworked internally efficient rm_baseline() simplified internally, reworked use matrices; split separate file. select_elecs() now works eeg_evoked objects eeg_decomp function progress performing SSD analyses Various methods added TFR analyses topoplot() improvements internally. Now offers potential facetting. dplyr functions implemented internally objects.","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-2-1","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.2.1","text":"topoplot() added highlights parameter allow specific electrodes highlighted. run_ICA() now offers extended Infomax Fastica thanks ica package plotly now “suggested” package rather dependency plot_psd() function added calculate plot PSD eeg_epochs eeg_data objects plot_tfr() function added handle eeg_tfr objects. erp_image() now works eeg_ICA objects Generic print methods added eeg_epochs eeg_data compute_tfr() function added performed TFA eeg_epochs epoch_data() now warns events found rather stops. stops events found.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes-bug-fixes-0-2-1","dir":"Changelog","previous_headings":"","what":"Internal changes/ bug fixes","title":"eegUtils 0.2.1","text":"correctly excludes multiple named electrodes (.e. passed characters rather numbers), previously silently failed. longer records reference data ref_data field tf_morlet recoded called internally recoded call welch_fft() order support possibility different FFT methods. now drops DC component (frequency 0) welch_fft() internal function added eeg_downsample() now makes sure epoch length multiple downsampling factor avoid problems timing jitter erp_image() now S3 method now returns source activations “signals” data frame, component names now returns correct unmixing matrix added. computation g-matrix h-matrix refactored, spherical spline calculation altered accordingly added eeg_FASTER() now properly selects electrodes epochs removal","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-2-0","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.2.0","text":".data.frame.eeg_epochs() now cond_labels parameter select epochs specific events add event label additional column. .data.frame() methods now drop sample column. .data.frame.eeg_ICA() now cond_labels parameter select epochs specific events add event label additional column. reref_eeg() now removes reference channels data. eeg_FASTER() - FASTER artefact rejection method now (mostly) implemented (experimental).","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes--bug-fixes-0-2-0","dir":"Changelog","previous_headings":"","what":"Internal changes / bug fixes","title":"eegUtils 0.2.0","text":"plot_butterfly() dplyr use removed. run_ica() refactored SOBI method, JADE dependency removed. montage_check() command parses montage info passed electrode_locations() label_check() added help parse event labels proc_events() added help parse event labels select_epochs() calls topoplot() now tries average/select across time/epochs converting long data, less memory use select_elecs() also removes electrodes chan_info select_epochs() fixed bug events timings inconsistent using keep = FALSE Electrode/channel related functions (selection) now moved channel_management.r New default electrode locations (347 locations 10-05 layout) provided","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-1-15","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.1.15","text":"eeg_evoked() class introduced hold ERPS eeg_ICA() class introduced hold ICA decompositions eeg_average() function calculate averages (e.g. ERPs) eeg_epochs objects .data.frame.eeg_evoked() introduced handle conversion eeg_evoked objects data frames.","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes--bug-fixes-0-1-15","dir":"Changelog","previous_headings":"","what":"Internal changes / bug fixes","title":"eegUtils 0.1.15","text":"compute_psd() function development, converted S3method. topoplot() properly checks existing chan_info eeg_data objects plot_timecourse() plot_butterfly() modified deal eeg_evoked objects. plot_butterfly() updated better handle data frames topoplot.eeg_ICA() added make topolots ICA components rm_baseline() reworked S3 method faster much less memory intensive. plot_butterfly() converted S3 method. Initial commits addition Morlet wavelet time-frequency analysis Initial commits statisical comparisons added","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-1-14","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.1.14","text":"eeg_downsample() function added downsample EEG data integer factor. tag_events() function added give labels event codes. list_events() added display unique event codes associated labels. select_epochs() now allows selection epochs event code event label. erp_raster() - plot ERPs across scalp ERP image eeg_combine() - combine multiple eeg_data eeg_epochs objects one","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes-bug-fixes-0-1-14","dir":"Changelog","previous_headings":"","what":"Internal changes/ bug fixes","title":"eegUtils 0.1.14","text":"eeg_epochs() now also handles downsampled data appropriately. select_times() longer leaves “epoch” column eeg_epochs objects. topoplot() now calls separate function (gam_topo()) create GAM smooths browse_data() major speed-ups, longer converts long format necessary. Converted S3method. interactive_scalp() fixed plotting individual electrodes","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-1-13","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.1.13","text":"interp_elecs() function perform spherical spline interpolation individual electrodes eeg_ar_thresh() simple absolute value thresholding added plot_electrodes() Produces 2D interactive 3D plot electrode locations","code":""},{"path":[]},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"function-changes-0-1-12","dir":"Changelog","previous_headings":"","what":"Function changes","title":"eegUtils 0.1.12","text":"iir_filt() now also filters reference channels load_set() command added load EEGLAB .set files","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"internal-changes-0-1-12","dir":"Changelog","previous_headings":"","what":"Internal changes","title":"eegUtils 0.1.12","text":"select_times.eeg_data select_times.eeg_epochs iir_filt.eeg_data iir_filt.eeg_epochs","code":""},{"path":"http://craddm.github.io/eegUtils/dev/news/index.html","id":"eegutils-0111","dir":"Changelog","previous_headings":"","what":"eegUtils 0.1.11","title":"eegUtils 0.1.11","text":"Added NEWS.md file track changes package.","code":""}] diff --git a/docs/dev/sitemap.xml b/docs/dev/sitemap.xml index 3b308185..0a9bbcdc 100644 --- a/docs/dev/sitemap.xml +++ b/docs/dev/sitemap.xml @@ -1,633 +1,219 @@ - - - - http://craddm.github.io/eegUtils/404.html - - - http://craddm.github.io/eegUtils/articles/data_structures.html - - - http://craddm.github.io/eegUtils/articles/eegUtils.html - - - http://craddm.github.io/eegUtils/articles/epoch-handling.html - - - http://craddm.github.io/eegUtils/articles/index.html - - - http://craddm.github.io/eegUtils/articles/linear_modelling/linear_modelling.html - - - http://craddm.github.io/eegUtils/articles/time-frequency-analysis.html - - - http://craddm.github.io/eegUtils/articles/topoplot/topoplot.html - - - http://craddm.github.io/eegUtils/authors.html - - - http://craddm.github.io/eegUtils/CODE_OF_CONDUCT.html - - - http://craddm.github.io/eegUtils/index.html - - - http://craddm.github.io/eegUtils/LICENSE-text.html - - - http://craddm.github.io/eegUtils/news/index.html - - - http://craddm.github.io/eegUtils/reference/apply_ica.html - - - http://craddm.github.io/eegUtils/reference/arrange_chans.html - - - http://craddm.github.io/eegUtils/reference/ar_acf.html - - - http://craddm.github.io/eegUtils/reference/ar_chanfoc.html - - - http://craddm.github.io/eegUtils/reference/ar_eogcor.html - - - http://craddm.github.io/eegUtils/reference/ar_eogreg.html - - - http://craddm.github.io/eegUtils/reference/ar_FASTER.html - - - http://craddm.github.io/eegUtils/reference/ar_thresh.html - - - http://craddm.github.io/eegUtils/reference/ar_trialfoc.html - - - http://craddm.github.io/eegUtils/reference/as.data.frame.eeg_data.html - - - http://craddm.github.io/eegUtils/reference/as.data.frame.eeg_epochs.html - - - http://craddm.github.io/eegUtils/reference/as.data.frame.eeg_evoked.html - - - http://craddm.github.io/eegUtils/reference/as.data.frame.eeg_ICA.html - - - http://craddm.github.io/eegUtils/reference/as.data.frame.eeg_lm.html - - - http://craddm.github.io/eegUtils/reference/as.data.frame.eeg_stats.html - - - http://craddm.github.io/eegUtils/reference/as.data.frame.eeg_tfr.html - - - http://craddm.github.io/eegUtils/reference/average_tf.html - - - http://craddm.github.io/eegUtils/reference/browse_data.html - - - http://craddm.github.io/eegUtils/reference/bva_elecs.html - - - http://craddm.github.io/eegUtils/reference/calc_max_elec.html - - - http://craddm.github.io/eegUtils/reference/cart_to_spherical.html - - - http://craddm.github.io/eegUtils/reference/channels.html - - - http://craddm.github.io/eegUtils/reference/channel_names.html - - - http://craddm.github.io/eegUtils/reference/channel_stats.html - - - http://craddm.github.io/eegUtils/reference/check_ci_str.html - - - http://craddm.github.io/eegUtils/reference/check_classes.html - - - http://craddm.github.io/eegUtils/reference/check_epochs.html - - - http://craddm.github.io/eegUtils/reference/check_q.html - - - http://craddm.github.io/eegUtils/reference/check_timings.html - - - http://craddm.github.io/eegUtils/reference/circ_mean.html - - - http://craddm.github.io/eegUtils/reference/circ_rad_fun.html - - - http://craddm.github.io/eegUtils/reference/compute_csd.html - - - http://craddm.github.io/eegUtils/reference/compute_g.html - - - http://craddm.github.io/eegUtils/reference/compute_h.html - - - http://craddm.github.io/eegUtils/reference/compute_itc.html - - - http://craddm.github.io/eegUtils/reference/compute_psd.html - - - http://craddm.github.io/eegUtils/reference/compute_tfr.html - - - http://craddm.github.io/eegUtils/reference/convert_tfr.html - - - http://craddm.github.io/eegUtils/reference/convert_to_csd.html - - - http://craddm.github.io/eegUtils/reference/conv_mor.html - - - http://craddm.github.io/eegUtils/reference/conv_to_mat.html - - - http://craddm.github.io/eegUtils/reference/cov_epochs.html - - - http://craddm.github.io/eegUtils/reference/create_erpimage.html - - - http://craddm.github.io/eegUtils/reference/create_psd_plot.html - - - http://craddm.github.io/eegUtils/reference/create_tc.html - - - http://craddm.github.io/eegUtils/reference/cycle_calc.html - - - http://craddm.github.io/eegUtils/reference/deg2rad.html - - - http://craddm.github.io/eegUtils/reference/demo_epochs.html - - - http://craddm.github.io/eegUtils/reference/demo_spatial.html - - - http://craddm.github.io/eegUtils/reference/downsample_events.html - - - http://craddm.github.io/eegUtils/reference/drop_points.html - - - http://craddm.github.io/eegUtils/reference/eegUtils-package.html - - - http://craddm.github.io/eegUtils/reference/eeg_average.html - - - http://craddm.github.io/eegUtils/reference/eeg_combine.html - - - http://craddm.github.io/eegUtils/reference/eeg_data.html - - - http://craddm.github.io/eegUtils/reference/eeg_decompose.html - - - http://craddm.github.io/eegUtils/reference/eeg_downsample.html - - - http://craddm.github.io/eegUtils/reference/eeg_epochs.html - - - http://craddm.github.io/eegUtils/reference/eeg_evoked.html - - - http://craddm.github.io/eegUtils/reference/eeg_filter.html - - - http://craddm.github.io/eegUtils/reference/eeg_ICA.html - - - http://craddm.github.io/eegUtils/reference/eeg_psd.html - - - http://craddm.github.io/eegUtils/reference/eeg_reference.html - - - http://craddm.github.io/eegUtils/reference/eeg_stats.html - - - http://craddm.github.io/eegUtils/reference/eeg_tfr.html - - - http://craddm.github.io/eegUtils/reference/electrode_locations.html - - - http://craddm.github.io/eegUtils/reference/epochs.html - - - http://craddm.github.io/eegUtils/reference/epoch_data.default.html - - - http://craddm.github.io/eegUtils/reference/epoch_data.html - - - http://craddm.github.io/eegUtils/reference/epoch_stats.html - - - http://craddm.github.io/eegUtils/reference/erp_image.html - - - http://craddm.github.io/eegUtils/reference/erp_raster.html - - - http://craddm.github.io/eegUtils/reference/erp_scalp.html - - - http://craddm.github.io/eegUtils/reference/est_filt_order.html - - - http://craddm.github.io/eegUtils/reference/est_tbw.html - - - http://craddm.github.io/eegUtils/reference/events.html - - - http://craddm.github.io/eegUtils/reference/export_bva.html - - - http://craddm.github.io/eegUtils/reference/faster_chans.html - - - http://craddm.github.io/eegUtils/reference/faster_cine.html - - - http://craddm.github.io/eegUtils/reference/faster_epochs.html - - - http://craddm.github.io/eegUtils/reference/faster_epo_stat.html - - - http://craddm.github.io/eegUtils/reference/fft_n.html - - - http://craddm.github.io/eegUtils/reference/filter_coefs.html - - - http://craddm.github.io/eegUtils/reference/filt_kernel.html - - - http://craddm.github.io/eegUtils/reference/find_times.html - - - http://craddm.github.io/eegUtils/reference/fit_glm.html - - - http://craddm.github.io/eegUtils/reference/fix_grpdelay.html - - - http://craddm.github.io/eegUtils/reference/flip_x.html - - - http://craddm.github.io/eegUtils/reference/gauss_filter.html - - - http://craddm.github.io/eegUtils/reference/geom_topo.html - - - http://craddm.github.io/eegUtils/reference/get_epoch_baselines.html - - - http://craddm.github.io/eegUtils/reference/get_lm.html - - - http://craddm.github.io/eegUtils/reference/get_participant_id.html - - - http://craddm.github.io/eegUtils/reference/get_scalpmap.html - - - http://craddm.github.io/eegUtils/reference/iir_filt.html - - - http://craddm.github.io/eegUtils/reference/import_chans.html - - - http://craddm.github.io/eegUtils/reference/import_cnt.html - - - http://craddm.github.io/eegUtils/reference/import_elc.html - - - http://craddm.github.io/eegUtils/reference/import_elp.html - - - http://craddm.github.io/eegUtils/reference/import_erplab.html - - - http://craddm.github.io/eegUtils/reference/import_ft.html - - - http://craddm.github.io/eegUtils/reference/import_raw.html - - - http://craddm.github.io/eegUtils/reference/import_set.html - - - http://craddm.github.io/eegUtils/reference/import_txt.html - - - http://craddm.github.io/eegUtils/reference/import_vhdr.html - - - http://craddm.github.io/eegUtils/reference/index.html - - - http://craddm.github.io/eegUtils/reference/interactive_scalp.html - - - http://craddm.github.io/eegUtils/reference/interp_chans.html - - - http://craddm.github.io/eegUtils/reference/interp_elecs.html - - - http://craddm.github.io/eegUtils/reference/is.eeg_data.html - - - http://craddm.github.io/eegUtils/reference/is.eeg_epochs.html - - - http://craddm.github.io/eegUtils/reference/is.eeg_evoked.html - - - http://craddm.github.io/eegUtils/reference/is.eeg_group.html - - - http://craddm.github.io/eegUtils/reference/is.eeg_ICA.html - - - http://craddm.github.io/eegUtils/reference/is.eeg_stats.html - - - http://craddm.github.io/eegUtils/reference/is.eeg_tfr.html - - - http://craddm.github.io/eegUtils/reference/kurtosis.html - - - http://craddm.github.io/eegUtils/reference/label_check.html - - - http://craddm.github.io/eegUtils/reference/list_epochs.html - - - http://craddm.github.io/eegUtils/reference/list_events.html - - - http://craddm.github.io/eegUtils/reference/make_head.html - - - http://craddm.github.io/eegUtils/reference/make_l_ear.html - - - http://craddm.github.io/eegUtils/reference/make_r_ear.html - - - http://craddm.github.io/eegUtils/reference/montage_check.html - - - http://craddm.github.io/eegUtils/reference/morlet.html - - - http://craddm.github.io/eegUtils/reference/morlet_res.html - - - http://craddm.github.io/eegUtils/reference/norm_sphere.html - - - http://craddm.github.io/eegUtils/reference/ortho_norm.html - - - http://craddm.github.io/eegUtils/reference/pad.html - - - http://craddm.github.io/eegUtils/reference/parse_args.html - - - http://craddm.github.io/eegUtils/reference/parse_chaninfo.html - - - http://craddm.github.io/eegUtils/reference/parse_filt_freqs.html - - - http://craddm.github.io/eegUtils/reference/parse_for_bf.html - - - http://craddm.github.io/eegUtils/reference/parse_for_tc.html - - - http://craddm.github.io/eegUtils/reference/parse_vhdr_chans.html - - - http://craddm.github.io/eegUtils/reference/plot_butterfly.html - - - http://craddm.github.io/eegUtils/reference/plot_difference.html - - - http://craddm.github.io/eegUtils/reference/plot_electrodes.html - - - http://craddm.github.io/eegUtils/reference/plot_psd.html - - - http://craddm.github.io/eegUtils/reference/plot_tfr.html - - - http://craddm.github.io/eegUtils/reference/plot_timecourse.html - - - http://craddm.github.io/eegUtils/reference/print.eeg_data.html - - - http://craddm.github.io/eegUtils/reference/print.eeg_epochs.html - - - http://craddm.github.io/eegUtils/reference/print.eeg_evoked.html - - - http://craddm.github.io/eegUtils/reference/print.eeg_group.html - - - http://craddm.github.io/eegUtils/reference/print.eeg_ICA.html - - - http://craddm.github.io/eegUtils/reference/print.eeg_lm.html - - - http://craddm.github.io/eegUtils/reference/print.eeg_stats.html - - - http://craddm.github.io/eegUtils/reference/print.eeg_tfr.html - - - http://craddm.github.io/eegUtils/reference/proc_events.html - - - http://craddm.github.io/eegUtils/reference/project_elecs.html - - - http://craddm.github.io/eegUtils/reference/quick_hurst.html - - - http://craddm.github.io/eegUtils/reference/rad2deg.html - - - http://craddm.github.io/eegUtils/reference/read_dat.html - - - http://craddm.github.io/eegUtils/reference/read_vmrk.html - - - http://craddm.github.io/eegUtils/reference/rearrange_tfr.html - - - http://craddm.github.io/eegUtils/reference/reexports.html - - - http://craddm.github.io/eegUtils/reference/remove_edges.html - - - http://craddm.github.io/eegUtils/reference/rm_baseline.html - - - http://craddm.github.io/eegUtils/reference/rob_se.html - - - http://craddm.github.io/eegUtils/reference/rotate_angle.html - - - http://craddm.github.io/eegUtils/reference/run_fir.html - - - http://craddm.github.io/eegUtils/reference/run_ICA.html - - - http://craddm.github.io/eegUtils/reference/run_iir.html - - - http://craddm.github.io/eegUtils/reference/run_SSD.html - - - http://craddm.github.io/eegUtils/reference/samples.html - - - http://craddm.github.io/eegUtils/reference/select_elecs.html - - - http://craddm.github.io/eegUtils/reference/select_epochs.html - - - http://craddm.github.io/eegUtils/reference/select_freqs.html - - - http://craddm.github.io/eegUtils/reference/select_times.html - - - http://craddm.github.io/eegUtils/reference/select_window.html - - - http://craddm.github.io/eegUtils/reference/set_palette.html - - - http://craddm.github.io/eegUtils/reference/sobi_ICA.html - - - http://craddm.github.io/eegUtils/reference/spec_inv.html - - - http://craddm.github.io/eegUtils/reference/spheric_spline.html - - - http://craddm.github.io/eegUtils/reference/sph_to_cart.html - - - http://craddm.github.io/eegUtils/reference/split_vec.html - - - http://craddm.github.io/eegUtils/reference/StatScalpContours.html - - - http://craddm.github.io/eegUtils/reference/StatScalpmap.html - - - http://craddm.github.io/eegUtils/reference/stat_scalpcontours.html - - - http://craddm.github.io/eegUtils/reference/stat_scalpmap.html - - - http://craddm.github.io/eegUtils/reference/stereo_norm.html - - - http://craddm.github.io/eegUtils/reference/tag_epochs.html - - - http://craddm.github.io/eegUtils/reference/tag_events.html - - - http://craddm.github.io/eegUtils/reference/tf_hanning.html - - - http://craddm.github.io/eegUtils/reference/tf_morlet.html - - - http://craddm.github.io/eegUtils/reference/topoplot.html - - - http://craddm.github.io/eegUtils/reference/topo_norm.html - - - http://craddm.github.io/eegUtils/reference/unpad.html - - - http://craddm.github.io/eegUtils/reference/update_r.html - - - http://craddm.github.io/eegUtils/reference/validate_channels.html - - - http://craddm.github.io/eegUtils/reference/validate_eeg_data.html - - - http://craddm.github.io/eegUtils/reference/view_artefacts.html - - - http://craddm.github.io/eegUtils/reference/view_ica.html - - - http://craddm.github.io/eegUtils/reference/wavelet_norm.html - - - http://craddm.github.io/eegUtils/reference/welch_fft.html - - - http://craddm.github.io/eegUtils/reference/zero_vec.html - + +http://craddm.github.io/eegUtils/dev/404.html +http://craddm.github.io/eegUtils/dev/articles/data_structures.html +http://craddm.github.io/eegUtils/dev/articles/eegUtils.html +http://craddm.github.io/eegUtils/dev/articles/epoch-handling.html +http://craddm.github.io/eegUtils/dev/articles/index.html +http://craddm.github.io/eegUtils/dev/articles/linear_modelling/linear_modelling.html +http://craddm.github.io/eegUtils/dev/articles/single_subj_N170/N170_single_subject.html +http://craddm.github.io/eegUtils/dev/articles/time-frequency-analysis.html +http://craddm.github.io/eegUtils/dev/articles/topoplot/topoplot.html +http://craddm.github.io/eegUtils/dev/authors.html +http://craddm.github.io/eegUtils/dev/CODE_OF_CONDUCT.html +http://craddm.github.io/eegUtils/dev/index.html +http://craddm.github.io/eegUtils/dev/LICENSE-text.html +http://craddm.github.io/eegUtils/dev/news/index.html +http://craddm.github.io/eegUtils/dev/reference/apply_ica.html +http://craddm.github.io/eegUtils/dev/reference/arrange_chans.html +http://craddm.github.io/eegUtils/dev/reference/ar_acf.html +http://craddm.github.io/eegUtils/dev/reference/ar_chanfoc.html +http://craddm.github.io/eegUtils/dev/reference/ar_eogcor.html +http://craddm.github.io/eegUtils/dev/reference/ar_eogreg.html +http://craddm.github.io/eegUtils/dev/reference/ar_FASTER.html +http://craddm.github.io/eegUtils/dev/reference/ar_thresh.html +http://craddm.github.io/eegUtils/dev/reference/ar_trialfoc.html +http://craddm.github.io/eegUtils/dev/reference/as.data.frame.eeg_data.html +http://craddm.github.io/eegUtils/dev/reference/as.data.frame.eeg_epochs.html +http://craddm.github.io/eegUtils/dev/reference/as.data.frame.eeg_evoked.html +http://craddm.github.io/eegUtils/dev/reference/as.data.frame.eeg_ICA.html +http://craddm.github.io/eegUtils/dev/reference/as.data.frame.eeg_lm.html +http://craddm.github.io/eegUtils/dev/reference/as.data.frame.eeg_stats.html +http://craddm.github.io/eegUtils/dev/reference/as.data.frame.eeg_tfr.html +http://craddm.github.io/eegUtils/dev/reference/average_tf.html +http://craddm.github.io/eegUtils/dev/reference/browse_data.html +http://craddm.github.io/eegUtils/dev/reference/bva_elecs.html +http://craddm.github.io/eegUtils/dev/reference/calculate_sem.html +http://craddm.github.io/eegUtils/dev/reference/calc_max_elec.html +http://craddm.github.io/eegUtils/dev/reference/cart_to_spherical.html +http://craddm.github.io/eegUtils/dev/reference/channels.html +http://craddm.github.io/eegUtils/dev/reference/channel_names.html +http://craddm.github.io/eegUtils/dev/reference/channel_stats.html +http://craddm.github.io/eegUtils/dev/reference/check_ci_str.html +http://craddm.github.io/eegUtils/dev/reference/check_classes.html +http://craddm.github.io/eegUtils/dev/reference/check_epochs.html +http://craddm.github.io/eegUtils/dev/reference/check_q.html +http://craddm.github.io/eegUtils/dev/reference/check_timings.html +http://craddm.github.io/eegUtils/dev/reference/circ_mean.html +http://craddm.github.io/eegUtils/dev/reference/circ_rad_fun.html +http://craddm.github.io/eegUtils/dev/reference/compute_csd.html +http://craddm.github.io/eegUtils/dev/reference/compute_g.html +http://craddm.github.io/eegUtils/dev/reference/compute_h.html +http://craddm.github.io/eegUtils/dev/reference/compute_itc.html +http://craddm.github.io/eegUtils/dev/reference/compute_psd.html +http://craddm.github.io/eegUtils/dev/reference/compute_tfr.html +http://craddm.github.io/eegUtils/dev/reference/convert_tfr.html +http://craddm.github.io/eegUtils/dev/reference/convert_to_csd.html +http://craddm.github.io/eegUtils/dev/reference/conv_mor.html +http://craddm.github.io/eegUtils/dev/reference/conv_to_mat.html +http://craddm.github.io/eegUtils/dev/reference/cov_epochs.html +http://craddm.github.io/eegUtils/dev/reference/create_electrode_layout_plot.html +http://craddm.github.io/eegUtils/dev/reference/create_erpimage.html +http://craddm.github.io/eegUtils/dev/reference/create_psd_plot.html +http://craddm.github.io/eegUtils/dev/reference/create_tc.html +http://craddm.github.io/eegUtils/dev/reference/cycle_calc.html +http://craddm.github.io/eegUtils/dev/reference/deg2rad.html +http://craddm.github.io/eegUtils/dev/reference/demo_epochs.html +http://craddm.github.io/eegUtils/dev/reference/demo_spatial.html +http://craddm.github.io/eegUtils/dev/reference/downsample_events.html +http://craddm.github.io/eegUtils/dev/reference/drop_points.html +http://craddm.github.io/eegUtils/dev/reference/eegUtils-package.html +http://craddm.github.io/eegUtils/dev/reference/eeg_average.html +http://craddm.github.io/eegUtils/dev/reference/eeg_combine.html +http://craddm.github.io/eegUtils/dev/reference/eeg_data.html +http://craddm.github.io/eegUtils/dev/reference/eeg_decompose.html +http://craddm.github.io/eegUtils/dev/reference/eeg_downsample.html +http://craddm.github.io/eegUtils/dev/reference/eeg_epochs.html +http://craddm.github.io/eegUtils/dev/reference/eeg_evoked.html +http://craddm.github.io/eegUtils/dev/reference/eeg_filter.html +http://craddm.github.io/eegUtils/dev/reference/eeg_ICA.html +http://craddm.github.io/eegUtils/dev/reference/eeg_psd.html +http://craddm.github.io/eegUtils/dev/reference/eeg_reference.html +http://craddm.github.io/eegUtils/dev/reference/eeg_stats.html +http://craddm.github.io/eegUtils/dev/reference/eeg_summarise.html +http://craddm.github.io/eegUtils/dev/reference/eeg_tfr.html +http://craddm.github.io/eegUtils/dev/reference/electrode_locations.html +http://craddm.github.io/eegUtils/dev/reference/epochs.html +http://craddm.github.io/eegUtils/dev/reference/epoch_data.default.html +http://craddm.github.io/eegUtils/dev/reference/epoch_data.html +http://craddm.github.io/eegUtils/dev/reference/epoch_stats.html +http://craddm.github.io/eegUtils/dev/reference/erp_image.html +http://craddm.github.io/eegUtils/dev/reference/erp_raster.html +http://craddm.github.io/eegUtils/dev/reference/erp_scalp.html +http://craddm.github.io/eegUtils/dev/reference/est_filt_order.html +http://craddm.github.io/eegUtils/dev/reference/est_tbw.html +http://craddm.github.io/eegUtils/dev/reference/events.html +http://craddm.github.io/eegUtils/dev/reference/export_bva.html +http://craddm.github.io/eegUtils/dev/reference/faster_chans.html +http://craddm.github.io/eegUtils/dev/reference/faster_cine.html +http://craddm.github.io/eegUtils/dev/reference/faster_epochs.html +http://craddm.github.io/eegUtils/dev/reference/faster_epo_stat.html +http://craddm.github.io/eegUtils/dev/reference/fft_n.html +http://craddm.github.io/eegUtils/dev/reference/filter_coefs.html +http://craddm.github.io/eegUtils/dev/reference/filt_kernel.html +http://craddm.github.io/eegUtils/dev/reference/find_times.html +http://craddm.github.io/eegUtils/dev/reference/fit_glm.html +http://craddm.github.io/eegUtils/dev/reference/fix_grpdelay.html +http://craddm.github.io/eegUtils/dev/reference/flip_x.html +http://craddm.github.io/eegUtils/dev/reference/gauss_filter.html +http://craddm.github.io/eegUtils/dev/reference/geom_topo.html +http://craddm.github.io/eegUtils/dev/reference/get_epoch_baselines.html +http://craddm.github.io/eegUtils/dev/reference/get_lm.html +http://craddm.github.io/eegUtils/dev/reference/get_participant_id.html +http://craddm.github.io/eegUtils/dev/reference/get_scalpmap.html +http://craddm.github.io/eegUtils/dev/reference/iir_filt.html +http://craddm.github.io/eegUtils/dev/reference/import_chans.html +http://craddm.github.io/eegUtils/dev/reference/import_cnt.html +http://craddm.github.io/eegUtils/dev/reference/import_elc.html +http://craddm.github.io/eegUtils/dev/reference/import_elp.html +http://craddm.github.io/eegUtils/dev/reference/import_erplab.html +http://craddm.github.io/eegUtils/dev/reference/import_ft.html +http://craddm.github.io/eegUtils/dev/reference/import_raw.html +http://craddm.github.io/eegUtils/dev/reference/import_set.html +http://craddm.github.io/eegUtils/dev/reference/import_txt.html +http://craddm.github.io/eegUtils/dev/reference/import_vhdr.html +http://craddm.github.io/eegUtils/dev/reference/index.html +http://craddm.github.io/eegUtils/dev/reference/interactive_scalp.html +http://craddm.github.io/eegUtils/dev/reference/interp_chans.html +http://craddm.github.io/eegUtils/dev/reference/interp_elecs.html +http://craddm.github.io/eegUtils/dev/reference/is.eeg_data.html +http://craddm.github.io/eegUtils/dev/reference/is.eeg_epochs.html +http://craddm.github.io/eegUtils/dev/reference/is.eeg_evoked.html +http://craddm.github.io/eegUtils/dev/reference/is.eeg_group.html +http://craddm.github.io/eegUtils/dev/reference/is.eeg_ICA.html +http://craddm.github.io/eegUtils/dev/reference/is.eeg_stats.html +http://craddm.github.io/eegUtils/dev/reference/is.eeg_tfr.html +http://craddm.github.io/eegUtils/dev/reference/kurtosis.html +http://craddm.github.io/eegUtils/dev/reference/label_check.html +http://craddm.github.io/eegUtils/dev/reference/list_epochs.html +http://craddm.github.io/eegUtils/dev/reference/list_events.html +http://craddm.github.io/eegUtils/dev/reference/make_head.html +http://craddm.github.io/eegUtils/dev/reference/make_l_ear.html +http://craddm.github.io/eegUtils/dev/reference/make_r_ear.html +http://craddm.github.io/eegUtils/dev/reference/montage_check.html +http://craddm.github.io/eegUtils/dev/reference/morlet.html +http://craddm.github.io/eegUtils/dev/reference/morlet_res.html +http://craddm.github.io/eegUtils/dev/reference/norm_sphere.html +http://craddm.github.io/eegUtils/dev/reference/ortho_norm.html +http://craddm.github.io/eegUtils/dev/reference/pad.html +http://craddm.github.io/eegUtils/dev/reference/parse_args.html +http://craddm.github.io/eegUtils/dev/reference/parse_chaninfo.html +http://craddm.github.io/eegUtils/dev/reference/parse_filt_freqs.html +http://craddm.github.io/eegUtils/dev/reference/parse_for_bf.html +http://craddm.github.io/eegUtils/dev/reference/parse_for_tc.html +http://craddm.github.io/eegUtils/dev/reference/parse_vhdr_chans.html +http://craddm.github.io/eegUtils/dev/reference/plot_butterfly.html +http://craddm.github.io/eegUtils/dev/reference/plot_difference.html +http://craddm.github.io/eegUtils/dev/reference/plot_electrodes.html +http://craddm.github.io/eegUtils/dev/reference/plot_gfp.html +http://craddm.github.io/eegUtils/dev/reference/plot_psd.html +http://craddm.github.io/eegUtils/dev/reference/plot_tfr.html +http://craddm.github.io/eegUtils/dev/reference/plot_timecourse.html +http://craddm.github.io/eegUtils/dev/reference/print.eeg_data.html +http://craddm.github.io/eegUtils/dev/reference/print.eeg_epochs.html +http://craddm.github.io/eegUtils/dev/reference/print.eeg_evoked.html +http://craddm.github.io/eegUtils/dev/reference/print.eeg_group.html +http://craddm.github.io/eegUtils/dev/reference/print.eeg_ICA.html +http://craddm.github.io/eegUtils/dev/reference/print.eeg_lm.html +http://craddm.github.io/eegUtils/dev/reference/print.eeg_stats.html +http://craddm.github.io/eegUtils/dev/reference/print.eeg_tfr.html +http://craddm.github.io/eegUtils/dev/reference/print.tfr_average.html +http://craddm.github.io/eegUtils/dev/reference/proc_events.html +http://craddm.github.io/eegUtils/dev/reference/project_elecs.html +http://craddm.github.io/eegUtils/dev/reference/quick_hurst.html +http://craddm.github.io/eegUtils/dev/reference/rad2deg.html +http://craddm.github.io/eegUtils/dev/reference/read_dat.html +http://craddm.github.io/eegUtils/dev/reference/read_vmrk.html +http://craddm.github.io/eegUtils/dev/reference/rearrange_tfr.html +http://craddm.github.io/eegUtils/dev/reference/reexports.html +http://craddm.github.io/eegUtils/dev/reference/remove_edges.html +http://craddm.github.io/eegUtils/dev/reference/rm_baseline.html +http://craddm.github.io/eegUtils/dev/reference/rob_se.html +http://craddm.github.io/eegUtils/dev/reference/rotate_angle.html +http://craddm.github.io/eegUtils/dev/reference/run_fir.html +http://craddm.github.io/eegUtils/dev/reference/run_ICA.html +http://craddm.github.io/eegUtils/dev/reference/run_iir.html +http://craddm.github.io/eegUtils/dev/reference/run_SSD.html +http://craddm.github.io/eegUtils/dev/reference/samples.html +http://craddm.github.io/eegUtils/dev/reference/select_elecs.html +http://craddm.github.io/eegUtils/dev/reference/select_epochs.html +http://craddm.github.io/eegUtils/dev/reference/select_freqs.html +http://craddm.github.io/eegUtils/dev/reference/select_times.html +http://craddm.github.io/eegUtils/dev/reference/select_window.html +http://craddm.github.io/eegUtils/dev/reference/set_palette.html +http://craddm.github.io/eegUtils/dev/reference/sobi_ICA.html +http://craddm.github.io/eegUtils/dev/reference/spec_inv.html +http://craddm.github.io/eegUtils/dev/reference/spheric_spline.html +http://craddm.github.io/eegUtils/dev/reference/sph_to_cart.html +http://craddm.github.io/eegUtils/dev/reference/split_vec.html +http://craddm.github.io/eegUtils/dev/reference/StatScalpContours.html +http://craddm.github.io/eegUtils/dev/reference/StatScalpmap.html +http://craddm.github.io/eegUtils/dev/reference/stat_scalpcontours.html +http://craddm.github.io/eegUtils/dev/reference/stat_scalpmap.html +http://craddm.github.io/eegUtils/dev/reference/stereo_norm.html +http://craddm.github.io/eegUtils/dev/reference/tag_epochs.html +http://craddm.github.io/eegUtils/dev/reference/tag_events.html +http://craddm.github.io/eegUtils/dev/reference/tf_hanning.html +http://craddm.github.io/eegUtils/dev/reference/tf_morlet.html +http://craddm.github.io/eegUtils/dev/reference/topoplot.html +http://craddm.github.io/eegUtils/dev/reference/topo_norm.html +http://craddm.github.io/eegUtils/dev/reference/unpad.html +http://craddm.github.io/eegUtils/dev/reference/update_r.html +http://craddm.github.io/eegUtils/dev/reference/validate_channels.html +http://craddm.github.io/eegUtils/dev/reference/validate_eeg_data.html +http://craddm.github.io/eegUtils/dev/reference/view_artefacts.html +http://craddm.github.io/eegUtils/dev/reference/view_ica.html +http://craddm.github.io/eegUtils/dev/reference/wavelet_norm.html +http://craddm.github.io/eegUtils/dev/reference/welch_fft.html +http://craddm.github.io/eegUtils/dev/reference/zero_vec.html + diff --git a/man/StatScalpContours.Rd b/man/StatScalpContours.Rd index 1f52ff52..24c835cb 100644 --- a/man/StatScalpContours.Rd +++ b/man/StatScalpContours.Rd @@ -5,7 +5,7 @@ \alias{StatScalpContours} \title{StatScalpcontours} \format{ -An object of class \code{StatScalpContours} (inherits from \code{Stat}, \code{ggproto}, \code{gg}) of length 5. +An object of class \code{StatScalpContours} (inherits from \code{Stat}, \code{ggproto}, \code{gg}) of length 6. } \usage{ StatScalpContours diff --git a/man/StatScalpmap.Rd b/man/StatScalpmap.Rd index e8e4d071..340bf4d1 100644 --- a/man/StatScalpmap.Rd +++ b/man/StatScalpmap.Rd @@ -5,7 +5,7 @@ \alias{StatScalpmap} \title{StatScalpmap} \format{ -An object of class \code{StatScalpmap} (inherits from \code{Stat}, \code{ggproto}, \code{gg}) of length 3. +An object of class \code{StatScalpmap} (inherits from \code{Stat}, \code{ggproto}, \code{gg}) of length 4. } \usage{ StatScalpmap diff --git a/man/apply_ica.Rd b/man/apply_ica.Rd index e5c3dd7f..6eb938a1 100644 --- a/man/apply_ica.Rd +++ b/man/apply_ica.Rd @@ -29,12 +29,13 @@ dataset. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_ICA}: From given \code{eeg_ICA} object, recreate channel timecourses. +\item \code{apply_ica(eeg_ICA)}: From given \code{eeg_ICA} object, recreate channel +timecourses. -\item \code{eeg_epochs}: Combine a specific set of ICA weights with any +\item \code{apply_ica(eeg_epochs)}: Combine a specific set of ICA weights with any \code{eeg_epochs} object. -}} +}} \examples{ test_ica <- run_ICA(demo_epochs, pca = 10) plot_butterfly(demo_epochs) diff --git a/man/ar_FASTER.Rd b/man/ar_FASTER.Rd index 06184e9c..a9cb7bce 100644 --- a/man/ar_FASTER.Rd +++ b/man/ar_FASTER.Rd @@ -55,17 +55,17 @@ EEG artifact Rejection. J Neurosci Methods. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: Run FASTER on \code{eeg_epochs} +\item \code{ar_FASTER(eeg_epochs)}: Run FASTER on \code{eeg_epochs} -\item \code{eeg_group}: Run FASTER on \code{eeg_group} objects -}} +\item \code{ar_FASTER(eeg_group)}: Run FASTER on \code{eeg_group} objects +}} \examples{ ar_FASTER(demo_epochs) } \references{ -Nolan, Whelan & Reilly (2010). FASTER: Fully Automated Statistical Thresholding for -EEG artifact Rejection. J Neurosci Methods. +Nolan, Whelan & Reilly (2010). FASTER: Fully Automated +Statistical Thresholding for EEG artifact Rejection. J Neurosci Methods. } \author{ Matt Craddock \email{matt@mattcraddock.com} diff --git a/man/ar_acf.Rd b/man/ar_acf.Rd index 9dcee21c..37276cba 100644 --- a/man/ar_acf.Rd +++ b/man/ar_acf.Rd @@ -20,7 +20,8 @@ ar_acf(data, ...) \item{verbose}{Print informative messages. Defaults to TRUE.} -\item{threshold}{Specify a threshold for low ACF. NULL estimates the threshold automatically.} +\item{threshold}{Specify a threshold for low ACF. NULL estimates the +threshold automatically.} } \value{ A character vector of component names that break the threshold. @@ -33,9 +34,9 @@ noise. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_ICA}: Autocorrelation checker for \code{eeg_ICA} objects -}} +\item \code{ar_acf(eeg_ICA)}: Autocorrelation checker for \code{eeg_ICA} objects +}} \examples{ demo_sobi <- run_ICA(demo_epochs, pca = 10) ar_acf(demo_sobi) diff --git a/man/ar_chanfoc.Rd b/man/ar_chanfoc.Rd index 932cbe99..6e6bfb44 100644 --- a/man/ar_chanfoc.Rd +++ b/man/ar_chanfoc.Rd @@ -14,7 +14,7 @@ ar_chanfoc( ) } \arguments{ -\item{data}{\code{eeg_ICA} object} +\item{data}{An \code{eeg_ICA} object} \item{plot}{Produce plot showing max z-scores and threshold for all ICA components.} diff --git a/man/ar_eogcor.Rd b/man/ar_eogcor.Rd index 6cb97556..cfd70e2e 100644 --- a/man/ar_eogcor.Rd +++ b/man/ar_eogcor.Rd @@ -15,13 +15,16 @@ ar_eogcor(decomp, data, ...) threshold = NULL, plot = TRUE, bipolarize = TRUE, + method = c("pearson", "kendall", "spearman"), + verbose = TRUE, ... ) } \arguments{ -\item{decomp}{ICA decomposition} +\item{decomp}{An \code{eeg_ica} object} -\item{data}{Original data} +\item{data}{The original \code{eeg_epochs} object from which this decomposition +was derived} \item{...}{Other parameters} @@ -35,6 +38,10 @@ automatically determining a threshold.} \item{plot}{Plot correlation coefficient for all components} \item{bipolarize}{Bipolarize the HEOG and VEOG channels?} + +\item{method}{Correlation method. Defaults to Pearson.} + +\item{verbose}{Print informative messages. Defaults to TRUE.} } \value{ A character vector of component names that break the threshold. @@ -45,9 +52,9 @@ decomposition and the electrooculogram channels of an \code{eeg_epochs} dataset. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_ICA}: Method for eeg_ICA objects. -}} +\item \code{ar_eogcor(eeg_ICA)}: Method for \code{eeg_ICA} objects. +}} \references{ Chaumon, M., Bishop, D.V., Busch, N.A. (2015). A practical guide to the selection of independent components of the electroencephalogram for diff --git a/man/ar_thresh.Rd b/man/ar_thresh.Rd index 3716b283..ea5360fb 100644 --- a/man/ar_thresh.Rd +++ b/man/ar_thresh.Rd @@ -30,11 +30,11 @@ timepoint from any electrode. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: Reject data using a simple threshold. +\item \code{ar_thresh(eeg_data)}: Reject data using a simple threshold. -\item \code{eeg_epochs}: Reject data using a simple threshold. -}} +\item \code{ar_thresh(eeg_epochs)}: Reject data using a simple threshold. +}} \examples{ ar_thresh(demo_epochs, c(100)) } diff --git a/man/as.data.frame.eeg_ICA.Rd b/man/as.data.frame.eeg_ICA.Rd index 95a19fb2..17c10c73 100644 --- a/man/as.data.frame.eeg_ICA.Rd +++ b/man/as.data.frame.eeg_ICA.Rd @@ -18,9 +18,9 @@ \arguments{ \item{x}{Object of class \code{eeg_ICA}} -\item{row.names}{Kept for compatability with S3 generic, ignored.} +\item{row.names}{Kept for compatibility with S3 generic, ignored.} -\item{optional}{Kept for compatability with S3 generic, ignored.} +\item{optional}{Kept for compatibility with S3 generic, ignored.} \item{long}{Convert to long format. Defaults to FALSE} diff --git a/man/as.data.frame.eeg_lm.Rd b/man/as.data.frame.eeg_lm.Rd index f153d843..182a7373 100644 --- a/man/as.data.frame.eeg_lm.Rd +++ b/man/as.data.frame.eeg_lm.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/df_converters.R \name{as.data.frame.eeg_lm} \alias{as.data.frame.eeg_lm} -\title{Convert \code{eeg_lm} to data.frame} +\title{Convert \code{eeg_lm} to \code{data.frame}} \usage{ \method{as.data.frame}{eeg_lm}( x, @@ -15,7 +15,7 @@ ) } \arguments{ -\item{x}{Object of class \code{eeg_data}} +\item{x}{Object of class \code{eeg_lm}} \item{row.names}{Kept for compatibility with S3 generic, ignored.} diff --git a/man/as.data.frame.eeg_tfr.Rd b/man/as.data.frame.eeg_tfr.Rd index f412a0aa..bda8ad97 100644 --- a/man/as.data.frame.eeg_tfr.Rd +++ b/man/as.data.frame.eeg_tfr.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/df_converters.R \name{as.data.frame.eeg_tfr} \alias{as.data.frame.eeg_tfr} -\title{Convert \code{eeg_tfr} objects to data frames} +\title{Convert \code{eeg_tfr} objects to a \code{data.frame}} \usage{ \method{as.data.frame}{eeg_tfr}(x, row.names = NULL, optional = FALSE, long = FALSE, ...) } @@ -15,10 +15,13 @@ \item{long}{Convert to long format. Defaults to FALSE.} -\item{...}{arguments for other as.data.frame commands} +\item{...}{arguments for other \code{as.data.frame} commands} +} +\value{ +A \code{data.frame} or \code{tibble} } \description{ -Convert \code{eeg_tfr} objects to data frames +Convert \code{eeg_tfr} objects to a \code{data.frame} } \author{ Matt Craddock \email{matt@mattcraddock.com} diff --git a/man/average_tf.Rd b/man/average_tf.Rd index 5ba05ce0..0220d6ca 100644 --- a/man/average_tf.Rd +++ b/man/average_tf.Rd @@ -2,14 +2,16 @@ % Please edit documentation in R/data_averaging.R \name{average_tf} \alias{average_tf} -\title{Internal function for averaging over epochs for eeg_tfr objects.} +\title{Internal function for averaging over epochs for \code{eeg_tfr} objects.} \usage{ -average_tf(data, cols = NULL) +average_tf(data, cols = NULL, weighted, verbose) } \arguments{ \item{data}{data to average over} + +\item{weighted}{Calculate weighted means if TRUE (if possible!)} } \description{ -Internal function for averaging over epochs for eeg_tfr objects. +Internal function for averaging over epochs for \code{eeg_tfr} objects. } \keyword{internal} diff --git a/man/browse_data.Rd b/man/browse_data.Rd index 64b6fb5f..34cd37da 100644 --- a/man/browse_data.Rd +++ b/man/browse_data.Rd @@ -5,48 +5,48 @@ \alias{browse_data.eeg_ICA} \alias{browse_data.eeg_data} \alias{browse_data.eeg_epochs} -\title{Browse EEG data.} +\title{Browse EEG data} \usage{ browse_data(data, ...) \method{browse_data}{eeg_ICA}(data, ...) -\method{browse_data}{eeg_data}(data, sig_length = 5, n_elecs = NULL, downsample = TRUE, ...) +\method{browse_data}{eeg_data}(data, sig_length = 5, downsample = TRUE, ...) -\method{browse_data}{eeg_epochs}(data, sig_length = 5, n_elecs = NULL, downsample = FALSE, ...) +\method{browse_data}{eeg_epochs}(data, sig_length = 5, downsample = FALSE, ...) } \arguments{ -\item{data}{\code{eeg_data}, \code{eeg_epochs}, or \code{eeg_ICA} object to be -plotted.} +\item{data}{\code{eeg_data}, \code{eeg_epochs}, or \code{eeg_ICA} object to be plotted.} \item{...}{Other parameters passed to browsing functions.} \item{sig_length}{Length of signal to be plotted initially (seconds if continuous, epochs if epoched).} -\item{n_elecs}{Number of electrodes to be plotted on a single screen. (not yet -implemented)} - \item{downsample}{Only works on \code{eeg_data} or \code{eeg_epochs} objects. Reduces size of data by only plotting every 4th point, speeding up plotting -considerably. Defaults to TRUE for eeg_data, FALSE for eeg_epochs} +considerably. Defaults to TRUE for \code{eeg_data}, FALSE for \code{eeg_epochs}} +} +\value{ +A character vector of component names selected for rejection. } \description{ A Shiny gadget for browsing EEG data and ICA decompositions interactively. With EEG data (epoched or continuous), data can be viewed as a butterfly plot -(all electrodes overlaid) or as individual traces (electrodes "stacked"). -Currently, the scale cannot be manually set and is determined by the range of -the viewable data. With +(all electrodes overlaid) or as individual traces (electrodes "stacked"). For +\code{eeg_ICA} objects, you will instead be shown a composite of multiple +properties of the decomposition - a topography, an ERP image, an ERP, and a +power spectral density plot from 4-50 Hz. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_ICA}: View \code{eeg_ICA} component properties +\item \code{browse_data(eeg_ICA)}: View \code{eeg_ICA} component properties -\item \code{eeg_data}: Browse continuous EEG data. +\item \code{browse_data(eeg_data)}: Browse continuous EEG data. -\item \code{eeg_epochs}: Browse epoched EEG data. -}} +\item \code{browse_data(eeg_epochs)}: Browse epoched EEG data. +}} \author{ Matt Craddock \email{matt@mattcraddock.com} } diff --git a/man/bva_elecs.Rd b/man/bva_elecs.Rd index 41d51cdb..e338f35b 100644 --- a/man/bva_elecs.Rd +++ b/man/bva_elecs.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/file_io.R +% Please edit documentation in R/file_bva_import.R \name{bva_elecs} \alias{bva_elecs} \title{Convert BVA spherical locations} diff --git a/man/calculate_sem.Rd b/man/calculate_sem.Rd new file mode 100644 index 00000000..4779d6af --- /dev/null +++ b/man/calculate_sem.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/summarise_eeg.R +\name{calculate_sem} +\alias{calculate_sem} +\title{Calculate the standard error of the mean} +\usage{ +calculate_sem(data, time_lim = NULL, conditions = NULL) +} +\arguments{ +\item{data}{An \code{eegUtils} object} + +\item{time_lim}{A vector of time-points to calculate SEM over.} + +\item{conditions}{Split the calculation across multiple conditions} +} +\description{ +Calculate the standard error of the mean +} +\keyword{internal} diff --git a/man/channel_stats.Rd b/man/channel_stats.Rd index a181cdb2..012eb2ea 100644 --- a/man/channel_stats.Rd +++ b/man/channel_stats.Rd @@ -10,7 +10,7 @@ channel_stats(data, ...) \method{channel_stats}{eeg_data}(data, ...) } \arguments{ -\item{data}{Data as a \code{eeg_data} or \code{eeg_epochs} object.} +\item{data}{An \code{eeg_data} or \code{eeg_epochs} object.} \item{...}{Other parameters passed to the functions.} } @@ -22,10 +22,10 @@ Channel statistics } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: Calculate channel statistics for \code{eeg_data} +\item \code{channel_stats(eeg_data)}: Calculate channel statistics for \code{eeg_data} objects. -}} +}} \examples{ channel_stats(demo_epochs) } diff --git a/man/check_timings.Rd b/man/check_timings.Rd index df67c70f..d01940f7 100644 --- a/man/check_timings.Rd +++ b/man/check_timings.Rd @@ -6,13 +6,15 @@ \alias{check_timings.eeg_epochs} \title{Check consistency of event and timing tables} \usage{ -check_timings(.data) +check_timings(.data, verbose = TRUE) -\method{check_timings}{eeg_data}(.data) +\method{check_timings}{eeg_data}(.data, verbose = TRUE) -\method{check_timings}{eeg_epochs}(data) +\method{check_timings}{eeg_epochs}(.data, verbose = TRUE) } \arguments{ +\item{verbose}{Print informative messages} + \item{data}{\code{eeg_data} or \code{eeg_epochs} object} } \description{ diff --git a/man/compute_csd.Rd b/man/compute_csd.Rd index dabc8b46..572fc0e8 100644 --- a/man/compute_csd.Rd +++ b/man/compute_csd.Rd @@ -36,13 +36,13 @@ activity that emphasises more local spatial features } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Default method to detect unknown classes. +\item \code{compute_csd(default)}: Default method to detect unknown classes. -\item \code{eeg_data}: Transform \code{eeg_data} to CSD +\item \code{compute_csd(eeg_data)}: Transform \code{eeg_data} to CSD -\item \code{eeg_epochs}: Transform \code{eeg_data} to CSD -}} +\item \code{compute_csd(eeg_epochs)}: Transform \code{eeg_data} to CSD +}} \examples{ csd_epochs <- compute_csd(demo_epochs) plot_butterfly(csd_epochs) diff --git a/man/compute_g.Rd b/man/compute_g.Rd index 631875d5..ba20e7f1 100644 --- a/man/compute_g.Rd +++ b/man/compute_g.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/current_source_density.R \name{compute_g} \alias{compute_g} -\title{Compute the g function for two sets of locations of channel locations on the +\title{Compute the g function for two sets of channel locations on the unit sphere.} \usage{ compute_g(xyz_coords, xyz_elecs, m = 4, iter = 7) @@ -13,9 +13,11 @@ compute_g(xyz_coords, xyz_elecs, m = 4, iter = 7) \item{xyz_elecs}{A set of electrode locations on a unit sphere.} \item{m}{Interpolation constant (higher = less flexible)} + +\item{iter}{Number of iterations for calculations} } \description{ -Compute the g function for two sets of locations of channel locations on the +Compute the g function for two sets of channel locations on the unit sphere. } \author{ diff --git a/man/compute_h.Rd b/man/compute_h.Rd index 56899063..6a329cfa 100644 --- a/man/compute_h.Rd +++ b/man/compute_h.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/current_source_density.R \name{compute_h} \alias{compute_h} -\title{Compute the h function for two sets of locations of channel locations on the +\title{Compute the h function for two sets of channel locations on the unit sphere.} \usage{ compute_h(xyz_coords, xyz_elecs, m = 4, iter = 50) @@ -15,11 +15,9 @@ compute_h(xyz_coords, xyz_elecs, m = 4, iter = 50) \item{m}{Interpolation constant (higher = less flexible)} \item{iter}{iterations for calculations} - -\item{lambda}{smoothing parameter} } \description{ -Compute the h function for two sets of locations of channel locations on the +Compute the h function for two sets of channel locations on the unit sphere. } \author{ diff --git a/man/compute_psd.Rd b/man/compute_psd.Rd index 8f332f91..4575a839 100644 --- a/man/compute_psd.Rd +++ b/man/compute_psd.Rd @@ -70,9 +70,9 @@ Currently, a data frame with the PSD for each channel separately. } \description{ \code{compute_psd} returns the PSD calculated using Welch's method for every -channel in the data. The output is in microvolts ^2 / Hz. If the object has -multiple epochs, it will perform Welch's FFT separately for each epoch and -then average them afterwards. +channel in the data. The output is in microvolts-squared divided by Hertz - +\eqn{\muV^2 / Hz}. If the object has multiple epochs, it will perform Welch's +FFT separately for each epoch and then average them afterwards. } \details{ Welch's FFT splits the data into multiple segments, calculates the FFT @@ -81,24 +81,23 @@ windowed with a Hanning window to counter spectral leakage. For epoched data, Welch's FFT is calculated separately for each trial. The number of sampling points used for the FFT can be specified using n_fft. -n_fft defaults to 256 sampling points for \code{eeg_epochs} data, or the -minimum of 2048 or the length of the signal for continuous \code{eeg_data}. +n_fft defaults to 256 sampling points for \code{eeg_epochs} data, or the minimum +of 2048 or the length of the signal for continuous \code{eeg_data}. -\code{seg_length} defaults to be \code{n_fft}, and must be less than or equal -to it. +\code{seg_length} defaults to be \code{n_fft}, and must be less than or equal to it. \code{noverlap} specifies the amount of overlap between windows in sampling points. If NULL, it defaults to 50\\% overlap between segments. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: Compute PSD for an \code{eeg_data} object +\item \code{compute_psd(eeg_data)}: Compute PSD for an \code{eeg_data} object -\item \code{eeg_epochs}: Compute PSD for an \code{eeg_epochs} object +\item \code{compute_psd(eeg_epochs)}: Compute PSD for an \code{eeg_epochs} object -\item \code{eeg_evoked}: Compute PSD for an \code{eeg_evoked} object -}} +\item \code{compute_psd(eeg_evoked)}: Compute PSD for an \code{eeg_evoked} object +}} \examples{ out <- compute_psd(demo_epochs) diff --git a/man/compute_tfr.Rd b/man/compute_tfr.Rd index 75444b97..ea79d6a8 100644 --- a/man/compute_tfr.Rd +++ b/man/compute_tfr.Rd @@ -21,6 +21,7 @@ compute_tfr(data, ...) keep_trials = FALSE, output = "power", downsample = 1, + trim_edges = TRUE, verbose = TRUE, ... ) @@ -35,6 +36,7 @@ compute_tfr(data, ...) keep_trials = FALSE, output = "power", downsample = 1, + trim_edges = TRUE, verbose = TRUE, ... ) @@ -52,7 +54,8 @@ and highest frequency to resolve.} \item{n_freq}{Number of frequencies to be resolved. Must be an integer number of frequencies.} -\item{spacing}{Use "linear" or "log" spacing for the frequency vector and number of cycles.} +\item{spacing}{Use "linear" or "log" spacing for the frequency vector and +number of cycles.} \item{n_cycles}{Number of cycles at each frequency. If a single integer, use a constant number of cycles at each frequency. If a character vector of @@ -67,6 +70,10 @@ Defaults to FALSE.} \item{downsample}{Downsampling factor. Integer. Selects every n samples after performing time-frequency analysis on the full sampling rate data.} +\item{trim_edges}{Remove edges of time-frequency representation to avoid edge +effects from overlap of wavelet with timepoints outside the epochs. +Defaults to TRUE.} + \item{verbose}{Print informative messages in console.} } \value{ @@ -80,19 +87,24 @@ domain. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Default method for compute_tfr +\item \code{compute_tfr(default)}: Default method for compute_tfr -\item \code{eeg_epochs}: Default method for \code{compute_tfr} +\item \code{compute_tfr(eeg_epochs)}: Default method for \code{compute_tfr} -\item \code{eeg_evoked}: Method for \code{eeg_evoked} objects. -}} +\item \code{compute_tfr(eeg_evoked)}: Method for \code{eeg_evoked} objects. +}} \examples{ out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), n_freq = 10, n_cycles = 3) out out$freq_info$morlet_resolution -out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), n_freq = 10, n_cycles = c(3, 10)) +out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), + n_freq = 10, n_cycles = c(3, 10)) out$freq_info$morlet_resolution +plot_tfr(out) +out <- compute_tfr(demo_epochs, method = "morlet", foi = c(4, 30), + n_freq = 10, n_cycles = c(3, 10), trim_edges = FALSE) +plot_tfr(out) } \author{ Matt Craddock \email{matt@mattcraddock.com} diff --git a/man/conv_to_mat.Rd b/man/conv_to_mat.Rd index a43297e8..bba1f3ec 100644 --- a/man/conv_to_mat.Rd +++ b/man/conv_to_mat.Rd @@ -19,7 +19,7 @@ Convert to 3d matrix } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: Convert eeg_epochs to 3D matrix -}} +\item \code{conv_to_mat(eeg_epochs)}: Convert \code{eeg_epochs} to 3D matrix +}} \keyword{internal} diff --git a/man/create_electrode_layout_plot.Rd b/man/create_electrode_layout_plot.Rd new file mode 100644 index 00000000..03b931ab --- /dev/null +++ b/man/create_electrode_layout_plot.Rd @@ -0,0 +1,18 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/channel_management.R +\name{create_electrode_layout_plot} +\alias{create_electrode_layout_plot} +\title{Create a ggplot or plotly plot showing electrode positions} +\usage{ +create_electrode_layout_plot(data, interact) +} +\arguments{ +\item{data}{The data from which to extract channel locations} + +\item{interact}{If TRUE, use \code{plotly} to create a 3D interactive plot, +otherwise create a 2D \code{ggplot}.} +} +\description{ +Create a ggplot or plotly plot showing electrode positions +} +\keyword{internal} diff --git a/man/create_tc.Rd b/man/create_tc.Rd index b9a624af..b3749bf3 100644 --- a/man/create_tc.Rd +++ b/man/create_tc.Rd @@ -4,7 +4,14 @@ \alias{create_tc} \title{Internal function for creation of timecourse plots} \usage{ -create_tc(data, add_CI, colour, quantity = amplitude, mapping = NULL) +create_tc( + data, + add_CI, + colour, + quantity = amplitude, + mapping = NULL, + facets = NULL +) } \arguments{ \item{data}{A data frame to be plotted} diff --git a/man/eegUtils-package.Rd b/man/eegUtils-package.Rd index 98b70682..6e845566 100644 --- a/man/eegUtils-package.Rd +++ b/man/eegUtils-package.Rd @@ -4,9 +4,9 @@ \name{eegUtils-package} \alias{eegUtils} \alias{eegUtils-package} -\title{eegUtils: Utilities for Electroencephalographic (EEG) Analysis} +\title{A package for processing electroencephalographic data} \description{ -EEG processing and visualization tools. Includes import functions for 'BioSemi' (.BDF), 'Neuroscan' (.CNT), 'Brain Vision Analyzer' (.VHDR), 'EEGLAB' (.set) and 'Fieldtrip' (.mat). Many preprocessing functions such as referencing, epoching, filtering, and ICA are available. There are a variety of visualizations possible, including timecourse and topographical plotting. +Electroencephalography data processing and visualization tools. Includes import functions for 'BioSemi' (.BDF), 'Neuroscan' (.CNT), 'Brain Vision Analyzer' (.VHDR), 'EEGLAB' (.set) and 'Fieldtrip' (.mat). Many preprocessing functions such as referencing, epoching, filtering, and ICA are available. There are a variety of visualizations possible, including timecourse and topographical plotting. } \seealso{ Useful links: @@ -18,13 +18,12 @@ Useful links: } \author{ -\strong{Maintainer}: Matt Craddock \email{matt@mattcraddock.com} [copyright holder] +\strong{Maintainer}: Matt Craddock \email{matt@mattcraddock.com} Other contributors: \itemize{ \item Matti Vuorre \email{mv2521@columbia.edu} [contributor] - \item ggplot2 authors (Routines borrowed from ggplot2 to allow countours to be drawn on topoplots) [contributor, copyright holder] + \item ggplot2 authors (Routines borrowed from ggplot2 to allow contours to be drawn on topoplots) [copyright holder] } } -\keyword{internal} diff --git a/man/eeg_ICA.Rd b/man/eeg_ICA.Rd index 4e4402a0..b7bf9643 100644 --- a/man/eeg_ICA.Rd +++ b/man/eeg_ICA.Rd @@ -13,7 +13,8 @@ eeg_ICA( chan_info, srate, epochs, - algorithm + algorithm, + contents ) } \arguments{ @@ -36,6 +37,9 @@ contained in the data, such as participant ID label and condition labels for epochs.} \item{algorithm}{The method used to calculate the decomposition.} + +\item{contents}{Whether the object contains only the mixing and unmixing +matrices ("weights") or source timecourses as well ("full")} } \value{ An object of class \code{eeg_ICA}. @@ -44,7 +48,5 @@ An object of class \code{eeg_ICA}. Function to create an S3 object of class \code{eeg_ICA}. } \author{ -Matt Craddock \email{matt@mattcraddock.com} - Matt Craddock \email{matt@mattcraddock.com} } diff --git a/man/eeg_average.Rd b/man/eeg_average.Rd index d7bd854d..72ca6253 100644 --- a/man/eeg_average.Rd +++ b/man/eeg_average.Rd @@ -6,17 +6,17 @@ \alias{eeg_average.eeg_epochs} \alias{eeg_average.eeg_evoked} \alias{eeg_average.eeg_tfr} -\title{Calculate averages (e.g. ERPs) for single datasets} +\title{Calculate averages (e.g. event-related potentials) for single datasets} \usage{ eeg_average(data, ...) \method{eeg_average}{default}(data, ...) -\method{eeg_average}{eeg_epochs}(data, cols = NULL, ...) +\method{eeg_average}{eeg_epochs}(data, cols = NULL, verbose = TRUE, ...) -\method{eeg_average}{eeg_evoked}(data, cols = NULL, ...) +\method{eeg_average}{eeg_evoked}(data, cols = NULL, weighted = TRUE, verbose = TRUE, ...) -\method{eeg_average}{eeg_tfr}(data, cols = NULL, ...) +\method{eeg_average}{eeg_tfr}(data, cols = NULL, weighted = TRUE, verbose = TRUE, ...) } \arguments{ \item{data}{An \code{eeg_epochs} of \code{eeg_tfr} object.} @@ -26,6 +26,12 @@ eeg_average(data, ...) \item{cols}{Columns from the \code{epochs} structure that the average should group on. NULL, the default, uses all columns other than the \code{epoch} column.} + +\item{verbose}{Print informative messages during averaging. Defaults to TRUE} + +\item{weighted}{Produce a weighted average over epochs, which accounts for +upstream differences in the number of epochs that contribute to each +average.} } \value{ An object of class \code{eeg_evoked} if applied to \code{eeg_epochs}; @@ -40,15 +46,19 @@ the \code{cols} argument. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Default method for averaging EEG objects +\item \code{eeg_average(default)}: Default method for averaging EEG objects -\item \code{eeg_epochs}: Create evoked data from \code{eeg_epochs} +\item \code{eeg_average(eeg_epochs)}: Create evoked data from \code{eeg_epochs}objects -\item \code{eeg_evoked}: average an \code{eeg_epochs} object over epochs. +\item \code{eeg_average(eeg_evoked)}: average an \code{eeg_evoked} object over epochs. -\item \code{eeg_tfr}: average an \code{eeg_tfr} object over epochs. -}} +\item \code{eeg_average(eeg_tfr)}: average an \code{eeg_tfr} object over epochs. +}} +\examples{ +eeg_average(demo_spatial) +eeg_average(demo_spatial, cols = "everything") +} \author{ Matt Craddock \email{matt@mattcraddock.com} } diff --git a/man/eeg_combine.Rd b/man/eeg_combine.Rd index f1f52446..24effa93 100644 --- a/man/eeg_combine.Rd +++ b/man/eeg_combine.Rd @@ -36,23 +36,64 @@ class as the original input object. } \description{ Combine multiple \code{eeg_epochs}, \code{eeg_data}, or \code{eeg_evoked} objects into a -single object. The function will try to check the \code{participant_id} entry in -the \code{epochs} structure to see if the data comes from a single participant or -from multiple participants. If the data is from a single participant, it will -concatenate the objects and attempt to correct them so that the trial numbers -and timings are correct. +single object. The function will check the \code{participant_id} entry in the +\code{epochs} structure of each object to see if the objects come from a single +participant or from multiple participants. If the data are from multiple +participants, it will create an \code{eeg_group} object. For individual +participants, it will check for duplicate epochs. For most objects, it will +concatenate the objects if none are found. However, for \code{eeg_data} it will +instead try to correct the epoch numbers. Check the details below for further +advice. } \section{Methods (by class)}{ \itemize{ -\item \code{list}: Method for combining lists of \code{eeg_data} and +\item \code{eeg_combine(list)}: Method for combining lists of \code{eeg_data} and \code{eeg_epochs} objects. -\item \code{eeg_data}: Method for combining \code{eeg_data} objects. +\item \code{eeg_combine(eeg_data)}: Method for combining \code{eeg_data} objects. -\item \code{eeg_epochs}: Method for combining \code{eeg_epochs} objects +\item \code{eeg_combine(eeg_epochs)}: Method for combining \code{eeg_epochs} objects + +\item \code{eeg_combine(eeg_evoked)}: Method for combining \code{eeg_evoked} objects -\item \code{eeg_evoked}: Method for combining \code{eeg_evoked} objects }} +\section{Combining \code{eeg_data} objects}{ +Combining \code{eeg_data} is mainly intended to be used for combining multiple +recordings from a single participant prior to subsequent epoching. Thus, +\code{check_timings} defaults to true, and the function will change the epochs and +timing structures of the resulting combined object to be as if it were a +single recording. The objects will be combined in the input order, so ensure +that the objects are input in chronological order. +} + +\section{Combining \code{eeg_epochs} objects}{ +There are several scenarios where you might wish to combine \code{eeg_epochs}. For +example, a user may have processed continuous data in smaller chunks +reflecting short recording blocks before epoching. They then wish to combine +these into a single object. In that case, the epoch numbering should reflect +chronological ordering and needs to be corrected. + +If \code{check_timings == TRUE}, the function will perform several checks before +combining objects. First, it will check for duplicate epochs in the \code{epochs} +structure of each object. If each object only has unique epochs, the objects +will be combined without correction. Thus, combining across separate +recordings or separate participants will not elicit correction. The user +should ensure + +If there are any duplicates (e.g. a participant has more than one epoch +numbered one from the same recording), it will then check if there are any +missing epochs. If there are, the new trial numbering cannot be automatically +determined, so the objects cannot be combined without further manual +intervention. If there are no missing epochs, it will then check if there is +any decreases in epoch numbers across objects. If there are any, then the +epoch numbers and timings for the objects will be adjusted. + +Alternatively, the user may wish to combine \code{eeg_epochs} objects from +different participants or from entirely different recording sessions of the +same participant. In this case, no correction of timings or epoch numbers is +desirable. \code{check_timings == TRUE} should detect this and skip correction, +but can be explicitly set to \code{FALSE}. +} \author{ Matt Craddock, \email{matt@mattcraddock.com} diff --git a/man/eeg_decompose.Rd b/man/eeg_decompose.Rd index a1bdcb7a..9776aa51 100644 --- a/man/eeg_decompose.Rd +++ b/man/eeg_decompose.Rd @@ -11,14 +11,14 @@ eeg_decompose(data, ...) data, sig_range, noise_range, - method = "ssd", + method = c("ssd", "ress"), verbose = TRUE, order = 2, ... ) } \arguments{ -\item{data}{An \code{eeg_data} object} +\item{data}{An \code{eeg_epochs} object} \item{...}{Additional parameters} @@ -26,32 +26,32 @@ eeg_decompose(data, ...) \item{noise_range}{Range of frequencies to be considered noise (e.g. bounds of flanker frequencies)} -\item{method}{Type of decomposition to apply. Currently only "ssd" is supported.} +\item{method}{Type of decomposition to apply. Defaults to "ssd"} \item{verbose}{Informative messages printed to console. Defaults to TRUE.} \item{order}{Filter order for filter applied to signal/noise} } \value{ -An \code{eeg_ICA} object. Note that +An \code{eeg_ICA} object. } \description{ Implements a selection of Generalized Eigenvalue based decomposition methods for EEG signals. Intended for isolating oscillations at specified -frequencies, decomposing channel-based data into components -reflecting distinct or combinations of sources of oscillatory signals. -Currently, spatio-spectral decomposition (Nikulin, Nolte, & Curio, 2011) and -Rhythmic Entrainment Source Separation (Cohen & Gulbinate, 2017) are -implemented. The key difference between the two is that the former returns -the results of the data-derived spatial filters applied to the -bandpass-filtered "signal" data, whereas the latter returns the results of the -filters applied to the original, broadband data. +frequencies, decomposing channel-based data into components reflecting +distinct or combinations of sources of oscillatory signals. Currently, +spatio-spectral decomposition (Nikulin, Nolte, & Curio, 2011) and Rhythmic +Entrainment Source Separation (Cohen & Gulbinate, 2017) are implemented. The +key difference between the two is that the former returns the results of the +data-derived spatial filters applied to the bandpass-filtered "signal" data, +whereas the latter returns the results of the filters applied to the +original, broadband data. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: method for \code{eeg_epochs} objects -}} +\item \code{eeg_decompose(eeg_epochs)}: method for \code{eeg_epochs} objects +}} \examples{ # The default method is Spatio-Spectral Decomposition, which returns # spatially and temporally filtered source timecourses. diff --git a/man/eeg_downsample.Rd b/man/eeg_downsample.Rd index 5748f33a..86940cfc 100644 --- a/man/eeg_downsample.Rd +++ b/man/eeg_downsample.Rd @@ -27,11 +27,11 @@ moving events to the nearest time remaining after downsampling } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: Downsample eeg_data objects +\item \code{eeg_downsample(eeg_data)}: Downsample eeg_data objects -\item \code{eeg_epochs}: Downsample eeg_epochs objects -}} +\item \code{eeg_downsample(eeg_epochs)}: Downsample eeg_epochs objects +}} \examples{ eeg_downsample(demo_epochs, 2) diff --git a/man/eeg_evoked.Rd b/man/eeg_evoked.Rd index f3d03bed..69e8254e 100644 --- a/man/eeg_evoked.Rd +++ b/man/eeg_evoked.Rd @@ -4,7 +4,7 @@ \alias{eeg_evoked} \title{Function to create an S3 object of class "eeg_evoked"} \usage{ -eeg_evoked(data, chan_info, timings, srate, epochs, ...) +eeg_evoked(data, chan_info, timings, srate, epochs, reference = NULL, ...) } \arguments{ \item{data}{evoked data} diff --git a/man/eeg_filter.Rd b/man/eeg_filter.Rd index f4752a5d..acb46de5 100644 --- a/man/eeg_filter.Rd +++ b/man/eeg_filter.Rd @@ -54,7 +54,9 @@ eeg_filter(data, ...) \item{high_freq}{High cutoff frequency.} -\item{filter_order}{Defaults to "auto", which automatically estimates filter order for the specified filter characteristics (defaults to 4 if method = "iir").} +\item{filter_order}{Defaults to "auto", which automatically estimates filter +order for the specified filter characteristics (defaults to 4 if method = +"iir").} \item{trans_bw}{Transition bandwidth of the filter. "auto" or an integer. "auto" attempts to determine a suitable transition bandwidth using the @@ -66,7 +68,8 @@ Response). Defaults to "fir".} \item{window}{Windowing function to use (FIR filtering only). Defaults to "hamming"; currently only "hamming" available.} -\item{demean}{Remove DC component (i.e. channel/epoch mean) before filtering. Defaults to TRUE.} +\item{demean}{Remove DC component (i.e. channel/epoch mean) before filtering. +Defaults to TRUE.} } \value{ An object of the original class with signals filtered according to @@ -90,7 +93,7 @@ Note that it is recommended to first zero-mean the signal using either channel means or by-channel epoch means. The function allows parallelization using the \code{future} package, e.g. using -\code{plan(multiprocess)} +\code{plan(multisession)} } \section{FIR versus IIR filtering}{ Finite Impulse Response (FIR) filtering is diff --git a/man/eeg_reference.Rd b/man/eeg_reference.Rd index 9539a68e..c1d58311 100644 --- a/man/eeg_reference.Rd +++ b/man/eeg_reference.Rd @@ -1,11 +1,10 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/data_modifiers.R, R/deprecated.R +% Please edit documentation in R/data_modifiers.R \name{eeg_reference} \alias{eeg_reference} \alias{eeg_reference.default} \alias{eeg_reference.eeg_data} \alias{eeg_reference.eeg_epochs} -\alias{reref_eeg} \title{Referencing} \usage{ eeg_reference(data, ...) @@ -31,8 +30,6 @@ eeg_reference(data, ...) verbose = TRUE, ... ) - -reref_eeg(data, ...) } \arguments{ \item{data}{Data to re-reference. Primarily meant for use with data of class @@ -67,13 +64,13 @@ removed from the data. Meta-data about the referencing scheme is held in the } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Default method +\item \code{eeg_reference(default)}: Default method -\item \code{eeg_data}: Rereference objects of class \code{eeg_data} +\item \code{eeg_reference(eeg_data)}: Rereference objects of class \code{eeg_data} -\item \code{eeg_epochs}: Rereference objects of class \code{eeg_epochs} -}} +\item \code{eeg_reference(eeg_epochs)}: Rereference objects of class \code{eeg_epochs} +}} \examples{ # demo_epochs is average referenced by default demo_epochs diff --git a/man/eeg_summarise.Rd b/man/eeg_summarise.Rd new file mode 100644 index 00000000..47b0543f --- /dev/null +++ b/man/eeg_summarise.Rd @@ -0,0 +1,49 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/summarise_eeg.R +\name{eeg_summarise} +\alias{eeg_summarise} +\alias{eeg_summarise.eeg_epochs} +\title{Calculate simple summary statistics for \verb{eeg_*} objects} +\usage{ +eeg_summarise(data, ...) + +\method{eeg_summarise}{eeg_epochs}( + data, + statistic = c("sem", "mean", "sd", "var"), + conditions = NULL, + time_lim = NULL, + ... +) +} +\arguments{ +\item{data}{An \code{eegUtils} object.} + +\item{...}{Various arguments passed to specific functions} + +\item{statistic}{The statistic to calculate at each timepoint. Defaults to +"sem"} + +\item{conditions}{Conditions to group the data by.} + +\item{time_lim}{Timepoint(s) to summarise. Can be a range, for which a +summary statistic will be provided for each timepoint, or a list of +individual times. If none is supplied, the function will calculate a +summary for every timepoint.} +} +\value{ +A tibble +} +\description{ +Calculate the timepoint-by-timepoint mean, standard deviation, standard +error, or variance \code{eeg_epochs} objects. +} +\section{Methods (by class)}{ +\itemize{ +\item \code{eeg_summarise(eeg_epochs)}: Calculate summary statistics for \code{eeg_epochs} +objects + +}} +\examples{ +eeg_summarise(demo_spatial, statistic = "sem") + +} diff --git a/man/electrode_locations.Rd b/man/electrode_locations.Rd index b853caf3..ca4e4738 100644 --- a/man/electrode_locations.Rd +++ b/man/electrode_locations.Rd @@ -15,6 +15,7 @@ electrode_locations(data, ...) electrode = "electrode", drop = FALSE, montage = NULL, + overwrite = TRUE, ... ) @@ -43,8 +44,7 @@ not available be removed? (Defaults to FALSE).} A tibble (or data.frame), or ggplot2 object if \code{plot = TRUE}. } \description{ -Joins standard electrode locations to EEG data from \code{eegUtils} internal -data. +Joins standard electrode locations to EEG data from \code{eegUtils} internal data. } \details{ The standard locations are from the 10-05 system derived by Oostenveld & @@ -55,16 +55,19 @@ BioSemi systems included. These can be added using the montage parameter: } \section{Methods (by class)}{ \itemize{ -\item \code{data.frame}: Adds standard locations to a data frame in +\item \code{electrode_locations(data.frame)}: Adds standard locations to a data frame in long format -\item \code{eeg_data}: Adds standard locations to the chan_info field of an eeg_data object. +\item \code{electrode_locations(eeg_data)}: Adds standard locations to the chan_info +field of an eeg_data object. -\item \code{eeg_epochs}: Adds standard locations to the chan_info field of an \code{eeg_data} object. +\item \code{electrode_locations(eeg_epochs)}: Adds standard locations to the chan_info +field of an \code{eeg_data} object. -\item \code{eeg_tfr}: Adds standard locations to the chan_info field of an \code{eeg_tfr} object. -}} +\item \code{electrode_locations(eeg_tfr)}: Adds standard locations to the chan_info +field of an \code{eeg_tfr} object. +}} \examples{ channels(demo_epochs) electrode_locations(demo_epochs, overwrite = TRUE, montage = "biosemi64alpha") diff --git a/man/epoch_data.Rd b/man/epoch_data.Rd index 1dc63099..07dd3b21 100644 --- a/man/epoch_data.Rd +++ b/man/epoch_data.Rd @@ -44,9 +44,9 @@ around each event. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: Epoch \code{eeg_data} objects -}} +\item \code{epoch_data(eeg_data)}: Epoch \code{eeg_data} objects +}} \author{ Matt Craddock \email{matt@mattcraddock.com} } diff --git a/man/epoch_stats.Rd b/man/epoch_stats.Rd index 33ce3d98..bd52e3c9 100644 --- a/man/epoch_stats.Rd +++ b/man/epoch_stats.Rd @@ -10,7 +10,7 @@ epoch_stats(data, ...) \method{epoch_stats}{eeg_epochs}(data, ...) } \arguments{ -\item{data}{Data as a \code{eeg_data} or \code{eeg_epochs} object.} +\item{data}{An \code{eeg_epochs} object.} \item{...}{Other parameters passed to the functions.} } @@ -19,9 +19,9 @@ Calculate various statistics for each epoch in the data } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: Calculate statistics for each epoch. -}} +\item \code{epoch_stats(eeg_epochs)}: Calculate statistics for each epoch. +}} \examples{ epoch_stats(demo_epochs) } diff --git a/man/erp_image.Rd b/man/erp_image.Rd index 462da888..7e0945a7 100644 --- a/man/erp_image.Rd +++ b/man/erp_image.Rd @@ -88,15 +88,15 @@ order to make across-trial patterns more apparent. } \section{Methods (by class)}{ \itemize{ -\item \code{data.frame}: Default function operates on normal data frames +\item \code{erp_image(data.frame)}: Default function operates on normal data frames -\item \code{eeg_epochs}: Create an \code{erp_image} from \code{eeg_epochs} +\item \code{erp_image(eeg_epochs)}: Create an \code{erp_image} from \code{eeg_epochs} -\item \code{eeg_ICA}: Plot component image from \code{eeg_ICA} +\item \code{erp_image(eeg_ICA)}: Plot component image from \code{eeg_ICA} -\item \code{eeg_tfr}: Plot component image from \code{eeg_tfr} -}} +\item \code{erp_image(eeg_tfr)}: Plot component image from \code{eeg_tfr} +}} \examples{ erp_image(demo_epochs, electrode = "A31") erp_image(demo_epochs, electrode = "A31", interpolate = TRUE) diff --git a/man/erp_scalp.Rd b/man/erp_scalp.Rd index f1c563b7..3fb2a61a 100644 --- a/man/erp_scalp.Rd +++ b/man/erp_scalp.Rd @@ -15,6 +15,7 @@ erp_scalp(data, ...) color = NULL, colour = NULL, size = 0.8, + linewidth = 0.8, baseline = NULL, show_guide = TRUE, chan_info = NULL, @@ -23,7 +24,7 @@ erp_scalp(data, ...) ) } \arguments{ -\item{data}{An EEG dataset.} +\item{data}{An \code{eeg_epochs} or \code{eeg_evoked} object} \item{...}{Various arguments passed to specific functions} @@ -40,12 +41,14 @@ erp_scalp(data, ...) \item{colour}{Variable to colour lines by. If no variable is passed, only one line is drawn for each electrode.} -\item{size}{Size of the line(s) for the ERPs.} +\item{size}{Size of the line(s) for the ERPs. Deprecated} + +\item{linewidth}{Size of the line(s) for the ERPs.} \item{baseline}{Character vector of times to subtract for baseline correct.} -\item{show_guide}{Should a guide showing the scale of the ERP plots be shown. -Defaults to TRUE.} +\item{show_guide}{Should be a guide showing the scale of the ERP plots be +shown. Defaults to TRUE.} \item{chan_info}{Pass channel information in the standard \code{eegUtils} format directly.} @@ -55,7 +58,7 @@ attempt to us locations from the data. If none are found, it will attempt to use standard 10-05 locations.} } \value{ -Returns a ggplot2 plot object. +Returns a \code{ggplot2} plot object. } \description{ Creates a \code{ggplot2} figure showing the ERP at each electrode, with each @@ -63,9 +66,9 @@ electrode placed according to its location on the scalp. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Plot an ERP scalp map -}} +\item \code{erp_scalp(default)}: Plot an ERP scalp map +}} \examples{ erp_scalp(demo_epochs, montage = "biosemi64alpha") diff --git a/man/export_bva.Rd b/man/export_bva.Rd index 406a4ff7..2b6934c9 100644 --- a/man/export_bva.Rd +++ b/man/export_bva.Rd @@ -27,6 +27,6 @@ the recommended formats for BIDS } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: Method for \code{eeg_data} -}} +\item \code{export_bva(eeg_data)}: Method for \code{eeg_data} +}} diff --git a/man/fit_glm.Rd b/man/fit_glm.Rd index 0103ef19..e9661752 100644 --- a/man/fit_glm.Rd +++ b/man/fit_glm.Rd @@ -7,7 +7,7 @@ \usage{ fit_glm(formula, data, ...) -\method{fit_glm}{eeg_epochs}(formula, data, time_lim = NULL, ...) +\method{fit_glm}{eeg_epochs}(formula, data, baseline = NULL, ...) } \arguments{ \item{formula}{An object of class \code{formula}. Right-hand side A @@ -17,7 +17,7 @@ regression formula for a GLM. See ?formula and notes on use below} \item{...}{Any other arguments passed to (LM/GLM)} -\item{time_lim}{Numeric vector of length 2 specifying time period to be used +\item{baseline}{Numeric vector of length 2 specifying time period to be used as a baseline.} } \description{ @@ -25,9 +25,9 @@ Fits a linear model to each timepoint separately for each electrode. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: GLM fitting for \code{eeg_epochs} -}} +\item \code{fit_glm(eeg_epochs)}: GLM fitting for \code{eeg_epochs} +}} \section{Notes On Usage}{ @@ -41,6 +41,10 @@ The function allows flexible fitting of a baseline covariate, recognising the term \code{baseline} in the specified formula. } +\examples{ +fit_glm(~epoch_labels, demo_spatial) +fit_glm(~epoch_labels + baseline, demo_spatial, baseline = c(-.1, 0)) +} \author{ Matt Craddock, \email{matt@mattcraddock.com} } diff --git a/man/geom_topo.Rd b/man/geom_topo.Rd index 4a095903..c7bd0437 100644 --- a/man/geom_topo.Rd +++ b/man/geom_topo.Rd @@ -25,10 +25,10 @@ geom_topo( ) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or -\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the -default), it is combined with the default mapping at the top level of the -plot. You must supply \code{mapping} if there is no plot mapping.} +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}}. If specified and +\code{inherit.aes = TRUE} (the default), it is combined with the default mapping +at the top level of the plot. You must supply \code{mapping} if there is no plot +mapping.} \item{data}{The data to be displayed in this layer. There are three options: @@ -45,11 +45,31 @@ the plot data. The return value must be a \code{data.frame}, and will be used as the layer data. A \code{function} can be created from a \code{formula} (e.g. \code{~ head(.x, 10)}).} -\item{stat}{The statistical transformation to use on the data for this -layer, as a string.} - -\item{position}{Position adjustment, either as a string, or the result of -a call to a position adjustment function.} +\item{stat}{The statistical transformation to use on the data for this layer. +When using a \verb{geom_*()} function to construct a layer, the \code{stat} +argument can be used the override the default coupling between geoms and +stats. The \code{stat} argument accepts the following: +\itemize{ +\item A \code{Stat} ggproto subclass, for example \code{StatCount}. +\item A string naming the stat. To give the stat as a string, strip the +function name of the \code{stat_} prefix. For example, to use \code{stat_count()}, +give the stat as \code{"count"}. +\item For more information and other ways to specify the stat, see the +\link[ggplot2:layer_stats]{layer stat} documentation. +}} + +\item{position}{A position adjustment to use on the data for this layer. This +can be used in various ways, including to prevent overplotting and +improving the display. The \code{position} argument accepts the following: +\itemize{ +\item The result of calling a position function, such as \code{position_jitter()}. +This method allows for passing extra arguments to the position. +\item A string naming the position adjustment. To give the position as a +string, strip the function name of the \code{position_} prefix. For example, +to use \code{position_jitter()}, give the position as \code{"jitter"}. +\item For more information and other ways to specify the position, see the +\link[ggplot2:layer_positions]{layer position} documentation. +}} \item{show.legend}{logical. Should this layer be included in the legends? \code{NA}, the default, includes if any aesthetics are mapped. @@ -85,10 +105,33 @@ or text.} \item{bins}{Number of bins to use for contour lines.} -\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are -often aesthetics, used to set an aesthetic to a fixed value, like -\code{colour = "red"} or \code{size = 3}. They may also be parameters -to the paired geom/stat.} +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}'s \code{params} argument. These +arguments broadly fall into one of 4 categories below. Notably, further +arguments to the \code{position} argument, or aesthetics that are required +can \emph{not} be passed through \code{...}. Unknown arguments that are not part +of the 4 categories below are ignored. +\itemize{ +\item Static aesthetics that are not mapped to a scale, but are at a fixed +value and apply to the layer as a whole. For example, \code{colour = "red"} +or \code{linewidth = 3}. The geom's documentation has an \strong{Aesthetics} +section that lists the available options. The 'required' aesthetics +cannot be passed on to the \code{params}. Please note that while passing +unmapped aesthetics as vectors is technically possible, the order and +required length is not guaranteed to be parallel to the input data. +\item When constructing a layer using +a \verb{stat_*()} function, the \code{...} argument can be used to pass on +parameters to the \code{geom} part of the layer. An example of this is +\code{stat_density(geom = "area", outline.type = "both")}. The geom's +documentation lists which parameters it can accept. +\item Inversely, when constructing a layer using a +\verb{geom_*()} function, the \code{...} argument can be used to pass on parameters +to the \code{stat} part of the layer. An example of this is +\code{geom_area(stat = "density", adjust = 0.5)}. The stat's documentation +lists which parameters it can accept. +\item The \code{key_glyph} argument of \code{\link[ggplot2:layer]{layer()}} may also be passed on through +\code{...}. This can be one of the functions described as +\link[ggplot2:draw_key]{key glyphs}, to change the display of the layer in the legend. +}} } \description{ \code{geom_topo()} creates a topographical plot as a \code{ggplot2} object. diff --git a/man/get_scalpmap.Rd b/man/get_scalpmap.Rd index c3ebcdfb..19e64c3e 100644 --- a/man/get_scalpmap.Rd +++ b/man/get_scalpmap.Rd @@ -61,11 +61,11 @@ create topographical plots. } \section{Methods (by class)}{ \itemize{ -\item \code{data.frame}: Get scalpmap from a \code{data.frame} +\item \code{get_scalpmap(data.frame)}: Get scalpmap from a \code{data.frame} -\item \code{eeg_epochs}: Get scalpmap from an \code{eeg_epochs} object. -}} +\item \code{get_scalpmap(eeg_epochs)}: Get scalpmap from an \code{eeg_epochs} object. +}} \examples{ head(get_scalpmap(demo_epochs)) } diff --git a/man/iir_filt.Rd b/man/iir_filt.Rd deleted file mode 100644 index a0fa45d9..00000000 --- a/man/iir_filt.Rd +++ /dev/null @@ -1,87 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/deprecated.R -\name{iir_filt} -\alias{iir_filt} -\alias{iir_filt.data.frame} -\alias{iir_filt.eeg_data} -\alias{iir_filt.eeg_epochs} -\title{Butterworth IIR filter} -\usage{ -iir_filt(data, ...) - -\method{iir_filt}{data.frame}( - data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - srate, - silent = FALSE, - ... -) - -\method{iir_filt}{eeg_data}( - data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - silent = FALSE, - ... -) - -\method{iir_filt}{eeg_epochs}( - data, - low_freq = NULL, - high_freq = NULL, - filter_order = 4, - silent = FALSE, - ... -) -} -\arguments{ -\item{data}{Data to be filtered.} - -\item{...}{Parameters passed to S3 methods} - -\item{low_freq}{Low passband edge.} - -\item{high_freq}{High passband edge.} - -\item{filter_order}{Order of the Butterworth filter.} - -\item{srate}{Sampling rate of the signal.} - -\item{silent}{Turns off filtering messages.} -} -\description{ -Construct a Butterworth IIR filter and filter input data. This uses -\code{signal::filt_filt}, which filters the signal twice to - once forwards, -then again backwards). -} -\details{ -low_freq and high_freq are passband edges. Pass low freq or high freq alone -to perform high-pass or low-pass filtering respectively. For band-pass or -band-stop filters, pass both low_freq and high_freq. - -If low_freq < high_freq, bandpass filtering is performed. - -If low_freq > high_freq, bandstop filtering is performed. - -Note that the signal is first zero-meaned using either channel means or -by-channel epoch means. -} -\section{Methods (by class)}{ -\itemize{ -\item \code{data.frame}: Filter a data frame - -\item \code{eeg_data}: Filter \code{eeg_data} objects - -\item \code{eeg_epochs}: Filter \code{eeg_epochs} objects. -}} - -\examples{ -plot_psd(iir_filt(demo_epochs, low_freq = 1, high_freq = 30)) -plot_psd(iir_filt(demo_epochs, low_freq = 12, high_freq = 8)) -} -\author{ -Matt Craddock \email{matt@mattcraddock.com} -} diff --git a/man/import_vhdr.Rd b/man/import_vhdr.Rd index 7acb235e..c7aefd03 100644 --- a/man/import_vhdr.Rd +++ b/man/import_vhdr.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/file_io.R +% Please edit documentation in R/file_bva_import.R \name{import_vhdr} \alias{import_vhdr} \title{Function for importing Brain Vision Analyzer files} diff --git a/man/interactive_scalp.Rd b/man/interactive_scalp.Rd index 4bd4f377..58ef59e6 100644 --- a/man/interactive_scalp.Rd +++ b/man/interactive_scalp.Rd @@ -2,17 +2,23 @@ % Please edit documentation in R/erp_scalp.R \name{interactive_scalp} \alias{interactive_scalp} +\alias{interactive_scalp.eeg_epochs} \title{Interactive scalp maps} \usage{ -interactive_scalp(data, colour = NULL, baseline = NULL, montage = NULL) +interactive_scalp(data, ...) + +\method{interactive_scalp}{eeg_epochs}(data, colour = NULL, baseline = NULL, montage = NULL, ...) } \arguments{ \item{data}{An EEG dataset.} +\item{...}{Additional arguments} + \item{colour}{Variable to colour lines by. If no variable is passed, only one line is drawn for each electrode.} -\item{baseline}{Character vector of times to subtract for baseline correction.} +\item{baseline}{Character vector of times to subtract for baseline +correction.} \item{montage}{Name of an existing montage set. Defaults to NULL; (currently only 'biosemi64alpha' available other than default 10/20 system)} @@ -22,8 +28,14 @@ Launches a Shiny Gadget for an interactive version of \code{erp_scalp}, allowing clicking of individual electrodes to plot them in a separate panel. In that panel, they can be averaged over or plotted as individual electrodes. } +\section{Methods (by class)}{ +\itemize{ +\item \code{interactive_scalp(eeg_epochs)}: Method for \code{eeg_epochs} objects + +}} \seealso{ -\code{\link[=erp_scalp]{erp_scalp()}} for non-interactive plots of ERPs in a scalp-based layout. +\code{\link[=erp_scalp]{erp_scalp()}} for non-interactive plots of ERPs in a scalp-based +layout. Other scalp-based maps: \code{\link{erp_scalp}()}, diff --git a/man/interp_elecs.Rd b/man/interp_elecs.Rd index f770b2c0..1fab87ca 100644 --- a/man/interp_elecs.Rd +++ b/man/interp_elecs.Rd @@ -17,23 +17,22 @@ interp_elecs(data, bad_elecs, ...) \item{...}{Other parameters passed to the functions.} } \description{ -Interpolate EEG channels using a spherical spline (Perrin et al., 1989; 1990). The -data must have channel locations attached. +Interpolate EEG channels using a spherical spline (Perrin et al., 1989; +1990). The data must have channel locations attached. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: Interpolate EEG channel(s) -}} +\item \code{interp_elecs(eeg_data)}: Interpolate EEG channel(s) +}} \references{ \itemize{ \item Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. -(1989). Spherical splines for scalp potential and current -density mapping. Electroencephalography and Clinical -Neurophysiology, 72, 184-187 +(1989). Spherical splines for scalp potential and current density mapping. +Electroencephalography and Clinical Neurophysiology, 72, 184-187 \item Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. -(1990). Corrigenda EEG 02274. Electroencephalography and -Clinical Neurophysiology, 76, 565 +(1990). Corrigenda EEG 02274. Electroencephalography and Clinical +Neurophysiology, 76, 565 } } \author{ diff --git a/man/legendre_polynomials.Rd b/man/legendre_polynomials.Rd new file mode 100644 index 00000000..80859464 --- /dev/null +++ b/man/legendre_polynomials.Rd @@ -0,0 +1,20 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/current_source_density.R +\name{legendre_polynomials} +\alias{legendre_polynomials} +\title{Calculate Legendre polynomials up to degree n} +\usage{ +legendre_polynomials(n, x) +} +\arguments{ +\item{n}{Maximum degree of Legendre polynomials} + +\item{x}{Input values} +} +\value{ +Matrix of Legendre polynomial values +} +\description{ +Calculate Legendre polynomials up to degree n +} +\keyword{internal} diff --git a/man/list_epochs.Rd b/man/list_epochs.Rd index 0731cc83..8d08f390 100644 --- a/man/list_epochs.Rd +++ b/man/list_epochs.Rd @@ -22,11 +22,11 @@ List trigger types and any labels found in an \code{eeg_epochs} object. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: List epochs and associated events from \code{eeg_epochs} objects +\item \code{list_epochs(eeg_epochs)}: List epochs and associated events from \code{eeg_epochs} objects -\item \code{eeg_ICA}: List epochs and associated events from \code{eeg_ICA} objects -}} +\item \code{list_epochs(eeg_ICA)}: List epochs and associated events from \code{eeg_ICA} objects +}} \seealso{ \code{\link[=tag_events]{tag_events()}} and \code{\link[=list_events]{list_events()}} diff --git a/man/parse_for_tc.Rd b/man/parse_for_tc.Rd index 909c8401..8e3bf151 100644 --- a/man/parse_for_tc.Rd +++ b/man/parse_for_tc.Rd @@ -4,7 +4,16 @@ \alias{parse_for_tc} \title{Parse data for timecourses} \usage{ -parse_for_tc(data, time_lim, electrode, baseline, add_CI) +parse_for_tc( + data, + time_lim, + electrode, + baseline, + add_CI, + facets, + mapping, + colour +) } \arguments{ \item{data}{data to be parsed} @@ -16,6 +25,12 @@ parse_for_tc(data, time_lim, electrode, baseline, add_CI) \item{baseline}{baseline times to be average and subtracted} \item{add_CI}{Logical for whether CIS are required} + +\item{facets}{A RHS-only formula for use with \code{ggplot2::facet_wrap}} + +\item{mapping}{A \code{ggplot2} \code{aes()} call with axis mappings} + +\item{colour}{A character vector indicating which variable to use for colour.} } \description{ Internal command for parsing various data structures into a suitable format diff --git a/man/parse_vhdr_chans.Rd b/man/parse_vhdr_chans.Rd index 3e973680..a3074f5e 100644 --- a/man/parse_vhdr_chans.Rd +++ b/man/parse_vhdr_chans.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/file_io.R +% Please edit documentation in R/file_bva_import.R \name{parse_vhdr_chans} \alias{parse_vhdr_chans} \title{Parse BVA channel info} diff --git a/man/plot_butterfly.Rd b/man/plot_butterfly.Rd index d09884c7..03f9af4f 100644 --- a/man/plot_butterfly.Rd +++ b/man/plot_butterfly.Rd @@ -16,7 +16,6 @@ plot_butterfly(data, ...) data, time_lim = NULL, baseline = NULL, - colourmap = NULL, legend = TRUE, continuous = FALSE, browse_mode = FALSE, @@ -28,7 +27,6 @@ plot_butterfly(data, ...) data, time_lim = NULL, baseline = NULL, - colourmap = NULL, legend = TRUE, continuous = FALSE, browse_mode = FALSE, @@ -81,7 +79,7 @@ plot_butterfly(data, ...) \arguments{ \item{data}{EEG dataset. Should have multiple timepoints.} -\item{...}{Other parameters passed to plot_butterfly} +\item{...}{Other parameters passed to \code{plot_butterfly}} \item{time_lim}{Character vector. Numbers in whatever time unit is used specifying beginning and end of time-range to plot. e.g. c(-.1,.3)} @@ -89,14 +87,11 @@ specifying beginning and end of time-range to plot. e.g. c(-.1,.3)} \item{baseline}{Character vector. Times to use as a baseline. Takes the mean over the specified period and subtracts. e.g. c(-.1, 0)} -\item{colourmap}{Attempt to plot using a different colourmap (from -RColorBrewer). (Not yet implemented)} - \item{legend}{Include plot legend. Defaults to TRUE.} \item{continuous}{Is the data continuous or not (I.e. epoched)} -\item{browse_mode}{Custom theme for use with browse_data.} +\item{browse_mode}{Applies custom theme used with \code{browse_data()}.} \item{allow_facets}{Allow use of ggplot2 facetting. See note below. Defaults to FALSE.} @@ -105,8 +100,6 @@ to FALSE.} applies to \code{eeg_lm} objects} } \value{ -A ggplot object - ggplot2 object showing ERPs for all electrodes overlaid on a single plot. } @@ -117,20 +110,20 @@ not possible. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Default \code{plot_butterfly} method for data.frames, +\item \code{plot_butterfly(default)}: Default \code{plot_butterfly} method for data.frames, \code{eeg_data} -\item \code{eeg_evoked}: Plot butterfly for \code{eeg_evoked} objects +\item \code{plot_butterfly(eeg_evoked)}: Plot butterfly for \code{eeg_evoked} objects -\item \code{eeg_data}: Create butterfly plot for \code{eeg_data} objects +\item \code{plot_butterfly(eeg_data)}: Create butterfly plot for \code{eeg_data} objects -\item \code{eeg_epochs}: Create butterfly plot for \code{eeg_epochs} objects +\item \code{plot_butterfly(eeg_epochs)}: Create butterfly plot for \code{eeg_epochs} objects -\item \code{eeg_stats}: Create butterfly plot for \code{eeg_stats} objects +\item \code{plot_butterfly(eeg_stats)}: Create butterfly plot for \code{eeg_stats} objects -\item \code{eeg_lm}: Create butterfly plot for \code{eeg_lm} objects -}} +\item \code{plot_butterfly(eeg_lm)}: Create butterfly plot for \code{eeg_lm} objects +}} \section{Notes on ggplot2 facetting}{ @@ -139,7 +132,8 @@ In order for ggplot2 facetting to work, the data has to be plotted using made when not all categorical variables are reflected in the facets. e.g. if there are two variables with two levels each, but you want to average over one of those variables, \code{stat_summary()} is required. However, -\code{stat_summary()} is extremely slow. +\code{stat_summary()} can be extremely slow with a large number of timepoints, +electrodes, and epochs. } \examples{ diff --git a/man/plot_difference.Rd b/man/plot_difference.Rd index 747c2fad..6c9bb1f6 100644 --- a/man/plot_difference.Rd +++ b/man/plot_difference.Rd @@ -50,9 +50,9 @@ conditions and plots it. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: Plot an ERP difference wave from an \code{eeg_epochs} object -}} +\item \code{plot_difference(eeg_epochs)}: Plot an ERP difference wave from an \code{eeg_epochs} object +}} \examples{ plot_difference(demo_spatial, conditions = "epoch_labels", electrode = "P8") } diff --git a/man/plot_electrodes.Rd b/man/plot_electrodes.Rd index 3536415f..bb1366a4 100644 --- a/man/plot_electrodes.Rd +++ b/man/plot_electrodes.Rd @@ -4,6 +4,7 @@ \alias{plot_electrodes} \alias{plot_electrodes.default} \alias{plot_electrodes.eeg_data} +\alias{plot_electrodes.eeg_evoked} \alias{plot_electrodes.eeg_tfr} \title{Plot electrode locations} \usage{ @@ -13,6 +14,8 @@ plot_electrodes(data, interact = FALSE) \method{plot_electrodes}{eeg_data}(data, interact = FALSE) +\method{plot_electrodes}{eeg_evoked}(data, interact = FALSE) + \method{plot_electrodes}{eeg_tfr}(data, interact = FALSE) } \arguments{ @@ -31,13 +34,18 @@ of electrode locations in 3D space. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: generic plot electrodes function +\item \code{plot_electrodes(default)}: generic plot electrodes function -\item \code{eeg_data}: Plot electrodes associated with an \code{eeg_data} object. +\item \code{plot_electrodes(eeg_data)}: Plot electrodes associated with an \code{eeg_data} +object. -\item \code{eeg_tfr}: Plot electrodes associated with an \code{eeg_data} object. -}} +\item \code{plot_electrodes(eeg_evoked)}: Plot electrodes associated with an \code{eeg_evoked} +object. +\item \code{plot_electrodes(eeg_tfr)}: Plot electrodes associated with an \code{eeg_data} +object. + +}} \examples{ plot_electrodes(demo_epochs) diff --git a/man/plot_gfp.Rd b/man/plot_gfp.Rd new file mode 100644 index 00000000..a75a4e4e --- /dev/null +++ b/man/plot_gfp.Rd @@ -0,0 +1,31 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/plot_gfp.R +\name{plot_gfp} +\alias{plot_gfp} +\title{Plot Global Field Power of EEG Signals} +\usage{ +plot_gfp(data, cols = NULL, keep_trials = FALSE) +} +\arguments{ +\item{data}{An \code{eeg_epochs} object} + +\item{cols}{Condition columns from the \code{epochs} metadata to calculate GFP +separately for different conditions.} + +\item{keep_trials}{Calculate GFP for each epoch separately, then average over +epochs.} +} +\description{ +Global Field Power (Lehmann & Skrandies, 1980) is a way to quantify the +amount of activity in the overall electroencephalographic signal at a given +timepoint. It corresponds to the spatial standard deviation. +} +\examples{ +plot_gfp(demo_spatial) +plot_gfp(demo_spatial, keep_trials = TRUE) +plot_gfp(demo_spatial, cols = "epoch_labels") +plot_gfp(demo_spatial, cols = "epoch_labels", keep_trials = TRUE) +} +\author{ +Matt Craddock \email{matt@mattcraddock.com} +} diff --git a/man/plot_psd.Rd b/man/plot_psd.Rd index 6185f238..3e4d20b5 100644 --- a/man/plot_psd.Rd +++ b/man/plot_psd.Rd @@ -105,19 +105,19 @@ overlap between segments can be passed to Welch's FFT. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: Plot PSD for \code{eeg_epochs}. +\item \code{plot_psd(eeg_epochs)}: Plot PSD for \code{eeg_epochs}. -\item \code{eeg_data}: Plot PSD for \code{eeg_data}. +\item \code{plot_psd(eeg_data)}: Plot PSD for \code{eeg_data}. -\item \code{eeg_ICA}: Plot PSD for \code{eeg_ICA} objects +\item \code{plot_psd(eeg_ICA)}: Plot PSD for \code{eeg_ICA} objects -\item \code{data.frame}: Plot PSD for \code{data.frame}s. +\item \code{plot_psd(data.frame)}: Plot PSD for \code{data.frame}s. -\item \code{eeg_evoked}: Plot PSD for \code{eeg_evoked} objects +\item \code{plot_psd(eeg_evoked)}: Plot PSD for \code{eeg_evoked} objects -\item \code{eeg_group}: Plot PSD for \code{eeg_group} objects is not currently supported -}} +\item \code{plot_psd(eeg_group)}: Plot PSD for \code{eeg_group} objects is not currently supported +}} \examples{ plot_psd(demo_epochs) plot_psd(demo_epochs, seg_length = 256) diff --git a/man/plot_tfr.Rd b/man/plot_tfr.Rd index 54a4adb6..a57fb0ea 100644 --- a/man/plot_tfr.Rd +++ b/man/plot_tfr.Rd @@ -27,7 +27,7 @@ electrodes.} \item{freq_range}{Vector of two numbers. (e.g. c(8, 40)).} -\item{baseline_type}{baseline correction to apply. Defaults to "none".} +\item{baseline_type}{baseline correction to apply. Defaults to \code{none}.} \item{baseline}{Baseline period} @@ -39,20 +39,22 @@ electrodes.} Defaults to TRUE.} \item{fun.data}{Statistical function to use for averaging over -electrodes/conditions. Defaults to \code{mean}.} +electrodes/conditions. Defaults to \code{mean}. Alternatively, supply +\code{weighted.mean}, which will attempt to weight separate conditions +appropriately.} } \value{ -A \code{ggplot} +A \code{ggplot} object } \description{ -Creates a time-frequency plot of an \code{eeg_tfr} object. The plot has time -on the x-axis and frequency on the y-axis. If no electrode is supplied, it -will average over all electrodes. +Creates a time-frequency plot of an \code{eeg_tfr} object. The plot has time on +the x-axis and frequency on the y-axis. If no electrode is supplied, it will +average over all electrodes. } \details{ Various different baseline options can be applied here (e.g. "db" for -decibels, "pc" for percent change, "divide" for division; see -\code{rm_baseline} for details). +decibels, "pc" for percent change, "divide" for division; see \code{rm_baseline} +for details). } \seealso{ \code{\link[=rm_baseline]{rm_baseline()}} diff --git a/man/plot_timecourse.Rd b/man/plot_timecourse.Rd index dfb6d7de..6803c7f6 100644 --- a/man/plot_timecourse.Rd +++ b/man/plot_timecourse.Rd @@ -8,7 +8,7 @@ \alias{plot_timecourse.eeg_epochs} \alias{plot_timecourse.eeg_group} \alias{plot_timecourse.eeg_tfr} -\title{Plot 1-D timecourse data.} +\title{Plot one-dimensional timecourse data.} \usage{ plot_timecourse(data, ...) @@ -21,6 +21,7 @@ plot_timecourse(data, ...) colour = NULL, color = NULL, mapping = NULL, + facets = NULL, ... ) @@ -33,6 +34,7 @@ plot_timecourse(data, ...) colour = NULL, color = NULL, mapping = NULL, + facets = NULL, ... ) @@ -45,6 +47,7 @@ plot_timecourse(data, ...) colour = NULL, color = NULL, mapping = NULL, + facets = NULL, ... ) @@ -57,6 +60,7 @@ plot_timecourse(data, ...) colour = NULL, color = NULL, mapping = NULL, + facets = NULL, ... ) @@ -69,6 +73,7 @@ plot_timecourse(data, ...) colour = NULL, color = NULL, mapping = NULL, + facets = NULL, ... ) @@ -107,11 +112,17 @@ line is drawn.} \item{color}{Alias for colour.} -\item{mapping}{A ggplot2 \code{aes()} mapping.} +\item{mapping}{A \code{ggplot2} \code{aes()} mapping.} + +\item{facets}{A right-hand-side only formula specifying which variables should +be used to create facets.} \item{component}{name or number of ICA component to plot} -\item{freq_range}{Choose a specific frequency range to plot} +\item{freq_range}{Choose a specific frequency range to plot. If NULL, +calculates the mean over all frequencies. Note that this does not imply +that there is power at an included frequency. For example, lower +frequencies will have shorter timecourses than high frequencies.} \item{type}{Type of baseline correction to use for \code{eeg_tfr} objects} } @@ -121,26 +132,33 @@ Returns a ggplot2 plot object \description{ Typically event-related potentials/fields, but could also be timecourses from frequency analyses for single frequencies. Averages over all submitted -electrodes. Output is a ggplot2 object. +electrodes. For group data, \code{plot_timecourse} will average within-participants +first, using weighted averaging where possible, then across participants using +unweighted averaging. Output is a \code{ggplot2} object. } \section{Methods (by class)}{ \itemize{ -\item \code{data.frame}: Plot a data.frame timecourse +\item \code{plot_timecourse(data.frame)}: Plot a data.frame timecourse -\item \code{eeg_evoked}: plot \code{eeg_evoked} timecourses +\item \code{plot_timecourse(eeg_evoked)}: plot \code{eeg_evoked} timecourses -\item \code{eeg_ICA}: Plot individual components from \code{eeg_ICA} components +\item \code{plot_timecourse(eeg_ICA)}: Plot individual components from \code{eeg_ICA} +components -\item \code{eeg_epochs}: Plot timecourses from \code{eeg_epochs} objects. +\item \code{plot_timecourse(eeg_epochs)}: Plot timecourses from \code{eeg_epochs} objects. -\item \code{eeg_group}: Plot timecourses from \code{eeg_group} objects. +\item \code{plot_timecourse(eeg_group)}: Plot timecourses from \code{eeg_group} objects. -\item \code{eeg_tfr}: Plot timecourses from \code{eeg_tfr} objects. -}} +\item \code{plot_timecourse(eeg_tfr)}: Plot timecourses from \code{eeg_tfr} objects. +}} \examples{ +library(ggplot2) plot_timecourse(demo_epochs, "A29") -plot_timecourse(demo_epochs, "A29", add_CI = TRUE) +plot_timecourse(demo_epochs, "A29", baseline = c(-.1, 0)) +plot_timecourse(demo_epochs, "A29", baseline = c(-.1, 0), add_CI = TRUE) +plot_timecourse(demo_spatial, "Oz", baseline = c(-.1, 0), mapping = aes(colour = epoch_labels)) +plot_timecourse(demo_spatial, "Oz", baseline = c(-.1, 0), facets = ~epoch_labels) } \author{ Matt Craddock, \email{matt@mattcraddock.com} diff --git a/man/print.tfr_average.Rd b/man/print.tfr_average.Rd new file mode 100644 index 00000000..51fbcb4e --- /dev/null +++ b/man/print.tfr_average.Rd @@ -0,0 +1,16 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/print_functions.R +\name{print.tfr_average} +\alias{print.tfr_average} +\title{Print \code{tfr_average} summary} +\usage{ +\method{print}{tfr_average}(x, ...) +} +\arguments{ +\item{x}{\code{tfr_average} object to be printed} + +\item{...}{Further arguments passed} +} +\description{ +Print a basic summary of the contents of a \code{tfr_average} object +} diff --git a/man/read_dat.Rd b/man/read_dat.Rd index 6b423386..0a1d301e 100644 --- a/man/read_dat.Rd +++ b/man/read_dat.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/file_io.R +% Please edit documentation in R/file_bva_import.R \name{read_dat} \alias{read_dat} \title{Read the raw data for a BVA file.} diff --git a/man/read_vmrk.Rd b/man/read_vmrk.Rd index 01048471..5c047d88 100644 --- a/man/read_vmrk.Rd +++ b/man/read_vmrk.Rd @@ -1,5 +1,5 @@ % Generated by roxygen2: do not edit by hand -% Please edit documentation in R/file_io.R +% Please edit documentation in R/file_bva_import.R \name{read_vmrk} \alias{read_vmrk} \title{Read BVA markers} diff --git a/man/rm_baseline.Rd b/man/rm_baseline.Rd index d804b59b..fd66a070 100644 --- a/man/rm_baseline.Rd +++ b/man/rm_baseline.Rd @@ -54,17 +54,17 @@ results. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: remove baseline from continuous \code{eeg_data} +\item \code{rm_baseline(eeg_data)}: remove baseline from continuous \code{eeg_data} -\item \code{eeg_epochs}: Remove baseline from \code{eeg_epochs} +\item \code{rm_baseline(eeg_epochs)}: Remove baseline from \code{eeg_epochs} -\item \code{data.frame}: Legacy method for data.frames +\item \code{rm_baseline(data.frame)}: Legacy method for data.frames -\item \code{eeg_tfr}: Method for \code{eeg_tfr} objects +\item \code{rm_baseline(eeg_tfr)}: Method for \code{eeg_tfr} objects -\item \code{eeg_evoked}: Method for \code{eeg_evoked} objects -}} +\item \code{rm_baseline(eeg_evoked)}: Method for \code{eeg_evoked} objects +}} \examples{ rm_baseline(demo_epochs) rm_baseline(demo_epochs, c(-.1, 0)) diff --git a/man/run_ICA.Rd b/man/run_ICA.Rd index fa318892..1c2370bc 100644 --- a/man/run_ICA.Rd +++ b/man/run_ICA.Rd @@ -18,6 +18,7 @@ run_ICA(data, ...) rateanneal = c(60, 0.9), rate = 0.1, verbose = TRUE, + return = c("full", "weights"), ... ) } @@ -52,6 +53,10 @@ Defaults to "gradient". Ignored if method != "infomax".} "infomax".} \item{verbose}{Print informative messages to console.} + +\item{return}{"full" or "weights". "full" returns the mixing and unmixing +matrices and the source timecourses. "weights" returns only the mixing and +unmixing matrices. Defaults to "full".} } \value{ An \code{eeg_ICA} object containing an ICA decomposition @@ -65,9 +70,9 @@ like \code{eeg_epochs} objects. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: Run ICA on an \code{eeg_epochs} object -}} +\item \code{run_ICA(eeg_epochs)}: Run ICA on an \code{eeg_epochs} object +}} \section{Notes on ICA usage}{ diff --git a/man/run_iir.Rd b/man/run_iir.Rd deleted file mode 100644 index d0f887a0..00000000 --- a/man/run_iir.Rd +++ /dev/null @@ -1,32 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/deprecated.R -\name{run_iir} -\alias{run_iir} -\title{Internal function for running IIR filtering} -\usage{ -run_iir( - data, - low_freq = NULL, - high_freq = NULL, - filter_order, - srate, - silent = FALSE -) -} -\arguments{ -\item{data}{Data to be filtered} - -\item{low_freq}{Low passband edge.} - -\item{high_freq}{High passband edge.} - -\item{filter_order}{Order of the Butterworth filter.} - -\item{srate}{Sampling rate of the signal.} - -\item{silent}{Turns off filtering messages.} -} -\description{ -Internal function for running IIR filtering -} -\keyword{internal} diff --git a/man/select_elecs.Rd b/man/select_elecs.Rd index c45f5b54..099e7bd5 100644 --- a/man/select_elecs.Rd +++ b/man/select_elecs.Rd @@ -47,17 +47,17 @@ This is a generic function for selection of electrodes from an EEG dataset. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Select electrodes from a generic data frame. +\item \code{select_elecs(default)}: Select electrodes from a generic data frame. -\item \code{eeg_data}: Select electrodes from a \code{eeg_data} object. +\item \code{select_elecs(eeg_data)}: Select electrodes from a \code{eeg_data} object. -\item \code{eeg_evoked}: Select electrode from an eeg_evoked object +\item \code{select_elecs(eeg_evoked)}: Select electrode from an eeg_evoked object -\item \code{eeg_ICA}: Select components from \code{eeg_ICA} objects. +\item \code{select_elecs(eeg_ICA)}: Select components from \code{eeg_ICA} objects. -\item \code{eeg_tfr}: Select electrodes from \code{eeg_tfr} objects. -}} +\item \code{select_elecs(eeg_tfr)}: Select electrodes from \code{eeg_tfr} objects. +}} \examples{ names(demo_epochs$signals) keep_A5 <- select_elecs(demo_epochs, electrode = "A5") diff --git a/man/select_epochs.Rd b/man/select_epochs.Rd index 7edb6c53..c3946bbf 100644 --- a/man/select_epochs.Rd +++ b/man/select_epochs.Rd @@ -59,15 +59,15 @@ This is a generic function for selecting epochs from an epoched data set. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Select from generic object +\item \code{select_epochs(default)}: Select from generic object -\item \code{eeg_epochs}: Selection of epochs from \code{eeg_epochs} objects. +\item \code{select_epochs(eeg_epochs)}: Selection of epochs from \code{eeg_epochs} objects. -\item \code{eeg_ICA}: Selection of epochs from \code{eeg_ICA} objects. +\item \code{select_epochs(eeg_ICA)}: Selection of epochs from \code{eeg_ICA} objects. -\item \code{eeg_tfr}: Selection of epochs from \code{eeg_tfr} objects. -}} +\item \code{select_epochs(eeg_tfr)}: Selection of epochs from \code{eeg_tfr} objects. +}} \examples{ select_epochs(demo_epochs, epoch_no = 1:5) demo_ica <- run_ICA(demo_epochs, pca = 10) diff --git a/man/select_freqs.Rd b/man/select_freqs.Rd index 45f61db8..9610f137 100644 --- a/man/select_freqs.Rd +++ b/man/select_freqs.Rd @@ -21,9 +21,9 @@ selecting either single frequencies or anything within a range. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_tfr}: Function for selecting specific frequencies from \code{eeg_tfr} objects. -}} +\item \code{select_freqs(eeg_tfr)}: Function for selecting specific frequencies from \code{eeg_tfr} objects. +}} \examples{ demo_tfr <- compute_tfr(demo_epochs, foi = c(4, 30), n_freq = 10, n_cycles = 5) select_freqs(demo_tfr, c(8, 12)) diff --git a/man/select_times.Rd b/man/select_times.Rd index 50c9179f..653da693 100644 --- a/man/select_times.Rd +++ b/man/select_times.Rd @@ -27,7 +27,7 @@ select_times(data, ...) \item{...}{Further arguments passed to or from other methods.} \item{time_lim}{A character vector of two numbers indicating the time range -to be selected e.g. c(min, max)} +to be selected e.g. c(min, max), or a list to select specific times.} \item{df_out}{Returns a data frame rather than an object of the same type that was passed in.} @@ -46,22 +46,24 @@ than that requested. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Default select times function +\item \code{select_times(default)}: Default select times function -\item \code{eeg_data}: Select times from an eeg_data object +\item \code{select_times(eeg_data)}: Select times from an \code{eeg_data} object -\item \code{eeg_epochs}: Select times in \code{eeg_epochs} objects +\item \code{select_times(eeg_epochs)}: Select times in \code{eeg_epochs} objects -\item \code{eeg_evoked}: Select times in \code{eeg_evoked} objects +\item \code{select_times(eeg_evoked)}: Select times in \code{eeg_evoked} objects -\item \code{eeg_tfr}: Select times from an \code{eeg_tfr} object -}} +\item \code{select_times(eeg_tfr)}: Select times from an \code{eeg_tfr} object +}} \examples{ ## Select timepoints from -.1 to .3 demo_epochs short_epochs <- select_times(demo_epochs, time_lim = c(-.1, .3)) short_epochs +short_epochs <- select_times(demo_epochs, time_lim = list(-.1, .15, .3)) +head(short_epochs$timings) } \seealso{ diff --git a/man/sobi_ICA.Rd b/man/sobi_ICA.Rd index 4349c77f..72c4539e 100644 --- a/man/sobi_ICA.Rd +++ b/man/sobi_ICA.Rd @@ -4,7 +4,7 @@ \alias{sobi_ICA} \title{SOBI ICA} \usage{ -sobi_ICA(data, maxiter, tol, pca, centre, verbose = TRUE) +sobi_ICA(data, maxiter, tol, pca, centre, verbose = TRUE, whitening = "pca") } \arguments{ \item{data}{Data to be ICAed.} @@ -18,6 +18,8 @@ sobi_ICA(data, maxiter, tol, pca, centre, verbose = TRUE) \item{centre}{Mean centre signals.} \item{verbose}{Print informative messages.} + +\item{whitening}{Defaults to pca, options are pca or zca} } \description{ Internal function for running SOBI ICA on an \code{eeg_epochs} object diff --git a/man/sph_to_cart.Rd b/man/sph_to_cart.Rd index 6f7aae7d..358835bf 100644 --- a/man/sph_to_cart.Rd +++ b/man/sph_to_cart.Rd @@ -7,9 +7,11 @@ sph_to_cart(theta, phi, radius = 85) } \arguments{ -\item{radius}{Radius of head (in mm)} +\item{theta}{Theta in degrees} + +\item{phi}{Phi in degrees} -\item{sph_coords}{Theta and phi in degrees.} +\item{radius}{Radius of head (in mm)} } \description{ Convert spherical co-ordinates to Cartesian 3D co-ordinates diff --git a/man/stat_scalpcontours.Rd b/man/stat_scalpcontours.Rd index b0804f07..95f579a7 100644 --- a/man/stat_scalpcontours.Rd +++ b/man/stat_scalpcontours.Rd @@ -22,10 +22,10 @@ stat_scalpcontours( ) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or -\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the -default), it is combined with the default mapping at the top level of the -plot. You must supply \code{mapping} if there is no plot mapping.} +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}}. If specified and +\code{inherit.aes = TRUE} (the default), it is combined with the default mapping +at the top level of the plot. You must supply \code{mapping} if there is no plot +mapping.} \item{data}{The data to be displayed in this layer. There are three options: @@ -42,8 +42,18 @@ the plot data. The return value must be a \code{data.frame}, and will be used as the layer data. A \code{function} can be created from a \code{formula} (e.g. \code{~ head(.x, 10)}).} -\item{position}{Position adjustment, either as a string, or the result of -a call to a position adjustment function.} +\item{position}{A position adjustment to use on the data for this layer. This +can be used in various ways, including to prevent overplotting and +improving the display. The \code{position} argument accepts the following: +\itemize{ +\item The result of calling a position function, such as \code{position_jitter()}. +This method allows for passing extra arguments to the position. +\item A string naming the position adjustment. To give the position as a +string, strip the function name of the \code{position_} prefix. For example, +to use \code{position_jitter()}, give the position as \code{"jitter"}. +\item For more information and other ways to specify the position, see the +\link[ggplot2:layer_positions]{layer position} documentation. +}} \item{na.rm}{If \code{FALSE}, the default, missing values are removed with a warning. If \code{TRUE}, missing values are silently removed.} @@ -75,10 +85,33 @@ points).} \item{breaks}{Numeric vector to set the contour breaks. Overrides binwidth and bins. By default, this is a vector of length ten with pretty() breaks.} -\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are -often aesthetics, used to set an aesthetic to a fixed value, like -\code{colour = "red"} or \code{size = 3}. They may also be parameters -to the paired geom/stat.} +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}'s \code{params} argument. These +arguments broadly fall into one of 4 categories below. Notably, further +arguments to the \code{position} argument, or aesthetics that are required +can \emph{not} be passed through \code{...}. Unknown arguments that are not part +of the 4 categories below are ignored. +\itemize{ +\item Static aesthetics that are not mapped to a scale, but are at a fixed +value and apply to the layer as a whole. For example, \code{colour = "red"} +or \code{linewidth = 3}. The geom's documentation has an \strong{Aesthetics} +section that lists the available options. The 'required' aesthetics +cannot be passed on to the \code{params}. Please note that while passing +unmapped aesthetics as vectors is technically possible, the order and +required length is not guaranteed to be parallel to the input data. +\item When constructing a layer using +a \verb{stat_*()} function, the \code{...} argument can be used to pass on +parameters to the \code{geom} part of the layer. An example of this is +\code{stat_density(geom = "area", outline.type = "both")}. The geom's +documentation lists which parameters it can accept. +\item Inversely, when constructing a layer using a +\verb{geom_*()} function, the \code{...} argument can be used to pass on parameters +to the \code{stat} part of the layer. An example of this is +\code{geom_area(stat = "density", adjust = 0.5)}. The stat's documentation +lists which parameters it can accept. +\item The \code{key_glyph} argument of \code{\link[ggplot2:layer]{layer()}} may also be passed on through +\code{...}. This can be one of the functions described as +\link[ggplot2:draw_key]{key glyphs}, to change the display of the layer in the legend. +}} } \description{ \code{stat_scalpcontours} creates an interpolated surface for an irregular set of diff --git a/man/stat_scalpmap.Rd b/man/stat_scalpmap.Rd index 9d18d985..cbcef020 100644 --- a/man/stat_scalpmap.Rd +++ b/man/stat_scalpmap.Rd @@ -41,6 +41,7 @@ geom_mask( na.rm = FALSE, colour = "white", size = rel(5), + linewidth = rel(5), r = 95, interp_limit = "skirt", ... @@ -66,10 +67,10 @@ geom_channels( ) } \arguments{ -\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}} or -\code{\link[ggplot2:aes_]{aes_()}}. If specified and \code{inherit.aes = TRUE} (the -default), it is combined with the default mapping at the top level of the -plot. You must supply \code{mapping} if there is no plot mapping.} +\item{mapping}{Set of aesthetic mappings created by \code{\link[ggplot2:aes]{aes()}}. If specified and +\code{inherit.aes = TRUE} (the default), it is combined with the default mapping +at the top level of the plot. You must supply \code{mapping} if there is no plot +mapping.} \item{data}{The data to be displayed in this layer. There are three options: @@ -86,8 +87,18 @@ the plot data. The return value must be a \code{data.frame}, and will be used as the layer data. A \code{function} can be created from a \code{formula} (e.g. \code{~ head(.x, 10)}).} -\item{position}{Position adjustment, either as a string, or the result of -a call to a position adjustment function.} +\item{position}{A position adjustment to use on the data for this layer. This +can be used in various ways, including to prevent overplotting and +improving the display. The \code{position} argument accepts the following: +\itemize{ +\item The result of calling a position function, such as \code{position_jitter()}. +This method allows for passing extra arguments to the position. +\item A string naming the position adjustment. To give the position as a +string, strip the function name of the \code{position_} prefix. For example, +to use \code{position_jitter()}, give the position as \code{"jitter"}. +\item For more information and other ways to specify the position, see the +\link[ggplot2:layer_positions]{layer position} documentation. +}} \item{na.rm}{If \code{FALSE}, the default, missing values are removed with a warning. If \code{TRUE}, missing values are silently removed.} @@ -115,14 +126,39 @@ points).} \item{r}{Radius of head} -\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}. These are -often aesthetics, used to set an aesthetic to a fixed value, like -\code{colour = "red"} or \code{size = 3}. They may also be parameters -to the paired geom/stat.} +\item{...}{Other arguments passed on to \code{\link[ggplot2:layer]{layer()}}'s \code{params} argument. These +arguments broadly fall into one of 4 categories below. Notably, further +arguments to the \code{position} argument, or aesthetics that are required +can \emph{not} be passed through \code{...}. Unknown arguments that are not part +of the 4 categories below are ignored. +\itemize{ +\item Static aesthetics that are not mapped to a scale, but are at a fixed +value and apply to the layer as a whole. For example, \code{colour = "red"} +or \code{linewidth = 3}. The geom's documentation has an \strong{Aesthetics} +section that lists the available options. The 'required' aesthetics +cannot be passed on to the \code{params}. Please note that while passing +unmapped aesthetics as vectors is technically possible, the order and +required length is not guaranteed to be parallel to the input data. +\item When constructing a layer using +a \verb{stat_*()} function, the \code{...} argument can be used to pass on +parameters to the \code{geom} part of the layer. An example of this is +\code{stat_density(geom = "area", outline.type = "both")}. The geom's +documentation lists which parameters it can accept. +\item Inversely, when constructing a layer using a +\verb{geom_*()} function, the \code{...} argument can be used to pass on parameters +to the \code{stat} part of the layer. An example of this is +\code{geom_area(stat = "density", adjust = 0.5)}. The stat's documentation +lists which parameters it can accept. +\item The \code{key_glyph} argument of \code{\link[ggplot2:layer]{layer()}} may also be passed on through +\code{...}. This can be one of the functions described as +\link[ggplot2:draw_key]{key glyphs}, to change the display of the layer in the legend. +}} \item{colour}{For \code{geom_mask}, colour of the masking ring.} -\item{size}{For \code{geom_mask}, width of the masking ring.} +\item{size}{For \code{geom_mask}, width of the masking ring. Deprecated.} + +\item{linewidth}{For \code{geom_mask}, width of the masking ring.} \item{geom}{"point" for points or "text" for labels. Default is "point".} } diff --git a/man/tag_epochs.Rd b/man/tag_epochs.Rd index 67e15e82..1d22ad1b 100644 --- a/man/tag_epochs.Rd +++ b/man/tag_epochs.Rd @@ -29,6 +29,6 @@ adds a new column to the epochs structure in an \code{eeg_epochs} object. } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_epochs}: Tag epochs in an \code{eeg_epochs} object. -}} +\item \code{tag_epochs(eeg_epochs)}: Tag epochs in an \code{eeg_epochs} object. +}} diff --git a/man/tag_events.Rd b/man/tag_events.Rd index e2aee84b..14f212ac 100644 --- a/man/tag_events.Rd +++ b/man/tag_events.Rd @@ -30,11 +30,11 @@ condition). } \section{Methods (by class)}{ \itemize{ -\item \code{eeg_data}: Tag events in an \code{eeg_data} object +\item \code{tag_events(eeg_data)}: Tag events in an \code{eeg_data} object -\item \code{eeg_epochs}: Tag events in an epoched dataset -}} +\item \code{tag_events(eeg_epochs)}: Tag events in an epoched dataset +}} \seealso{ Other event handlers: \code{\link{events}()}, diff --git a/man/tf_hanning.Rd b/man/tf_hanning.Rd index 52a8627c..c917a7b4 100644 --- a/man/tf_hanning.Rd +++ b/man/tf_hanning.Rd @@ -13,6 +13,7 @@ tf_hanning( keep_trials, output, downsample, + trim_edges = trim_edges, demean = TRUE, verbose ) diff --git a/man/tf_morlet.Rd b/man/tf_morlet.Rd index ec073b85..c124cad7 100644 --- a/man/tf_morlet.Rd +++ b/man/tf_morlet.Rd @@ -14,6 +14,7 @@ tf_morlet( output, downsample, demean = TRUE, + trim_edges = trim_edges, verbose ) } diff --git a/man/topoplot.Rd b/man/topoplot.Rd index cc9a58ad..1094f432 100644 --- a/man/topoplot.Rd +++ b/man/topoplot.Rd @@ -33,6 +33,7 @@ topoplot(data, ...) groups = NULL, verbose = TRUE, k = 40, + fill_title = expression(paste("Amplitude (", mu, "V)")), ... ) @@ -55,6 +56,7 @@ topoplot(data, ...) verbose = TRUE, groups = NULL, k = 40, + fill_title = expression(paste("Amplitude (", mu, "V)")), ... ) @@ -77,6 +79,7 @@ topoplot(data, ...) groups = NULL, verbose = TRUE, k = 40, + fill_title = expression(paste("Amplitude (", mu, "V)")), ... ) @@ -100,6 +103,7 @@ topoplot(data, ...) verbose = TRUE, groups = NULL, k = 40, + fill_title = "a.u.", ... ) @@ -123,19 +127,20 @@ topoplot(data, ...) verbose = TRUE, groups = NULL, k = 40, + fill_title = expression(paste("Power (", mu, V^2, ")")), ... ) } \arguments{ \item{data}{An EEG dataset. If the input is a data.frame, then it must have -columns x, y, and amplitude at present. x and y are (Cartesian) electrode -co-ordinates), amplitude is amplitude.} +columns \code{electrode}, \code{x}, \code{y}, and \code{amplitude}. \code{x} and \code{y} should be +(Cartesian) electrode co-ordinates.} \item{...}{Various arguments passed to specific functions} -\item{time_lim}{Timepoint(s) to plot. Can be one time or a range to average -over. If none is supplied, the function will average across all timepoints -in the supplied data.} +\item{time_lim}{Timepoint(s) to plot. Can be one time, a range to average +over, or a list of individual times. If none is supplied, the function will +average across all timepoints in the supplied data.} \item{limits}{Limits of the fill scale - should be given as a character vector with two values specifying the start and endpoints e.g. limits = @@ -172,7 +177,7 @@ plotted head, and moves all electrodes inside the head.} \item{quantity}{Allows plotting of an arbitrary quantitative column. Defaults to amplitude. Use quoted column names. E.g. "p.value", "t_statistic".} -\item{montage}{Name of an existing montage set. Defaults to NULL; (currently +\item{montage}{Name of an existing montage set. Defaults to NULL. (currently only 'biosemi64alpha' available other than default 10/20 system)} \item{highlights}{Electrodes to highlight (in white).} @@ -180,7 +185,8 @@ only 'biosemi64alpha' available other than default 10/20 system)} \item{scaling}{Scaling multiplication factor for labels and any plot lines. Defaults to 1.} -\item{groups}{Column name for groups to retain. This is required to create facetted plots.} +\item{groups}{Column name for groups to retain. This is required to create +facetted plots.} \item{verbose}{Warning messages when electrodes do not have locations. Defaults to TRUE.} @@ -188,6 +194,10 @@ Defaults to TRUE.} \item{k}{Degrees of freedom used for spline when using \code{method = gam}. Defaults to 40.} +\item{fill_title}{Allows specification of the title of the colourbar. +Defaults to `expression(paste("Amplitude (", mu, "V)")), appropriate for +typical time-domain data.} + \item{component}{Component to plot (numeric)} \item{freq_range}{Range of frequencies to average over.} @@ -197,35 +207,35 @@ Allows topographical plotting of functional data. Output is a ggplot2 object. } \section{Methods (by class)}{ \itemize{ -\item \code{default}: Default method for data frames. +\item \code{topoplot(default)}: Default method for data frames. -\item \code{data.frame}: Topographical plotting of data.frames and other non -eeg_data objects. +\item \code{topoplot(data.frame)}: Topographical plotting of data.frames and other non +\code{eeg_data} objects. -\item \code{eeg_data}: Topographical plotting of \code{eeg_data} objects. +\item \code{topoplot(eeg_data)}: Topographical plotting of \code{eeg_data} objects. -\item \code{eeg_epochs}: Topographical plotting of \code{eeg_epochs} objects. +\item \code{topoplot(eeg_epochs)}: Topographical plotting of \code{eeg_epochs} objects. -\item \code{eeg_ICA}: Topographical plot for \code{eeg_ICA} objects +\item \code{topoplot(eeg_ICA)}: Topographical plot for \code{eeg_ICA} objects -\item \code{eeg_tfr}: Topographical plotting of \code{eeg_tfr} objects. -}} +\item \code{topoplot(eeg_tfr)}: Topographical plotting of \code{eeg_tfr} objects. +}} \section{Notes on usage of Generalized Additive Models for interpolation}{ The function fits a GAM using the \code{gam} function from \code{mgcv}. Specifically, it -fits a spline using the model function gam(z ~ s(x, y, bs = "ts", k = 40). -Using GAMs for smooths is very much experimental. The surface is produced -from the predictions of the GAM model fitted to the supplied data. Values -at each electrode do not necessarily match actual values in the data: -high-frequency variation will tend to be smoothed out. Thus, the method -should be used with caution. In addition the method can only be used when -there are more than 40 electrodes. +fits a spline using the model function \verb{gam(z ~ s(x, y, bs = "ts", k = 40)}. Using GAMs for smooths is very much experimental. The surface is +produced from the predictions of the GAM model fitted to the supplied data. +Values at each electrode do not necessarily match actual values in the +data: high-frequency variation will tend to be smoothed out. Thus, the +method should be used with caution. In addition the method can only be used +when there are more than 40 electrodes. } \examples{ topoplot(demo_epochs) topoplot(demo_epochs, time_lim = c(.1, .2)) +topoplot(demo_spatial, time_lim = list(0, .1, .2)) } \seealso{ Other scalp-based maps: diff --git a/man/view_artefacts.Rd b/man/view_artefacts.Rd index 59a417d7..4e7e21ce 100644 --- a/man/view_artefacts.Rd +++ b/man/view_artefacts.Rd @@ -9,12 +9,9 @@ view_artefacts(data) \arguments{ \item{data}{Object to be explored.} } -\value{ -Nothing. -} \description{ An interactive Shiny app that allows exploration of channel and epoch -statistics. +statistics } \examples{ \dontrun{ view_artefacts(demo_epochs) } diff --git a/man/view_ica.Rd b/man/view_ica.Rd index 962a751f..afa11603 100644 --- a/man/view_ica.Rd +++ b/man/view_ica.Rd @@ -2,18 +2,28 @@ % Please edit documentation in R/view_ica.R \name{view_ica} \alias{view_ica} -\title{EEG component viewer} +\title{EEG decomposition viewer} \usage{ view_ica(data) } \arguments{ \item{data}{An \code{eeg_ICA} object} } +\value{ +A list consisting (optionally) of +\itemize{ +\item A character vector of components marked for rejection +\item A character vector of components marked to be kept +\item An \code{eeg_epochs} object reconstructed from the \code{eeg_ICA} object, with +components marked for rejection removed. +} +} \description{ -A Shiny viewer for ICA or SSD/RESS components that provides an interface for -looking at topographies, timecourses, and power spectral densities of all or -individual components. +A Shiny viewer for Independent Component Analysis or Spatio-spectral +Decomposition/RESS components that provides an interface for looking at +topographies, timecourses, and power spectral densities of all or individual +components. Can be used to select and reject artefactual components. } \author{ -Matt craddock \email{matt@mattcraddock.com} +Matt Craddock \email{matt@mattcraddock.com} } diff --git a/man/welch_fft.Rd b/man/welch_fft.Rd index 27866bdf..08827e52 100644 --- a/man/welch_fft.Rd +++ b/man/welch_fft.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/frequency_analysis.R \name{welch_fft} \alias{welch_fft} -\title{Welch fft} +\title{Welch FFT} \usage{ welch_fft(data, seg_length, n_fft, noverlap, n_sig, srate) } @@ -20,6 +20,7 @@ welch_fft(data, seg_length, n_fft, noverlap, n_sig, srate) \item{srate}{Sampling rate of the data.} } \description{ -Internal function for calculating the PSD using Welch's method +Internal function for calculating the PSD using Welch's method. Hardcoded to +use Hamming window. } \keyword{internal} diff --git a/src/Makevars b/src/Makevars index d715e498..3a7f8ac9 100644 --- a/src/Makevars +++ b/src/Makevars @@ -1,3 +1,2 @@ -CXX_STD = CXX11 PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS) PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) diff --git a/src/Makevars.win b/src/Makevars.win index d715e498..3a7f8ac9 100644 --- a/src/Makevars.win +++ b/src/Makevars.win @@ -1,3 +1,2 @@ -CXX_STD = CXX11 PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS) PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) diff --git a/tests/testthat/_snaps/ICA/timecourse-over-one-component.svg b/tests/testthat/_snaps/ICA/timecourse-over-one-component.svg index 293ee5db..d8d901ab 100644 --- a/tests/testthat/_snaps/ICA/timecourse-over-one-component.svg +++ b/tests/testthat/_snaps/ICA/timecourse-over-one-component.svg @@ -25,19 +25,19 @@ - + - + --0.4 --0.2 -0.0 -0.2 - - - - +-0.2 +0.0 +0.2 +0.4 + + + + diff --git a/tests/testthat/_snaps/ICA/topographical-plot-for-fastica.svg b/tests/testthat/_snaps/ICA/topographical-plot-for-fastica.svg index 48079d16..bcf2cacc 100644 --- a/tests/testthat/_snaps/ICA/topographical-plot-for-fastica.svg +++ b/tests/testthat/_snaps/ICA/topographical-plot-for-fastica.svg @@ -20,81 +20,79 @@ - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - --5.0 --2.5 -0.0 -2.5 -5.0 -Amplitude ( -μ -V) - - - - - - - - - - -topographical plot for fastica +a.u. + + + + + + + + + + + +-5.0 +-2.5 +0.0 +2.5 +5.0 +topographical plot for fastica diff --git a/tests/testthat/_snaps/ICA/topographical-plot-for-fica.svg b/tests/testthat/_snaps/ICA/topographical-plot-for-fica.svg index 2f245ba4..585a3429 100644 --- a/tests/testthat/_snaps/ICA/topographical-plot-for-fica.svg +++ b/tests/testthat/_snaps/ICA/topographical-plot-for-fica.svg @@ -20,76 +20,74 @@ - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - --4 --2 -0 -2 -Amplitude ( -μ -V) - - - - - - - - -topographical plot for fica +a.u. + + + + + + + + + +-4 +-2 +0 +2 +topographical plot for fica diff --git a/tests/testthat/_snaps/ICA/topographical-plot-for-sobi.svg b/tests/testthat/_snaps/ICA/topographical-plot-for-sobi.svg index 68f1c2a4..fb65ed4b 100644 --- a/tests/testthat/_snaps/ICA/topographical-plot-for-sobi.svg +++ b/tests/testthat/_snaps/ICA/topographical-plot-for-sobi.svg @@ -20,82 +20,80 @@ - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - --2.5 -0.0 -2.5 -5.0 -Amplitude ( -μ -V) - - - - - - - - -topographical plot for SOBI +a.u. + + + + + + + + + +-2.5 +0.0 +2.5 +5.0 +topographical plot for SOBI diff --git a/tests/testthat/_snaps/ICA/topoplot-multiple-comps.svg b/tests/testthat/_snaps/ICA/topoplot-multiple-comps.svg index a9824854..1512d646 100644 --- a/tests/testthat/_snaps/ICA/topoplot-multiple-comps.svg +++ b/tests/testthat/_snaps/ICA/topoplot-multiple-comps.svg @@ -20,169 +20,167 @@ - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - -Comp001 + +Comp001 - - + + - -Comp002 + +Comp002 - --4 --2 -0 -2 -Amplitude ( -μ -V) - - - - - - - - -topoplot multiple comps +a.u. + + + + + + + + + +-4 +-2 +0 +2 +topoplot multiple comps diff --git a/tests/testthat/_snaps/artefact_rejection.md b/tests/testthat/_snaps/artefact_rejection.md new file mode 100644 index 00000000..1aabee03 --- /dev/null +++ b/tests/testthat/_snaps/artefact_rejection.md @@ -0,0 +1,84 @@ +# Calculate epoch stats + + Code + demo_epo + Output + measure epoch A5 A13 A21 A29 A31 B5 + + 1: max 1 11.56975 5.843069 6.950029 16.05196 5.835857 16.037969 + 2: max 2 11.47310 3.076121 17.336609 25.07866 5.495951 13.935791 + 3: max 3 10.00425 5.781016 17.194586 17.19246 9.782940 12.822427 + 4: max 4 9.31763 10.440170 15.260184 17.20443 13.233307 4.500334 + 5: max 5 13.83158 7.853081 13.628233 21.79226 11.007382 13.648832 + --- + 396: minmax 76 46.45077 15.341318 64.726750 34.25538 45.579252 56.265198 + 397: minmax 77 30.11000 20.520123 29.243788 49.73817 33.340733 40.902041 + 398: minmax 78 18.74668 10.368268 19.936261 31.79093 23.085611 23.651198 + 399: minmax 79 25.99021 18.232140 19.778950 36.60640 24.057504 36.741414 + 400: minmax 80 33.72606 29.993020 25.637490 31.08364 28.710451 37.933588 + B6 B8 B16 B18 B26 + + 1: 15.222137 5.365861 0.8970604 2.939259 15.516402 + 2: 10.753399 10.561023 1.4575628 8.013282 7.306200 + 3: 9.603629 5.616830 8.1576152 16.020897 14.130052 + 4: 8.287086 12.999384 7.1457154 6.542394 6.952915 + 5: 11.821007 10.215768 12.8578863 8.408418 13.708609 + --- + 396: 42.861184 41.866046 21.9149196 15.964518 41.049195 + 397: 39.543097 34.720623 47.8854240 48.952999 35.531254 + 398: 18.209071 16.666973 20.3557738 18.072725 19.773843 + 399: 20.970510 21.315809 15.1661056 23.930244 27.508591 + 400: 30.095758 27.686008 24.1916472 24.933046 37.598064 + +# Calculating channel stats + + Code + chan_stats + Output + electrode means sds variance kurtosis minmax + A5 A5 -2.0201400 5.872054 34.48102 0.8110859 55.99172 + A13 A13 -0.7884497 3.922905 15.38918 0.8728392 39.18374 + A21 A21 3.2864957 6.088564 37.07061 1.4236771 68.28431 + A29 A29 4.1693878 7.781989 60.55936 0.1267196 57.26694 + A31 A31 1.0943630 5.607857 31.44806 0.8183168 47.41699 + B5 B5 -2.1856578 7.477209 55.90865 1.0617711 73.42224 + B6 B6 -2.8632122 5.963742 35.56622 0.3695797 46.77692 + B8 B8 -1.6502435 6.782543 46.00289 0.9660805 66.80369 + B16 B16 -1.4560545 5.200351 27.04365 2.0987794 51.42989 + B18 B18 -0.4696431 5.460927 29.82173 2.3864875 63.04594 + B26 B26 2.8831543 6.146965 37.78518 0.7989692 56.77661 + +# ar_thresh runs correctly. + + Code + ar_thresh(demo_epochs, 20) + Message + 250 (0.34%) samples above 20 uV threshold. + 205 (0.28%) samples below -20 uV threshold. + 57 epochs contain samples above threshold. + Output + Epoched EEG data + + Number of channels : 11 + Number of epochs : 80 + Epoch limits : -0.197 - 0.451 seconds + Electrode names : A5 A13 A21 A29 A31 B5 B6 B8 B16 B18 B26 + Sampling rate : 128 Hz + Reference : average + +--- + + Code + ar_thresh(test_data, 30) + Message + 10867 (4.42%) samples above 30 uV threshold. + 230400 (93.75%) samples below -30 uV threshold. + Output + EEG data + + Number of channels : 16 + Electrode names : A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 + Sampling rate : 256 Hz + Reference : + Signal length: 0 59.996 seconds + diff --git a/tests/testthat/_snaps/epoch_images/erp-image-a29-from-demo-epochs.svg b/tests/testthat/_snaps/epoch_images/erp-image-a29-from-demo-epochs.svg index cb2c743b..d6200d0a 100644 --- a/tests/testthat/_snaps/epoch_images/erp-image-a29-from-demo-epochs.svg +++ b/tests/testthat/_snaps/epoch_images/erp-image-a29-from-demo-epochs.svg @@ -50,17 +50,17 @@ Time (s) Epoch number +Amplitude + + + + + + -10 0 10 -Amplitude - - - - - - ERP Image for A29 diff --git a/tests/testthat/_snaps/epoch_images/erp-image-comp001-from-demo-epochs.svg b/tests/testthat/_snaps/epoch_images/erp-image-comp001-from-demo-epochs.svg new file mode 100644 index 00000000..81cb3e25 --- /dev/null +++ b/tests/testthat/_snaps/epoch_images/erp-image-comp001-from-demo-epochs.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +20 +40 +60 + + + + + + + + +-0.2 +0.0 +0.2 +0.4 +Time (s) +Epoch number + +Amplitude + + + + + + + + + + + +-1.0 +-0.5 +0.0 +0.5 +1.0 +ERP Image for Comp001 + + diff --git a/tests/testthat/_snaps/epoch_images/erp-raster-with-facets.svg b/tests/testthat/_snaps/epoch_images/erp-raster-with-facets.svg index 8144887a..8f497feb 100644 --- a/tests/testthat/_snaps/epoch_images/erp-raster-with-facets.svg +++ b/tests/testthat/_snaps/epoch_images/erp-raster-with-facets.svg @@ -129,23 +129,23 @@ Time (s) electrode +amplitude + + + + + + + + + + -20 -10 0 10 20 -amplitude - - - - - - - - - - ERP raster with facets diff --git a/tests/testthat/_snaps/epoch_images/erp-raster-without-anat-order.svg b/tests/testthat/_snaps/epoch_images/erp-raster-without-anat-order.svg index 2d7ef67d..96a57333 100644 --- a/tests/testthat/_snaps/epoch_images/erp-raster-without-anat-order.svg +++ b/tests/testthat/_snaps/epoch_images/erp-raster-without-anat-order.svg @@ -129,23 +129,23 @@ Time (s) electrode +amplitude + + + + + + + + + + -20 -10 0 10 20 -amplitude - - - - - - - - - - ERP raster without anat_order diff --git a/tests/testthat/_snaps/frequency_analysis.md b/tests/testthat/_snaps/frequency_analysis.md new file mode 100644 index 00000000..0ec31962 --- /dev/null +++ b/tests/testthat/_snaps/frequency_analysis.md @@ -0,0 +1,23173 @@ +# PSD computation runs correctly. + + Code + compute_psd(test_data) + Message + Removing channel means... + Computing Power Spectral Density using Welch's method. + FFT length: 2048 + Segment length: 2048 + Overlapping points: 1024 ( 50 %) + Output + A1 A2 A3 A4 A5 + 2 2.945231e-01 9.726718e-02 1.084776e-01 9.119106e-02 8.877092e-02 + 3 5.440051e-02 3.904921e-02 4.950681e-02 6.275816e-02 4.999127e-02 + 4 4.468082e-02 2.261750e-02 2.245944e-02 3.228639e-02 2.928225e-02 + 5 3.210573e-02 1.517085e-02 2.403800e-02 1.666378e-02 2.306079e-02 + 6 2.665954e-02 2.056380e-02 2.204555e-02 1.675433e-02 1.662049e-02 + 7 3.463555e-02 3.432723e-02 1.663842e-02 1.118043e-02 1.907073e-02 + 8 2.007627e-02 1.554278e-02 1.009773e-02 1.027897e-02 1.032363e-02 + 9 2.094949e-02 1.002870e-02 1.310969e-02 1.364861e-02 1.483364e-02 + 10 3.233463e-02 1.127669e-02 1.161860e-02 1.275229e-02 1.204289e-02 + 11 1.591400e-02 1.144309e-02 1.469485e-02 1.223943e-02 1.227307e-02 + 12 2.638609e-02 6.265898e-03 1.347250e-02 1.323007e-02 1.191481e-02 + 13 3.053937e-02 1.551062e-02 9.846843e-03 1.120291e-02 1.021538e-02 + 14 2.891406e-02 1.358516e-02 1.714831e-02 2.822320e-02 1.833809e-02 + 15 4.167899e-02 1.809679e-02 1.411466e-02 9.261461e-03 1.509837e-02 + 16 3.097362e-02 2.247745e-02 2.288824e-02 2.752156e-02 1.656746e-02 + 17 5.911120e-02 2.090261e-02 2.289798e-02 1.422244e-02 2.374484e-02 + 18 5.621266e-02 2.443941e-02 2.388499e-02 2.943738e-02 2.073592e-02 + 19 2.855755e-02 1.524854e-02 1.315406e-02 1.172793e-02 1.795645e-02 + 20 1.676310e-01 9.535122e-02 8.994114e-02 8.580610e-02 9.645571e-02 + 21 1.023936e+03 3.901343e+02 3.946156e+02 3.936806e+02 3.929459e+02 + 22 8.355261e+03 3.192409e+03 3.226303e+03 3.218306e+03 3.214459e+03 + 23 2.208654e+03 8.442070e+02 8.530365e+02 8.501698e+02 8.498585e+02 + 24 8.398398e-01 3.454446e-01 3.416197e-01 2.946960e-01 3.431233e-01 + 25 1.709564e-02 1.038184e-02 1.099180e-02 5.402502e-03 1.008584e-02 + 26 4.980850e-02 1.879317e-02 2.066439e-02 1.895057e-02 1.290528e-02 + 27 5.004466e-02 2.303027e-02 2.274916e-02 2.075613e-02 2.378861e-02 + 28 4.037414e-02 1.976775e-02 2.092247e-02 1.905166e-02 2.082483e-02 + 29 3.404054e-02 1.469829e-02 1.535956e-02 1.678909e-02 1.381504e-02 + 30 3.522799e-02 1.000741e-02 1.019128e-02 9.447345e-03 1.137876e-02 + 31 2.092365e-02 1.425667e-02 1.265889e-02 1.256897e-02 1.270481e-02 + 32 2.824125e-02 8.021016e-03 8.982111e-03 9.089719e-03 6.805104e-03 + 33 1.948483e-02 7.728611e-03 9.091877e-03 7.977439e-03 9.505956e-03 + 34 1.731348e-02 1.034398e-02 9.350121e-03 8.509759e-03 9.605625e-03 + 35 1.330940e-02 6.241814e-03 5.574095e-03 6.184556e-03 7.821319e-03 + 36 1.731355e-02 5.359799e-03 6.958010e-03 5.123399e-03 7.957622e-03 + 37 1.326390e-02 5.665396e-03 6.455907e-03 6.865648e-03 6.416363e-03 + 38 9.250579e-03 4.891852e-03 4.635504e-03 5.607360e-03 6.453758e-03 + 39 1.044401e-02 3.688379e-03 5.993200e-03 4.402802e-03 4.809396e-03 + 40 1.067563e-02 6.808609e-03 5.754573e-03 6.957081e-03 4.936393e-03 + 41 7.440588e-03 3.638916e-03 5.212784e-03 3.532632e-03 3.425446e-03 + 42 3.717938e-02 1.469323e-02 8.257801e-03 1.219404e-02 1.490212e-02 + 43 2.824087e-01 1.379059e-01 5.305570e-02 1.096715e-01 1.390956e-01 + 44 1.098724e-01 5.507933e-02 2.395080e-02 4.124934e-02 5.802313e-02 + 45 6.456884e-03 3.486687e-03 3.595242e-03 3.528487e-03 5.299802e-03 + 46 7.457637e-03 1.494208e-03 3.647825e-03 3.085638e-03 4.656173e-03 + 47 5.654872e-03 4.687404e-03 3.761105e-03 4.801944e-03 4.824809e-03 + 48 6.286754e-03 3.507272e-03 4.977936e-03 2.763993e-03 2.635273e-03 + 49 6.431122e-03 4.261403e-03 1.871725e-03 3.286932e-03 3.645087e-03 + 50 5.980384e-03 2.805111e-03 3.768667e-03 4.796204e-03 4.306977e-03 + 51 7.099872e-03 2.117186e-03 1.914420e-03 2.239774e-03 2.805982e-03 + 52 3.376072e-03 3.815727e-03 4.525217e-03 4.378112e-03 2.621235e-03 + 53 4.900304e-03 2.976931e-03 1.656129e-03 3.000795e-03 3.349558e-03 + 54 6.387267e-03 2.940897e-03 2.772550e-03 2.903115e-03 3.948718e-03 + 55 5.164292e-03 2.662847e-03 2.228769e-03 2.498433e-03 4.199262e-03 + 56 4.819488e-03 2.312809e-03 2.640036e-03 2.358646e-03 2.068518e-03 + 57 6.320786e-03 2.739341e-03 2.317044e-03 2.846737e-03 3.032148e-03 + 58 6.280210e-03 2.732035e-03 4.165228e-03 3.091719e-03 2.778689e-03 + 59 4.198434e-03 3.401224e-03 1.022836e-03 3.558290e-03 2.541161e-03 + 60 3.199873e-03 3.032026e-03 2.876802e-03 2.742641e-03 3.375540e-03 + 61 4.213744e-03 2.731612e-03 1.881662e-03 2.562263e-03 2.594433e-03 + 62 5.575185e-03 1.192808e-03 1.224383e-03 2.349484e-03 1.897418e-03 + 63 3.023603e-01 1.149869e-01 1.097153e-01 1.061753e-01 1.062327e-01 + 64 5.874818e+00 2.143746e+00 2.169799e+00 2.118593e+00 2.143417e+00 + 65 3.141255e+00 1.159620e+00 1.171388e+00 1.135633e+00 1.162086e+00 + 66 2.383243e-02 8.738743e-03 8.785602e-03 6.393387e-03 9.265983e-03 + 67 2.709077e-03 3.479704e-03 3.386456e-03 2.320436e-03 1.843589e-03 + 68 4.599018e-03 2.810858e-03 1.556364e-03 3.388242e-03 1.912998e-03 + 69 3.636031e-03 1.510659e-03 2.024872e-03 2.040190e-03 1.896423e-03 + 70 3.143258e-03 1.766562e-03 1.367793e-03 3.249499e-03 1.832963e-03 + 71 3.750100e-03 2.363844e-03 1.660330e-03 2.514530e-03 1.859642e-03 + 72 3.764122e-03 1.469620e-03 1.497930e-03 2.045805e-03 1.872080e-03 + 73 3.025698e-03 1.214653e-03 2.213801e-03 1.251821e-03 1.490878e-03 + 74 3.572284e-03 2.066069e-03 2.957659e-03 1.886011e-03 3.448256e-03 + 75 4.215196e-03 1.883508e-03 3.449699e-03 1.774686e-03 2.686187e-03 + 76 3.998478e-03 1.498452e-03 1.383131e-03 1.169323e-03 2.571183e-03 + 77 1.717050e-03 1.835053e-03 1.782962e-03 1.116818e-03 2.029216e-03 + 78 3.370819e-03 1.824427e-03 1.875793e-03 1.257134e-03 1.603190e-03 + 79 5.281715e-03 1.906922e-03 3.394739e-03 1.304961e-03 2.261076e-03 + 80 2.503533e-03 1.734607e-03 2.287883e-03 9.335625e-04 2.476156e-03 + 81 4.039514e-03 1.829761e-03 1.938961e-03 2.022696e-03 1.852119e-03 + 82 3.288664e-03 2.234511e-03 2.620089e-03 3.102338e-03 2.509066e-03 + 83 2.970427e-03 1.536311e-03 1.731881e-03 1.656990e-03 2.322701e-03 + 84 3.336048e-03 3.101548e-03 2.608102e-03 2.435746e-03 3.350156e-03 + 85 1.872596e-02 1.258977e-02 6.503045e-03 2.529416e-02 7.790383e-03 + 86 1.459028e-02 9.056124e-03 6.773269e-03 2.049320e-02 5.868685e-03 + 87 3.794993e-03 1.571507e-03 1.773270e-03 2.168390e-03 1.444546e-03 + 88 3.324439e-03 1.546184e-03 1.446599e-03 1.972754e-03 1.288460e-03 + 89 4.095946e-03 2.878193e-03 1.408924e-03 2.018780e-03 1.916964e-03 + 90 2.598437e-03 1.930587e-03 2.009372e-03 3.175798e-03 2.007871e-03 + 91 2.682563e-03 1.571210e-03 9.149660e-04 1.325102e-03 1.440893e-03 + 92 2.172880e-03 1.556923e-03 1.511858e-03 1.881526e-03 1.218637e-03 + 93 2.020510e-03 1.632867e-03 1.723151e-03 1.711633e-03 1.201571e-03 + 94 1.840454e-03 1.479840e-03 9.081016e-04 1.495106e-03 2.105856e-03 + 95 3.780429e-03 1.457034e-03 1.986847e-03 1.610392e-03 1.308524e-03 + 96 4.327845e-03 8.563712e-04 2.290767e-03 1.663572e-03 8.706989e-04 + 97 2.717870e-03 1.808257e-03 2.078895e-03 1.928775e-03 1.925107e-03 + 98 2.240500e-03 1.973926e-03 1.425311e-03 1.236203e-03 1.768568e-03 + 99 2.288726e-03 2.407713e-03 1.452345e-03 1.433173e-03 2.488811e-03 + 100 2.014020e-03 2.034927e-03 1.560126e-03 1.485878e-03 2.108539e-03 + 101 2.986660e-03 1.826514e-03 1.783667e-03 1.279682e-03 1.735419e-03 + 102 2.219563e-03 1.517701e-03 2.519218e-03 1.332968e-03 1.566525e-03 + 103 3.332391e-03 2.033178e-03 1.906777e-03 1.447272e-03 1.993053e-03 + 104 2.981983e-03 2.219786e-03 1.919063e-03 2.417706e-03 1.650772e-03 + 105 3.919858e-03 2.289890e-03 2.706108e-03 3.143264e-03 2.191395e-03 + 106 6.048004e-02 3.087112e-02 3.677235e-02 3.851247e-02 3.274838e-02 + 107 6.274935e-02 3.436030e-02 3.792951e-02 4.157368e-02 3.339215e-02 + 108 3.039073e-03 2.186951e-03 1.912803e-03 2.043052e-03 1.599305e-03 + 109 4.506619e-03 2.592769e-03 2.954048e-03 2.193314e-03 1.728591e-03 + 110 3.879393e-03 2.134755e-03 2.664413e-03 1.159675e-03 1.531378e-03 + 111 2.381766e-03 1.514591e-03 1.560528e-03 2.081828e-03 1.691319e-03 + 112 1.730569e-03 9.361356e-04 1.226564e-03 1.372867e-03 1.220390e-03 + 113 2.773730e-03 7.984150e-04 1.672488e-03 1.423334e-03 1.994655e-03 + 114 1.142207e-03 1.477984e-03 1.724963e-03 1.172762e-03 1.958560e-03 + 115 1.981706e-03 8.162553e-04 1.080347e-03 1.232008e-03 1.404383e-03 + 116 2.722799e-03 1.420582e-03 1.272328e-03 2.042039e-03 1.860047e-03 + 117 2.257319e-03 1.625870e-03 1.916890e-03 1.744461e-03 1.458361e-03 + 118 2.801239e-03 1.653872e-03 1.510361e-03 1.960056e-03 1.585233e-03 + 119 4.577014e-03 1.665011e-03 1.391056e-03 2.412669e-03 2.686308e-03 + 120 4.130423e-03 1.717521e-03 2.113185e-03 2.183201e-03 2.251059e-03 + 121 2.397016e-03 2.001440e-03 1.366292e-03 1.824956e-03 8.181210e-04 + 122 2.117549e-03 1.323585e-03 1.534605e-03 1.217449e-03 8.851548e-04 + 123 2.705331e-03 1.474702e-03 1.568996e-03 1.882120e-03 1.499431e-03 + 124 1.747075e-03 1.300469e-03 1.289489e-03 1.125897e-03 1.709968e-03 + 125 2.275860e-03 1.133428e-03 1.472723e-03 1.157588e-03 1.841815e-03 + 126 2.342380e-03 1.422853e-03 1.838031e-03 1.637597e-03 1.646986e-03 + 127 3.171582e-03 8.642361e-03 2.447000e-03 4.436555e-03 5.609822e-03 + 128 2.589055e-03 1.195177e-02 2.327883e-03 6.003062e-03 8.435067e-03 + 129 2.792092e-03 1.707134e-03 1.507889e-03 1.204301e-03 2.259701e-03 + 130 1.986550e-03 1.490780e-03 8.027461e-04 1.244109e-03 1.445434e-03 + 131 2.141164e-03 1.180736e-03 1.256547e-03 1.375392e-03 1.744368e-03 + 132 2.569920e-03 1.049847e-03 1.818208e-03 1.233932e-03 1.241891e-03 + 133 1.918378e-03 1.945035e-03 1.342700e-03 1.588254e-03 1.149231e-03 + 134 3.222991e-03 1.512535e-03 1.527922e-03 1.384790e-03 9.971101e-04 + 135 2.583485e-03 1.845739e-03 1.428852e-03 1.159500e-03 1.025074e-03 + 136 1.752698e-03 1.757664e-03 1.190155e-03 1.407891e-03 1.401391e-03 + 137 2.353681e-03 9.911377e-04 1.122104e-03 1.926749e-03 1.322322e-03 + 138 1.668569e-03 9.317969e-04 1.872775e-03 2.152082e-03 2.009908e-03 + 139 2.293283e-03 9.636081e-04 1.440435e-03 1.263240e-03 1.636443e-03 + 140 2.129599e-03 1.574453e-03 1.225325e-03 1.416832e-03 2.191948e-03 + 141 2.187579e-03 2.025509e-03 1.118994e-03 1.229257e-03 1.802445e-03 + 142 1.853850e-03 1.119852e-03 8.697521e-04 1.248096e-03 1.192657e-03 + 143 1.877676e-03 1.016753e-03 1.015832e-03 1.372195e-03 1.393004e-03 + 144 1.820397e-03 1.253901e-03 1.142507e-03 1.779440e-03 9.415135e-04 + 145 2.787971e-03 1.678942e-03 1.607800e-03 1.914435e-03 2.006600e-03 + 146 1.381677e-03 1.377763e-03 1.281283e-03 1.248587e-03 2.335635e-03 + 147 2.765808e-03 1.722524e-03 1.561520e-03 2.878243e-03 2.717648e-03 + 148 1.124880e-02 7.682088e-03 4.779935e-03 1.183195e-02 5.384205e-03 + 149 2.277132e-02 1.560090e-02 8.656180e-03 2.120316e-02 9.369575e-03 + 150 5.039539e-03 3.294384e-03 1.683366e-03 2.831356e-03 1.789731e-03 + 151 1.784558e-03 1.385932e-03 1.588160e-03 1.464593e-03 8.075143e-04 + 152 1.949827e-03 8.311716e-04 7.932843e-04 1.473471e-03 1.214004e-03 + 153 1.728253e-03 1.417772e-03 1.465340e-03 1.238072e-03 1.010004e-03 + 154 1.874806e-03 1.012883e-03 1.282723e-03 1.351929e-03 1.036475e-03 + 155 1.734382e-03 7.848888e-04 1.541261e-03 1.439865e-03 1.289396e-03 + 156 1.841396e-03 1.575712e-03 1.663836e-03 1.260405e-03 1.772751e-03 + 157 1.115880e-03 9.914598e-04 1.336753e-03 9.416184e-04 1.078130e-03 + 158 2.171809e-03 1.282628e-03 1.121108e-03 9.175562e-04 1.134464e-03 + 159 2.404954e-03 9.860513e-04 1.756101e-03 1.386297e-03 1.297061e-03 + 160 2.311539e-03 1.685253e-03 1.813601e-03 1.525649e-03 1.890807e-03 + 161 2.831300e-03 1.004464e-03 1.309012e-03 1.386586e-03 1.306002e-03 + 162 2.414796e-03 6.540720e-04 9.223146e-04 1.580268e-03 1.118076e-03 + 163 1.960031e-03 1.149013e-03 1.932207e-03 9.239421e-04 1.255045e-03 + 164 2.372218e-03 1.569164e-03 1.918746e-03 9.602270e-04 1.187957e-03 + 165 2.888452e-03 1.246935e-03 1.550834e-03 1.348836e-03 1.660604e-03 + 166 2.413341e-03 1.507192e-03 1.796347e-03 1.340047e-03 1.648145e-03 + 167 1.744823e-03 1.911850e-03 1.754464e-03 8.081919e-04 1.195431e-03 + 168 2.340503e-03 1.407333e-03 1.037681e-03 1.086270e-03 8.067526e-04 + 169 2.630953e-03 2.328976e-03 1.861086e-03 2.177991e-03 1.262435e-03 + 170 2.527275e-03 4.633340e-03 1.444912e-03 3.426960e-03 3.200455e-03 + 171 1.713305e-03 1.720478e-03 1.391551e-03 2.014339e-03 1.867895e-03 + 172 2.447932e-03 5.418001e-04 1.309967e-03 1.111123e-03 7.395160e-04 + 173 1.892360e-03 1.391531e-03 1.585973e-03 1.316674e-03 1.674560e-03 + 174 1.652133e-03 9.689160e-04 8.056930e-04 9.251547e-04 1.623612e-03 + 175 1.650570e-03 8.881296e-04 1.686032e-03 1.059753e-03 1.817508e-03 + 176 1.657810e-03 1.056349e-03 1.857539e-03 2.005437e-03 2.240087e-03 + 177 2.184447e-03 1.260487e-03 1.580504e-03 1.518491e-03 1.404327e-03 + 178 3.168692e-03 8.139877e-04 1.567501e-03 1.317285e-03 1.247200e-03 + 179 3.016583e-03 1.281317e-03 1.268927e-03 1.630873e-03 1.442564e-03 + 180 2.217400e-03 1.473503e-03 1.088640e-03 1.250436e-03 1.000129e-03 + 181 2.411303e-03 1.815624e-03 9.260979e-04 1.568136e-03 6.882376e-04 + 182 7.402878e-04 9.064176e-04 8.480239e-04 1.192829e-03 8.056917e-04 + 183 2.043694e-03 1.872835e-03 8.812113e-04 2.053675e-03 1.010062e-03 + 184 3.361151e-03 9.277085e-04 8.360576e-04 1.424209e-03 1.003353e-03 + 185 1.892563e-03 9.722847e-04 1.199683e-03 9.545142e-04 1.175595e-03 + 186 2.465631e-03 1.577995e-03 1.171628e-03 9.859045e-04 1.554511e-03 + 187 1.824473e-03 1.322858e-03 9.978528e-04 1.219559e-03 8.905511e-04 + 188 2.056593e-03 1.474934e-03 1.283950e-03 8.877589e-04 8.097478e-04 + 189 3.224172e-03 2.273908e-03 1.419777e-03 1.396879e-03 9.787836e-04 + 190 7.368858e-03 1.945795e-03 1.556618e-03 4.770386e-03 1.659790e-03 + 191 1.832253e-02 4.312316e-03 2.956544e-03 1.581375e-02 4.446901e-03 + 192 5.141761e-03 1.759910e-03 1.243691e-03 3.445747e-03 1.483203e-03 + 193 1.644490e-03 1.785487e-03 1.124295e-03 9.044528e-04 1.045262e-03 + 194 1.822777e-03 1.139604e-03 6.362164e-04 1.132014e-03 9.878676e-04 + 195 1.621723e-03 7.609963e-04 8.082538e-04 7.476486e-04 1.023393e-03 + 196 2.996266e-03 1.445642e-03 1.266960e-03 9.425345e-04 1.100472e-03 + 197 1.525169e-03 1.249535e-03 1.621588e-03 7.315534e-04 8.187302e-04 + 198 1.743626e-03 1.035049e-03 1.180502e-03 1.258417e-03 1.076316e-03 + 199 1.724939e-03 1.902810e-03 1.425636e-03 1.930053e-03 1.165173e-03 + 200 1.194972e-03 1.540670e-03 7.662771e-04 1.488361e-03 9.826496e-04 + 201 1.317984e-03 1.110065e-03 1.359405e-03 8.347075e-04 9.076577e-04 + 202 2.293319e-03 9.029206e-04 8.964371e-04 8.296703e-04 1.181910e-03 + 203 1.332263e-03 8.704300e-04 9.724294e-04 9.413252e-04 1.386120e-03 + 204 1.792743e-03 9.959570e-04 1.184924e-03 1.002083e-03 7.687735e-04 + 205 2.067377e-03 1.164168e-03 1.137821e-03 1.301152e-03 9.868529e-04 + 206 2.289933e-03 9.512530e-04 6.693338e-04 7.632061e-04 9.728271e-04 + 207 8.133972e-04 6.273064e-04 7.679003e-04 9.713922e-04 7.001587e-04 + 208 1.383859e-03 1.070302e-03 1.421769e-03 1.667921e-03 1.472755e-03 + 209 2.121208e-03 9.850630e-04 1.467839e-03 1.478366e-03 8.079657e-04 + 210 2.770448e-03 1.876288e-03 1.204916e-03 1.164745e-03 1.117985e-03 + 211 2.205681e-03 1.570395e-03 1.668978e-03 1.506378e-03 1.656072e-03 + 212 1.731784e-03 1.072891e-03 1.465822e-03 1.565165e-03 8.094763e-04 + 213 1.692264e-03 8.088453e-04 9.537696e-04 1.337751e-03 6.485418e-04 + 214 2.025849e-03 5.305105e-04 8.349130e-04 1.276865e-03 1.129359e-03 + 215 2.142209e-03 4.489148e-04 1.627308e-03 1.269650e-03 1.695580e-03 + 216 3.171973e-03 1.274333e-03 1.385521e-03 2.437057e-03 1.465805e-03 + 217 2.361922e-03 9.010826e-04 1.453150e-03 1.133867e-03 1.110950e-03 + 218 2.106981e-03 9.162678e-04 1.267166e-03 1.138080e-03 7.407847e-04 + 219 2.443140e-03 1.269304e-03 1.287974e-03 1.893526e-03 9.885526e-04 + 220 1.874397e-03 1.242081e-03 1.087792e-03 1.965936e-03 1.341805e-03 + 221 1.798916e-03 1.415676e-03 1.085133e-03 9.526021e-04 9.571470e-04 + 222 1.435954e-03 1.169568e-03 1.548432e-03 1.448460e-03 1.185060e-03 + 223 1.859892e-03 1.616453e-03 1.141828e-03 5.836074e-04 6.050715e-04 + 224 3.230612e-03 2.056745e-03 1.538349e-03 1.298729e-03 1.439549e-03 + 225 2.979914e-03 1.483941e-03 1.503217e-03 1.399078e-03 1.537233e-03 + 226 1.595315e-03 8.777890e-04 1.954314e-03 1.279081e-03 1.566122e-03 + 227 1.457840e-03 8.636619e-04 1.586424e-03 9.567742e-04 1.697243e-03 + 228 2.212224e-03 9.289196e-04 1.878154e-03 1.206781e-03 1.015891e-03 + 229 1.518531e-03 1.348344e-03 1.722834e-03 9.703953e-04 9.376082e-04 + 230 1.828592e-03 8.615571e-04 1.190375e-03 8.074458e-04 7.797813e-04 + 231 1.625433e-03 1.301238e-03 1.243620e-03 1.043137e-03 1.173776e-03 + 232 1.783727e-03 1.362058e-03 1.098733e-03 2.074052e-03 1.359160e-03 + 233 7.508990e-03 4.274758e-03 2.360567e-03 1.307761e-02 3.277865e-03 + 234 3.295338e-03 2.147969e-03 1.525080e-03 5.162548e-03 1.746991e-03 + 235 2.318165e-03 1.000869e-03 8.510365e-04 1.784992e-03 1.131814e-03 + 236 1.627587e-03 1.210683e-03 8.123926e-04 1.061456e-03 1.626234e-03 + 237 2.596237e-03 1.601277e-03 1.465546e-03 7.565848e-04 1.762640e-03 + 238 3.210884e-03 1.860502e-03 1.834472e-03 1.248678e-03 1.852911e-03 + 239 2.222511e-03 1.700527e-03 9.979144e-04 1.479959e-03 1.150664e-03 + 240 3.111891e-03 1.126297e-03 7.244433e-04 1.483058e-03 9.274777e-04 + 241 1.807875e-03 1.277352e-03 7.479643e-04 1.141052e-03 8.016274e-04 + 242 8.184029e-04 1.097432e-03 1.230202e-03 1.781236e-03 1.344252e-03 + 243 1.165255e-03 9.191437e-04 6.928608e-04 1.320172e-03 9.359973e-04 + 244 2.629903e-03 1.565440e-03 1.136002e-03 1.775838e-03 1.741447e-03 + 245 1.843964e-03 1.122924e-03 1.184542e-03 1.191527e-03 1.149621e-03 + 246 1.575571e-03 7.559926e-04 1.333928e-03 9.930943e-04 1.021918e-03 + 247 7.651366e-04 1.023564e-03 9.563964e-04 7.015214e-04 9.969912e-04 + 248 1.101791e-03 1.637873e-03 1.200585e-03 8.076052e-04 1.222533e-03 + 249 1.285316e-03 1.398597e-03 8.539875e-04 9.418048e-04 9.203789e-04 + 250 1.339282e-03 1.197839e-03 7.869989e-04 9.896873e-04 1.279462e-03 + 251 3.124744e-03 8.852553e-04 1.205991e-03 1.279530e-03 1.004011e-03 + 252 2.469287e-03 1.174553e-03 9.831651e-04 9.225359e-04 9.718545e-04 + 253 2.838259e-03 2.193533e-03 1.543324e-03 1.310004e-03 1.161756e-03 + 254 2.594040e-03 7.020448e-03 7.521612e-03 2.179845e-03 4.100149e-03 + 255 1.933481e-03 3.559412e-03 4.144266e-03 2.474858e-03 1.998244e-03 + 256 1.695728e-03 1.378079e-03 1.184186e-03 1.583929e-03 7.913368e-04 + 257 2.545625e-03 1.526067e-03 1.248864e-03 1.959113e-03 1.137507e-03 + 258 2.690802e-03 1.349149e-03 1.189511e-03 1.598630e-03 9.950768e-04 + 259 1.702278e-03 9.299277e-04 9.440466e-04 5.993569e-04 9.914936e-04 + 260 2.254395e-03 1.204906e-03 1.135281e-03 1.426182e-03 1.212395e-03 + 261 2.165391e-03 1.079720e-03 1.141503e-03 1.418805e-03 1.053045e-03 + 262 2.131549e-03 1.081786e-03 1.379895e-03 8.221948e-04 1.205598e-03 + 263 2.253067e-03 1.191215e-03 1.170426e-03 5.597054e-04 1.148192e-03 + 264 3.484440e-03 2.876099e-03 1.721523e-03 1.036074e-03 2.540953e-03 + 265 2.759866e-03 1.782402e-03 2.005079e-03 1.452782e-03 1.458978e-03 + 266 1.836207e-03 1.020786e-03 1.314539e-03 1.365086e-03 8.319293e-04 + 267 1.905736e-03 1.373697e-03 1.116368e-03 9.341847e-04 7.657489e-04 + 268 1.689170e-03 1.053832e-03 1.289155e-03 8.851009e-04 5.163736e-04 + 269 1.950175e-03 1.103639e-03 8.456077e-04 1.666997e-03 7.299632e-04 + 270 1.939785e-03 1.395724e-03 1.742237e-03 2.005351e-03 2.072919e-03 + 271 1.902798e-03 1.176238e-03 1.527852e-03 1.550867e-03 1.654029e-03 + 272 1.893797e-03 5.184114e-04 6.024808e-04 9.337844e-04 6.988942e-04 + 273 2.352467e-03 8.553846e-04 7.865067e-04 9.411211e-04 5.540123e-04 + 274 3.962501e-03 1.054320e-03 1.559303e-03 1.249886e-03 1.054663e-03 + 275 1.330444e-02 1.520371e-03 2.296261e-03 2.405832e-03 1.829792e-03 + 276 9.158371e-03 2.282170e-03 1.814068e-03 2.076465e-03 1.834998e-03 + 277 2.021510e-03 1.715668e-03 1.089160e-03 1.131489e-03 1.740137e-03 + 278 1.926875e-03 6.498816e-04 9.326251e-04 7.471739e-04 9.293763e-04 + 279 2.392378e-03 6.872269e-04 1.503071e-03 9.321898e-04 5.873584e-04 + 280 2.087443e-03 1.428990e-03 1.110672e-03 6.697120e-04 9.060462e-04 + 281 2.102869e-03 1.860691e-03 8.899192e-04 1.149202e-03 1.166927e-03 + 282 2.205648e-03 1.131688e-03 1.132471e-03 1.235127e-03 1.005567e-03 + 283 1.100410e-03 8.154999e-04 7.708495e-04 9.610410e-04 1.111650e-03 + 284 1.515581e-03 6.622484e-04 9.436375e-04 6.968671e-04 1.477641e-03 + 285 1.728960e-03 5.377145e-04 1.308987e-03 6.763132e-04 1.431897e-03 + 286 1.852734e-03 1.361313e-03 1.726826e-03 1.107937e-03 7.315616e-04 + 287 2.208070e-03 1.293057e-03 1.548082e-03 1.532819e-03 9.483985e-04 + 288 1.793485e-03 7.414539e-04 1.585150e-03 1.440710e-03 1.200472e-03 + 289 2.275101e-03 1.022517e-03 1.009882e-03 1.382003e-03 1.199836e-03 + 290 1.699586e-03 1.093393e-03 9.264790e-04 6.538580e-04 9.833452e-04 + 291 1.160454e-03 9.418490e-04 9.109745e-04 6.322372e-04 9.938294e-04 + 292 1.537143e-03 9.572576e-04 1.051167e-03 9.281660e-04 1.193511e-03 + 293 1.526897e-03 8.378663e-04 1.678058e-03 1.410342e-03 7.866226e-04 + 294 1.707920e-03 1.078092e-03 1.003103e-03 1.480469e-03 7.460582e-04 + 295 2.651481e-03 1.724155e-03 8.947615e-04 1.192017e-03 8.178100e-04 + 296 1.757444e-03 4.214100e-03 2.717219e-03 2.087998e-03 2.133668e-03 + 297 1.968850e-03 3.462224e-03 2.686907e-03 2.199798e-03 2.592851e-03 + 298 1.231432e-03 1.036820e-03 1.131045e-03 1.650481e-03 1.741270e-03 + 299 1.285814e-03 1.160840e-03 9.965134e-04 1.001161e-03 9.286618e-04 + 300 1.861881e-03 1.138449e-03 9.312923e-04 7.197503e-04 7.143160e-04 + 301 2.916694e-03 1.590461e-03 8.982339e-04 7.777416e-04 1.037580e-03 + 302 2.661694e-03 1.386937e-03 1.107931e-03 7.497971e-04 1.440138e-03 + 303 2.299675e-03 1.054815e-03 9.714694e-04 1.009911e-03 1.587694e-03 + 304 2.963666e-03 1.801462e-03 1.407303e-03 1.372671e-03 1.545442e-03 + 305 3.229306e-03 2.621196e-03 2.266680e-03 2.054205e-03 1.457304e-03 + 306 1.627590e-03 1.193087e-03 1.189270e-03 1.233674e-03 1.398374e-03 + 307 1.414741e-03 9.751348e-04 9.818330e-04 1.180688e-03 1.226010e-03 + 308 1.671155e-03 1.018206e-03 9.445709e-04 1.299936e-03 1.595766e-03 + 309 1.411226e-03 8.337968e-04 8.690961e-04 1.366324e-03 1.386666e-03 + 310 1.160030e-03 1.192883e-03 1.072806e-03 1.003787e-03 9.388878e-04 + 311 1.533396e-03 1.407227e-03 1.134450e-03 9.155553e-04 1.422689e-03 + 312 1.793478e-03 1.497963e-03 1.312317e-03 1.202845e-03 1.272565e-03 + 313 1.062163e-03 8.879287e-04 8.521645e-04 8.983871e-04 7.460998e-04 + 314 1.677530e-03 7.548848e-04 1.298294e-03 9.018466e-04 1.008488e-03 + 315 1.569934e-03 9.113367e-04 1.265944e-03 9.779932e-04 1.229196e-03 + 316 2.180669e-03 7.313165e-04 1.062595e-03 7.496427e-04 1.415720e-03 + 317 1.143466e-02 9.016252e-04 2.566360e-03 3.027601e-03 2.054286e-03 + 318 1.388893e-02 2.415920e-03 3.421162e-03 3.470072e-03 1.969752e-03 + 319 2.183752e-03 1.785257e-03 1.211440e-03 8.695402e-04 7.521466e-04 + 320 1.178420e-03 7.307301e-04 6.734066e-04 7.732954e-04 6.955019e-04 + 321 1.642826e-03 1.349698e-03 9.577448e-04 1.035296e-03 9.523128e-04 + 322 2.002597e-03 1.917176e-03 7.696897e-04 1.150278e-03 8.834137e-04 + 323 1.419889e-03 1.650404e-03 7.184110e-04 9.097776e-04 1.272493e-03 + 324 1.016107e-03 1.138587e-03 8.956467e-04 8.460366e-04 1.128412e-03 + 325 1.528296e-03 8.341910e-04 1.135180e-03 1.541087e-03 1.174770e-03 + 326 1.187696e-03 1.223770e-03 1.183629e-03 1.311402e-03 1.268439e-03 + 327 1.304846e-03 1.052826e-03 7.417327e-04 9.694186e-04 9.625081e-04 + 328 1.406305e-03 1.090916e-03 6.449859e-04 1.373507e-03 1.216614e-03 + 329 1.739056e-03 1.012860e-03 1.235418e-03 9.881915e-04 1.136251e-03 + 330 1.142300e-03 8.646901e-04 1.185485e-03 5.026705e-04 9.115179e-04 + 331 2.177893e-03 1.133064e-03 7.384589e-04 9.965002e-04 1.155478e-03 + 332 1.871469e-03 9.727835e-04 5.365459e-04 1.512581e-03 1.429676e-03 + 333 1.081183e-03 1.053125e-03 8.139552e-04 1.290281e-03 1.177701e-03 + 334 2.126005e-03 8.999138e-04 9.050134e-04 1.081058e-03 7.420533e-04 + 335 2.098750e-03 1.050486e-03 6.390542e-04 7.816577e-04 9.661004e-04 + 336 1.203518e-03 6.414328e-04 7.309623e-04 1.178279e-03 1.698066e-03 + 337 1.363550e-03 9.423379e-04 7.705448e-04 1.234429e-03 8.718349e-04 + 338 1.449888e-03 6.816805e-03 8.330508e-03 1.706321e-03 6.357400e-03 + 339 1.217947e-03 1.053216e-02 1.325446e-02 2.132603e-03 1.059794e-02 + 340 1.048106e-03 8.660038e-04 1.240814e-03 1.345287e-03 1.090882e-03 + 341 1.315710e-03 1.023629e-03 8.544923e-04 1.169267e-03 1.029049e-03 + 342 1.472222e-03 1.293130e-03 1.393598e-03 5.332562e-04 1.393451e-03 + 343 1.185166e-03 1.270604e-03 1.375103e-03 8.168493e-04 1.016825e-03 + 344 1.698731e-03 1.311946e-03 8.280739e-04 1.208797e-03 9.881921e-04 + 345 1.912881e-03 1.352795e-03 1.122255e-03 1.348252e-03 9.430533e-04 + 346 1.992223e-03 1.138792e-03 1.193682e-03 1.095086e-03 9.455903e-04 + 347 1.964637e-03 1.553055e-03 2.123549e-03 1.365857e-03 1.250812e-03 + 348 7.395652e-04 8.195513e-04 1.100374e-03 5.583444e-04 8.644601e-04 + 349 9.092963e-04 7.810512e-04 9.565027e-04 3.709450e-04 5.912979e-04 + 350 1.591547e-03 9.834449e-04 8.175845e-04 6.911279e-04 1.603771e-03 + 351 2.161900e-03 1.016545e-03 7.969565e-04 9.480106e-04 1.276307e-03 + 352 1.789047e-03 1.099656e-03 7.186780e-04 6.756527e-04 8.590734e-04 + 353 1.758560e-03 1.207068e-03 1.761851e-03 1.507256e-03 7.998050e-04 + 354 1.213407e-03 1.578883e-03 1.523382e-03 1.335896e-03 8.026753e-04 + 355 1.468617e-03 1.155740e-03 5.790477e-04 1.026754e-03 6.646120e-04 + 356 2.123563e-03 1.538638e-03 1.140243e-03 1.160376e-03 1.025807e-03 + 357 2.465528e-03 1.056916e-03 1.828227e-03 1.136930e-03 9.761948e-04 + 358 1.570218e-03 1.076516e-03 8.684631e-04 8.523756e-04 5.497846e-04 + 359 2.499442e-03 1.899266e-03 1.375102e-03 4.893766e-03 6.921708e-04 + 360 4.095743e-03 2.055790e-03 2.033333e-03 8.987328e-03 9.327474e-04 + 361 1.610386e-03 1.330066e-03 1.132394e-03 1.729913e-03 8.555916e-04 + 362 1.888798e-03 1.318251e-03 9.161154e-04 1.070279e-03 8.011462e-04 + 363 2.073723e-03 1.320101e-03 1.069264e-03 1.054026e-03 9.988256e-04 + 364 1.330174e-03 1.042645e-03 1.265569e-03 8.599801e-04 9.235131e-04 + 365 2.074242e-03 1.041965e-03 7.804663e-04 8.732864e-04 6.908828e-04 + 366 2.058115e-03 1.151519e-03 6.369818e-04 7.661165e-04 7.124173e-04 + 367 1.518974e-03 1.046976e-03 9.710269e-04 1.361555e-03 8.963224e-04 + 368 1.260497e-03 8.758642e-04 8.093827e-04 1.042794e-03 6.947074e-04 + 369 1.270369e-03 9.368306e-04 5.782943e-04 9.045868e-04 6.109223e-04 + 370 9.475699e-04 7.188206e-04 8.033774e-04 7.360555e-04 9.901354e-04 + 371 1.701421e-03 7.184218e-04 1.080915e-03 1.186677e-03 9.842346e-04 + 372 1.300550e-03 7.585594e-04 7.205359e-04 7.967377e-04 8.960899e-04 + 373 1.532468e-03 1.014948e-03 1.054233e-03 4.493925e-04 1.067366e-03 + 374 1.767770e-03 8.549563e-04 1.114301e-03 8.785825e-04 1.204225e-03 + 375 1.409905e-03 8.575706e-04 9.109105e-04 8.370647e-04 6.173104e-04 + 376 9.315062e-04 7.755240e-04 1.062030e-03 9.269449e-04 6.408796e-04 + 377 1.198332e-03 1.019837e-03 1.385138e-03 7.164686e-04 8.151127e-04 + 378 1.511681e-03 9.991362e-04 7.838280e-04 6.221242e-04 8.006089e-04 + 379 9.809834e-04 9.035673e-04 8.806141e-04 6.140218e-04 1.108162e-03 + 380 1.444139e-03 1.026378e-03 2.256481e-03 1.518774e-03 1.427446e-03 + 381 1.638807e-03 1.889423e-03 5.297821e-03 2.961790e-03 1.324297e-03 + 382 1.768434e-03 1.282461e-03 1.674606e-03 1.416051e-03 8.791423e-04 + 383 1.971315e-03 1.875990e-03 1.186653e-03 1.482861e-03 9.638555e-04 + 384 8.555471e-04 1.203489e-03 1.479943e-03 1.017803e-03 6.165729e-04 + 385 2.093967e-03 1.023436e-03 1.333912e-03 9.505472e-04 6.999106e-04 + 386 1.591070e-03 1.107616e-03 8.060464e-04 8.305660e-04 1.193409e-03 + 387 1.822682e-03 1.165388e-03 7.083124e-04 1.348052e-03 1.276117e-03 + 388 1.590804e-03 1.021599e-03 1.105061e-03 1.211793e-03 6.968816e-04 + 389 1.427857e-03 1.558952e-03 9.906025e-04 9.265812e-04 1.143217e-03 + 390 1.656094e-03 1.438196e-03 5.941871e-04 9.440546e-04 7.085814e-04 + 391 1.388258e-03 1.035275e-03 1.114135e-03 9.339851e-04 9.881524e-04 + 392 1.573477e-03 6.823463e-04 7.911244e-04 8.234811e-04 9.776754e-04 + 393 2.050256e-03 8.011222e-04 8.589684e-04 1.801265e-03 8.090972e-04 + 394 1.215751e-03 8.107929e-04 9.899899e-04 1.349353e-03 6.368300e-04 + 395 1.592614e-03 1.045634e-03 1.052023e-03 8.547397e-04 6.687570e-04 + 396 2.145288e-03 1.250498e-03 1.233285e-03 1.104800e-03 1.449411e-03 + 397 1.809083e-03 1.056787e-03 7.838719e-04 6.293625e-04 1.061036e-03 + 398 3.173176e-03 1.171458e-03 9.050225e-04 1.049439e-03 1.280735e-03 + 399 2.265013e-03 1.176517e-03 6.282769e-04 1.246785e-03 1.229298e-03 + 400 1.168043e+00 5.570878e-01 5.653562e-01 5.855942e-01 5.625087e-01 + 401 6.756616e+00 3.258776e+00 3.275102e+00 3.329086e+00 3.267674e+00 + 402 1.327146e+00 6.281355e-01 6.338952e-01 6.434304e-01 6.381845e-01 + 403 2.022625e-03 1.315879e-03 1.015506e-03 1.177675e-03 7.107961e-04 + 404 2.395481e-03 9.590256e-04 1.039328e-03 8.235375e-04 5.800064e-04 + 405 1.839082e-03 8.773889e-04 1.225765e-03 1.002686e-03 7.947819e-04 + 406 1.710543e-03 1.286477e-03 1.456227e-03 1.291686e-03 9.181479e-04 + 407 2.913482e-03 1.305931e-03 1.161128e-03 1.925386e-03 1.387330e-03 + 408 2.905950e-03 1.003347e-03 6.907230e-04 1.758563e-03 1.433243e-03 + 409 1.690762e-03 9.085787e-04 8.035614e-04 9.190431e-04 8.779043e-04 + 410 1.058132e-03 1.416849e-03 1.215205e-03 8.172179e-04 1.111570e-03 + 411 8.381016e-04 6.398128e-04 8.361245e-04 6.310035e-04 7.002043e-04 + 412 1.324704e-03 7.061442e-04 1.082427e-03 8.344545e-04 7.561171e-04 + 413 1.793996e-03 1.279499e-03 1.138118e-03 1.259582e-03 9.692379e-04 + 414 1.450413e-03 6.656025e-04 8.727313e-04 8.956668e-04 1.155031e-03 + 415 1.151721e-03 1.378859e-03 1.115243e-03 1.068468e-03 1.203922e-03 + 416 6.750149e-04 1.024887e-03 7.476340e-04 8.591819e-04 8.353814e-04 + 417 6.927843e-04 9.661437e-04 7.779243e-04 6.669653e-04 7.155365e-04 + 418 1.576567e-03 6.072629e-04 7.750168e-04 7.790798e-04 9.683220e-04 + 419 1.633610e-03 5.920468e-04 7.446759e-04 1.179775e-03 8.701863e-04 + 420 2.136144e-03 7.599419e-04 8.685662e-04 1.719988e-03 9.987946e-04 + 421 1.847950e-03 1.108597e-03 8.136111e-04 1.375112e-03 8.611397e-04 + 422 1.299686e-03 7.067383e-04 7.303242e-04 6.281339e-04 1.331999e-03 + 423 1.732013e-03 1.839625e-03 1.142488e-03 7.816101e-04 2.618706e-03 + 424 1.341280e-03 8.982538e-04 8.437325e-04 5.762999e-04 1.104828e-03 + 425 1.338813e-03 6.753835e-04 7.770929e-04 5.281725e-04 8.980278e-04 + 426 1.013667e-03 1.146159e-03 7.759700e-04 7.944916e-04 5.851310e-04 + 427 1.073460e-03 1.053222e-03 5.989332e-04 4.703029e-04 3.149112e-04 + 428 1.472550e-03 1.009664e-03 7.130807e-04 6.686521e-04 3.532089e-04 + 429 2.410697e-03 1.281447e-03 7.931185e-04 1.048400e-03 7.042690e-04 + 430 2.064913e-03 1.318515e-03 1.480569e-03 1.243242e-03 1.201068e-03 + 431 1.943673e-03 6.518461e-04 1.481000e-03 1.108916e-03 8.591257e-04 + 432 1.373269e-03 7.518314e-04 9.962929e-04 8.956933e-04 4.684687e-04 + 433 1.291490e-03 1.054885e-03 1.000308e-03 1.056335e-03 6.060924e-04 + 434 1.263096e-03 8.311253e-04 1.157842e-03 1.218525e-03 8.642814e-04 + 435 1.180914e-03 5.067447e-04 9.106737e-04 1.010597e-03 7.137219e-04 + 436 1.449117e-03 5.534799e-04 6.585766e-04 9.311193e-04 1.067776e-03 + 437 1.339726e-03 7.204047e-04 8.941924e-04 1.218040e-03 7.746814e-04 + 438 1.612732e-03 8.266104e-04 9.584648e-04 1.105929e-03 6.413490e-04 + 439 1.629019e-03 1.242693e-03 1.314122e-03 1.113368e-03 1.052746e-03 + 440 1.297239e-03 9.938217e-04 1.424855e-03 1.113575e-03 1.051899e-03 + 441 1.261303e-03 8.451326e-04 4.774388e-04 6.756998e-04 4.964146e-04 + 442 1.113853e-03 6.289786e-04 5.569505e-04 6.499026e-04 6.614008e-04 + 443 1.554796e-03 1.194944e-03 1.138005e-03 9.448892e-04 1.167540e-03 + 444 4.349448e-03 3.348844e-03 2.224019e-03 1.359543e-03 2.234856e-03 + 445 1.831371e-03 1.762342e-03 1.713092e-03 1.100247e-03 1.051062e-03 + 446 1.938590e-03 1.485761e-03 1.499181e-03 1.342263e-03 1.233091e-03 + 447 2.658282e-03 1.607448e-03 1.290867e-03 1.613009e-03 1.683409e-03 + 448 2.619830e-03 1.897114e-03 1.166301e-03 1.478766e-03 1.370600e-03 + 449 3.204273e-03 2.725180e-03 2.330615e-03 2.201827e-03 1.863697e-03 + 450 2.231996e-03 8.532007e-04 1.887915e-03 1.445361e-03 8.836417e-04 + 451 1.948788e-03 7.763363e-04 1.662399e-03 1.246932e-03 8.291661e-04 + 452 1.674612e-03 1.308305e-03 1.283739e-03 1.187130e-03 9.918253e-04 + 453 2.069985e-03 1.990108e-03 1.493478e-03 1.662948e-03 1.096745e-03 + 454 2.308345e-03 7.434544e-04 1.451383e-03 1.519526e-03 6.407408e-04 + 455 1.267801e-03 6.109414e-04 1.041696e-03 9.165253e-04 7.102388e-04 + 456 1.738293e-03 9.937342e-04 7.491153e-04 6.419769e-04 4.714769e-04 + 457 2.129649e-03 1.042347e-03 7.105422e-04 8.588242e-04 5.065532e-04 + 458 1.457471e-03 6.453479e-04 1.072979e-03 8.072437e-04 1.300481e-03 + 459 1.380358e-03 6.466450e-04 6.701552e-04 1.065914e-03 1.420102e-03 + 460 9.361551e-04 7.779483e-04 7.518217e-04 6.233392e-04 6.240055e-04 + 461 1.726774e-03 7.797478e-04 9.444732e-04 6.812174e-04 4.203680e-04 + 462 1.471456e-03 6.604012e-04 1.087267e-03 1.029079e-03 6.193429e-04 + 463 1.522156e-03 9.422066e-04 1.059074e-03 9.652531e-04 6.390181e-04 + 464 1.081648e-03 6.732036e-04 1.164234e-03 1.137903e-03 6.673459e-04 + 465 1.229301e-03 1.022796e-03 1.616540e-03 1.087366e-03 9.407617e-04 + 466 1.136759e-03 8.134503e-04 6.912757e-04 7.888777e-04 1.181958e-03 + 467 1.523214e-03 1.212971e-03 5.731631e-04 1.483006e-03 1.304677e-03 + 468 1.130765e-03 1.321066e-03 5.996895e-04 9.753274e-04 8.025641e-04 + 469 1.631929e-03 9.629140e-04 6.687755e-04 1.008036e-03 1.048337e-03 + 470 1.165318e-03 3.536897e-04 8.757071e-04 8.742133e-04 7.720094e-04 + 471 1.658036e-03 7.802503e-04 8.735449e-04 9.876903e-04 9.072873e-04 + 472 1.284131e-03 9.936345e-04 1.018368e-03 8.576300e-04 7.927238e-04 + 473 1.081220e-03 8.607600e-04 7.319679e-04 7.697742e-04 7.125246e-04 + 474 1.377112e-03 1.510963e-03 1.085690e-03 7.468435e-04 1.024864e-03 + 475 1.982481e-03 1.542561e-03 9.435181e-04 1.101996e-03 1.366700e-03 + 476 2.030743e-03 1.581025e-03 1.243560e-03 1.300121e-03 7.647931e-04 + 477 1.472280e-03 1.150485e-03 8.880620e-04 7.379727e-04 9.865966e-04 + 478 1.508410e-03 8.016965e-04 1.025286e-03 4.485689e-04 8.789196e-04 + 479 6.825331e-04 7.574192e-04 6.061403e-04 6.331759e-04 1.003779e-03 + 480 1.108286e-03 6.736351e-04 4.700570e-04 9.409128e-04 1.252877e-03 + 481 1.450787e-03 8.318620e-04 9.389460e-04 8.957789e-04 1.054310e-03 + 482 1.793086e-03 1.022727e-03 1.174319e-03 8.617786e-04 8.936758e-04 + 483 1.081338e-03 1.002460e-03 6.502497e-04 8.426063e-04 1.200157e-03 + 484 8.704900e-04 1.127102e-03 8.618598e-04 1.089472e-03 9.757995e-04 + 485 1.140733e-03 7.746512e-04 1.080789e-03 9.133577e-04 7.901671e-04 + 486 2.237409e-03 1.351940e-03 1.347769e-03 1.306252e-03 7.235609e-04 + 487 2.226757e-03 1.373292e-03 7.794629e-04 1.179332e-03 6.450677e-04 + 488 1.229665e-03 6.659120e-04 8.614844e-04 6.619360e-04 9.470003e-04 + 489 9.988504e-04 1.022264e-03 9.658376e-04 4.431109e-04 5.809849e-04 + 490 1.150839e-03 1.003848e-03 9.740682e-04 8.109607e-04 6.498885e-04 + 491 8.070166e-04 5.637291e-04 7.958276e-04 6.389700e-04 6.821285e-04 + 492 1.613456e-03 1.002777e-03 1.177900e-03 9.875937e-04 8.923668e-04 + 493 1.692750e-03 1.361637e-03 1.603653e-03 1.184922e-03 8.067814e-04 + 494 1.620997e-03 1.091445e-03 7.937625e-04 1.141824e-03 7.571050e-04 + 495 1.433034e-03 1.075869e-03 7.624051e-04 9.728723e-04 4.371646e-04 + 496 2.335416e-03 1.323459e-03 8.251566e-04 9.979394e-04 1.162894e-03 + 497 4.109379e-03 1.730750e-03 1.552952e-03 2.082632e-03 2.038787e-03 + 498 3.215523e-03 1.446724e-03 1.091829e-03 1.323162e-03 1.397343e-03 + 499 2.225895e-03 1.144818e-03 1.198259e-03 7.414631e-04 9.957778e-04 + 500 2.107874e-03 9.645287e-04 1.051006e-03 7.040797e-04 1.189141e-03 + 501 1.726673e-03 1.119227e-03 9.646428e-04 5.151027e-04 1.069927e-03 + 502 1.439717e-03 6.158376e-04 7.980284e-04 4.869935e-04 9.815941e-04 + 503 1.369414e-03 7.088320e-04 6.767825e-04 7.486713e-04 9.838803e-04 + 504 1.683790e-03 1.168788e-03 5.712813e-04 1.307466e-03 1.001805e-03 + 505 2.229771e-03 7.513441e-04 5.911995e-04 1.414744e-03 7.363579e-04 + 506 1.419304e-03 5.099183e-04 8.539988e-04 9.271417e-04 5.980313e-04 + 507 1.044039e-03 6.008725e-04 1.120442e-03 9.353986e-04 7.438541e-04 + 508 9.758540e-04 1.060958e-03 1.012859e-03 1.081918e-03 1.053059e-03 + 509 1.246562e-03 1.153114e-03 6.954748e-04 9.204058e-04 9.711875e-04 + 510 1.344862e-03 1.030246e-03 4.869520e-04 9.981861e-04 6.027426e-04 + 511 9.011292e-04 6.969214e-04 4.833679e-04 1.126901e-03 6.889251e-04 + 512 1.689381e-03 5.434811e-04 8.392497e-04 1.124706e-03 1.288154e-03 + 513 2.030038e-03 6.561985e-04 8.715200e-04 7.985506e-04 1.030837e-03 + 514 1.353969e-03 9.244080e-04 9.342427e-04 6.300390e-04 1.259850e-03 + 515 1.579228e-03 9.136072e-04 9.954639e-04 7.176162e-04 7.759854e-04 + 516 1.322985e-03 6.161454e-04 1.063036e-03 1.036311e-03 7.677521e-04 + 517 2.048240e-03 1.030999e-03 1.535459e-03 1.185435e-03 7.960380e-04 + 518 1.560613e-03 7.919360e-04 1.018908e-03 1.138434e-03 1.517079e-03 + 519 1.889827e-03 7.920182e-04 9.324992e-04 1.270553e-03 1.949409e-03 + 520 1.370303e-03 8.666219e-04 1.184951e-03 1.056339e-03 1.700887e-03 + 521 1.336708e-03 9.304382e-04 1.101704e-03 7.056627e-04 8.112790e-04 + 522 1.491515e-03 9.343823e-04 7.763967e-04 9.614962e-04 8.127778e-04 + 523 1.120585e-03 9.442338e-04 6.083440e-04 8.575382e-04 1.418857e-03 + 524 1.235136e-03 4.546244e-04 8.355779e-04 1.065844e-03 1.126370e-03 + 525 1.078608e-03 6.116755e-04 6.411508e-04 9.021643e-04 1.018455e-03 + 526 1.635026e-03 1.008356e-03 9.884522e-04 8.859896e-04 1.256407e-03 + 527 1.477207e-03 5.223465e-04 6.542444e-04 1.051055e-03 1.022529e-03 + 528 5.217029e-03 9.459054e-04 8.343058e-04 1.280681e-03 1.031428e-03 + 529 6.270859e-03 9.444338e-04 7.055599e-04 7.641818e-04 1.525329e-03 + 530 1.730386e-03 4.464838e-04 6.131810e-04 8.816431e-04 1.284414e-03 + 531 1.179525e-03 4.629753e-04 6.099447e-04 1.545877e-03 9.177523e-04 + 532 5.811720e-04 5.686086e-04 6.019648e-04 4.782958e-04 8.044576e-04 + 533 9.500729e-04 6.106634e-04 6.637680e-04 8.669893e-04 7.584349e-04 + 534 1.522565e-03 7.608448e-04 9.322964e-04 9.209261e-04 6.133620e-04 + 535 2.150778e-03 1.008628e-03 8.111969e-04 1.033220e-03 1.002128e-03 + 536 2.799356e-03 9.569793e-04 7.340421e-04 8.075656e-04 1.104137e-03 + 537 1.710256e-03 1.056568e-03 9.825450e-04 8.252266e-04 6.777752e-04 + 538 1.480248e-03 7.260793e-04 1.048259e-03 4.249122e-04 7.031872e-04 + 539 1.064164e-03 7.278122e-04 1.146787e-03 3.615038e-04 9.013069e-04 + 540 1.056847e-03 7.088154e-04 1.045194e-03 5.108518e-04 1.009411e-03 + 541 1.816138e-03 9.757241e-04 9.084817e-04 1.143119e-03 1.064857e-03 + 542 1.348512e-03 1.207479e-03 9.551908e-04 1.663733e-03 9.861431e-04 + 543 1.581206e-03 7.356282e-04 6.633523e-04 1.277277e-03 8.982569e-04 + 544 2.108206e-03 8.834676e-04 8.603596e-04 1.255038e-03 6.358803e-04 + 545 1.241740e-03 9.142449e-04 7.937594e-04 1.044548e-03 6.326376e-04 + 546 6.865695e-04 5.591669e-04 8.911689e-04 5.045361e-04 1.019604e-03 + 547 1.032688e-03 5.431538e-04 1.213376e-03 5.895235e-04 8.859827e-04 + 548 9.400055e-04 6.956970e-04 9.420438e-04 5.685576e-04 5.466389e-04 + 549 1.253149e-03 1.355389e-03 9.946971e-04 3.719814e-04 6.092228e-04 + 550 1.982970e-03 1.057641e-03 9.885965e-04 1.494997e-03 8.923069e-04 + 551 1.321892e-03 8.864153e-04 1.173337e-03 1.334008e-03 1.065651e-03 + 552 1.005315e-03 6.613811e-04 5.792105e-04 9.940025e-04 6.285456e-04 + 553 9.608282e-04 4.707483e-04 3.389379e-04 8.135182e-04 6.130783e-04 + 554 8.995000e-04 5.919398e-04 7.162968e-04 5.043217e-04 7.603852e-04 + 555 1.091250e-03 7.950626e-04 7.306231e-04 4.996979e-04 7.442052e-04 + 556 1.154036e-03 1.282510e-03 7.492797e-04 7.081256e-04 4.770181e-04 + 557 1.383062e-03 1.038235e-03 7.605180e-04 9.434314e-04 5.270000e-04 + 558 1.489452e-03 6.798098e-04 8.457868e-04 7.581871e-04 7.285911e-04 + 559 1.126614e-03 5.035702e-04 6.534080e-04 7.677725e-04 4.000291e-04 + 560 1.091357e-03 6.522936e-04 6.911280e-04 8.364165e-04 5.312820e-04 + 561 1.431203e-03 6.156902e-04 6.624653e-04 2.342040e-04 7.321607e-04 + 562 1.088357e-03 9.321708e-04 6.200563e-04 7.526086e-04 7.325997e-04 + 563 7.782153e-04 1.097311e-03 8.750390e-04 6.458904e-04 6.842217e-04 + 564 1.274767e-03 1.090719e-03 7.618078e-04 1.052514e-03 8.855938e-04 + 565 1.251882e-03 1.211095e-03 1.041505e-03 1.144684e-03 7.877291e-04 + 566 1.001934e-03 6.742571e-04 9.458873e-04 8.351422e-04 7.174540e-04 + 567 1.821990e-03 1.170347e-03 9.378003e-04 8.710292e-04 1.339682e-03 + 568 2.030125e-03 1.241032e-03 7.901652e-04 9.909110e-04 1.304440e-03 + 569 2.373269e-03 9.833434e-04 9.729703e-04 1.247987e-03 1.190648e-03 + 570 3.003389e-03 1.567293e-03 6.747425e-04 1.437850e-03 1.134265e-03 + 571 3.740681e-03 9.457567e-04 8.627478e-04 1.049856e-03 7.722515e-04 + 572 1.456309e-03 7.147925e-04 7.787930e-04 6.843766e-04 8.413476e-04 + 573 1.253869e-03 7.903279e-04 9.374270e-04 7.575204e-04 6.687290e-04 + 574 1.080915e-03 8.059916e-04 1.000601e-03 8.993321e-04 1.121368e-03 + 575 1.865032e-03 6.316267e-04 9.474192e-04 9.877908e-04 1.296771e-03 + 576 1.694452e-03 4.076382e-04 6.402488e-04 6.168679e-04 9.459915e-04 + 577 1.466619e-03 7.322065e-04 7.071127e-04 5.910929e-04 5.124797e-04 + 578 9.178937e-04 7.060068e-04 1.194277e-03 9.060408e-04 3.831444e-04 + 579 1.431690e-03 6.014397e-04 1.001960e-03 1.311991e-03 8.536117e-04 + 580 1.657922e-03 7.204967e-04 9.506233e-04 1.105307e-03 9.440481e-04 + 581 1.308235e-03 7.633143e-04 8.505294e-04 9.328187e-04 7.127544e-04 + 582 1.954829e-03 1.369145e-03 9.622697e-04 1.116649e-03 7.844462e-04 + 583 1.585668e-03 7.729398e-04 7.685977e-04 7.735680e-04 9.244251e-04 + 584 1.150027e-03 8.812773e-04 6.142569e-04 8.390552e-04 1.009111e-03 + 585 1.353460e-03 1.136962e-03 7.873400e-04 9.672595e-04 9.281912e-04 + 586 1.395587e-03 9.732139e-04 7.782389e-04 9.731220e-04 5.386944e-04 + 587 7.135724e-04 8.523997e-04 9.025716e-04 1.072489e-03 6.535639e-04 + 588 1.350274e-03 9.103918e-04 1.330539e-03 1.085369e-03 1.151628e-03 + 589 1.442852e-03 1.108204e-03 9.835951e-04 1.410980e-03 1.235966e-03 + 590 1.233529e-03 6.902188e-04 1.292596e-03 1.328124e-03 9.315561e-04 + 591 8.093741e-04 7.528130e-04 1.747974e-03 9.427490e-04 7.941901e-04 + 592 1.507201e-03 1.137699e-03 1.211042e-03 7.036001e-04 1.098437e-03 + 593 1.725291e-03 1.250462e-03 6.995825e-04 1.036806e-03 1.028562e-03 + 594 1.224068e-03 1.088413e-03 8.882130e-04 9.383132e-04 1.117867e-03 + 595 1.355864e-03 1.092031e-03 1.424136e-03 1.457214e-03 9.925948e-04 + 596 1.830926e-03 7.272735e-04 1.111240e-03 1.196321e-03 8.554834e-04 + 597 1.720906e-03 6.490867e-04 8.296443e-04 8.798246e-04 7.635706e-04 + 598 1.340272e-03 1.016063e-03 7.914598e-04 9.675555e-04 8.636150e-04 + 599 1.356476e-03 1.366655e-03 8.437575e-04 1.155526e-03 7.367028e-04 + 600 1.084776e-03 1.278718e-03 7.677849e-04 1.231511e-03 7.524376e-04 + 601 1.063358e-03 6.542243e-04 8.578675e-04 8.397618e-04 7.605079e-04 + 602 7.052891e-04 4.956224e-04 1.177884e-03 8.085496e-04 7.713628e-04 + 603 1.599484e-03 7.086000e-04 6.805108e-04 8.039458e-04 8.528411e-04 + 604 1.883257e-03 8.587133e-04 8.890291e-04 1.205304e-03 1.009056e-03 + 605 1.439033e-03 8.229602e-04 7.910118e-04 1.074845e-03 9.304154e-04 + 606 2.000989e-03 9.966452e-04 9.866889e-04 1.476871e-03 9.870862e-04 + 607 1.945336e-03 1.325542e-03 7.202692e-04 1.134318e-03 9.207578e-04 + 608 1.306002e-03 1.364571e-03 8.783774e-04 8.071382e-04 6.575533e-04 + 609 7.922419e-04 9.329608e-04 7.490312e-04 4.736292e-04 5.577207e-04 + 610 1.098682e-03 1.025255e-03 5.212544e-04 6.254177e-04 9.998373e-04 + 611 1.702274e-03 1.323652e-03 3.886028e-04 7.458270e-04 8.739454e-04 + 612 1.889422e-03 9.539906e-04 8.077729e-04 7.271511e-04 7.145961e-04 + 613 3.230402e-03 1.254250e-03 1.338052e-03 1.031178e-03 1.480644e-03 + 614 3.075147e-03 1.267785e-03 1.425231e-03 9.546589e-04 1.385210e-03 + 615 1.975363e-03 6.649735e-04 9.326391e-04 5.915803e-04 1.427596e-03 + 616 9.040705e-04 7.389359e-04 6.584349e-04 5.897296e-04 1.186283e-03 + 617 1.028804e-03 5.864382e-04 8.380954e-04 5.943926e-04 8.569553e-04 + 618 1.780285e-03 8.718564e-04 7.471314e-04 8.846136e-04 1.144158e-03 + 619 1.900767e-03 1.083866e-03 7.581020e-04 7.404974e-04 1.371178e-03 + 620 1.411557e-03 7.069438e-04 5.536618e-04 8.062180e-04 6.746239e-04 + 621 1.099913e-03 9.190014e-04 6.438285e-04 1.127173e-03 6.575414e-04 + 622 9.297625e-04 1.024597e-03 6.995306e-04 9.444666e-04 7.030277e-04 + 623 7.805872e-04 1.205094e-03 7.367049e-04 9.648438e-04 8.892935e-04 + 624 1.069431e-03 9.563635e-04 5.890372e-04 7.973565e-04 1.109010e-03 + 625 1.122976e-03 7.718736e-04 6.483942e-04 6.504391e-04 1.016702e-03 + 626 1.403127e-03 5.471868e-04 6.528960e-04 5.235719e-04 6.510866e-04 + 627 1.369657e-03 4.632037e-04 1.053252e-03 6.032755e-04 7.307017e-04 + 628 1.180296e-03 9.350095e-04 8.076030e-04 8.934609e-04 5.855301e-04 + 629 1.402081e-03 1.291820e-03 9.878031e-04 1.625128e-03 1.001674e-03 + 630 1.230138e-03 6.868967e-04 9.039506e-04 7.258308e-04 9.119825e-04 + 631 7.403200e-04 6.102032e-04 5.383149e-04 6.872994e-04 6.605362e-04 + 632 1.137496e-03 9.647524e-04 7.444109e-04 5.571058e-04 5.480673e-04 + 633 1.880761e-03 1.691694e-03 9.347603e-04 7.682984e-04 5.586216e-04 + 634 1.343241e-03 7.917712e-04 5.234032e-04 1.036507e-03 8.276612e-04 + 635 1.377552e-03 2.447487e-04 7.746358e-04 9.508426e-04 9.439063e-04 + 636 1.310313e-03 3.915279e-04 9.534946e-04 7.681492e-04 5.696114e-04 + 637 1.097502e-03 5.856338e-04 7.475067e-04 7.414268e-04 4.717478e-04 + 638 1.025567e-03 8.286511e-04 5.225962e-04 7.363669e-04 7.086170e-04 + 639 1.679483e-03 7.118140e-04 8.290361e-04 6.413355e-04 8.984215e-04 + 640 1.581369e-03 8.508301e-04 6.801306e-04 9.503154e-04 1.357539e-03 + 641 1.424790e-03 8.235804e-04 7.696444e-04 6.465202e-04 1.180468e-03 + 642 8.643879e-04 7.368888e-04 7.965804e-04 6.082835e-04 1.273996e-03 + 643 1.157761e-03 5.035436e-04 7.338942e-04 1.197153e-03 7.185979e-04 + 644 1.040775e-03 6.161549e-04 1.008845e-03 7.702441e-04 6.565793e-04 + 645 2.503905e-03 1.447344e-03 1.097133e-03 7.814936e-04 9.197193e-04 + 646 2.387059e-03 1.194427e-03 1.035916e-03 1.133721e-03 1.166271e-03 + 647 9.661421e-04 6.686859e-04 9.154708e-04 8.305935e-04 8.472692e-04 + 648 1.133830e-03 5.190734e-04 7.046111e-04 5.065059e-04 7.097190e-04 + 649 1.099564e-03 5.763196e-04 5.830696e-04 7.335605e-04 7.672715e-04 + 650 1.637159e-03 5.338435e-04 6.516110e-04 9.867213e-04 7.567590e-04 + 651 1.778363e-03 9.574660e-04 9.699422e-04 9.952991e-04 1.267759e-03 + 652 7.369828e-04 7.479599e-04 8.039007e-04 4.791061e-04 6.086080e-04 + 653 8.350101e-04 7.610416e-04 8.452180e-04 3.150710e-04 7.971498e-04 + 654 1.448391e-03 1.128130e-03 8.359320e-04 8.745195e-04 1.167223e-03 + 655 1.479559e-03 1.686044e-03 1.535728e-03 8.468868e-04 1.320007e-03 + 656 2.112706e-03 1.304910e-03 1.554345e-03 1.332133e-03 1.033708e-03 + 657 2.893368e-03 1.419337e-03 2.301688e-03 1.358780e-03 1.561455e-03 + 658 3.367837e-03 1.211999e-03 1.934100e-03 1.518688e-03 1.946284e-03 + 659 1.954557e-03 7.495110e-04 8.969954e-04 9.524665e-04 7.403812e-04 + 660 1.320483e-03 7.701992e-04 1.114040e-03 1.278255e-03 6.212565e-04 + 661 1.116549e-03 9.042347e-04 9.170529e-04 1.266222e-03 7.807586e-04 + 662 8.278860e-04 9.702786e-04 7.958707e-04 1.072256e-03 5.802088e-04 + 663 5.999712e-04 6.741715e-04 1.019474e-03 6.148829e-04 7.335702e-04 + 664 1.082877e-03 5.752549e-04 1.040234e-03 8.152408e-04 5.516828e-04 + 665 1.283345e-03 7.573321e-04 9.993542e-04 6.977771e-04 7.959536e-04 + 666 1.682870e-03 9.514308e-04 9.177337e-04 7.524697e-04 1.149538e-03 + 667 1.405818e-03 1.258221e-03 4.517438e-04 1.016142e-03 9.535336e-04 + 668 1.521006e-03 9.870496e-04 6.898320e-04 1.173501e-03 1.140559e-03 + 669 1.498772e-03 7.857890e-04 7.610907e-04 9.849976e-04 8.687540e-04 + 670 1.197970e-03 7.676136e-04 1.065006e-03 8.357041e-04 1.159232e-03 + 671 9.465575e-04 6.484817e-04 1.145475e-03 9.501689e-04 9.372746e-04 + 672 8.908794e-04 9.508606e-04 5.423485e-04 9.666327e-04 5.891964e-04 + 673 9.392642e-04 8.607149e-04 4.401605e-04 8.350344e-04 9.273188e-04 + 674 1.311066e-03 1.133058e-03 6.114637e-04 9.698461e-04 9.671843e-04 + 675 1.290747e-03 6.690004e-04 6.573140e-04 1.065914e-03 7.744144e-04 + 676 1.092992e-03 6.792534e-04 8.117556e-04 1.537840e-03 7.564889e-04 + 677 1.280015e-03 4.544516e-04 6.773600e-04 7.134883e-04 8.305416e-04 + 678 1.371777e-03 8.223681e-04 6.938966e-04 3.749887e-04 7.728149e-04 + 679 1.677323e-03 8.012521e-04 9.286019e-04 6.815353e-04 6.573352e-04 + 680 1.261880e-03 9.456633e-04 9.359588e-04 9.228374e-04 7.066546e-04 + 681 1.343104e-03 7.147768e-04 6.210794e-04 9.952535e-04 4.708455e-04 + 682 1.786987e-03 1.358045e-03 6.244971e-04 9.211175e-04 4.438076e-04 + 683 1.775592e-03 1.480898e-03 8.689915e-04 6.901308e-04 7.966920e-04 + 684 1.479517e-03 6.912329e-04 1.009922e-03 8.902380e-04 1.028104e-03 + 685 8.499307e-04 7.344507e-04 6.563642e-04 7.128889e-04 8.861383e-04 + 686 7.144700e-04 4.784340e-04 6.037484e-04 5.490026e-04 9.211214e-04 + 687 1.227265e-03 7.145774e-04 7.366665e-04 1.362931e-03 8.314995e-04 + 688 2.562793e-03 1.094488e-03 1.189421e-03 1.140869e-03 1.501254e-03 + 689 1.806569e-03 8.592484e-04 7.758778e-04 9.065393e-04 6.794847e-04 + 690 1.577781e-03 7.368695e-04 1.092835e-03 8.460910e-04 7.062857e-04 + 691 1.906118e-03 7.405014e-04 8.228138e-04 8.796850e-04 1.052230e-03 + 692 9.954725e-04 8.810821e-04 6.230356e-04 8.336413e-04 8.324036e-04 + 693 1.011509e-03 7.432016e-04 8.424923e-04 6.713917e-04 7.088364e-04 + 694 1.115355e-03 7.398357e-04 8.162288e-04 7.073446e-04 3.971813e-04 + 695 9.190111e-04 9.438927e-04 6.398439e-04 8.045876e-04 7.710108e-04 + 696 1.236330e-03 6.528362e-04 5.150355e-04 1.444029e-03 5.989638e-04 + 697 1.636130e-03 1.283209e-03 1.071419e-03 1.554313e-03 9.304219e-04 + 698 1.253012e-03 9.511703e-04 1.234483e-03 1.301245e-03 8.621200e-04 + 699 1.039476e-03 5.600710e-04 1.047796e-03 1.034528e-03 6.462621e-04 + 700 1.335732e-03 5.097462e-04 7.507258e-04 8.086184e-04 6.788663e-04 + 701 9.067431e-04 5.597384e-04 5.746357e-04 6.459036e-04 7.358801e-04 + 702 1.272899e-03 5.217467e-04 6.901708e-04 1.062530e-03 6.249468e-04 + 703 8.873008e-04 6.652150e-04 1.271142e-03 9.118572e-04 8.046597e-04 + 704 1.558097e-03 1.235399e-03 1.294286e-03 8.251920e-04 8.287417e-04 + 705 2.057035e-03 1.094319e-03 1.108655e-03 8.774080e-04 1.165303e-03 + 706 2.398468e-03 8.299368e-04 1.283020e-03 1.479258e-03 8.500176e-04 + 707 1.566265e-03 9.015972e-04 1.083936e-03 1.532661e-03 6.541611e-04 + 708 1.366252e-03 7.287291e-04 9.547207e-04 7.092001e-04 6.152686e-04 + 709 1.338707e-03 5.324333e-04 9.654291e-04 8.106799e-04 6.354503e-04 + 710 1.382721e-03 5.355016e-04 1.108372e-03 5.257406e-04 7.228367e-04 + 711 1.310695e-03 5.057373e-04 6.187570e-04 6.188683e-04 6.816711e-04 + 712 1.042846e-03 5.427685e-04 6.808384e-04 4.520816e-04 5.073078e-04 + 713 1.573603e-03 6.911479e-04 7.470293e-04 8.122104e-04 7.030436e-04 + 714 1.330825e-03 8.607496e-04 6.143924e-04 1.114287e-03 7.395818e-04 + 715 1.224587e-03 8.236188e-04 7.289265e-04 1.581066e-03 5.889980e-04 + 716 1.072361e-03 1.009467e-03 9.706404e-04 9.098185e-04 8.037803e-04 + 717 1.059674e-03 1.560100e-03 1.306480e-03 6.842518e-04 1.593917e-03 + 718 1.109779e-03 1.805667e-03 1.086768e-03 6.671466e-04 1.772146e-03 + 719 1.354326e-03 1.028388e-03 1.016422e-03 7.702877e-04 1.022204e-03 + 720 1.652049e-03 7.035246e-04 7.817602e-04 8.833113e-04 4.586742e-04 + 721 9.903363e-04 9.319590e-04 8.043627e-04 5.971712e-04 5.695792e-04 + 722 1.180179e-03 1.169200e-03 1.186252e-03 8.216498e-04 7.781824e-04 + 723 1.435587e-03 9.010094e-04 1.256696e-03 7.253441e-04 5.309757e-04 + 724 1.497421e-03 8.062408e-04 1.363036e-03 8.693262e-04 9.604065e-04 + 725 1.164185e-03 8.479268e-04 1.319446e-03 5.961581e-04 9.479038e-04 + 726 1.018714e-03 8.575973e-04 1.350757e-03 7.318006e-04 7.192968e-04 + 727 7.748280e-04 6.912983e-04 8.515212e-04 4.881009e-04 7.782591e-04 + 728 1.842815e-03 5.212938e-04 7.142458e-04 6.234412e-04 5.532132e-04 + 729 1.417599e-03 5.967593e-04 7.035270e-04 7.172197e-04 6.562521e-04 + 730 1.234765e-03 6.017330e-04 7.734672e-04 7.019767e-04 6.443530e-04 + 731 1.352577e-03 6.235791e-04 8.279064e-04 1.118398e-03 8.440938e-04 + 732 1.013037e-03 6.431931e-04 7.774759e-04 6.482263e-04 7.923833e-04 + 733 8.109405e-04 1.115749e-03 6.155413e-04 5.852229e-04 1.115049e-03 + 734 1.034349e-03 8.604060e-04 7.714743e-04 5.106525e-04 1.135005e-03 + 735 1.527254e-03 9.385041e-04 7.061280e-04 5.263880e-04 9.760274e-04 + 736 1.432828e-03 8.026307e-04 6.854068e-04 5.859081e-04 8.980068e-04 + 737 1.465776e-03 5.611326e-04 4.807219e-04 1.005496e-03 7.428879e-04 + 738 1.137724e-03 8.245460e-04 7.847216e-04 1.215092e-03 9.479731e-04 + 739 8.936686e-04 9.021368e-04 9.653221e-04 1.083279e-03 1.087217e-03 + 740 9.065583e-04 9.690677e-04 9.819513e-04 8.306779e-04 8.227139e-04 + 741 1.366462e-03 1.003354e-03 7.334993e-04 4.719635e-04 5.186067e-04 + 742 1.443399e-03 1.112611e-03 7.258852e-04 4.712713e-04 6.997208e-04 + 743 1.292466e-03 1.071046e-03 9.171855e-04 6.071246e-04 5.248205e-04 + 744 1.480731e-03 9.575082e-04 6.498682e-04 5.702065e-04 6.557636e-04 + 745 6.860599e-04 7.807782e-04 9.178724e-04 5.127146e-04 5.729446e-04 + 746 8.688305e-04 6.445939e-04 9.207080e-04 5.959955e-04 5.021648e-04 + 747 1.125191e-03 5.792686e-04 6.561320e-04 5.562115e-04 6.500222e-04 + 748 1.076610e-03 3.789173e-04 5.712626e-04 4.899522e-04 4.634916e-04 + 749 1.162265e-03 5.378095e-04 5.516296e-04 5.373545e-04 6.337371e-04 + 750 1.517734e-03 4.009083e-04 6.013835e-04 9.596733e-04 7.066816e-04 + 751 1.517424e-03 5.570390e-04 5.402592e-04 1.172381e-03 1.041856e-03 + 752 1.664441e-02 8.427576e-03 8.041631e-03 7.418762e-03 8.507100e-03 + 753 9.538439e-02 4.672279e-02 4.630555e-02 4.406976e-02 4.523018e-02 + 754 3.259040e-02 1.615063e-02 1.509761e-02 1.569562e-02 1.584374e-02 + 755 1.062861e-03 1.200791e-03 6.610505e-04 9.640244e-04 8.149575e-04 + 756 1.325450e-03 1.027195e-03 9.540406e-04 5.944197e-04 7.813563e-04 + 757 1.260882e-03 1.041295e-03 1.214020e-03 6.180043e-04 1.049500e-03 + 758 1.054145e-03 7.104361e-04 8.982264e-04 6.518755e-04 8.123052e-04 + 759 6.723467e-04 1.112122e-03 8.103371e-04 8.776226e-04 8.225623e-04 + 760 9.887972e-04 1.487863e-03 1.401815e-03 1.231410e-03 1.103750e-03 + 761 1.374887e-03 6.389754e-04 5.987708e-04 1.108480e-03 6.303428e-04 + 762 1.031958e-03 7.662105e-04 5.637148e-04 4.756447e-04 6.620366e-04 + 763 9.252472e-04 6.340861e-04 6.200855e-04 6.116874e-04 4.587101e-04 + 764 6.763321e-04 6.165116e-04 1.011552e-03 8.090878e-04 7.231271e-04 + 765 8.766003e-04 6.293398e-04 7.789490e-04 9.524708e-04 7.707981e-04 + 766 1.088219e-03 7.728007e-04 6.327038e-04 1.209174e-03 9.652373e-04 + 767 9.063302e-04 8.776896e-04 6.914305e-04 8.538634e-04 7.137945e-04 + 768 9.129981e-04 1.106122e-03 5.639437e-04 8.296972e-04 1.162733e-03 + 769 9.786433e-04 5.489576e-04 4.577802e-04 1.040890e-03 6.132567e-04 + 770 1.237097e-03 7.239584e-04 7.908594e-04 7.076557e-04 7.304826e-04 + 771 1.745746e-03 9.484744e-04 7.779256e-04 6.286272e-04 4.950891e-04 + 772 9.249261e-04 8.883839e-04 4.927300e-04 6.413656e-04 4.089757e-04 + 773 1.081517e-03 1.253314e-03 4.366052e-04 7.677523e-04 6.644954e-04 + 774 7.814763e-04 1.234696e-03 4.355217e-04 8.060945e-04 9.663990e-04 + 775 1.051455e-03 9.690745e-04 7.436610e-04 8.542436e-04 9.645364e-04 + 776 1.025589e-03 8.632490e-04 7.103958e-04 1.199854e-03 7.079277e-04 + 777 1.166177e-03 7.949279e-04 6.960932e-04 1.119948e-03 1.008961e-03 + 778 1.692290e-03 1.034144e-03 7.156102e-04 8.249537e-04 8.722684e-04 + 779 1.644730e-03 1.195768e-03 9.520207e-04 1.026166e-03 9.286314e-04 + 780 4.038280e-03 1.881034e-03 1.712067e-03 1.123940e-03 9.234160e-04 + 781 1.668643e-03 1.019395e-03 1.148131e-03 1.142548e-03 7.807967e-04 + 782 1.025056e-03 8.753982e-04 7.521060e-04 7.266545e-04 6.287863e-04 + 783 1.298422e-03 6.483352e-04 8.462029e-04 5.714736e-04 1.225291e-03 + 784 1.574285e-03 6.975836e-04 5.890556e-04 9.647547e-04 1.672116e-03 + 785 1.077427e-03 8.654624e-04 5.384966e-04 7.925261e-04 1.259300e-03 + 786 1.267908e-03 8.938779e-04 1.119700e-03 6.583186e-04 7.307032e-04 + 787 1.688991e-03 1.002790e-03 1.009541e-03 4.972491e-04 1.104752e-03 + 788 1.650153e-03 7.330847e-04 9.942649e-04 5.472172e-04 1.020020e-03 + 789 1.556183e-03 8.609066e-04 8.707784e-04 7.914976e-04 8.952807e-04 + 790 9.352029e-04 6.644555e-04 7.078266e-04 1.019607e-03 1.195968e-03 + 791 8.605866e-04 6.537831e-04 4.968457e-04 8.458975e-04 8.914880e-04 + 792 9.651063e-04 6.514036e-04 5.840364e-04 8.013011e-04 5.483247e-04 + 793 6.998979e-04 7.379957e-04 6.238516e-04 6.119664e-04 7.677628e-04 + 794 8.443995e-04 7.155248e-04 7.117897e-04 7.922135e-04 9.513076e-04 + 795 1.518378e-03 7.451056e-04 1.065781e-03 1.195193e-03 1.020473e-03 + 796 1.316230e-03 8.655658e-04 1.159741e-03 6.347116e-04 1.120176e-03 + 797 1.309683e-03 1.041864e-03 6.770688e-04 6.575644e-04 1.057995e-03 + 798 1.444815e-03 1.126052e-03 7.394496e-04 1.033449e-03 6.754308e-04 + 799 1.637605e-03 7.526596e-04 8.103147e-04 1.077053e-03 1.037391e-03 + 800 3.604965e-03 8.910727e-03 9.888003e-03 9.179960e-03 1.000826e-02 + 801 2.020517e-02 5.297885e-02 5.477002e-02 5.293400e-02 5.715655e-02 + 802 4.389111e-03 1.122189e-02 1.094960e-02 1.182986e-02 1.303133e-02 + 803 1.173920e-03 7.632626e-04 5.910983e-04 8.403668e-04 7.738043e-04 + 804 8.323206e-04 5.808325e-04 7.803788e-04 8.293983e-04 5.169891e-04 + 805 7.804843e-04 7.365013e-04 8.008486e-04 1.021889e-03 1.200587e-03 + 806 9.728831e-04 1.117532e-03 5.894763e-04 7.824601e-04 1.230980e-03 + 807 7.805657e-04 1.183459e-03 5.026573e-04 5.599723e-04 6.718205e-04 + 808 8.581523e-04 9.590335e-04 9.209319e-04 6.984387e-04 5.777496e-04 + 809 9.891571e-04 6.924465e-04 8.763254e-04 8.389302e-04 7.937363e-04 + 810 1.215431e-03 6.964979e-04 7.760245e-04 8.012498e-04 1.030071e-03 + 811 1.303386e-03 6.596664e-04 8.238698e-04 1.226179e-03 1.019756e-03 + 812 1.389458e-03 8.943325e-04 5.345824e-04 8.888722e-04 8.476134e-04 + 813 1.177364e-03 8.023934e-04 5.950231e-04 7.000442e-04 8.738007e-04 + 814 1.076864e-03 1.158458e-03 7.480288e-04 1.024020e-03 6.658451e-04 + 815 1.323492e-03 5.924005e-04 8.943670e-04 8.118652e-04 5.617055e-04 + 816 1.235379e-03 5.808128e-04 1.059757e-03 8.475791e-04 8.730227e-04 + 817 1.226281e-03 5.508065e-04 1.242053e-03 7.099133e-04 9.140884e-04 + 818 1.482381e-03 7.122965e-04 9.546701e-04 3.652166e-04 7.431219e-04 + 819 1.379075e-03 6.092781e-04 7.601235e-04 4.822739e-04 5.430766e-04 + 820 1.308389e-03 9.390328e-04 9.733154e-04 9.639859e-04 7.351825e-04 + 821 1.995910e-03 1.019513e-03 9.174759e-04 8.882779e-04 8.105008e-04 + 822 5.277415e-03 1.769421e-03 1.689021e-03 1.622024e-03 1.152709e-03 + 823 2.021339e-03 1.114293e-03 1.169901e-03 1.475178e-03 6.944960e-04 + 824 1.039889e-03 8.914816e-04 7.978293e-04 8.133477e-04 6.141852e-04 + 825 1.722803e-03 1.044781e-03 7.890425e-04 6.621752e-04 9.830708e-04 + 826 1.276456e-03 7.836914e-04 6.552518e-04 8.450660e-04 6.571516e-04 + 827 1.257623e-03 6.261206e-04 7.482597e-04 8.916589e-04 6.458687e-04 + 828 7.190469e-04 6.452790e-04 5.696063e-04 8.404781e-04 4.111636e-04 + 829 1.285038e-03 9.498132e-04 6.582345e-04 8.184314e-04 4.579738e-04 + 830 1.185598e-03 5.347281e-04 8.172196e-04 5.643959e-04 7.466539e-04 + 831 1.918349e-03 1.001454e-03 1.181293e-03 9.721797e-04 8.561649e-04 + 832 9.927333e-04 8.096002e-04 5.431025e-04 8.136407e-04 5.693024e-04 + 833 1.293074e-03 8.536985e-04 4.688629e-04 5.642451e-04 3.320091e-04 + 834 1.200082e-03 6.787117e-04 6.306785e-04 5.275963e-04 5.326097e-04 + 835 5.353091e-04 5.017100e-04 3.622758e-04 3.801235e-04 5.550585e-04 + 836 9.020257e-04 6.364153e-04 6.257165e-04 4.722358e-04 6.088482e-04 + 837 6.307722e-04 8.083149e-04 8.206263e-04 8.652419e-04 4.061986e-04 + 838 1.356719e-03 1.296115e-03 8.054815e-04 7.967801e-04 6.767350e-04 + 839 1.322792e-03 1.140785e-03 1.051298e-03 7.377241e-04 9.377952e-04 + 840 2.331777e-03 1.112656e-03 1.461474e-03 7.318845e-04 8.289549e-04 + 841 2.697122e-03 6.542267e-04 1.355100e-03 1.264703e-03 9.750678e-04 + 842 1.535664e-03 6.323797e-04 1.057230e-03 5.883326e-04 6.631457e-04 + 843 1.117506e-03 8.676306e-04 1.358888e-03 4.969697e-04 3.797948e-04 + 844 1.341967e-03 7.894111e-04 8.336232e-04 4.798625e-04 5.454873e-04 + 845 8.904424e-04 5.396893e-04 7.737298e-04 5.365536e-04 5.685161e-04 + 846 1.109750e-03 7.873993e-04 8.264894e-04 7.651723e-04 6.140398e-04 + 847 9.337159e-04 5.582058e-04 9.159906e-04 6.707271e-04 7.356724e-04 + 848 2.232639e-02 1.126283e-02 9.061376e-03 1.045790e-02 9.177687e-03 + 849 9.449614e-02 4.232603e-02 3.578986e-02 4.296071e-02 3.806908e-02 + 850 1.607941e-02 7.078194e-03 7.327978e-03 8.545623e-03 7.355472e-03 + 851 1.509343e-03 4.526070e-04 1.196489e-03 1.129473e-03 9.284929e-04 + 852 1.161740e-03 8.148521e-04 8.715193e-04 8.864565e-04 6.705850e-04 + 853 1.604730e-03 7.447246e-04 7.768132e-04 6.986280e-04 6.551853e-04 + 854 1.119502e-03 3.815412e-04 8.737512e-04 4.382500e-04 7.602243e-04 + 855 1.298915e-03 3.033538e-04 8.362570e-04 5.929745e-04 8.519370e-04 + 856 1.053518e-03 3.883308e-04 5.032555e-04 7.313088e-04 6.178231e-04 + 857 1.263393e-03 6.976030e-04 3.733008e-04 8.521184e-04 6.932472e-04 + 858 1.323847e-03 1.089876e-03 7.070585e-04 9.549647e-04 8.539266e-04 + 859 1.056699e-03 8.866633e-04 1.086593e-03 1.079690e-03 8.048020e-04 + 860 9.389778e-04 4.694790e-04 5.791147e-04 5.713393e-04 8.744114e-04 + 861 6.334924e-04 8.133931e-04 5.127080e-04 6.203091e-04 1.142344e-03 + 862 9.559966e-04 1.309070e-03 9.930727e-04 8.087445e-04 1.314952e-03 + 863 1.133624e-03 8.821642e-04 1.102321e-03 7.559985e-04 9.299315e-04 + 864 1.313926e-03 7.639826e-04 8.375271e-04 5.775353e-04 1.189575e-03 + 865 1.766678e-03 5.370796e-04 5.900148e-04 7.196054e-04 9.556503e-04 + 866 1.760558e-03 7.660577e-04 6.257386e-04 1.476595e-03 8.270299e-04 + 867 1.077061e-03 7.274748e-04 3.952394e-04 7.976381e-04 6.353233e-04 + 868 1.479659e-03 9.898051e-04 6.920519e-04 8.507394e-04 6.709337e-04 + 869 1.220914e-03 4.491790e-04 9.941474e-04 9.347848e-04 4.062007e-04 + 870 1.032680e-03 6.065440e-04 1.348496e-03 1.035524e-03 7.235456e-04 + 871 1.080177e-03 6.534166e-04 8.122139e-04 8.114036e-04 1.158606e-03 + 872 9.096365e-04 4.843796e-04 4.970564e-04 9.380787e-04 8.659522e-04 + 873 1.550339e-03 6.558893e-04 8.570807e-04 6.859134e-04 5.963969e-04 + 874 7.429744e-04 5.974499e-04 9.499633e-04 6.917570e-04 4.963678e-04 + 875 8.303491e-04 4.457904e-04 7.231452e-04 8.198110e-04 4.530274e-04 + 876 5.664806e-04 7.221769e-04 5.906497e-04 7.234247e-04 6.045620e-04 + 877 7.658807e-04 7.563576e-04 6.573044e-04 6.188733e-04 5.921347e-04 + 878 6.654046e-04 9.065320e-04 6.364645e-04 7.406722e-04 7.004906e-04 + 879 9.090782e-04 9.333219e-04 6.919864e-04 6.804887e-04 6.394355e-04 + 880 1.161737e-03 7.813722e-04 6.750561e-04 5.787987e-04 4.864864e-04 + 881 1.088751e-03 1.244750e-03 1.280499e-03 1.013261e-03 7.005973e-04 + 882 1.063147e-03 1.052058e-03 7.591832e-04 7.526622e-04 9.455217e-04 + 883 9.159163e-04 4.091133e-04 6.132204e-04 6.166440e-04 8.136891e-04 + 884 8.749773e-04 4.541154e-04 8.516421e-04 9.637774e-04 1.084979e-03 + 885 1.554290e-03 4.825630e-04 1.218437e-03 6.861566e-04 7.382620e-04 + 886 1.478995e-03 7.378783e-04 9.133867e-04 7.996759e-04 4.202224e-04 + 887 1.311727e-03 4.999784e-04 9.367107e-04 8.841672e-04 7.233138e-04 + 888 1.002361e-03 4.997059e-04 7.993962e-04 9.243813e-04 1.090869e-03 + 889 1.487352e-03 6.363892e-04 5.423186e-04 7.317556e-04 7.848046e-04 + 890 1.831688e-03 1.322445e-03 6.640308e-04 9.812306e-04 6.388240e-04 + 891 1.277778e-03 1.458144e-03 7.763823e-04 1.069253e-03 4.977370e-04 + 892 9.470374e-04 9.602225e-04 5.784086e-04 8.110833e-04 5.529905e-04 + 893 9.283501e-04 6.073376e-04 5.009302e-04 6.569474e-04 4.699401e-04 + 894 7.750276e-04 3.957685e-04 5.698995e-04 6.949158e-04 6.769873e-04 + 895 1.393158e-03 3.942739e-04 6.637567e-04 1.125740e-03 6.084494e-04 + 896 1.971901e-03 1.221532e-03 1.471837e-03 1.749062e-03 1.544831e-03 + 897 2.110311e-03 2.203876e-03 2.013722e-03 1.981821e-03 1.896820e-03 + 898 1.355730e-03 8.310846e-04 9.000607e-04 7.709283e-04 6.875215e-04 + 899 8.922419e-04 8.251183e-04 6.861225e-04 6.524704e-04 6.036345e-04 + 900 8.535841e-04 8.813419e-04 6.697723e-04 8.534912e-04 1.145651e-03 + 901 7.822274e-04 8.438087e-04 6.657395e-04 5.768207e-04 7.746855e-04 + 902 8.987680e-04 8.118637e-04 7.019635e-04 1.139460e-03 1.015527e-03 + 903 1.321554e-03 6.854200e-04 7.353411e-04 1.152654e-03 5.917144e-04 + 904 1.057685e-03 8.909414e-04 6.645421e-04 8.322465e-04 6.714010e-04 + 905 1.300276e-03 9.991948e-04 7.681950e-04 7.888366e-04 9.240689e-04 + 906 1.584912e-03 6.329970e-04 7.487357e-04 9.910813e-04 5.040947e-04 + 907 1.071724e-03 6.496958e-04 9.940455e-04 8.515563e-04 5.310391e-04 + 908 1.816632e-03 9.060513e-04 8.770423e-04 6.799262e-04 7.413345e-04 + 909 1.888977e-03 8.976548e-04 8.524727e-04 7.493176e-04 6.243731e-04 + 910 1.005045e-03 1.091221e-03 1.076624e-03 1.054409e-03 5.354222e-04 + 911 9.701140e-04 7.838658e-04 6.852662e-04 1.037401e-03 5.678166e-04 + 912 5.963722e-04 7.241035e-04 5.862695e-04 8.225910e-04 7.157323e-04 + 913 5.845821e-04 6.394403e-04 6.966967e-04 1.089525e-03 8.500523e-04 + 914 7.297710e-04 6.902530e-04 9.240476e-04 1.038391e-03 7.132927e-04 + 915 9.577588e-04 4.703068e-04 6.168756e-04 8.524080e-04 7.360604e-04 + 916 9.278441e-04 5.430675e-04 6.421183e-04 8.542305e-04 5.557961e-04 + 917 1.765664e-03 8.336922e-04 6.747459e-04 9.322091e-04 6.191488e-04 + 918 1.190239e-03 9.331550e-04 6.538188e-04 8.037173e-04 6.941530e-04 + 919 7.709502e-04 5.032207e-04 4.457594e-04 6.422415e-04 5.098844e-04 + 920 1.051432e-03 4.184504e-04 7.108439e-04 6.723570e-04 6.672116e-04 + 921 1.447792e-03 6.046802e-04 8.053162e-04 5.631290e-04 6.912581e-04 + 922 1.040762e-03 8.952134e-04 4.943004e-04 1.054082e-03 5.919414e-04 + 923 1.208353e-03 8.697404e-04 1.221727e-03 9.714051e-04 5.575631e-04 + 924 8.231559e-04 5.576998e-04 1.285671e-03 9.299369e-04 1.017337e-03 + 925 1.239659e-03 5.716796e-04 1.040649e-03 9.573582e-04 8.685655e-04 + 926 1.083132e-03 4.246037e-04 7.931047e-04 3.999279e-04 6.101620e-04 + 927 7.956195e-04 3.577082e-04 1.188177e-03 5.705767e-04 4.692621e-04 + 928 1.217523e-03 6.013313e-04 9.766112e-04 9.512441e-04 5.367834e-04 + 929 1.615224e-03 6.042128e-04 7.188669e-04 7.794350e-04 7.575930e-04 + 930 1.399973e-03 5.862869e-04 7.314952e-04 7.734518e-04 5.182689e-04 + 931 1.096754e-03 9.159655e-04 7.693249e-04 6.132282e-04 7.705746e-04 + 932 6.626746e-04 9.288363e-04 6.236420e-04 6.233698e-04 6.697854e-04 + 933 7.621807e-04 5.319759e-04 6.775079e-04 5.749589e-04 5.990144e-04 + 934 9.122556e-04 3.472936e-04 7.765539e-04 5.940678e-04 9.107584e-04 + 935 1.075268e-03 7.601661e-04 5.219539e-04 9.998998e-04 6.084933e-04 + 936 1.142930e-03 4.712686e-04 4.952050e-04 1.171337e-03 6.030544e-04 + 937 2.175585e-03 6.523884e-04 8.289736e-04 1.491727e-03 8.813544e-04 + 938 2.203995e-03 8.374971e-04 9.671380e-04 1.213269e-03 8.615302e-04 + 939 1.661259e-03 1.107150e-03 9.481353e-04 8.687439e-04 9.371141e-04 + 940 1.346753e-03 7.750094e-04 6.338554e-04 6.836548e-04 6.668858e-04 + 941 5.605366e-04 7.407920e-04 5.257343e-04 5.743397e-04 4.906449e-04 + 942 9.130226e-04 5.725357e-04 7.280356e-04 6.209981e-04 8.347686e-04 + 943 1.736194e-03 1.327550e-03 1.150584e-03 9.622917e-04 1.778925e-03 + 944 7.693944e-03 6.521161e-03 5.468787e-03 4.728830e-03 4.854721e-03 + 945 1.081784e-02 7.238949e-03 8.302659e-03 7.339524e-03 7.737427e-03 + 946 2.399813e-03 1.977823e-03 2.533093e-03 2.020514e-03 2.838750e-03 + 947 7.117913e-04 7.706332e-04 9.195785e-04 7.976340e-04 9.239849e-04 + 948 1.838020e-03 1.002742e-03 9.398235e-04 7.103853e-04 7.573707e-04 + 949 2.061875e-03 9.539064e-04 7.600886e-04 5.034322e-04 4.720111e-04 + 950 1.638040e-03 8.565244e-04 7.151659e-04 6.845593e-04 6.511382e-04 + 951 1.038011e-03 6.291759e-04 6.589558e-04 9.416116e-04 6.599088e-04 + 952 1.025460e-03 6.195213e-04 5.847107e-04 1.021245e-03 3.912847e-04 + 953 1.000239e-03 9.672970e-04 8.526441e-04 7.879741e-04 5.761066e-04 + 954 9.071454e-04 8.237402e-04 8.987852e-04 4.688347e-04 5.503722e-04 + 955 6.544136e-04 5.679119e-04 8.624892e-04 5.334381e-04 5.396666e-04 + 956 7.770216e-04 5.972764e-04 5.658204e-04 7.504946e-04 6.083128e-04 + 957 1.033941e-03 8.266634e-04 6.949425e-04 8.824063e-04 7.285245e-04 + 958 1.206395e-03 5.963669e-04 8.244123e-04 4.582704e-04 6.259474e-04 + 959 1.512048e-03 4.998261e-04 8.106175e-04 4.452570e-04 7.732348e-04 + 960 1.308070e-03 4.299387e-04 6.370256e-04 5.405388e-04 6.172756e-04 + 961 8.920163e-04 6.727443e-04 7.680869e-04 5.018785e-04 8.413011e-04 + 962 1.004231e-03 5.708706e-04 6.283178e-04 3.997153e-04 4.037871e-04 + 963 1.124396e-03 5.566560e-04 5.583602e-04 8.407338e-04 5.122239e-04 + 964 6.503652e-04 5.387906e-04 4.707830e-04 1.122552e-03 7.542000e-04 + 965 1.093044e-03 5.006527e-04 6.030665e-04 1.108163e-03 9.918306e-04 + 966 1.169620e-03 7.364862e-04 7.747102e-04 5.428842e-04 5.935511e-04 + 967 1.178911e-03 6.188912e-04 8.089376e-04 5.481966e-04 3.630536e-04 + 968 1.128388e-03 8.546877e-04 9.258616e-04 9.722862e-04 6.284593e-04 + 969 9.853393e-04 8.248998e-04 7.187049e-04 9.013770e-04 6.052460e-04 + 970 1.041556e-03 5.558699e-04 7.707440e-04 8.574489e-04 4.562247e-04 + 971 9.611256e-04 6.965697e-04 1.050703e-03 1.211790e-03 4.441742e-04 + 972 1.131439e-03 1.030429e-03 6.971761e-04 7.326647e-04 8.564459e-04 + 973 1.301929e-03 1.410015e-03 8.827447e-04 6.921577e-04 6.919146e-04 + 974 7.184030e-04 7.849143e-04 5.675831e-04 5.739369e-04 6.559053e-04 + 975 5.979775e-04 6.725451e-04 5.984809e-04 8.758522e-04 8.043501e-04 + 976 7.977874e-04 7.323921e-04 7.318622e-04 6.874268e-04 8.282722e-04 + 977 7.554305e-04 6.140170e-04 6.222484e-04 9.402660e-04 5.453315e-04 + 978 9.457285e-04 4.318356e-04 6.444823e-04 5.448583e-04 4.627129e-04 + 979 1.049404e-03 6.863590e-04 9.933512e-04 8.468957e-04 6.391828e-04 + 980 1.249238e-03 8.282146e-04 1.145042e-03 8.455407e-04 1.177253e-03 + 981 1.674080e-03 5.170281e-04 1.008004e-03 9.359774e-04 9.466483e-04 + 982 8.909777e-04 4.392298e-04 7.045195e-04 6.460088e-04 6.886626e-04 + 983 6.384191e-04 8.099138e-04 6.874361e-04 5.412960e-04 7.090568e-04 + 984 1.082460e-03 1.127323e-03 5.997537e-04 1.037665e-03 8.289180e-04 + 985 1.235180e-03 8.489455e-04 5.897740e-04 1.049244e-03 8.369936e-04 + 986 8.120243e-04 7.121604e-04 7.234784e-04 9.487974e-04 8.995765e-04 + 987 1.129348e-03 5.408759e-04 7.046012e-04 9.547603e-04 1.023611e-03 + 988 1.099658e-03 5.429693e-04 8.068064e-04 7.294188e-04 1.081262e-03 + 989 6.853939e-04 4.880345e-04 4.046821e-04 6.552939e-04 8.399190e-04 + 990 5.779539e-04 6.235661e-04 5.619980e-04 5.697171e-04 7.465224e-04 + 991 9.226583e-04 7.768463e-04 7.686979e-04 8.499777e-04 7.307189e-04 + 992 1.057219e-03 9.889024e-04 6.344526e-04 6.999870e-04 9.474813e-04 + 993 1.224920e-03 9.317128e-04 9.126366e-04 4.817289e-04 9.123335e-04 + 994 8.382069e-04 8.355192e-04 1.220319e-03 7.825957e-04 9.618322e-04 + 995 1.329373e-03 9.099078e-04 9.760661e-04 1.224917e-03 1.237665e-03 + 996 1.675861e-03 7.908538e-04 8.933652e-04 1.065122e-03 8.871115e-04 + 997 1.469834e-03 6.865031e-04 3.673159e-04 6.183891e-04 5.439429e-04 + 998 1.003586e-03 7.758371e-04 5.604511e-04 5.970554e-04 9.000312e-04 + 999 1.229729e-03 6.747079e-04 7.230975e-04 7.751584e-04 1.081183e-03 + 1000 1.958252e-03 8.628680e-04 5.109025e-04 1.242770e-03 6.628533e-04 + 1001 1.329887e-03 9.174520e-04 7.530504e-04 1.407480e-03 4.516286e-04 + 1002 1.175144e-03 1.140101e-03 1.167207e-03 6.714239e-04 8.249383e-04 + 1003 9.064029e-04 9.874226e-04 8.246905e-04 5.982738e-04 7.128447e-04 + 1004 1.031599e-03 9.096127e-04 6.355563e-04 6.475820e-04 8.645865e-04 + 1005 1.535018e-03 6.747532e-04 8.418785e-04 7.256793e-04 1.041588e-03 + 1006 1.109990e-03 1.047166e-03 1.229308e-03 1.086968e-03 8.852076e-04 + 1007 1.580607e-03 6.073461e-04 9.291290e-04 8.386448e-04 8.683288e-04 + 1008 7.097610e-04 3.375227e-04 3.722426e-04 4.638473e-04 4.999629e-04 + 1009 1.251880e-03 4.630373e-04 8.605795e-04 3.871512e-04 9.469866e-04 + 1010 1.328144e-03 5.601721e-04 8.372005e-04 1.126257e-03 1.276807e-03 + 1011 9.701066e-04 6.153346e-04 7.828173e-04 4.675286e-04 8.979178e-04 + 1012 9.602755e-04 9.323783e-04 5.180089e-04 7.409436e-04 5.905757e-04 + 1013 7.639030e-04 1.133418e-03 5.786104e-04 7.475968e-04 9.341365e-04 + 1014 7.770819e-04 1.051010e-03 7.586465e-04 6.341042e-04 6.718888e-04 + 1015 1.034699e-03 5.879660e-04 6.756658e-04 3.347400e-04 4.642037e-04 + 1016 1.169240e-03 1.012939e-03 9.545710e-04 7.597867e-04 5.505274e-04 + 1017 1.323271e-03 1.097691e-03 6.076482e-04 7.078028e-04 6.832659e-04 + 1018 1.015122e-03 9.659249e-04 6.166247e-04 7.858242e-04 8.775920e-04 + 1019 9.598639e-04 4.039823e-04 9.597124e-04 7.141949e-04 9.224881e-04 + 1020 1.071508e-03 5.308761e-04 7.914807e-04 1.040910e-03 6.765074e-04 + 1021 1.253456e-03 6.909212e-04 7.777144e-04 9.293096e-04 7.119227e-04 + 1022 1.311329e-03 5.342202e-04 6.126760e-04 3.401041e-04 5.574472e-04 + 1023 1.234621e-03 5.439002e-04 9.459902e-04 8.233099e-04 7.334972e-04 + 1024 8.384167e-04 3.397571e-04 8.545499e-04 9.640266e-04 5.670439e-04 + 1025 6.291563e-04 4.593110e-04 7.497875e-04 1.249301e-03 4.237519e-04 + A6 A7 A8 A9 A10 + 2 7.500007e-02 1.566431e-01 8.947750e-02 1.255012e-01 7.145744e-02 + 3 4.796481e-02 4.385965e-02 4.034001e-02 4.014107e-02 3.046959e-02 + 4 3.940569e-02 2.899218e-02 3.310394e-02 3.697526e-02 1.660321e-02 + 5 1.873055e-02 2.391193e-02 1.846519e-02 2.215393e-02 1.747296e-02 + 6 2.769358e-02 2.971012e-02 1.650969e-02 2.269153e-02 1.302732e-02 + 7 1.765560e-02 1.285733e-02 2.246259e-02 1.976615e-02 8.992184e-03 + 8 1.215345e-02 1.364186e-02 1.581736e-02 1.148501e-02 1.740226e-02 + 9 9.413394e-03 1.092815e-02 1.516848e-02 1.339431e-02 1.785473e-02 + 10 1.248181e-02 1.007520e-02 1.340858e-02 1.522798e-02 1.076476e-02 + 11 1.488905e-02 1.230987e-02 1.540779e-02 1.129901e-02 1.703967e-02 + 12 8.636627e-03 7.603004e-03 1.467159e-02 1.764752e-02 1.582020e-02 + 13 1.675836e-02 1.731019e-02 1.426221e-02 1.218304e-02 1.156899e-02 + 14 1.147252e-02 1.368864e-02 1.501444e-02 1.380484e-02 1.864673e-02 + 15 1.954828e-02 1.978700e-02 1.563339e-02 1.887489e-02 1.720904e-02 + 16 3.041042e-02 2.448715e-02 2.243504e-02 1.824834e-02 1.827047e-02 + 17 2.119461e-02 2.048328e-02 2.029111e-02 2.577132e-02 2.270199e-02 + 18 2.697642e-02 2.294965e-02 3.102777e-02 2.521493e-02 2.421425e-02 + 19 1.966400e-02 1.404350e-02 1.438618e-02 1.545660e-02 1.501164e-02 + 20 1.022443e-01 7.345112e-02 9.198640e-02 8.835973e-02 8.726279e-02 + 21 4.021630e+02 3.985651e+02 3.987008e+02 3.991973e+02 3.944492e+02 + 22 3.291240e+03 3.254281e+03 3.260411e+03 3.263976e+03 3.224975e+03 + 23 8.702806e+02 8.598268e+02 8.618370e+02 8.628641e+02 8.524090e+02 + 24 3.564768e-01 3.096722e-01 3.369582e-01 3.344010e-01 3.213705e-01 + 25 9.925478e-03 7.874011e-03 6.925541e-03 8.851845e-03 7.824418e-03 + 26 1.145419e-02 2.506540e-02 2.122862e-02 2.431633e-02 1.451122e-02 + 27 2.670367e-02 1.948247e-02 2.388379e-02 1.982335e-02 2.297450e-02 + 28 1.742246e-02 1.993118e-02 1.306805e-02 2.327883e-02 2.023315e-02 + 29 1.637127e-02 1.791963e-02 2.071082e-02 1.425298e-02 1.594875e-02 + 30 1.300406e-02 1.007241e-02 1.026980e-02 1.194101e-02 1.115195e-02 + 31 1.077723e-02 1.464344e-02 1.486982e-02 1.174169e-02 1.236490e-02 + 32 8.324195e-03 8.674118e-03 7.567033e-03 1.420513e-02 1.077283e-02 + 33 8.684495e-03 7.856332e-03 9.523964e-03 8.154520e-03 8.307630e-03 + 34 6.739076e-03 1.030185e-02 8.391521e-03 9.478874e-03 1.185845e-02 + 35 7.304977e-03 4.269013e-03 6.989556e-03 6.371304e-03 4.910736e-03 + 36 8.374513e-03 9.300474e-03 5.545030e-03 5.552369e-03 4.467605e-03 + 37 4.610791e-03 6.481807e-03 6.483698e-03 7.906425e-03 5.700535e-03 + 38 4.039864e-03 3.169141e-03 4.367394e-03 5.945753e-03 5.392353e-03 + 39 6.226253e-03 5.580687e-03 4.907108e-03 4.987333e-03 4.837002e-03 + 40 6.714801e-03 4.089761e-03 6.672092e-03 3.525781e-03 5.484839e-03 + 41 4.804227e-03 3.912531e-03 6.127072e-03 4.822003e-03 4.373220e-03 + 42 1.281878e-02 1.427440e-02 7.187018e-03 8.545729e-03 1.058846e-02 + 43 1.305055e-01 1.117518e-01 3.657736e-02 9.113668e-02 1.007678e-01 + 44 5.442721e-02 4.695236e-02 1.685827e-02 3.650807e-02 4.229637e-02 + 45 3.668709e-03 5.559394e-03 3.214489e-03 4.302506e-03 4.572304e-03 + 46 3.035510e-03 2.795791e-03 2.442067e-03 3.110427e-03 3.044474e-03 + 47 2.906282e-03 3.021321e-03 2.754381e-03 5.107974e-03 3.764018e-03 + 48 3.940137e-03 3.265066e-03 4.665094e-03 3.618767e-03 3.581069e-03 + 49 2.653493e-03 3.073509e-03 4.387072e-03 3.324038e-03 3.563318e-03 + 50 4.089854e-03 4.055458e-03 4.617344e-03 3.201266e-03 2.194628e-03 + 51 3.203264e-03 2.542240e-03 4.730356e-03 2.026527e-03 2.987502e-03 + 52 6.001446e-03 4.813401e-03 3.658882e-03 2.885140e-03 4.187459e-03 + 53 3.145995e-03 3.350924e-03 3.271982e-03 2.976384e-03 2.874547e-03 + 54 3.340379e-03 2.635620e-03 2.587941e-03 2.105943e-03 1.511334e-03 + 55 3.141496e-03 4.837099e-03 2.667056e-03 3.186724e-03 3.001334e-03 + 56 3.512883e-03 2.753310e-03 2.765911e-03 4.206325e-03 2.750975e-03 + 57 3.220830e-03 3.767223e-03 2.724414e-03 3.281501e-03 2.762825e-03 + 58 3.105450e-03 2.102748e-03 4.198148e-03 3.304825e-03 4.899841e-03 + 59 2.172917e-03 2.723027e-03 2.616715e-03 1.370072e-03 2.852591e-03 + 60 1.872878e-03 2.682830e-03 1.863845e-03 2.153436e-03 1.720529e-03 + 61 2.867691e-03 2.617212e-03 3.645226e-03 2.355489e-03 3.583998e-03 + 62 1.139794e-03 3.302333e-03 2.659587e-03 1.344398e-03 2.389382e-03 + 63 1.089948e-01 1.206308e-01 1.227655e-01 1.272661e-01 1.226967e-01 + 64 2.133041e+00 2.467183e+00 2.485074e+00 2.512928e+00 2.524834e+00 + 65 1.145678e+00 1.340945e+00 1.335859e+00 1.352605e+00 1.350940e+00 + 66 7.876398e-03 1.166450e-02 9.161749e-03 1.020259e-02 7.659155e-03 + 67 2.475162e-03 2.161074e-03 3.404002e-03 2.733398e-03 3.731043e-03 + 68 2.574609e-03 2.010840e-03 3.030971e-03 1.612414e-03 2.351073e-03 + 69 2.406718e-03 1.473545e-03 3.121593e-03 2.014586e-03 1.955783e-03 + 70 1.835995e-03 1.156765e-03 2.830832e-03 2.515917e-03 2.226783e-03 + 71 1.682257e-03 2.192457e-03 3.528948e-03 1.954144e-03 2.210208e-03 + 72 1.671419e-03 1.520850e-03 2.298384e-03 2.970397e-03 1.341027e-03 + 73 1.819241e-03 2.830200e-03 2.684854e-03 1.639703e-03 1.527765e-03 + 74 2.351504e-03 2.338118e-03 1.520080e-03 1.209472e-03 2.167796e-03 + 75 2.460561e-03 2.542542e-03 2.442807e-03 2.866570e-03 2.328330e-03 + 76 1.924305e-03 2.582828e-03 2.274744e-03 1.723185e-03 1.706652e-03 + 77 2.422389e-03 1.983886e-03 1.317278e-03 1.998466e-03 1.580685e-03 + 78 2.231825e-03 1.971931e-03 1.160452e-03 2.011633e-03 1.789547e-03 + 79 2.493440e-03 2.761217e-03 1.739646e-03 1.650218e-03 2.039454e-03 + 80 1.645167e-03 2.098155e-03 2.408222e-03 1.316625e-03 2.301102e-03 + 81 2.180997e-03 1.408915e-03 2.697453e-03 2.141349e-03 2.356806e-03 + 82 2.881514e-03 1.800617e-03 3.298858e-03 2.513354e-03 2.376412e-03 + 83 1.772205e-03 1.675680e-03 2.439685e-03 2.533496e-03 2.818760e-03 + 84 2.957944e-03 2.683379e-03 3.309558e-03 2.333408e-03 4.471718e-03 + 85 2.827381e-02 1.026667e-02 4.763806e-03 1.132024e-02 3.230608e-03 + 86 2.303950e-02 8.187287e-03 4.008578e-03 9.974188e-03 3.437179e-03 + 87 1.957405e-03 1.201275e-03 2.630959e-03 2.160570e-03 2.239353e-03 + 88 1.324616e-03 1.663453e-03 1.511460e-03 1.621260e-03 1.394514e-03 + 89 1.929885e-03 1.425061e-03 1.225664e-03 1.902518e-03 9.805131e-04 + 90 2.315037e-03 1.521760e-03 1.432703e-03 1.937403e-03 1.472629e-03 + 91 8.475403e-04 2.357406e-03 2.369191e-03 1.950792e-03 1.536083e-03 + 92 1.477223e-03 1.679322e-03 3.856083e-03 2.174204e-03 1.657640e-03 + 93 2.012135e-03 1.830358e-03 3.109758e-03 1.497022e-03 1.194496e-03 + 94 9.755013e-04 1.438775e-03 1.885645e-03 1.506621e-03 1.202793e-03 + 95 1.754821e-03 1.865319e-03 2.362410e-03 1.768308e-03 1.642858e-03 + 96 1.565669e-03 1.333482e-03 2.007129e-03 1.339153e-03 1.920028e-03 + 97 1.773094e-03 1.285607e-03 1.572169e-03 1.941948e-03 1.409218e-03 + 98 1.778252e-03 1.303678e-03 1.611839e-03 1.176008e-03 1.094000e-03 + 99 1.025035e-03 1.956418e-03 1.290780e-03 1.401666e-03 1.552277e-03 + 100 1.431954e-03 1.829035e-03 1.084969e-03 1.729076e-03 1.863585e-03 + 101 1.255331e-03 1.936504e-03 1.565719e-03 1.880858e-03 1.709320e-03 + 102 1.403924e-03 1.590233e-03 1.876827e-03 1.753627e-03 1.740783e-03 + 103 1.561789e-03 2.571849e-03 2.300281e-03 1.936234e-03 2.259834e-03 + 104 1.895782e-03 1.890544e-03 2.099194e-03 3.327831e-03 2.536555e-03 + 105 2.033610e-03 1.919868e-03 3.585261e-03 3.384865e-03 3.017810e-03 + 106 3.981059e-02 2.315401e-02 7.730573e-02 2.408781e-02 2.553889e-02 + 107 4.371550e-02 2.494066e-02 8.157718e-02 2.489101e-02 2.585054e-02 + 108 1.487393e-03 1.979001e-03 2.833248e-03 2.275971e-03 1.594298e-03 + 109 2.166775e-03 2.214195e-03 3.231406e-03 2.166228e-03 1.457391e-03 + 110 1.089381e-03 1.837068e-03 2.367281e-03 1.616545e-03 1.642644e-03 + 111 1.824557e-03 1.796288e-03 2.216621e-03 1.718166e-03 1.695540e-03 + 112 1.196515e-03 2.066030e-03 2.252653e-03 1.983910e-03 1.932455e-03 + 113 1.264839e-03 1.217907e-03 1.764693e-03 1.403852e-03 9.845390e-04 + 114 1.726375e-03 6.765745e-04 1.858981e-03 2.483312e-03 9.995637e-04 + 115 2.098163e-03 8.115929e-04 1.587818e-03 1.178825e-03 1.187255e-03 + 116 2.013546e-03 1.118287e-03 1.487271e-03 1.212882e-03 1.437301e-03 + 117 3.057457e-03 1.524774e-03 1.497902e-03 1.456092e-03 9.132181e-04 + 118 2.001834e-03 1.280094e-03 1.980617e-03 1.320541e-03 1.566548e-03 + 119 2.386331e-03 2.082708e-03 1.835418e-03 6.950720e-04 2.619511e-03 + 120 1.593404e-03 1.638822e-03 1.299628e-03 1.007090e-03 1.868997e-03 + 121 1.905072e-03 1.440291e-03 1.178401e-03 2.035075e-03 2.418956e-03 + 122 1.976330e-03 1.467205e-03 9.711944e-04 1.223657e-03 1.943236e-03 + 123 1.777527e-03 1.562047e-03 1.157565e-03 1.690055e-03 1.630402e-03 + 124 1.367272e-03 1.592838e-03 1.078352e-03 1.439209e-03 2.120101e-03 + 125 1.557878e-03 1.543317e-03 1.450090e-03 1.005650e-03 1.878739e-03 + 126 1.496291e-03 1.285906e-03 3.808053e-03 1.368121e-03 1.962219e-03 + 127 6.136808e-03 3.006104e-03 5.129610e-03 1.268757e-03 1.714948e-03 + 128 9.639590e-03 4.471402e-03 4.707814e-03 1.866527e-03 1.637532e-03 + 129 1.661061e-03 2.605149e-03 2.224559e-03 1.996946e-03 1.475968e-03 + 130 1.224903e-03 1.639323e-03 1.543087e-03 2.026915e-03 1.634564e-03 + 131 1.631220e-03 1.898879e-03 1.755021e-03 1.776750e-03 1.901233e-03 + 132 1.478386e-03 1.438010e-03 1.417562e-03 1.136263e-03 1.434170e-03 + 133 1.848266e-03 2.164647e-03 2.736721e-03 1.718960e-03 1.469868e-03 + 134 1.610695e-03 1.340807e-03 2.183326e-03 1.197021e-03 1.708977e-03 + 135 1.406145e-03 1.276445e-03 1.176295e-03 1.847311e-03 1.343018e-03 + 136 1.930616e-03 1.077874e-03 2.116284e-03 1.493599e-03 1.021230e-03 + 137 1.946795e-03 1.574611e-03 8.777466e-04 2.110456e-03 1.671214e-03 + 138 2.533004e-03 1.010414e-03 2.735563e-03 2.208645e-03 1.935509e-03 + 139 8.787422e-04 8.158944e-04 1.703599e-03 1.499236e-03 1.902703e-03 + 140 1.801495e-03 1.574371e-03 1.534548e-03 1.751544e-03 1.831468e-03 + 141 2.405207e-03 1.254203e-03 1.681370e-03 2.152451e-03 1.394082e-03 + 142 1.506604e-03 1.139057e-03 1.935554e-03 1.668880e-03 1.036912e-03 + 143 1.139093e-03 1.184189e-03 1.661919e-03 9.565442e-04 2.036422e-03 + 144 2.088695e-03 1.591518e-03 1.690745e-03 1.180272e-03 1.435181e-03 + 145 2.254227e-03 1.893110e-03 2.958575e-03 1.624895e-03 1.790756e-03 + 146 9.960479e-04 2.138043e-03 1.653119e-03 2.309758e-03 1.269555e-03 + 147 1.221593e-03 2.392267e-03 1.523507e-03 3.436003e-03 1.192309e-03 + 148 8.082357e-03 3.372236e-03 1.302350e-02 1.236469e-02 5.304511e-03 + 149 1.592566e-02 5.980687e-03 2.460910e-02 1.929973e-02 1.006658e-02 + 150 2.537612e-03 2.574016e-03 3.052231e-03 1.589008e-03 1.705643e-03 + 151 1.389626e-03 1.622228e-03 1.731409e-03 1.121280e-03 1.090496e-03 + 152 1.433452e-03 9.985549e-04 1.623527e-03 1.474687e-03 8.601099e-04 + 153 1.094512e-03 5.817341e-04 1.389040e-03 1.186781e-03 1.128442e-03 + 154 2.041763e-03 4.655209e-04 4.336666e-04 1.143047e-03 8.445203e-04 + 155 1.624022e-03 1.021190e-03 1.153360e-03 1.166950e-03 1.088317e-03 + 156 7.779025e-04 1.319980e-03 1.109302e-03 1.309891e-03 1.464679e-03 + 157 7.393282e-04 1.432214e-03 1.271669e-03 1.711878e-03 1.506919e-03 + 158 9.064043e-04 1.276914e-03 1.715314e-03 1.970457e-03 1.317395e-03 + 159 9.533726e-04 1.520269e-03 1.639457e-03 1.309502e-03 1.112643e-03 + 160 1.244974e-03 2.400671e-03 2.479223e-03 2.743138e-03 1.674848e-03 + 161 9.397413e-04 1.685777e-03 1.632708e-03 2.714841e-03 9.749638e-04 + 162 1.236306e-03 1.531100e-03 1.792002e-03 1.922467e-03 1.131034e-03 + 163 1.688232e-03 1.236130e-03 1.884885e-03 1.291130e-03 1.168785e-03 + 164 1.826232e-03 1.981087e-03 1.910673e-03 1.261326e-03 1.283390e-03 + 165 1.696268e-03 1.397675e-03 1.217346e-03 1.663057e-03 7.778653e-04 + 166 1.604916e-03 9.167150e-04 1.079259e-03 1.489267e-03 1.433487e-03 + 167 1.257795e-03 1.002729e-03 1.352176e-03 1.319083e-03 1.543060e-03 + 168 1.680445e-03 8.355445e-04 1.853436e-03 1.372998e-03 9.602674e-04 + 169 3.623723e-03 2.187843e-03 3.929548e-03 1.854820e-03 1.763608e-03 + 170 5.951651e-03 3.829786e-03 6.673288e-03 1.199913e-03 2.491789e-03 + 171 1.603629e-03 1.457469e-03 2.738005e-03 1.157954e-03 1.967581e-03 + 172 1.496156e-03 8.787177e-04 1.820799e-03 8.270838e-04 2.179569e-03 + 173 1.682217e-03 1.367106e-03 1.137129e-03 8.008101e-04 9.484012e-04 + 174 1.011412e-03 1.005658e-03 1.434457e-03 1.367495e-03 1.085996e-03 + 175 1.366821e-03 1.824567e-03 1.542883e-03 1.333881e-03 1.956780e-03 + 176 2.096889e-03 2.053166e-03 2.423928e-03 7.751582e-04 1.914764e-03 + 177 9.930250e-04 1.446317e-03 2.190587e-03 7.537408e-04 1.561887e-03 + 178 2.104056e-03 1.353565e-03 1.586350e-03 1.920345e-03 1.635129e-03 + 179 1.981894e-03 1.117898e-03 1.618887e-03 1.526259e-03 1.581934e-03 + 180 9.419061e-04 1.411550e-03 1.439387e-03 1.142009e-03 2.030973e-03 + 181 2.029157e-03 1.540634e-03 1.775536e-03 1.082695e-03 1.087065e-03 + 182 7.909101e-04 1.271294e-03 1.522202e-03 7.418147e-04 5.136387e-04 + 183 1.153101e-03 2.126085e-03 2.795062e-03 1.062650e-03 1.480363e-03 + 184 1.248561e-03 8.629142e-04 1.930036e-03 1.161400e-03 1.418313e-03 + 185 1.834884e-03 1.113935e-03 8.213097e-04 1.564384e-03 1.025047e-03 + 186 1.623324e-03 1.203456e-03 9.610584e-04 1.201701e-03 1.403440e-03 + 187 1.630592e-03 1.501019e-03 1.501613e-03 1.356922e-03 1.979159e-03 + 188 9.814457e-04 9.782451e-04 1.523848e-03 1.382322e-03 1.308796e-03 + 189 1.137283e-03 1.127461e-03 1.716086e-03 1.451922e-03 9.563714e-04 + 190 2.766934e-03 1.240948e-03 4.153068e-03 6.551061e-03 1.231790e-03 + 191 1.060233e-02 2.171650e-03 1.130817e-02 2.638817e-02 2.230153e-03 + 192 2.541759e-03 9.993017e-04 2.886916e-03 5.333426e-03 1.295772e-03 + 193 9.764101e-04 1.393003e-03 1.189789e-03 1.112634e-03 1.526821e-03 + 194 1.002175e-03 1.305644e-03 1.565107e-03 6.705797e-04 1.302966e-03 + 195 8.350675e-04 1.294478e-03 1.097241e-03 6.684996e-04 7.761263e-04 + 196 1.162885e-03 1.419073e-03 9.497935e-04 1.021249e-03 8.013883e-04 + 197 1.237422e-03 1.089069e-03 9.271205e-04 1.413884e-03 8.545150e-04 + 198 1.120174e-03 9.103332e-04 1.057487e-03 7.504914e-04 8.665014e-04 + 199 1.474699e-03 8.954824e-04 1.048401e-03 1.001471e-03 1.825094e-03 + 200 1.859563e-03 1.279042e-03 1.169244e-03 1.118028e-03 1.264738e-03 + 201 1.228907e-03 1.055362e-03 1.070909e-03 1.609946e-03 1.110676e-03 + 202 1.093697e-03 8.704120e-04 1.246266e-03 1.698844e-03 1.040547e-03 + 203 1.281513e-03 1.043926e-03 1.495512e-03 1.339304e-03 1.048796e-03 + 204 1.455373e-03 1.250457e-03 1.089870e-03 1.395659e-03 1.227058e-03 + 205 1.840234e-03 8.662247e-04 8.731917e-04 1.141458e-03 1.619361e-03 + 206 1.724436e-03 1.206409e-03 1.902870e-03 1.111530e-03 1.174212e-03 + 207 1.326767e-03 7.051534e-04 1.999567e-03 1.895322e-03 7.872298e-04 + 208 1.220481e-03 1.036392e-03 1.446578e-03 1.305176e-03 1.221525e-03 + 209 1.050967e-03 1.382309e-03 1.088492e-03 8.861216e-04 7.170770e-04 + 210 1.141840e-03 1.140395e-03 1.385001e-03 1.377672e-03 8.257152e-04 + 211 1.966937e-03 1.460271e-03 3.220116e-03 1.301234e-03 1.194860e-03 + 212 1.353542e-03 1.823730e-03 4.361408e-03 1.361482e-03 2.132322e-03 + 213 1.378548e-03 1.167436e-03 3.046585e-03 7.510150e-04 2.126913e-03 + 214 1.503079e-03 7.890186e-04 1.508264e-03 8.364501e-04 1.833486e-03 + 215 1.663576e-03 9.187140e-04 1.140750e-03 5.639390e-04 1.120352e-03 + 216 1.537306e-03 1.169446e-03 1.225508e-03 1.118704e-03 1.292489e-03 + 217 1.242116e-03 6.631569e-04 1.516936e-03 1.754126e-03 1.012230e-03 + 218 1.130780e-03 8.791658e-04 1.113905e-03 1.494768e-03 6.847340e-04 + 219 1.763122e-03 1.298683e-03 1.488554e-03 1.119598e-03 1.043911e-03 + 220 1.395391e-03 7.591532e-04 1.416455e-03 1.196969e-03 9.256916e-04 + 221 1.195578e-03 4.763353e-04 1.143995e-03 1.197456e-03 8.719927e-04 + 222 1.116379e-03 6.594767e-04 1.491655e-03 1.690671e-03 1.385292e-03 + 223 8.546817e-04 8.798623e-04 1.071596e-03 1.664825e-03 1.029599e-03 + 224 1.241250e-03 1.205791e-03 1.405374e-03 1.947454e-03 1.694632e-03 + 225 1.928976e-03 1.416609e-03 1.919716e-03 2.123784e-03 1.018295e-03 + 226 2.469039e-03 1.446056e-03 1.925587e-03 1.363547e-03 1.224780e-03 + 227 1.113232e-03 7.854518e-04 1.668182e-03 1.255859e-03 9.061614e-04 + 228 1.154411e-03 1.083750e-03 1.272947e-03 1.393786e-03 6.989261e-04 + 229 1.689172e-03 1.548033e-03 1.347005e-03 2.098727e-03 1.107967e-03 + 230 1.151310e-03 1.422880e-03 8.076238e-04 1.143324e-03 7.836480e-04 + 231 1.257692e-03 1.166033e-03 1.601047e-03 1.312258e-03 1.006201e-03 + 232 1.134772e-03 7.881577e-04 2.673636e-03 3.842850e-03 1.205246e-03 + 233 8.171624e-03 2.236386e-03 4.789015e-03 2.276765e-02 1.864646e-03 + 234 2.813587e-03 1.481092e-03 2.325897e-03 7.519448e-03 1.167125e-03 + 235 1.044196e-03 1.139322e-03 1.831839e-03 1.144873e-03 1.133323e-03 + 236 1.018153e-03 5.447154e-04 1.225701e-03 6.954285e-04 7.699608e-04 + 237 1.059841e-03 1.013153e-03 1.506224e-03 1.313827e-03 8.279693e-04 + 238 2.712833e-03 1.539296e-03 1.613176e-03 1.438222e-03 1.324733e-03 + 239 1.711823e-03 1.104637e-03 1.726456e-03 1.198590e-03 1.140929e-03 + 240 8.963842e-04 1.152575e-03 1.450141e-03 8.280914e-04 1.271252e-03 + 241 9.448371e-04 1.361302e-03 1.598614e-03 7.882228e-04 1.429161e-03 + 242 1.165839e-03 7.176404e-04 1.655959e-03 6.405756e-04 9.493987e-04 + 243 9.611896e-04 1.071125e-03 1.339151e-03 1.120735e-03 9.774062e-04 + 244 1.021105e-03 1.413927e-03 1.608669e-03 2.309897e-03 1.256989e-03 + 245 9.656929e-04 1.715957e-03 1.727824e-03 1.958956e-03 9.786726e-04 + 246 1.603599e-03 9.956434e-04 2.097298e-03 1.637665e-03 1.218601e-03 + 247 9.729950e-04 5.818857e-04 1.359335e-03 1.336681e-03 1.214181e-03 + 248 1.341181e-03 6.124236e-04 1.528282e-03 1.400055e-03 1.277917e-03 + 249 1.002501e-03 7.988295e-04 1.589186e-03 1.346695e-03 9.313236e-04 + 250 1.188798e-03 1.183955e-03 1.859140e-03 1.112214e-03 1.028764e-03 + 251 1.134508e-03 1.302232e-03 1.453979e-03 1.206226e-03 1.251746e-03 + 252 1.304144e-03 1.320372e-03 1.294278e-03 1.702102e-03 9.987922e-04 + 253 1.849206e-03 1.568660e-03 2.933306e-03 1.257613e-03 1.622878e-03 + 254 3.592702e-03 6.662228e-03 2.214764e-03 1.018387e-03 1.086874e-03 + 255 2.273978e-03 3.877379e-03 1.407147e-03 1.100197e-03 1.496229e-03 + 256 1.480477e-03 1.013138e-03 1.498725e-03 1.229364e-03 1.845730e-03 + 257 1.041312e-03 1.031358e-03 1.589634e-03 1.840847e-03 1.601549e-03 + 258 1.043950e-03 1.298266e-03 1.968667e-03 1.535327e-03 1.717325e-03 + 259 1.271860e-03 7.340931e-04 1.058941e-03 1.101659e-03 1.083192e-03 + 260 1.500024e-03 1.016987e-03 1.388976e-03 1.056268e-03 2.187065e-03 + 261 1.838266e-03 1.697734e-03 1.553959e-03 8.782861e-04 1.929725e-03 + 262 2.037320e-03 1.313775e-03 1.695481e-03 1.150063e-03 1.323844e-03 + 263 8.251576e-04 7.837736e-04 1.469573e-03 6.803626e-04 6.727985e-04 + 264 1.007898e-03 1.427500e-03 1.941108e-03 1.513067e-03 1.324905e-03 + 265 1.080191e-03 1.516667e-03 1.217177e-03 7.925435e-04 1.451707e-03 + 266 1.630668e-03 1.259322e-03 9.661319e-04 9.426367e-04 1.546241e-03 + 267 1.234355e-03 1.050033e-03 1.203947e-03 1.323076e-03 1.283886e-03 + 268 8.194495e-04 1.129164e-03 1.101651e-03 1.339993e-03 9.746529e-04 + 269 1.484423e-03 9.421492e-04 1.277625e-03 8.793730e-04 9.090217e-04 + 270 1.822792e-03 1.146786e-03 1.150845e-03 1.368697e-03 9.568828e-04 + 271 1.154511e-03 1.283164e-03 1.313391e-03 9.156600e-04 8.056442e-04 + 272 6.409154e-04 8.325048e-04 7.190823e-04 4.288624e-04 6.730525e-04 + 273 1.072681e-03 5.939384e-04 1.338716e-03 8.467482e-04 1.366493e-03 + 274 1.092557e-03 1.268028e-03 3.032906e-03 1.658586e-03 1.493724e-03 + 275 1.387577e-03 3.302287e-03 5.369428e-03 1.554113e-03 3.614169e-03 + 276 1.997076e-03 2.642848e-03 2.904611e-03 1.479864e-03 2.344981e-03 + 277 2.161870e-03 1.875962e-03 1.446405e-03 1.436131e-03 7.563267e-04 + 278 1.016889e-03 1.582907e-03 1.174614e-03 9.789290e-04 8.150340e-04 + 279 9.490399e-04 1.066051e-03 1.469622e-03 1.372044e-03 1.277433e-03 + 280 1.193881e-03 7.500149e-04 1.657090e-03 6.745382e-04 8.264618e-04 + 281 1.232651e-03 1.110023e-03 2.432289e-03 9.527829e-04 1.132799e-03 + 282 1.322382e-03 1.791416e-03 1.902247e-03 1.192290e-03 1.489299e-03 + 283 1.016917e-03 1.230891e-03 1.264946e-03 8.418101e-04 1.066972e-03 + 284 1.003099e-03 8.851292e-04 9.726892e-04 1.099430e-03 1.042995e-03 + 285 1.261694e-03 1.152371e-03 1.066576e-03 6.289904e-04 7.475267e-04 + 286 1.415450e-03 1.507524e-03 1.772900e-03 1.086050e-03 1.207451e-03 + 287 1.140783e-03 1.045437e-03 2.204488e-03 1.339876e-03 1.218413e-03 + 288 6.036192e-04 9.374970e-04 1.304174e-03 1.120173e-03 9.503385e-04 + 289 8.086444e-04 1.252760e-03 1.512478e-03 1.031626e-03 8.327893e-04 + 290 7.913673e-04 9.071870e-04 1.514950e-03 1.011985e-03 7.790296e-04 + 291 8.334571e-04 1.024263e-03 1.283551e-03 1.495736e-03 7.627057e-04 + 292 1.192942e-03 8.249152e-04 1.166189e-03 1.265680e-03 7.323956e-04 + 293 1.094903e-03 5.912128e-04 8.773372e-04 1.230308e-03 6.835859e-04 + 294 8.696572e-04 7.637726e-04 1.304985e-03 1.081275e-03 1.008760e-03 + 295 9.510832e-04 1.019404e-03 3.255709e-03 7.838142e-04 1.376167e-03 + 296 2.686816e-03 1.463211e-03 3.025207e-03 8.284862e-04 8.427438e-04 + 297 2.475777e-03 2.015360e-03 2.207448e-03 9.283869e-04 9.830213e-04 + 298 1.204248e-03 1.607985e-03 1.465310e-03 1.990004e-03 1.407653e-03 + 299 1.174495e-03 9.340292e-04 7.954924e-04 1.113451e-03 1.338684e-03 + 300 6.814201e-04 4.982665e-04 7.607697e-04 8.270289e-04 1.005495e-03 + 301 9.865370e-04 1.241853e-03 1.475549e-03 1.538376e-03 1.397110e-03 + 302 1.310068e-03 1.483432e-03 1.589366e-03 1.727622e-03 1.379465e-03 + 303 1.436316e-03 1.116498e-03 2.186328e-03 8.451537e-04 1.372049e-03 + 304 1.632081e-03 1.770644e-03 2.179285e-03 1.033416e-03 1.532995e-03 + 305 1.921263e-03 1.788222e-03 1.872640e-03 1.401240e-03 1.651822e-03 + 306 1.079438e-03 8.913409e-04 1.454014e-03 1.246736e-03 1.218298e-03 + 307 8.924209e-04 1.274587e-03 9.213098e-04 9.931087e-04 1.446202e-03 + 308 1.029021e-03 9.003731e-04 1.037972e-03 6.277910e-04 1.124446e-03 + 309 1.686903e-03 8.729422e-04 8.195571e-04 8.811744e-04 4.743105e-04 + 310 1.828450e-03 1.038998e-03 1.287190e-03 1.108934e-03 6.561184e-04 + 311 1.967984e-03 1.160440e-03 1.699911e-03 1.907004e-03 1.363527e-03 + 312 1.425914e-03 1.157097e-03 1.722500e-03 1.655856e-03 1.162050e-03 + 313 8.754309e-04 1.175085e-03 9.843302e-04 1.052603e-03 9.597195e-04 + 314 8.989915e-04 7.975420e-04 9.589512e-04 1.388034e-03 1.062759e-03 + 315 8.897210e-04 6.536247e-04 1.362699e-03 1.445849e-03 7.351735e-04 + 316 1.122559e-03 1.125986e-03 2.780367e-03 1.448180e-03 1.201375e-03 + 317 2.947844e-03 5.865408e-03 8.072711e-03 5.022509e-03 8.291234e-03 + 318 3.424491e-03 7.073570e-03 7.106924e-03 6.106234e-03 9.904302e-03 + 319 1.003202e-03 1.465653e-03 1.502306e-03 1.593240e-03 1.534749e-03 + 320 7.494316e-04 6.356513e-04 9.033217e-04 9.347276e-04 9.289599e-04 + 321 1.110184e-03 5.708453e-04 7.490253e-04 8.165773e-04 1.251740e-03 + 322 1.049090e-03 7.519238e-04 1.272416e-03 8.084279e-04 7.891605e-04 + 323 9.594429e-04 8.568045e-04 1.452339e-03 9.380467e-04 8.064026e-04 + 324 7.671072e-04 7.045498e-04 1.173129e-03 7.508889e-04 8.317954e-04 + 325 9.629650e-04 6.768284e-04 1.270063e-03 6.847162e-04 9.834497e-04 + 326 1.205121e-03 7.269113e-04 9.932622e-04 1.111042e-03 1.284155e-03 + 327 1.019153e-03 8.725308e-04 1.449369e-03 8.965432e-04 1.122925e-03 + 328 1.079175e-03 1.136864e-03 1.188253e-03 1.572266e-03 1.639688e-03 + 329 1.325501e-03 7.606995e-04 1.257745e-03 1.556638e-03 1.157924e-03 + 330 5.204200e-04 6.186072e-04 1.002824e-03 8.963611e-04 8.483466e-04 + 331 1.120527e-03 5.939667e-04 1.374410e-03 9.465954e-04 1.299873e-03 + 332 1.546877e-03 8.773386e-04 1.302266e-03 8.643472e-04 8.685485e-04 + 333 1.084470e-03 1.600244e-03 1.240436e-03 1.026763e-03 7.573828e-04 + 334 1.323499e-03 1.311169e-03 1.321764e-03 7.167582e-04 1.260556e-03 + 335 1.272063e-03 9.678962e-04 9.558507e-04 1.014064e-03 1.238907e-03 + 336 6.545697e-04 1.098218e-03 8.034274e-04 9.551956e-04 8.297339e-04 + 337 5.352556e-04 8.939814e-04 2.437011e-03 7.149219e-04 6.749008e-04 + 338 2.443333e-03 6.364647e-03 6.902351e-03 8.896023e-04 1.042935e-03 + 339 4.185766e-03 1.030152e-02 6.503695e-03 1.460969e-03 1.120452e-03 + 340 1.653630e-03 1.755311e-03 2.424200e-03 9.056308e-04 1.131197e-03 + 341 1.013017e-03 7.343902e-04 1.661618e-03 9.893783e-04 9.583715e-04 + 342 9.013633e-04 1.473038e-03 1.307632e-03 1.398152e-03 8.721980e-04 + 343 9.753863e-04 7.774522e-04 8.040647e-04 1.002135e-03 9.364405e-04 + 344 1.008039e-03 1.066642e-03 9.441682e-04 1.135295e-03 1.007044e-03 + 345 9.044828e-04 1.384286e-03 1.466201e-03 1.067409e-03 1.167540e-03 + 346 8.989991e-04 8.499320e-04 1.623382e-03 8.248012e-04 9.585256e-04 + 347 1.434410e-03 1.164358e-03 1.379110e-03 1.282396e-03 1.173504e-03 + 348 7.032261e-04 6.715066e-04 1.207007e-03 9.139988e-04 8.271426e-04 + 349 5.909447e-04 5.893111e-04 1.454336e-03 9.704107e-04 4.939498e-04 + 350 7.288427e-04 8.483570e-04 1.652045e-03 1.034114e-03 7.954715e-04 + 351 7.532707e-04 6.786821e-04 1.180098e-03 1.138032e-03 5.790172e-04 + 352 1.022983e-03 7.851445e-04 1.255773e-03 1.281695e-03 4.894068e-04 + 353 2.778204e-03 1.236168e-03 1.091971e-03 1.428853e-03 1.079398e-03 + 354 1.561144e-03 8.875672e-04 9.866788e-04 9.016374e-04 1.351887e-03 + 355 7.132940e-04 7.392609e-04 1.074241e-03 6.687340e-04 1.222656e-03 + 356 1.351943e-03 1.162608e-03 1.463178e-03 5.527118e-04 1.469554e-03 + 357 1.117541e-03 1.101762e-03 8.528026e-04 1.131443e-03 1.241540e-03 + 358 4.608408e-04 8.207843e-04 2.341688e-03 1.422609e-03 7.527916e-04 + 359 3.699372e-03 1.183654e-03 5.136102e-03 7.458234e-03 9.497216e-04 + 360 7.853873e-03 2.417017e-03 1.598961e-03 1.258833e-02 1.280781e-03 + 361 1.577402e-03 1.187412e-03 5.368186e-04 1.814921e-03 1.575756e-03 + 362 7.374922e-04 5.482421e-04 1.128146e-03 1.092521e-03 1.531928e-03 + 363 9.731899e-04 8.097910e-04 1.151815e-03 1.017362e-03 1.115827e-03 + 364 1.394713e-03 1.034132e-03 7.582520e-04 9.545010e-04 9.192356e-04 + 365 1.409449e-03 8.382597e-04 1.006013e-03 7.512200e-04 1.208886e-03 + 366 1.259933e-03 6.865562e-04 7.138263e-04 1.218464e-03 1.090075e-03 + 367 1.360460e-03 8.761608e-04 1.712129e-03 1.442470e-03 8.583566e-04 + 368 1.038595e-03 4.996505e-04 1.240118e-03 1.255614e-03 6.646754e-04 + 369 8.129295e-04 4.428088e-04 1.097517e-03 1.223676e-03 4.734941e-04 + 370 1.226511e-03 8.508512e-04 9.251434e-04 1.398126e-03 7.281585e-04 + 371 1.207139e-03 1.009524e-03 1.001624e-03 1.068373e-03 1.113016e-03 + 372 8.127336e-04 3.064454e-04 9.900790e-04 9.209437e-04 8.493415e-04 + 373 1.359474e-03 4.811438e-04 1.566424e-03 1.236466e-03 6.720265e-04 + 374 1.435417e-03 9.827935e-04 1.850083e-03 1.174323e-03 8.050361e-04 + 375 1.208970e-03 1.202917e-03 1.154745e-03 7.740404e-04 8.605375e-04 + 376 1.148834e-03 1.061568e-03 7.303539e-04 9.331603e-04 7.990873e-04 + 377 1.105913e-03 1.104265e-03 7.614415e-04 8.006903e-04 6.919258e-04 + 378 6.628436e-04 8.370385e-04 7.511450e-04 1.026652e-03 8.177968e-04 + 379 9.078921e-04 8.353189e-04 1.867146e-03 8.854612e-04 6.723479e-04 + 380 1.973504e-03 7.351855e-04 5.351673e-03 1.132052e-03 5.017666e-04 + 381 3.802825e-03 1.113624e-03 1.047804e-03 1.625345e-03 5.335560e-04 + 382 1.120878e-03 1.346743e-03 8.785953e-04 7.025982e-04 1.127909e-03 + 383 7.167950e-04 1.187862e-03 1.288993e-03 7.186430e-04 1.692584e-03 + 384 9.551898e-04 6.726538e-04 9.674253e-04 9.355783e-04 1.163263e-03 + 385 1.022961e-03 7.036942e-04 1.337888e-03 8.014514e-04 1.164861e-03 + 386 9.290726e-04 6.680639e-04 1.341288e-03 8.143335e-04 6.490960e-04 + 387 8.054874e-04 1.376836e-03 1.108562e-03 8.060675e-04 5.995605e-04 + 388 7.442203e-04 6.045322e-04 9.460796e-04 1.048632e-03 1.047975e-03 + 389 1.308286e-03 1.417755e-03 9.229104e-04 8.481976e-04 1.249477e-03 + 390 6.768944e-04 7.195919e-04 9.438868e-04 1.370203e-03 1.257964e-03 + 391 6.808333e-04 4.755466e-04 1.459760e-03 1.094628e-03 1.507927e-03 + 392 1.132041e-03 6.045826e-04 1.290307e-03 1.062545e-03 1.261367e-03 + 393 8.898605e-04 5.821084e-04 1.412464e-03 1.232086e-03 1.532957e-03 + 394 6.012591e-04 6.939527e-04 1.234024e-03 1.124623e-03 1.129718e-03 + 395 1.254302e-03 9.677993e-04 1.244646e-03 1.200531e-03 7.478051e-04 + 396 1.928552e-03 1.160478e-03 1.274777e-03 1.222439e-03 1.065054e-03 + 397 1.341572e-03 1.314650e-03 7.988625e-04 1.059088e-03 8.947624e-04 + 398 1.573724e-03 1.778295e-03 1.185455e-03 1.769410e-03 1.237683e-03 + 399 1.035406e-03 1.385671e-03 1.058952e-03 1.021915e-03 9.892097e-04 + 400 5.807804e-01 5.810602e-01 6.136902e-01 6.029261e-01 5.759327e-01 + 401 3.343081e+00 3.325705e+00 3.545025e+00 3.462840e+00 3.331852e+00 + 402 6.431693e-01 6.538509e-01 6.961423e-01 6.702229e-01 6.520394e-01 + 403 9.626816e-04 1.015505e-03 1.528821e-03 1.622705e-03 1.068381e-03 + 404 1.142202e-03 7.089292e-04 9.090808e-04 1.535545e-03 8.745407e-04 + 405 9.269743e-04 1.040665e-03 1.217392e-03 8.724643e-04 1.186625e-03 + 406 8.580835e-04 9.915898e-04 9.663485e-04 8.885032e-04 1.049441e-03 + 407 1.366446e-03 9.657816e-04 1.134648e-03 8.303042e-04 1.281322e-03 + 408 1.337752e-03 9.581548e-04 1.839276e-03 1.635024e-03 1.321813e-03 + 409 8.779968e-04 8.425186e-04 1.151716e-03 1.057632e-03 7.988939e-04 + 410 1.005819e-03 6.068179e-04 1.265415e-03 1.060624e-03 6.565382e-04 + 411 4.645584e-04 6.454735e-04 1.150633e-03 5.703645e-04 5.671440e-04 + 412 7.931263e-04 7.867899e-04 1.220469e-03 1.059987e-03 9.253814e-04 + 413 1.033017e-03 6.781670e-04 1.583342e-03 9.087414e-04 1.153786e-03 + 414 1.268060e-03 9.318407e-04 1.417983e-03 9.209567e-04 1.054352e-03 + 415 1.016352e-03 1.483409e-03 1.756462e-03 1.788164e-03 1.222628e-03 + 416 4.979731e-04 8.604453e-04 6.799160e-04 1.327934e-03 1.031769e-03 + 417 6.850061e-04 7.071166e-04 1.119885e-03 7.503530e-04 7.510129e-04 + 418 6.452523e-04 8.729918e-04 9.851663e-04 9.443188e-04 8.187598e-04 + 419 1.168927e-03 8.748319e-04 1.070615e-03 1.020869e-03 1.249897e-03 + 420 9.259072e-04 9.647499e-04 1.037053e-03 9.631722e-04 1.641796e-03 + 421 9.715125e-04 8.811800e-04 1.602954e-03 7.634324e-04 1.795549e-03 + 422 1.192615e-03 7.637748e-04 7.012121e-03 8.971395e-04 7.365497e-04 + 423 2.383615e-03 8.642209e-04 3.368401e-03 1.723470e-03 9.536536e-04 + 424 1.448487e-03 1.235882e-03 1.835522e-03 9.370699e-04 7.758312e-04 + 425 7.674174e-04 9.213790e-04 8.450715e-04 3.492164e-04 7.316309e-04 + 426 5.092479e-04 1.284458e-03 9.607989e-04 7.329867e-04 5.813324e-04 + 427 6.023591e-04 8.650540e-04 9.861624e-04 6.786241e-04 8.264372e-04 + 428 5.599447e-04 9.276326e-04 8.367939e-04 1.278103e-03 8.515454e-04 + 429 8.824564e-04 1.183464e-03 1.640719e-03 1.294562e-03 9.372196e-04 + 430 1.384031e-03 1.717223e-03 1.481898e-03 1.315055e-03 1.019640e-03 + 431 1.011555e-03 1.010874e-03 1.170173e-03 7.666258e-04 9.348785e-04 + 432 8.447204e-04 9.693247e-04 1.348421e-03 6.339499e-04 1.076616e-03 + 433 7.157613e-04 8.539790e-04 1.307329e-03 8.022804e-04 1.250534e-03 + 434 9.176411e-04 9.225943e-04 1.332270e-03 1.015316e-03 9.529720e-04 + 435 1.036967e-03 1.005604e-03 1.599721e-03 1.100836e-03 9.322838e-04 + 436 8.579975e-04 8.411528e-04 1.405602e-03 1.528724e-03 2.048229e-03 + 437 7.823952e-04 7.892630e-04 1.136847e-03 1.113629e-03 1.560898e-03 + 438 8.004383e-04 6.451056e-04 1.543495e-03 7.547453e-04 8.765775e-04 + 439 5.943644e-04 1.100709e-03 1.136787e-03 5.919197e-04 9.744773e-04 + 440 1.095002e-03 1.363480e-03 1.059548e-03 1.051845e-03 1.077160e-03 + 441 1.058311e-03 8.141195e-04 9.539806e-04 8.033315e-04 6.189467e-04 + 442 9.169814e-04 5.751216e-04 1.060501e-03 6.351454e-04 6.315144e-04 + 443 6.372918e-04 6.368257e-04 3.743476e-03 1.833382e-03 7.264758e-04 + 444 1.693179e-03 1.511211e-03 2.211811e-03 1.330140e-03 7.845159e-04 + 445 1.226922e-03 1.432758e-03 1.509528e-03 1.202796e-03 8.104718e-04 + 446 1.329230e-03 9.627442e-04 2.009097e-03 1.094855e-03 5.981846e-04 + 447 1.637536e-03 1.335067e-03 2.217184e-03 1.404432e-03 1.194157e-03 + 448 1.413787e-03 1.068224e-03 1.754883e-03 1.668065e-03 1.435340e-03 + 449 2.541112e-03 2.477632e-03 4.191337e-03 2.452089e-03 2.694981e-03 + 450 1.397196e-03 1.100487e-03 1.945769e-03 1.634261e-03 1.376568e-03 + 451 1.192463e-03 7.096529e-04 1.606377e-03 1.104004e-03 1.007304e-03 + 452 1.049240e-03 1.035508e-03 1.407673e-03 6.059311e-04 7.605664e-04 + 453 8.542771e-04 9.452908e-04 9.716036e-04 7.616528e-04 9.383658e-04 + 454 7.152465e-04 1.036701e-03 1.139673e-03 7.942193e-04 1.150401e-03 + 455 6.891887e-04 1.183625e-03 1.079200e-03 8.796864e-04 1.099595e-03 + 456 6.500162e-04 6.490520e-04 1.019861e-03 7.498742e-04 8.567865e-04 + 457 1.206741e-03 7.819102e-04 8.830452e-04 1.070906e-03 1.025095e-03 + 458 1.035153e-03 1.031319e-03 1.052415e-03 1.299448e-03 9.709473e-04 + 459 9.277109e-04 7.715781e-04 9.396413e-04 1.174066e-03 1.135652e-03 + 460 9.024078e-04 7.783127e-04 7.914516e-04 6.024241e-04 4.719092e-04 + 461 8.048162e-04 7.037252e-04 7.204738e-04 1.088278e-03 6.725178e-04 + 462 8.088908e-04 1.189295e-03 1.052253e-03 1.305438e-03 1.056035e-03 + 463 1.058488e-03 1.088421e-03 1.555122e-03 1.249920e-03 9.499293e-04 + 464 9.145777e-04 1.209242e-03 7.299540e-03 9.005878e-04 1.055131e-03 + 465 9.295074e-04 1.056069e-03 4.245062e-03 1.346230e-03 1.077338e-03 + 466 6.846100e-04 6.113596e-04 9.241361e-04 9.222402e-04 5.950988e-04 + 467 5.551807e-04 8.921348e-04 1.489462e-03 8.744722e-04 1.134211e-03 + 468 6.227172e-04 7.027476e-04 1.299197e-03 5.463469e-04 5.779679e-04 + 469 8.193846e-04 7.860808e-04 9.727336e-04 6.506664e-04 6.201674e-04 + 470 8.547377e-04 6.916537e-04 1.032115e-03 8.655561e-04 7.971624e-04 + 471 1.573191e-03 1.271658e-03 8.441141e-04 1.342707e-03 1.166873e-03 + 472 1.102198e-03 1.053265e-03 1.126420e-03 1.130884e-03 1.029990e-03 + 473 7.759598e-04 6.878592e-04 1.120238e-03 5.018824e-04 1.093605e-03 + 474 1.076798e-03 7.402390e-04 1.081229e-03 7.037916e-04 1.440970e-03 + 475 1.296750e-03 4.483527e-04 1.202192e-03 1.040576e-03 9.142942e-04 + 476 1.233712e-03 5.439275e-04 1.576555e-03 1.285833e-03 7.372584e-04 + 477 1.246402e-03 5.460263e-04 7.553946e-04 1.026709e-03 7.329508e-04 + 478 1.213701e-03 7.849086e-04 1.006016e-03 9.339673e-04 6.954384e-04 + 479 7.657243e-04 7.391817e-04 1.017257e-03 8.858311e-04 8.734415e-04 + 480 7.707824e-04 7.280463e-04 1.037557e-03 9.129682e-04 1.000024e-03 + 481 1.063820e-03 9.985724e-04 8.784293e-04 1.015365e-03 9.551828e-04 + 482 9.032187e-04 1.279203e-03 1.282857e-03 9.576940e-04 1.042484e-03 + 483 7.881694e-04 1.027487e-03 9.642773e-04 8.426713e-04 7.192935e-04 + 484 6.010334e-04 1.428692e-03 1.331984e-03 9.345361e-04 5.330695e-04 + 485 8.050210e-04 8.092318e-04 4.542479e-03 1.315429e-03 1.217766e-03 + 486 1.179857e-03 6.965409e-04 3.083097e-03 1.142909e-03 9.216518e-04 + 487 8.662106e-04 1.014122e-03 1.038816e-03 1.087246e-03 7.350127e-04 + 488 6.551761e-04 1.303505e-03 1.070209e-03 6.931569e-04 1.150935e-03 + 489 6.920868e-04 9.587976e-04 8.740057e-04 1.018079e-03 1.147954e-03 + 490 1.066269e-03 1.260783e-03 1.186673e-03 1.003318e-03 1.205478e-03 + 491 6.740503e-04 7.965013e-04 1.300553e-03 1.019856e-03 8.717008e-04 + 492 1.148879e-03 5.774880e-04 9.749572e-04 1.180576e-03 1.173780e-03 + 493 1.125266e-03 8.285593e-04 5.891623e-04 1.124973e-03 1.145254e-03 + 494 1.044674e-03 8.893858e-04 8.765713e-04 1.007033e-03 1.085914e-03 + 495 5.028668e-04 1.034633e-03 9.237309e-04 7.528525e-04 8.632774e-04 + 496 1.496568e-03 1.444694e-03 1.989982e-03 1.516051e-03 1.449098e-03 + 497 2.119844e-03 1.742099e-03 2.754272e-03 2.102147e-03 2.071256e-03 + 498 1.595369e-03 1.234639e-03 1.549338e-03 1.460671e-03 1.479274e-03 + 499 9.274135e-04 1.234007e-03 1.179539e-03 1.107209e-03 1.130015e-03 + 500 6.473707e-04 1.027525e-03 1.168245e-03 1.084347e-03 1.042305e-03 + 501 5.687388e-04 1.058101e-03 9.523250e-04 6.590835e-04 1.240826e-03 + 502 1.083620e-03 5.803496e-04 1.250283e-03 7.493875e-04 1.183891e-03 + 503 1.120519e-03 3.689928e-04 1.055408e-03 8.690725e-04 1.056989e-03 + 504 1.474258e-03 6.782459e-04 8.267223e-04 1.204052e-03 8.253937e-04 + 505 1.081961e-03 9.872311e-04 1.640074e-03 1.229848e-03 7.585587e-04 + 506 7.196737e-04 7.100156e-04 3.184107e-03 8.079231e-04 1.008309e-03 + 507 4.112693e-04 9.392932e-04 2.905105e-03 3.958446e-04 1.154864e-03 + 508 6.108204e-04 8.466176e-04 1.230112e-03 7.477813e-04 1.217549e-03 + 509 7.766118e-04 6.042901e-04 1.026406e-03 8.987393e-04 8.358722e-04 + 510 7.945274e-04 7.304167e-04 1.027717e-03 1.006153e-03 8.076627e-04 + 511 1.124915e-03 1.115759e-03 9.606744e-04 8.694214e-04 6.953194e-04 + 512 6.419341e-04 1.195429e-03 1.020695e-03 8.827125e-04 1.030581e-03 + 513 9.546926e-04 1.073342e-03 9.407703e-04 6.945869e-04 1.106195e-03 + 514 9.476075e-04 1.537543e-03 8.769625e-04 9.350831e-04 9.290665e-04 + 515 8.213657e-04 7.619407e-04 8.497915e-04 1.450532e-03 7.833644e-04 + 516 1.374515e-03 9.776876e-04 1.139374e-03 1.041800e-03 1.104735e-03 + 517 1.135288e-03 9.630739e-04 1.406465e-03 1.071350e-03 1.309585e-03 + 518 8.978403e-04 5.466425e-04 9.115623e-04 8.631635e-04 9.771893e-04 + 519 9.337993e-04 7.290232e-04 1.622018e-03 7.397342e-04 8.679198e-04 + 520 9.132063e-04 9.617348e-04 1.456594e-03 6.904506e-04 1.059134e-03 + 521 7.232365e-04 1.107998e-03 9.073976e-04 1.082888e-03 1.151488e-03 + 522 7.679334e-04 1.087518e-03 1.228980e-03 1.543756e-03 1.067285e-03 + 523 6.882038e-04 5.717932e-04 1.407578e-03 1.190667e-03 6.225649e-04 + 524 9.354528e-04 1.053145e-03 1.719013e-03 1.006348e-03 6.719271e-04 + 525 7.764940e-04 9.756019e-04 1.165941e-03 6.018854e-04 4.516466e-04 + 526 8.683811e-04 6.322470e-04 1.521383e-03 8.438707e-04 7.561682e-04 + 527 1.093532e-03 6.510807e-04 2.899241e-03 1.675489e-03 8.964776e-04 + 528 1.383567e-03 1.607898e-03 4.153770e-03 2.716324e-03 1.140208e-03 + 529 1.184279e-03 1.723162e-03 1.937300e-03 1.067322e-03 1.248485e-03 + 530 1.031549e-03 8.327754e-04 1.174029e-03 1.043568e-03 9.072516e-04 + 531 8.694490e-04 6.928238e-04 1.164882e-03 8.714594e-04 4.921487e-04 + 532 5.531331e-04 5.872460e-04 8.808670e-04 6.935081e-04 3.845373e-04 + 533 4.188329e-04 4.254154e-04 1.363829e-03 8.884777e-04 7.452269e-04 + 534 7.888605e-04 5.280762e-04 1.441029e-03 1.127553e-03 9.496451e-04 + 535 1.588228e-03 8.798888e-04 1.244818e-03 1.501872e-03 1.219532e-03 + 536 8.536529e-04 1.056760e-03 8.610733e-04 9.393382e-04 1.377962e-03 + 537 7.190402e-04 1.154903e-03 1.212374e-03 9.425504e-04 1.137107e-03 + 538 8.840039e-04 9.927927e-04 1.566400e-03 8.583202e-04 1.117396e-03 + 539 6.813353e-04 1.486420e-03 1.602374e-03 1.118141e-03 8.557144e-04 + 540 6.574536e-04 1.276195e-03 1.254883e-03 1.063470e-03 9.843271e-04 + 541 1.356447e-03 5.637957e-04 1.227882e-03 1.408746e-03 9.961469e-04 + 542 8.760475e-04 7.495922e-04 1.283717e-03 9.513268e-04 8.623982e-04 + 543 4.935175e-04 8.762685e-04 1.263925e-03 9.692863e-04 1.177526e-03 + 544 9.125351e-04 1.099751e-03 1.602106e-03 1.103219e-03 1.176845e-03 + 545 8.954796e-04 1.080594e-03 1.347370e-03 1.033982e-03 1.158857e-03 + 546 5.783253e-04 1.283439e-03 1.130320e-03 6.404259e-04 9.908703e-04 + 547 8.514532e-04 1.087639e-03 1.846795e-03 9.222219e-04 8.089728e-04 + 548 6.627471e-04 7.554149e-04 2.373850e-03 7.831558e-04 6.067204e-04 + 549 7.276071e-04 8.076286e-04 2.911445e-03 6.459230e-04 5.535141e-04 + 550 9.960644e-04 7.393879e-04 1.093960e-03 8.044094e-04 5.667038e-04 + 551 6.728967e-04 8.630792e-04 1.204405e-03 8.852752e-04 6.908157e-04 + 552 4.114080e-04 7.604275e-04 1.099101e-03 6.449366e-04 6.084795e-04 + 553 5.262818e-04 5.300028e-04 8.345482e-04 7.022735e-04 5.910933e-04 + 554 8.581229e-04 6.601378e-04 1.371206e-03 4.572387e-04 6.480405e-04 + 555 1.008547e-03 5.761244e-04 1.416136e-03 6.612984e-04 5.909509e-04 + 556 8.135804e-04 7.956357e-04 6.067991e-04 6.101850e-04 1.067176e-03 + 557 1.072858e-03 9.488778e-04 7.047090e-04 1.098607e-03 1.162226e-03 + 558 1.094131e-03 1.072934e-03 1.187413e-03 1.376150e-03 1.155023e-03 + 559 8.000793e-04 8.923306e-04 8.802398e-04 8.926366e-04 8.029435e-04 + 560 8.421727e-04 8.504484e-04 1.191895e-03 8.450691e-04 8.160476e-04 + 561 1.074744e-03 6.100366e-04 1.046073e-03 7.801106e-04 8.300897e-04 + 562 8.096075e-04 7.292142e-04 5.291965e-04 8.817203e-04 7.200142e-04 + 563 6.176400e-04 7.437031e-04 8.268352e-04 8.450076e-04 8.909840e-04 + 564 5.690307e-04 7.433732e-04 1.254684e-03 1.273894e-03 9.599244e-04 + 565 4.483565e-04 7.552529e-04 1.539093e-03 1.170675e-03 1.136243e-03 + 566 5.067695e-04 8.234711e-04 9.289099e-04 9.905493e-04 9.359012e-04 + 567 8.926068e-04 7.707764e-04 1.118568e-03 1.259046e-03 1.097155e-03 + 568 9.525956e-04 7.281239e-04 1.301238e-03 1.130693e-03 8.861660e-04 + 569 1.343676e-03 1.501531e-03 2.361925e-03 1.377278e-03 1.088842e-03 + 570 1.183699e-03 1.550973e-03 2.347342e-03 1.585925e-03 1.190835e-03 + 571 7.914040e-04 8.828074e-04 8.652200e-04 1.355868e-03 8.861556e-04 + 572 9.806510e-04 9.089506e-04 1.521658e-03 4.974401e-04 7.350279e-04 + 573 7.251450e-04 1.184023e-03 1.675381e-03 3.985065e-04 6.744690e-04 + 574 8.692417e-04 1.163710e-03 1.044706e-03 7.760909e-04 1.006076e-03 + 575 1.186005e-03 1.215974e-03 8.059116e-04 1.363317e-03 7.940547e-04 + 576 7.171036e-04 5.110874e-04 7.961630e-04 1.426501e-03 6.685988e-04 + 577 5.196335e-04 7.727362e-04 6.686598e-04 1.207428e-03 8.438598e-04 + 578 7.599921e-04 6.064678e-04 8.683912e-04 9.789227e-04 7.313763e-04 + 579 1.193718e-03 9.724072e-04 1.396233e-03 1.048648e-03 8.434167e-04 + 580 8.491767e-04 9.615686e-04 1.071473e-03 7.639978e-04 7.644203e-04 + 581 5.415452e-04 7.035945e-04 1.180691e-03 6.787263e-04 9.341137e-04 + 582 1.067743e-03 1.269930e-03 8.730592e-04 1.047222e-03 1.195241e-03 + 583 9.347466e-04 8.745369e-04 8.765778e-04 6.716867e-04 9.894448e-04 + 584 8.282040e-04 8.160378e-04 9.467918e-04 1.024350e-03 6.311981e-04 + 585 8.920632e-04 1.063362e-03 9.450942e-04 1.142533e-03 5.065727e-04 + 586 8.543002e-04 7.887797e-04 1.076773e-03 1.067256e-03 5.379870e-04 + 587 3.855431e-04 5.265183e-04 1.545449e-03 1.062315e-03 4.142425e-04 + 588 5.553737e-04 1.022906e-03 9.661869e-04 9.520107e-04 6.779823e-04 + 589 7.112268e-04 6.890210e-04 9.580229e-04 7.890049e-04 1.049756e-03 + 590 8.782933e-04 9.110529e-04 1.881940e-03 8.208999e-04 7.924234e-04 + 591 1.322666e-03 9.653780e-04 2.031923e-03 6.860351e-04 6.305454e-04 + 592 1.622295e-03 1.529711e-03 1.740955e-03 9.300141e-04 5.815721e-04 + 593 2.125925e-03 8.168688e-04 1.496110e-03 1.155149e-03 1.114081e-03 + 594 1.138987e-03 1.246559e-03 6.921547e-04 7.480044e-04 5.664265e-04 + 595 6.694717e-04 1.171565e-03 7.646285e-04 1.028137e-03 6.847409e-04 + 596 8.689403e-04 8.221154e-04 8.472702e-04 1.221612e-03 9.474295e-04 + 597 9.319221e-04 6.870988e-04 9.110329e-04 1.050863e-03 1.026949e-03 + 598 1.118931e-03 4.887587e-04 7.212504e-04 8.450670e-04 1.241665e-03 + 599 1.247596e-03 5.810247e-04 1.077498e-03 9.612821e-04 1.088009e-03 + 600 9.380973e-04 8.021259e-04 9.410010e-04 9.677895e-04 8.568092e-04 + 601 9.838897e-04 5.769132e-04 9.301765e-04 9.872391e-04 5.791225e-04 + 602 1.131304e-03 1.194899e-03 1.346900e-03 1.061077e-03 7.917776e-04 + 603 9.986985e-04 1.126194e-03 1.164302e-03 1.021099e-03 1.201148e-03 + 604 9.178172e-04 1.264215e-03 8.047833e-04 1.396888e-03 8.156263e-04 + 605 7.631315e-04 7.049175e-04 9.551727e-04 7.189704e-04 7.164612e-04 + 606 1.678023e-03 7.603350e-04 1.135664e-03 1.365661e-03 1.161266e-03 + 607 1.578249e-03 7.911186e-04 1.159998e-03 1.168578e-03 1.121629e-03 + 608 1.172923e-03 8.103927e-04 6.889530e-04 1.328801e-03 1.096846e-03 + 609 6.351630e-04 8.389617e-04 9.094160e-04 7.633182e-04 7.353089e-04 + 610 8.222658e-04 8.312010e-04 1.304378e-03 6.971476e-04 7.696572e-04 + 611 7.611272e-04 9.094869e-04 1.281905e-03 8.571478e-04 7.233797e-04 + 612 8.775966e-04 6.595022e-04 2.019950e-03 7.008674e-04 7.777311e-04 + 613 1.149503e-03 7.937110e-04 1.255777e-03 1.103640e-03 8.781087e-04 + 614 7.653682e-04 7.388524e-04 9.447562e-04 1.463454e-03 1.303403e-03 + 615 6.119319e-04 8.093334e-04 6.527338e-04 6.944875e-04 6.231121e-04 + 616 4.513878e-04 7.963522e-04 8.383166e-04 3.924743e-04 3.709951e-04 + 617 5.187346e-04 7.001617e-04 7.871788e-04 9.142365e-04 6.112130e-04 + 618 1.021702e-03 8.604918e-04 1.464126e-03 1.147667e-03 8.302349e-04 + 619 8.395249e-04 9.806084e-04 1.852739e-03 1.263844e-03 8.485657e-04 + 620 5.238892e-04 6.749168e-04 9.723665e-04 1.052676e-03 5.859205e-04 + 621 7.504568e-04 6.143711e-04 5.632125e-04 8.965076e-04 4.821292e-04 + 622 6.595793e-04 1.194545e-03 7.568443e-04 8.343394e-04 7.743964e-04 + 623 1.023582e-03 1.426124e-03 1.226357e-03 6.542080e-04 4.727170e-04 + 624 9.014770e-04 1.108978e-03 9.090581e-04 6.182429e-04 4.667261e-04 + 625 9.386815e-04 1.012178e-03 6.105789e-04 7.023869e-04 8.979590e-04 + 626 6.649152e-04 6.604859e-04 6.365744e-04 5.946827e-04 6.354272e-04 + 627 5.236613e-04 4.412639e-04 1.093657e-03 4.895158e-04 5.772504e-04 + 628 5.159784e-04 5.650026e-04 1.608193e-03 5.532776e-04 6.934090e-04 + 629 1.089599e-03 1.349941e-03 1.507954e-03 7.714871e-04 1.115521e-03 + 630 1.055451e-03 1.031088e-03 7.858168e-04 6.155756e-04 8.694254e-04 + 631 8.157037e-04 7.711768e-04 1.174009e-03 7.004823e-04 6.477333e-04 + 632 1.138140e-03 5.345324e-04 1.817488e-03 9.279026e-04 1.061132e-03 + 633 1.712293e-03 5.510510e-04 2.056854e-03 1.035575e-03 1.024706e-03 + 634 6.483518e-04 3.274980e-04 1.739665e-03 1.027411e-03 8.197155e-04 + 635 8.869196e-04 4.264495e-04 9.110245e-04 1.030908e-03 7.391091e-04 + 636 8.938511e-04 7.155289e-04 9.804225e-04 8.304993e-04 7.517371e-04 + 637 9.406258e-04 6.720622e-04 9.422320e-04 9.464588e-04 8.343009e-04 + 638 9.180455e-04 5.886037e-04 5.247894e-04 1.227508e-03 1.179026e-03 + 639 1.048440e-03 6.457334e-04 7.946593e-04 7.454931e-04 9.750728e-04 + 640 7.979357e-04 1.368984e-03 1.103698e-03 1.014374e-03 6.408729e-04 + 641 6.728915e-04 8.951401e-04 1.320294e-03 1.082518e-03 6.367268e-04 + 642 6.338418e-04 5.519857e-04 1.296255e-03 1.204120e-03 8.273379e-04 + 643 8.566958e-04 5.051885e-04 1.510923e-03 6.596489e-04 9.796084e-04 + 644 1.091379e-03 5.853280e-04 1.322913e-03 5.206432e-04 9.687519e-04 + 645 1.155256e-03 8.684923e-04 1.741267e-03 7.289810e-04 9.350161e-04 + 646 1.028963e-03 4.367711e-04 1.142526e-03 6.171400e-04 8.754498e-04 + 647 6.132977e-04 7.345944e-04 1.111510e-03 7.789392e-04 6.736707e-04 + 648 6.155562e-04 1.305108e-03 9.790117e-04 9.836514e-04 6.394940e-04 + 649 7.355895e-04 1.405528e-03 1.249682e-03 7.389803e-04 9.320744e-04 + 650 6.940701e-04 1.242617e-03 1.247162e-03 7.877192e-04 8.371433e-04 + 651 7.933733e-04 9.412577e-04 1.294191e-03 8.757173e-04 7.476519e-04 + 652 7.197885e-04 6.520036e-04 8.308584e-04 6.038754e-04 4.332663e-04 + 653 8.403046e-04 8.661182e-04 1.083216e-03 9.775896e-04 4.032911e-04 + 654 1.129571e-03 7.984413e-04 2.359272e-03 1.400819e-03 8.161809e-04 + 655 1.061027e-03 7.355794e-04 2.283107e-03 1.513566e-03 1.551522e-03 + 656 1.082730e-03 1.363362e-03 1.707198e-03 1.104313e-03 1.674129e-03 + 657 1.679260e-03 1.981883e-03 2.458297e-03 1.681215e-03 2.009329e-03 + 658 2.365889e-03 2.203412e-03 2.699531e-03 1.517202e-03 1.909138e-03 + 659 9.860513e-04 1.139736e-03 1.323867e-03 6.278926e-04 7.464386e-04 + 660 7.676655e-04 7.863601e-04 1.493381e-03 5.506614e-04 4.162455e-04 + 661 5.241479e-04 7.848959e-04 8.491385e-04 5.811017e-04 1.212698e-03 + 662 5.488261e-04 9.646235e-04 1.263959e-03 7.909116e-04 6.494720e-04 + 663 4.243395e-04 6.231737e-04 1.365928e-03 8.625566e-04 5.024780e-04 + 664 6.647321e-04 6.748347e-04 1.006473e-03 9.142103e-04 8.069709e-04 + 665 7.063618e-04 6.301721e-04 9.267631e-04 1.138308e-03 1.145507e-03 + 666 8.039287e-04 6.754212e-04 9.548596e-04 9.965253e-04 7.379661e-04 + 667 4.991407e-04 9.854306e-04 7.966010e-04 9.540760e-04 6.058170e-04 + 668 8.352780e-04 1.137709e-03 9.974154e-04 1.235774e-03 6.789154e-04 + 669 8.162340e-04 1.109700e-03 8.399571e-04 1.252311e-03 9.498207e-04 + 670 8.452031e-04 1.279294e-03 1.248648e-03 9.591361e-04 9.887432e-04 + 671 3.993686e-04 1.108046e-03 1.219972e-03 6.438982e-04 7.147481e-04 + 672 5.080239e-04 6.154969e-04 8.120176e-04 7.936305e-04 1.079303e-03 + 673 8.089905e-04 3.900764e-04 3.059817e-04 1.159401e-03 8.597102e-04 + 674 1.171433e-03 6.180425e-04 7.189886e-04 6.631731e-04 1.113431e-03 + 675 1.626142e-03 1.048382e-03 1.870965e-03 7.960749e-04 8.866795e-04 + 676 1.202416e-03 2.077080e-03 2.187136e-03 8.816463e-04 8.390138e-04 + 677 1.087156e-03 1.237633e-03 1.264424e-03 8.107338e-04 8.127259e-04 + 678 6.718551e-04 5.458654e-04 1.196151e-03 7.327115e-04 7.698931e-04 + 679 6.343591e-04 5.571005e-04 1.326595e-03 7.550932e-04 8.635167e-04 + 680 8.272961e-04 7.375532e-04 1.198161e-03 7.490192e-04 6.048888e-04 + 681 8.329227e-04 6.856048e-04 9.210873e-04 9.557640e-04 4.810048e-04 + 682 8.043388e-04 7.195677e-04 9.500851e-04 1.152087e-03 9.035621e-04 + 683 9.820465e-04 7.955162e-04 7.359493e-04 9.686683e-04 1.122225e-03 + 684 1.071885e-03 7.816725e-04 1.375522e-03 5.755296e-04 8.513716e-04 + 685 4.420791e-04 4.514730e-04 1.298350e-03 4.521330e-04 9.933871e-04 + 686 3.732666e-04 8.165328e-04 1.119648e-03 7.061641e-04 8.593504e-04 + 687 8.154769e-04 5.682434e-04 1.063075e-03 5.344437e-04 5.722465e-04 + 688 1.671160e-03 1.403256e-03 1.657080e-03 1.188622e-03 1.079084e-03 + 689 9.730756e-04 9.389436e-04 8.961852e-04 8.425580e-04 9.652170e-04 + 690 1.138541e-03 9.699881e-04 1.126360e-03 8.199350e-04 8.060337e-04 + 691 1.141355e-03 1.048841e-03 1.296888e-03 1.026536e-03 8.613120e-04 + 692 5.461737e-04 9.321984e-04 1.077748e-03 7.708623e-04 7.879080e-04 + 693 8.465745e-04 8.948366e-04 8.650433e-04 5.066219e-04 8.748457e-04 + 694 8.605634e-04 1.094556e-03 8.091700e-04 6.371887e-04 8.257434e-04 + 695 6.809830e-04 1.113288e-03 1.327696e-03 1.087341e-03 7.043467e-04 + 696 9.236616e-04 5.681505e-04 1.632919e-03 1.895311e-03 7.753657e-04 + 697 7.469226e-04 5.948831e-04 1.252266e-03 2.107414e-03 1.074790e-03 + 698 4.805580e-04 8.225571e-04 1.008166e-03 1.203233e-03 9.679203e-04 + 699 6.911359e-04 7.908508e-04 9.941255e-04 8.502595e-04 6.416384e-04 + 700 6.568026e-04 8.003732e-04 1.281657e-03 7.625996e-04 4.823908e-04 + 701 4.990680e-04 5.663081e-04 1.150785e-03 6.609309e-04 7.440162e-04 + 702 6.173469e-04 8.518488e-04 8.783402e-04 7.696371e-04 6.933681e-04 + 703 6.855356e-04 4.933589e-04 1.587884e-03 7.394521e-04 5.138231e-04 + 704 1.016422e-03 1.088093e-03 1.344814e-03 1.103020e-03 6.585462e-04 + 705 1.511786e-03 1.234894e-03 1.499164e-03 1.216107e-03 1.173291e-03 + 706 1.216420e-03 9.554140e-04 1.715517e-03 7.573983e-04 8.698388e-04 + 707 6.855667e-04 8.552402e-04 1.420083e-03 8.377793e-04 8.605504e-04 + 708 6.097633e-04 8.938538e-04 7.583112e-04 1.086432e-03 3.563950e-04 + 709 1.191294e-03 7.280344e-04 9.753222e-04 8.505367e-04 5.484892e-04 + 710 8.138498e-04 7.122225e-04 7.772284e-04 6.334672e-04 5.408560e-04 + 711 6.799210e-04 7.883418e-04 1.020521e-03 8.437580e-04 6.266494e-04 + 712 1.064054e-03 4.608485e-04 9.095889e-04 7.738597e-04 1.126483e-03 + 713 1.304002e-03 7.073850e-04 7.376693e-04 1.101878e-03 8.425630e-04 + 714 6.669501e-04 1.029807e-03 7.260898e-04 1.274338e-03 7.358018e-04 + 715 7.717114e-04 7.468374e-04 1.078205e-03 1.321208e-03 1.039829e-03 + 716 3.730851e-04 1.000710e-03 7.759662e-04 1.280154e-03 1.289839e-03 + 717 4.813558e-04 1.475503e-03 1.750284e-03 1.085092e-03 1.533528e-03 + 718 9.923201e-04 1.976931e-03 2.188918e-03 8.336347e-04 1.428061e-03 + 719 1.387814e-03 1.857237e-03 9.309537e-04 9.166474e-04 1.131221e-03 + 720 1.108930e-03 9.491545e-04 8.492154e-04 5.412047e-04 1.020071e-03 + 721 1.158635e-03 6.449613e-04 1.200802e-03 7.480612e-04 7.304291e-04 + 722 1.148509e-03 7.540174e-04 9.738282e-04 7.500714e-04 6.253903e-04 + 723 7.575717e-04 8.884820e-04 1.446243e-03 6.540542e-04 6.370292e-04 + 724 8.914768e-04 7.709283e-04 1.234327e-03 8.371758e-04 1.153744e-03 + 725 6.603411e-04 5.789578e-04 1.116048e-03 7.594339e-04 8.353490e-04 + 726 7.409733e-04 9.063789e-04 8.596433e-04 1.035029e-03 5.537216e-04 + 727 9.689192e-04 7.895036e-04 7.964973e-04 7.701642e-04 3.675997e-04 + 728 1.126865e-03 8.139434e-04 1.266534e-03 8.314130e-04 5.641778e-04 + 729 9.418258e-04 1.015237e-03 7.949068e-04 9.337936e-04 7.049085e-04 + 730 1.040652e-03 6.391000e-04 6.478064e-04 5.468566e-04 8.394086e-04 + 731 1.194339e-03 6.698987e-04 7.705930e-04 7.325970e-04 8.033833e-04 + 732 6.244853e-04 6.825602e-04 7.220702e-04 8.666989e-04 7.819552e-04 + 733 6.674674e-04 7.566301e-04 1.096643e-03 7.710058e-04 1.112852e-03 + 734 6.034858e-04 7.795962e-04 1.352318e-03 7.951191e-04 9.243959e-04 + 735 6.437207e-04 9.316783e-04 1.077623e-03 6.250113e-04 4.851154e-04 + 736 9.120128e-04 8.130956e-04 9.508326e-04 7.435942e-04 7.326640e-04 + 737 8.664966e-04 9.265475e-04 1.695948e-03 6.545610e-04 9.256772e-04 + 738 9.208644e-04 1.179592e-03 1.879139e-03 1.204136e-03 1.065249e-03 + 739 1.494335e-03 1.552033e-03 1.126661e-03 1.408293e-03 1.553739e-03 + 740 9.651141e-04 9.053581e-04 1.195361e-03 9.449364e-04 9.149161e-04 + 741 4.074105e-04 9.623106e-04 5.761147e-04 5.557024e-04 9.863718e-04 + 742 8.221404e-04 1.010399e-03 8.036236e-04 5.558431e-04 9.773511e-04 + 743 8.661476e-04 7.700897e-04 1.237033e-03 1.149375e-03 1.062249e-03 + 744 8.094668e-04 6.063876e-04 1.194747e-03 9.773629e-04 7.131310e-04 + 745 7.897248e-04 3.300034e-04 6.149087e-04 6.061448e-04 6.445510e-04 + 746 5.777896e-04 6.266493e-04 9.270635e-04 7.064382e-04 8.748005e-04 + 747 6.283656e-04 3.957735e-04 9.068680e-04 5.744904e-04 7.038877e-04 + 748 4.968795e-04 3.872681e-04 5.824475e-04 6.939045e-04 6.963221e-04 + 749 5.740037e-04 6.660179e-04 9.189361e-04 5.304002e-04 8.439317e-04 + 750 7.534590e-04 1.087723e-03 1.132866e-03 4.626536e-04 8.095659e-04 + 751 9.659968e-04 1.016892e-03 9.435263e-04 6.450207e-04 6.559102e-04 + 752 9.549758e-03 8.354797e-03 8.024564e-03 8.419852e-03 8.356490e-03 + 753 4.627080e-02 4.378202e-02 4.595120e-02 4.467289e-02 4.540181e-02 + 754 1.405189e-02 1.469244e-02 1.606642e-02 1.560362e-02 1.579214e-02 + 755 4.661308e-04 1.098443e-03 1.390802e-03 1.127048e-03 7.322061e-04 + 756 7.169987e-04 7.558145e-04 7.664701e-04 9.067329e-04 1.121539e-03 + 757 1.179024e-03 5.219128e-04 1.140206e-03 6.071467e-04 1.005778e-03 + 758 1.183750e-03 6.312523e-04 1.281880e-03 5.826534e-04 1.072448e-03 + 759 7.287546e-04 9.651778e-04 1.180528e-03 5.079828e-04 8.859337e-04 + 760 9.771709e-04 1.408180e-03 1.148487e-03 4.280862e-04 1.003989e-03 + 761 7.178220e-04 7.172096e-04 1.008144e-03 3.313754e-04 9.923093e-04 + 762 5.768146e-04 5.157214e-04 1.330416e-03 5.255052e-04 6.699129e-04 + 763 6.973959e-04 4.751591e-04 1.320749e-03 4.263192e-04 6.057772e-04 + 764 8.152817e-04 5.195943e-04 9.690273e-04 4.365345e-04 7.118540e-04 + 765 1.060200e-03 9.698863e-04 1.101747e-03 8.129565e-04 6.132033e-04 + 766 7.736789e-04 1.264395e-03 8.376920e-04 7.818055e-04 7.099280e-04 + 767 5.376605e-04 1.160894e-03 3.777553e-04 4.606734e-04 1.029612e-03 + 768 6.762135e-04 7.794014e-04 5.593385e-04 7.445185e-04 1.308386e-03 + 769 5.317444e-04 9.603602e-04 7.539145e-04 5.726831e-04 8.331911e-04 + 770 6.813136e-04 1.388516e-03 1.161813e-03 9.620581e-04 8.174906e-04 + 771 9.690753e-04 9.810321e-04 1.565157e-03 8.319056e-04 9.106824e-04 + 772 6.465199e-04 6.658782e-04 9.955801e-04 6.585257e-04 8.581940e-04 + 773 5.295328e-04 7.359427e-04 8.063483e-04 4.333676e-04 8.425437e-04 + 774 7.521761e-04 9.946847e-04 8.737646e-04 6.230572e-04 4.523649e-04 + 775 9.677564e-04 9.881472e-04 9.838283e-04 7.335802e-04 7.303051e-04 + 776 8.093134e-04 6.499835e-04 5.485472e-04 1.087334e-03 5.862090e-04 + 777 1.165292e-03 9.960671e-04 4.530778e-04 1.504156e-03 1.072760e-03 + 778 1.027968e-03 8.858127e-04 7.994692e-04 1.324083e-03 7.450899e-04 + 779 1.223402e-03 9.561941e-04 1.804388e-03 9.575180e-04 1.020296e-03 + 780 1.569984e-03 2.016412e-03 3.239174e-03 1.830380e-03 1.619099e-03 + 781 1.263624e-03 1.384118e-03 1.710734e-03 1.872212e-03 1.022926e-03 + 782 1.259043e-03 6.660219e-04 1.426565e-03 1.156521e-03 1.264648e-03 + 783 1.048971e-03 5.544275e-04 9.119866e-04 7.545538e-04 9.882242e-04 + 784 7.851002e-04 7.388593e-04 8.811241e-04 1.005776e-03 6.514958e-04 + 785 8.331525e-04 8.218997e-04 1.264864e-03 9.656445e-04 5.876969e-04 + 786 6.423433e-04 5.940146e-04 8.407591e-04 8.502116e-04 7.162358e-04 + 787 8.253871e-04 6.481594e-04 7.714165e-04 8.820588e-04 7.834265e-04 + 788 8.928924e-04 6.506083e-04 9.110441e-04 6.819192e-04 1.345632e-03 + 789 7.730251e-04 6.510619e-04 5.915389e-04 5.312860e-04 7.324374e-04 + 790 1.141322e-03 9.510055e-04 7.107385e-04 4.994313e-04 6.709033e-04 + 791 8.927593e-04 7.062851e-04 8.745045e-04 1.130393e-03 9.904821e-04 + 792 8.293303e-04 6.080456e-04 1.001820e-03 9.883799e-04 8.077351e-04 + 793 5.207519e-04 3.832921e-04 6.880393e-04 3.921299e-04 4.021529e-04 + 794 4.917686e-04 5.684933e-04 9.426188e-04 8.599269e-04 6.430359e-04 + 795 7.181127e-04 1.356474e-03 1.707793e-03 1.526257e-03 1.219865e-03 + 796 9.022173e-04 5.762863e-04 1.400287e-03 8.845384e-04 1.102552e-03 + 797 8.600827e-04 6.654558e-04 1.328257e-03 9.596911e-04 8.415893e-04 + 798 6.843166e-04 9.907217e-04 9.818157e-04 9.679396e-04 1.028563e-03 + 799 9.748913e-04 1.294528e-03 1.652062e-03 1.213374e-03 1.043366e-03 + 800 8.666618e-03 1.041801e-02 1.100302e-02 9.252034e-03 8.594805e-03 + 801 4.894478e-02 6.031984e-02 6.215133e-02 5.588020e-02 4.905827e-02 + 802 1.094342e-02 1.242688e-02 1.302897e-02 1.138077e-02 1.040021e-02 + 803 6.575226e-04 6.802297e-04 9.229896e-04 5.844466e-04 6.623366e-04 + 804 8.757287e-04 8.606340e-04 8.793960e-04 7.753356e-04 5.266333e-04 + 805 7.558862e-04 1.220342e-03 1.311926e-03 1.179733e-03 7.039223e-04 + 806 8.817600e-04 1.115223e-03 1.944135e-03 1.168072e-03 8.837162e-04 + 807 6.681042e-04 8.995592e-04 1.617932e-03 7.137292e-04 5.795011e-04 + 808 4.284877e-04 9.592956e-04 9.649985e-04 1.040779e-03 6.538336e-04 + 809 7.056329e-04 7.922390e-04 9.247452e-04 6.937159e-04 3.629323e-04 + 810 7.454389e-04 7.354632e-04 8.084718e-04 6.717121e-04 6.368631e-04 + 811 7.541673e-04 7.609376e-04 9.654205e-04 7.755655e-04 9.726461e-04 + 812 7.291818e-04 8.986923e-04 1.182875e-03 6.839861e-04 1.063275e-03 + 813 1.084826e-03 9.075715e-04 1.156870e-03 7.320177e-04 7.759877e-04 + 814 1.150938e-03 6.475956e-04 8.378827e-04 9.548227e-04 7.369571e-04 + 815 9.216960e-04 8.939450e-04 8.572255e-04 9.744666e-04 9.785755e-04 + 816 9.210428e-04 1.281841e-03 8.638865e-04 1.053632e-03 1.110892e-03 + 817 8.953113e-04 6.550362e-04 1.436743e-03 6.201308e-04 7.082594e-04 + 818 8.719343e-04 7.033060e-04 1.525766e-03 1.203211e-03 8.597648e-04 + 819 7.737470e-04 7.058696e-04 1.383239e-03 1.024350e-03 5.840452e-04 + 820 8.306154e-04 7.110932e-04 8.345100e-04 7.283752e-04 6.772694e-04 + 821 7.867970e-04 9.066524e-04 1.380515e-03 6.836495e-04 8.179279e-04 + 822 1.249491e-03 1.502010e-03 2.874703e-03 1.818280e-03 1.981850e-03 + 823 9.774639e-04 5.803025e-04 1.744905e-03 7.458062e-04 1.069020e-03 + 824 6.608092e-04 4.511664e-04 1.121616e-03 5.748970e-04 6.220446e-04 + 825 4.898811e-04 9.001684e-04 1.182270e-03 9.676113e-04 7.054872e-04 + 826 4.812414e-04 7.505343e-04 1.197572e-03 1.023924e-03 8.835602e-04 + 827 8.411069e-04 6.403342e-04 1.583782e-03 9.667792e-04 9.175892e-04 + 828 7.174249e-04 5.873725e-04 1.095761e-03 7.561304e-04 7.287842e-04 + 829 7.572432e-04 7.696642e-04 1.148448e-03 8.673571e-04 1.141300e-03 + 830 8.681008e-04 1.106883e-03 8.705517e-04 6.649128e-04 6.070419e-04 + 831 1.148762e-03 1.136528e-03 1.120334e-03 8.564139e-04 1.292591e-03 + 832 8.416520e-04 9.801540e-04 1.079285e-03 8.664239e-04 7.178643e-04 + 833 5.996606e-04 7.584669e-04 1.094334e-03 6.788501e-04 3.753083e-04 + 834 5.012456e-04 7.520041e-04 9.391764e-04 7.143081e-04 7.741291e-04 + 835 4.091639e-04 4.952610e-04 7.325623e-04 5.253586e-04 5.816268e-04 + 836 5.019922e-04 7.303141e-04 1.319772e-03 5.956074e-04 6.821977e-04 + 837 6.102311e-04 9.426513e-04 8.701621e-04 6.861642e-04 6.084027e-04 + 838 5.384496e-04 1.070296e-03 1.297751e-03 7.538807e-04 9.362002e-04 + 839 7.321069e-04 8.104580e-04 9.695706e-04 9.559261e-04 9.448579e-04 + 840 9.959635e-04 1.119263e-03 8.619574e-04 9.422505e-04 8.508381e-04 + 841 8.480042e-04 9.412479e-04 1.314256e-03 1.164065e-03 1.465340e-03 + 842 7.208055e-04 5.215558e-04 1.573945e-03 4.538274e-04 8.311442e-04 + 843 7.830602e-04 7.164983e-04 9.843105e-04 5.813723e-04 5.602519e-04 + 844 9.046313e-04 8.713385e-04 7.942064e-04 7.960354e-04 5.320436e-04 + 845 6.757091e-04 8.626443e-04 4.958532e-04 5.685019e-04 6.678913e-04 + 846 8.987119e-04 8.855741e-04 6.757100e-04 5.325182e-04 8.823420e-04 + 847 8.650844e-04 6.968699e-04 6.018161e-04 6.976047e-04 1.017744e-03 + 848 9.099377e-03 8.097916e-03 1.050051e-02 8.389475e-03 9.189143e-03 + 849 3.701780e-02 3.557873e-02 4.385677e-02 3.637668e-02 3.568412e-02 + 850 6.967814e-03 7.831911e-03 8.841712e-03 7.229320e-03 7.582637e-03 + 851 1.083062e-03 1.172943e-03 1.231560e-03 6.750839e-04 1.169155e-03 + 852 1.153840e-03 7.092744e-04 1.255028e-03 5.185927e-04 9.400514e-04 + 853 9.602781e-04 6.645781e-04 1.278059e-03 6.885322e-04 1.118851e-03 + 854 5.302351e-04 4.495710e-04 1.098607e-03 7.226999e-04 7.234792e-04 + 855 3.550496e-04 7.124123e-04 1.286461e-03 9.728162e-04 8.700215e-04 + 856 4.209328e-04 7.607135e-04 8.750052e-04 7.531465e-04 5.929444e-04 + 857 4.145690e-04 5.441460e-04 6.375501e-04 6.080557e-04 5.016421e-04 + 858 5.903619e-04 6.302482e-04 9.982358e-04 5.259214e-04 7.851214e-04 + 859 5.126519e-04 5.944943e-04 9.794798e-04 5.670426e-04 9.745937e-04 + 860 5.856296e-04 4.628084e-04 1.206081e-03 4.957371e-04 7.528582e-04 + 861 7.023752e-04 6.926387e-04 8.115979e-04 5.804488e-04 8.220615e-04 + 862 5.724630e-04 1.131044e-03 1.425848e-03 6.793358e-04 1.401385e-03 + 863 7.139067e-04 6.907251e-04 1.233742e-03 1.205274e-03 6.730896e-04 + 864 6.954583e-04 5.917953e-04 1.650311e-03 1.197323e-03 8.357767e-04 + 865 5.406015e-04 8.855706e-04 1.125526e-03 7.687055e-04 6.308818e-04 + 866 1.158847e-03 1.283147e-03 8.731772e-04 7.541600e-04 7.783118e-04 + 867 7.356782e-04 1.143950e-03 1.048608e-03 6.477564e-04 5.136441e-04 + 868 5.954559e-04 1.312526e-03 1.043194e-03 5.713466e-04 6.456271e-04 + 869 5.033528e-04 9.786759e-04 1.135173e-03 8.044321e-04 9.168062e-04 + 870 5.733796e-04 9.455016e-04 1.659417e-03 9.672482e-04 1.074558e-03 + 871 8.209522e-04 4.230588e-04 1.324400e-03 5.518552e-04 7.083351e-04 + 872 7.064241e-04 6.020726e-04 7.298163e-04 7.356837e-04 5.047530e-04 + 873 7.101961e-04 6.771024e-04 8.160548e-04 8.482189e-04 8.163582e-04 + 874 7.923053e-04 5.206159e-04 7.332593e-04 7.455220e-04 8.039425e-04 + 875 5.247101e-04 3.636455e-04 6.296555e-04 7.421817e-04 6.565825e-04 + 876 4.806306e-04 6.243141e-04 9.261098e-04 1.055968e-03 6.743594e-04 + 877 4.012740e-04 6.312171e-04 1.005062e-03 8.874667e-04 5.235452e-04 + 878 6.010526e-04 6.405920e-04 9.850856e-04 1.019128e-03 4.560492e-04 + 879 8.312334e-04 8.854026e-04 1.187831e-03 9.238824e-04 6.950342e-04 + 880 6.488993e-04 8.505678e-04 9.317255e-04 5.693627e-04 8.510371e-04 + 881 1.161327e-03 1.115328e-03 1.205487e-03 8.028223e-04 8.113774e-04 + 882 9.883303e-04 8.790099e-04 1.176756e-03 7.086900e-04 6.610179e-04 + 883 8.683173e-04 8.010283e-04 6.458429e-04 6.730375e-04 8.048110e-04 + 884 9.152466e-04 8.446729e-04 7.128514e-04 1.322426e-03 8.739024e-04 + 885 6.510136e-04 8.104880e-04 8.908293e-04 1.098465e-03 8.617299e-04 + 886 7.602815e-04 1.024790e-03 8.588066e-04 8.015240e-04 6.490318e-04 + 887 6.350580e-04 1.560505e-03 1.057464e-03 7.398385e-04 6.258708e-04 + 888 7.660875e-04 1.088385e-03 1.125993e-03 5.671752e-04 5.521326e-04 + 889 7.514217e-04 7.777790e-04 1.119343e-03 5.740311e-04 6.394703e-04 + 890 8.634423e-04 8.500854e-04 8.270827e-04 8.537799e-04 6.279047e-04 + 891 4.694361e-04 6.209314e-04 8.895799e-04 9.444588e-04 7.897351e-04 + 892 7.658024e-04 9.069200e-04 1.038566e-03 8.773318e-04 6.523224e-04 + 893 8.955725e-04 1.109494e-03 1.422507e-03 9.817857e-04 4.316997e-04 + 894 6.147803e-04 8.768353e-04 1.272578e-03 6.768575e-04 4.225123e-04 + 895 6.493156e-04 9.756458e-04 1.200072e-03 9.501355e-04 6.267439e-04 + 896 1.285691e-03 1.181898e-03 1.906544e-03 1.036005e-03 1.274624e-03 + 897 1.874106e-03 1.625387e-03 2.100462e-03 1.278661e-03 1.766403e-03 + 898 7.843392e-04 1.039417e-03 7.976598e-04 8.913666e-04 8.497074e-04 + 899 3.490445e-04 1.068783e-03 9.215648e-04 8.096890e-04 7.378154e-04 + 900 6.549800e-04 1.134701e-03 1.031544e-03 7.389189e-04 7.486850e-04 + 901 6.929662e-04 8.094546e-04 7.488280e-04 7.985882e-04 4.795299e-04 + 902 6.528689e-04 1.051848e-03 4.447287e-04 1.022308e-03 8.861487e-04 + 903 7.639959e-04 1.126650e-03 4.692450e-04 8.590989e-04 8.923566e-04 + 904 6.467651e-04 7.394307e-04 4.392916e-04 1.197843e-03 7.555935e-04 + 905 6.654259e-04 7.323684e-04 6.949268e-04 1.487496e-03 6.987157e-04 + 906 8.464579e-04 1.011843e-03 1.058267e-03 1.005914e-03 7.858203e-04 + 907 7.061587e-04 7.004583e-04 1.470000e-03 5.782020e-04 9.650813e-04 + 908 5.745926e-04 6.379390e-04 1.045716e-03 1.013050e-03 4.827721e-04 + 909 8.543128e-04 5.242131e-04 1.061859e-03 9.995087e-04 9.536350e-04 + 910 8.496338e-04 7.600251e-04 9.245720e-04 1.075515e-03 7.108757e-04 + 911 1.049144e-03 8.551291e-04 1.109407e-03 7.502247e-04 3.280674e-04 + 912 7.238782e-04 4.541176e-04 1.395230e-03 7.138987e-04 4.943010e-04 + 913 7.130786e-04 7.916611e-04 1.055450e-03 6.454956e-04 6.545991e-04 + 914 8.975704e-04 1.123363e-03 5.656242e-04 4.996023e-04 6.161100e-04 + 915 1.026161e-03 6.248335e-04 4.250194e-04 5.925829e-04 5.438223e-04 + 916 7.047552e-04 6.536343e-04 6.180693e-04 4.551148e-04 5.421710e-04 + 917 7.606586e-04 7.392543e-04 9.623342e-04 1.150056e-03 6.149897e-04 + 918 6.477369e-04 9.840668e-04 9.405080e-04 1.253133e-03 5.390425e-04 + 919 7.541395e-04 7.194737e-04 6.663509e-04 8.146757e-04 4.625453e-04 + 920 1.198072e-03 9.462348e-04 9.643204e-04 7.360137e-04 8.171128e-04 + 921 1.295652e-03 1.128547e-03 9.511125e-04 7.360653e-04 9.246720e-04 + 922 1.058365e-03 1.460691e-03 7.952604e-04 4.258040e-04 5.419422e-04 + 923 7.525577e-04 1.150148e-03 8.676387e-04 2.492779e-04 8.094271e-04 + 924 8.084847e-04 6.877159e-04 7.375511e-04 5.447680e-04 6.878432e-04 + 925 8.504683e-04 9.715754e-04 1.264363e-03 1.067403e-03 7.335862e-04 + 926 7.855035e-04 9.503879e-04 9.132771e-04 1.101705e-03 6.484022e-04 + 927 7.915676e-04 5.738493e-04 1.404860e-03 7.014664e-04 8.071470e-04 + 928 5.687352e-04 1.066209e-03 1.944838e-03 1.196598e-03 1.142350e-03 + 929 6.820668e-04 1.147423e-03 1.064649e-03 6.249786e-04 1.094690e-03 + 930 9.824264e-04 1.016000e-03 9.845642e-04 5.015254e-04 1.088141e-03 + 931 8.366252e-04 6.933242e-04 1.049497e-03 6.882178e-04 9.432484e-04 + 932 7.889484e-04 6.819702e-04 8.545428e-04 6.171928e-04 6.505299e-04 + 933 8.119628e-04 9.212861e-04 8.864399e-04 5.305691e-04 4.943810e-04 + 934 8.936674e-04 8.240813e-04 9.220557e-04 5.797372e-04 6.225243e-04 + 935 7.779693e-04 8.102875e-04 9.455772e-04 4.961467e-04 7.048938e-04 + 936 5.021826e-04 9.288612e-04 8.215403e-04 4.686780e-04 5.363441e-04 + 937 5.419211e-04 1.100756e-03 9.774675e-04 5.307585e-04 7.689276e-04 + 938 6.447916e-04 9.341107e-04 1.400381e-03 9.039619e-04 1.096668e-03 + 939 7.340007e-04 1.396052e-03 1.256100e-03 1.031318e-03 1.011553e-03 + 940 9.484078e-04 8.930973e-04 7.309109e-04 7.380888e-04 7.173900e-04 + 941 4.315970e-04 7.277863e-04 6.261774e-04 6.293628e-04 4.352808e-04 + 942 6.455697e-04 6.782189e-04 1.047231e-03 5.163495e-04 7.323667e-04 + 943 9.206972e-04 7.937034e-04 1.849883e-03 5.838077e-04 8.846384e-04 + 944 3.886682e-03 5.239256e-03 5.584073e-03 3.955987e-03 4.625417e-03 + 945 6.041695e-03 8.436371e-03 8.600435e-03 6.870339e-03 7.977363e-03 + 946 2.186898e-03 2.751788e-03 3.154114e-03 2.544791e-03 2.929119e-03 + 947 5.961717e-04 7.654006e-04 8.202785e-04 1.087752e-03 7.496720e-04 + 948 8.033991e-04 7.519976e-04 1.641070e-03 1.337466e-03 5.803666e-04 + 949 6.534244e-04 5.461674e-04 1.159111e-03 1.005347e-03 5.558887e-04 + 950 6.450395e-04 8.320681e-04 4.766525e-04 1.084177e-03 1.033935e-03 + 951 7.634429e-04 7.315467e-04 1.266386e-03 1.290425e-03 7.457567e-04 + 952 6.544240e-04 9.089437e-04 1.267693e-03 7.390050e-04 5.282914e-04 + 953 7.223730e-04 1.225079e-03 1.499976e-03 6.922239e-04 4.763227e-04 + 954 7.562548e-04 7.596120e-04 1.061078e-03 5.859603e-04 5.657457e-04 + 955 7.412391e-04 5.845176e-04 1.111015e-03 4.941412e-04 4.797059e-04 + 956 6.776419e-04 7.767117e-04 1.075688e-03 6.570408e-04 4.334995e-04 + 957 4.139337e-04 7.559227e-04 9.349425e-04 1.241831e-03 6.015362e-04 + 958 4.506947e-04 5.847853e-04 8.556989e-04 9.021982e-04 9.192642e-04 + 959 6.697396e-04 5.109950e-04 9.466882e-04 9.423973e-04 9.521818e-04 + 960 8.295376e-04 5.900789e-04 1.014597e-03 8.916918e-04 4.210464e-04 + 961 6.795722e-04 8.248043e-04 1.065138e-03 6.847129e-04 5.669111e-04 + 962 6.288072e-04 8.525228e-04 9.940623e-04 6.417105e-04 5.650794e-04 + 963 6.468225e-04 7.817500e-04 1.006659e-03 4.618556e-04 7.042611e-04 + 964 7.292800e-04 8.429866e-04 1.007171e-03 4.274223e-04 6.704646e-04 + 965 6.507501e-04 7.562836e-04 1.011813e-03 4.710639e-04 9.088673e-04 + 966 5.638975e-04 6.442431e-04 7.339140e-04 5.780062e-04 4.660737e-04 + 967 9.728696e-04 1.005647e-03 1.522879e-03 8.553564e-04 7.756536e-04 + 968 8.763865e-04 1.150095e-03 1.411580e-03 7.612617e-04 9.336440e-04 + 969 9.663237e-04 7.714172e-04 5.387163e-04 7.456971e-04 8.824102e-04 + 970 1.132621e-03 9.225665e-04 7.058220e-04 8.966375e-04 6.894273e-04 + 971 8.162383e-04 6.796439e-04 1.389701e-03 9.107705e-04 5.066478e-04 + 972 5.604059e-04 8.710397e-04 7.120913e-04 1.034242e-03 8.638025e-04 + 973 8.517503e-04 1.114897e-03 1.012686e-03 1.203798e-03 1.870840e-03 + 974 6.375464e-04 8.500910e-04 8.300379e-04 1.132648e-03 1.332010e-03 + 975 5.698471e-04 3.445822e-04 9.767746e-04 1.022157e-03 5.950362e-04 + 976 5.648152e-04 4.746842e-04 7.066482e-04 1.051743e-03 6.801134e-04 + 977 5.601036e-04 7.722965e-04 6.980674e-04 9.883399e-04 7.022730e-04 + 978 6.377513e-04 1.119529e-03 8.793000e-04 8.589999e-04 9.109227e-04 + 979 5.912138e-04 7.218882e-04 1.020032e-03 8.545141e-04 7.001355e-04 + 980 8.109615e-04 7.713483e-04 1.091965e-03 1.092853e-03 1.031437e-03 + 981 1.044822e-03 7.498588e-04 1.240209e-03 7.897342e-04 9.668575e-04 + 982 1.151500e-03 7.928921e-04 1.435039e-03 7.415601e-04 7.416929e-04 + 983 5.888255e-04 6.782529e-04 9.948464e-04 6.587841e-04 4.743198e-04 + 984 7.586937e-04 7.000981e-04 1.109733e-03 9.623374e-04 6.803948e-04 + 985 4.711397e-04 9.860184e-04 1.241118e-03 8.846714e-04 5.702404e-04 + 986 8.583850e-04 1.137202e-03 1.118681e-03 3.550190e-04 5.882411e-04 + 987 5.919842e-04 1.021841e-03 6.239248e-04 4.750022e-04 7.286329e-04 + 988 6.996450e-04 6.344772e-04 4.853142e-04 5.795562e-04 4.553751e-04 + 989 5.188762e-04 8.690728e-04 4.466982e-04 7.016796e-04 5.534677e-04 + 990 4.016695e-04 8.947741e-04 7.099411e-04 6.245461e-04 6.407289e-04 + 991 4.059916e-04 8.412411e-04 1.104583e-03 5.570806e-04 5.459884e-04 + 992 3.347405e-04 7.629645e-04 7.270547e-04 6.330827e-04 1.331677e-03 + 993 5.629968e-04 4.980389e-04 3.989191e-04 4.174751e-04 7.157327e-04 + 994 4.780813e-04 6.762364e-04 8.018602e-04 7.899248e-04 5.891526e-04 + 995 1.065731e-03 1.475733e-03 1.202557e-03 7.935897e-04 5.388075e-04 + 996 1.122812e-03 1.203154e-03 8.091088e-04 6.719446e-04 7.205067e-04 + 997 7.202140e-04 8.035278e-04 7.468944e-04 4.352411e-04 5.875364e-04 + 998 7.878144e-04 8.912082e-04 1.016217e-03 5.119590e-04 8.160041e-04 + 999 5.513753e-04 8.239725e-04 1.354759e-03 7.423881e-04 7.444361e-04 + 1000 7.959954e-04 8.587170e-04 1.025668e-03 6.293140e-04 1.100033e-03 + 1001 1.052523e-03 8.463766e-04 1.441980e-03 5.508131e-04 1.375927e-03 + 1002 1.018535e-03 8.788174e-04 1.547877e-03 7.858237e-04 9.255212e-04 + 1003 7.336064e-04 8.553788e-04 9.432031e-04 9.517448e-04 6.464153e-04 + 1004 8.372718e-04 8.484870e-04 8.706778e-04 5.503831e-04 5.261640e-04 + 1005 7.409706e-04 5.188187e-04 1.112742e-03 4.935574e-04 6.058875e-04 + 1006 4.631010e-04 6.599614e-04 1.131559e-03 6.264676e-04 4.423570e-04 + 1007 8.123712e-04 4.976658e-04 1.203882e-03 8.193414e-04 3.402073e-04 + 1008 8.319720e-04 5.648301e-04 9.399145e-04 8.312272e-04 5.631249e-04 + 1009 7.578419e-04 7.757580e-04 7.494969e-04 8.980177e-04 1.042390e-03 + 1010 7.320615e-04 7.829887e-04 5.523741e-04 6.403699e-04 7.405746e-04 + 1011 8.444762e-04 6.495159e-04 7.126340e-04 7.389686e-04 4.798705e-04 + 1012 1.193656e-03 8.762989e-04 8.574768e-04 7.227490e-04 6.106287e-04 + 1013 7.830502e-04 8.690732e-04 8.137900e-04 8.384708e-04 1.080543e-03 + 1014 8.243564e-04 5.530070e-04 9.262382e-04 8.482339e-04 1.194021e-03 + 1015 8.740541e-04 7.391585e-04 9.986715e-04 6.604035e-04 7.842306e-04 + 1016 8.333512e-04 7.440939e-04 5.619001e-04 6.549181e-04 6.078908e-04 + 1017 6.008667e-04 6.583024e-04 6.483912e-04 1.121822e-03 4.557449e-04 + 1018 7.470019e-04 7.230284e-04 8.210971e-04 1.696595e-03 7.633071e-04 + 1019 9.708098e-04 7.827026e-04 8.467234e-04 1.412362e-03 4.811144e-04 + 1020 1.205320e-03 1.196000e-03 8.078219e-04 1.045723e-03 5.404455e-04 + 1021 1.015578e-03 1.153913e-03 9.080682e-04 5.947245e-04 5.526137e-04 + 1022 6.457971e-04 5.299921e-04 9.681612e-04 8.555066e-04 7.894616e-04 + 1023 8.059273e-04 9.654517e-04 1.163987e-03 1.151251e-03 1.069446e-03 + 1024 5.651219e-04 4.533804e-04 7.335657e-04 5.674755e-04 7.103930e-04 + 1025 4.716499e-04 3.322649e-04 6.502424e-04 3.848673e-04 8.124023e-04 + A11 A12 A13 A14 A15 + 2 9.729670e-02 8.344935e-02 1.548392e-01 8.344750e-02 1.417281e-01 + 3 4.726804e-02 4.227584e-02 7.705536e-02 4.913438e-02 6.962634e-02 + 4 2.959630e-02 3.420154e-02 1.984856e-02 1.869166e-02 3.683718e-02 + 5 1.513013e-02 1.534040e-02 2.401403e-02 1.451915e-02 2.316276e-02 + 6 2.343644e-02 1.415862e-02 1.585669e-02 2.692753e-02 2.014680e-02 + 7 1.834609e-02 1.560278e-02 1.623932e-02 1.462723e-02 1.777032e-02 + 8 2.180995e-02 1.149987e-02 2.137117e-02 1.683843e-02 1.750358e-02 + 9 8.760466e-03 1.664993e-02 1.205052e-02 1.289511e-02 1.014402e-02 + 10 1.192630e-02 1.089822e-02 1.511382e-02 1.615042e-02 1.384576e-02 + 11 1.397201e-02 1.609004e-02 1.306923e-02 1.052612e-02 1.187921e-02 + 12 1.232035e-02 1.246331e-02 1.146877e-02 1.392744e-02 2.147357e-02 + 13 1.738716e-02 1.919827e-02 1.312429e-02 1.222752e-02 1.220801e-02 + 14 1.240542e-02 1.171241e-02 1.415400e-02 1.272371e-02 9.008213e-03 + 15 1.632165e-02 1.756412e-02 1.458583e-02 1.752899e-02 1.590785e-02 + 16 2.107016e-02 1.980383e-02 2.511320e-02 2.194651e-02 2.454010e-02 + 17 2.156147e-02 2.013175e-02 2.149447e-02 2.277355e-02 1.940184e-02 + 18 2.374627e-02 2.300647e-02 2.585752e-02 2.009041e-02 2.381349e-02 + 19 1.658787e-02 1.758080e-02 1.343344e-02 1.323568e-02 1.418490e-02 + 20 8.594935e-02 9.118333e-02 9.018975e-02 7.681944e-02 8.895620e-02 + 21 3.952661e+02 4.018772e+02 4.033885e+02 3.960393e+02 3.985078e+02 + 22 3.230946e+03 3.286797e+03 3.298753e+03 3.233646e+03 3.256878e+03 + 23 8.540592e+02 8.686055e+02 8.721670e+02 8.553667e+02 8.607259e+02 + 24 3.296330e-01 3.272557e-01 3.467962e-01 3.527043e-01 3.250183e-01 + 25 8.239537e-03 7.400848e-03 8.990273e-03 9.412535e-03 9.888794e-03 + 26 1.782907e-02 1.799243e-02 2.662455e-02 2.253412e-02 1.775685e-02 + 27 2.039443e-02 2.271576e-02 1.925302e-02 1.992635e-02 2.475757e-02 + 28 1.961397e-02 1.990567e-02 1.986766e-02 1.754867e-02 1.725215e-02 + 29 1.637528e-02 1.386689e-02 1.512446e-02 1.568591e-02 1.654830e-02 + 30 9.177793e-03 1.386984e-02 1.099310e-02 1.088577e-02 1.167412e-02 + 31 1.534969e-02 1.166916e-02 1.196217e-02 1.212041e-02 1.149305e-02 + 32 7.509102e-03 1.072739e-02 1.046405e-02 1.190564e-02 1.283848e-02 + 33 9.121898e-03 9.061360e-03 9.283866e-03 7.970889e-03 9.670365e-03 + 34 8.972590e-03 6.596739e-03 8.431169e-03 9.250634e-03 7.997478e-03 + 35 6.041392e-03 8.590687e-03 8.735423e-03 6.527088e-03 9.239145e-03 + 36 5.425100e-03 5.320650e-03 6.909618e-03 6.771126e-03 4.284279e-03 + 37 5.933285e-03 6.413387e-03 7.508296e-03 5.871503e-03 6.977104e-03 + 38 7.136800e-03 4.074674e-03 4.183407e-03 6.188516e-03 5.705910e-03 + 39 3.658159e-03 6.894509e-03 6.912747e-03 4.052537e-03 3.442399e-03 + 40 4.621215e-03 4.428795e-03 3.589834e-03 4.798402e-03 6.720086e-03 + 41 5.200734e-03 5.764629e-03 5.709200e-03 5.890308e-03 4.306890e-03 + 42 7.909552e-03 1.561803e-02 7.374507e-03 1.029372e-02 8.838690e-03 + 43 8.781575e-02 1.327108e-01 5.511146e-02 9.201512e-02 8.503588e-02 + 44 3.581898e-02 5.551584e-02 2.302165e-02 3.646476e-02 3.464266e-02 + 45 3.169384e-03 3.816142e-03 3.920163e-03 4.417721e-03 4.396254e-03 + 46 2.903798e-03 4.218731e-03 4.387150e-03 2.357199e-03 3.587303e-03 + 47 2.689101e-03 3.108337e-03 4.807070e-03 2.575517e-03 4.050426e-03 + 48 4.499682e-03 2.822573e-03 3.080312e-03 4.707419e-03 4.718128e-03 + 49 2.731459e-03 2.430663e-03 4.078415e-03 3.077356e-03 2.010605e-03 + 50 4.646065e-03 4.135942e-03 3.594058e-03 3.368564e-03 3.083266e-03 + 51 3.419885e-03 3.847542e-03 2.461824e-03 2.918025e-03 3.359287e-03 + 52 3.713087e-03 3.372007e-03 5.650916e-03 4.360413e-03 2.943027e-03 + 53 1.532798e-03 2.732374e-03 2.583989e-03 2.471931e-03 2.106454e-03 + 54 3.075822e-03 1.735830e-03 2.167524e-03 1.998710e-03 2.605471e-03 + 55 3.347864e-03 4.138855e-03 2.984615e-03 2.943109e-03 1.927602e-03 + 56 1.908795e-03 1.857745e-03 1.633273e-03 2.597632e-03 4.714410e-03 + 57 3.365894e-03 3.402263e-03 3.008469e-03 2.599058e-03 2.467172e-03 + 58 3.010723e-03 2.740950e-03 4.964863e-03 2.663751e-03 3.323515e-03 + 59 2.280688e-03 2.434026e-03 2.521090e-03 2.254069e-03 2.994431e-03 + 60 1.338501e-03 1.912297e-03 2.563064e-03 2.446841e-03 2.332812e-03 + 61 2.874761e-03 2.159781e-03 4.024752e-03 2.158849e-03 2.560656e-03 + 62 3.248830e-03 2.213311e-03 2.693705e-03 1.612182e-03 2.478647e-03 + 63 1.198579e-01 1.044147e-01 1.240738e-01 1.120878e-01 1.132840e-01 + 64 2.410561e+00 2.063925e+00 2.427144e+00 2.211456e+00 2.243796e+00 + 65 1.301112e+00 1.109088e+00 1.313339e+00 1.184475e+00 1.212686e+00 + 66 8.964726e-03 7.926251e-03 1.044061e-02 6.530235e-03 8.611901e-03 + 67 3.177271e-03 2.461196e-03 2.582520e-03 3.272529e-03 3.491376e-03 + 68 2.202908e-03 2.792440e-03 2.139084e-03 2.546789e-03 2.175281e-03 + 69 2.321291e-03 3.204687e-03 1.478568e-03 3.498955e-03 2.811334e-03 + 70 2.268175e-03 3.008294e-03 2.485819e-03 2.015184e-03 2.225919e-03 + 71 2.483854e-03 2.396311e-03 1.652310e-03 1.834957e-03 1.665868e-03 + 72 1.962832e-03 2.745389e-03 1.319047e-03 1.614142e-03 1.118780e-03 + 73 2.174242e-03 2.027942e-03 1.417099e-03 1.705559e-03 2.084730e-03 + 74 2.317030e-03 2.371779e-03 2.184163e-03 2.036562e-03 2.126853e-03 + 75 1.967485e-03 3.072494e-03 2.880024e-03 2.124196e-03 2.051457e-03 + 76 1.528840e-03 2.052064e-03 3.006785e-03 1.739863e-03 2.123662e-03 + 77 2.110294e-03 1.949217e-03 1.968013e-03 1.393853e-03 1.924569e-03 + 78 2.118523e-03 2.539474e-03 1.020601e-03 2.054208e-03 1.524464e-03 + 79 2.492525e-03 2.198543e-03 2.092894e-03 1.298974e-03 1.679115e-03 + 80 1.482129e-03 2.213923e-03 2.039876e-03 1.968803e-03 1.372028e-03 + 81 2.079898e-03 1.514964e-03 1.985679e-03 1.639118e-03 1.720641e-03 + 82 2.924367e-03 2.224075e-03 2.651559e-03 2.198759e-03 3.257814e-03 + 83 1.851037e-03 1.973657e-03 1.959850e-03 2.094711e-03 3.081236e-03 + 84 1.933177e-03 2.564511e-03 2.877745e-03 1.625468e-03 2.728345e-03 + 85 4.581182e-03 2.910795e-02 1.154270e-02 5.705982e-03 9.651823e-03 + 86 4.668943e-03 2.263353e-02 1.009157e-02 5.890196e-03 8.021448e-03 + 87 1.765751e-03 1.856103e-03 1.098432e-03 1.604731e-03 1.204111e-03 + 88 1.433651e-03 2.010107e-03 2.028083e-03 1.835439e-03 2.440190e-03 + 89 1.791350e-03 2.604201e-03 1.485432e-03 1.937678e-03 2.789570e-03 + 90 2.007533e-03 1.530395e-03 2.188597e-03 9.384658e-04 2.196746e-03 + 91 2.057352e-03 2.077530e-03 1.085987e-03 2.038357e-03 1.555115e-03 + 92 2.345368e-03 2.524464e-03 1.166597e-03 2.299875e-03 1.859524e-03 + 93 1.782818e-03 3.114891e-03 1.439349e-03 1.336955e-03 1.130399e-03 + 94 1.742631e-03 1.977412e-03 1.614477e-03 1.911528e-03 1.572084e-03 + 95 1.756493e-03 1.894388e-03 1.090278e-03 2.816358e-03 1.645049e-03 + 96 1.731468e-03 2.128466e-03 1.328282e-03 1.718361e-03 1.849924e-03 + 97 2.345568e-03 2.556163e-03 2.280725e-03 1.590375e-03 1.588575e-03 + 98 2.080675e-03 1.766748e-03 1.485635e-03 7.818311e-04 1.705239e-03 + 99 1.538368e-03 1.931091e-03 1.839163e-03 1.578403e-03 1.869832e-03 + 100 1.495298e-03 1.432364e-03 1.145405e-03 1.181206e-03 2.051344e-03 + 101 1.653309e-03 2.031297e-03 1.539030e-03 1.288244e-03 1.397853e-03 + 102 2.006239e-03 1.600486e-03 1.680084e-03 9.366972e-04 1.584028e-03 + 103 1.879887e-03 1.433329e-03 1.254157e-03 1.023072e-03 2.412822e-03 + 104 3.719002e-03 1.776475e-03 2.641545e-03 2.591067e-03 2.387218e-03 + 105 2.366647e-03 2.804213e-03 2.108873e-03 2.179032e-03 2.319065e-03 + 106 3.101506e-02 4.236593e-02 2.888013e-02 3.244225e-02 3.740904e-02 + 107 3.290695e-02 4.501209e-02 3.036461e-02 3.373493e-02 3.963975e-02 + 108 2.622330e-03 2.481440e-03 1.942541e-03 1.858416e-03 1.904771e-03 + 109 1.479088e-03 2.462473e-03 2.687566e-03 2.333372e-03 1.712508e-03 + 110 1.262486e-03 2.141704e-03 1.812189e-03 1.366198e-03 2.704058e-03 + 111 1.658258e-03 2.559331e-03 1.719651e-03 1.218009e-03 2.533652e-03 + 112 1.711334e-03 1.315886e-03 1.144947e-03 1.479633e-03 1.407904e-03 + 113 1.815487e-03 1.578397e-03 1.048289e-03 1.871403e-03 1.577943e-03 + 114 1.393505e-03 1.543141e-03 1.153034e-03 1.121613e-03 1.496685e-03 + 115 1.012445e-03 8.964211e-04 1.703860e-03 8.223190e-04 1.203285e-03 + 116 1.944684e-03 5.678223e-04 1.205645e-03 1.619474e-03 1.500830e-03 + 117 1.474355e-03 9.019917e-04 1.154017e-03 1.251833e-03 1.941111e-03 + 118 1.138511e-03 1.336990e-03 1.516312e-03 1.447216e-03 1.077041e-03 + 119 8.440459e-04 2.260190e-03 1.407417e-03 1.668750e-03 1.409223e-03 + 120 1.685322e-03 1.640716e-03 1.760271e-03 1.356946e-03 1.138310e-03 + 121 1.434422e-03 1.179955e-03 1.792540e-03 1.351791e-03 1.371410e-03 + 122 1.362678e-03 1.259284e-03 1.467561e-03 8.491209e-04 9.171772e-04 + 123 1.503416e-03 1.494731e-03 2.014002e-03 7.821998e-04 1.044412e-03 + 124 1.413540e-03 1.043265e-03 1.329662e-03 6.466251e-04 8.152106e-04 + 125 1.722514e-03 1.132237e-03 9.849430e-04 1.226036e-03 1.134951e-03 + 126 2.131410e-03 1.934138e-03 7.751381e-04 1.671999e-03 1.497674e-03 + 127 1.770166e-03 7.708800e-03 1.989604e-03 1.636145e-03 2.070098e-03 + 128 2.212261e-03 1.152719e-02 1.815746e-03 2.348663e-03 1.419347e-03 + 129 1.861765e-03 2.225026e-03 2.661102e-03 2.538996e-03 2.671279e-03 + 130 1.278106e-03 1.512034e-03 2.343949e-03 1.747047e-03 2.300580e-03 + 131 1.590379e-03 9.856764e-04 1.319777e-03 1.227810e-03 1.944655e-03 + 132 1.225545e-03 1.509356e-03 1.629736e-03 1.380249e-03 1.888278e-03 + 133 1.336918e-03 1.563694e-03 1.215539e-03 1.443787e-03 1.659995e-03 + 134 1.350199e-03 1.256143e-03 1.541778e-03 1.650249e-03 1.534158e-03 + 135 1.455214e-03 1.854258e-03 1.282491e-03 1.354158e-03 1.671097e-03 + 136 1.392487e-03 3.095669e-03 1.328189e-03 1.075350e-03 1.273747e-03 + 137 1.044014e-03 2.128253e-03 1.689906e-03 1.138667e-03 9.824334e-04 + 138 1.772830e-03 2.151307e-03 1.709723e-03 1.559592e-03 1.229598e-03 + 139 1.897036e-03 1.872823e-03 1.202891e-03 1.267576e-03 1.168039e-03 + 140 1.844927e-03 1.164346e-03 1.442270e-03 2.255552e-03 1.333405e-03 + 141 2.470013e-03 1.715275e-03 1.469324e-03 1.870472e-03 1.159516e-03 + 142 1.521606e-03 1.585116e-03 1.428966e-03 1.353742e-03 9.817426e-04 + 143 1.079344e-03 1.064119e-03 1.018600e-03 1.217170e-03 9.836367e-04 + 144 1.867689e-03 1.838890e-03 1.018739e-03 1.783378e-03 1.193784e-03 + 145 1.761335e-03 1.633759e-03 1.464128e-03 1.782738e-03 9.247998e-04 + 146 1.205299e-03 1.226864e-03 1.101542e-03 1.181344e-03 1.223294e-03 + 147 1.225865e-03 1.878010e-03 1.746991e-03 7.249593e-04 1.212645e-03 + 148 6.292086e-03 6.401853e-03 5.371926e-03 5.651486e-03 3.876889e-03 + 149 1.119072e-02 1.162425e-02 9.554472e-03 1.041705e-02 8.055819e-03 + 150 1.820923e-03 2.221989e-03 1.816756e-03 2.537146e-03 2.605944e-03 + 151 1.711876e-03 1.641588e-03 1.391492e-03 2.122824e-03 9.772032e-04 + 152 1.862070e-03 1.461517e-03 1.324950e-03 1.844586e-03 1.074609e-03 + 153 1.438093e-03 1.675152e-03 1.441116e-03 1.379174e-03 1.790692e-03 + 154 1.078596e-03 9.240104e-04 5.096628e-04 9.531418e-04 9.438544e-04 + 155 9.200370e-04 6.629833e-04 1.145523e-03 1.175499e-03 7.103621e-04 + 156 1.073953e-03 9.156680e-04 9.234843e-04 9.712698e-04 9.232663e-04 + 157 1.056220e-03 1.089224e-03 1.985374e-03 1.175232e-03 1.196114e-03 + 158 1.094969e-03 1.585637e-03 1.705592e-03 1.424858e-03 1.017677e-03 + 159 1.452137e-03 2.091457e-03 1.210995e-03 1.245341e-03 1.150553e-03 + 160 1.615692e-03 1.890243e-03 1.758622e-03 2.054219e-03 1.326005e-03 + 161 9.767182e-04 8.079102e-04 1.117886e-03 1.591866e-03 1.579505e-03 + 162 1.029414e-03 1.214937e-03 8.708178e-04 9.526286e-04 7.745411e-04 + 163 9.766020e-04 1.018648e-03 7.518663e-04 1.842046e-03 9.868945e-04 + 164 1.779528e-03 1.043605e-03 1.367670e-03 2.151373e-03 1.409506e-03 + 165 1.688970e-03 1.212984e-03 1.085901e-03 1.436131e-03 1.403167e-03 + 166 1.844848e-03 9.612950e-04 1.043430e-03 1.661277e-03 1.236119e-03 + 167 1.538864e-03 1.130138e-03 1.390290e-03 6.931689e-04 1.187606e-03 + 168 9.751447e-04 1.481932e-03 1.080277e-03 8.881725e-04 1.226668e-03 + 169 1.133299e-03 4.809408e-03 1.531971e-03 1.708373e-03 1.404174e-03 + 170 1.746318e-03 8.304014e-03 1.779559e-03 1.187221e-03 1.474238e-03 + 171 1.118936e-03 1.786850e-03 1.593745e-03 1.230399e-03 1.909988e-03 + 172 7.912631e-04 1.137819e-03 1.414163e-03 5.021379e-04 2.290218e-03 + 173 1.123239e-03 1.011745e-03 1.465483e-03 1.190354e-03 1.505894e-03 + 174 8.819397e-04 1.212179e-03 9.220033e-04 1.152728e-03 1.399113e-03 + 175 1.195129e-03 1.989090e-03 1.124391e-03 1.238327e-03 1.526619e-03 + 176 1.405983e-03 2.533259e-03 1.873190e-03 1.575357e-03 2.427741e-03 + 177 1.586071e-03 1.367885e-03 9.999781e-04 9.324033e-04 1.431951e-03 + 178 1.139062e-03 1.386431e-03 1.066034e-03 1.123590e-03 9.407315e-04 + 179 1.254909e-03 1.001316e-03 1.002497e-03 9.558994e-04 9.701630e-04 + 180 2.107903e-03 1.214690e-03 1.447415e-03 1.353854e-03 1.258883e-03 + 181 9.434077e-04 1.294019e-03 1.614766e-03 1.292891e-03 1.299588e-03 + 182 1.172254e-03 1.942094e-03 1.202338e-03 1.069041e-03 1.096447e-03 + 183 1.304053e-03 1.594470e-03 2.091674e-03 1.068022e-03 1.546395e-03 + 184 1.124498e-03 1.428065e-03 1.231687e-03 1.156725e-03 1.123952e-03 + 185 7.814649e-04 1.315662e-03 1.490486e-03 1.297868e-03 8.920843e-04 + 186 1.316870e-03 1.030826e-03 1.567656e-03 1.641495e-03 1.224625e-03 + 187 1.645831e-03 1.277946e-03 1.450045e-03 1.459477e-03 1.089230e-03 + 188 1.885997e-03 1.204492e-03 1.038608e-03 1.481072e-03 1.150099e-03 + 189 1.397969e-03 1.552311e-03 1.063813e-03 1.988809e-03 1.876589e-03 + 190 1.340265e-03 4.050098e-03 1.813927e-03 1.701813e-03 1.487538e-03 + 191 2.574047e-03 1.537923e-02 5.000214e-03 2.658409e-03 2.270208e-03 + 192 1.212118e-03 4.050910e-03 1.602663e-03 1.624271e-03 1.693021e-03 + 193 1.552239e-03 1.867590e-03 9.144827e-04 1.155308e-03 1.061081e-03 + 194 1.550223e-03 1.413096e-03 7.298629e-04 9.673559e-04 6.875380e-04 + 195 8.144452e-04 8.693840e-04 9.045714e-04 8.087845e-04 5.940381e-04 + 196 1.151138e-03 1.080323e-03 1.394339e-03 9.790105e-04 8.762243e-04 + 197 1.599493e-03 1.335553e-03 1.350785e-03 8.342244e-04 6.386632e-04 + 198 9.094323e-04 1.342911e-03 9.925227e-04 1.284558e-03 1.509461e-03 + 199 2.121534e-03 1.272253e-03 1.369263e-03 1.553573e-03 1.399467e-03 + 200 1.380829e-03 1.147831e-03 1.346428e-03 1.542477e-03 1.296648e-03 + 201 1.139820e-03 1.478101e-03 1.499719e-03 1.106022e-03 8.278193e-04 + 202 1.638940e-03 1.186534e-03 1.482128e-03 1.267287e-03 1.239953e-03 + 203 1.435587e-03 1.098027e-03 1.690342e-03 1.236867e-03 1.359256e-03 + 204 1.015412e-03 6.763785e-04 1.507500e-03 7.592516e-04 9.637426e-04 + 205 9.346929e-04 9.145583e-04 1.624648e-03 1.237317e-03 1.607617e-03 + 206 8.071843e-04 6.806124e-04 1.101333e-03 1.145468e-03 1.257138e-03 + 207 8.209841e-04 9.218373e-04 7.764230e-04 1.260286e-03 1.004858e-03 + 208 1.060219e-03 1.274565e-03 1.415174e-03 1.119131e-03 1.521539e-03 + 209 1.220158e-03 1.077695e-03 7.002612e-04 7.361768e-04 9.739793e-04 + 210 1.936887e-03 2.385639e-03 1.055447e-03 1.436001e-03 9.742036e-04 + 211 1.351795e-03 2.311484e-03 1.529529e-03 1.155047e-03 1.361864e-03 + 212 1.087687e-03 8.693116e-04 7.924274e-04 1.917926e-03 1.768368e-03 + 213 1.689522e-03 9.039790e-04 6.283837e-04 9.867590e-04 1.411125e-03 + 214 1.330548e-03 1.012899e-03 9.603158e-04 8.882843e-04 1.257963e-03 + 215 8.114084e-04 9.148194e-04 1.298512e-03 5.110912e-04 1.188526e-03 + 216 1.064062e-03 1.679132e-03 1.841972e-03 1.143353e-03 1.496927e-03 + 217 9.780671e-04 1.489073e-03 1.433271e-03 8.736480e-04 7.441161e-04 + 218 7.260955e-04 1.014193e-03 1.236491e-03 5.857938e-04 7.778581e-04 + 219 1.399094e-03 9.842191e-04 1.057519e-03 8.750393e-04 1.266579e-03 + 220 1.499682e-03 1.168492e-03 1.243772e-03 1.139685e-03 1.663043e-03 + 221 1.366003e-03 1.382352e-03 1.205353e-03 1.664474e-03 1.348980e-03 + 222 1.474347e-03 1.352752e-03 1.137040e-03 7.729460e-04 8.837982e-04 + 223 1.283810e-03 9.235335e-04 1.476984e-03 7.450515e-04 4.742815e-04 + 224 1.774149e-03 1.385700e-03 1.506395e-03 9.997956e-04 1.151703e-03 + 225 1.024786e-03 1.283835e-03 9.230365e-04 1.217370e-03 1.290122e-03 + 226 9.473123e-04 1.372857e-03 1.345526e-03 1.043383e-03 1.240365e-03 + 227 1.217738e-03 8.220810e-04 1.255074e-03 7.941455e-04 1.214370e-03 + 228 1.266993e-03 8.317851e-04 1.981780e-03 9.963406e-04 1.527303e-03 + 229 1.054230e-03 1.258286e-03 1.286849e-03 1.248912e-03 1.559598e-03 + 230 8.069224e-04 1.327301e-03 5.618045e-04 1.160306e-03 9.942361e-04 + 231 1.139980e-03 6.032757e-04 5.983772e-04 1.118915e-03 1.666311e-03 + 232 1.349379e-03 1.257795e-03 1.200631e-03 1.105477e-03 1.425576e-03 + 233 1.970806e-03 5.113982e-03 4.033899e-03 1.750072e-03 1.910471e-03 + 234 1.553442e-03 1.911684e-03 1.815247e-03 1.038427e-03 8.014468e-04 + 235 8.243409e-04 1.131720e-03 1.020709e-03 1.464278e-03 1.558611e-03 + 236 6.122727e-04 1.513152e-03 9.167538e-04 1.199690e-03 1.251610e-03 + 237 1.277871e-03 1.675286e-03 1.459944e-03 1.152260e-03 1.211491e-03 + 238 1.866676e-03 1.557422e-03 1.875531e-03 1.353361e-03 1.490957e-03 + 239 1.891055e-03 9.405031e-04 1.870058e-03 1.344851e-03 1.417680e-03 + 240 1.485051e-03 1.019773e-03 1.046321e-03 1.090526e-03 1.528109e-03 + 241 1.532948e-03 1.235235e-03 7.530667e-04 9.540076e-04 1.332561e-03 + 242 1.253740e-03 1.025594e-03 9.743312e-04 1.068318e-03 1.010011e-03 + 243 8.210691e-04 1.060684e-03 8.077755e-04 9.705405e-04 5.018833e-04 + 244 1.378070e-03 1.956080e-03 1.379973e-03 1.150454e-03 8.302580e-04 + 245 1.182626e-03 1.465634e-03 1.053936e-03 1.386789e-03 9.396309e-04 + 246 7.739608e-04 1.411468e-03 1.391495e-03 1.261471e-03 1.055584e-03 + 247 8.436656e-04 1.375800e-03 1.380859e-03 9.981382e-04 6.416289e-04 + 248 9.710472e-04 1.580568e-03 1.388919e-03 1.101625e-03 9.301251e-04 + 249 6.460373e-04 8.261770e-04 1.086243e-03 1.073499e-03 1.150672e-03 + 250 1.102205e-03 7.726210e-04 1.088743e-03 1.718922e-03 1.001869e-03 + 251 1.530089e-03 1.102506e-03 1.420068e-03 1.259827e-03 9.669543e-04 + 252 1.411905e-03 1.258040e-03 1.244824e-03 1.309472e-03 1.655951e-03 + 253 1.044823e-03 1.915482e-03 1.300015e-03 1.430558e-03 1.209265e-03 + 254 1.193615e-03 6.815940e-03 2.933215e-03 3.099075e-03 1.771676e-03 + 255 1.513720e-03 3.238920e-03 2.004830e-03 2.187911e-03 1.530715e-03 + 256 1.201418e-03 9.169011e-04 1.428603e-03 9.891836e-04 1.912039e-03 + 257 1.149971e-03 1.164497e-03 1.830816e-03 1.276868e-03 2.301515e-03 + 258 1.302696e-03 1.332597e-03 1.687285e-03 1.262993e-03 1.453833e-03 + 259 1.299638e-03 1.117723e-03 7.449213e-04 8.850312e-04 1.159058e-03 + 260 1.260814e-03 1.407486e-03 1.124626e-03 1.334939e-03 1.296720e-03 + 261 1.226551e-03 1.207212e-03 1.331692e-03 1.880074e-03 1.183740e-03 + 262 1.195921e-03 1.796175e-03 1.079685e-03 1.965793e-03 7.838280e-04 + 263 9.902722e-04 1.547706e-03 1.324406e-03 1.530124e-03 9.053985e-04 + 264 2.320774e-03 1.769521e-03 2.626873e-03 2.266820e-03 1.480300e-03 + 265 1.352621e-03 1.079158e-03 1.728904e-03 1.587923e-03 9.134184e-04 + 266 9.814206e-04 1.105808e-03 1.051239e-03 9.802479e-04 1.271727e-03 + 267 1.053666e-03 1.494280e-03 9.724036e-04 9.981191e-04 1.486389e-03 + 268 1.006968e-03 1.455999e-03 7.931253e-04 1.002775e-03 8.570635e-04 + 269 1.043349e-03 1.305890e-03 1.079453e-03 1.336658e-03 1.300505e-03 + 270 1.071515e-03 1.130035e-03 1.318800e-03 1.463720e-03 1.409669e-03 + 271 9.902253e-04 9.030186e-04 9.358331e-04 1.058955e-03 1.042065e-03 + 272 9.099365e-04 6.949425e-04 9.718394e-04 9.100097e-04 1.091396e-03 + 273 1.147645e-03 1.032489e-03 1.405781e-03 1.510808e-03 1.090546e-03 + 274 1.526563e-03 1.802625e-03 1.943902e-03 1.977255e-03 1.618836e-03 + 275 4.939029e-03 1.766992e-03 2.121241e-03 1.784619e-03 3.641335e-03 + 276 3.720400e-03 2.298787e-03 2.370597e-03 1.124188e-03 2.315993e-03 + 277 1.267497e-03 1.668686e-03 1.385034e-03 1.422135e-03 7.759132e-04 + 278 1.451786e-03 1.395618e-03 1.031169e-03 1.347838e-03 4.317836e-04 + 279 1.440046e-03 1.345247e-03 1.632893e-03 1.238879e-03 4.723517e-04 + 280 8.494735e-04 9.128655e-04 8.641615e-04 7.627350e-04 7.436367e-04 + 281 1.428565e-03 1.266811e-03 1.672453e-03 1.064088e-03 9.395927e-04 + 282 1.002699e-03 9.607860e-04 1.314557e-03 1.049878e-03 9.581460e-04 + 283 1.228014e-03 9.855587e-04 7.606172e-04 9.597259e-04 9.276507e-04 + 284 1.275591e-03 1.123769e-03 1.344481e-03 1.402436e-03 7.730993e-04 + 285 1.025485e-03 1.120319e-03 1.093579e-03 1.152426e-03 8.986889e-04 + 286 1.017220e-03 9.931772e-04 8.616011e-04 1.798257e-03 9.442566e-04 + 287 1.173375e-03 9.523702e-04 1.197184e-03 1.224032e-03 7.572328e-04 + 288 8.768469e-04 1.498783e-03 1.337045e-03 1.025501e-03 1.510453e-03 + 289 1.255463e-03 1.027558e-03 1.088209e-03 1.320752e-03 1.228438e-03 + 290 1.037587e-03 9.056400e-04 9.933135e-04 1.307423e-03 8.587229e-04 + 291 9.567992e-04 1.464196e-03 1.091499e-03 8.621719e-04 7.812314e-04 + 292 9.475415e-04 1.367338e-03 1.357477e-03 1.024618e-03 8.154312e-04 + 293 9.112253e-04 9.490909e-04 9.318219e-04 6.711851e-04 6.249618e-04 + 294 7.420112e-04 1.034833e-03 1.132787e-03 6.808608e-04 3.995971e-04 + 295 5.746276e-04 1.213892e-03 1.127856e-03 7.084729e-04 5.259298e-04 + 296 9.324349e-04 2.445874e-03 1.581018e-03 9.560962e-04 1.769517e-03 + 297 1.179313e-03 2.567433e-03 1.384750e-03 1.458921e-03 1.944792e-03 + 298 8.137661e-04 1.414966e-03 8.609262e-04 1.216460e-03 1.591118e-03 + 299 1.165641e-03 8.182751e-04 7.369716e-04 8.617225e-04 6.397183e-04 + 300 1.328038e-03 7.960862e-04 7.220370e-04 1.507536e-03 6.188013e-04 + 301 1.625554e-03 1.133392e-03 1.469413e-03 1.488784e-03 9.828284e-04 + 302 1.542877e-03 7.350066e-04 2.020112e-03 1.184413e-03 7.300270e-04 + 303 1.331086e-03 1.005458e-03 1.099479e-03 1.758600e-03 1.803870e-03 + 304 1.906750e-03 1.327577e-03 1.387603e-03 2.123006e-03 1.682852e-03 + 305 2.040431e-03 2.496514e-03 2.021445e-03 2.228307e-03 1.312770e-03 + 306 8.230950e-04 1.750620e-03 1.314202e-03 1.125371e-03 1.114289e-03 + 307 1.170441e-03 1.139837e-03 9.900363e-04 1.252659e-03 7.434324e-04 + 308 1.405558e-03 9.898080e-04 1.242079e-03 1.858349e-03 9.170482e-04 + 309 9.186464e-04 9.189307e-04 8.536403e-04 1.065819e-03 6.687739e-04 + 310 9.995776e-04 8.596940e-04 9.079060e-04 1.233329e-03 7.021411e-04 + 311 1.071928e-03 9.976454e-04 1.385662e-03 1.612064e-03 1.386013e-03 + 312 7.918884e-04 1.331298e-03 1.296608e-03 1.298303e-03 1.374102e-03 + 313 6.403789e-04 9.831467e-04 6.981706e-04 6.944523e-04 9.120846e-04 + 314 8.927004e-04 1.039096e-03 7.289527e-04 5.612370e-04 1.033400e-03 + 315 6.514880e-04 1.180280e-03 9.158917e-04 8.133508e-04 9.789432e-04 + 316 9.536357e-04 1.003937e-03 6.456401e-04 7.834846e-04 1.215845e-03 + 317 7.935911e-03 4.153651e-03 1.432286e-03 3.111692e-03 5.564399e-03 + 318 9.690388e-03 4.245898e-03 1.849670e-03 3.225857e-03 6.483496e-03 + 319 8.389168e-04 1.861460e-03 7.147311e-04 1.010474e-03 1.216745e-03 + 320 9.773937e-04 6.199936e-04 5.422836e-04 9.658699e-04 8.154419e-04 + 321 8.820474e-04 9.218828e-04 7.789224e-04 1.044776e-03 9.249605e-04 + 322 1.215985e-03 1.028411e-03 1.116149e-03 1.058144e-03 1.154839e-03 + 323 1.209262e-03 7.963653e-04 9.827289e-04 7.175686e-04 8.788349e-04 + 324 8.902345e-04 1.234944e-03 8.151641e-04 9.396469e-04 8.186333e-04 + 325 8.090196e-04 1.227853e-03 4.691660e-04 1.103170e-03 8.863015e-04 + 326 8.282914e-04 8.556119e-04 6.094635e-04 1.271995e-03 1.054727e-03 + 327 8.427912e-04 9.079827e-04 1.127980e-03 5.115775e-04 6.110940e-04 + 328 1.492097e-03 1.831191e-03 1.547005e-03 1.123358e-03 1.513612e-03 + 329 1.182830e-03 1.512899e-03 1.241415e-03 1.039975e-03 9.038765e-04 + 330 8.415334e-04 1.369621e-03 8.616958e-04 7.486316e-04 7.113038e-04 + 331 1.229768e-03 1.035610e-03 6.325151e-04 4.508153e-04 7.174397e-04 + 332 1.515468e-03 8.106576e-04 9.014789e-04 7.538256e-04 9.610979e-04 + 333 1.413805e-03 1.233490e-03 9.676708e-04 8.947141e-04 1.125361e-03 + 334 1.516896e-03 1.045575e-03 1.543357e-03 1.217802e-03 1.272576e-03 + 335 1.239268e-03 1.002171e-03 1.228840e-03 9.820968e-04 1.071043e-03 + 336 9.640042e-04 1.011053e-03 6.402374e-04 8.964484e-04 6.792550e-04 + 337 1.254561e-03 9.948923e-04 5.196584e-04 5.468655e-04 5.831022e-04 + 338 8.545704e-04 6.213671e-03 1.330309e-03 1.167005e-03 1.538001e-03 + 339 8.492506e-04 9.982557e-03 2.202737e-03 2.023726e-03 2.369988e-03 + 340 5.847226e-04 2.155068e-03 1.126089e-03 1.111463e-03 9.856537e-04 + 341 9.212535e-04 8.496251e-04 1.049043e-03 9.740865e-04 8.733482e-04 + 342 1.238607e-03 8.191297e-04 5.655327e-04 1.233385e-03 1.241855e-03 + 343 1.101903e-03 8.824120e-04 6.744533e-04 1.157728e-03 9.495110e-04 + 344 9.657733e-04 1.039099e-03 8.233783e-04 1.050443e-03 1.331792e-03 + 345 9.251573e-04 1.090939e-03 4.281877e-04 1.049368e-03 9.414907e-04 + 346 6.177207e-04 9.842351e-04 5.517272e-04 7.661587e-04 9.423549e-04 + 347 7.600607e-04 1.095619e-03 9.278753e-04 6.535451e-04 1.259625e-03 + 348 7.371416e-04 6.023901e-04 7.832169e-04 7.333164e-04 9.236314e-04 + 349 5.508069e-04 1.023631e-03 7.399932e-04 1.045116e-03 5.926790e-04 + 350 7.809793e-04 1.145905e-03 8.497473e-04 7.232641e-04 9.484714e-04 + 351 6.423683e-04 7.303584e-04 8.904010e-04 6.550285e-04 1.064440e-03 + 352 8.588888e-04 1.012750e-03 1.226542e-03 9.191495e-04 7.978016e-04 + 353 1.325409e-03 9.847586e-04 2.067353e-03 1.317647e-03 1.052262e-03 + 354 8.716953e-04 1.509505e-03 8.027379e-04 1.275668e-03 1.141814e-03 + 355 6.339206e-04 1.169655e-03 1.060211e-03 9.453668e-04 7.665471e-04 + 356 9.389369e-04 1.466939e-03 9.653232e-04 1.111428e-03 8.125666e-04 + 357 1.017117e-03 1.297276e-03 1.050890e-03 1.024618e-03 8.916075e-04 + 358 8.399548e-04 7.587657e-04 1.139880e-03 1.113803e-03 1.266339e-03 + 359 1.453458e-03 3.404040e-03 1.136486e-03 1.122474e-03 1.850236e-03 + 360 1.497023e-03 6.719400e-03 1.411826e-03 1.999884e-03 2.627777e-03 + 361 7.412306e-04 1.420499e-03 1.191061e-03 1.689054e-03 6.412837e-04 + 362 7.352139e-04 7.369698e-04 7.633620e-04 1.045722e-03 5.818437e-04 + 363 7.746439e-04 1.035866e-03 9.957733e-04 1.045956e-03 1.032830e-03 + 364 6.810701e-04 9.969820e-04 1.137358e-03 8.882365e-04 1.205011e-03 + 365 9.204846e-04 1.046348e-03 7.643065e-04 1.031817e-03 1.165465e-03 + 366 6.019014e-04 1.291957e-03 1.034675e-03 1.017499e-03 9.077276e-04 + 367 7.179589e-04 1.040935e-03 8.836804e-04 8.445913e-04 1.121302e-03 + 368 4.829618e-04 7.734653e-04 9.147424e-04 8.671671e-04 8.872010e-04 + 369 6.466004e-04 5.788746e-04 1.245091e-03 8.111320e-04 6.619851e-04 + 370 1.167940e-03 6.664656e-04 8.389285e-04 7.529700e-04 7.826825e-04 + 371 7.928680e-04 7.002815e-04 1.416890e-03 1.547571e-03 8.821754e-04 + 372 4.970261e-04 1.060798e-03 1.385487e-03 9.385686e-04 3.033849e-04 + 373 1.019593e-03 1.367092e-03 1.740413e-03 1.229052e-03 5.260683e-04 + 374 1.268695e-03 1.118987e-03 1.144557e-03 1.368333e-03 1.098945e-03 + 375 1.079481e-03 1.567895e-03 8.282481e-04 1.233054e-03 7.826726e-04 + 376 9.326153e-04 1.153112e-03 1.302234e-03 1.458009e-03 1.007815e-03 + 377 7.419417e-04 1.442290e-03 9.518114e-04 7.998039e-04 1.007256e-03 + 378 5.203510e-04 1.493667e-03 7.660455e-04 8.593619e-04 6.858992e-04 + 379 9.167718e-04 8.376359e-04 7.007354e-04 6.363746e-04 7.812629e-04 + 380 6.979318e-04 1.932766e-03 8.249722e-04 8.970046e-04 1.372281e-03 + 381 7.397493e-04 5.354618e-03 1.397177e-03 9.668133e-04 1.117883e-03 + 382 1.153177e-03 1.563051e-03 6.176471e-04 9.399063e-04 6.511474e-04 + 383 7.615022e-04 1.050006e-03 7.188604e-04 7.281618e-04 1.042770e-03 + 384 7.337350e-04 1.000230e-03 7.118273e-04 8.065842e-04 7.505719e-04 + 385 9.044088e-04 1.203925e-03 7.141398e-04 8.961661e-04 1.005338e-03 + 386 4.985544e-04 1.465584e-03 1.024604e-03 8.509982e-04 8.476519e-04 + 387 5.777573e-04 1.199194e-03 1.441268e-03 1.058664e-03 9.761347e-04 + 388 9.172173e-04 1.110407e-03 5.610215e-04 8.329449e-04 9.828644e-04 + 389 1.647939e-03 1.346284e-03 7.636678e-04 1.280733e-03 1.163954e-03 + 390 1.798927e-03 1.284881e-03 9.281937e-04 1.656831e-03 1.347093e-03 + 391 1.176598e-03 1.456575e-03 1.162558e-03 1.368528e-03 9.980932e-04 + 392 1.108541e-03 1.659065e-03 8.183465e-04 5.616969e-04 1.154557e-03 + 393 1.126957e-03 1.116288e-03 9.820782e-04 5.411911e-04 1.391343e-03 + 394 8.488056e-04 7.611396e-04 1.157209e-03 8.378140e-04 9.845064e-04 + 395 1.133816e-03 5.935839e-04 6.984953e-04 8.393461e-04 1.120025e-03 + 396 8.313880e-04 1.170068e-03 8.839602e-04 1.285837e-03 1.059183e-03 + 397 7.220931e-04 1.453790e-03 9.588521e-04 8.770667e-04 8.986764e-04 + 398 1.512032e-03 1.199612e-03 1.751418e-03 1.207244e-03 9.375909e-04 + 399 1.493085e-03 9.029536e-04 9.322761e-04 8.665734e-04 9.784692e-04 + 400 5.837016e-01 5.931363e-01 5.993361e-01 5.748360e-01 5.826921e-01 + 401 3.381535e+00 3.445062e+00 3.461020e+00 3.333131e+00 3.382898e+00 + 402 6.592089e-01 6.746038e-01 6.679782e-01 6.575570e-01 6.582621e-01 + 403 1.159781e-03 7.248003e-04 1.154842e-03 1.904569e-03 9.866748e-04 + 404 8.744297e-04 1.094750e-03 2.094615e-03 1.347428e-03 7.962192e-04 + 405 7.016339e-04 8.456786e-04 1.515884e-03 1.277980e-03 7.237864e-04 + 406 1.083172e-03 1.006894e-03 1.359115e-03 1.229901e-03 1.046839e-03 + 407 1.135208e-03 1.135879e-03 8.235651e-04 1.049336e-03 7.845488e-04 + 408 8.786303e-04 1.183252e-03 8.061159e-04 1.232199e-03 1.078095e-03 + 409 6.420450e-04 8.794153e-04 8.523536e-04 7.194081e-04 9.916369e-04 + 410 8.333688e-04 1.305604e-03 8.472656e-04 6.675687e-04 1.164536e-03 + 411 9.292760e-04 8.934215e-04 7.621118e-04 5.793941e-04 4.576569e-04 + 412 7.208112e-04 9.601251e-04 1.130200e-03 9.924976e-04 7.401411e-04 + 413 1.184442e-03 1.350533e-03 1.116642e-03 9.725604e-04 9.403511e-04 + 414 1.093995e-03 1.219103e-03 1.133224e-03 1.450018e-03 7.085886e-04 + 415 8.679753e-04 1.097970e-03 8.797645e-04 1.499438e-03 6.513214e-04 + 416 7.816462e-04 6.555594e-04 8.323379e-04 9.915209e-04 7.916195e-04 + 417 9.225827e-04 7.454453e-04 9.415550e-04 1.030109e-03 8.493644e-04 + 418 6.712330e-04 6.128025e-04 9.875913e-04 7.590556e-04 7.707657e-04 + 419 8.793526e-04 9.590534e-04 8.463826e-04 1.321664e-03 9.268044e-04 + 420 1.167938e-03 1.624912e-03 1.004904e-03 1.044012e-03 5.762373e-04 + 421 8.718860e-04 1.469135e-03 1.385118e-03 9.478438e-04 1.046548e-03 + 422 6.204251e-04 1.171788e-03 8.872562e-04 8.991851e-04 1.310077e-03 + 423 8.964343e-04 2.207449e-03 1.033048e-03 1.382892e-03 1.456632e-03 + 424 8.641139e-04 1.101188e-03 9.094401e-04 7.317796e-04 1.166752e-03 + 425 6.050355e-04 4.888304e-04 4.309741e-04 6.255112e-04 6.436433e-04 + 426 9.365615e-04 5.724599e-04 8.124675e-04 1.097865e-03 6.912535e-04 + 427 9.458275e-04 4.191536e-04 5.218358e-04 8.180631e-04 6.283668e-04 + 428 7.259117e-04 6.000511e-04 7.444544e-04 5.345381e-04 9.488678e-04 + 429 9.407525e-04 1.373976e-03 1.297691e-03 8.232967e-04 1.039161e-03 + 430 1.064935e-03 1.293251e-03 1.220649e-03 8.858495e-04 1.306817e-03 + 431 1.181583e-03 9.165789e-04 1.154072e-03 6.943169e-04 1.045431e-03 + 432 1.072216e-03 1.064002e-03 1.017913e-03 5.801469e-04 1.020985e-03 + 433 6.335476e-04 7.203369e-04 1.078234e-03 1.023319e-03 1.403663e-03 + 434 5.908565e-04 8.359413e-04 9.170909e-04 1.189773e-03 1.443072e-03 + 435 6.916620e-04 8.847074e-04 6.559810e-04 6.944753e-04 1.297005e-03 + 436 7.292277e-04 1.099118e-03 9.117675e-04 5.280391e-04 7.965636e-04 + 437 7.189127e-04 1.253804e-03 7.587919e-04 3.805471e-04 8.932835e-04 + 438 7.615714e-04 1.072341e-03 4.238912e-04 1.164309e-03 7.105633e-04 + 439 6.807067e-04 9.787998e-04 9.112115e-04 1.318036e-03 7.107291e-04 + 440 1.017887e-03 9.610100e-04 9.707734e-04 9.558669e-04 9.440625e-04 + 441 1.036865e-03 7.887477e-04 8.414311e-04 8.687742e-04 4.452161e-04 + 442 9.151494e-04 1.065085e-03 9.702623e-04 9.503365e-04 6.531268e-04 + 443 9.075293e-04 1.342932e-03 1.498139e-03 1.246103e-03 7.982109e-04 + 444 1.075381e-03 2.088590e-03 1.924837e-03 1.681451e-03 9.332193e-04 + 445 1.295256e-03 1.389793e-03 1.434500e-03 1.240287e-03 1.104438e-03 + 446 1.362334e-03 1.885994e-03 1.230010e-03 1.670537e-03 9.411912e-04 + 447 1.358717e-03 2.342674e-03 1.030290e-03 2.019559e-03 9.011772e-04 + 448 1.286080e-03 1.556678e-03 1.291467e-03 1.212297e-03 1.379936e-03 + 449 2.076495e-03 3.387297e-03 1.965430e-03 2.061831e-03 3.230472e-03 + 450 8.467875e-04 1.780655e-03 1.347935e-03 1.455066e-03 1.259755e-03 + 451 1.024366e-03 7.701358e-04 9.512468e-04 1.390025e-03 7.772293e-04 + 452 9.845200e-04 8.346111e-04 8.148913e-04 7.965966e-04 8.971378e-04 + 453 1.281009e-03 1.106657e-03 1.111576e-03 1.011481e-03 9.847865e-04 + 454 1.293250e-03 8.716118e-04 7.885554e-04 1.180230e-03 1.243501e-03 + 455 1.204168e-03 1.006390e-03 4.796099e-04 8.746120e-04 8.995468e-04 + 456 8.622670e-04 1.147636e-03 7.111695e-04 1.028687e-03 1.032720e-03 + 457 8.623063e-04 1.168456e-03 8.125005e-04 1.208080e-03 1.132054e-03 + 458 4.850149e-04 8.561921e-04 8.897575e-04 8.107750e-04 8.456030e-04 + 459 5.668278e-04 9.165986e-04 9.376864e-04 8.125324e-04 8.251349e-04 + 460 6.052357e-04 9.091263e-04 5.475356e-04 8.941735e-04 7.924113e-04 + 461 7.049127e-04 7.310805e-04 6.154444e-04 9.482929e-04 6.829623e-04 + 462 7.992390e-04 7.007016e-04 5.498134e-04 1.122859e-03 9.668918e-04 + 463 1.365002e-03 9.887826e-04 8.174390e-04 9.491826e-04 1.341711e-03 + 464 9.346153e-04 1.022938e-03 8.573275e-04 9.555811e-04 1.517351e-03 + 465 6.911064e-04 1.133650e-03 1.025121e-03 8.194165e-04 1.215461e-03 + 466 1.065422e-03 8.468700e-04 7.266108e-04 7.261353e-04 7.184325e-04 + 467 1.173218e-03 8.013701e-04 1.476928e-03 8.036569e-04 2.028993e-03 + 468 1.068380e-03 6.799371e-04 9.813176e-04 6.188448e-04 1.573428e-03 + 469 1.254026e-03 7.905672e-04 1.008317e-03 5.825422e-04 5.595415e-04 + 470 1.073742e-03 6.057806e-04 6.849774e-04 9.972348e-04 9.056304e-04 + 471 9.338526e-04 7.702569e-04 7.824354e-04 1.448422e-03 1.022097e-03 + 472 8.378217e-04 8.642700e-04 6.922889e-04 9.868894e-04 9.135783e-04 + 473 8.512454e-04 7.991924e-04 1.055051e-03 1.202431e-03 7.663085e-04 + 474 9.278848e-04 7.490606e-04 1.022497e-03 1.295594e-03 1.187456e-03 + 475 1.302737e-03 8.115819e-04 9.518133e-04 1.287011e-03 1.279793e-03 + 476 1.332560e-03 7.007965e-04 9.652345e-04 1.272805e-03 1.590332e-03 + 477 5.420989e-04 5.829702e-04 9.885352e-04 7.622015e-04 5.582402e-04 + 478 6.690703e-04 1.102444e-03 8.335629e-04 7.780211e-04 6.616727e-04 + 479 9.312237e-04 1.625983e-03 7.432577e-04 7.816062e-04 9.418425e-04 + 480 6.959746e-04 1.274684e-03 9.568370e-04 5.392336e-04 6.927691e-04 + 481 7.999460e-04 8.435427e-04 6.614774e-04 7.730742e-04 6.139367e-04 + 482 1.063002e-03 7.044781e-04 8.775329e-04 6.546042e-04 5.730628e-04 + 483 1.123201e-03 5.766170e-04 6.639078e-04 5.514298e-04 7.793130e-04 + 484 8.625206e-04 8.029054e-04 7.546077e-04 8.864240e-04 5.631003e-04 + 485 4.821978e-04 9.840385e-04 5.543115e-04 1.101796e-03 5.842237e-04 + 486 7.355333e-04 6.703504e-04 9.394510e-04 7.026153e-04 8.830688e-04 + 487 7.486744e-04 8.416938e-04 8.551987e-04 9.568059e-04 1.058244e-03 + 488 6.528928e-04 1.053664e-03 9.379778e-04 7.886144e-04 8.688592e-04 + 489 4.655089e-04 7.632348e-04 1.017614e-03 6.209257e-04 5.928990e-04 + 490 7.565193e-04 5.696138e-04 9.159906e-04 9.269970e-04 8.333181e-04 + 491 5.929616e-04 5.578460e-04 5.667672e-04 6.472167e-04 5.796494e-04 + 492 1.021539e-03 7.063451e-04 8.575570e-04 8.721110e-04 8.103346e-04 + 493 1.423684e-03 1.207942e-03 1.067245e-03 1.348737e-03 1.050686e-03 + 494 1.176190e-03 9.059081e-04 9.093145e-04 9.684562e-04 1.012967e-03 + 495 7.864863e-04 8.013717e-04 4.196261e-04 1.032929e-03 8.234855e-04 + 496 8.804783e-04 1.295145e-03 1.394322e-03 1.002207e-03 1.288399e-03 + 497 2.059347e-03 2.465890e-03 2.167315e-03 1.834340e-03 1.859679e-03 + 498 1.692935e-03 1.699858e-03 1.073525e-03 1.306809e-03 1.042393e-03 + 499 1.378999e-03 1.327891e-03 1.081013e-03 8.948800e-04 5.179583e-04 + 500 1.412021e-03 5.828754e-04 1.172464e-03 7.768034e-04 7.037432e-04 + 501 1.338367e-03 9.265662e-04 1.216545e-03 7.414825e-04 8.386518e-04 + 502 1.059475e-03 1.064721e-03 1.185370e-03 4.771494e-04 7.696654e-04 + 503 9.061092e-04 8.088328e-04 1.101678e-03 6.705456e-04 5.404368e-04 + 504 9.300981e-04 1.517649e-03 1.140201e-03 8.959580e-04 7.250119e-04 + 505 1.121545e-03 9.937322e-04 9.032080e-04 7.365899e-04 7.830991e-04 + 506 6.907445e-04 6.861077e-04 5.166432e-04 7.207666e-04 6.804885e-04 + 507 7.956288e-04 7.809975e-04 8.943705e-04 1.103124e-03 7.630158e-04 + 508 8.980001e-04 1.362198e-03 7.188797e-04 1.298637e-03 8.364072e-04 + 509 1.221313e-03 1.008880e-03 1.147003e-03 1.040277e-03 1.025905e-03 + 510 9.663463e-04 1.186161e-03 8.178669e-04 8.276744e-04 9.336522e-04 + 511 9.227386e-04 9.260290e-04 3.336865e-04 7.570428e-04 8.170006e-04 + 512 1.141127e-03 6.978106e-04 8.893844e-04 6.953808e-04 9.768444e-04 + 513 6.671389e-04 1.016918e-03 8.133457e-04 6.555047e-04 6.676546e-04 + 514 8.295032e-04 7.747654e-04 7.888519e-04 9.494492e-04 6.904035e-04 + 515 8.093456e-04 8.070513e-04 1.232225e-03 7.034805e-04 7.705092e-04 + 516 5.801690e-04 9.112222e-04 1.011486e-03 8.500277e-04 7.801326e-04 + 517 8.139428e-04 1.338466e-03 1.488065e-03 9.856144e-04 9.389746e-04 + 518 1.169633e-03 1.416085e-03 1.207782e-03 5.301460e-04 1.100684e-03 + 519 1.064552e-03 1.116830e-03 9.702046e-04 7.345587e-04 1.370059e-03 + 520 8.320598e-04 1.079288e-03 1.288863e-03 6.489395e-04 8.426561e-04 + 521 1.093172e-03 1.154841e-03 1.552431e-03 1.009743e-03 7.155143e-04 + 522 8.492825e-04 7.289268e-04 9.469424e-04 1.365078e-03 1.001136e-03 + 523 6.714026e-04 5.612315e-04 7.975783e-04 7.950484e-04 8.312943e-04 + 524 6.147229e-04 8.643394e-04 7.689326e-04 8.100082e-04 6.833213e-04 + 525 8.716502e-04 6.978391e-04 8.762909e-04 7.117579e-04 5.722423e-04 + 526 1.340202e-03 5.411869e-04 1.125384e-03 9.094986e-04 9.454876e-04 + 527 9.861560e-04 8.805642e-04 1.061415e-03 5.305952e-04 6.603739e-04 + 528 1.147564e-03 1.067570e-03 1.387724e-03 1.263746e-03 1.040709e-03 + 529 1.408110e-03 9.242862e-04 1.028292e-03 1.123035e-03 1.025062e-03 + 530 8.709478e-04 7.811786e-04 8.321233e-04 9.823232e-04 7.720222e-04 + 531 7.480097e-04 4.510823e-04 1.198045e-03 6.974872e-04 6.428550e-04 + 532 5.483245e-04 8.975416e-04 1.096944e-03 5.783834e-04 7.225074e-04 + 533 1.169302e-03 8.624183e-04 6.167404e-04 1.090527e-03 7.303153e-04 + 534 1.103769e-03 7.094365e-04 6.367855e-04 8.876953e-04 6.673479e-04 + 535 1.859786e-03 1.036892e-03 8.065040e-04 8.055358e-04 1.204586e-03 + 536 1.444477e-03 8.443953e-04 9.989747e-04 5.636509e-04 8.701850e-04 + 537 1.386838e-03 1.106849e-03 1.164773e-03 7.771387e-04 9.187536e-04 + 538 9.138221e-04 1.000921e-03 1.361410e-03 1.297334e-03 1.124450e-03 + 539 9.463590e-04 1.139120e-03 1.404536e-03 8.221994e-04 1.160281e-03 + 540 1.067046e-03 8.908140e-04 5.941329e-04 7.523078e-04 1.369189e-03 + 541 1.051806e-03 1.318139e-03 6.547539e-04 8.129705e-04 1.489213e-03 + 542 1.153889e-03 1.192959e-03 7.814987e-04 8.325967e-04 1.297316e-03 + 543 6.608200e-04 9.574241e-04 6.021630e-04 9.408529e-04 1.044730e-03 + 544 7.348028e-04 9.984007e-04 9.722149e-04 1.127172e-03 1.133578e-03 + 545 6.952505e-04 7.617657e-04 1.190651e-03 1.454978e-03 6.707844e-04 + 546 6.594461e-04 6.849350e-04 5.265864e-04 1.193048e-03 9.156611e-04 + 547 8.987921e-04 1.259660e-03 8.648771e-04 5.085741e-04 6.826232e-04 + 548 9.267415e-04 7.598895e-04 9.329041e-04 7.040858e-04 6.729844e-04 + 549 6.842555e-04 8.728591e-04 9.296469e-04 5.799132e-04 7.110370e-04 + 550 7.585095e-04 9.539845e-04 8.059556e-04 7.574519e-04 6.570585e-04 + 551 9.048065e-04 9.403110e-04 1.024021e-03 8.288744e-04 6.733663e-04 + 552 7.747944e-04 5.649543e-04 1.034291e-03 6.523518e-04 5.004048e-04 + 553 6.951916e-04 9.540359e-04 6.715272e-04 4.683218e-04 6.536969e-04 + 554 6.022315e-04 1.171471e-03 5.266974e-04 1.163075e-03 7.090607e-04 + 555 5.088407e-04 8.052130e-04 7.971253e-04 8.562076e-04 1.027567e-03 + 556 7.913068e-04 6.038258e-04 9.612275e-04 4.826583e-04 1.035666e-03 + 557 6.801320e-04 1.199591e-03 8.370782e-04 9.773833e-04 6.543995e-04 + 558 1.244673e-03 1.062511e-03 1.067784e-03 1.161665e-03 6.340760e-04 + 559 1.064418e-03 8.177325e-04 5.049126e-04 1.019123e-03 5.223764e-04 + 560 8.082505e-04 1.054777e-03 7.018515e-04 1.309919e-03 4.996783e-04 + 561 6.629756e-04 1.407377e-03 8.122037e-04 7.832819e-04 6.738693e-04 + 562 3.329675e-04 1.217652e-03 9.298471e-04 7.237036e-04 5.887135e-04 + 563 5.685339e-04 8.330310e-04 6.540053e-04 8.685538e-04 8.587929e-04 + 564 9.337443e-04 6.725051e-04 8.242675e-04 6.116940e-04 7.919530e-04 + 565 1.416257e-03 7.828517e-04 1.015469e-03 6.006398e-04 1.127395e-03 + 566 9.386998e-04 8.565742e-04 8.794346e-04 7.509329e-04 1.013491e-03 + 567 1.107671e-03 8.437059e-04 1.621014e-03 1.123184e-03 1.532739e-03 + 568 1.122974e-03 1.057975e-03 1.226807e-03 1.320192e-03 1.442281e-03 + 569 1.250292e-03 1.208745e-03 9.007487e-04 1.923749e-03 1.240275e-03 + 570 1.127436e-03 1.202275e-03 1.616335e-03 1.606605e-03 1.345455e-03 + 571 8.752294e-04 8.193416e-04 1.352378e-03 8.224991e-04 1.191575e-03 + 572 5.384550e-04 4.301242e-04 6.205780e-04 8.668847e-04 8.351669e-04 + 573 4.712611e-04 7.288073e-04 4.093109e-04 6.887712e-04 6.649138e-04 + 574 8.680643e-04 8.161307e-04 5.811216e-04 9.787275e-04 9.616020e-04 + 575 1.432983e-03 6.089820e-04 9.274978e-04 9.942233e-04 9.958541e-04 + 576 7.464572e-04 8.082714e-04 1.038348e-03 7.436578e-04 4.987929e-04 + 577 7.484448e-04 8.127593e-04 8.432731e-04 8.408665e-04 4.965714e-04 + 578 7.245693e-04 7.848275e-04 8.058686e-04 9.404193e-04 3.856754e-04 + 579 7.417539e-04 1.057232e-03 6.502467e-04 7.291243e-04 7.524155e-04 + 580 8.165434e-04 8.528294e-04 7.018850e-04 7.623849e-04 1.055316e-03 + 581 9.340538e-04 8.927786e-04 5.922842e-04 5.755697e-04 9.985455e-04 + 582 7.964537e-04 9.604715e-04 8.600673e-04 9.284415e-04 7.781534e-04 + 583 6.177455e-04 1.109661e-03 6.299965e-04 7.762536e-04 6.709084e-04 + 584 8.802256e-04 9.533347e-04 7.987795e-04 6.906423e-04 8.232753e-04 + 585 1.033346e-03 1.289048e-03 9.655585e-04 9.212305e-04 7.914171e-04 + 586 9.562041e-04 1.016950e-03 1.086771e-03 9.469162e-04 7.525353e-04 + 587 5.187181e-04 4.385989e-04 8.778838e-04 1.000456e-03 7.270058e-04 + 588 1.097266e-03 8.896513e-04 8.130734e-04 1.035754e-03 8.069733e-04 + 589 1.091001e-03 1.020690e-03 1.085400e-03 1.192712e-03 9.140264e-04 + 590 7.085812e-04 1.044478e-03 6.625763e-04 7.193919e-04 1.016294e-03 + 591 6.358278e-04 1.482402e-03 6.972509e-04 7.868990e-04 7.928199e-04 + 592 6.348227e-04 1.054577e-03 9.691942e-04 7.694070e-04 5.983488e-04 + 593 7.859977e-04 1.137320e-03 1.142892e-03 9.479760e-04 8.756515e-04 + 594 5.071112e-04 7.543006e-04 9.864490e-04 7.745505e-04 9.423548e-04 + 595 7.387663e-04 9.586832e-04 1.171472e-03 6.923360e-04 7.815576e-04 + 596 7.661534e-04 7.857667e-04 7.873605e-04 6.613388e-04 7.084985e-04 + 597 6.983914e-04 5.498382e-04 7.563458e-04 8.180201e-04 7.993178e-04 + 598 8.869249e-04 5.109805e-04 7.489913e-04 1.041061e-03 8.096430e-04 + 599 1.300989e-03 6.643317e-04 5.296492e-04 8.527102e-04 6.177657e-04 + 600 1.118344e-03 9.623859e-04 4.882033e-04 8.997436e-04 6.504230e-04 + 601 9.427912e-04 7.136996e-04 5.824609e-04 7.383496e-04 1.166650e-03 + 602 7.036038e-04 9.896815e-04 8.037653e-04 7.290355e-04 7.520934e-04 + 603 6.851892e-04 8.612870e-04 7.968874e-04 1.049529e-03 6.323915e-04 + 604 6.305790e-04 9.076137e-04 6.030122e-04 7.747923e-04 1.058832e-03 + 605 5.233789e-04 7.625872e-04 8.500126e-04 6.095624e-04 9.347748e-04 + 606 6.762134e-04 1.075696e-03 1.137131e-03 1.117475e-03 1.254949e-03 + 607 6.583514e-04 1.166926e-03 9.019821e-04 1.452689e-03 6.805198e-04 + 608 5.884736e-04 9.149763e-04 8.432961e-04 9.559404e-04 4.993528e-04 + 609 8.900364e-04 9.313044e-04 9.462183e-04 9.086159e-04 6.001000e-04 + 610 1.082599e-03 1.070808e-03 1.151969e-03 8.397355e-04 6.844145e-04 + 611 1.248098e-03 1.114420e-03 8.251278e-04 2.942930e-04 6.707733e-04 + 612 1.260328e-03 9.026612e-04 7.974679e-04 4.596753e-04 7.382642e-04 + 613 1.148122e-03 1.275683e-03 7.428675e-04 1.246851e-03 1.369515e-03 + 614 9.549963e-04 1.207070e-03 5.774720e-04 1.357887e-03 1.104601e-03 + 615 7.193904e-04 6.182696e-04 4.607579e-04 1.472837e-03 1.428165e-03 + 616 6.051198e-04 1.223826e-03 6.493971e-04 8.060268e-04 8.937078e-04 + 617 7.637912e-04 9.997415e-04 5.859590e-04 6.274245e-04 6.364594e-04 + 618 1.076209e-03 1.092825e-03 1.223421e-03 7.862203e-04 6.661727e-04 + 619 9.243148e-04 1.485236e-03 1.406757e-03 1.097077e-03 8.694101e-04 + 620 6.963756e-04 9.784353e-04 9.274136e-04 9.820715e-04 9.530198e-04 + 621 7.446582e-04 7.394019e-04 6.940081e-04 1.110168e-03 5.347754e-04 + 622 8.267356e-04 7.981640e-04 4.553787e-04 1.161431e-03 5.146361e-04 + 623 8.836415e-04 7.366458e-04 2.668762e-04 9.638093e-04 8.840730e-04 + 624 9.708062e-04 1.065556e-03 5.731080e-04 5.698959e-04 1.006892e-03 + 625 7.450449e-04 9.602304e-04 6.740568e-04 8.540705e-04 7.910662e-04 + 626 7.062786e-04 7.981104e-04 7.142309e-04 8.489500e-04 6.716027e-04 + 627 8.526151e-04 9.244405e-04 1.026509e-03 7.366208e-04 4.704052e-04 + 628 4.798894e-04 1.074640e-03 8.808867e-04 8.660811e-04 5.890223e-04 + 629 1.058334e-03 1.223552e-03 6.497267e-04 1.239279e-03 8.284757e-04 + 630 7.163512e-04 8.179339e-04 3.653404e-04 7.546704e-04 5.744733e-04 + 631 7.455205e-04 7.758203e-04 6.042422e-04 8.893400e-04 8.022208e-04 + 632 6.643122e-04 1.022701e-03 8.049731e-04 1.179208e-03 1.034897e-03 + 633 6.450528e-04 1.847395e-03 9.518004e-04 8.358854e-04 1.082985e-03 + 634 8.198744e-04 9.673127e-04 8.593300e-04 5.188518e-04 6.756718e-04 + 635 7.418855e-04 9.210027e-04 7.011657e-04 7.684978e-04 7.716879e-04 + 636 4.109771e-04 1.168928e-03 1.013052e-03 9.151053e-04 8.479884e-04 + 637 9.295019e-04 8.994567e-04 9.133096e-04 7.773752e-04 5.186473e-04 + 638 9.422796e-04 9.058660e-04 7.794493e-04 8.328074e-04 6.478124e-04 + 639 9.597938e-04 4.629720e-04 7.695444e-04 8.290697e-04 8.346042e-04 + 640 8.248459e-04 6.977994e-04 9.585168e-04 1.021451e-03 1.088204e-03 + 641 4.358398e-04 6.743742e-04 8.070253e-04 6.252217e-04 1.001835e-03 + 642 7.070168e-04 6.904520e-04 6.886625e-04 1.062404e-03 4.939284e-04 + 643 6.323749e-04 1.025209e-03 8.677605e-04 7.890631e-04 6.579236e-04 + 644 5.776676e-04 9.242173e-04 9.470478e-04 9.623202e-04 7.674920e-04 + 645 7.509654e-04 8.770080e-04 7.868470e-04 1.080112e-03 1.067806e-03 + 646 7.872835e-04 1.026096e-03 1.062355e-03 9.979299e-04 8.847683e-04 + 647 8.705253e-04 9.151691e-04 7.453708e-04 8.255796e-04 6.337939e-04 + 648 9.248324e-04 9.197677e-04 5.550005e-04 6.898319e-04 5.817666e-04 + 649 8.735064e-04 7.773387e-04 4.071584e-04 5.186719e-04 5.913547e-04 + 650 1.142755e-03 1.116791e-03 7.732350e-04 1.101254e-03 8.372255e-04 + 651 9.880156e-04 7.700351e-04 8.925107e-04 1.192761e-03 8.503223e-04 + 652 6.977363e-04 2.872697e-04 1.156708e-03 1.154328e-03 8.641578e-04 + 653 6.732591e-04 7.732535e-04 1.181887e-03 1.182015e-03 1.020924e-03 + 654 1.164025e-03 1.377301e-03 6.461145e-04 8.205597e-04 1.017537e-03 + 655 1.759511e-03 1.510293e-03 1.141339e-03 9.278091e-04 1.184006e-03 + 656 1.361657e-03 6.838903e-04 1.405647e-03 1.236242e-03 1.375245e-03 + 657 1.458443e-03 1.032320e-03 2.082507e-03 2.184575e-03 1.731570e-03 + 658 1.426463e-03 1.531801e-03 2.440914e-03 2.312248e-03 1.799149e-03 + 659 1.015564e-03 1.066547e-03 1.289514e-03 9.816216e-04 7.838387e-04 + 660 1.248482e-03 1.327371e-03 6.746937e-04 6.771079e-04 7.090246e-04 + 661 1.197062e-03 9.283329e-04 7.227644e-04 6.523443e-04 7.694705e-04 + 662 9.070555e-04 4.108306e-04 9.705764e-04 5.030788e-04 6.716488e-04 + 663 7.583578e-04 5.883495e-04 8.345701e-04 4.337037e-04 5.799873e-04 + 664 6.644776e-04 6.130902e-04 7.145614e-04 6.202079e-04 7.849926e-04 + 665 9.267258e-04 3.448435e-04 1.020053e-03 8.971414e-04 9.607014e-04 + 666 9.882186e-04 5.188022e-04 6.699809e-04 7.721730e-04 7.579527e-04 + 667 8.216359e-04 5.972795e-04 6.432165e-04 7.174740e-04 7.194418e-04 + 668 1.038600e-03 5.189991e-04 6.498627e-04 4.804232e-04 9.470149e-04 + 669 6.468686e-04 6.099407e-04 9.495779e-04 4.699984e-04 6.845236e-04 + 670 7.477374e-04 6.452587e-04 8.510163e-04 6.989612e-04 7.869187e-04 + 671 1.297612e-03 4.804027e-04 1.166006e-03 7.194022e-04 1.401715e-03 + 672 8.462892e-04 9.686112e-04 9.145567e-04 6.127819e-04 7.717209e-04 + 673 8.357874e-04 1.024180e-03 7.356413e-04 7.346352e-04 5.970878e-04 + 674 1.002974e-03 1.261553e-03 6.282168e-04 1.145166e-03 9.610870e-04 + 675 1.336514e-03 1.152347e-03 6.973896e-04 1.189528e-03 1.353899e-03 + 676 1.172568e-03 1.566208e-03 8.615346e-04 8.858294e-04 1.496025e-03 + 677 6.854853e-04 7.457660e-04 7.733219e-04 6.556045e-04 9.188395e-04 + 678 5.046185e-04 7.668970e-04 8.167871e-04 6.941487e-04 7.856677e-04 + 679 7.535592e-04 7.069741e-04 1.308956e-03 6.283434e-04 5.968453e-04 + 680 7.523751e-04 8.124958e-04 1.097040e-03 9.938628e-04 6.355040e-04 + 681 7.107948e-04 6.618687e-04 7.679388e-04 8.269370e-04 5.495545e-04 + 682 7.170162e-04 8.312172e-04 6.317361e-04 8.879956e-04 7.651493e-04 + 683 6.499058e-04 8.734813e-04 6.858929e-04 6.216126e-04 6.111868e-04 + 684 4.276775e-04 6.403450e-04 6.640226e-04 7.052209e-04 7.885429e-04 + 685 8.621620e-04 6.873727e-04 6.685208e-04 9.055544e-04 8.285339e-04 + 686 7.959055e-04 6.853881e-04 5.472348e-04 7.989568e-04 5.971052e-04 + 687 6.455720e-04 7.115635e-04 6.052294e-04 8.539323e-04 6.203705e-04 + 688 1.759230e-03 1.530051e-03 1.026756e-03 1.347880e-03 1.060871e-03 + 689 1.222695e-03 9.159767e-04 5.858302e-04 9.296571e-04 7.964773e-04 + 690 8.007651e-04 4.425226e-04 6.268343e-04 7.154989e-04 9.144470e-04 + 691 1.003980e-03 8.207491e-04 1.050821e-03 1.083902e-03 1.131555e-03 + 692 8.065408e-04 9.021031e-04 4.931244e-04 7.580728e-04 7.319524e-04 + 693 5.379997e-04 9.864243e-04 5.977285e-04 6.658589e-04 6.524678e-04 + 694 6.138521e-04 1.134845e-03 8.928034e-04 6.252411e-04 7.345339e-04 + 695 6.625692e-04 1.009199e-03 6.894320e-04 6.095566e-04 6.328651e-04 + 696 5.633425e-04 7.906231e-04 7.053646e-04 4.718015e-04 8.753676e-04 + 697 1.044247e-03 5.813946e-04 1.422547e-03 6.459768e-04 1.140029e-03 + 698 1.257473e-03 8.855803e-04 7.596301e-04 8.104822e-04 1.231967e-03 + 699 1.115092e-03 8.728365e-04 8.748247e-04 8.985344e-04 1.008272e-03 + 700 1.017034e-03 6.632186e-04 5.573612e-04 5.934364e-04 1.170479e-03 + 701 8.060570e-04 5.381598e-04 5.334193e-04 7.248260e-04 8.132894e-04 + 702 4.785664e-04 8.379059e-04 6.773446e-04 6.072006e-04 6.477073e-04 + 703 4.857400e-04 1.061449e-03 7.312371e-04 6.281366e-04 1.092539e-03 + 704 1.071559e-03 1.042493e-03 1.030834e-03 8.848234e-04 1.824870e-03 + 705 1.040409e-03 1.165674e-03 1.418035e-03 1.127552e-03 1.618760e-03 + 706 6.622290e-04 8.346326e-04 1.474151e-03 7.191528e-04 6.781122e-04 + 707 6.441687e-04 6.337562e-04 1.117308e-03 5.663876e-04 8.295843e-04 + 708 7.923588e-04 6.551914e-04 1.093583e-03 7.460943e-04 6.651831e-04 + 709 8.824543e-04 8.281573e-04 9.753295e-04 6.857618e-04 9.852663e-04 + 710 6.101795e-04 7.098231e-04 4.830006e-04 6.111265e-04 7.257821e-04 + 711 7.024273e-04 6.762467e-04 3.177989e-04 4.379262e-04 6.572853e-04 + 712 6.417581e-04 7.493542e-04 6.157627e-04 6.349768e-04 6.372309e-04 + 713 8.202785e-04 1.219664e-03 8.857297e-04 1.089962e-03 9.302036e-04 + 714 1.057720e-03 9.458088e-04 1.187513e-03 1.418514e-03 6.863147e-04 + 715 9.783122e-04 1.546556e-03 1.027810e-03 9.863150e-04 5.885747e-04 + 716 1.069168e-03 1.867069e-03 9.266662e-04 8.215916e-04 8.079619e-04 + 717 1.091180e-03 2.363964e-03 8.354558e-04 1.280380e-03 1.235575e-03 + 718 1.049622e-03 1.638310e-03 8.887396e-04 1.038154e-03 1.421159e-03 + 719 1.133729e-03 8.610156e-04 7.153980e-04 1.423150e-03 5.369417e-04 + 720 8.299020e-04 8.418137e-04 8.526332e-04 1.293167e-03 6.263961e-04 + 721 1.165298e-03 7.342644e-04 1.023259e-03 1.014171e-03 8.336219e-04 + 722 6.826154e-04 7.462395e-04 7.535994e-04 1.064870e-03 5.649375e-04 + 723 5.908581e-04 6.868466e-04 5.606585e-04 4.953214e-04 5.185750e-04 + 724 1.037608e-03 1.090001e-03 6.787448e-04 6.587872e-04 9.522676e-04 + 725 8.980167e-04 8.733355e-04 8.844151e-04 7.565591e-04 1.304197e-03 + 726 8.322375e-04 9.418758e-04 8.779451e-04 7.148648e-04 1.164965e-03 + 727 7.525058e-04 7.515241e-04 8.032235e-04 5.336535e-04 7.643594e-04 + 728 7.706273e-04 6.568833e-04 9.589713e-04 5.794884e-04 6.650874e-04 + 729 7.127177e-04 4.033426e-04 6.471599e-04 5.497104e-04 5.436059e-04 + 730 5.169138e-04 6.653055e-04 7.020487e-04 7.258769e-04 6.666739e-04 + 731 5.952087e-04 8.099282e-04 6.281090e-04 1.035353e-03 6.675520e-04 + 732 7.431618e-04 5.355268e-04 9.668529e-04 9.031490e-04 5.517684e-04 + 733 7.568951e-04 7.016066e-04 7.387293e-04 4.915301e-04 5.734760e-04 + 734 7.879601e-04 9.238907e-04 6.770689e-04 6.027175e-04 1.003509e-03 + 735 6.097001e-04 6.158553e-04 4.162678e-04 1.173296e-03 8.335249e-04 + 736 7.412314e-04 6.192248e-04 8.267759e-04 9.317960e-04 6.441240e-04 + 737 8.808926e-04 7.841784e-04 6.303262e-04 6.532351e-04 5.477525e-04 + 738 1.225429e-03 1.035060e-03 5.345138e-04 9.907087e-04 7.145203e-04 + 739 1.423143e-03 1.384938e-03 7.313338e-04 6.644571e-04 7.484143e-04 + 740 1.158340e-03 7.210158e-04 1.004026e-03 6.951975e-04 7.830451e-04 + 741 8.344547e-04 6.101397e-04 6.764629e-04 7.373288e-04 6.647594e-04 + 742 6.044820e-04 6.303181e-04 7.643397e-04 7.225610e-04 1.088648e-03 + 743 5.585981e-04 7.464978e-04 1.031657e-03 1.179614e-03 1.687132e-03 + 744 7.519830e-04 5.095276e-04 6.204227e-04 1.089115e-03 9.859119e-04 + 745 8.156797e-04 6.317857e-04 7.787677e-04 8.219778e-04 8.373662e-04 + 746 1.284886e-03 6.906139e-04 9.124979e-04 5.926387e-04 8.674594e-04 + 747 1.263879e-03 4.480874e-04 9.499596e-04 8.376225e-04 5.218187e-04 + 748 6.376149e-04 5.036101e-04 6.668385e-04 7.112541e-04 9.042090e-04 + 749 3.873459e-04 6.394370e-04 6.916104e-04 4.227375e-04 9.464420e-04 + 750 8.566446e-04 5.038782e-04 7.541438e-04 7.615432e-04 5.274068e-04 + 751 1.110325e-03 7.257275e-04 1.357475e-03 6.543154e-04 9.309654e-04 + 752 8.331592e-03 8.638060e-03 9.235344e-03 6.588148e-03 7.493724e-03 + 753 4.516339e-02 4.939996e-02 4.579725e-02 4.464663e-02 4.071391e-02 + 754 1.510687e-02 1.676848e-02 1.472885e-02 1.578612e-02 1.350821e-02 + 755 7.920354e-04 4.876812e-04 4.362913e-04 7.462454e-04 6.033130e-04 + 756 6.757641e-04 6.743710e-04 4.198686e-04 8.239519e-04 1.206258e-03 + 757 7.643460e-04 6.384224e-04 7.637926e-04 6.184311e-04 8.326729e-04 + 758 7.076209e-04 4.030590e-04 7.956271e-04 4.543134e-04 7.301286e-04 + 759 6.014365e-04 9.392385e-04 9.255496e-04 6.162230e-04 8.272647e-04 + 760 4.655763e-04 1.337021e-03 6.323989e-04 8.090414e-04 1.026853e-03 + 761 3.528876e-04 9.909218e-04 7.858728e-04 7.787803e-04 8.440099e-04 + 762 9.222283e-04 5.697448e-04 6.838371e-04 7.767826e-04 7.480837e-04 + 763 9.883195e-04 3.628205e-04 9.231149e-04 9.214262e-04 8.674690e-04 + 764 6.210413e-04 3.314645e-04 7.187118e-04 9.953343e-04 1.028104e-03 + 765 8.097560e-04 8.087778e-04 4.303908e-04 4.496429e-04 9.295916e-04 + 766 7.881836e-04 1.872678e-03 7.867628e-04 9.894901e-04 9.602936e-04 + 767 5.466898e-04 8.916801e-04 4.777815e-04 7.183476e-04 7.359484e-04 + 768 5.380702e-04 6.547479e-04 5.375154e-04 1.072674e-03 8.412563e-04 + 769 1.163600e-03 4.401921e-04 2.661198e-04 9.658520e-04 7.154643e-04 + 770 1.026749e-03 5.650738e-04 2.353299e-04 7.721876e-04 8.505755e-04 + 771 8.026326e-04 6.472921e-04 4.558154e-04 7.430911e-04 5.707821e-04 + 772 6.901676e-04 7.579690e-04 7.104706e-04 8.531653e-04 8.379039e-04 + 773 5.661389e-04 6.873748e-04 7.371090e-04 9.360488e-04 1.125409e-03 + 774 5.860226e-04 7.656013e-04 9.474697e-04 5.734511e-04 7.345240e-04 + 775 5.672124e-04 7.433862e-04 1.138192e-03 7.755704e-04 6.316685e-04 + 776 6.277377e-04 6.931542e-04 5.614519e-04 8.836458e-04 4.624220e-04 + 777 9.925704e-04 9.909988e-04 6.587989e-04 1.016205e-03 5.558886e-04 + 778 6.750352e-04 8.539218e-04 7.434664e-04 5.133116e-04 7.220129e-04 + 779 1.123787e-03 1.018160e-03 9.068422e-04 5.054378e-04 8.241530e-04 + 780 1.813395e-03 1.501160e-03 1.441254e-03 1.185193e-03 1.315992e-03 + 781 9.604534e-04 8.678650e-04 7.564417e-04 1.097777e-03 1.263886e-03 + 782 9.954494e-04 9.776238e-04 6.490096e-04 9.537278e-04 1.202490e-03 + 783 9.406141e-04 5.626125e-04 9.590368e-04 5.695802e-04 5.592615e-04 + 784 1.148117e-03 5.869302e-04 1.274560e-03 8.773290e-04 9.697864e-04 + 785 9.975131e-04 7.161799e-04 9.778496e-04 8.631570e-04 1.012993e-03 + 786 8.269567e-04 7.608298e-04 6.668696e-04 8.929278e-04 1.501912e-03 + 787 7.185271e-04 9.268421e-04 7.314647e-04 6.972243e-04 9.565777e-04 + 788 8.244379e-04 8.414311e-04 8.903835e-04 8.270915e-04 9.147653e-04 + 789 9.109576e-04 6.838147e-04 8.033536e-04 1.052035e-03 5.189244e-04 + 790 6.995142e-04 9.567296e-04 1.051045e-03 8.370436e-04 6.707209e-04 + 791 8.028777e-04 9.939023e-04 6.244352e-04 6.647938e-04 9.930706e-04 + 792 6.521829e-04 1.331715e-03 8.673418e-04 9.799126e-04 1.130792e-03 + 793 3.724605e-04 9.189408e-04 6.126093e-04 8.771125e-04 6.044077e-04 + 794 9.226258e-04 6.974247e-04 8.371073e-04 5.433410e-04 6.964132e-04 + 795 1.202940e-03 1.135698e-03 9.989355e-04 8.918539e-04 8.387053e-04 + 796 8.534291e-04 1.168531e-03 6.288159e-04 8.984411e-04 7.231984e-04 + 797 7.907926e-04 8.879544e-04 7.678037e-04 8.083732e-04 9.079208e-04 + 798 1.010120e-03 5.673263e-04 6.789273e-04 4.645258e-04 1.087570e-03 + 799 1.139483e-03 8.051518e-04 5.553938e-04 8.378499e-04 1.005704e-03 + 800 9.306793e-03 9.958243e-03 9.183571e-03 1.016789e-02 1.044327e-02 + 801 5.401652e-02 5.829086e-02 5.664814e-02 5.868010e-02 6.362548e-02 + 802 1.189552e-02 1.298727e-02 1.110806e-02 1.296481e-02 1.366169e-02 + 803 8.498849e-04 1.040161e-03 5.467400e-04 7.010491e-04 5.618430e-04 + 804 1.252814e-03 1.185950e-03 4.790222e-04 4.920481e-04 6.779021e-04 + 805 8.286320e-04 1.143878e-03 7.679824e-04 8.216577e-04 9.278524e-04 + 806 7.364935e-04 9.626263e-04 1.136387e-03 9.595838e-04 1.041258e-03 + 807 7.131745e-04 7.958416e-04 1.080314e-03 9.367659e-04 8.264692e-04 + 808 6.227872e-04 6.443797e-04 8.712572e-04 7.878800e-04 6.341844e-04 + 809 1.252109e-03 7.627800e-04 5.764469e-04 4.735365e-04 7.932429e-04 + 810 1.131749e-03 9.431712e-04 7.871647e-04 8.093015e-04 8.598448e-04 + 811 1.092466e-03 1.075569e-03 5.461179e-04 1.060937e-03 7.779177e-04 + 812 6.335295e-04 8.063995e-04 6.706831e-04 6.191040e-04 7.281393e-04 + 813 5.529189e-04 5.862793e-04 8.799432e-04 3.885286e-04 5.588772e-04 + 814 7.760966e-04 9.846260e-04 1.027772e-03 5.363677e-04 6.551022e-04 + 815 7.775499e-04 6.353102e-04 6.492288e-04 7.342236e-04 7.149245e-04 + 816 9.411907e-04 6.251277e-04 6.454981e-04 9.615018e-04 8.197078e-04 + 817 9.728743e-04 5.723267e-04 7.969972e-04 7.750835e-04 9.340328e-04 + 818 1.132261e-03 8.895919e-04 9.542550e-04 8.535523e-04 9.240744e-04 + 819 8.129029e-04 1.259198e-03 8.645348e-04 8.371010e-04 4.190016e-04 + 820 7.059816e-04 1.000203e-03 1.156585e-03 9.413894e-04 5.152310e-04 + 821 8.664652e-04 8.353908e-04 6.482198e-04 6.777418e-04 1.020930e-03 + 822 2.376107e-03 2.006982e-03 1.480449e-03 1.755947e-03 1.772376e-03 + 823 1.274031e-03 1.024614e-03 1.006985e-03 8.012420e-04 7.382423e-04 + 824 7.951655e-04 9.120036e-04 4.996957e-04 7.813108e-04 5.060143e-04 + 825 8.654345e-04 6.495758e-04 9.049187e-04 9.418862e-04 5.252944e-04 + 826 8.466598e-04 8.295103e-04 6.463854e-04 1.092189e-03 7.345189e-04 + 827 7.259309e-04 8.808681e-04 4.398171e-04 7.071490e-04 1.015284e-03 + 828 5.914243e-04 1.011785e-03 6.276288e-04 3.115321e-04 6.501824e-04 + 829 7.365577e-04 9.382258e-04 8.466121e-04 4.967046e-04 5.389968e-04 + 830 5.985537e-04 1.107848e-03 8.553637e-04 8.489311e-04 9.093318e-04 + 831 8.339595e-04 1.214531e-03 8.651492e-04 1.323488e-03 1.557899e-03 + 832 7.373351e-04 1.112489e-03 7.622098e-04 6.817274e-04 9.922116e-04 + 833 6.504947e-04 8.058097e-04 5.188092e-04 9.408217e-04 7.655538e-04 + 834 8.801050e-04 6.679439e-04 3.522327e-04 7.001037e-04 1.006668e-03 + 835 6.411068e-04 6.729676e-04 5.698325e-04 7.532979e-04 6.340559e-04 + 836 5.542822e-04 5.905104e-04 7.213104e-04 8.227162e-04 6.367074e-04 + 837 6.543460e-04 5.935945e-04 1.101451e-03 8.903111e-04 5.983443e-04 + 838 8.542924e-04 1.053194e-03 1.264786e-03 6.461952e-04 5.632939e-04 + 839 8.124878e-04 1.000773e-03 6.801682e-04 7.070334e-04 9.797008e-04 + 840 7.534953e-04 5.976275e-04 5.455251e-04 4.928836e-04 1.218697e-03 + 841 7.969797e-04 5.148611e-04 8.555207e-04 8.913334e-04 9.104346e-04 + 842 5.643343e-04 7.729359e-04 8.692772e-04 6.093109e-04 3.976355e-04 + 843 9.177683e-04 9.956969e-04 8.367189e-04 9.837014e-04 6.121600e-04 + 844 5.454942e-04 7.491441e-04 6.376036e-04 7.880848e-04 8.740985e-04 + 845 5.362756e-04 9.451793e-04 4.746488e-04 6.320600e-04 7.768342e-04 + 846 6.627663e-04 7.392400e-04 4.158687e-04 9.564278e-04 4.211933e-04 + 847 7.331281e-04 6.915332e-04 6.328190e-04 7.349627e-04 7.928426e-04 + 848 9.758286e-03 8.584130e-03 7.850762e-03 8.654288e-03 9.533113e-03 + 849 3.616070e-02 3.515453e-02 3.254944e-02 3.258838e-02 3.754045e-02 + 850 7.457169e-03 6.872816e-03 6.926427e-03 6.748679e-03 7.841267e-03 + 851 8.502263e-04 9.765603e-04 1.240586e-03 1.167850e-03 1.233452e-03 + 852 6.410552e-04 9.611507e-04 1.010400e-03 1.012151e-03 8.211222e-04 + 853 1.280901e-03 9.798773e-04 9.246525e-04 8.891251e-04 7.784988e-04 + 854 7.896076e-04 8.608114e-04 8.365018e-04 7.717535e-04 7.323371e-04 + 855 6.776312e-04 1.233441e-03 8.414944e-04 5.272207e-04 8.286556e-04 + 856 2.938907e-04 9.303498e-04 8.579909e-04 3.918986e-04 6.770767e-04 + 857 5.336851e-04 7.154432e-04 5.556345e-04 5.522765e-04 8.743246e-04 + 858 6.398528e-04 7.490807e-04 4.452196e-04 8.351941e-04 6.869390e-04 + 859 3.924315e-04 9.985679e-04 5.294761e-04 8.632512e-04 8.051680e-04 + 860 7.016576e-04 6.898196e-04 5.128865e-04 7.385786e-04 5.542865e-04 + 861 1.048440e-03 7.765784e-04 6.538485e-04 5.489589e-04 8.347327e-04 + 862 7.175438e-04 8.897183e-04 9.108354e-04 1.026890e-03 7.895349e-04 + 863 3.749672e-04 7.876354e-04 8.305527e-04 4.858793e-04 9.419100e-04 + 864 3.342940e-04 7.639086e-04 8.805698e-04 3.448140e-04 7.900637e-04 + 865 6.236962e-04 9.429101e-04 1.140720e-03 3.769410e-04 6.797555e-04 + 866 1.001543e-03 1.040923e-03 1.367267e-03 7.929450e-04 9.866011e-04 + 867 7.974518e-04 5.699599e-04 1.000282e-03 5.860760e-04 6.157931e-04 + 868 1.075027e-03 6.634220e-04 9.502216e-04 1.035089e-03 8.267816e-04 + 869 7.544686e-04 5.530863e-04 4.447644e-04 8.780582e-04 5.125851e-04 + 870 6.852935e-04 5.000754e-04 5.630318e-04 5.738594e-04 5.354754e-04 + 871 6.243139e-04 7.264429e-04 5.070863e-04 7.965330e-04 5.927806e-04 + 872 4.843479e-04 6.474410e-04 4.664177e-04 7.809136e-04 5.434339e-04 + 873 6.688009e-04 6.808301e-04 5.757831e-04 1.070891e-03 5.568297e-04 + 874 6.985130e-04 6.215584e-04 4.597437e-04 6.087511e-04 5.061815e-04 + 875 7.890135e-04 8.643079e-04 4.382279e-04 6.391821e-04 6.951847e-04 + 876 7.000653e-04 6.478175e-04 4.686451e-04 6.647365e-04 6.063500e-04 + 877 7.530148e-04 5.493133e-04 3.700992e-04 4.417589e-04 6.467783e-04 + 878 8.197174e-04 4.568164e-04 6.145933e-04 9.210826e-04 9.631797e-04 + 879 1.037527e-03 7.437924e-04 7.800676e-04 7.852800e-04 1.058191e-03 + 880 1.195414e-03 1.090696e-03 6.696409e-04 7.902908e-04 8.560536e-04 + 881 1.089701e-03 1.151578e-03 7.206270e-04 1.111541e-03 1.039771e-03 + 882 6.889356e-04 7.192641e-04 1.062669e-03 1.193069e-03 9.121427e-04 + 883 5.883482e-04 8.236256e-04 1.008941e-03 4.376831e-04 6.786349e-04 + 884 1.033374e-03 1.071828e-03 9.499128e-04 5.446391e-04 1.221146e-03 + 885 1.140039e-03 9.388581e-04 1.023197e-03 5.176941e-04 1.290142e-03 + 886 8.635678e-04 7.790731e-04 1.079232e-03 7.032020e-04 8.961063e-04 + 887 9.797645e-04 6.293875e-04 8.900682e-04 5.719552e-04 6.831144e-04 + 888 7.014049e-04 3.716420e-04 8.648224e-04 4.696399e-04 4.464290e-04 + 889 6.426275e-04 4.382306e-04 1.060296e-03 3.743780e-04 4.544026e-04 + 890 6.882703e-04 8.483246e-04 1.298744e-03 6.184486e-04 1.047142e-03 + 891 8.856953e-04 6.388062e-04 8.314338e-04 6.552346e-04 6.807125e-04 + 892 7.523505e-04 7.259128e-04 9.567494e-04 6.742899e-04 5.889768e-04 + 893 7.274507e-04 8.910281e-04 1.035640e-03 6.048151e-04 4.375818e-04 + 894 5.646040e-04 9.524752e-04 7.510255e-04 8.847028e-04 4.556345e-04 + 895 8.168856e-04 8.278082e-04 9.160398e-04 7.867305e-04 6.967139e-04 + 896 9.588698e-04 1.014148e-03 1.232441e-03 8.489234e-04 9.668914e-04 + 897 1.669517e-03 1.314694e-03 1.427485e-03 1.499525e-03 1.754416e-03 + 898 9.178646e-04 7.985821e-04 6.465234e-04 8.034672e-04 8.747948e-04 + 899 7.937200e-04 5.714084e-04 6.448451e-04 5.577110e-04 6.344358e-04 + 900 7.871007e-04 7.418014e-04 8.835596e-04 7.604974e-04 7.692732e-04 + 901 4.644328e-04 4.181675e-04 4.664729e-04 5.627829e-04 6.136949e-04 + 902 6.135935e-04 7.825748e-04 5.997165e-04 7.308155e-04 7.395854e-04 + 903 9.529531e-04 8.229288e-04 7.548493e-04 7.350096e-04 8.035823e-04 + 904 7.619885e-04 9.371194e-04 9.299563e-04 4.527717e-04 8.819125e-04 + 905 4.921207e-04 8.799752e-04 9.375441e-04 7.346330e-04 8.389071e-04 + 906 7.131126e-04 8.166026e-04 7.369490e-04 7.584837e-04 1.078675e-03 + 907 5.281473e-04 6.523171e-04 8.093637e-04 6.229930e-04 1.227606e-03 + 908 4.764248e-04 3.688707e-04 9.904746e-04 4.181174e-04 1.048007e-03 + 909 5.033868e-04 4.810742e-04 8.892933e-04 7.818410e-04 8.169579e-04 + 910 4.420677e-04 8.764929e-04 1.006214e-03 1.029992e-03 5.754118e-04 + 911 6.273060e-04 8.309597e-04 5.239412e-04 9.628974e-04 4.172208e-04 + 912 5.471374e-04 5.526943e-04 4.231863e-04 5.461861e-04 5.720665e-04 + 913 3.838268e-04 9.722873e-04 2.470139e-04 6.851295e-04 4.601196e-04 + 914 5.368843e-04 8.587093e-04 4.823535e-04 5.969180e-04 4.598302e-04 + 915 5.449448e-04 7.137042e-04 5.464477e-04 4.155536e-04 4.013547e-04 + 916 6.954860e-04 9.730575e-04 4.973319e-04 3.996061e-04 4.339379e-04 + 917 7.986682e-04 1.192942e-03 1.260698e-03 6.924347e-04 7.115627e-04 + 918 7.991930e-04 7.179184e-04 1.400359e-03 1.060036e-03 9.550158e-04 + 919 5.600345e-04 6.647978e-04 6.626202e-04 6.831323e-04 4.735000e-04 + 920 5.330325e-04 4.843483e-04 6.396226e-04 5.840601e-04 5.446827e-04 + 921 6.972376e-04 7.294577e-04 8.636554e-04 8.846467e-04 4.561069e-04 + 922 8.637310e-04 6.662973e-04 8.128557e-04 7.823020e-04 7.434900e-04 + 923 8.944799e-04 9.712824e-04 8.276599e-04 7.357150e-04 1.003751e-03 + 924 5.602775e-04 7.164304e-04 8.255461e-04 7.787864e-04 6.163814e-04 + 925 7.769306e-04 9.363776e-04 1.052579e-03 1.028481e-03 1.221566e-03 + 926 6.473910e-04 6.304590e-04 6.132756e-04 6.816594e-04 1.108487e-03 + 927 6.137566e-04 6.933555e-04 5.950036e-04 4.857230e-04 9.108615e-04 + 928 7.319170e-04 7.984319e-04 9.470917e-04 1.034007e-03 1.167957e-03 + 929 9.673253e-04 5.361941e-04 8.874429e-04 1.096854e-03 9.341921e-04 + 930 6.744277e-04 5.040575e-04 9.149515e-04 7.951625e-04 7.363760e-04 + 931 5.464468e-04 9.236424e-04 5.048609e-04 4.907623e-04 5.646330e-04 + 932 4.831845e-04 8.595987e-04 7.473346e-04 5.349417e-04 5.495739e-04 + 933 5.610111e-04 8.019187e-04 8.000283e-04 6.198041e-04 5.011143e-04 + 934 9.761432e-04 7.303129e-04 8.467611e-04 5.216928e-04 6.325080e-04 + 935 8.797763e-04 9.205583e-04 1.426797e-03 5.692513e-04 5.658353e-04 + 936 6.296979e-04 5.639258e-04 9.900508e-04 5.383796e-04 7.446111e-04 + 937 7.389337e-04 8.843440e-04 8.655613e-04 7.059569e-04 9.461039e-04 + 938 7.931253e-04 1.436272e-03 8.704405e-04 8.772377e-04 8.702002e-04 + 939 9.144789e-04 1.324987e-03 1.133478e-03 7.529852e-04 6.732216e-04 + 940 1.318618e-03 6.285246e-04 9.521406e-04 6.618239e-04 8.930389e-04 + 941 1.032779e-03 5.655386e-04 3.841434e-04 6.266542e-04 3.015203e-04 + 942 1.093049e-03 7.212642e-04 8.719102e-04 5.560409e-04 4.756352e-04 + 943 1.181400e-03 1.160727e-03 1.138846e-03 1.166836e-03 8.767591e-04 + 944 4.916444e-03 4.625204e-03 4.557054e-03 4.801709e-03 3.698052e-03 + 945 7.389498e-03 5.958010e-03 6.449660e-03 5.485366e-03 7.045527e-03 + 946 2.961322e-03 1.828367e-03 2.190625e-03 1.804640e-03 2.257704e-03 + 947 8.015631e-04 8.231538e-04 5.423301e-04 7.446326e-04 7.809296e-04 + 948 5.889520e-04 9.289645e-04 1.082137e-03 7.749727e-04 1.118576e-03 + 949 8.275479e-04 8.463575e-04 7.015799e-04 6.749149e-04 9.259143e-04 + 950 9.334574e-04 5.601953e-04 4.785994e-04 8.187999e-04 8.480599e-04 + 951 8.759775e-04 8.770017e-04 3.502832e-04 8.635258e-04 7.340883e-04 + 952 9.110808e-04 9.144605e-04 5.200364e-04 9.749128e-04 8.413823e-04 + 953 7.485396e-04 1.005478e-03 7.426029e-04 9.435031e-04 1.352288e-03 + 954 9.714687e-04 1.790452e-03 6.869156e-04 9.924305e-04 1.139874e-03 + 955 9.197482e-04 9.790740e-04 2.952272e-04 8.350779e-04 9.742496e-04 + 956 8.502796e-04 7.805538e-04 3.546568e-04 5.875007e-04 6.202646e-04 + 957 9.411492e-04 1.040928e-03 6.186010e-04 7.394428e-04 5.172779e-04 + 958 7.071390e-04 8.333500e-04 4.643805e-04 7.605022e-04 3.682106e-04 + 959 7.284026e-04 8.465695e-04 5.465258e-04 6.140201e-04 4.742796e-04 + 960 6.323684e-04 8.033162e-04 7.091609e-04 7.835161e-04 4.792583e-04 + 961 9.367804e-04 1.111866e-03 4.778533e-04 5.610351e-04 8.082711e-04 + 962 8.764089e-04 6.834238e-04 5.930601e-04 5.959628e-04 5.526717e-04 + 963 7.082224e-04 7.725050e-04 6.894692e-04 5.405872e-04 8.850336e-04 + 964 4.425937e-04 7.667291e-04 8.851826e-04 5.224153e-04 8.551395e-04 + 965 5.412800e-04 9.867387e-04 1.177955e-03 5.975005e-04 7.989261e-04 + 966 6.679993e-04 3.313601e-04 8.012586e-04 4.091039e-04 7.670086e-04 + 967 8.077615e-04 6.633065e-04 8.569964e-04 4.931313e-04 9.707302e-04 + 968 9.794987e-04 9.988158e-04 5.847658e-04 8.466732e-04 8.896886e-04 + 969 8.162575e-04 1.014141e-03 6.741445e-04 8.961575e-04 9.795047e-04 + 970 1.010506e-03 1.198098e-03 1.083858e-03 5.887919e-04 9.866040e-04 + 971 7.373101e-04 4.261790e-04 8.017634e-04 2.757533e-04 9.150030e-04 + 972 5.347877e-04 8.655676e-04 6.467513e-04 3.729453e-04 8.855109e-04 + 973 6.824249e-04 1.121144e-03 8.944155e-04 7.662167e-04 7.976815e-04 + 974 7.207062e-04 6.913944e-04 9.661114e-04 6.835425e-04 7.390026e-04 + 975 5.624735e-04 4.905133e-04 7.865777e-04 7.036131e-04 6.660694e-04 + 976 5.822216e-04 2.939890e-04 7.762313e-04 7.581422e-04 7.573761e-04 + 977 8.093302e-04 4.134682e-04 8.162620e-04 9.383287e-04 6.773024e-04 + 978 6.462903e-04 7.366160e-04 8.863577e-04 1.016440e-03 7.914253e-04 + 979 7.581144e-04 5.748482e-04 7.892879e-04 7.237986e-04 9.582229e-04 + 980 1.030687e-03 1.021095e-03 7.640920e-04 8.342334e-04 9.191476e-04 + 981 8.271228e-04 1.079959e-03 9.371070e-04 1.014643e-03 8.943238e-04 + 982 8.064809e-04 6.975268e-04 7.795891e-04 5.364326e-04 5.345098e-04 + 983 6.206768e-04 7.707613e-04 1.024795e-03 5.846262e-04 6.162930e-04 + 984 7.375371e-04 1.342550e-03 9.759085e-04 6.756988e-04 9.931630e-04 + 985 8.492136e-04 9.504742e-04 5.704664e-04 9.209615e-04 7.756865e-04 + 986 9.244319e-04 7.257539e-04 7.730410e-04 4.888698e-04 5.413208e-04 + 987 9.051218e-04 8.929290e-04 5.810709e-04 6.028725e-04 7.984474e-04 + 988 1.166009e-03 8.062012e-04 3.732053e-04 3.547779e-04 5.862574e-04 + 989 8.589206e-04 4.647713e-04 4.828798e-04 4.334645e-04 6.982406e-04 + 990 7.197115e-04 7.033537e-04 5.893019e-04 4.864205e-04 5.586292e-04 + 991 8.634386e-04 7.851126e-04 7.213781e-04 8.449067e-04 4.760915e-04 + 992 6.136864e-04 8.279606e-04 1.202765e-03 8.043236e-04 4.432658e-04 + 993 4.302960e-04 8.296832e-04 6.770166e-04 8.128796e-04 4.511638e-04 + 994 3.530878e-04 7.318985e-04 7.884938e-04 6.405444e-04 5.184664e-04 + 995 8.230158e-04 9.818357e-04 8.201117e-04 1.044052e-03 7.090296e-04 + 996 8.986197e-04 8.881736e-04 1.127398e-03 4.874080e-04 7.294629e-04 + 997 5.627055e-04 6.035026e-04 4.575073e-04 3.835600e-04 4.575662e-04 + 998 9.913541e-04 5.960052e-04 6.033703e-04 5.536905e-04 8.377724e-04 + 999 9.869217e-04 8.899829e-04 7.357339e-04 1.044522e-03 7.764986e-04 + 1000 6.902883e-04 7.425583e-04 9.229116e-04 8.307469e-04 9.889957e-04 + 1001 6.234246e-04 7.728846e-04 9.014669e-04 8.064177e-04 4.789539e-04 + 1002 4.798687e-04 1.342774e-03 9.064635e-04 6.978874e-04 4.252503e-04 + 1003 5.626933e-04 9.566787e-04 8.718258e-04 5.196810e-04 5.437198e-04 + 1004 5.807949e-04 7.975504e-04 7.816633e-04 7.007126e-04 5.894191e-04 + 1005 8.234640e-04 8.296742e-04 7.535219e-04 8.780305e-04 6.883680e-04 + 1006 6.682149e-04 6.887312e-04 7.247943e-04 8.241519e-04 6.267774e-04 + 1007 4.664852e-04 7.777779e-04 4.914945e-04 6.534037e-04 6.263386e-04 + 1008 7.529807e-04 4.147632e-04 4.916420e-04 6.418150e-04 6.469185e-04 + 1009 9.797934e-04 5.421507e-04 9.873769e-04 7.443226e-04 7.730140e-04 + 1010 1.047988e-03 7.588998e-04 9.281825e-04 4.958223e-04 8.437328e-04 + 1011 8.642129e-04 1.042722e-03 5.940380e-04 3.882726e-04 7.290397e-04 + 1012 1.040627e-03 1.417270e-03 6.130714e-04 7.444738e-04 4.232625e-04 + 1013 6.499400e-04 7.864215e-04 5.336582e-04 6.114052e-04 5.541819e-04 + 1014 6.800528e-04 7.589779e-04 5.096166e-04 6.327301e-04 4.803469e-04 + 1015 8.252056e-04 7.125873e-04 5.778601e-04 9.809320e-04 4.646120e-04 + 1016 5.493141e-04 7.237635e-04 7.427746e-04 5.466546e-04 1.000629e-03 + 1017 3.430928e-04 7.478931e-04 8.088682e-04 5.218270e-04 1.080882e-03 + 1018 6.996184e-04 1.125452e-03 6.136028e-04 9.315888e-04 1.144072e-03 + 1019 6.428748e-04 8.257475e-04 5.384707e-04 3.320698e-04 5.321418e-04 + 1020 3.753810e-04 8.238042e-04 5.623726e-04 6.512674e-04 5.107473e-04 + 1021 3.367867e-04 7.937250e-04 6.012561e-04 9.063524e-04 6.585194e-04 + 1022 7.454224e-04 4.263805e-04 6.040522e-04 8.176661e-04 6.688087e-04 + 1023 8.391257e-04 8.577981e-04 7.611116e-04 1.096563e-03 9.286781e-04 + 1024 6.039566e-04 8.033245e-04 6.247268e-04 8.827541e-04 7.335138e-04 + 1025 9.057233e-04 7.000460e-04 5.423077e-04 9.281308e-04 7.347736e-04 + A16 frequency + 2 7.631791e-02 0.125 + 3 4.675901e-02 0.250 + 4 2.581993e-02 0.375 + 5 1.425928e-02 0.500 + 6 1.904736e-02 0.625 + 7 1.994565e-02 0.750 + 8 1.355163e-02 0.875 + 9 1.394708e-02 1.000 + 10 1.597840e-02 1.125 + 11 1.211568e-02 1.250 + 12 6.528922e-03 1.375 + 13 1.642869e-02 1.500 + 14 1.042488e-02 1.625 + 15 1.696503e-02 1.750 + 16 2.186142e-02 1.875 + 17 1.921600e-02 2.000 + 18 2.678552e-02 2.125 + 19 1.613859e-02 2.250 + 20 9.623878e-02 2.375 + 21 3.855852e+02 2.500 + 22 3.154891e+03 2.625 + 23 8.336256e+02 2.750 + 24 3.100173e-01 2.875 + 25 8.913874e-03 3.000 + 26 2.193802e-02 3.125 + 27 2.201813e-02 3.250 + 28 1.303197e-02 3.375 + 29 1.871667e-02 3.500 + 30 7.730627e-03 3.625 + 31 1.554544e-02 3.750 + 32 7.630628e-03 3.875 + 33 9.623387e-03 4.000 + 34 9.747084e-03 4.125 + 35 4.900507e-03 4.250 + 36 6.103318e-03 4.375 + 37 5.815479e-03 4.500 + 38 4.562571e-03 4.625 + 39 4.317678e-03 4.750 + 40 4.402457e-03 4.875 + 41 7.556833e-03 5.000 + 42 1.477552e-02 5.125 + 43 1.987853e-01 5.250 + 44 8.126014e-02 5.375 + 45 4.015172e-03 5.500 + 46 2.787385e-03 5.625 + 47 4.427132e-03 5.750 + 48 3.074402e-03 5.875 + 49 1.580154e-03 6.000 + 50 4.539527e-03 6.125 + 51 2.165871e-03 6.250 + 52 3.036168e-03 6.375 + 53 2.813914e-03 6.500 + 54 2.321541e-03 6.625 + 55 3.266972e-03 6.750 + 56 2.861691e-03 6.875 + 57 2.571554e-03 7.000 + 58 2.467215e-03 7.125 + 59 2.741441e-03 7.250 + 60 2.417545e-03 7.375 + 61 1.862175e-03 7.500 + 62 1.997676e-03 7.625 + 63 9.337025e-02 7.750 + 64 1.914775e+00 7.875 + 65 1.041602e+00 8.000 + 66 8.914409e-03 8.125 + 67 1.989740e-03 8.250 + 68 2.801240e-03 8.375 + 69 1.996355e-03 8.500 + 70 2.876133e-03 8.625 + 71 1.290272e-03 8.750 + 72 2.256248e-03 8.875 + 73 2.178640e-03 9.000 + 74 2.805737e-03 9.125 + 75 3.219048e-03 9.250 + 76 2.317030e-03 9.375 + 77 1.683454e-03 9.500 + 78 1.282962e-03 9.625 + 79 1.452272e-03 9.750 + 80 1.554585e-03 9.875 + 81 1.271223e-03 10.000 + 82 1.929072e-03 10.125 + 83 2.245116e-03 10.250 + 84 4.592662e-03 10.375 + 85 3.069309e-02 10.500 + 86 2.514969e-02 10.625 + 87 1.713834e-03 10.750 + 88 1.755714e-03 10.875 + 89 1.709176e-03 11.000 + 90 1.875566e-03 11.125 + 91 2.042407e-03 11.250 + 92 2.244211e-03 11.375 + 93 1.051079e-03 11.500 + 94 1.130681e-03 11.625 + 95 1.013734e-03 11.750 + 96 1.431658e-03 11.875 + 97 1.802390e-03 12.000 + 98 1.727529e-03 12.125 + 99 1.888389e-03 12.250 + 100 1.164104e-03 12.375 + 101 1.514667e-03 12.500 + 102 1.205735e-03 12.625 + 103 1.449346e-03 12.750 + 104 1.776548e-03 12.875 + 105 1.695974e-03 13.000 + 106 1.813325e-02 13.125 + 107 1.892711e-02 13.250 + 108 2.485294e-03 13.375 + 109 2.402445e-03 13.500 + 110 1.495627e-03 13.625 + 111 1.526897e-03 13.750 + 112 1.447207e-03 13.875 + 113 1.815081e-03 14.000 + 114 1.340520e-03 14.125 + 115 1.160320e-03 14.250 + 116 1.261554e-03 14.375 + 117 1.253526e-03 14.500 + 118 1.725370e-03 14.625 + 119 2.481424e-03 14.750 + 120 1.650163e-03 14.875 + 121 1.393914e-03 15.000 + 122 1.230249e-03 15.125 + 123 1.636877e-03 15.250 + 124 2.089142e-03 15.375 + 125 1.518663e-03 15.500 + 126 1.390150e-03 15.625 + 127 1.506092e-03 15.750 + 128 1.917334e-03 15.875 + 129 1.393940e-03 16.000 + 130 1.258415e-03 16.125 + 131 1.337779e-03 16.250 + 132 7.964111e-04 16.375 + 133 1.223091e-03 16.500 + 134 1.598479e-03 16.625 + 135 1.672719e-03 16.750 + 136 1.550282e-03 16.875 + 137 1.405272e-03 17.000 + 138 1.943570e-03 17.125 + 139 8.238979e-04 17.250 + 140 1.366596e-03 17.375 + 141 1.143637e-03 17.500 + 142 8.610771e-04 17.625 + 143 1.319149e-03 17.750 + 144 1.398907e-03 17.875 + 145 1.234366e-03 18.000 + 146 1.081131e-03 18.125 + 147 1.432425e-03 18.250 + 148 4.632285e-03 18.375 + 149 9.192087e-03 18.500 + 150 1.717667e-03 18.625 + 151 1.314026e-03 18.750 + 152 1.280441e-03 18.875 + 153 1.830082e-03 19.000 + 154 1.475927e-03 19.125 + 155 1.384863e-03 19.250 + 156 1.249856e-03 19.375 + 157 1.652502e-03 19.500 + 158 1.061000e-03 19.625 + 159 8.413197e-04 19.750 + 160 1.247346e-03 19.875 + 161 1.792625e-03 20.000 + 162 1.617963e-03 20.125 + 163 1.623742e-03 20.250 + 164 1.612908e-03 20.375 + 165 1.336692e-03 20.500 + 166 1.558619e-03 20.625 + 167 1.587859e-03 20.750 + 168 9.615262e-04 20.875 + 169 1.635725e-03 21.000 + 170 9.393803e-04 21.125 + 171 1.710135e-03 21.250 + 172 2.106062e-03 21.375 + 173 1.846345e-03 21.500 + 174 1.688854e-03 21.625 + 175 1.675320e-03 21.750 + 176 1.755658e-03 21.875 + 177 1.745471e-03 22.000 + 178 1.588097e-03 22.125 + 179 1.071396e-03 22.250 + 180 1.318042e-03 22.375 + 181 1.831447e-03 22.500 + 182 1.095863e-03 22.625 + 183 1.149227e-03 22.750 + 184 1.144019e-03 22.875 + 185 7.431973e-04 23.000 + 186 9.814148e-04 23.125 + 187 1.181464e-03 23.250 + 188 1.499979e-03 23.375 + 189 1.374751e-03 23.500 + 190 1.454843e-03 23.625 + 191 3.570530e-03 23.750 + 192 1.421865e-03 23.875 + 193 6.406131e-04 24.000 + 194 1.170112e-03 24.125 + 195 8.788080e-04 24.250 + 196 1.178495e-03 24.375 + 197 1.717977e-03 24.500 + 198 1.332709e-03 24.625 + 199 1.735777e-03 24.750 + 200 1.472508e-03 24.875 + 201 8.143698e-04 25.000 + 202 9.895788e-04 25.125 + 203 6.482276e-04 25.250 + 204 1.014988e-03 25.375 + 205 1.734884e-03 25.500 + 206 1.129774e-03 25.625 + 207 4.952481e-04 25.750 + 208 1.154616e-03 25.875 + 209 1.552074e-03 26.000 + 210 1.312124e-03 26.125 + 211 7.082060e-04 26.250 + 212 6.193164e-04 26.375 + 213 8.761139e-04 26.500 + 214 8.755626e-04 26.625 + 215 8.087697e-04 26.750 + 216 1.019415e-03 26.875 + 217 9.645389e-04 27.000 + 218 1.044137e-03 27.125 + 219 1.394635e-03 27.250 + 220 1.307088e-03 27.375 + 221 1.493657e-03 27.500 + 222 9.570256e-04 27.625 + 223 7.892967e-04 27.750 + 224 1.312216e-03 27.875 + 225 1.072263e-03 28.000 + 226 7.007142e-04 28.125 + 227 1.113239e-03 28.250 + 228 1.144316e-03 28.375 + 229 1.102928e-03 28.500 + 230 8.040987e-04 28.625 + 231 1.420395e-03 28.750 + 232 1.168546e-03 28.875 + 233 2.721162e-03 29.000 + 234 1.621034e-03 29.125 + 235 9.628753e-04 29.250 + 236 9.811226e-04 29.375 + 237 1.960127e-03 29.500 + 238 2.147109e-03 29.625 + 239 6.075554e-04 29.750 + 240 1.105905e-03 29.875 + 241 1.112176e-03 30.000 + 242 9.447782e-04 30.125 + 243 1.006048e-03 30.250 + 244 1.034379e-03 30.375 + 245 9.743368e-04 30.500 + 246 9.808427e-04 30.625 + 247 9.319935e-04 30.750 + 248 7.736709e-04 30.875 + 249 6.394436e-04 31.000 + 250 9.062948e-04 31.125 + 251 1.093477e-03 31.250 + 252 1.367249e-03 31.375 + 253 1.074484e-03 31.500 + 254 1.649557e-03 31.625 + 255 1.768699e-03 31.750 + 256 1.398117e-03 31.875 + 257 1.467664e-03 32.000 + 258 1.105994e-03 32.125 + 259 8.853735e-04 32.250 + 260 9.545130e-04 32.375 + 261 1.122332e-03 32.500 + 262 1.594642e-03 32.625 + 263 1.178918e-03 32.750 + 264 1.867648e-03 32.875 + 265 1.319684e-03 33.000 + 266 1.149223e-03 33.125 + 267 1.197510e-03 33.250 + 268 9.903672e-04 33.375 + 269 1.446781e-03 33.500 + 270 1.688305e-03 33.625 + 271 1.459393e-03 33.750 + 272 5.455132e-04 33.875 + 273 1.293506e-03 34.000 + 274 1.304876e-03 34.125 + 275 2.467376e-03 34.250 + 276 1.709920e-03 34.375 + 277 8.362598e-04 34.500 + 278 6.983839e-04 34.625 + 279 9.607013e-04 34.750 + 280 9.676367e-04 34.875 + 281 1.590770e-03 35.000 + 282 1.602531e-03 35.125 + 283 7.931567e-04 35.250 + 284 7.964047e-04 35.375 + 285 9.089796e-04 35.500 + 286 1.105222e-03 35.625 + 287 8.997399e-04 35.750 + 288 6.450119e-04 35.875 + 289 1.089096e-03 36.000 + 290 1.076583e-03 36.125 + 291 8.824059e-04 36.250 + 292 8.331914e-04 36.375 + 293 7.689454e-04 36.500 + 294 1.111990e-03 36.625 + 295 1.195934e-03 36.750 + 296 1.312537e-03 36.875 + 297 1.469358e-03 37.000 + 298 1.233322e-03 37.125 + 299 7.126968e-04 37.250 + 300 7.363960e-04 37.375 + 301 5.392766e-04 37.500 + 302 6.374640e-04 37.625 + 303 9.722595e-04 37.750 + 304 1.342192e-03 37.875 + 305 1.556538e-03 38.000 + 306 8.012583e-04 38.125 + 307 1.108521e-03 38.250 + 308 9.010225e-04 38.375 + 309 6.261573e-04 38.500 + 310 9.121477e-04 38.625 + 311 1.073865e-03 38.750 + 312 1.123101e-03 38.875 + 313 1.085285e-03 39.000 + 314 1.303911e-03 39.125 + 315 9.327531e-04 39.250 + 316 7.733434e-04 39.375 + 317 6.747868e-03 39.500 + 318 8.294341e-03 39.625 + 319 1.010577e-03 39.750 + 320 5.211928e-04 39.875 + 321 9.871972e-04 40.000 + 322 1.120430e-03 40.125 + 323 1.392373e-03 40.250 + 324 9.598290e-04 40.375 + 325 7.723921e-04 40.500 + 326 9.327594e-04 40.625 + 327 8.247331e-04 40.750 + 328 1.236835e-03 40.875 + 329 9.707318e-04 41.000 + 330 5.955380e-04 41.125 + 331 7.919070e-04 41.250 + 332 7.548288e-04 41.375 + 333 8.044091e-04 41.500 + 334 1.554816e-03 41.625 + 335 1.618430e-03 41.750 + 336 1.154133e-03 41.875 + 337 9.380583e-04 42.000 + 338 8.177045e-04 42.125 + 339 7.225112e-04 42.250 + 340 7.514256e-04 42.375 + 341 9.273699e-04 42.500 + 342 1.190233e-03 42.625 + 343 1.534831e-03 42.750 + 344 9.451674e-04 42.875 + 345 9.078288e-04 43.000 + 346 8.585512e-04 43.125 + 347 1.282409e-03 43.250 + 348 1.146050e-03 43.375 + 349 9.220729e-04 43.500 + 350 7.811874e-04 43.625 + 351 8.760305e-04 43.750 + 352 9.102320e-04 43.875 + 353 1.068229e-03 44.000 + 354 6.851441e-04 44.125 + 355 8.239830e-04 44.250 + 356 1.471905e-03 44.375 + 357 1.303566e-03 44.500 + 358 6.890191e-04 44.625 + 359 1.723398e-03 44.750 + 360 3.549857e-03 44.875 + 361 8.291271e-04 45.000 + 362 8.520283e-04 45.125 + 363 1.222297e-03 45.250 + 364 8.304277e-04 45.375 + 365 1.320704e-03 45.500 + 366 1.108607e-03 45.625 + 367 1.491378e-03 45.750 + 368 9.278140e-04 45.875 + 369 3.161194e-04 46.000 + 370 6.294412e-04 46.125 + 371 1.178653e-03 46.250 + 372 8.624381e-04 46.375 + 373 8.141488e-04 46.500 + 374 7.520676e-04 46.625 + 375 7.086914e-04 46.750 + 376 8.726959e-04 46.875 + 377 1.179269e-03 47.000 + 378 1.116966e-03 47.125 + 379 1.135755e-03 47.250 + 380 1.294726e-03 47.375 + 381 1.544077e-03 47.500 + 382 1.052029e-03 47.625 + 383 1.129939e-03 47.750 + 384 1.101788e-03 47.875 + 385 9.920228e-04 48.000 + 386 6.011624e-04 48.125 + 387 7.852639e-04 48.250 + 388 1.318963e-03 48.375 + 389 1.224847e-03 48.500 + 390 1.512009e-03 48.625 + 391 1.260789e-03 48.750 + 392 1.508756e-03 48.875 + 393 1.324707e-03 49.000 + 394 8.932699e-04 49.125 + 395 1.053184e-03 49.250 + 396 8.922755e-04 49.375 + 397 6.965202e-04 49.500 + 398 9.297313e-04 49.625 + 399 6.397855e-04 49.750 + 400 5.668209e-01 49.875 + 401 3.276204e+00 50.000 + 402 6.381195e-01 50.125 + 403 1.241098e-03 50.250 + 404 1.092342e-03 50.375 + 405 8.565131e-04 50.500 + 406 6.689045e-04 50.625 + 407 9.985894e-04 50.750 + 408 8.310701e-04 50.875 + 409 6.540961e-04 51.000 + 410 6.554351e-04 51.125 + 411 6.118143e-04 51.250 + 412 9.917856e-04 51.375 + 413 1.041494e-03 51.500 + 414 1.120307e-03 51.625 + 415 1.126204e-03 51.750 + 416 7.726281e-04 51.875 + 417 8.463637e-04 52.000 + 418 6.729449e-04 52.125 + 419 8.158202e-04 52.250 + 420 8.177795e-04 52.375 + 421 9.241413e-04 52.500 + 422 6.958095e-04 52.625 + 423 9.696324e-04 52.750 + 424 7.331139e-04 52.875 + 425 8.635223e-04 53.000 + 426 8.550659e-04 53.125 + 427 8.453400e-04 53.250 + 428 8.327475e-04 53.375 + 429 9.223628e-04 53.500 + 430 1.021085e-03 53.625 + 431 8.415787e-04 53.750 + 432 5.455954e-04 53.875 + 433 9.891537e-04 54.000 + 434 1.406839e-03 54.125 + 435 8.111856e-04 54.250 + 436 4.255590e-04 54.375 + 437 6.575788e-04 54.500 + 438 8.808441e-04 54.625 + 439 1.071443e-03 54.750 + 440 1.331713e-03 54.875 + 441 7.825518e-04 55.000 + 442 9.505100e-04 55.125 + 443 1.382658e-03 55.250 + 444 1.211025e-03 55.375 + 445 9.538553e-04 55.500 + 446 8.243180e-04 55.625 + 447 1.064199e-03 55.750 + 448 1.159994e-03 55.875 + 449 2.396678e-03 56.000 + 450 1.004280e-03 56.125 + 451 5.806614e-04 56.250 + 452 1.096877e-03 56.375 + 453 1.441770e-03 56.500 + 454 1.155532e-03 56.625 + 455 1.058773e-03 56.750 + 456 7.268823e-04 56.875 + 457 1.101029e-03 57.000 + 458 9.868875e-04 57.125 + 459 8.007550e-04 57.250 + 460 6.514307e-04 57.375 + 461 8.550853e-04 57.500 + 462 1.118704e-03 57.625 + 463 7.642425e-04 57.750 + 464 8.550504e-04 57.875 + 465 9.002753e-04 58.000 + 466 7.667966e-04 58.125 + 467 1.147990e-03 58.250 + 468 8.074039e-04 58.375 + 469 5.787997e-04 58.500 + 470 7.805654e-04 58.625 + 471 1.190053e-03 58.750 + 472 8.102426e-04 58.875 + 473 4.399344e-04 59.000 + 474 7.716017e-04 59.125 + 475 9.235101e-04 59.250 + 476 1.110865e-03 59.375 + 477 8.883068e-04 59.500 + 478 9.056373e-04 59.625 + 479 1.035314e-03 59.750 + 480 6.867245e-04 59.875 + 481 1.038781e-03 60.000 + 482 5.210810e-04 60.125 + 483 7.623693e-04 60.250 + 484 1.190599e-03 60.375 + 485 8.353989e-04 60.500 + 486 7.568492e-04 60.625 + 487 8.511026e-04 60.750 + 488 6.200174e-04 60.875 + 489 5.991868e-04 61.000 + 490 1.249971e-03 61.125 + 491 1.224708e-03 61.250 + 492 5.925073e-04 61.375 + 493 3.964875e-04 61.500 + 494 4.976471e-04 61.625 + 495 8.512915e-04 61.750 + 496 1.185620e-03 61.875 + 497 1.860973e-03 62.000 + 498 8.528425e-04 62.125 + 499 6.267554e-04 62.250 + 500 7.364954e-04 62.375 + 501 6.713803e-04 62.500 + 502 6.328344e-04 62.625 + 503 5.142382e-04 62.750 + 504 4.827528e-04 62.875 + 505 8.581867e-04 63.000 + 506 7.528506e-04 63.125 + 507 5.113863e-04 63.250 + 508 9.777818e-04 63.375 + 509 9.513350e-04 63.500 + 510 7.031668e-04 63.625 + 511 5.904636e-04 63.750 + 512 9.974109e-04 63.875 + 513 1.101834e-03 64.000 + 514 7.489162e-04 64.125 + 515 1.084816e-03 64.250 + 516 1.036351e-03 64.375 + 517 6.450353e-04 64.500 + 518 6.289380e-04 64.625 + 519 7.529428e-04 64.750 + 520 5.189120e-04 64.875 + 521 7.080150e-04 65.000 + 522 6.600976e-04 65.125 + 523 6.353721e-04 65.250 + 524 6.098748e-04 65.375 + 525 5.320925e-04 65.500 + 526 5.380814e-04 65.625 + 527 8.560270e-04 65.750 + 528 1.541223e-03 65.875 + 529 1.253937e-03 66.000 + 530 7.754750e-04 66.125 + 531 6.310405e-04 66.250 + 532 7.166478e-04 66.375 + 533 8.908690e-04 66.500 + 534 7.321828e-04 66.625 + 535 1.173692e-03 66.750 + 536 8.452883e-04 66.875 + 537 9.830414e-04 67.000 + 538 1.002155e-03 67.125 + 539 6.003448e-04 67.250 + 540 3.894962e-04 67.375 + 541 5.078994e-04 67.500 + 542 6.396046e-04 67.625 + 543 9.847609e-04 67.750 + 544 9.487027e-04 67.875 + 545 8.827025e-04 68.000 + 546 6.590870e-04 68.125 + 547 8.572836e-04 68.250 + 548 5.087298e-04 68.375 + 549 8.056229e-04 68.500 + 550 9.167893e-04 68.625 + 551 6.948485e-04 68.750 + 552 6.924406e-04 68.875 + 553 6.076852e-04 69.000 + 554 7.980864e-04 69.125 + 555 1.109527e-03 69.250 + 556 9.445289e-04 69.375 + 557 9.164712e-04 69.500 + 558 9.934705e-04 69.625 + 559 7.773154e-04 69.750 + 560 8.199045e-04 69.875 + 561 3.627602e-04 70.000 + 562 8.511259e-04 70.125 + 563 6.429254e-04 70.250 + 564 7.213028e-04 70.375 + 565 1.253488e-03 70.500 + 566 9.209953e-04 70.625 + 567 1.287857e-03 70.750 + 568 1.087600e-03 70.875 + 569 1.091010e-03 71.000 + 570 8.626479e-04 71.125 + 571 8.827632e-04 71.250 + 572 7.327681e-04 71.375 + 573 6.217424e-04 71.500 + 574 5.813730e-04 71.625 + 575 6.512068e-04 71.750 + 576 4.709178e-04 71.875 + 577 4.168558e-04 72.000 + 578 5.373792e-04 72.125 + 579 8.168062e-04 72.250 + 580 8.772233e-04 72.375 + 581 8.850598e-04 72.500 + 582 1.170985e-03 72.625 + 583 7.543414e-04 72.750 + 584 8.529260e-04 72.875 + 585 1.059972e-03 73.000 + 586 6.683066e-04 73.125 + 587 4.671611e-04 73.250 + 588 5.676553e-04 73.375 + 589 8.062766e-04 73.500 + 590 1.026054e-03 73.625 + 591 9.595910e-04 73.750 + 592 1.029108e-03 73.875 + 593 1.187917e-03 74.000 + 594 9.061986e-04 74.125 + 595 7.960324e-04 74.250 + 596 3.991060e-04 74.375 + 597 5.785344e-04 74.500 + 598 7.825356e-04 74.625 + 599 5.720838e-04 74.750 + 600 7.392984e-04 74.875 + 601 1.152984e-03 75.000 + 602 9.948174e-04 75.125 + 603 9.524766e-04 75.250 + 604 1.288527e-03 75.375 + 605 1.317198e-03 75.500 + 606 1.750537e-03 75.625 + 607 1.339497e-03 75.750 + 608 6.939401e-04 75.875 + 609 8.421805e-04 76.000 + 610 7.673550e-04 76.125 + 611 7.059492e-04 76.250 + 612 5.527778e-04 76.375 + 613 6.832386e-04 76.500 + 614 6.480127e-04 76.625 + 615 6.438088e-04 76.750 + 616 7.627137e-04 76.875 + 617 3.805808e-04 77.000 + 618 5.233735e-04 77.125 + 619 9.660342e-04 77.250 + 620 5.112153e-04 77.375 + 621 7.837785e-04 77.500 + 622 1.013123e-03 77.625 + 623 1.126761e-03 77.750 + 624 9.391009e-04 77.875 + 625 6.024485e-04 78.000 + 626 7.223646e-04 78.125 + 627 8.866903e-04 78.250 + 628 6.682430e-04 78.375 + 629 8.676323e-04 78.500 + 630 7.538697e-04 78.625 + 631 1.269223e-03 78.750 + 632 1.155408e-03 78.875 + 633 1.108914e-03 79.000 + 634 8.497874e-04 79.125 + 635 9.193302e-04 79.250 + 636 8.946365e-04 79.375 + 637 9.221008e-04 79.500 + 638 8.705933e-04 79.625 + 639 6.750163e-04 79.750 + 640 7.961088e-04 79.875 + 641 5.783617e-04 80.000 + 642 4.917270e-04 80.125 + 643 6.526879e-04 80.250 + 644 6.254641e-04 80.375 + 645 7.173798e-04 80.500 + 646 8.921269e-04 80.625 + 647 6.512595e-04 80.750 + 648 5.402565e-04 80.875 + 649 5.826622e-04 81.000 + 650 6.076707e-04 81.125 + 651 6.268558e-04 81.250 + 652 4.941666e-04 81.375 + 653 7.191469e-04 81.500 + 654 1.330867e-03 81.625 + 655 1.111961e-03 81.750 + 656 1.178334e-03 81.875 + 657 2.651523e-03 82.000 + 658 2.328158e-03 82.125 + 659 7.325560e-04 82.250 + 660 1.073750e-03 82.375 + 661 9.509981e-04 82.500 + 662 1.099119e-03 82.625 + 663 9.823858e-04 82.750 + 664 9.733215e-04 82.875 + 665 8.825360e-04 83.000 + 666 7.566404e-04 83.125 + 667 7.846862e-04 83.250 + 668 8.286242e-04 83.375 + 669 9.156542e-04 83.500 + 670 9.572832e-04 83.625 + 671 7.969413e-04 83.750 + 672 7.569140e-04 83.875 + 673 6.303797e-04 84.000 + 674 1.018261e-03 84.125 + 675 7.278281e-04 84.250 + 676 1.049820e-03 84.375 + 677 1.152610e-03 84.500 + 678 8.335586e-04 84.625 + 679 7.648939e-04 84.750 + 680 1.458609e-03 84.875 + 681 1.024628e-03 85.000 + 682 7.348986e-04 85.125 + 683 5.906037e-04 85.250 + 684 6.770131e-04 85.375 + 685 8.701195e-04 85.500 + 686 9.470327e-04 85.625 + 687 7.392094e-04 85.750 + 688 6.504803e-04 85.875 + 689 6.682294e-04 86.000 + 690 8.255495e-04 86.125 + 691 9.312695e-04 86.250 + 692 4.846878e-04 86.375 + 693 8.069891e-04 86.500 + 694 7.609865e-04 86.625 + 695 7.948741e-04 86.750 + 696 8.109314e-04 86.875 + 697 1.107841e-03 87.000 + 698 6.714154e-04 87.125 + 699 5.390996e-04 87.250 + 700 5.381888e-04 87.375 + 701 6.006818e-04 87.500 + 702 8.447741e-04 87.625 + 703 9.270118e-04 87.750 + 704 6.916264e-04 87.875 + 705 7.133005e-04 88.000 + 706 5.904293e-04 88.125 + 707 6.452629e-04 88.250 + 708 4.464900e-04 88.375 + 709 5.340529e-04 88.500 + 710 6.574813e-04 88.625 + 711 1.213352e-03 88.750 + 712 8.464367e-04 88.875 + 713 9.523834e-04 89.000 + 714 1.014586e-03 89.125 + 715 1.079045e-03 89.250 + 716 1.061080e-03 89.375 + 717 1.240615e-03 89.500 + 718 9.348444e-04 89.625 + 719 9.945931e-04 89.750 + 720 8.540237e-04 89.875 + 721 8.979042e-04 90.000 + 722 1.351093e-03 90.125 + 723 8.563549e-04 90.250 + 724 1.009916e-03 90.375 + 725 7.424718e-04 90.500 + 726 4.308862e-04 90.625 + 727 4.137587e-04 90.750 + 728 9.030185e-04 90.875 + 729 7.412410e-04 91.000 + 730 3.134862e-04 91.125 + 731 5.519596e-04 91.250 + 732 5.513916e-04 91.375 + 733 6.732363e-04 91.500 + 734 7.316352e-04 91.625 + 735 5.229150e-04 91.750 + 736 7.380810e-04 91.875 + 737 6.973973e-04 92.000 + 738 1.366113e-03 92.125 + 739 1.767101e-03 92.250 + 740 9.358743e-04 92.375 + 741 8.358782e-04 92.500 + 742 6.494960e-04 92.625 + 743 7.279452e-04 92.750 + 744 6.589297e-04 92.875 + 745 6.558004e-04 93.000 + 746 6.758568e-04 93.125 + 747 7.885912e-04 93.250 + 748 6.849448e-04 93.375 + 749 8.035898e-04 93.500 + 750 5.652020e-04 93.625 + 751 9.311205e-04 93.750 + 752 6.957758e-03 93.875 + 753 4.192558e-02 94.000 + 754 1.403417e-02 94.125 + 755 5.919463e-04 94.250 + 756 8.257283e-04 94.375 + 757 1.004994e-03 94.500 + 758 7.725668e-04 94.625 + 759 6.283737e-04 94.750 + 760 4.811365e-04 94.875 + 761 8.759343e-04 95.000 + 762 9.026800e-04 95.125 + 763 9.156425e-04 95.250 + 764 7.618998e-04 95.375 + 765 7.664764e-04 95.500 + 766 1.168115e-03 95.625 + 767 9.296806e-04 95.750 + 768 1.270330e-03 95.875 + 769 8.564214e-04 96.000 + 770 8.915210e-04 96.125 + 771 1.057710e-03 96.250 + 772 7.355974e-04 96.375 + 773 8.596772e-04 96.500 + 774 7.389688e-04 96.625 + 775 9.956227e-04 96.750 + 776 7.272124e-04 96.875 + 777 7.801776e-04 97.000 + 778 6.215396e-04 97.125 + 779 1.055187e-03 97.250 + 780 1.508812e-03 97.375 + 781 1.035505e-03 97.500 + 782 9.242821e-04 97.625 + 783 8.077128e-04 97.750 + 784 1.290471e-03 97.875 + 785 1.217979e-03 98.000 + 786 7.292327e-04 98.125 + 787 8.199270e-04 98.250 + 788 7.623303e-04 98.375 + 789 7.181577e-04 98.500 + 790 8.044787e-04 98.625 + 791 1.413085e-03 98.750 + 792 9.377019e-04 98.875 + 793 4.214880e-04 99.000 + 794 6.626069e-04 99.125 + 795 1.225462e-03 99.250 + 796 1.292136e-03 99.375 + 797 5.932900e-04 99.500 + 798 6.113490e-04 99.625 + 799 7.971861e-04 99.750 + 800 9.862262e-03 99.875 + 801 5.699318e-02 100.000 + 802 1.176151e-02 100.125 + 803 9.800729e-04 100.250 + 804 5.852572e-04 100.375 + 805 7.326730e-04 100.500 + 806 1.043867e-03 100.625 + 807 5.729277e-04 100.750 + 808 8.743892e-04 100.875 + 809 6.086411e-04 101.000 + 810 6.652116e-04 101.125 + 811 5.217550e-04 101.250 + 812 7.309544e-04 101.375 + 813 6.360276e-04 101.500 + 814 6.106016e-04 101.625 + 815 8.210962e-04 101.750 + 816 6.938790e-04 101.875 + 817 5.824870e-04 102.000 + 818 8.030788e-04 102.125 + 819 7.011558e-04 102.250 + 820 5.475106e-04 102.375 + 821 5.081048e-04 102.500 + 822 1.987565e-03 102.625 + 823 1.020293e-03 102.750 + 824 4.825313e-04 102.875 + 825 7.333186e-04 103.000 + 826 7.898872e-04 103.125 + 827 8.072682e-04 103.250 + 828 4.200093e-04 103.375 + 829 7.424528e-04 103.500 + 830 5.212732e-04 103.625 + 831 7.784798e-04 103.750 + 832 6.956168e-04 103.875 + 833 5.167449e-04 104.000 + 834 8.718256e-04 104.125 + 835 6.263138e-04 104.250 + 836 7.828086e-04 104.375 + 837 7.949049e-04 104.500 + 838 5.251724e-04 104.625 + 839 9.251227e-04 104.750 + 840 1.171004e-03 104.875 + 841 7.846716e-04 105.000 + 842 6.716345e-04 105.125 + 843 6.206006e-04 105.250 + 844 5.902343e-04 105.375 + 845 5.909289e-04 105.500 + 846 8.710333e-04 105.625 + 847 9.293023e-04 105.750 + 848 7.857287e-03 105.875 + 849 3.380912e-02 106.000 + 850 6.687690e-03 106.125 + 851 8.808996e-04 106.250 + 852 4.423133e-04 106.375 + 853 9.179316e-04 106.500 + 854 4.562098e-04 106.625 + 855 6.261131e-04 106.750 + 856 6.519151e-04 106.875 + 857 4.098490e-04 107.000 + 858 4.962867e-04 107.125 + 859 4.985531e-04 107.250 + 860 5.960805e-04 107.375 + 861 9.165513e-04 107.500 + 862 1.656957e-03 107.625 + 863 7.144964e-04 107.750 + 864 5.920484e-04 107.875 + 865 8.670029e-04 108.000 + 866 9.302893e-04 108.125 + 867 7.953591e-04 108.250 + 868 7.184405e-04 108.375 + 869 6.112618e-04 108.500 + 870 1.062293e-03 108.625 + 871 1.020062e-03 108.750 + 872 6.166476e-04 108.875 + 873 5.841879e-04 109.000 + 874 3.179769e-04 109.125 + 875 4.324764e-04 109.250 + 876 7.775952e-04 109.375 + 877 1.091443e-03 109.500 + 878 8.862353e-04 109.625 + 879 7.710339e-04 109.750 + 880 4.839106e-04 109.875 + 881 1.004136e-03 110.000 + 882 1.018122e-03 110.125 + 883 4.974724e-04 110.250 + 884 6.096498e-04 110.375 + 885 4.500941e-04 110.500 + 886 6.731335e-04 110.625 + 887 8.188474e-04 110.750 + 888 6.710289e-04 110.875 + 889 8.537438e-04 111.000 + 890 9.271074e-04 111.125 + 891 5.733394e-04 111.250 + 892 6.945313e-04 111.375 + 893 6.397338e-04 111.500 + 894 4.908805e-04 111.625 + 895 8.876692e-04 111.750 + 896 1.452711e-03 111.875 + 897 2.000369e-03 112.000 + 898 7.529482e-04 112.125 + 899 5.245061e-04 112.250 + 900 7.083124e-04 112.375 + 901 7.003461e-04 112.500 + 902 6.697087e-04 112.625 + 903 5.889753e-04 112.750 + 904 5.957844e-04 112.875 + 905 8.485014e-04 113.000 + 906 1.073263e-03 113.125 + 907 9.272094e-04 113.250 + 908 8.683425e-04 113.375 + 909 6.010037e-04 113.500 + 910 7.439653e-04 113.625 + 911 1.136266e-03 113.750 + 912 5.931083e-04 113.875 + 913 6.811399e-04 114.000 + 914 4.786733e-04 114.125 + 915 5.100855e-04 114.250 + 916 5.661878e-04 114.375 + 917 9.182204e-04 114.500 + 918 1.044358e-03 114.625 + 919 1.007262e-03 114.750 + 920 6.716526e-04 114.875 + 921 7.924856e-04 115.000 + 922 1.148917e-03 115.125 + 923 8.770371e-04 115.250 + 924 5.262237e-04 115.375 + 925 6.573277e-04 115.500 + 926 5.066156e-04 115.625 + 927 5.929831e-04 115.750 + 928 7.048198e-04 115.875 + 929 1.047581e-03 116.000 + 930 5.786502e-04 116.125 + 931 7.421455e-04 116.250 + 932 5.713791e-04 116.375 + 933 7.671034e-04 116.500 + 934 1.054442e-03 116.625 + 935 5.158091e-04 116.750 + 936 6.372229e-04 116.875 + 937 9.250788e-04 117.000 + 938 1.026258e-03 117.125 + 939 8.500445e-04 117.250 + 940 6.923832e-04 117.375 + 941 6.943245e-04 117.500 + 942 6.207282e-04 117.625 + 943 9.616316e-04 117.750 + 944 4.939930e-03 117.875 + 945 6.493032e-03 118.000 + 946 2.251820e-03 118.125 + 947 1.122743e-03 118.250 + 948 1.132052e-03 118.375 + 949 8.995529e-04 118.500 + 950 8.563855e-04 118.625 + 951 7.619127e-04 118.750 + 952 8.947897e-04 118.875 + 953 6.165664e-04 119.000 + 954 6.141465e-04 119.125 + 955 7.297970e-04 119.250 + 956 6.371368e-04 119.375 + 957 8.803963e-04 119.500 + 958 7.327956e-04 119.625 + 959 8.553005e-04 119.750 + 960 7.713438e-04 119.875 + 961 5.239256e-04 120.000 + 962 7.494214e-04 120.125 + 963 7.267016e-04 120.250 + 964 7.560726e-04 120.375 + 965 1.004053e-03 120.500 + 966 8.033694e-04 120.625 + 967 5.437983e-04 120.750 + 968 5.543346e-04 120.875 + 969 4.989980e-04 121.000 + 970 7.935305e-04 121.125 + 971 1.044053e-03 121.250 + 972 7.408188e-04 121.375 + 973 1.339369e-03 121.500 + 974 8.540334e-04 121.625 + 975 6.373171e-04 121.750 + 976 6.242628e-04 121.875 + 977 8.518905e-04 122.000 + 978 9.662211e-04 122.125 + 979 6.000924e-04 122.250 + 980 3.826588e-04 122.375 + 981 6.888878e-04 122.500 + 982 7.188348e-04 122.625 + 983 4.210564e-04 122.750 + 984 6.391678e-04 122.875 + 985 6.385331e-04 123.000 + 986 8.897124e-04 123.125 + 987 1.253232e-03 123.250 + 988 6.455220e-04 123.375 + 989 6.971195e-04 123.500 + 990 7.602954e-04 123.625 + 991 4.661418e-04 123.750 + 992 3.772672e-04 123.875 + 993 5.368465e-04 124.000 + 994 9.971160e-04 124.125 + 995 1.742978e-03 124.250 + 996 1.121469e-03 124.375 + 997 5.447592e-04 124.500 + 998 8.899532e-04 124.625 + 999 1.012241e-03 124.750 + 1000 9.743344e-04 124.875 + 1001 1.108238e-03 125.000 + 1002 7.341033e-04 125.125 + 1003 5.326928e-04 125.250 + 1004 8.480415e-04 125.375 + 1005 9.853112e-04 125.500 + 1006 9.048260e-04 125.625 + 1007 6.216200e-04 125.750 + 1008 7.270578e-04 125.875 + 1009 1.037811e-03 126.000 + 1010 1.051070e-03 126.125 + 1011 9.597064e-04 126.250 + 1012 5.487617e-04 126.375 + 1013 5.702141e-04 126.500 + 1014 7.221632e-04 126.625 + 1015 8.595452e-04 126.750 + 1016 8.224610e-04 126.875 + 1017 1.017182e-03 127.000 + 1018 7.637607e-04 127.125 + 1019 3.390765e-04 127.250 + 1020 3.941629e-04 127.375 + 1021 4.003191e-04 127.500 + 1022 6.738781e-04 127.625 + 1023 1.156066e-03 127.750 + 1024 6.056859e-04 127.875 + 1025 3.156177e-04 128.000 + +--- + + Code + compute_psd(test_epo) + Message + Removing channel means per epoch... + Computing Power Spectral Density using Welch's method. + FFT length: 256 + Segment length: 256 + Overlapping points: 128 (50% overlap) + Output + epoch A1 A2 A3 A4 A5 + 1 1 3.476645e+00 1.317313e+00 1.402858e+00 1.434176e+00 1.281784e+00 + 2 1 5.461905e+02 2.096307e+02 2.105879e+02 2.107483e+02 2.094095e+02 + 3 1 8.604075e+02 3.293640e+02 3.328124e+02 3.326709e+02 3.308861e+02 + 4 1 3.479710e+01 1.329431e+01 1.388855e+01 1.368254e+01 1.327398e+01 + 5 1 2.637980e-02 1.241585e-02 2.933199e-03 1.042372e-02 1.643615e-02 + 6 1 9.659881e-02 4.854746e-02 4.176531e-02 3.837521e-02 3.286368e-02 + 7 1 2.473381e-01 9.195832e-02 8.262106e-02 9.784023e-02 1.017923e-01 + 8 1 9.616222e-01 3.711467e-01 3.840212e-01 3.784480e-01 3.529924e-01 + 9 1 1.501022e-01 3.907517e-02 4.479998e-02 5.681542e-02 3.445868e-02 + 10 1 3.346194e-02 1.752712e-02 1.427129e-02 1.063105e-02 1.677114e-02 + 11 1 6.378304e-02 1.988551e-02 2.091575e-02 2.834259e-02 2.013047e-02 + 12 1 3.212922e-02 1.543975e-02 1.859839e-02 2.128644e-02 1.576475e-02 + 13 1 2.987606e-02 1.796111e-02 1.313689e-02 1.655062e-02 2.083143e-02 + 14 1 3.076216e-02 1.370652e-02 2.013369e-02 1.645150e-02 1.494575e-02 + 15 1 2.675262e-02 8.181249e-03 9.007161e-03 4.660968e-03 1.068940e-02 + 16 1 1.359611e-02 1.443263e-02 7.691544e-03 1.832540e-02 1.365984e-02 + 17 1 1.891154e-02 6.069412e-03 6.912607e-03 4.223637e-03 5.626696e-03 + 18 1 1.126269e-02 4.176882e-03 4.090153e-03 5.647715e-03 6.937676e-03 + 19 1 1.625951e-02 1.155715e-02 9.087492e-03 6.839736e-03 8.361609e-03 + 20 1 1.606167e-02 3.340751e-03 5.411146e-03 7.571088e-03 2.440640e-03 + 21 1 8.970909e-03 7.886397e-03 6.547860e-03 6.931621e-03 7.123745e-03 + 22 1 1.326102e-02 3.385130e-03 3.733492e-03 6.181221e-03 2.999868e-03 + 23 1 6.397967e-03 4.491298e-03 4.990313e-03 2.715699e-03 2.913760e-03 + 24 1 2.588956e-02 3.676911e-03 2.388771e-03 3.534749e-03 3.738019e-03 + 25 1 5.489716e-03 2.861841e-03 7.458444e-03 5.139516e-03 2.793513e-03 + 26 1 9.715965e-03 3.636986e-03 3.464339e-03 2.211374e-03 3.342638e-03 + 27 1 4.611430e-03 3.213844e-03 3.336500e-03 3.206994e-03 3.640983e-03 + 28 1 9.754664e-03 3.249615e-03 3.331237e-03 2.951523e-03 1.671847e-03 + 29 1 4.941772e-03 2.839067e-03 4.327682e-03 5.460502e-03 6.088360e-03 + 30 1 1.163325e-02 2.778830e-03 1.903847e-03 2.253528e-03 1.739828e-03 + 31 1 4.091437e-03 3.790233e-03 2.761915e-03 4.394418e-03 3.543708e-03 + 32 1 7.319578e-03 1.359853e-03 1.746222e-03 2.300923e-03 1.867060e-03 + 33 1 8.260614e-03 1.646859e-03 2.978159e-03 1.096993e-03 2.835162e-03 + 34 1 9.392195e-03 4.638306e-03 4.265807e-03 4.389364e-03 5.064122e-03 + 35 1 1.457817e-02 2.083114e-03 1.462697e-03 7.534803e-04 2.735041e-03 + 36 1 2.706806e-03 4.240171e-03 3.876920e-03 3.654709e-03 3.968099e-03 + 37 1 3.807323e-03 2.564398e-03 1.149730e-03 2.140919e-03 1.951341e-03 + 38 1 3.916674e-03 1.993419e-03 1.460293e-03 2.150707e-03 3.283405e-03 + 39 1 8.123343e-03 3.083026e-03 2.881347e-03 2.342028e-03 2.430147e-03 + 40 1 5.505424e-03 1.430903e-03 1.463327e-03 3.037294e-03 1.367713e-03 + 41 1 5.253460e-03 1.964771e-03 1.659141e-03 3.034469e-03 3.026671e-03 + 42 1 2.763180e-03 3.022182e-03 2.268977e-03 9.370829e-04 2.505126e-03 + 43 1 3.707552e-03 2.829158e-03 1.550212e-03 1.743784e-03 3.390326e-03 + 44 1 3.426849e-03 4.911934e-04 2.261957e-03 1.754827e-03 1.645250e-03 + 45 1 3.758869e-03 2.179563e-03 1.327152e-03 3.285319e-03 1.689535e-03 + 46 1 2.910781e-03 1.050240e-03 3.308273e-03 2.408246e-03 1.282110e-03 + 47 1 2.841775e-03 1.905703e-03 9.029223e-04 1.906454e-03 2.263306e-03 + 48 1 2.625168e-03 1.411457e-03 2.500918e-03 1.692223e-03 1.853827e-03 + 49 1 1.440912e-01 6.667729e-02 6.844063e-02 7.643359e-02 6.774312e-02 + 50 1 8.499224e-01 3.859712e-01 3.747965e-01 3.959014e-01 3.829460e-01 + 51 1 1.803185e-01 7.849557e-02 7.507282e-02 7.793887e-02 7.842975e-02 + 52 1 2.293532e-03 2.161781e-03 2.919335e-03 2.665791e-03 2.731067e-03 + 53 1 5.447738e-03 1.855704e-03 2.481042e-03 2.107165e-03 1.563321e-03 + 54 1 3.996365e-03 1.176725e-03 1.188586e-03 1.077078e-03 2.284022e-03 + 55 1 4.666591e-03 2.892344e-03 3.606505e-03 1.181626e-03 4.687713e-03 + 56 1 6.960126e-03 1.825954e-03 1.804176e-03 2.579731e-03 3.408524e-03 + 57 1 2.591296e-03 3.895383e-03 2.350626e-03 1.754940e-03 2.524120e-03 + 58 1 3.938205e-03 7.196002e-04 8.904409e-04 1.115105e-03 1.380801e-03 + 59 1 2.309543e-03 1.116852e-03 2.230729e-03 8.032261e-04 1.518775e-03 + 60 1 3.769549e-03 9.083695e-04 2.191997e-04 1.239181e-03 7.245599e-04 + 61 1 1.622810e-03 2.192494e-03 4.062601e-03 1.711417e-03 2.175586e-03 + 62 1 4.886685e-03 1.355081e-03 1.631649e-03 1.584804e-03 2.808717e-03 + 63 1 3.314514e-03 3.678887e-03 3.514819e-03 1.258166e-03 3.150151e-03 + 64 1 3.032963e-03 1.011174e-03 1.098730e-03 8.366943e-04 2.251477e-03 + 65 1 8.088800e-04 1.731775e-03 3.133817e-03 1.495330e-03 2.857808e-03 + 66 1 5.006823e-03 1.610055e-03 1.632590e-03 9.349688e-04 5.462492e-04 + 67 1 2.529541e-03 8.194309e-04 1.232624e-03 1.080758e-03 7.825342e-04 + 68 1 1.203421e-03 1.462307e-03 3.245891e-03 4.237504e-03 4.795916e-03 + 69 1 2.949808e-03 2.475463e-03 1.994224e-03 7.116312e-04 8.744072e-04 + 70 1 3.409171e-03 1.139501e-03 1.754094e-03 1.583658e-03 1.138409e-03 + 71 1 1.673263e-03 1.145944e-03 1.852845e-03 8.199641e-04 2.079229e-03 + 72 1 7.284988e-03 1.250711e-03 2.231981e-03 8.769287e-04 1.039195e-03 + 73 1 9.970475e-04 3.233089e-03 3.398152e-03 3.380789e-03 2.236434e-03 + 74 1 3.985236e-03 9.811671e-04 5.429302e-04 5.784702e-04 9.104809e-04 + 75 1 1.584041e-03 2.831293e-03 2.597979e-03 1.374417e-03 1.982038e-03 + 76 1 6.608312e-03 4.123863e-04 3.410798e-04 8.764264e-04 8.234803e-04 + 77 1 9.607740e-04 2.043189e-03 1.988792e-03 1.607147e-03 1.324203e-03 + 78 1 1.764459e-03 8.717570e-04 6.063480e-05 8.225811e-04 1.074335e-04 + 79 1 3.820093e-03 1.203799e-04 1.867002e-03 1.817426e-04 1.341972e-03 + 80 1 7.142239e-04 2.411254e-03 1.505927e-03 2.922855e-03 8.229682e-04 + 81 1 2.759018e-03 2.546624e-04 1.106075e-03 2.161696e-03 6.581948e-04 + 82 1 3.793231e-03 5.217021e-04 8.021972e-04 6.535929e-04 8.203295e-04 + 83 1 2.933281e-03 1.916711e-03 2.044581e-03 1.870706e-03 1.188251e-03 + 84 1 2.085236e-03 1.087957e-03 1.301885e-03 3.348450e-03 1.093422e-03 + 85 1 3.957018e-03 4.789265e-04 4.227645e-04 4.381920e-04 1.522747e-04 + 86 1 1.586912e-03 1.522803e-03 8.998678e-04 3.889079e-04 2.181519e-03 + 87 1 2.421467e-03 5.673915e-04 6.680930e-04 1.509614e-03 6.585785e-04 + 88 1 1.645807e-03 6.994854e-04 6.008691e-04 1.466091e-03 2.896168e-04 + 89 1 2.138105e-03 9.678227e-04 1.915865e-03 7.783800e-04 7.194444e-04 + 90 1 3.299755e-03 2.113711e-03 3.033492e-03 1.553127e-03 8.785834e-04 + 91 1 3.521381e-03 1.764064e-03 1.229484e-03 5.363189e-04 1.101755e-03 + 92 1 2.988250e-03 8.039813e-04 1.465116e-03 4.881789e-04 1.698554e-03 + 93 1 3.392729e-03 2.299684e-03 2.096843e-03 1.614469e-03 2.954580e-03 + 94 1 8.820719e-03 7.360064e-03 8.709877e-03 5.490345e-03 6.872304e-03 + 95 1 2.770670e-03 1.118415e-03 1.008681e-03 9.451243e-04 6.361165e-04 + 96 1 4.664692e-03 6.398719e-04 1.560179e-03 1.385080e-03 2.412090e-03 + 97 1 1.602177e-03 2.576115e-03 9.614098e-04 1.046551e-03 1.653306e-03 + 98 1 4.278924e-03 1.402660e-03 1.316219e-03 5.799467e-04 9.812124e-04 + 99 1 3.807736e-03 1.672222e-03 1.420937e-03 1.899131e-03 9.600555e-04 + 100 1 5.237120e-03 8.713434e-03 7.684222e-03 6.090447e-03 3.649986e-03 + 101 1 3.740501e-03 1.398924e-03 1.589249e-03 9.901127e-04 1.292976e-03 + 102 1 1.174278e-03 9.805545e-04 2.109846e-03 8.890940e-04 4.076162e-04 + 103 1 3.106719e-03 3.057122e-04 1.259585e-03 7.308193e-04 5.083455e-04 + 104 1 9.244879e-04 2.450827e-03 1.439332e-03 8.394108e-04 7.986889e-04 + 105 1 4.754490e-03 2.631492e-03 2.509150e-03 1.822197e-03 2.796264e-03 + 106 1 1.635154e-02 4.350801e-03 7.371367e-03 5.973621e-03 8.335337e-03 + 107 1 6.352676e-03 9.061022e-04 2.019245e-03 1.372482e-03 2.648691e-03 + 108 1 1.969210e-03 1.505846e-03 1.629634e-03 1.775103e-03 1.480228e-03 + 109 1 9.113945e-04 2.099508e-04 1.067233e-03 2.156594e-03 1.289697e-03 + 110 1 1.375598e-03 1.527246e-03 1.711886e-03 1.454285e-03 1.010524e-03 + 111 1 2.167201e-03 1.357163e-03 1.124247e-03 1.894243e-04 2.140976e-03 + 112 1 1.573311e-03 1.167693e-03 1.081901e-03 8.741318e-04 2.492344e-03 + 113 1 2.045098e-04 1.136508e-03 1.260673e-03 1.117986e-03 1.077140e-03 + 114 1 3.481021e-03 2.609446e-04 3.165935e-04 1.245971e-03 5.094462e-04 + 115 1 3.037940e-04 1.399881e-03 1.207336e-03 1.202682e-03 1.822720e-04 + 116 1 1.868859e-03 9.145714e-04 3.279616e-04 7.324358e-04 1.737478e-03 + 117 1 3.966750e-03 2.009333e-03 3.455377e-04 7.893326e-04 1.317961e-03 + 118 1 4.885766e-03 2.896185e-03 1.449423e-03 1.524424e-03 2.561946e-03 + 119 1 2.101909e-03 1.000947e-03 1.042020e-03 5.833682e-04 5.930131e-04 + 120 1 1.657630e-03 4.556869e-04 1.331117e-03 2.776741e-04 1.413073e-04 + 121 1 1.892096e-03 1.962501e-03 8.685893e-04 1.095140e-03 1.395039e-03 + 122 1 1.012644e-03 9.041283e-04 1.194823e-03 1.340325e-03 7.212358e-04 + 123 1 2.932898e-03 1.156298e-03 9.782830e-04 1.586211e-03 2.027830e-03 + 124 1 7.065381e-04 2.433448e-04 6.868539e-04 1.243931e-03 2.383691e-03 + 125 1 7.762497e-04 6.941246e-04 1.019374e-03 8.869401e-04 1.483907e-03 + 126 1 2.242209e-03 3.573252e-04 1.549228e-03 8.138475e-04 5.174697e-04 + 127 1 1.012343e-03 1.299122e-03 1.103816e-03 1.623379e-03 9.620503e-04 + 128 1 3.960800e-04 6.457694e-04 8.866583e-04 2.795748e-03 1.618544e-03 + 129 2 3.070011e+00 1.236702e+00 1.418715e+00 1.233360e+00 1.376252e+00 + 130 2 5.504962e+02 2.091134e+02 2.121931e+02 2.101852e+02 2.103996e+02 + 131 2 8.620207e+02 3.282140e+02 3.320571e+02 3.309025e+02 3.290885e+02 + 132 2 3.565324e+01 1.353970e+01 1.367213e+01 1.367289e+01 1.335698e+01 + 133 2 1.452308e-01 4.377182e-02 3.278176e-02 4.855934e-02 6.718175e-02 + 134 2 4.136347e-02 1.134381e-02 1.828070e-02 1.064941e-02 1.428817e-02 + 135 2 2.915260e-01 1.193858e-01 1.059161e-01 1.146457e-01 1.038746e-01 + 136 2 8.768931e-01 3.272272e-01 3.182547e-01 3.084858e-01 3.203730e-01 + 137 2 1.970187e-01 6.662255e-02 5.062845e-02 5.125666e-02 6.025785e-02 + 138 2 3.838223e-02 2.095612e-02 2.564772e-02 3.253646e-02 2.138023e-02 + 139 2 3.777338e-02 1.061812e-02 1.379308e-02 7.531624e-03 8.517150e-03 + 140 2 2.987418e-02 1.144193e-02 1.602341e-02 1.593022e-02 1.728182e-02 + 141 2 1.901643e-02 9.039561e-03 1.393459e-02 9.651366e-03 8.837384e-03 + 142 2 2.991135e-02 1.178700e-02 2.234765e-02 1.789487e-02 1.951932e-02 + 143 2 1.502821e-02 6.702954e-03 4.581371e-03 5.285267e-03 6.236941e-03 + 144 2 1.889969e-02 8.391406e-03 6.858324e-03 9.782725e-03 6.844652e-03 + 145 2 1.177722e-02 4.241734e-03 7.828642e-03 1.128837e-02 1.201722e-02 + 146 2 1.237273e-02 3.531724e-03 2.705362e-03 2.408733e-03 2.068565e-03 + 147 2 1.638277e-02 9.905127e-03 8.975461e-03 1.106678e-02 6.486517e-03 + 148 2 1.235727e-02 3.662593e-03 6.530740e-03 2.311937e-03 3.453141e-03 + 149 2 1.629197e-02 6.971989e-03 4.407824e-03 7.986387e-03 5.011412e-03 + 150 2 8.925899e-03 3.118489e-03 4.519014e-03 4.233158e-03 2.495009e-03 + 151 2 1.084934e-02 5.480227e-03 3.470491e-03 4.122390e-03 4.322234e-03 + 152 2 6.368061e-03 3.762692e-03 5.851500e-03 4.001861e-03 2.779608e-03 + 153 2 8.748094e-03 2.847415e-03 2.199099e-03 9.852558e-04 2.616421e-03 + 154 2 3.846332e-03 3.495754e-03 3.185001e-03 6.209564e-03 2.447731e-03 + 155 2 1.139957e-02 1.111024e-03 4.485446e-03 2.268420e-03 2.502548e-03 + 156 2 3.712905e-03 5.532865e-03 2.687845e-03 3.514966e-03 3.260142e-03 + 157 2 5.865973e-03 4.533513e-03 3.417233e-03 3.688579e-03 3.206510e-03 + 158 2 8.971066e-03 1.928916e-03 3.343413e-03 1.076154e-03 1.460223e-03 + 159 2 2.997104e-03 1.713732e-03 4.746832e-03 4.085919e-03 2.771738e-03 + 160 2 5.101075e-03 3.120517e-03 4.385524e-03 8.927317e-04 4.188659e-03 + 161 2 5.654154e-03 1.481420e-03 2.667078e-03 1.520663e-03 1.711791e-03 + 162 2 2.951798e-03 2.819389e-03 3.233439e-03 2.154367e-03 1.442256e-03 + 163 2 5.913254e-03 2.443420e-03 9.745443e-04 1.413960e-03 2.233473e-03 + 164 2 3.922349e-03 2.648561e-03 2.723468e-03 2.128897e-03 1.566877e-03 + 165 2 3.667535e-03 3.600022e-03 5.743671e-04 2.204706e-03 3.053207e-03 + 166 2 5.217718e-03 1.792275e-03 3.418435e-03 1.777473e-03 2.091736e-03 + 167 2 3.462518e-03 2.824602e-03 1.864423e-03 2.192598e-03 4.149988e-03 + 168 2 5.027732e-03 4.025620e-03 2.709247e-03 8.702131e-04 4.654149e-03 + 169 2 5.715943e-03 4.006708e-03 1.553467e-03 2.546666e-03 2.968618e-03 + 170 2 3.829083e-03 2.115139e-03 4.783471e-03 2.532669e-03 2.777358e-03 + 171 2 5.221813e-03 2.428905e-03 7.855701e-04 1.284226e-03 2.422417e-03 + 172 2 3.674882e-03 1.073380e-03 2.273960e-03 2.109255e-03 2.733571e-03 + 173 2 1.676433e-03 1.948363e-03 1.712078e-03 5.983772e-03 1.407170e-03 + 174 2 3.836628e-03 9.842108e-04 2.221141e-03 8.508165e-04 2.687669e-03 + 175 2 3.105609e-03 1.419395e-03 2.347330e-03 1.551641e-03 1.127536e-03 + 176 2 2.739976e-03 9.939820e-04 8.474753e-04 1.414094e-03 1.055133e-03 + 177 2 1.650343e-01 7.555737e-02 7.898544e-02 7.160988e-02 7.522017e-02 + 178 2 8.777322e-01 4.258728e-01 4.254383e-01 4.131144e-01 4.068595e-01 + 179 2 1.757977e-01 7.950865e-02 8.368227e-02 7.284543e-02 8.036211e-02 + 180 2 2.114691e-03 1.854638e-03 1.910539e-03 1.212805e-03 2.427908e-03 + 181 2 2.467683e-03 1.733944e-03 8.485826e-04 2.594935e-03 8.984415e-04 + 182 2 3.221553e-03 3.183868e-03 1.309414e-03 1.330323e-03 1.279012e-03 + 183 2 3.189443e-03 1.245799e-03 2.305785e-03 2.001670e-03 2.143281e-04 + 184 2 1.133655e-03 1.267650e-03 7.651974e-04 3.006367e-03 1.861163e-03 + 185 2 2.830892e-03 1.010654e-03 8.431766e-04 2.871291e-03 1.020348e-03 + 186 2 2.974073e-03 2.156536e-03 1.063781e-03 1.333676e-03 2.245052e-03 + 187 2 1.071551e-03 2.061712e-03 3.003297e-03 7.803029e-04 1.024920e-03 + 188 2 2.952960e-03 1.974343e-03 8.981838e-04 6.331426e-04 1.339341e-03 + 189 2 1.854544e-03 6.353975e-04 3.020338e-03 9.647388e-04 1.282441e-03 + 190 2 2.931403e-03 1.867236e-03 1.970394e-03 1.622853e-03 1.887682e-03 + 191 2 3.381000e-03 1.482721e-03 1.437142e-03 1.606711e-03 7.784953e-04 + 192 2 1.480309e-03 8.778213e-04 2.636813e-03 2.025746e-03 1.126242e-03 + 193 2 2.095003e-03 1.404137e-04 1.932936e-03 5.705274e-04 2.489653e-03 + 194 2 1.948584e-03 8.244826e-04 6.563058e-04 1.246585e-03 6.220534e-04 + 195 2 1.313567e-03 9.344875e-04 8.470835e-04 5.549500e-04 8.932055e-04 + 196 2 3.983399e-03 6.356358e-04 4.141869e-04 2.940502e-04 4.694218e-04 + 197 2 1.418910e-03 1.353902e-03 1.696893e-03 1.661153e-03 1.815944e-03 + 198 2 2.886457e-03 7.408988e-04 1.344769e-03 1.543516e-04 4.799912e-04 + 199 2 7.460573e-04 7.979230e-04 6.530238e-04 8.694142e-04 2.394006e-04 + 200 2 2.502601e-03 8.140836e-04 8.369157e-04 1.099662e-03 1.059312e-03 + 201 2 2.293666e-03 1.444967e-03 8.108542e-04 1.819958e-03 1.954389e-03 + 202 2 4.869062e-03 1.646614e-03 3.103427e-03 2.405023e-03 1.377392e-03 + 203 2 4.807819e-03 1.341994e-03 1.608796e-03 2.151641e-03 7.134618e-04 + 204 2 4.066924e-03 9.696138e-04 1.736676e-03 5.261165e-04 5.208389e-04 + 205 2 1.020866e-03 1.676269e-03 7.764225e-04 7.330326e-04 1.115352e-03 + 206 2 2.940037e-03 9.417658e-04 3.695226e-04 9.618587e-04 1.069372e-03 + 207 2 1.249869e-03 2.370710e-03 2.689566e-03 7.920241e-04 7.199760e-04 + 208 2 1.945170e-03 2.947097e-04 1.278926e-03 1.408144e-03 1.198626e-03 + 209 2 7.460055e-04 2.104328e-04 2.203440e-03 1.852426e-03 1.494662e-03 + 210 2 1.962574e-03 1.913202e-03 8.717808e-04 6.242080e-04 9.419191e-04 + 211 2 2.000634e-03 2.336047e-03 6.061211e-04 4.996861e-04 2.789993e-03 + 212 2 1.895493e-03 6.364060e-04 1.772149e-03 1.596971e-03 1.898030e-03 + 213 2 6.645972e-04 1.009359e-03 1.781656e-03 3.432206e-03 1.167007e-03 + 214 2 2.105849e-03 8.532155e-04 1.286141e-03 9.019593e-04 6.961546e-04 + 215 2 3.048557e-03 2.893677e-04 5.800024e-04 1.175141e-03 1.053511e-03 + 216 2 1.983946e-03 1.334363e-03 1.958253e-03 1.124323e-03 1.970329e-03 + 217 2 1.974662e-03 4.082903e-04 1.524518e-03 1.605314e-03 6.307556e-04 + 218 2 3.410978e-03 6.572335e-04 1.261470e-03 9.106527e-04 5.150687e-04 + 219 2 1.428588e-03 1.063269e-03 8.962418e-04 1.332516e-03 5.670449e-04 + 220 2 2.879490e-04 9.222019e-04 1.313676e-03 3.794907e-04 1.462675e-03 + 221 2 2.935555e-03 1.375055e-03 1.017273e-03 1.497871e-03 1.628128e-03 + 222 2 9.805828e-03 5.536749e-03 5.988082e-03 5.024046e-03 5.325474e-03 + 223 2 4.962046e-03 1.659705e-03 2.579061e-03 1.574321e-03 2.122070e-03 + 224 2 9.215244e-04 7.234442e-04 1.420511e-03 1.459108e-03 1.167169e-03 + 225 2 1.698991e-03 3.125698e-04 7.406394e-04 1.511475e-04 1.262005e-03 + 226 2 2.957074e-03 1.658819e-03 2.314650e-03 7.535866e-04 1.248640e-03 + 227 2 2.687568e-03 2.656110e-03 3.348101e-03 8.966500e-04 2.883826e-03 + 228 2 4.686831e-03 1.058869e-02 8.971933e-03 4.822530e-03 8.322956e-03 + 229 2 1.312941e-03 3.293111e-03 1.881096e-03 1.729495e-03 3.251587e-03 + 230 2 2.578728e-03 6.508909e-04 2.241223e-03 8.189291e-04 1.569220e-03 + 231 2 3.513283e-03 1.539198e-03 8.324940e-04 9.457695e-04 9.244436e-04 + 232 2 1.280295e-03 1.091730e-03 2.058751e-03 5.993572e-04 6.318106e-04 + 233 2 4.713133e-03 8.083976e-04 2.791229e-03 1.220393e-03 9.457835e-04 + 234 2 1.450354e-02 6.058020e-03 7.107152e-03 6.756602e-03 3.515116e-03 + 235 2 3.441922e-03 1.374316e-03 2.249333e-03 2.930062e-03 1.456773e-03 + 236 2 1.645339e-03 3.785941e-04 1.681828e-03 7.551134e-04 4.462438e-04 + 237 2 1.009344e-03 9.703032e-04 1.658306e-03 9.610566e-04 9.806571e-04 + 238 2 1.182805e-03 8.204264e-04 5.274868e-04 2.537193e-04 4.525115e-04 + 239 2 1.082625e-03 1.018178e-03 1.665863e-03 1.236543e-03 5.169857e-04 + 240 2 2.512978e-03 2.476449e-03 1.296150e-03 1.058055e-03 5.807570e-04 + 241 2 2.263779e-03 9.022425e-04 9.822398e-04 1.739456e-03 1.313517e-03 + 242 2 3.147733e-03 1.134496e-03 9.835629e-04 1.316688e-03 2.458477e-04 + 243 2 1.387593e-03 5.237394e-04 9.334690e-04 5.817922e-04 2.337585e-04 + 244 2 1.244300e-03 4.768417e-04 3.741563e-04 1.584335e-03 9.033329e-04 + 245 2 2.532942e-03 1.162187e-03 1.247326e-03 2.239145e-03 1.167991e-03 + 246 2 4.149875e-03 1.685171e-03 2.201392e-03 2.844857e-03 3.621892e-03 + 247 2 9.181183e-04 8.531701e-04 8.373883e-04 8.943535e-04 1.655339e-03 + 248 2 1.136842e-03 2.227694e-04 5.148201e-04 6.719221e-04 4.477279e-04 + 249 2 4.367967e-04 1.288038e-03 7.712521e-04 1.793837e-03 1.208838e-03 + 250 2 2.104562e-03 3.434298e-04 2.934635e-04 7.037133e-04 1.424155e-04 + 251 2 1.146449e-03 7.960015e-04 1.071926e-03 2.144143e-03 1.008202e-03 + 252 2 2.199757e-03 1.362407e-03 4.843092e-04 1.404493e-04 8.336506e-04 + 253 2 4.967654e-04 1.688026e-03 4.054345e-04 5.511355e-04 1.045430e-03 + 254 2 1.996411e-03 1.460163e-03 9.754674e-04 8.388051e-04 1.055496e-03 + 255 2 1.788127e-03 2.419635e-04 4.428310e-04 1.236204e-03 1.531593e-03 + 256 2 2.573093e-03 1.065376e-03 3.021006e-04 7.312741e-04 7.377376e-04 + 257 3 3.490508e+00 1.369365e+00 1.420701e+00 1.387491e+00 1.412742e+00 + 258 3 5.450193e+02 2.090057e+02 2.097005e+02 2.109251e+02 2.096385e+02 + 259 3 8.577079e+02 3.298889e+02 3.319862e+02 3.323499e+02 3.311169e+02 + 260 3 3.481581e+01 1.353880e+01 1.345969e+01 1.369081e+01 1.362603e+01 + 261 3 4.861151e-02 1.119596e-02 1.342358e-02 1.148062e-02 1.386450e-02 + 262 3 1.166755e-01 4.644469e-02 2.872845e-02 4.695381e-02 4.275894e-02 + 263 3 2.414976e-01 8.953815e-02 1.109835e-01 8.391922e-02 1.105896e-01 + 264 3 9.974561e-01 3.381525e-01 3.640895e-01 3.221444e-01 3.888885e-01 + 265 3 1.367387e-01 5.455259e-02 5.992031e-02 6.260072e-02 6.128284e-02 + 266 3 4.704615e-02 1.443080e-02 1.693161e-02 1.101432e-02 1.734983e-02 + 267 3 4.350100e-02 2.524818e-02 1.457656e-02 2.831803e-02 1.422824e-02 + 268 3 2.948497e-02 1.945546e-02 1.444329e-02 1.371830e-02 2.322083e-02 + 269 3 4.389336e-02 1.279656e-02 1.505487e-02 1.562082e-02 9.204451e-03 + 270 3 1.382332e-02 1.756012e-02 1.145349e-02 2.062384e-02 1.674101e-02 + 271 3 3.167726e-02 9.389956e-03 9.708743e-03 3.291776e-03 5.884082e-03 + 272 3 1.721361e-02 6.904796e-03 4.114904e-03 1.070772e-02 9.023765e-03 + 273 3 1.367164e-02 7.081267e-03 1.280882e-02 8.620955e-03 8.729740e-03 + 274 3 2.640851e-02 7.036924e-03 1.888461e-03 2.771264e-03 7.881835e-03 + 275 3 1.261148e-02 6.821627e-03 1.106443e-02 1.115640e-02 7.141105e-03 + 276 3 9.233300e-03 4.627767e-03 5.148267e-03 4.348288e-03 9.271461e-03 + 277 3 1.476796e-02 5.226252e-03 3.593874e-03 4.138501e-03 5.420396e-03 + 278 3 1.463677e-02 2.872582e-03 3.413639e-03 4.049352e-03 3.121669e-03 + 279 3 9.757205e-03 5.578856e-03 4.059482e-03 7.134000e-03 6.460666e-03 + 280 3 5.462135e-03 1.392079e-03 4.341141e-03 1.634423e-03 3.964385e-03 + 281 3 7.120414e-03 6.326684e-03 2.850783e-03 5.234576e-03 5.153931e-03 + 282 3 8.872315e-03 2.193100e-03 6.524428e-03 2.761053e-03 3.051626e-03 + 283 3 9.427982e-03 5.257405e-03 3.356517e-03 3.992043e-03 1.609954e-03 + 284 3 6.015369e-03 2.586560e-03 4.329170e-03 1.063683e-03 2.827573e-03 + 285 3 4.884438e-03 3.357355e-03 2.972672e-03 5.194967e-03 3.173213e-03 + 286 3 1.180943e-02 2.687387e-03 1.990106e-03 1.593227e-03 2.038444e-03 + 287 3 5.105019e-03 2.454515e-03 4.152172e-03 2.978805e-03 1.725637e-03 + 288 3 5.572147e-03 4.042082e-03 1.895517e-03 2.119721e-03 5.668933e-03 + 289 3 7.293882e-03 1.995804e-03 1.978361e-03 2.215860e-03 1.974848e-03 + 290 3 7.057917e-03 1.485330e-03 2.603358e-03 4.462706e-03 3.379836e-03 + 291 3 4.674861e-03 2.577790e-03 1.783437e-03 2.338791e-03 1.178016e-03 + 292 3 4.699569e-03 1.681973e-03 1.533431e-03 1.415682e-03 2.452377e-03 + 293 3 7.783268e-03 1.935709e-03 1.000666e-03 4.766357e-03 1.996016e-03 + 294 3 1.847031e-03 3.369300e-03 2.079405e-03 1.205055e-03 2.271725e-03 + 295 3 3.722926e-03 1.765075e-03 3.345078e-03 4.676605e-03 5.910638e-03 + 296 3 3.665374e-03 1.981008e-03 1.098963e-03 1.471483e-03 1.042116e-03 + 297 3 5.391551e-03 5.046437e-04 2.875224e-03 1.182817e-03 1.887666e-03 + 298 3 3.181018e-03 5.027523e-03 2.258064e-03 5.433708e-03 3.696351e-03 + 299 3 2.871664e-03 2.285176e-03 3.209916e-03 1.266395e-03 3.101049e-03 + 300 3 3.423881e-03 2.770508e-03 1.788991e-03 3.430682e-03 2.241126e-03 + 301 3 4.638225e-03 1.561101e-03 2.770917e-03 1.037520e-03 1.010192e-03 + 302 3 3.583458e-03 2.714453e-03 1.795968e-03 8.940257e-04 4.440250e-03 + 303 3 5.371838e-03 2.324892e-03 1.235622e-03 2.817144e-03 2.202452e-03 + 304 3 7.278912e-03 3.043611e-03 2.184931e-03 2.468284e-03 2.277096e-03 + 305 3 1.349576e-01 6.589953e-02 7.691020e-02 6.652341e-02 6.150862e-02 + 306 3 8.530171e-01 3.956322e-01 4.259553e-01 4.248917e-01 3.858261e-01 + 307 3 1.754901e-01 7.011986e-02 7.728207e-02 8.466000e-02 7.533077e-02 + 308 3 1.381466e-03 3.093531e-03 1.795475e-03 1.911966e-03 1.934703e-03 + 309 3 5.615442e-03 6.299695e-04 4.674759e-04 2.740607e-04 8.247723e-04 + 310 3 1.519947e-03 3.283187e-03 1.016533e-03 1.440693e-03 1.124576e-03 + 311 3 4.598006e-03 7.349542e-04 1.168794e-03 6.813967e-04 8.067492e-04 + 312 3 9.741867e-04 1.470742e-03 1.158366e-03 2.467960e-03 1.260033e-03 + 313 3 3.326237e-03 1.529280e-03 9.805329e-04 5.892821e-04 1.248294e-03 + 314 3 5.147535e-03 1.058192e-03 1.817813e-03 1.594301e-03 6.656410e-04 + 315 3 3.285755e-03 2.615555e-03 1.937496e-03 3.136434e-03 3.081153e-03 + 316 3 1.022236e-03 2.595757e-03 2.345219e-03 1.359651e-03 2.332298e-03 + 317 3 3.201018e-03 2.805519e-03 1.170814e-03 7.117741e-04 2.531782e-03 + 318 3 3.973550e-03 1.861693e-04 1.046310e-03 1.386830e-03 1.519902e-03 + 319 3 2.568386e-03 5.691747e-04 1.029561e-03 7.957294e-04 7.026671e-04 + 320 3 2.038750e-03 2.177691e-03 2.433441e-03 2.747485e-03 2.644542e-03 + 321 3 3.241107e-03 2.545001e-04 4.594728e-04 1.006276e-03 1.547533e-03 + 322 3 8.925481e-04 1.543424e-03 1.562492e-03 1.673618e-03 9.252665e-04 + 323 3 3.007957e-03 7.462796e-04 1.533572e-03 1.389894e-03 8.146312e-04 + 324 3 1.242103e-03 1.948843e-03 9.839635e-04 6.796962e-04 2.163808e-03 + 325 3 4.429573e-03 2.981356e-04 1.099518e-03 8.989529e-04 8.146624e-04 + 326 3 1.372505e-03 1.054266e-03 9.449931e-04 5.776496e-04 1.151804e-03 + 327 3 3.107155e-03 2.427812e-03 1.563342e-03 9.332773e-04 1.818602e-03 + 328 3 5.401127e-04 1.538377e-03 1.086978e-03 1.933293e-03 8.719842e-04 + 329 3 1.074084e-03 3.026111e-03 1.526920e-03 1.025401e-03 1.755688e-03 + 330 3 2.515396e-03 7.632529e-04 6.723291e-04 1.261116e-03 1.680691e-03 + 331 3 1.177087e-03 8.786942e-04 2.651480e-03 2.121877e-03 5.645738e-04 + 332 3 1.041422e-03 6.738377e-04 2.092033e-03 1.323513e-03 8.696098e-04 + 333 3 2.314348e-03 2.357754e-03 1.290314e-03 7.222891e-04 1.288558e-03 + 334 3 3.927474e-03 1.429704e-03 1.338524e-03 7.308578e-04 9.240734e-04 + 335 3 5.185393e-03 9.253511e-04 6.194735e-04 1.412626e-03 6.333320e-04 + 336 3 3.098002e-03 1.214863e-03 9.776548e-04 1.086510e-03 7.811484e-04 + 337 3 1.313059e-03 1.291759e-03 1.298945e-03 2.780350e-03 8.555198e-04 + 338 3 2.647324e-03 7.903669e-04 2.352962e-04 7.656465e-04 4.543490e-04 + 339 3 1.067311e-03 1.327881e-03 1.910677e-03 1.103492e-03 6.524753e-04 + 340 3 2.793826e-03 4.820479e-04 2.274444e-04 1.391316e-03 1.164347e-03 + 341 3 2.490464e-03 1.169654e-03 1.358916e-03 1.819537e-03 1.521748e-03 + 342 3 4.273953e-03 2.263130e-03 2.395852e-04 6.726711e-04 1.219631e-03 + 343 3 2.030887e-03 1.055162e-03 1.129320e-03 1.018100e-03 1.048765e-03 + 344 3 8.823297e-04 1.864986e-03 2.294360e-03 1.092927e-03 1.366953e-03 + 345 3 3.300498e-03 3.036604e-04 8.055215e-04 5.008596e-04 5.969922e-04 + 346 3 1.320435e-03 1.847691e-03 1.416848e-03 1.219947e-03 1.377005e-03 + 347 3 3.581484e-03 6.295426e-04 5.246886e-04 1.560922e-03 6.352885e-04 + 348 3 1.841744e-03 1.026531e-03 3.339897e-04 8.437366e-04 1.750613e-03 + 349 3 3.960011e-03 2.560238e-03 1.438149e-03 3.087296e-03 1.594347e-03 + 350 3 1.528718e-02 9.776213e-03 6.972468e-03 9.040042e-03 6.991070e-03 + 351 3 3.544844e-03 2.689060e-03 2.266754e-03 2.852902e-03 1.273582e-03 + 352 3 7.686636e-04 1.097079e-03 4.610308e-04 6.997118e-04 5.803894e-04 + 353 3 3.078573e-03 1.753020e-03 1.205877e-03 1.765692e-03 7.551310e-04 + 354 3 7.611518e-04 4.867356e-04 2.014907e-03 2.218641e-03 1.235277e-03 + 355 3 2.036282e-03 2.243477e-03 5.359979e-04 1.144199e-03 1.196580e-03 + 356 3 3.529965e-03 7.676103e-03 5.062650e-03 7.860470e-03 8.335658e-03 + 357 3 1.609145e-03 1.370612e-03 1.854394e-03 3.288102e-03 2.507998e-03 + 358 3 3.383980e-03 9.548109e-04 1.404023e-03 7.803827e-04 5.980749e-04 + 359 3 2.977663e-03 1.088512e-03 8.949750e-04 5.897179e-04 6.635935e-04 + 360 3 7.573672e-04 1.922650e-03 2.686610e-03 2.078859e-03 9.323340e-04 + 361 3 4.273966e-03 8.795821e-04 2.422729e-03 1.363360e-03 1.419939e-03 + 362 3 1.113740e-02 4.304922e-03 6.315226e-03 4.258988e-03 4.813633e-03 + 363 3 2.932594e-03 2.511156e-03 1.678421e-03 1.961969e-03 1.139999e-03 + 364 3 2.193691e-03 1.348347e-03 1.389662e-03 7.015372e-04 5.809215e-04 + 365 3 7.317304e-04 3.669855e-04 5.035092e-04 2.224606e-04 9.201774e-04 + 366 3 1.514728e-03 2.453452e-04 6.133528e-04 7.977561e-04 4.975351e-04 + 367 3 8.840965e-04 1.616616e-03 1.100708e-03 5.942348e-04 3.049122e-04 + 368 3 1.446401e-03 2.622513e-03 1.214093e-03 1.693760e-03 1.472919e-03 + 369 3 2.788813e-03 1.876578e-03 6.310939e-04 9.138998e-04 1.240282e-03 + 370 3 7.230654e-04 9.508530e-04 6.736746e-04 2.321758e-03 1.749085e-03 + 371 3 2.264154e-03 6.027145e-04 4.494420e-04 1.614359e-03 1.876262e-03 + 372 3 4.945929e-04 1.265172e-03 6.866949e-04 1.950293e-03 1.114733e-03 + 373 3 3.800730e-03 7.272251e-04 1.926608e-03 1.960463e-03 5.693216e-04 + 374 3 2.987171e-03 1.835472e-03 7.002522e-04 2.123310e-03 9.169044e-04 + 375 3 3.371334e-03 6.802006e-04 3.726197e-04 7.209373e-04 4.178945e-04 + 376 3 1.102229e-03 6.232270e-04 5.540456e-04 3.234371e-04 6.643157e-04 + 377 3 6.063503e-04 7.765240e-04 8.851984e-04 3.096218e-04 9.677423e-04 + 378 3 1.319339e-03 1.037221e-03 1.262087e-03 1.350050e-03 7.120001e-04 + 379 3 1.166040e-03 2.947237e-04 6.896331e-04 5.440921e-04 3.568227e-04 + 380 3 1.297372e-03 1.559490e-03 9.825074e-04 7.223111e-04 4.404514e-04 + 381 3 1.143853e-03 1.120791e-03 5.002813e-04 4.734354e-04 9.444594e-04 + 382 3 1.353628e-03 1.614616e-03 6.064049e-04 1.296763e-03 4.852579e-04 + 383 3 9.410258e-04 4.215858e-04 1.226685e-03 1.692510e-03 2.915044e-04 + 384 3 3.950385e-04 2.094244e-04 1.776655e-03 1.052291e-03 1.224657e-03 + 385 4 3.006420e+00 1.358442e+00 1.340839e+00 1.321816e+00 1.285744e+00 + 386 4 5.450002e+02 2.091762e+02 2.118540e+02 2.112662e+02 2.094055e+02 + 387 4 8.600425e+02 3.287027e+02 3.318158e+02 3.315481e+02 3.290385e+02 + 388 4 3.525945e+01 1.344334e+01 1.353003e+01 1.348144e+01 1.319248e+01 + 389 4 9.281132e-02 3.798763e-02 3.256040e-02 3.275724e-02 4.479479e-02 + 390 4 5.585701e-02 2.831792e-02 3.141321e-02 3.144400e-02 2.698093e-02 + 391 4 2.934355e-01 1.195544e-01 1.138682e-01 1.173212e-01 1.116241e-01 + 392 4 8.617479e-01 3.289241e-01 3.408949e-01 3.136204e-01 3.289351e-01 + 393 4 1.828437e-01 5.306547e-02 5.805316e-02 5.854764e-02 6.704313e-02 + 394 4 4.929405e-02 2.726740e-02 2.693451e-02 2.287401e-02 1.575098e-02 + 395 4 3.131950e-02 1.108556e-02 1.102787e-02 1.924546e-02 2.138027e-02 + 396 4 3.257295e-02 1.434710e-02 1.227522e-02 9.962639e-03 1.268572e-02 + 397 4 3.817131e-02 2.709152e-02 2.464266e-02 2.846893e-02 2.304668e-02 + 398 4 2.319013e-02 9.250638e-03 6.591211e-03 1.087790e-02 8.718433e-03 + 399 4 2.205004e-02 7.094684e-03 8.141944e-03 4.925292e-03 1.226517e-02 + 400 4 9.858277e-03 1.264372e-02 7.174667e-03 1.515612e-02 7.516041e-03 + 401 4 2.799438e-02 3.733220e-03 3.306989e-03 2.454627e-03 4.217669e-03 + 402 4 2.089503e-02 1.103424e-02 1.086428e-02 1.091658e-02 1.238492e-02 + 403 4 1.121730e-02 2.828586e-03 1.543951e-03 2.847324e-03 3.337106e-03 + 404 4 9.577724e-03 6.710461e-03 7.394560e-03 6.447522e-03 6.399090e-03 + 405 4 1.597455e-02 2.449152e-03 3.804337e-03 1.235379e-03 1.537744e-03 + 406 4 1.172282e-02 4.024257e-03 5.965350e-03 7.187447e-03 7.042146e-03 + 407 4 1.066532e-02 5.462849e-03 2.228833e-03 4.477517e-03 4.134594e-03 + 408 4 1.254658e-02 5.642042e-03 7.398485e-03 1.000045e-02 4.158792e-03 + 409 4 1.157865e-02 3.459009e-03 3.183619e-03 2.772252e-03 2.470985e-03 + 410 4 8.602263e-03 3.642236e-03 7.129042e-03 3.530762e-03 3.712358e-03 + 411 4 9.667932e-03 3.192051e-03 3.078712e-03 4.072865e-03 2.666443e-03 + 412 4 1.162812e-02 1.462106e-03 3.085696e-03 4.291503e-03 2.216675e-03 + 413 4 6.220230e-03 5.805462e-03 1.897303e-03 4.541165e-03 3.204784e-03 + 414 4 4.172146e-03 1.969897e-03 4.207764e-03 3.338602e-03 2.448191e-03 + 415 4 4.836795e-03 7.213041e-03 1.613185e-03 3.070357e-03 3.149593e-03 + 416 4 1.094668e-02 2.669373e-03 2.728637e-03 1.068393e-03 6.087886e-04 + 417 4 4.936785e-03 2.824670e-03 3.687347e-03 5.177700e-03 5.116051e-03 + 418 4 2.986057e-03 3.570754e-03 2.172131e-03 1.270713e-03 1.522935e-03 + 419 4 1.409805e-02 8.129227e-04 2.370994e-03 1.652971e-03 1.809210e-03 + 420 4 1.417328e-03 2.258631e-03 8.040502e-04 1.423793e-03 2.563864e-03 + 421 4 5.999022e-03 1.389106e-03 4.246964e-03 3.951694e-03 1.838902e-03 + 422 4 8.822239e-03 2.415442e-03 1.217391e-03 4.258626e-03 1.569285e-03 + 423 4 6.518776e-03 1.869080e-03 4.539086e-03 3.928569e-03 4.830862e-03 + 424 4 3.007894e-03 1.156111e-03 1.112182e-03 3.679235e-03 1.147274e-03 + 425 4 3.100615e-03 1.635463e-03 4.817515e-03 1.826537e-03 1.703271e-03 + 426 4 6.680563e-03 4.631735e-03 4.241185e-03 1.675449e-03 3.251684e-03 + 427 4 2.098249e-03 4.897813e-04 4.848197e-03 4.909085e-04 1.716174e-03 + 428 4 4.347980e-03 3.609555e-03 1.588988e-03 3.112821e-03 1.684198e-03 + 429 4 4.865468e-03 3.324981e-03 1.831561e-03 1.596768e-03 1.330770e-03 + 430 4 6.408737e-03 1.041122e-03 1.195179e-03 1.128768e-03 1.190440e-03 + 431 4 8.587187e-04 1.817283e-03 1.435652e-03 2.559017e-03 1.916597e-03 + 432 4 6.511387e-03 9.162845e-04 1.553149e-03 1.413041e-03 1.072057e-03 + 433 4 1.474341e-01 7.216499e-02 8.102175e-02 8.233251e-02 8.322005e-02 + 434 4 7.983459e-01 3.968481e-01 4.166027e-01 4.055647e-01 4.247782e-01 + 435 4 1.438926e-01 7.448515e-02 7.915107e-02 7.443228e-02 7.966773e-02 + 436 4 1.929748e-03 1.231196e-03 1.232803e-03 2.068162e-03 1.202403e-03 + 437 4 3.560212e-03 1.182633e-03 4.447731e-04 8.048102e-04 7.773353e-04 + 438 4 8.404655e-04 2.861325e-03 2.794251e-03 3.293077e-03 2.175351e-03 + 439 4 5.066151e-03 1.065134e-03 2.621320e-04 1.315985e-03 1.155197e-03 + 440 4 3.891693e-03 2.081572e-03 9.782400e-04 1.707070e-03 2.295418e-03 + 441 4 2.831806e-03 2.031799e-03 1.795035e-03 2.037120e-03 3.116738e-04 + 442 4 4.419487e-03 9.251347e-04 8.653870e-04 1.972143e-03 1.326317e-03 + 443 4 3.568860e-03 1.075866e-03 1.045406e-03 6.852456e-04 1.249190e-03 + 444 4 1.664299e-03 1.068122e-03 1.396014e-03 2.196270e-03 2.199007e-03 + 445 4 4.697835e-03 4.514509e-04 2.116489e-03 6.562107e-04 1.314526e-03 + 446 4 7.310146e-03 1.249038e-03 5.621813e-04 2.793923e-03 1.441452e-03 + 447 4 2.101532e-03 1.681861e-03 9.915296e-04 9.905649e-04 1.427234e-03 + 448 4 1.316963e-03 2.450414e-04 4.403841e-04 3.940256e-04 1.108672e-03 + 449 4 1.898848e-03 1.473106e-03 1.517910e-03 2.355592e-03 4.602456e-03 + 450 4 4.899838e-03 7.085753e-04 6.619271e-04 6.765192e-04 1.369887e-03 + 451 4 1.250939e-03 1.182636e-03 3.952624e-04 1.136107e-03 1.808108e-03 + 452 4 2.936390e-03 1.258327e-03 1.128196e-03 6.060236e-04 3.733104e-04 + 453 4 1.343089e-03 1.496869e-03 6.895678e-04 3.207567e-03 2.166762e-03 + 454 4 2.454301e-03 2.210742e-03 1.516241e-03 1.082175e-03 6.114413e-04 + 455 4 3.685242e-03 1.432387e-03 6.895805e-04 1.547388e-03 7.648049e-04 + 456 4 3.918762e-03 1.110950e-03 2.179179e-03 1.836191e-03 2.200829e-03 + 457 4 1.090979e-03 1.013103e-03 1.479393e-03 1.116134e-03 8.437503e-04 + 458 4 3.271584e-03 7.545944e-04 6.577932e-04 7.761345e-04 6.083969e-04 + 459 4 3.256488e-03 6.126897e-04 3.027763e-04 5.995650e-04 4.337370e-04 + 460 4 8.362460e-04 1.402993e-03 1.497352e-03 6.322723e-04 4.220744e-04 + 461 4 2.118777e-03 6.811016e-04 4.617056e-04 1.179825e-04 1.105362e-03 + 462 4 1.147377e-03 2.337932e-03 3.268024e-03 2.011214e-03 6.511895e-04 + 463 4 1.415605e-03 7.147084e-04 1.124097e-03 8.186475e-04 1.454630e-03 + 464 4 4.185947e-03 7.022494e-04 6.794716e-04 1.240271e-03 6.791545e-04 + 465 4 2.652715e-03 2.204664e-03 2.045063e-03 9.701341e-04 7.446069e-04 + 466 4 3.593413e-03 9.294440e-04 3.877165e-04 1.629102e-03 1.279499e-03 + 467 4 2.770370e-03 1.283256e-03 1.776661e-03 3.047714e-03 1.374352e-03 + 468 4 2.053300e-03 9.277338e-04 4.086504e-04 1.984307e-03 2.020538e-03 + 469 4 2.431156e-03 1.704313e-03 1.234363e-03 1.565108e-03 1.844359e-03 + 470 4 1.504668e-03 3.569207e-03 2.229635e-03 1.746973e-03 2.245244e-03 + 471 4 2.977819e-03 5.853096e-04 1.041469e-03 9.030947e-04 4.723659e-04 + 472 4 1.532037e-03 1.366343e-03 1.278319e-03 2.652903e-03 1.464586e-03 + 473 4 1.574974e-03 1.225153e-03 1.248066e-03 1.352069e-03 7.639137e-04 + 474 4 8.957165e-04 3.229296e-03 3.598609e-04 2.090646e-03 2.049022e-03 + 475 4 1.550055e-03 5.819413e-04 8.128717e-04 1.089704e-03 6.516322e-04 + 476 4 1.517140e-03 3.772089e-04 1.310136e-03 4.976350e-04 1.268194e-03 + 477 4 2.907482e-03 3.214763e-03 2.503908e-03 3.289928e-03 1.880768e-03 + 478 4 1.921815e-02 9.545813e-03 1.027912e-02 9.981591e-03 9.236614e-03 + 479 4 4.118078e-03 3.993455e-03 4.272287e-03 3.741037e-03 3.149465e-03 + 480 4 8.683141e-04 7.525013e-04 5.114476e-04 6.699106e-04 1.992911e-03 + 481 4 8.551690e-04 2.919813e-04 4.813090e-04 1.488552e-03 1.331946e-03 + 482 4 1.375959e-03 9.897721e-04 1.470748e-03 1.265214e-03 2.039957e-03 + 483 4 2.070887e-03 2.760636e-03 3.316454e-03 4.094653e-03 2.968149e-03 + 484 4 4.500226e-03 1.296160e-02 1.024848e-02 9.737872e-03 6.932639e-03 + 485 4 1.187798e-03 5.697893e-03 3.735644e-03 3.071496e-03 3.365807e-03 + 486 4 2.002502e-03 1.612878e-03 5.329704e-04 6.590697e-05 1.397748e-03 + 487 4 2.278701e-03 3.403896e-04 1.753997e-03 2.371002e-03 2.125251e-03 + 488 4 1.812938e-03 1.516678e-03 5.457841e-04 1.076759e-03 7.278165e-04 + 489 4 3.841369e-03 3.172460e-03 1.926905e-03 2.044955e-03 1.590312e-03 + 490 4 1.264761e-02 6.420673e-03 2.662366e-03 6.525940e-03 3.927078e-03 + 491 4 1.406857e-03 1.334339e-03 1.459848e-03 1.655437e-03 8.672772e-04 + 492 4 3.273169e-03 3.644737e-04 6.149868e-04 7.150692e-04 1.307156e-03 + 493 4 1.993030e-03 4.402849e-04 2.149364e-03 1.754157e-03 1.894121e-03 + 494 4 2.422801e-03 4.374305e-04 1.352332e-03 3.344907e-04 1.529077e-04 + 495 4 3.715048e-04 1.274685e-03 1.447544e-03 1.847895e-03 2.085339e-03 + 496 4 1.403769e-03 7.885520e-04 1.093901e-03 1.061500e-03 8.431527e-04 + 497 4 1.914987e-03 6.088806e-04 1.370904e-03 9.040722e-04 2.128494e-03 + 498 4 1.089128e-03 6.999745e-04 9.505861e-04 1.808487e-03 1.349651e-03 + 499 4 2.170304e-03 1.386779e-03 1.163627e-03 2.796493e-04 1.222375e-03 + 500 4 2.150211e-03 3.203782e-04 8.956922e-04 8.903336e-04 1.191293e-03 + 501 4 2.764365e-03 1.087417e-03 3.961341e-04 4.865729e-04 2.063855e-03 + 502 4 3.102247e-03 3.750354e-03 3.228228e-03 1.947006e-03 2.117446e-03 + 503 4 4.228485e-03 1.261061e-03 8.140356e-04 3.681879e-04 8.426027e-04 + 504 4 2.592043e-03 1.400194e-03 9.313942e-04 4.098283e-04 2.221307e-04 + 505 4 2.328012e-03 4.518233e-04 5.331758e-04 9.755775e-04 8.044329e-04 + 506 4 1.661462e-03 6.661885e-04 7.392881e-04 1.545170e-03 3.423639e-04 + 507 4 7.768296e-04 1.745109e-04 2.401887e-03 1.798038e-03 8.404365e-04 + 508 4 3.209192e-03 7.059297e-04 8.686579e-04 2.539226e-04 5.337802e-04 + 509 4 7.777572e-04 2.006133e-03 1.034546e-03 9.951494e-04 6.329871e-04 + 510 4 1.332199e-03 9.223808e-04 1.507337e-03 7.650186e-04 1.022387e-03 + 511 4 5.998699e-04 1.976750e-03 1.352174e-03 1.600459e-03 1.542696e-03 + 512 4 3.991675e-04 4.919145e-04 1.335603e-03 2.878354e-04 7.052858e-04 + 513 5 3.347491e+00 1.396073e+00 1.540550e+00 1.325977e+00 1.358273e+00 + 514 5 5.476515e+02 2.094429e+02 2.098890e+02 2.101740e+02 2.092884e+02 + 515 5 8.622279e+02 3.298748e+02 3.315929e+02 3.321495e+02 3.309773e+02 + 516 5 3.510972e+01 1.332457e+01 1.339936e+01 1.360776e+01 1.353419e+01 + 517 5 1.104822e-01 5.973653e-02 3.590652e-02 4.042277e-02 5.093737e-02 + 518 5 7.224942e-02 2.890056e-02 2.980699e-02 1.799536e-02 2.130953e-02 + 519 5 2.641104e-01 9.930942e-02 9.647040e-02 1.016236e-01 1.037109e-01 + 520 5 9.647802e-01 3.406311e-01 3.239521e-01 3.136050e-01 3.610033e-01 + 521 5 1.511773e-01 6.139617e-02 6.510365e-02 6.092560e-02 6.599917e-02 + 522 5 5.256868e-02 1.930998e-02 2.583239e-02 2.262513e-02 1.779172e-02 + 523 5 3.859353e-02 1.500506e-02 1.140886e-02 1.846361e-02 1.667621e-02 + 524 5 3.936705e-02 1.403346e-02 6.517703e-03 7.762511e-03 1.226249e-02 + 525 5 4.297750e-02 2.351514e-02 3.248955e-02 2.805068e-02 2.222078e-02 + 526 5 2.367337e-02 6.841004e-03 7.272422e-03 9.652917e-03 1.024690e-02 + 527 5 1.818077e-02 1.058159e-02 8.507182e-03 1.086937e-02 1.273111e-02 + 528 5 1.865020e-02 1.053239e-02 9.437738e-03 1.049359e-02 7.681118e-03 + 529 5 1.420596e-02 4.126961e-03 4.029235e-03 3.538796e-03 5.978355e-03 + 530 5 2.673592e-02 1.403536e-02 1.166695e-02 1.331185e-02 1.143430e-02 + 531 5 1.164948e-02 2.155801e-03 2.194751e-03 2.970115e-03 3.655539e-03 + 532 5 1.322470e-02 4.727315e-03 3.028575e-03 5.295030e-03 5.059101e-03 + 533 5 1.410545e-02 7.290909e-03 7.235580e-03 4.406718e-03 5.581555e-03 + 534 5 9.314424e-03 4.144904e-03 4.988230e-03 4.228765e-03 2.902375e-03 + 535 5 1.220732e-02 7.681068e-03 5.396944e-03 8.089108e-03 4.600977e-03 + 536 5 8.271679e-03 1.203571e-03 1.236804e-03 1.295491e-03 2.104046e-03 + 537 5 7.581885e-03 6.600471e-03 5.467298e-03 6.113912e-03 6.706261e-03 + 538 5 7.601269e-03 1.273988e-03 4.344735e-03 1.972829e-03 1.038665e-03 + 539 5 8.273083e-03 6.588849e-03 2.333790e-03 3.275100e-03 3.928445e-03 + 540 5 1.106511e-02 2.649057e-03 2.846499e-03 3.925430e-03 4.306378e-03 + 541 5 4.006621e-03 4.523080e-03 4.160274e-03 4.761374e-03 3.300823e-03 + 542 5 1.038478e-02 3.497576e-03 2.189085e-03 2.358365e-03 3.280410e-03 + 543 5 5.623963e-03 2.084226e-03 1.624771e-03 4.553698e-03 4.441904e-03 + 544 5 7.598403e-03 7.222658e-03 1.967689e-03 2.067604e-03 3.441007e-03 + 545 5 3.489144e-03 3.552276e-03 2.278491e-03 4.644587e-03 2.804640e-03 + 546 5 7.269521e-03 1.590161e-03 7.988971e-04 9.391085e-04 1.629188e-03 + 547 5 5.087698e-03 2.174161e-03 3.106552e-03 2.555558e-03 2.596521e-03 + 548 5 6.377798e-03 3.202107e-03 1.639620e-03 5.870012e-04 1.140905e-03 + 549 5 4.636060e-03 1.602146e-03 2.439559e-03 3.906240e-03 1.823843e-03 + 550 5 3.270455e-03 3.475636e-03 1.814452e-03 1.825413e-03 1.767893e-03 + 551 5 2.174363e-03 2.423388e-03 1.797292e-03 2.661713e-03 2.804883e-03 + 552 5 9.786531e-03 1.537289e-03 1.704125e-03 6.512563e-04 1.291290e-03 + 553 5 1.465197e-03 1.385379e-03 1.917100e-03 2.830274e-03 2.500098e-03 + 554 5 5.170013e-03 6.194373e-03 2.903066e-03 2.758392e-03 3.208976e-03 + 555 5 6.151631e-03 7.070595e-04 1.755678e-03 1.536738e-03 9.356218e-04 + 556 5 2.974776e-03 3.171411e-03 2.166107e-03 1.507662e-03 1.269848e-03 + 557 5 5.801455e-03 4.890818e-03 1.040712e-03 4.153654e-03 2.741166e-03 + 558 5 4.445276e-03 3.054015e-03 2.560387e-03 2.279153e-03 2.100118e-03 + 559 5 8.997373e-04 4.311853e-04 1.253883e-03 1.066468e-03 6.740930e-04 + 560 5 4.037518e-03 3.675460e-03 1.638955e-03 3.489330e-03 2.368055e-03 + 561 5 1.357512e-01 6.038686e-02 6.779192e-02 6.545161e-02 7.270738e-02 + 562 5 7.764204e-01 3.633888e-01 3.920718e-01 3.950043e-01 3.904185e-01 + 563 5 1.508103e-01 6.909473e-02 7.170848e-02 6.882420e-02 7.221511e-02 + 564 5 2.500959e-03 1.088962e-03 4.085181e-04 1.710705e-03 1.446579e-03 + 565 5 2.807581e-03 1.258745e-03 2.148414e-03 2.283716e-03 9.011503e-04 + 566 5 5.342226e-03 7.628202e-04 1.585844e-03 2.774819e-03 2.155365e-04 + 567 5 2.142627e-03 3.481387e-03 1.373352e-03 3.882036e-03 1.430688e-03 + 568 5 4.470543e-03 1.579804e-03 2.811629e-03 1.524321e-03 1.450746e-03 + 569 5 2.965024e-03 4.511301e-04 5.735589e-04 1.625624e-03 1.805244e-03 + 570 5 2.243278e-03 2.066932e-03 2.774987e-03 1.760269e-03 9.620083e-04 + 571 5 7.089437e-03 1.109229e-03 2.113171e-03 1.195262e-03 1.871906e-03 + 572 5 4.453031e-04 2.135784e-03 1.478787e-03 1.098273e-03 1.461089e-03 + 573 5 2.576095e-03 1.019867e-04 1.116948e-03 1.092462e-03 1.759982e-03 + 574 5 3.780124e-03 2.710979e-03 1.677049e-03 2.403676e-03 1.835695e-03 + 575 5 3.561739e-03 1.699455e-03 8.971053e-04 1.177832e-03 7.632931e-04 + 576 5 2.988918e-03 1.346796e-04 7.925808e-04 1.543533e-03 1.409655e-03 + 577 5 5.271111e-03 8.642472e-04 1.412924e-03 1.091670e-03 1.987609e-04 + 578 5 4.829527e-03 1.922463e-03 1.325791e-03 1.568055e-03 1.804358e-03 + 579 5 3.475339e-03 1.857508e-03 2.427543e-03 1.651713e-03 1.364525e-03 + 580 5 3.434490e-03 1.077189e-03 4.434982e-04 1.407844e-03 3.292662e-04 + 581 5 3.428460e-03 1.683227e-03 1.024559e-03 1.230657e-03 1.095074e-03 + 582 5 6.830881e-04 9.837877e-04 7.679735e-04 8.211653e-04 6.697537e-04 + 583 5 2.245488e-03 1.048670e-03 9.721648e-04 9.982049e-04 1.531805e-03 + 584 5 2.452247e-03 1.729965e-04 4.873737e-04 9.966759e-04 9.178228e-04 + 585 5 8.679822e-04 5.723574e-04 7.807354e-04 6.951210e-04 2.875847e-04 + 586 5 3.448222e-03 7.273870e-04 1.651968e-03 1.039897e-03 2.343178e-03 + 587 5 2.473256e-03 1.218883e-03 2.024099e-03 5.508171e-04 2.836468e-03 + 588 5 3.040364e-03 1.632043e-03 2.211696e-03 1.242453e-03 9.906154e-04 + 589 5 5.478038e-03 2.353268e-04 6.141125e-04 8.666856e-04 3.781419e-04 + 590 5 2.170332e-03 1.360712e-03 6.692227e-04 3.563353e-04 9.060206e-04 + 591 5 3.514429e-03 2.543981e-03 9.189562e-04 1.898437e-03 9.850886e-04 + 592 5 1.973233e-03 1.234805e-03 9.580196e-04 1.051894e-03 1.034301e-03 + 593 5 1.161033e-03 1.017371e-03 1.548795e-03 9.922705e-04 1.553398e-03 + 594 5 2.969033e-03 4.537607e-04 7.594519e-04 5.661824e-04 7.462205e-04 + 595 5 7.453150e-04 5.029212e-04 8.754491e-04 4.131528e-04 5.908905e-04 + 596 5 1.174160e-03 2.183439e-03 4.658193e-04 1.268285e-03 1.403910e-03 + 597 5 5.150743e-03 4.199140e-04 1.224953e-03 9.739843e-04 3.357934e-04 + 598 5 1.102241e-03 1.615196e-03 7.765506e-04 1.920361e-03 1.103503e-03 + 599 5 6.550256e-04 3.995324e-04 8.844220e-04 1.301054e-03 1.114869e-03 + 600 5 3.270938e-03 8.107706e-04 7.303508e-05 2.295474e-03 1.289199e-03 + 601 5 2.470761e-03 5.403977e-05 7.783803e-04 5.808767e-04 1.309778e-03 + 602 5 1.545359e-03 2.157867e-03 2.078155e-03 2.554477e-03 1.379659e-03 + 603 5 4.847479e-03 2.546572e-04 1.287351e-03 6.285627e-04 6.214131e-04 + 604 5 2.027965e-03 1.126854e-03 4.906550e-04 2.125254e-03 2.175865e-04 + 605 5 6.018510e-03 1.203502e-03 2.207163e-03 1.712716e-03 1.147433e-03 + 606 5 1.912903e-02 9.587241e-03 1.091985e-02 8.233325e-03 7.299420e-03 + 607 5 3.877304e-03 2.993106e-03 2.516166e-03 1.459978e-03 1.316261e-03 + 608 5 3.196592e-03 2.297621e-04 1.215970e-03 7.105211e-04 7.367290e-04 + 609 5 4.455167e-03 1.950635e-03 1.811428e-03 2.261326e-03 2.728658e-03 + 610 5 2.697837e-03 1.747843e-03 2.396304e-03 1.480641e-03 1.568432e-03 + 611 5 1.131540e-03 3.365098e-03 1.843449e-03 2.442392e-03 2.224841e-03 + 612 5 2.214775e-03 9.683345e-03 7.090588e-03 6.713753e-03 6.894513e-03 + 613 5 2.430248e-03 2.332037e-03 1.541710e-03 1.282817e-03 1.183909e-03 + 614 5 2.240105e-03 5.057334e-04 3.077967e-03 2.207642e-03 1.200797e-03 + 615 5 2.446828e-03 1.598808e-03 1.854726e-03 4.675014e-04 9.212735e-04 + 616 5 9.355419e-04 8.061237e-04 5.602465e-04 2.050461e-03 5.672914e-04 + 617 5 3.725087e-03 9.607745e-04 1.159327e-03 2.003342e-03 1.753459e-03 + 618 5 1.603528e-02 7.248616e-03 1.031616e-02 7.611310e-03 8.996719e-03 + 619 5 3.436430e-03 1.644873e-03 2.725733e-03 2.265542e-03 2.551628e-03 + 620 5 7.537414e-04 8.460559e-04 9.754123e-04 2.403602e-03 5.372330e-04 + 621 5 3.730703e-03 7.071123e-04 1.038095e-04 1.363059e-03 1.017806e-03 + 622 5 1.839234e-03 1.986633e-03 1.036374e-03 1.012011e-03 2.037715e-03 + 623 5 8.108463e-04 4.509618e-04 1.700002e-03 7.486807e-04 4.625371e-04 + 624 5 3.530476e-03 6.969232e-04 4.291488e-04 1.222713e-03 3.630115e-04 + 625 5 2.080056e-03 8.245607e-04 1.319937e-03 3.343111e-04 1.311127e-03 + 626 5 1.809005e-03 1.284749e-03 5.601133e-04 1.431094e-03 4.140200e-04 + 627 5 4.025776e-03 2.068176e-03 2.079619e-03 6.088953e-04 1.282040e-03 + 628 5 1.403941e-03 1.135959e-03 1.012127e-03 1.075080e-03 6.043046e-04 + 629 5 4.405060e-03 1.737252e-03 9.427859e-04 8.615827e-04 1.257572e-03 + 630 5 5.722488e-03 5.196314e-03 2.833034e-03 2.099340e-03 2.471827e-03 + 631 5 2.663777e-03 2.546573e-03 1.978506e-03 1.437375e-03 9.870277e-04 + 632 5 2.974195e-03 7.443667e-04 3.912198e-04 4.918760e-04 5.850498e-04 + 633 5 8.838927e-04 5.910893e-04 7.831168e-04 1.563556e-03 1.553667e-03 + 634 5 2.156389e-03 6.946397e-04 9.083521e-04 6.964566e-04 1.073848e-03 + 635 5 3.249585e-03 8.459671e-04 8.624795e-04 7.029645e-04 4.021760e-04 + 636 5 7.272048e-04 1.888289e-03 1.075973e-03 1.149175e-03 1.424175e-03 + 637 5 1.761959e-03 1.566459e-03 8.130210e-04 1.646827e-03 2.227883e-03 + 638 5 3.089891e-03 1.233728e-03 1.116798e-03 9.092643e-04 1.712056e-03 + 639 5 1.025219e-03 1.132922e-03 5.698211e-04 1.341409e-03 1.394900e-03 + 640 5 1.982456e-03 2.054657e-04 1.131720e-03 2.706944e-04 7.582312e-04 + 641 6 3.178286e+00 1.284587e+00 1.305605e+00 1.304032e+00 1.320387e+00 + 642 6 5.465260e+02 2.103496e+02 2.115111e+02 2.119555e+02 2.104310e+02 + 643 6 8.580811e+02 3.291253e+02 3.314035e+02 3.318006e+02 3.288491e+02 + 644 6 3.558160e+01 1.346638e+01 1.367027e+01 1.375662e+01 1.342007e+01 + 645 6 2.681739e-02 1.751712e-02 2.039745e-02 1.282398e-02 1.684572e-02 + 646 6 1.112581e-01 5.126066e-02 3.609152e-02 3.955958e-02 3.659177e-02 + 647 6 2.678471e-01 9.650744e-02 1.077545e-01 9.430864e-02 1.106927e-01 + 648 6 8.695663e-01 3.174703e-01 3.236004e-01 3.105325e-01 2.869869e-01 + 649 6 1.658082e-01 7.205583e-02 6.985558e-02 5.148280e-02 6.019987e-02 + 650 6 3.222381e-02 1.036634e-02 8.540934e-03 1.189468e-02 1.434734e-02 + 651 6 4.436686e-02 2.690232e-02 2.805811e-02 3.498990e-02 1.406801e-02 + 652 6 4.205146e-02 1.019401e-02 9.600779e-03 6.878136e-03 1.489380e-02 + 653 6 1.754221e-02 1.153040e-02 1.220349e-02 1.474722e-02 8.558983e-03 + 654 6 4.985836e-02 1.284813e-02 1.362718e-02 1.066650e-02 1.273115e-02 + 655 6 1.479406e-02 1.036325e-02 5.999003e-03 9.407240e-03 9.983604e-03 + 656 6 2.152137e-02 6.804412e-03 7.668807e-03 7.661372e-03 5.828738e-03 + 657 6 1.205221e-02 1.133354e-02 8.600253e-03 6.473034e-03 1.325282e-02 + 658 6 1.376498e-02 2.394839e-03 2.536795e-03 4.317872e-03 3.436556e-03 + 659 6 1.507075e-02 9.001447e-03 8.581428e-03 9.851024e-03 8.159494e-03 + 660 6 1.112297e-02 4.270191e-03 5.902228e-03 5.696271e-03 4.650267e-03 + 661 6 6.715826e-03 6.100430e-03 2.479404e-03 2.897502e-03 4.491680e-03 + 662 6 8.914243e-03 7.122191e-03 4.608483e-03 8.569471e-03 2.420386e-03 + 663 6 1.110507e-02 2.708662e-03 3.807037e-03 4.213961e-03 5.981246e-03 + 664 6 1.302236e-02 4.623687e-03 2.458810e-03 9.733511e-03 4.190844e-03 + 665 6 7.531474e-03 3.225687e-03 3.699691e-03 4.462413e-03 4.705208e-03 + 666 6 5.728414e-03 1.916237e-03 1.896560e-03 3.521426e-03 2.877080e-03 + 667 6 7.029929e-03 3.357317e-03 3.063546e-03 1.778006e-03 2.352113e-03 + 668 6 6.788208e-03 2.095244e-03 4.572604e-03 3.739647e-03 2.206467e-03 + 669 6 6.926502e-03 3.975109e-03 3.529476e-03 4.031234e-03 4.662516e-03 + 670 6 5.483861e-03 2.204512e-03 2.836907e-03 2.530286e-03 2.326749e-03 + 671 6 1.145541e-02 3.491044e-03 1.483901e-03 6.399054e-03 2.054066e-03 + 672 6 2.397624e-03 3.935206e-03 3.261394e-03 1.545946e-03 3.524555e-03 + 673 6 9.467064e-03 1.085077e-03 3.575871e-03 3.630730e-03 1.429741e-03 + 674 6 4.468492e-03 3.015756e-03 4.256365e-03 1.896524e-03 4.458615e-03 + 675 6 5.545824e-03 2.649096e-03 1.210393e-03 3.169992e-03 9.028953e-04 + 676 6 3.006163e-03 2.594945e-03 2.008997e-03 4.731211e-03 3.775766e-03 + 677 6 3.789454e-03 9.531733e-04 5.273969e-03 2.529067e-03 1.137751e-03 + 678 6 5.662237e-03 1.983901e-03 1.099851e-03 1.269886e-03 2.363761e-03 + 679 6 2.880971e-03 1.178786e-03 4.553153e-03 3.010166e-03 4.386221e-03 + 680 6 1.071317e-02 2.067452e-03 3.901531e-03 1.143412e-03 2.979397e-03 + 681 6 5.715642e-03 3.151900e-03 1.838729e-03 2.162531e-03 2.952380e-03 + 682 6 8.079665e-03 4.352565e-03 2.485006e-03 2.536276e-03 2.667617e-03 + 683 6 1.691038e-03 2.249853e-03 4.007213e-03 1.427305e-03 1.974529e-03 + 684 6 1.796396e-03 2.127837e-03 2.426263e-03 9.373695e-04 1.802843e-03 + 685 6 1.145321e-02 1.341514e-03 2.135717e-03 1.788634e-03 4.121244e-04 + 686 6 1.661127e-03 1.179496e-03 1.043153e-03 1.067428e-03 7.411476e-04 + 687 6 1.042627e-03 1.379517e-03 1.800689e-03 2.610481e-03 4.315959e-03 + 688 6 5.031423e-03 2.602994e-03 1.997980e-03 3.831451e-04 1.709979e-03 + 689 6 1.534484e-01 6.930436e-02 7.574644e-02 7.676637e-02 8.694327e-02 + 690 6 8.376976e-01 4.068714e-01 4.155848e-01 4.248590e-01 4.318209e-01 + 691 6 1.622727e-01 7.775906e-02 8.658323e-02 8.542837e-02 8.435971e-02 + 692 6 4.488869e-03 4.615742e-04 1.579831e-03 1.254727e-03 9.009649e-04 + 693 6 1.207760e-03 3.266975e-03 2.998487e-03 3.005886e-03 3.938923e-03 + 694 6 3.197529e-03 1.187087e-03 6.315571e-04 7.918531e-04 2.705199e-03 + 695 6 5.284219e-03 1.105975e-03 2.140264e-03 1.957900e-03 7.742895e-04 + 696 6 5.122137e-03 3.721278e-03 1.504803e-03 2.624280e-03 2.094023e-03 + 697 6 1.546630e-03 1.192602e-03 9.363997e-04 4.615479e-04 1.493674e-04 + 698 6 3.597578e-03 1.240720e-03 2.086562e-03 1.331254e-03 1.736549e-03 + 699 6 5.795883e-03 1.713068e-03 1.579454e-03 1.753725e-03 9.872063e-04 + 700 6 1.864691e-03 2.617036e-03 2.610781e-03 2.667734e-03 2.800825e-03 + 701 6 4.030915e-03 9.939359e-04 1.382744e-03 8.122635e-04 1.428528e-03 + 702 6 1.742424e-03 8.384484e-04 1.272268e-03 7.367907e-04 5.487145e-04 + 703 6 1.097495e-03 1.612057e-03 7.808680e-04 1.176237e-03 1.540335e-03 + 704 6 2.022151e-03 2.143470e-03 1.159820e-03 8.259131e-04 2.409083e-03 + 705 6 4.774287e-03 6.956233e-04 5.514546e-04 5.635310e-04 9.356957e-04 + 706 6 3.623548e-03 1.581226e-03 1.345681e-03 6.430663e-04 2.421169e-03 + 707 6 1.029802e-03 1.507292e-03 2.558003e-03 1.615333e-03 1.604424e-03 + 708 6 3.335479e-03 2.362925e-03 2.599272e-03 2.302994e-04 3.029314e-04 + 709 6 1.517434e-03 6.348116e-04 6.292282e-04 1.850184e-03 8.976472e-04 + 710 6 2.437048e-03 4.701864e-04 1.248954e-03 6.372120e-04 1.560007e-03 + 711 6 1.929739e-03 1.061001e-03 8.342261e-04 5.103717e-04 5.498209e-04 + 712 6 2.969446e-03 6.271630e-04 1.817451e-03 9.790814e-04 1.071849e-03 + 713 6 5.740259e-04 4.715095e-04 1.813265e-03 1.290777e-03 1.142936e-03 + 714 6 2.427829e-03 1.170586e-03 2.404733e-03 1.834507e-03 3.919755e-04 + 715 6 2.875069e-03 1.120196e-03 9.244368e-04 1.662335e-03 1.248526e-03 + 716 6 1.054158e-03 2.106289e-03 7.735645e-04 1.623005e-03 1.183066e-03 + 717 6 3.657489e-03 1.587820e-03 5.283937e-04 8.286111e-04 6.229288e-04 + 718 6 9.400261e-04 3.318295e-03 8.212580e-04 8.906604e-04 1.533899e-03 + 719 6 1.581322e-03 2.053194e-03 6.884035e-04 1.537429e-03 2.154044e-03 + 720 6 4.088584e-03 2.997550e-03 4.665279e-04 9.467609e-04 2.148114e-03 + 721 6 2.308977e-03 1.327190e-03 1.222171e-03 8.129635e-04 6.097944e-04 + 722 6 4.690421e-03 2.194453e-03 1.070606e-03 2.252008e-03 2.290467e-03 + 723 6 5.667462e-03 1.299848e-03 1.162011e-03 1.844693e-03 1.411021e-03 + 724 6 7.057720e-04 1.219241e-03 1.644671e-03 2.994760e-03 2.123977e-03 + 725 6 8.511202e-04 1.493213e-03 1.098285e-03 4.541661e-04 6.232463e-04 + 726 6 6.480281e-04 2.913615e-04 7.997187e-04 8.797921e-04 6.957311e-04 + 727 6 3.867447e-03 2.689717e-04 9.822083e-04 1.034491e-03 8.508888e-04 + 728 6 1.691537e-03 1.602794e-03 9.855192e-04 5.969601e-04 3.148230e-04 + 729 6 2.406704e-03 6.401712e-04 1.495471e-03 4.662629e-04 6.967701e-04 + 730 6 1.517113e-03 5.184852e-04 5.382503e-04 1.774456e-03 5.518153e-04 + 731 6 3.832267e-03 4.192767e-04 4.853106e-04 1.127371e-03 4.441649e-04 + 732 6 1.062585e-03 1.817715e-03 9.515272e-04 1.137913e-03 2.043433e-03 + 733 6 3.411419e-03 2.036118e-03 2.913724e-03 2.330912e-03 1.549897e-03 + 734 6 1.887345e-02 9.180879e-03 1.368206e-02 1.244845e-02 9.757089e-03 + 735 6 4.700749e-03 3.080683e-03 3.219421e-03 4.136553e-03 1.687434e-03 + 736 6 1.187300e-03 6.288190e-04 6.815909e-04 5.852631e-04 5.595941e-04 + 737 6 2.381496e-03 1.610295e-03 2.364138e-03 2.526182e-03 1.361637e-03 + 738 6 1.953027e-03 5.886419e-04 4.992102e-04 5.486633e-04 1.299985e-03 + 739 6 2.154130e-03 2.646848e-03 1.906673e-03 1.024920e-03 2.181740e-03 + 740 6 4.442996e-03 9.886796e-03 5.359901e-03 5.808658e-03 9.146975e-03 + 741 6 2.080522e-03 1.922015e-03 1.861941e-03 1.933271e-03 2.008315e-03 + 742 6 1.663464e-03 1.423524e-03 6.084003e-04 6.900800e-04 5.888040e-04 + 743 6 3.860065e-03 1.474896e-03 6.103757e-04 1.463604e-03 3.281866e-04 + 744 6 3.656268e-03 1.229216e-03 9.856606e-04 1.126068e-03 1.076167e-03 + 745 6 2.193066e-03 2.952744e-03 2.239763e-03 2.112719e-03 1.945434e-03 + 746 6 1.162275e-02 6.662066e-03 2.239809e-03 6.352935e-03 4.828978e-03 + 747 6 4.710015e-03 1.790709e-03 1.067473e-03 1.720559e-03 1.327997e-03 + 748 6 1.002323e-03 7.591905e-04 8.263268e-04 2.107674e-04 9.564419e-04 + 749 6 2.732283e-03 1.003559e-03 6.950472e-04 1.069473e-03 5.066198e-04 + 750 6 7.907250e-04 1.565881e-03 7.477969e-04 8.757395e-04 1.457179e-03 + 751 6 3.054139e-03 2.156316e-04 2.315307e-04 1.172699e-03 1.048927e-03 + 752 6 7.288349e-04 3.226480e-04 1.241194e-03 1.199873e-03 9.764494e-04 + 753 6 4.090306e-04 1.170409e-03 1.194025e-03 6.103139e-04 8.987640e-04 + 754 6 2.025236e-03 1.767870e-03 4.539220e-04 4.274796e-04 9.841386e-04 + 755 6 4.886938e-04 5.876781e-04 1.170698e-03 1.640394e-03 1.424324e-03 + 756 6 1.051979e-03 8.310244e-04 9.864539e-04 7.965468e-04 5.471727e-04 + 757 6 1.297296e-03 1.266391e-03 2.464369e-03 2.011725e-03 9.831544e-04 + 758 6 3.838503e-03 4.292234e-03 3.661239e-03 3.661391e-03 3.026871e-03 + 759 6 6.987288e-04 8.541149e-04 2.085934e-03 1.628810e-03 1.856482e-04 + 760 6 2.010310e-03 1.043553e-03 5.329189e-04 1.745086e-03 1.491944e-03 + 761 6 2.248374e-03 2.208154e-03 4.620102e-04 2.781575e-03 1.207955e-03 + 762 6 3.859320e-04 1.728727e-03 1.049389e-03 2.188360e-04 1.099110e-03 + 763 6 2.116029e-03 1.301251e-03 2.786652e-04 2.830095e-04 1.164291e-03 + 764 6 1.404311e-03 1.320824e-03 2.340671e-03 1.095373e-03 1.916538e-03 + 765 6 2.813735e-03 1.696227e-03 6.174202e-04 2.564686e-04 5.309312e-04 + 766 6 1.248169e-03 4.122791e-04 7.528414e-04 9.894207e-04 1.395677e-03 + 767 6 2.857933e-03 1.306592e-03 8.577464e-04 1.504430e-03 1.659246e-03 + 768 6 4.538729e-03 2.901929e-04 4.167092e-04 1.350959e-04 3.607369e-04 + 769 7 2.980152e+00 1.409421e+00 1.424955e+00 1.160762e+00 1.439862e+00 + 770 7 5.476746e+02 2.097616e+02 2.113528e+02 2.107250e+02 2.101949e+02 + 771 7 8.592046e+02 3.275446e+02 3.313172e+02 3.311746e+02 3.290130e+02 + 772 7 3.550926e+01 1.361127e+01 1.355888e+01 1.382470e+01 1.358691e+01 + 773 7 8.286432e-02 3.961498e-02 4.112835e-02 4.037709e-02 3.860807e-02 + 774 7 6.631113e-02 2.857852e-02 2.282141e-02 2.892038e-02 2.157379e-02 + 775 7 3.073709e-01 9.600341e-02 9.282953e-02 9.678169e-02 9.310247e-02 + 776 7 9.169836e-01 3.372687e-01 3.804053e-01 3.513060e-01 3.428090e-01 + 777 7 1.497190e-01 6.741236e-02 5.838426e-02 6.903812e-02 6.417840e-02 + 778 7 4.273266e-02 9.040049e-03 1.220273e-02 1.284509e-02 1.645314e-02 + 779 7 3.895211e-02 1.753087e-02 1.640278e-02 2.471659e-02 1.119516e-02 + 780 7 2.190982e-02 1.438941e-02 8.371890e-03 9.016703e-03 6.860628e-03 + 781 7 3.515669e-02 3.115736e-02 3.797898e-02 3.763706e-02 3.600539e-02 + 782 7 1.728035e-02 3.638742e-03 5.403309e-03 3.678307e-03 4.337232e-03 + 783 7 1.790267e-02 7.672234e-03 7.467513e-03 4.227251e-03 7.373195e-03 + 784 7 2.135246e-02 8.874054e-03 6.072270e-03 1.135392e-02 5.047947e-03 + 785 7 7.345888e-03 7.168474e-03 1.129897e-02 8.415385e-03 6.692751e-03 + 786 7 1.847929e-02 1.176275e-02 6.946173e-03 1.287217e-02 8.511297e-03 + 787 7 1.185071e-02 2.890122e-03 4.212191e-03 6.237334e-03 3.489768e-03 + 788 7 1.046176e-02 4.332280e-03 3.602621e-03 3.025347e-03 4.199222e-03 + 789 7 5.393729e-03 5.125517e-03 5.147223e-03 5.499988e-03 5.592966e-03 + 790 7 1.106493e-02 4.315520e-03 4.277721e-03 4.507707e-03 2.425765e-03 + 791 7 6.636017e-03 7.909934e-03 4.263578e-03 9.102107e-03 5.160949e-03 + 792 7 8.724456e-03 5.678296e-03 6.525941e-03 7.899025e-03 5.293942e-03 + 793 7 8.360627e-03 3.848504e-03 2.326245e-03 4.909381e-03 3.745758e-03 + 794 7 3.244849e-03 3.662037e-03 3.362499e-03 3.579190e-03 3.960153e-03 + 795 7 1.075438e-02 4.860774e-04 1.752363e-03 5.613764e-04 1.037822e-03 + 796 7 3.525517e-03 3.268959e-03 4.428402e-03 6.028075e-03 4.072686e-03 + 797 7 4.896811e-03 2.557934e-03 1.949897e-03 1.127239e-03 1.211491e-03 + 798 7 6.344810e-03 2.365350e-03 2.252934e-03 3.717024e-03 1.756287e-03 + 799 7 2.945091e-03 2.142403e-03 2.800252e-03 3.276910e-03 4.928125e-03 + 800 7 6.592594e-03 3.624546e-03 2.434143e-03 2.145412e-03 1.340090e-03 + 801 7 4.228807e-03 2.016298e-03 3.196341e-03 1.639332e-03 3.899936e-03 + 802 7 7.967709e-03 1.079674e-03 1.987454e-03 1.562310e-03 1.136391e-03 + 803 7 4.554638e-03 2.673076e-03 2.614838e-03 1.184923e-03 2.751067e-03 + 804 7 5.146620e-03 1.809841e-03 3.584514e-03 2.539668e-03 1.827465e-03 + 805 7 2.107411e-03 4.069391e-03 2.269975e-03 1.817871e-03 2.149050e-03 + 806 7 7.144463e-03 1.621756e-03 1.239828e-03 2.818413e-03 3.608010e-03 + 807 7 3.499236e-03 1.743406e-03 3.545615e-03 1.972588e-03 2.855556e-03 + 808 7 1.172864e-02 7.864510e-04 4.777545e-04 8.707576e-04 2.426916e-03 + 809 7 1.421393e-03 2.586707e-03 1.877431e-03 5.832486e-03 2.137587e-03 + 810 7 5.614171e-03 1.894829e-03 2.905904e-03 5.528219e-04 2.469263e-03 + 811 7 2.087511e-03 2.191268e-03 2.585684e-03 2.320644e-03 7.424607e-04 + 812 7 5.715985e-03 1.080935e-03 9.242111e-04 6.385948e-04 2.708184e-03 + 813 7 3.287254e-03 4.506853e-03 1.259189e-03 5.179077e-03 2.309748e-03 + 814 7 4.409500e-03 2.747598e-03 2.321906e-03 1.005806e-03 2.256769e-03 + 815 7 8.275374e-03 1.320984e-03 1.929123e-03 1.682646e-03 1.384281e-03 + 816 7 2.924671e-03 3.876574e-03 2.836225e-03 4.007755e-03 3.018723e-03 + 817 7 1.393379e-01 5.995493e-02 6.347870e-02 6.485980e-02 6.224142e-02 + 818 7 8.428430e-01 3.784859e-01 3.740236e-01 3.872171e-01 3.964649e-01 + 819 7 1.691957e-01 7.233813e-02 7.416803e-02 7.566512e-02 7.446252e-02 + 820 7 2.176923e-03 2.906193e-03 1.783536e-03 1.442389e-03 2.014688e-03 + 821 7 2.706145e-03 1.125608e-03 3.080002e-04 1.108909e-03 2.589173e-03 + 822 7 5.643750e-03 7.815943e-04 1.223487e-03 1.105748e-03 1.639994e-03 + 823 7 5.018352e-03 1.609658e-03 2.410772e-03 1.599339e-03 2.672146e-03 + 824 7 5.766815e-03 1.025150e-03 1.550632e-03 1.042715e-03 7.889803e-04 + 825 7 1.579985e-03 1.360332e-03 4.401157e-04 5.996285e-04 1.308404e-03 + 826 7 1.863017e-03 1.437227e-03 1.550522e-03 2.199265e-03 8.998280e-04 + 827 7 3.709422e-03 4.506669e-04 1.267478e-03 1.405905e-03 5.142514e-04 + 828 7 2.787957e-03 3.168636e-03 1.647493e-03 1.316012e-03 1.024267e-03 + 829 7 8.035078e-04 6.570271e-04 1.843926e-03 2.175684e-03 5.863754e-04 + 830 7 2.881672e-03 1.784888e-03 1.948317e-03 1.984670e-03 7.394123e-04 + 831 7 3.649949e-03 1.171219e-03 1.177603e-03 6.333330e-04 1.134896e-03 + 832 7 2.526664e-03 2.342331e-03 1.473450e-03 1.054182e-03 3.347928e-04 + 833 7 3.433664e-03 2.236032e-03 8.078497e-04 1.521544e-03 2.080123e-03 + 834 7 2.607097e-03 5.892172e-04 7.997442e-04 6.085420e-04 6.567114e-04 + 835 7 1.819853e-03 7.755488e-04 2.190131e-04 7.707356e-04 1.289095e-03 + 836 7 2.980922e-03 5.766135e-04 3.690312e-04 1.223531e-03 2.619157e-03 + 837 7 1.815415e-03 5.679519e-04 1.087793e-03 1.935565e-04 1.112633e-03 + 838 7 1.315316e-03 7.625213e-04 8.453077e-04 1.617496e-03 1.303704e-03 + 839 7 5.661134e-03 1.170646e-03 8.144822e-04 8.511112e-04 6.799536e-04 + 840 7 1.078317e-03 8.914889e-04 1.078191e-03 1.022410e-03 4.426242e-04 + 841 7 6.429114e-04 1.350685e-03 4.437006e-04 1.050308e-03 1.917658e-03 + 842 7 3.178922e-03 1.607695e-03 2.448358e-03 6.275807e-04 5.013144e-04 + 843 7 2.653374e-03 8.357456e-04 5.361111e-04 5.300386e-04 1.850061e-03 + 844 7 2.794660e-03 1.041050e-03 1.475708e-03 1.157029e-03 1.138998e-03 + 845 7 7.744596e-03 1.027431e-03 5.151402e-04 1.561583e-03 1.252724e-03 + 846 7 1.463922e-03 6.461076e-04 1.025508e-03 1.710856e-03 1.979923e-03 + 847 7 4.074966e-04 1.341575e-03 7.652791e-04 4.224562e-04 6.193530e-04 + 848 7 2.336433e-03 9.671652e-04 9.177936e-04 2.819751e-04 1.242528e-03 + 849 7 7.666414e-04 1.476193e-03 1.165261e-03 2.137524e-03 1.354508e-03 + 850 7 1.890674e-03 2.840376e-04 1.064083e-03 2.755972e-04 1.718114e-03 + 851 7 3.106092e-03 9.600644e-04 9.009258e-04 4.007959e-04 6.937642e-04 + 852 7 8.993844e-04 1.513911e-03 1.236971e-03 3.294891e-04 1.485538e-03 + 853 7 2.580162e-03 1.675803e-03 1.145567e-03 7.495734e-04 2.459950e-04 + 854 7 1.182830e-03 1.362575e-03 1.442124e-03 1.002206e-03 7.369881e-04 + 855 7 1.074033e-03 1.689559e-03 1.792407e-03 8.629659e-04 4.941954e-04 + 856 7 1.163674e-03 9.556848e-04 5.864203e-04 9.761305e-04 3.602865e-04 + 857 7 1.184456e-03 1.137407e-03 3.936759e-04 7.928688e-04 1.549757e-03 + 858 7 2.403379e-03 5.592817e-04 1.581290e-03 3.325589e-04 1.346539e-03 + 859 7 8.429585e-04 9.285255e-04 2.728912e-03 2.806975e-03 7.337810e-04 + 860 7 3.734605e-03 1.078764e-03 7.608973e-04 7.730912e-04 3.359136e-04 + 861 7 3.980608e-03 2.272169e-03 4.666454e-03 3.385234e-03 3.113395e-03 + 862 7 1.563918e-02 8.397189e-03 6.849908e-03 1.215710e-02 1.207761e-02 + 863 7 6.477092e-03 5.316464e-03 2.139684e-03 3.710400e-03 2.408031e-03 + 864 7 1.289186e-03 1.127250e-03 5.789532e-04 1.035332e-03 1.977736e-03 + 865 7 4.653890e-03 9.675777e-04 4.651481e-04 1.105013e-03 7.574491e-04 + 866 7 1.983760e-03 9.106714e-04 9.192384e-04 1.277694e-03 2.449156e-03 + 867 7 3.799725e-03 1.160045e-03 8.582534e-04 1.295881e-03 1.806593e-03 + 868 7 5.918416e-03 8.215833e-03 7.580812e-03 9.044041e-03 1.147654e-02 + 869 7 6.307609e-03 1.980202e-03 1.229173e-03 2.279791e-03 2.046504e-03 + 870 7 8.911048e-04 2.518260e-03 1.225493e-03 1.360454e-03 8.712444e-04 + 871 7 1.817772e-03 8.590221e-04 6.963000e-04 7.189825e-04 5.699629e-04 + 872 7 6.266895e-04 1.122123e-03 1.576620e-03 1.618970e-03 7.060724e-04 + 873 7 7.023592e-03 1.699235e-03 2.812405e-03 1.269483e-03 1.131118e-03 + 874 7 2.041678e-02 9.876815e-03 9.118134e-03 6.123140e-03 7.285268e-03 + 875 7 5.976645e-03 2.764288e-03 4.550702e-03 1.438099e-03 1.684027e-03 + 876 7 1.833639e-03 1.469992e-03 6.475473e-04 3.138717e-03 1.534685e-03 + 877 7 9.628509e-04 6.121907e-04 7.822614e-04 1.177736e-03 3.268858e-04 + 878 7 1.503397e-03 6.056756e-04 6.859800e-04 6.903048e-04 4.151514e-04 + 879 7 8.646208e-04 8.202794e-04 9.834496e-04 9.667458e-04 1.989344e-03 + 880 7 2.739425e-03 3.346485e-04 5.471015e-04 1.600871e-03 7.306991e-04 + 881 7 1.546628e-03 7.028733e-04 1.738955e-03 1.187341e-03 8.624117e-04 + 882 7 9.665838e-04 9.455211e-04 1.471333e-03 3.548075e-04 1.525367e-04 + 883 7 4.567592e-03 4.093302e-04 1.070423e-03 3.030064e-04 5.458666e-04 + 884 7 7.809765e-04 1.384666e-03 2.061288e-03 1.532649e-03 6.565033e-04 + 885 7 2.412709e-03 1.219219e-03 1.033414e-03 7.914107e-04 4.986412e-04 + 886 7 1.436295e-03 2.060478e-03 1.809861e-03 1.734686e-03 8.513947e-04 + 887 7 4.868551e-04 9.816791e-04 1.481553e-03 1.194710e-03 7.781499e-04 + 888 7 1.746131e-03 4.398842e-04 1.476697e-03 9.495196e-04 6.515448e-04 + 889 7 1.084633e-03 5.411641e-04 1.242489e-03 5.892392e-04 1.803225e-03 + 890 7 2.075484e-03 1.217864e-03 3.457683e-04 5.714544e-04 1.009063e-03 + 891 7 1.731494e-03 8.446899e-04 2.643319e-04 1.152936e-03 8.009266e-04 + 892 7 2.491422e-03 1.125887e-03 5.688281e-04 9.848178e-04 1.358453e-03 + 893 7 7.741859e-04 6.067997e-04 1.127851e-03 8.917861e-04 2.090048e-03 + 894 7 9.991479e-04 5.211909e-04 1.390840e-03 3.246785e-04 3.913479e-04 + 895 7 2.561132e-03 8.447422e-04 1.622122e-03 1.720202e-03 1.444208e-03 + 896 7 2.491944e-03 1.394771e-03 2.239058e-03 2.214505e-03 3.213970e-04 + 897 8 3.067059e+00 1.364867e+00 1.345912e+00 1.195355e+00 1.314161e+00 + 898 8 5.466926e+02 2.101668e+02 2.139597e+02 2.121055e+02 2.119232e+02 + 899 8 8.588262e+02 3.299177e+02 3.353426e+02 3.320546e+02 3.320350e+02 + 900 8 3.509522e+01 1.378330e+01 1.383951e+01 1.355203e+01 1.374057e+01 + 901 8 1.682842e-01 4.492604e-02 3.680949e-02 5.193287e-02 5.086252e-02 + 902 8 3.550641e-02 1.263426e-02 1.547997e-02 2.540599e-02 8.377271e-03 + 903 8 2.846467e-01 1.157566e-01 1.193378e-01 1.181789e-01 1.345008e-01 + 904 8 8.280222e-01 3.229577e-01 3.125091e-01 3.249374e-01 3.252029e-01 + 905 8 1.878810e-01 6.433783e-02 4.873997e-02 5.829425e-02 6.956485e-02 + 906 8 4.982504e-02 2.324190e-02 2.040467e-02 3.099688e-02 2.229206e-02 + 907 8 3.518997e-02 9.587818e-03 1.252062e-02 5.768396e-03 8.043231e-03 + 908 8 2.428842e-02 1.690625e-02 1.468132e-02 1.555658e-02 1.287402e-02 + 909 8 1.674641e-02 6.497527e-03 1.046590e-02 1.388742e-02 8.288214e-03 + 910 8 3.956515e-02 1.473554e-02 1.330559e-02 1.149536e-02 1.142403e-02 + 911 8 1.494895e-02 6.681183e-03 9.432783e-03 8.370415e-03 8.593120e-03 + 912 8 2.715260e-02 5.455053e-03 6.094795e-03 7.501643e-03 5.455654e-03 + 913 8 8.375207e-03 6.406888e-03 6.468987e-03 7.133205e-03 6.426152e-03 + 914 8 1.319506e-02 4.723150e-03 3.508033e-03 6.425260e-03 5.946804e-03 + 915 8 2.017796e-02 5.463484e-03 7.444871e-03 2.113058e-03 2.998293e-03 + 916 8 1.099331e-02 6.656909e-03 3.573130e-03 7.726075e-03 6.658633e-03 + 917 8 2.043605e-02 4.654821e-03 4.784309e-03 4.035084e-03 4.252786e-03 + 918 8 3.392680e-03 4.560062e-03 2.616771e-03 3.293694e-03 3.662154e-03 + 919 8 1.176103e-02 3.466884e-03 5.107405e-03 8.466810e-03 4.809513e-03 + 920 8 6.484911e-03 6.376535e-03 3.695797e-03 9.024290e-03 3.794840e-03 + 921 8 8.544948e-03 2.588956e-03 3.959150e-03 4.108658e-03 2.499072e-03 + 922 8 1.262387e-02 2.934764e-03 4.378898e-03 4.282187e-03 2.985640e-03 + 923 8 2.340722e-03 2.018577e-03 2.312208e-03 4.952804e-03 3.602816e-03 + 924 8 8.171021e-03 2.445610e-03 2.731613e-03 3.435840e-03 1.656267e-03 + 925 8 3.028295e-03 2.628490e-03 2.990525e-03 3.357584e-03 2.048692e-03 + 926 8 7.327215e-03 2.505956e-03 1.330494e-03 5.315366e-03 1.301427e-03 + 927 8 4.802044e-03 8.302070e-03 3.439619e-03 5.660474e-03 6.185257e-03 + 928 8 1.166093e-02 2.675782e-03 3.285201e-03 2.074411e-03 2.687724e-03 + 929 8 5.456111e-03 1.534362e-03 6.109042e-04 1.959090e-03 3.208200e-03 + 930 8 5.546328e-03 1.634908e-03 3.928194e-03 3.304513e-03 1.814024e-03 + 931 8 2.203224e-03 3.748205e-03 7.063983e-04 1.821780e-03 2.845078e-03 + 932 8 5.040364e-03 2.151095e-03 2.017934e-03 1.001752e-03 1.814088e-03 + 933 8 2.981011e-03 1.470283e-03 2.600416e-03 4.497083e-03 1.740547e-03 + 934 8 4.293268e-03 1.703096e-03 1.151943e-03 1.863631e-03 1.727446e-03 + 935 8 5.119358e-03 2.002895e-03 1.829458e-03 1.350099e-03 1.176580e-03 + 936 8 8.287239e-03 2.719087e-03 7.291335e-04 2.843255e-03 3.283234e-03 + 937 8 3.394982e-03 9.260215e-04 2.659970e-03 1.294683e-03 6.302079e-04 + 938 8 3.076507e-03 5.451768e-03 2.461251e-03 1.886410e-03 3.947989e-03 + 939 8 3.881651e-03 2.230652e-03 2.362344e-03 1.523409e-03 1.494322e-03 + 940 8 1.656417e-03 2.914754e-03 1.543709e-03 2.062422e-03 9.996061e-04 + 941 8 5.667405e-03 1.240698e-03 9.566353e-04 2.946863e-03 1.590516e-03 + 942 8 2.096634e-03 1.583477e-03 1.504678e-03 2.459022e-03 1.988344e-03 + 943 8 4.186508e-03 1.503081e-03 2.155623e-03 7.283203e-04 4.942620e-04 + 944 8 3.849821e-03 5.723978e-04 3.412667e-03 2.245722e-03 2.218617e-03 + 945 8 1.479049e-01 7.688712e-02 8.407926e-02 8.669811e-02 7.962723e-02 + 946 8 8.361383e-01 3.820795e-01 3.902793e-01 3.968848e-01 3.923693e-01 + 947 8 1.437310e-01 6.930094e-02 7.157804e-02 6.880368e-02 7.565955e-02 + 948 8 3.811143e-03 2.551143e-03 1.141511e-03 1.311961e-03 1.033148e-03 + 949 8 3.649058e-03 1.900645e-03 1.087379e-03 1.241727e-03 1.267322e-03 + 950 8 3.893659e-03 6.620127e-04 2.337141e-03 6.811996e-04 8.909811e-04 + 951 8 2.316071e-03 1.997926e-03 4.977203e-04 1.732582e-03 8.382925e-04 + 952 8 1.600233e-03 1.181593e-03 9.446385e-04 1.823223e-03 1.818781e-03 + 953 8 5.089062e-03 5.718773e-04 1.813191e-03 9.839079e-04 9.875485e-04 + 954 8 8.897681e-04 1.890865e-03 1.452387e-03 1.165077e-03 1.351599e-03 + 955 8 3.599624e-03 9.006766e-04 1.684440e-03 4.803574e-04 4.059803e-04 + 956 8 2.301546e-03 1.329754e-03 1.404803e-03 1.959279e-03 2.455196e-03 + 957 8 3.232783e-03 1.815101e-03 7.244222e-04 1.535812e-03 6.326564e-04 + 958 8 5.606340e-03 5.154702e-04 9.737919e-04 1.022981e-03 8.070028e-04 + 959 8 2.507010e-03 2.454903e-03 1.189241e-03 1.825530e-03 1.835893e-03 + 960 8 3.139259e-03 1.366607e-03 2.640879e-03 2.481079e-03 9.468236e-04 + 961 8 1.653307e-03 1.024716e-03 1.248708e-03 1.379069e-03 1.156649e-03 + 962 8 2.903188e-03 7.936143e-04 1.510653e-03 2.456494e-04 8.890127e-04 + 963 8 1.320779e-03 1.455655e-03 8.722558e-04 1.250200e-03 4.620172e-04 + 964 8 3.206887e-03 1.752993e-03 1.908007e-03 1.577893e-03 6.205687e-04 + 965 8 9.099816e-04 2.782205e-04 6.258056e-04 2.754297e-03 6.405153e-04 + 966 8 1.154413e-03 6.905815e-04 9.145116e-04 1.321431e-04 3.555815e-04 + 967 8 4.622869e-03 9.870246e-04 4.258870e-04 5.652030e-04 1.148589e-03 + 968 8 1.118102e-03 1.194613e-03 1.447488e-03 1.212686e-03 2.047971e-03 + 969 8 3.903449e-03 1.275477e-03 1.179908e-03 1.333514e-03 1.230728e-03 + 970 8 2.226094e-03 1.368982e-03 1.337319e-03 2.606524e-03 1.795341e-03 + 971 8 2.475672e-03 7.706462e-04 1.348080e-03 1.034560e-03 1.411345e-03 + 972 8 1.742208e-03 1.960349e-03 8.253900e-04 9.353206e-04 1.548389e-03 + 973 8 2.158155e-03 9.145760e-04 1.223393e-03 1.803820e-03 1.120656e-03 + 974 8 2.843479e-03 2.653285e-04 7.861110e-04 1.025318e-03 2.864526e-04 + 975 8 5.557169e-04 2.393926e-03 5.010856e-04 5.025147e-04 5.510951e-04 + 976 8 2.660878e-03 7.236122e-04 1.190837e-03 4.849118e-04 1.159520e-03 + 977 8 2.450386e-03 8.662290e-04 8.249616e-04 6.654496e-04 1.063539e-03 + 978 8 1.868961e-03 1.306098e-03 4.874855e-04 2.380898e-03 1.017084e-03 + 979 8 2.139360e-03 6.002098e-04 1.347509e-03 8.492742e-04 9.693298e-04 + 980 8 1.863178e-03 5.471889e-04 1.292395e-03 1.255433e-03 7.728577e-04 + 981 8 6.699960e-04 2.109361e-03 1.022497e-03 1.310423e-03 1.752980e-03 + 982 8 1.970255e-03 1.452458e-03 9.761792e-04 8.829835e-04 1.276655e-03 + 983 8 3.220723e-03 2.122729e-03 2.349285e-03 7.372803e-04 2.069694e-03 + 984 8 2.399855e-03 1.746392e-04 7.739597e-04 7.101749e-04 4.853556e-04 + 985 8 6.699028e-04 1.720128e-03 1.463787e-03 2.873446e-03 1.323105e-03 + 986 8 2.415580e-03 9.223539e-04 1.730709e-03 1.034319e-03 7.391925e-04 + 987 8 6.436883e-03 4.884130e-04 6.363643e-04 1.097547e-03 1.167903e-03 + 988 8 2.739129e-03 1.936614e-03 1.130677e-03 6.308146e-04 8.332386e-04 + 989 8 4.976344e-03 1.381493e-03 2.733249e-03 1.338469e-03 1.434067e-03 + 990 8 1.529376e-02 7.297848e-03 6.785337e-03 5.332863e-03 5.552971e-03 + 991 8 6.056801e-03 3.326685e-03 2.964781e-03 2.778143e-03 2.350298e-03 + 992 8 1.955790e-03 5.556024e-04 5.175947e-04 7.419852e-04 3.051065e-04 + 993 8 8.169200e-04 2.106446e-03 8.041071e-04 1.861789e-03 1.569498e-03 + 994 8 2.391528e-03 1.338886e-03 3.840998e-04 7.535442e-04 8.029219e-04 + 995 8 1.651320e-03 1.066291e-03 3.314434e-03 2.309250e-03 1.379866e-03 + 996 8 7.363993e-03 6.123524e-03 9.715149e-03 6.066024e-03 5.759944e-03 + 997 8 2.527218e-03 1.805498e-03 2.684973e-03 2.777860e-03 2.578017e-03 + 998 8 1.703161e-03 9.541288e-04 1.576987e-03 2.219468e-03 1.432778e-03 + 999 8 1.630790e-03 1.044114e-03 1.039124e-03 1.907381e-04 1.832894e-04 + 1000 8 1.358316e-03 1.694497e-03 1.760826e-03 9.490280e-04 1.410660e-03 + 1001 8 4.931950e-03 1.069318e-03 1.894045e-03 1.599131e-03 1.396757e-03 + 1002 8 1.172666e-02 7.427562e-03 5.854673e-03 2.344321e-03 5.986593e-03 + 1003 8 2.818048e-03 2.224919e-03 2.270508e-03 1.290384e-03 4.192412e-03 + 1004 8 1.014824e-03 1.479286e-03 1.250702e-03 8.779677e-04 1.586856e-03 + 1005 8 1.246047e-03 7.520191e-04 6.858032e-04 6.951559e-04 1.008081e-03 + 1006 8 1.704784e-03 1.706448e-03 3.649724e-04 8.898921e-04 1.189590e-03 + 1007 8 5.519842e-04 9.879531e-04 1.335876e-03 5.881849e-04 1.556363e-03 + 1008 8 3.002914e-03 8.244751e-04 8.197779e-04 9.355762e-04 5.847112e-04 + 1009 8 3.498479e-04 1.162858e-03 1.610597e-03 2.136001e-03 6.620692e-04 + 1010 8 2.375303e-03 3.700921e-04 5.260860e-04 1.093066e-03 3.222052e-04 + 1011 8 1.322731e-03 4.237807e-04 1.604119e-03 7.059531e-04 3.888020e-04 + 1012 8 1.054356e-03 9.993233e-04 1.188025e-03 1.941067e-03 9.001988e-04 + 1013 8 8.257030e-04 2.682159e-04 7.175744e-04 2.073416e-04 7.643562e-04 + 1014 8 9.644874e-04 1.900908e-03 4.153259e-03 1.428437e-03 2.149587e-03 + 1015 8 2.528455e-03 6.880596e-04 1.168779e-03 5.487912e-04 7.630871e-04 + 1016 8 2.253076e-03 8.416301e-04 6.171196e-04 5.879849e-04 4.041074e-04 + 1017 8 1.041518e-03 6.482266e-04 9.452197e-04 1.772332e-03 1.088620e-03 + 1018 8 1.526241e-03 2.746044e-04 4.085522e-04 3.717603e-04 6.430254e-04 + 1019 8 1.010232e-03 2.520399e-04 1.651617e-03 7.329950e-04 1.026153e-03 + 1020 8 3.218990e-03 3.918267e-04 2.628923e-04 4.711599e-04 5.722161e-04 + 1021 8 4.516198e-04 1.614301e-03 9.870701e-04 1.391587e-03 1.488622e-03 + 1022 8 2.336844e-03 2.036616e-03 1.813696e-03 1.806307e-03 6.568867e-04 + 1023 8 1.061925e-03 1.819922e-03 4.811702e-04 1.061237e-03 1.047406e-04 + 1024 8 9.982769e-04 2.685842e-04 1.052979e-03 4.219520e-04 9.347922e-04 + 1025 9 3.714653e+00 1.376515e+00 1.452129e+00 1.168953e+00 1.273647e+00 + 1026 9 5.467709e+02 2.097299e+02 2.113461e+02 2.103856e+02 2.103829e+02 + 1027 9 8.625369e+02 3.301197e+02 3.324707e+02 3.321694e+02 3.318772e+02 + 1028 9 3.472006e+01 1.345616e+01 1.362218e+01 1.362591e+01 1.373765e+01 + 1029 9 1.392754e-01 5.490943e-02 3.561097e-02 4.782568e-02 5.441958e-02 + 1030 9 4.077418e-02 2.702369e-02 1.601475e-02 1.847155e-02 2.608570e-02 + 1031 9 2.291520e-01 1.015509e-01 1.023191e-01 1.128990e-01 1.058587e-01 + 1032 9 9.834624e-01 3.508293e-01 3.825121e-01 3.852060e-01 3.704837e-01 + 1033 9 1.295380e-01 4.142575e-02 5.685801e-02 4.770657e-02 4.655633e-02 + 1034 9 5.106936e-02 3.222194e-02 2.584612e-02 3.810250e-02 3.123459e-02 + 1035 9 3.096149e-02 8.536971e-03 1.220747e-02 3.485350e-03 9.409147e-03 + 1036 9 2.899236e-02 2.286408e-02 1.733449e-02 2.180343e-02 1.492482e-02 + 1037 9 4.557023e-02 6.936063e-03 1.003131e-02 5.699729e-03 6.055382e-03 + 1038 9 2.314009e-02 1.605427e-02 2.127425e-02 1.927651e-02 1.719555e-02 + 1039 9 2.516599e-02 1.022617e-02 7.673219e-03 7.134254e-03 7.590745e-03 + 1040 9 1.974300e-02 5.633300e-03 8.658608e-03 8.141443e-03 8.801533e-03 + 1041 9 2.060603e-02 1.053592e-02 6.943268e-03 5.896735e-03 6.899885e-03 + 1042 9 7.596408e-03 3.752331e-03 3.837585e-03 2.402386e-03 3.677013e-03 + 1043 9 2.575105e-02 1.386834e-02 8.792378e-03 1.058356e-02 9.753698e-03 + 1044 9 1.264574e-02 3.841467e-03 7.951567e-03 4.788965e-03 5.553175e-03 + 1045 9 1.247504e-02 6.418796e-03 2.692972e-03 4.413138e-03 2.959528e-03 + 1046 9 1.321369e-02 1.203280e-03 5.602877e-03 2.238595e-03 5.982512e-03 + 1047 9 4.175383e-03 4.534188e-03 3.599368e-03 7.005242e-03 1.838373e-03 + 1048 9 1.711496e-02 6.745182e-03 8.934286e-03 5.636747e-03 9.799341e-03 + 1049 9 7.807610e-03 1.700053e-03 1.219280e-03 2.474756e-03 2.695455e-03 + 1050 9 7.606451e-03 3.386967e-03 4.783085e-03 2.858246e-03 4.267794e-03 + 1051 9 8.679182e-03 4.800343e-03 4.183510e-03 3.120223e-03 2.562053e-03 + 1052 9 8.406080e-03 4.483253e-03 4.575525e-03 4.553067e-03 4.839173e-03 + 1053 9 8.927193e-03 1.224847e-03 2.729473e-03 2.698441e-03 3.190106e-03 + 1054 9 3.795201e-03 4.343367e-03 2.307532e-03 4.029082e-03 3.532030e-03 + 1055 9 1.022418e-02 6.093556e-04 9.177485e-03 2.939831e-04 2.318806e-04 + 1056 9 5.770959e-03 5.075771e-03 2.603952e-03 5.016427e-03 6.268179e-03 + 1057 9 6.184523e-03 2.265921e-03 4.344929e-03 2.716619e-03 3.108725e-03 + 1058 9 6.507835e-03 2.286246e-03 1.158750e-03 8.386115e-04 1.079254e-03 + 1059 9 6.143254e-03 2.352976e-03 3.958081e-03 4.034791e-03 1.993687e-03 + 1060 9 6.136536e-03 2.959913e-03 1.667275e-03 3.276064e-03 3.518830e-03 + 1061 9 7.608665e-03 1.595341e-03 1.355457e-03 1.899942e-03 2.128128e-03 + 1062 9 5.221230e-03 2.787095e-03 1.009051e-03 2.258162e-03 1.567862e-03 + 1063 9 2.972973e-03 4.987102e-03 4.866326e-03 3.185408e-03 3.244522e-03 + 1064 9 8.874697e-03 4.513926e-03 1.589265e-03 1.148685e-03 1.928166e-03 + 1065 9 1.252370e-03 6.894374e-04 1.782908e-03 2.355784e-03 5.735730e-04 + 1066 9 4.123422e-03 3.402019e-03 2.093882e-03 4.841666e-03 4.612014e-03 + 1067 9 2.374547e-03 1.685472e-03 3.675374e-03 1.628356e-03 1.276701e-03 + 1068 9 3.310948e-03 2.496740e-03 3.700778e-03 2.349944e-03 2.635153e-03 + 1069 9 3.686579e-03 9.513600e-04 4.545985e-04 3.371767e-03 2.096894e-03 + 1070 9 2.624532e-03 1.683422e-03 2.782992e-03 1.842780e-03 1.204201e-03 + 1071 9 2.207648e-03 1.354451e-03 2.963431e-03 1.234297e-03 2.343698e-03 + 1072 9 3.484564e-03 8.901685e-04 1.328229e-03 1.413846e-03 1.729052e-03 + 1073 9 1.555059e-01 9.017256e-02 7.638240e-02 7.077831e-02 7.525920e-02 + 1074 9 8.425498e-01 4.679176e-01 4.244372e-01 4.161982e-01 4.123468e-01 + 1075 9 1.515761e-01 8.176843e-02 7.943985e-02 8.174225e-02 7.554953e-02 + 1076 9 2.298079e-03 9.904307e-04 1.915638e-03 1.681539e-03 1.861404e-03 + 1077 9 2.595335e-03 2.749321e-03 2.862647e-03 9.545233e-04 1.018680e-03 + 1078 9 4.914270e-03 5.505622e-04 2.160074e-03 1.285260e-03 1.196769e-03 + 1079 9 3.125841e-03 1.285270e-03 9.935982e-04 2.644796e-04 7.673161e-04 + 1080 9 4.295009e-03 3.719905e-03 2.480042e-03 2.595125e-03 3.070496e-03 + 1081 9 1.641765e-03 2.862457e-03 1.273436e-03 2.658638e-03 9.616369e-04 + 1082 9 4.236341e-03 8.967586e-04 1.226471e-03 1.591728e-03 2.016925e-03 + 1083 9 4.105766e-03 9.087278e-04 1.313170e-03 9.800237e-04 1.543286e-03 + 1084 9 1.650802e-03 1.026598e-03 1.236793e-03 1.896274e-03 6.488352e-04 + 1085 9 3.190665e-03 3.988497e-04 1.026991e-03 1.208556e-03 3.133614e-03 + 1086 9 2.365419e-03 2.115520e-03 2.019139e-03 1.387727e-03 2.137450e-03 + 1087 9 5.293043e-03 4.468563e-04 6.640608e-04 1.469858e-03 1.587885e-03 + 1088 9 1.088241e-03 1.493199e-03 1.035373e-03 1.095201e-04 1.532069e-03 + 1089 9 1.568157e-03 8.600979e-04 6.292665e-04 1.478069e-03 2.181617e-03 + 1090 9 2.314246e-03 5.639854e-04 1.291768e-03 6.315184e-04 7.266300e-04 + 1091 9 5.072914e-04 1.458156e-03 1.859140e-03 3.437807e-03 1.777066e-03 + 1092 9 2.573802e-03 1.096778e-03 6.412477e-04 1.112503e-03 9.191017e-04 + 1093 9 1.615824e-03 8.588476e-04 1.201469e-03 2.258406e-03 8.764560e-04 + 1094 9 1.575337e-03 1.760247e-03 1.371691e-03 1.583086e-03 2.024885e-03 + 1095 9 2.867315e-03 7.145119e-04 3.349239e-04 5.206291e-04 6.101716e-04 + 1096 9 1.524072e-03 1.706531e-03 1.155356e-03 9.763702e-04 5.869704e-04 + 1097 9 2.594595e-03 2.286422e-04 1.957759e-03 1.375219e-03 5.624024e-04 + 1098 9 2.106923e-03 1.197779e-03 1.948762e-03 1.367985e-03 1.149666e-03 + 1099 9 1.406476e-03 7.182456e-04 1.288038e-03 1.455621e-03 1.474822e-03 + 1100 9 3.390920e-03 6.089882e-04 3.098979e-04 2.638811e-04 1.072395e-03 + 1101 9 1.531520e-03 1.915789e-03 2.238666e-03 1.978884e-03 2.706445e-03 + 1102 9 2.255859e-03 6.938870e-04 1.114844e-03 7.250616e-04 3.591490e-04 + 1103 9 2.921121e-03 1.051509e-03 1.203829e-03 1.831692e-03 9.272261e-04 + 1104 9 1.102318e-03 1.179551e-03 3.913022e-04 9.875839e-04 4.874641e-04 + 1105 9 2.350344e-03 2.107144e-03 1.772365e-03 6.374024e-04 1.117043e-03 + 1106 9 2.343155e-03 1.002713e-03 1.536177e-03 1.809087e-03 2.214736e-03 + 1107 9 9.620284e-04 1.108975e-03 9.900898e-04 1.161187e-03 7.938784e-04 + 1108 9 1.154261e-03 5.657199e-04 1.089110e-03 2.449070e-03 8.577794e-04 + 1109 9 2.873351e-03 9.319628e-04 1.684365e-04 1.763106e-03 2.584627e-04 + 1110 9 4.484643e-04 1.834036e-03 1.269948e-03 3.395097e-03 1.978687e-03 + 1111 9 1.585772e-03 5.300352e-04 6.511898e-04 1.338133e-03 1.257355e-03 + 1112 9 3.488318e-03 1.111973e-03 2.388683e-03 1.196137e-03 9.811032e-04 + 1113 9 1.597115e-03 1.483379e-03 4.071329e-04 5.016313e-04 9.620961e-04 + 1114 9 3.024513e-03 8.984217e-04 1.339072e-03 4.934557e-04 4.162649e-04 + 1115 9 2.232604e-03 1.107664e-03 6.728560e-04 6.669454e-04 4.919316e-04 + 1116 9 2.792446e-03 1.853227e-03 1.050641e-03 4.053102e-04 1.386925e-03 + 1117 9 4.237394e-03 7.134802e-03 2.588128e-03 1.868365e-03 2.801877e-03 + 1118 9 1.353469e-02 7.550132e-03 4.726174e-03 6.347507e-03 7.395877e-03 + 1119 9 4.076820e-03 4.079434e-03 2.236077e-03 2.469616e-03 1.048391e-03 + 1120 9 8.853222e-04 4.083180e-04 7.074432e-04 5.638018e-04 1.534545e-03 + 1121 9 1.964423e-03 1.383995e-03 2.439108e-04 7.370817e-04 7.793881e-04 + 1122 9 1.507765e-03 8.897090e-04 1.182380e-03 1.719463e-03 2.308476e-03 + 1123 9 4.003239e-03 2.025864e-03 2.061369e-03 1.515069e-03 2.704800e-03 + 1124 9 5.512080e-03 5.248433e-03 6.614372e-03 5.456541e-03 1.051479e-02 + 1125 9 2.126402e-03 1.369034e-03 1.489856e-03 1.211655e-03 2.127553e-03 + 1126 9 1.240249e-03 4.160036e-04 4.877845e-04 1.888092e-03 1.085179e-03 + 1127 9 1.050016e-03 1.882263e-03 1.215850e-03 2.605638e-03 1.521304e-03 + 1128 9 1.729458e-03 1.034911e-03 1.419906e-04 1.592819e-03 6.176388e-04 + 1129 9 1.437318e-03 2.082511e-03 1.521510e-03 4.256811e-04 1.063538e-03 + 1130 9 1.191295e-02 4.251313e-03 3.302472e-03 3.286628e-03 4.887192e-03 + 1131 9 3.112709e-03 1.753780e-03 7.988187e-04 1.383796e-03 1.659558e-03 + 1132 9 3.107442e-03 2.071320e-04 1.794230e-04 2.763679e-04 3.065198e-04 + 1133 9 1.083463e-03 1.874515e-03 1.386539e-03 2.268514e-03 1.095933e-03 + 1134 9 3.487854e-03 4.379400e-04 9.948531e-04 6.644846e-04 5.980459e-04 + 1135 9 1.520964e-03 2.045311e-03 2.674798e-04 2.006773e-03 9.997893e-04 + 1136 9 1.702756e-03 1.072216e-04 8.477746e-04 1.046726e-03 7.280352e-04 + 1137 9 9.647560e-04 9.630819e-04 2.368430e-04 1.566318e-03 1.662923e-03 + 1138 9 2.303215e-03 1.335776e-03 7.219091e-04 2.264231e-03 8.900823e-04 + 1139 9 2.632727e-03 1.411503e-03 1.108941e-03 9.482478e-04 3.729180e-04 + 1140 9 2.365783e-03 2.249860e-03 1.046339e-03 8.856366e-04 1.238560e-03 + 1141 9 6.205485e-04 1.679042e-03 2.871067e-03 1.621839e-03 1.238221e-03 + 1142 9 2.599269e-03 1.754537e-03 3.027904e-03 6.415875e-04 1.691375e-03 + 1143 9 2.141848e-03 1.511527e-03 1.305343e-03 6.389852e-04 1.047018e-03 + 1144 9 1.393048e-03 1.030937e-03 1.103315e-03 1.180558e-03 1.148603e-03 + 1145 9 1.026094e-03 6.133273e-04 2.096990e-03 7.819944e-04 1.853218e-03 + 1146 9 1.682861e-03 6.629479e-04 2.147252e-03 1.181854e-03 2.695116e-03 + 1147 9 2.744614e-03 1.876843e-03 6.189855e-04 1.805132e-03 1.156837e-03 + 1148 9 6.474219e-03 3.575861e-04 3.466746e-04 1.711332e-03 3.391767e-04 + 1149 9 1.832512e-04 5.761390e-04 2.266214e-03 1.336614e-03 1.922652e-03 + 1150 9 1.421073e-03 1.111711e-03 1.010883e-03 1.188987e-03 1.179259e-03 + 1151 9 2.939829e-03 2.162205e-03 8.061754e-04 9.862699e-04 1.246184e-03 + 1152 9 1.002384e-03 1.352658e-03 2.024739e-04 2.264649e-03 1.280434e-03 + 1153 10 3.453279e+00 1.369382e+00 1.363250e+00 1.429954e+00 1.211159e+00 + 1154 10 5.476458e+02 2.087955e+02 2.106033e+02 2.104358e+02 2.099644e+02 + 1155 10 8.637365e+02 3.288254e+02 3.318457e+02 3.315344e+02 3.312804e+02 + 1156 10 3.521879e+01 1.330830e+01 1.348799e+01 1.349515e+01 1.355672e+01 + 1157 10 1.459004e-01 5.669608e-02 3.206497e-02 6.705521e-02 5.832765e-02 + 1158 10 5.233483e-02 2.337150e-02 2.117411e-02 2.102747e-02 2.421032e-02 + 1159 10 2.521530e-01 8.193161e-02 9.566549e-02 9.394809e-02 9.720106e-02 + 1160 10 1.034934e+00 3.473732e-01 3.636177e-01 3.321914e-01 3.462434e-01 + 1161 10 1.549672e-01 4.386039e-02 5.908563e-02 5.999842e-02 5.243915e-02 + 1162 10 6.157536e-02 2.180903e-02 2.313292e-02 2.615158e-02 1.458326e-02 + 1163 10 2.738375e-02 1.316526e-02 1.870023e-02 8.104725e-03 1.767746e-02 + 1164 10 3.787294e-02 1.423752e-02 1.103784e-02 1.474206e-02 1.594802e-02 + 1165 10 4.663144e-02 1.175050e-02 1.613322e-02 2.268532e-02 1.568677e-02 + 1166 10 3.868140e-02 7.011223e-03 6.816155e-03 8.280993e-03 1.042303e-02 + 1167 10 1.409077e-02 1.239316e-02 1.012600e-02 1.205125e-02 8.661314e-03 + 1168 10 2.315848e-02 1.076772e-02 8.875853e-03 9.573698e-03 8.151511e-03 + 1169 10 1.173358e-02 6.365855e-03 4.313055e-03 4.068202e-03 7.036256e-03 + 1170 10 1.945033e-02 1.018394e-02 1.164430e-02 1.424720e-02 1.115620e-02 + 1171 10 1.152012e-02 6.138819e-03 8.712611e-03 1.326377e-02 1.066810e-02 + 1172 10 1.757948e-02 7.800308e-03 3.400177e-03 6.471834e-03 3.602024e-03 + 1173 10 7.119925e-03 4.308500e-03 8.343098e-03 5.728205e-03 6.043512e-03 + 1174 10 1.142190e-02 2.485197e-03 1.652152e-03 3.362581e-03 3.543718e-03 + 1175 10 1.169862e-02 8.061409e-03 6.613088e-03 5.046557e-03 5.298731e-03 + 1176 10 1.053399e-02 3.802960e-03 3.347112e-03 2.969724e-03 2.402205e-03 + 1177 10 1.246011e-02 2.743912e-03 3.750834e-03 3.640410e-03 2.680098e-03 + 1178 10 7.296882e-03 3.322018e-03 1.948473e-03 5.420367e-03 4.890360e-03 + 1179 10 1.325710e-02 3.998889e-03 4.539551e-03 4.544608e-03 2.902622e-03 + 1180 10 4.027349e-03 2.808378e-03 4.034193e-03 2.823230e-03 3.797677e-03 + 1181 10 6.390306e-03 4.613938e-03 3.403866e-03 4.967126e-03 6.172778e-03 + 1182 10 8.522517e-03 1.820117e-03 1.695691e-03 2.219993e-03 2.810957e-03 + 1183 10 2.219328e-03 4.460060e-03 2.093786e-03 4.880243e-03 3.732637e-03 + 1184 10 9.014246e-03 1.050456e-03 2.916752e-03 7.095361e-04 1.539423e-03 + 1185 10 1.828514e-03 2.921420e-03 3.703870e-03 3.254256e-03 1.889037e-03 + 1186 10 1.478065e-02 8.810853e-04 2.383314e-03 2.965410e-03 3.294864e-03 + 1187 10 3.875524e-03 2.654931e-03 1.392900e-03 2.211428e-03 1.217470e-03 + 1188 10 3.413213e-03 2.896870e-03 2.980898e-03 3.253995e-03 1.254410e-03 + 1189 10 5.540525e-03 2.318590e-03 3.376224e-03 1.268505e-03 3.093350e-03 + 1190 10 2.665002e-03 2.138121e-03 2.162995e-03 1.444445e-03 7.621772e-04 + 1191 10 1.030911e-02 3.377241e-03 3.383170e-03 1.280010e-03 3.796269e-03 + 1192 10 1.558291e-03 8.988690e-04 1.057826e-03 3.316559e-03 1.064917e-03 + 1193 10 5.047578e-03 2.866668e-03 2.660219e-03 8.509996e-04 3.194204e-03 + 1194 10 2.552438e-03 2.034025e-03 6.073097e-03 9.447076e-04 2.465727e-03 + 1195 10 2.954111e-03 2.554106e-03 1.476409e-03 9.736517e-04 2.324108e-03 + 1196 10 4.466015e-03 1.522621e-03 2.372076e-03 2.719954e-03 1.288450e-03 + 1197 10 2.896224e-03 1.192277e-03 2.936175e-04 2.680406e-03 1.369722e-03 + 1198 10 3.011213e-03 4.970635e-04 1.200563e-03 1.228323e-03 1.462356e-03 + 1199 10 1.199971e-03 3.082001e-03 1.000283e-03 3.811734e-03 1.786934e-03 + 1200 10 2.270930e-03 1.098395e-03 2.933862e-03 5.631293e-04 2.267734e-03 + 1201 10 1.627296e-01 7.320634e-02 7.017168e-02 7.295422e-02 6.960397e-02 + 1202 10 8.925943e-01 4.205871e-01 4.256916e-01 4.251740e-01 4.142787e-01 + 1203 10 1.713220e-01 7.855166e-02 8.406016e-02 8.183067e-02 8.103870e-02 + 1204 10 2.959452e-03 2.156980e-03 1.289563e-03 4.744372e-03 3.418822e-03 + 1205 10 7.067304e-03 2.263456e-03 5.655659e-04 1.201812e-03 8.554328e-04 + 1206 10 5.067591e-04 1.455105e-03 3.194213e-03 2.771160e-03 2.912557e-03 + 1207 10 5.677901e-03 1.674448e-03 4.125368e-04 3.653671e-04 4.649481e-04 + 1208 10 5.101348e-03 2.062011e-03 2.336738e-03 2.314956e-03 2.016176e-03 + 1209 10 3.483003e-03 1.554182e-03 2.076016e-03 8.908072e-04 1.280049e-03 + 1210 10 5.669821e-04 2.191964e-03 1.326336e-03 2.528617e-03 2.113306e-03 + 1211 10 3.604698e-03 1.424611e-03 3.532592e-04 8.303974e-04 9.018705e-04 + 1212 10 2.977514e-03 1.784889e-03 1.766096e-03 1.852662e-03 2.628328e-03 + 1213 10 3.263472e-03 2.580514e-03 1.117618e-03 1.808923e-03 1.804547e-03 + 1214 10 4.328868e-03 1.495674e-03 8.691704e-04 1.937834e-04 7.370933e-04 + 1215 10 2.091902e-03 1.299672e-03 8.330161e-04 5.621307e-04 1.874224e-03 + 1216 10 2.685502e-03 1.397061e-03 1.481391e-03 1.721709e-03 1.166740e-03 + 1217 10 6.826446e-04 2.042719e-03 1.552774e-03 1.673447e-03 2.190651e-03 + 1218 10 8.227290e-03 3.022944e-04 1.012448e-03 9.183418e-04 8.609019e-04 + 1219 10 2.868307e-03 2.009259e-03 7.898340e-04 2.038003e-03 3.318083e-03 + 1220 10 3.649018e-03 1.782037e-04 8.972049e-04 4.671939e-04 8.995354e-04 + 1221 10 1.862250e-03 1.509407e-03 2.119725e-04 1.553092e-03 8.003561e-04 + 1222 10 8.228389e-04 2.464992e-03 2.384100e-03 1.750803e-03 1.451678e-03 + 1223 10 3.997836e-03 1.368894e-03 7.758081e-04 3.061155e-03 1.630826e-03 + 1224 10 9.053730e-04 4.552531e-04 5.834106e-04 1.380036e-03 3.263113e-04 + 1225 10 2.381780e-03 1.301497e-03 4.204522e-04 6.586275e-04 1.883167e-03 + 1226 10 8.004410e-04 1.680969e-03 1.810130e-03 2.331615e-03 1.178858e-03 + 1227 10 3.349100e-03 1.805487e-03 1.565726e-03 1.093754e-03 2.866076e-03 + 1228 10 2.674398e-03 9.701576e-04 9.957157e-04 5.179306e-04 8.242928e-04 + 1229 10 1.924648e-03 2.072956e-03 2.334260e-03 2.158904e-03 9.427286e-04 + 1230 10 1.312540e-03 8.075963e-04 1.416247e-03 4.868097e-04 9.051579e-04 + 1231 10 1.705389e-03 1.435565e-03 2.986181e-04 1.821908e-03 6.100972e-04 + 1232 10 4.262769e-03 1.261163e-03 1.881658e-03 6.766613e-04 2.154538e-03 + 1233 10 4.404780e-03 2.796342e-03 1.485725e-03 4.770021e-04 3.861728e-03 + 1234 10 3.758648e-03 1.284022e-03 1.015153e-03 1.424988e-03 1.500307e-03 + 1235 10 2.468204e-03 8.710491e-04 2.097136e-03 8.603457e-04 8.982726e-04 + 1236 10 2.268264e-03 3.741683e-04 4.318287e-04 1.528182e-03 5.317618e-04 + 1237 10 3.420187e-03 1.038385e-03 1.060819e-03 1.045700e-03 9.733377e-04 + 1238 10 1.256980e-03 7.295216e-04 8.650656e-04 4.512222e-04 8.649780e-04 + 1239 10 1.663046e-03 9.130477e-04 6.410115e-04 1.668598e-03 5.466513e-04 + 1240 10 2.059252e-03 2.665176e-04 3.993167e-04 8.420282e-04 4.113666e-04 + 1241 10 1.677103e-03 1.023912e-03 8.444106e-04 7.995191e-04 9.039812e-04 + 1242 10 1.059199e-03 1.263351e-03 1.419736e-03 3.482049e-04 2.252863e-03 + 1243 10 1.296477e-03 1.010355e-03 4.520541e-04 4.923081e-04 1.491245e-03 + 1244 10 4.234282e-03 1.221678e-03 1.609443e-03 1.913098e-03 2.633042e-03 + 1245 10 8.438325e-04 7.270479e-04 5.050811e-04 1.087177e-03 1.477372e-03 + 1246 10 1.415586e-02 6.289718e-03 7.077846e-03 8.830893e-03 8.735703e-03 + 1247 10 3.401787e-03 1.590879e-03 2.910203e-03 2.647623e-03 2.201317e-03 + 1248 10 2.168499e-03 1.610112e-03 1.300748e-03 1.367828e-03 9.264323e-04 + 1249 10 2.556324e-03 1.508809e-03 3.460500e-04 9.453161e-04 6.864796e-04 + 1250 10 5.914534e-03 4.545274e-04 5.533305e-04 3.935997e-04 8.486185e-04 + 1251 10 3.318446e-03 2.405315e-03 2.085872e-03 2.069810e-03 3.672054e-03 + 1252 10 6.793160e-03 7.173160e-03 5.977856e-03 6.204880e-03 1.005859e-02 + 1253 10 2.234120e-03 1.165209e-03 1.382900e-03 2.615880e-03 3.362322e-03 + 1254 10 5.585177e-04 1.348696e-03 7.506612e-04 4.486588e-04 1.752089e-03 + 1255 10 1.761496e-03 8.632263e-04 1.913073e-03 1.216417e-03 6.099063e-04 + 1256 10 2.257420e-03 2.146357e-04 5.023630e-04 3.428290e-04 4.215921e-04 + 1257 10 1.290217e-03 2.028579e-03 2.044850e-03 1.309506e-03 1.825653e-03 + 1258 10 4.686572e-03 5.062672e-03 4.772278e-03 4.544492e-03 3.268750e-03 + 1259 10 4.616568e-03 9.671821e-04 1.258990e-03 2.429654e-04 7.319185e-04 + 1260 10 7.075184e-04 1.110453e-03 1.419975e-03 1.423632e-03 1.713071e-03 + 1261 10 4.218775e-03 3.443440e-04 3.457790e-04 5.286950e-04 1.055248e-03 + 1262 10 1.218691e-03 1.544619e-03 2.620603e-03 8.947637e-04 1.955180e-03 + 1263 10 2.959061e-03 1.246001e-03 1.012576e-03 1.220652e-03 2.491360e-04 + 1264 10 2.859038e-03 1.777476e-03 1.122458e-03 1.109514e-03 3.422760e-04 + 1265 10 1.044082e-03 7.672318e-04 8.495615e-04 1.492035e-03 1.725764e-03 + 1266 10 2.733497e-03 9.046500e-04 1.219635e-04 6.344736e-04 1.092032e-03 + 1267 10 2.223964e-03 2.723680e-04 7.081435e-04 2.818630e-04 1.804442e-03 + 1268 10 1.603080e-03 8.716035e-04 1.750481e-03 1.046545e-03 2.022373e-03 + 1269 10 2.376197e-03 1.453457e-03 1.243458e-03 2.082623e-03 1.084393e-03 + 1270 10 6.933729e-03 3.832560e-03 2.616904e-03 1.859553e-03 2.067896e-03 + 1271 10 2.410874e-03 9.275896e-04 8.925144e-04 9.805997e-04 8.266308e-04 + 1272 10 1.546598e-03 1.041924e-03 4.412237e-04 8.679974e-04 4.889602e-04 + 1273 10 1.734062e-04 2.001716e-03 8.115970e-04 1.035340e-03 1.605228e-03 + 1274 10 4.529493e-03 9.688612e-04 6.449832e-04 6.101423e-04 2.682448e-04 + 1275 10 6.634467e-04 2.238702e-03 8.736356e-04 1.083581e-03 2.348909e-03 + 1276 10 3.032861e-03 5.243090e-04 5.968867e-04 5.152527e-04 8.201229e-04 + 1277 10 1.619311e-03 8.035228e-04 1.990639e-03 1.229923e-03 1.628624e-03 + 1278 10 2.410217e-03 7.915408e-04 3.340660e-04 2.824897e-04 3.193387e-04 + 1279 10 1.402372e-03 2.317827e-03 2.641270e-03 2.767718e-03 1.856651e-03 + 1280 10 8.294094e-03 2.082393e-03 9.200803e-04 1.325414e-03 4.540665e-04 + 1281 11 3.617654e+00 1.314648e+00 1.184437e+00 1.296658e+00 1.175016e+00 + 1282 11 5.491291e+02 2.096390e+02 2.110657e+02 2.099502e+02 2.095748e+02 + 1283 11 8.624775e+02 3.293813e+02 3.317297e+02 3.313671e+02 3.301816e+02 + 1284 11 3.507793e+01 1.362343e+01 1.364961e+01 1.349236e+01 1.343641e+01 + 1285 11 9.041713e-02 2.600621e-02 1.928072e-02 3.098468e-02 4.664111e-02 + 1286 11 9.190540e-02 3.648417e-02 3.182197e-02 3.271198e-02 4.364753e-02 + 1287 11 2.500969e-01 1.177103e-01 1.235890e-01 1.208265e-01 1.130588e-01 + 1288 11 8.895518e-01 3.517331e-01 3.564981e-01 3.403058e-01 3.470526e-01 + 1289 11 1.613220e-01 6.791131e-02 6.300892e-02 7.706748e-02 6.206499e-02 + 1290 11 5.030510e-02 2.139667e-02 2.110554e-02 1.273063e-02 1.585087e-02 + 1291 11 3.516889e-02 9.873456e-03 1.061114e-02 1.526711e-02 1.955002e-02 + 1292 11 3.271003e-02 1.276953e-02 1.133233e-02 1.153285e-02 8.162959e-03 + 1293 11 5.011553e-02 1.845262e-02 1.997100e-02 2.609227e-02 1.668949e-02 + 1294 11 2.233030e-02 9.588264e-03 8.187708e-03 9.343276e-03 1.061085e-02 + 1295 11 2.156788e-02 9.783528e-03 8.174410e-03 9.355026e-03 9.705394e-03 + 1296 11 1.499736e-02 5.146356e-03 9.616312e-03 6.901642e-03 7.198180e-03 + 1297 11 1.452284e-02 1.367908e-02 4.109396e-03 6.060598e-03 8.862136e-03 + 1298 11 2.195185e-02 1.284105e-02 8.698074e-03 1.332112e-02 1.051582e-02 + 1299 11 1.048416e-02 2.178369e-03 3.432353e-03 1.923513e-03 3.870670e-03 + 1300 11 1.109124e-02 7.256793e-03 7.124710e-03 6.491241e-03 5.397409e-03 + 1301 11 1.455328e-02 1.182081e-02 7.875704e-03 5.795971e-03 8.137399e-03 + 1302 11 1.206998e-02 3.194368e-03 2.959858e-03 4.394325e-03 3.627464e-03 + 1303 11 9.122937e-03 5.118822e-03 3.719394e-03 6.849728e-03 4.550459e-03 + 1304 11 1.014624e-02 4.357079e-03 3.211929e-03 4.531265e-03 2.887024e-03 + 1305 11 8.416979e-03 4.031938e-03 6.321805e-03 4.531271e-03 5.155376e-03 + 1306 11 7.230085e-03 1.831338e-03 1.209882e-03 2.497969e-03 2.410298e-03 + 1307 11 1.215094e-02 2.484969e-03 3.121125e-03 1.803040e-03 2.348141e-03 + 1308 11 3.794274e-03 4.938908e-03 4.543947e-03 4.926915e-03 3.347879e-03 + 1309 11 1.456258e-02 1.419172e-03 1.828838e-03 1.893359e-03 2.041689e-03 + 1310 11 7.285498e-03 3.271439e-03 2.878097e-03 3.381106e-03 4.180832e-03 + 1311 11 3.298306e-03 6.421373e-03 5.414363e-03 7.306896e-03 2.541153e-03 + 1312 11 9.891450e-03 7.643882e-04 2.406551e-03 6.385557e-04 5.861088e-04 + 1313 11 2.819980e-03 5.423244e-03 6.777831e-03 3.967911e-03 2.977194e-03 + 1314 11 1.003517e-02 2.447468e-03 2.579184e-03 2.405595e-03 2.006439e-03 + 1315 11 6.451911e-03 3.561007e-03 4.560362e-03 2.927564e-03 2.799711e-03 + 1316 11 2.456810e-03 1.798631e-03 2.374025e-03 4.698254e-03 3.846804e-03 + 1317 11 5.570927e-03 1.617851e-03 1.825682e-03 7.470314e-04 1.218361e-03 + 1318 11 5.519921e-03 1.590485e-03 6.064862e-04 1.869062e-03 3.657641e-03 + 1319 11 1.066116e-02 7.672509e-04 1.060478e-03 1.675830e-03 8.415603e-04 + 1320 11 4.122357e-03 4.721093e-03 2.132373e-03 3.094311e-03 3.958011e-03 + 1321 11 5.021839e-03 4.514794e-04 2.354856e-03 1.201804e-03 1.070814e-03 + 1322 11 2.186063e-03 2.392148e-03 1.846087e-03 1.141526e-03 5.428533e-03 + 1323 11 3.275473e-03 1.211306e-03 5.933188e-03 1.010624e-03 2.021273e-03 + 1324 11 1.600531e-03 4.316934e-03 1.420595e-03 2.650255e-03 2.760675e-03 + 1325 11 5.704537e-03 9.092508e-04 2.718171e-04 7.564247e-04 6.547739e-04 + 1326 11 3.804608e-03 4.548269e-03 1.159543e-03 4.143885e-03 2.129891e-03 + 1327 11 4.606797e-03 2.209273e-03 7.031137e-03 1.473265e-03 2.478937e-03 + 1328 11 3.703097e-03 3.324053e-03 7.551747e-04 3.144931e-03 2.502671e-03 + 1329 11 1.401555e-01 7.587473e-02 7.002302e-02 8.226802e-02 8.106271e-02 + 1330 11 8.305304e-01 4.019088e-01 4.058132e-01 4.318991e-01 4.172491e-01 + 1331 11 1.639225e-01 7.628200e-02 7.499121e-02 7.733342e-02 7.608134e-02 + 1332 11 2.298451e-03 2.073335e-03 2.354692e-03 1.707928e-03 1.749374e-03 + 1333 11 2.805291e-03 9.170223e-04 1.255633e-03 1.406250e-03 4.324787e-03 + 1334 11 1.797150e-03 1.256564e-03 2.943231e-03 1.040315e-03 3.333108e-04 + 1335 11 2.648659e-03 5.698025e-04 7.895188e-05 1.385312e-03 1.342045e-03 + 1336 11 2.545241e-03 2.139784e-03 1.248127e-03 7.391357e-04 3.827486e-03 + 1337 11 2.886423e-03 9.043112e-04 1.268258e-03 2.207542e-03 1.073325e-03 + 1338 11 2.588867e-03 7.200528e-04 1.328507e-03 2.026555e-03 2.226239e-03 + 1339 11 2.651837e-03 1.801586e-03 1.766917e-03 1.257088e-03 6.696686e-04 + 1340 11 1.455451e-03 2.429826e-03 1.401532e-03 1.665631e-03 2.620319e-03 + 1341 11 2.179605e-03 2.210501e-03 1.420743e-03 3.215985e-03 2.163329e-03 + 1342 11 3.416714e-03 1.270590e-03 1.053784e-03 1.637453e-03 1.918552e-03 + 1343 11 1.575953e-03 1.951362e-03 2.653907e-03 2.354526e-03 2.433702e-03 + 1344 11 4.932612e-03 1.051052e-03 9.361603e-04 1.494839e-03 1.015651e-03 + 1345 11 1.166144e-03 2.214800e-03 7.831337e-04 1.783613e-03 1.525692e-03 + 1346 11 2.259456e-03 1.175649e-03 5.300785e-04 1.802703e-03 1.213742e-03 + 1347 11 2.182591e-03 9.737506e-04 1.372249e-03 2.539776e-03 2.200910e-03 + 1348 11 3.456466e-03 1.086935e-03 8.798392e-04 4.191329e-04 1.287281e-03 + 1349 11 4.345265e-03 2.534421e-03 9.809656e-04 5.961004e-04 2.017858e-03 + 1350 11 2.746590e-03 1.584317e-03 2.851929e-03 1.421846e-03 1.955350e-03 + 1351 11 1.951164e-03 1.461622e-03 7.475631e-04 1.948590e-03 1.389948e-03 + 1352 11 2.523972e-03 5.831922e-04 1.184417e-03 7.050487e-04 9.129284e-05 + 1353 11 7.341838e-04 1.359880e-03 2.048138e-03 2.449418e-03 1.559335e-03 + 1354 11 1.984405e-03 1.324593e-03 7.386194e-04 1.337069e-03 6.203936e-04 + 1355 11 5.163187e-03 1.190308e-03 5.552598e-04 4.589692e-04 3.417652e-04 + 1356 11 1.937782e-03 3.814925e-03 2.186766e-03 2.062332e-03 2.706313e-03 + 1357 11 1.161777e-03 7.955567e-04 6.004349e-04 5.056007e-04 8.735584e-04 + 1358 11 2.693265e-03 1.513557e-03 1.069051e-03 7.511916e-04 1.194034e-03 + 1359 11 2.143242e-03 4.690855e-04 1.142487e-03 1.725089e-03 2.599307e-03 + 1360 11 1.018714e-03 6.778157e-04 6.579932e-04 2.255467e-04 1.173240e-03 + 1361 11 2.128020e-03 1.937293e-03 1.557261e-03 7.193885e-04 1.275179e-03 + 1362 11 1.302936e-03 7.867831e-04 8.621315e-04 5.526938e-04 3.363946e-04 + 1363 11 1.746686e-03 2.586629e-03 2.503777e-03 6.473567e-04 1.069439e-03 + 1364 11 6.279353e-04 9.666640e-04 7.563615e-04 5.810698e-04 7.778216e-04 + 1365 11 1.967044e-03 2.490828e-03 1.548209e-03 2.391321e-03 8.055667e-04 + 1366 11 3.110221e-03 1.362838e-03 5.597884e-04 1.973449e-03 7.304654e-04 + 1367 11 3.254272e-04 1.167728e-03 1.611166e-03 2.326601e-03 1.827631e-03 + 1368 11 4.235875e-03 1.356391e-03 6.577248e-04 1.091069e-03 3.722589e-04 + 1369 11 1.432006e-03 1.469807e-03 7.686513e-04 1.998701e-03 6.522540e-04 + 1370 11 1.573619e-03 8.622032e-04 7.817291e-04 5.045463e-04 1.798095e-03 + 1371 11 2.354947e-03 1.650380e-03 1.797782e-03 8.990502e-04 1.598437e-03 + 1372 11 2.884643e-03 7.058721e-04 7.758888e-04 9.879596e-04 1.215295e-03 + 1373 11 3.890785e-03 2.468578e-03 3.531802e-03 1.760584e-03 2.136934e-03 + 1374 11 1.227838e-02 5.661959e-03 7.571713e-03 5.893588e-03 8.302280e-03 + 1375 11 4.338335e-03 2.467201e-03 2.158762e-03 1.935917e-03 3.128479e-03 + 1376 11 1.633975e-03 1.336117e-03 5.978360e-04 1.107903e-03 4.931619e-04 + 1377 11 1.941537e-03 1.072462e-03 9.136201e-04 4.091669e-04 2.648686e-03 + 1378 11 4.802300e-03 1.485588e-03 2.958235e-04 7.358297e-04 7.385570e-04 + 1379 11 4.045621e-03 3.768746e-03 3.564145e-03 2.534880e-03 4.233261e-03 + 1380 11 2.121589e-03 7.403400e-03 7.476517e-03 4.553517e-03 5.635864e-03 + 1381 11 1.599897e-03 2.420316e-03 3.058331e-03 2.013197e-03 2.184933e-03 + 1382 11 2.650674e-03 5.674457e-04 1.155134e-03 1.345726e-03 7.335734e-04 + 1383 11 2.235361e-03 1.208267e-04 4.974355e-04 3.947982e-04 2.522136e-04 + 1384 11 2.510237e-03 8.371161e-04 1.072929e-03 1.167967e-03 5.645293e-04 + 1385 11 3.249940e-03 1.709698e-03 3.273755e-03 2.168510e-03 1.690523e-03 + 1386 11 1.376629e-02 5.460737e-03 5.535333e-03 8.230682e-03 3.962855e-03 + 1387 11 3.198050e-03 8.532036e-04 3.528289e-03 3.444612e-03 2.573209e-03 + 1388 11 3.616752e-03 7.211820e-04 4.005252e-04 5.937655e-04 1.238738e-03 + 1389 11 7.007180e-04 1.282376e-03 1.148221e-03 1.071215e-03 1.630388e-03 + 1390 11 1.752470e-03 8.551940e-04 7.694625e-04 7.636056e-04 9.672101e-04 + 1391 11 1.100481e-03 4.504765e-04 2.003386e-04 4.605872e-04 7.665128e-04 + 1392 11 3.388028e-03 4.289073e-04 1.031443e-03 2.075602e-03 6.123413e-04 + 1393 11 3.169653e-04 1.035368e-03 6.060844e-04 1.396526e-04 7.871290e-04 + 1394 11 1.078281e-03 7.719826e-04 9.132354e-04 1.374936e-03 1.578334e-03 + 1395 11 3.214893e-03 2.304907e-04 4.045960e-04 8.728796e-04 2.672808e-04 + 1396 11 1.670980e-03 1.274986e-03 1.096520e-03 1.982667e-03 1.837657e-03 + 1397 11 4.389360e-03 1.433756e-03 1.251330e-03 1.872231e-03 9.263292e-04 + 1398 11 3.610425e-03 3.802830e-03 2.888965e-03 2.578566e-03 2.588986e-03 + 1399 11 3.362303e-03 4.442529e-04 7.118578e-04 1.020323e-03 1.579857e-03 + 1400 11 2.436506e-03 1.777053e-03 1.299700e-03 7.284069e-04 1.450681e-04 + 1401 11 1.601907e-03 1.240134e-03 1.376841e-03 2.166266e-03 7.204838e-04 + 1402 11 3.390003e-03 1.104491e-03 1.020475e-03 3.650503e-04 1.001088e-03 + 1403 11 1.158019e-03 1.176364e-03 6.371613e-04 1.466564e-03 4.615034e-04 + 1404 11 2.447263e-03 1.632326e-03 1.077039e-03 1.429249e-03 9.794160e-04 + 1405 11 1.022006e-03 6.255197e-04 1.264963e-03 1.256690e-03 6.020808e-04 + 1406 11 2.121006e-03 1.089464e-03 5.074821e-04 9.708512e-04 8.276505e-04 + 1407 11 8.447982e-04 1.086606e-03 6.903151e-04 8.998361e-04 2.676132e-04 + 1408 11 1.235311e-03 8.861921e-04 9.976890e-04 1.518156e-04 3.539397e-04 + 1409 12 3.447027e+00 1.287614e+00 1.200377e+00 1.259923e+00 1.191105e+00 + 1410 12 5.483849e+02 2.085974e+02 2.109215e+02 2.112489e+02 2.101856e+02 + 1411 12 8.626580e+02 3.272837e+02 3.314307e+02 3.313962e+02 3.299269e+02 + 1412 12 3.528885e+01 1.349697e+01 1.382116e+01 1.357844e+01 1.384725e+01 + 1413 12 1.292733e-01 5.660394e-02 2.725978e-02 7.396295e-02 5.485792e-02 + 1414 12 4.459431e-02 1.436407e-02 1.005575e-02 1.614633e-02 9.321969e-03 + 1415 12 3.266479e-01 1.106057e-01 1.111610e-01 8.930352e-02 1.230952e-01 + 1416 12 9.107601e-01 3.117650e-01 2.759480e-01 2.634077e-01 2.889351e-01 + 1417 12 1.808408e-01 6.265002e-02 6.845604e-02 6.075052e-02 6.573783e-02 + 1418 12 5.270025e-02 1.890344e-02 2.379875e-02 3.171768e-02 2.742104e-02 + 1419 12 2.971659e-02 1.407921e-02 7.683175e-03 4.573412e-03 8.940796e-03 + 1420 12 3.243336e-02 1.200977e-02 2.214360e-02 2.261473e-02 1.528476e-02 + 1421 12 2.460764e-02 9.042354e-03 3.240494e-03 9.667702e-03 8.536155e-03 + 1422 12 3.911099e-02 1.392740e-02 1.466288e-02 2.166366e-02 1.389281e-02 + 1423 12 2.209716e-02 7.331497e-03 1.483727e-02 5.748416e-03 7.010255e-03 + 1424 12 1.602931e-02 1.472752e-02 8.174635e-03 1.415662e-02 9.049736e-03 + 1425 12 1.753309e-02 3.960844e-03 4.451450e-03 2.366920e-03 6.374121e-03 + 1426 12 8.381028e-03 2.727097e-03 5.405443e-03 5.162316e-03 4.201364e-03 + 1427 12 2.288296e-02 8.027902e-03 8.315311e-03 9.375557e-03 1.079408e-02 + 1428 12 1.899758e-02 6.729734e-03 5.297050e-03 4.913653e-03 6.403015e-03 + 1429 12 7.588633e-03 6.850645e-03 3.964457e-03 1.250684e-02 2.903460e-03 + 1430 12 1.437294e-02 3.505570e-03 4.348427e-03 2.246440e-03 5.104351e-03 + 1431 12 6.295473e-03 6.606007e-03 6.422342e-03 5.391018e-03 2.616656e-03 + 1432 12 5.669586e-03 1.640299e-03 2.292415e-03 4.398935e-03 5.911207e-03 + 1433 12 1.319811e-02 2.705544e-03 2.539125e-03 2.623706e-03 1.511443e-03 + 1434 12 9.376341e-03 2.141858e-03 1.949141e-03 3.049027e-03 3.899534e-03 + 1435 12 1.583262e-03 5.756471e-03 8.606998e-03 6.831606e-03 2.730817e-03 + 1436 12 1.453771e-02 1.299357e-03 1.138589e-03 1.533488e-03 3.594384e-03 + 1437 12 4.888379e-03 1.441087e-03 1.967114e-03 1.351098e-03 7.475452e-04 + 1438 12 8.309242e-03 4.637567e-03 3.989003e-03 2.710272e-03 4.190309e-03 + 1439 12 6.754077e-03 2.580342e-03 9.681640e-04 1.889674e-03 2.094861e-03 + 1440 12 4.283967e-03 1.976777e-03 5.167502e-03 3.605653e-03 1.929639e-03 + 1441 12 4.296011e-03 2.080449e-03 1.707879e-03 1.437078e-03 4.393424e-03 + 1442 12 5.307239e-03 1.253727e-03 1.655467e-03 1.041476e-03 1.411709e-03 + 1443 12 4.771773e-03 3.153497e-03 2.932994e-03 4.222671e-03 3.933180e-03 + 1444 12 2.755031e-03 1.872805e-03 1.009080e-03 1.206822e-03 1.384649e-03 + 1445 12 6.144245e-03 2.259890e-03 3.789065e-03 1.795657e-03 1.884903e-03 + 1446 12 7.199729e-03 4.934761e-03 1.373678e-03 8.086046e-04 1.601817e-03 + 1447 12 5.508273e-03 1.812567e-03 2.232836e-03 1.987375e-03 2.659226e-03 + 1448 12 2.900111e-03 2.495749e-03 1.918623e-03 2.469491e-03 1.567631e-03 + 1449 12 8.123196e-03 1.020706e-03 6.123422e-04 4.716180e-04 6.430147e-04 + 1450 12 1.555640e-03 3.055286e-03 4.557835e-03 2.990880e-03 3.596955e-03 + 1451 12 6.236586e-03 2.466368e-03 1.210827e-03 3.012825e-04 2.469732e-03 + 1452 12 5.113112e-03 1.682881e-03 2.349510e-03 3.343723e-03 2.516095e-03 + 1453 12 4.502812e-03 1.867737e-03 3.867445e-03 2.707547e-03 6.542970e-04 + 1454 12 3.150713e-03 1.325692e-03 3.215231e-03 2.301002e-03 1.564355e-03 + 1455 12 2.600009e-03 2.776071e-03 1.592578e-03 2.334589e-03 1.473429e-03 + 1456 12 1.158232e-03 2.832998e-03 3.654533e-03 4.257457e-03 1.319074e-03 + 1457 12 1.462283e-01 7.328260e-02 7.810599e-02 8.283093e-02 7.038084e-02 + 1458 12 7.573609e-01 3.842673e-01 3.984486e-01 4.116028e-01 3.729989e-01 + 1459 12 1.374516e-01 6.984157e-02 7.597900e-02 8.061721e-02 6.631224e-02 + 1460 12 4.141000e-03 1.586358e-03 1.117217e-03 1.595758e-03 1.428538e-03 + 1461 12 5.043922e-03 8.391020e-04 9.156770e-04 1.257314e-03 1.599855e-03 + 1462 12 3.685224e-04 1.714135e-03 2.584304e-03 7.794557e-04 2.189516e-03 + 1463 12 6.687807e-03 1.198940e-03 1.466154e-03 1.561643e-03 1.355200e-03 + 1464 12 1.448128e-03 8.429007e-04 4.405714e-04 4.637230e-04 1.178603e-03 + 1465 12 2.327789e-03 7.684844e-04 1.808886e-03 7.484363e-04 1.248357e-03 + 1466 12 3.430752e-03 3.142264e-04 9.006394e-04 8.121316e-04 9.292283e-04 + 1467 12 4.184253e-04 3.922878e-03 1.372393e-03 3.298148e-03 3.379728e-03 + 1468 12 4.899050e-03 7.049458e-04 4.648272e-04 7.050806e-04 4.017551e-04 + 1469 12 1.993158e-03 7.267034e-04 8.895954e-04 1.887412e-03 1.500594e-03 + 1470 12 1.775331e-03 2.272210e-03 1.006729e-03 1.702974e-03 1.958161e-03 + 1471 12 6.546599e-03 1.266029e-03 7.160937e-04 1.540767e-03 2.328494e-03 + 1472 12 1.274718e-03 1.220372e-03 1.970376e-03 1.873189e-03 2.985528e-03 + 1473 12 4.367134e-03 2.029280e-03 6.543153e-04 1.949535e-03 9.541631e-04 + 1474 12 1.446734e-03 1.626524e-03 7.828195e-04 1.022213e-03 3.079317e-03 + 1475 12 1.523104e-03 6.986047e-04 1.189042e-03 8.562663e-04 4.952603e-04 + 1476 12 2.343558e-03 5.885177e-04 1.208739e-03 2.791702e-03 3.153027e-03 + 1477 12 4.751627e-03 5.085269e-04 9.239249e-04 7.657071e-04 1.642130e-03 + 1478 12 2.175036e-03 8.137714e-04 9.921546e-04 8.211176e-04 1.028886e-03 + 1479 12 8.937954e-04 1.118872e-03 1.970584e-03 4.566082e-03 2.523186e-03 + 1480 12 2.136391e-03 1.488335e-04 2.344933e-04 5.591643e-04 6.730653e-04 + 1481 12 2.413684e-03 1.526330e-03 1.368612e-03 9.093804e-04 6.358289e-04 + 1482 12 2.030367e-03 1.220557e-03 5.408392e-04 6.186588e-04 1.280798e-03 + 1483 12 1.385322e-03 2.310919e-03 6.791686e-04 7.421425e-04 1.631866e-03 + 1484 12 2.413573e-03 1.371604e-04 1.211215e-03 4.890776e-04 4.180057e-04 + 1485 12 2.686910e-03 1.344069e-03 1.353694e-03 2.459320e-03 1.199683e-03 + 1486 12 3.627619e-03 9.086559e-04 1.394314e-03 4.376969e-03 1.697606e-03 + 1487 12 1.871309e-03 9.064157e-04 1.028232e-03 2.449182e-03 3.494508e-04 + 1488 12 4.309769e-03 1.093384e-03 4.992259e-04 7.178218e-04 1.108934e-03 + 1489 12 1.461342e-03 4.588135e-04 1.315811e-03 1.053542e-03 9.798664e-04 + 1490 12 1.587224e-03 1.055120e-03 2.107687e-03 1.224655e-03 5.387190e-04 + 1491 12 1.762915e-03 8.790561e-04 1.251970e-03 1.524549e-03 1.276800e-03 + 1492 12 1.981854e-03 1.554703e-03 1.152626e-03 1.133780e-03 1.095716e-03 + 1493 12 1.807768e-03 6.096408e-04 7.282392e-04 6.721642e-04 8.096392e-04 + 1494 12 1.205609e-03 6.673025e-04 5.943484e-04 1.322733e-03 1.036269e-03 + 1495 12 2.497156e-03 1.012465e-03 1.122070e-03 1.577960e-03 1.092566e-03 + 1496 12 1.857646e-03 1.119001e-03 1.887196e-03 1.301163e-03 1.885516e-03 + 1497 12 3.621041e-03 1.032341e-03 8.578426e-04 1.007362e-03 1.697024e-03 + 1498 12 6.385974e-04 2.347660e-03 1.802125e-03 9.392497e-04 1.462905e-04 + 1499 12 1.290293e-03 8.846726e-04 8.492990e-04 5.895480e-04 1.176437e-03 + 1500 12 9.958762e-04 1.422295e-03 5.059065e-04 5.221756e-04 8.852927e-04 + 1501 12 3.123315e-03 2.123149e-03 2.193263e-03 6.236845e-04 1.468633e-03 + 1502 12 1.292872e-02 8.658871e-03 1.039202e-02 4.094257e-03 4.807965e-03 + 1503 12 4.099827e-03 3.873976e-03 2.146644e-03 1.190795e-03 1.031654e-03 + 1504 12 1.953589e-03 4.153547e-04 9.624784e-04 3.524744e-04 7.167101e-04 + 1505 12 8.022316e-04 1.289634e-03 3.752864e-04 4.524257e-04 9.575396e-04 + 1506 12 4.672101e-03 5.033486e-04 6.350139e-04 7.290721e-04 1.988585e-04 + 1507 12 1.865718e-03 1.430501e-03 3.446568e-03 1.658435e-03 2.919884e-03 + 1508 12 6.323979e-03 1.054350e-02 1.198409e-02 8.245840e-03 1.224103e-02 + 1509 12 2.843983e-03 2.934524e-03 3.784402e-03 2.869372e-03 3.932568e-03 + 1510 12 1.872670e-03 1.217491e-03 1.184370e-03 1.163028e-03 1.175704e-03 + 1511 12 4.874331e-03 1.482027e-03 1.766506e-03 1.365776e-03 6.492028e-04 + 1512 12 1.620958e-03 1.246458e-03 1.042347e-03 1.373910e-03 1.637348e-03 + 1513 12 5.712366e-03 2.966587e-03 3.322799e-03 2.742374e-03 2.845123e-03 + 1514 12 1.408612e-02 6.139837e-03 6.353574e-03 7.915706e-03 8.394999e-03 + 1515 12 3.960326e-03 2.409917e-03 2.309067e-03 2.690821e-03 3.577383e-03 + 1516 12 2.088464e-03 9.680479e-04 1.314030e-03 1.819349e-03 1.615749e-03 + 1517 12 7.206607e-04 6.660418e-04 1.801466e-03 1.042372e-03 5.383184e-04 + 1518 12 1.489201e-03 1.566842e-03 5.191782e-04 7.652219e-04 9.411954e-04 + 1519 12 1.520761e-03 8.618200e-04 5.725087e-04 9.969512e-04 5.278250e-04 + 1520 12 1.247746e-03 1.131598e-03 1.133851e-03 7.447743e-04 8.074664e-04 + 1521 12 1.489196e-03 1.846160e-03 1.052356e-03 1.375131e-03 3.327655e-04 + 1522 12 1.300986e-03 1.317752e-03 1.297225e-03 1.763320e-03 1.586765e-03 + 1523 12 2.153786e-03 6.053683e-04 1.333013e-03 1.533311e-03 2.313278e-04 + 1524 12 1.355688e-03 3.753525e-04 1.159004e-03 9.169706e-04 1.459947e-03 + 1525 12 1.004764e-03 6.870595e-04 1.628421e-03 7.468662e-04 8.111362e-04 + 1526 12 3.718203e-03 2.809053e-03 2.174574e-03 1.362906e-03 2.613164e-03 + 1527 12 1.097119e-03 1.476665e-03 1.514749e-03 1.034399e-03 1.387074e-03 + 1528 12 1.192409e-03 1.585751e-03 6.327575e-04 1.968148e-04 1.693407e-03 + 1529 12 2.351277e-03 2.966591e-04 4.544284e-04 7.048560e-04 1.200128e-03 + 1530 12 1.330022e-03 1.429888e-03 2.358821e-03 1.663404e-03 1.377240e-03 + 1531 12 1.762675e-03 3.220124e-04 9.109688e-04 1.396881e-03 6.748550e-04 + 1532 12 1.258260e-03 6.071419e-04 6.914399e-04 5.212842e-04 8.472860e-04 + 1533 12 1.693998e-03 1.458066e-04 1.599881e-03 2.046808e-03 6.926846e-04 + 1534 12 3.843866e-03 2.324250e-04 1.558760e-03 1.253992e-03 6.154272e-04 + 1535 12 2.099674e-03 9.324058e-04 7.148728e-04 1.229732e-03 1.235598e-03 + 1536 12 5.360792e-03 1.236958e-03 1.130949e-03 1.577291e-03 2.350973e-04 + 1537 13 3.700228e+00 1.433987e+00 1.303727e+00 1.354406e+00 1.245745e+00 + 1538 13 5.472128e+02 2.089139e+02 2.109696e+02 2.101653e+02 2.100844e+02 + 1539 13 8.619208e+02 3.286765e+02 3.330200e+02 3.320105e+02 3.319459e+02 + 1540 13 3.486429e+01 1.338939e+01 1.357040e+01 1.356465e+01 1.337877e+01 + 1541 13 2.933837e-02 9.250208e-03 1.861058e-02 9.846592e-03 1.034190e-02 + 1542 13 1.175395e-01 4.607539e-02 2.891607e-02 4.147200e-02 3.969470e-02 + 1543 13 2.461847e-01 8.574968e-02 1.023623e-01 8.590176e-02 1.025852e-01 + 1544 13 1.010705e+00 3.796001e-01 3.619983e-01 3.632694e-01 4.033495e-01 + 1545 13 1.601667e-01 4.318733e-02 5.845262e-02 4.232790e-02 5.386285e-02 + 1546 13 3.691144e-02 1.095354e-02 8.600015e-03 5.733692e-03 1.544584e-02 + 1547 13 5.193249e-02 1.766258e-02 3.395902e-02 3.375658e-02 1.985080e-02 + 1548 13 3.031250e-02 1.904641e-02 1.114040e-02 1.320329e-02 1.535301e-02 + 1549 13 3.693173e-02 5.293182e-03 1.246356e-02 7.708388e-03 8.895192e-03 + 1550 13 2.971229e-02 1.745826e-02 1.057764e-02 1.499949e-02 1.665128e-02 + 1551 13 1.640131e-02 6.409588e-03 1.226118e-02 1.455644e-02 6.736417e-03 + 1552 13 1.847052e-02 1.290158e-02 1.067791e-02 9.219030e-03 1.119033e-02 + 1553 13 2.348695e-02 5.441767e-03 5.090008e-03 7.313485e-03 8.540186e-03 + 1554 13 8.331844e-03 3.629393e-03 3.084264e-03 4.512631e-03 3.743716e-03 + 1555 13 2.752898e-02 1.362164e-02 9.513028e-03 9.714366e-03 1.006087e-02 + 1556 13 1.025479e-02 4.162128e-03 6.118145e-03 5.467023e-03 3.894779e-03 + 1557 13 1.299080e-02 5.083103e-03 4.779535e-03 6.494470e-03 7.591925e-03 + 1558 13 7.975230e-03 4.127751e-03 5.440360e-03 4.385828e-03 4.550578e-03 + 1559 13 1.163911e-02 2.307086e-03 3.969737e-03 2.268194e-03 2.837332e-03 + 1560 13 1.356252e-02 6.248358e-03 3.393586e-03 6.508430e-03 7.123631e-03 + 1561 13 8.400643e-03 2.526746e-03 3.597175e-03 2.345739e-03 2.133513e-03 + 1562 13 7.838757e-03 3.764977e-03 2.766065e-03 2.534366e-03 3.696236e-03 + 1563 13 1.026325e-02 2.862020e-03 1.662825e-03 4.776270e-03 3.458745e-03 + 1564 13 5.760229e-03 5.981013e-03 6.666351e-03 5.584359e-03 3.748743e-03 + 1565 13 1.089743e-02 8.615715e-04 1.816833e-03 3.989624e-03 3.983504e-03 + 1566 13 4.828366e-03 5.484830e-03 4.534722e-03 2.198633e-03 2.819033e-03 + 1567 13 7.634683e-03 3.956584e-03 2.778133e-03 4.068764e-03 2.194426e-03 + 1568 13 5.288806e-03 7.248373e-03 7.101250e-03 6.971803e-03 4.043404e-03 + 1569 13 1.440294e-02 3.274658e-03 7.805725e-04 3.128851e-03 2.203888e-03 + 1570 13 3.414912e-03 3.833954e-03 1.957935e-03 4.190438e-03 2.365351e-03 + 1571 13 1.040679e-02 3.693453e-03 5.649660e-03 2.752165e-03 2.330425e-03 + 1572 13 6.826572e-03 3.115891e-03 5.077457e-03 3.506051e-03 4.537848e-03 + 1573 13 4.583885e-03 1.776920e-03 2.994253e-03 1.923866e-03 2.829642e-03 + 1574 13 3.834585e-03 3.609689e-03 1.610655e-03 3.282504e-03 5.335228e-03 + 1575 13 7.144492e-03 1.117519e-03 2.077342e-03 1.075595e-03 1.362350e-03 + 1576 13 5.962355e-03 2.793345e-03 4.414356e-03 2.843491e-03 4.112341e-03 + 1577 13 3.823876e-03 2.124777e-03 1.114750e-03 6.303310e-04 8.884578e-04 + 1578 13 4.962600e-03 3.488064e-03 4.072231e-03 2.108734e-03 1.540745e-03 + 1579 13 4.230952e-03 3.487192e-03 1.633640e-03 1.999527e-03 2.298256e-03 + 1580 13 1.513976e-03 1.356247e-03 3.033168e-03 1.275307e-03 2.513158e-03 + 1581 13 4.614698e-03 8.077723e-04 2.040072e-03 1.918355e-03 7.062197e-04 + 1582 13 1.915229e-03 2.956809e-03 1.994688e-03 1.094669e-03 1.356701e-03 + 1583 13 3.760818e-03 9.469652e-04 1.779474e-03 2.135020e-03 1.008660e-03 + 1584 13 3.017023e-03 1.273249e-03 1.298632e-03 1.055561e-03 2.080187e-03 + 1585 13 1.730033e-01 7.476534e-02 8.521717e-02 7.790329e-02 8.155780e-02 + 1586 13 9.282171e-01 3.951828e-01 4.280564e-01 4.197496e-01 4.312218e-01 + 1587 13 1.720195e-01 7.640361e-02 8.621977e-02 8.027576e-02 7.989709e-02 + 1588 13 2.828171e-03 1.190527e-03 7.004392e-04 1.476722e-03 1.721112e-03 + 1589 13 4.257023e-03 1.576703e-03 1.543080e-03 3.408456e-04 5.665743e-04 + 1590 13 3.156882e-03 7.866698e-04 1.298488e-03 2.137985e-03 1.771655e-03 + 1591 13 2.058246e-03 2.449082e-03 9.553694e-04 7.582383e-04 1.570910e-03 + 1592 13 4.513432e-03 5.731584e-03 5.328270e-03 2.658946e-03 3.206687e-03 + 1593 13 4.284700e-03 1.589915e-03 1.743723e-03 1.991108e-03 2.059198e-03 + 1594 13 2.612174e-03 2.021411e-03 2.833748e-04 6.110811e-04 1.343062e-03 + 1595 13 1.150351e-03 6.715106e-04 1.911410e-03 6.476164e-04 1.516841e-03 + 1596 13 5.935118e-03 6.313901e-04 2.554413e-04 6.907201e-04 4.224163e-04 + 1597 13 1.165734e-03 4.250437e-03 1.519028e-03 1.495809e-03 2.003819e-03 + 1598 13 6.037122e-03 1.587669e-03 6.175722e-04 1.113469e-03 9.460429e-04 + 1599 13 1.764955e-03 1.120498e-03 1.586710e-03 8.951408e-04 9.562366e-04 + 1600 13 8.217905e-04 1.489579e-03 7.866816e-04 1.808175e-03 1.808985e-03 + 1601 13 2.714538e-03 4.341615e-04 1.107594e-03 1.549772e-03 1.033754e-03 + 1602 13 1.923575e-03 1.401659e-03 1.940954e-03 1.813134e-03 1.655817e-03 + 1603 13 5.161814e-03 5.472889e-04 8.033102e-04 1.140830e-03 5.856396e-04 + 1604 13 1.370812e-03 2.294099e-03 1.503395e-03 1.582291e-03 1.162814e-03 + 1605 13 1.417380e-03 8.899782e-04 1.030818e-03 1.331620e-03 2.370168e-03 + 1606 13 2.120468e-03 1.799908e-03 1.240033e-03 1.365464e-03 4.732883e-04 + 1607 13 1.132226e-03 8.270878e-04 7.423267e-04 4.210712e-04 2.035053e-04 + 1608 13 4.369335e-03 6.563247e-04 6.669177e-04 9.754496e-04 2.059116e-03 + 1609 13 9.647910e-04 1.235203e-03 1.504010e-03 1.749675e-03 1.450955e-03 + 1610 13 2.569393e-03 1.026978e-03 3.858719e-04 8.249097e-04 2.959058e-03 + 1611 13 3.393903e-03 1.047598e-03 1.197639e-03 9.113828e-04 1.588796e-03 + 1612 13 2.339930e-03 1.246586e-03 1.015757e-03 1.293250e-03 1.358544e-03 + 1613 13 9.713869e-04 6.607184e-04 1.223990e-03 4.828989e-04 1.253302e-03 + 1614 13 1.990072e-03 2.559439e-03 4.736856e-04 1.478551e-03 1.212020e-03 + 1615 13 3.658645e-03 5.980039e-04 7.571080e-04 5.866541e-04 1.907165e-03 + 1616 13 4.719280e-04 2.307641e-03 3.036710e-03 1.013329e-03 1.863044e-03 + 1617 13 2.358331e-03 1.326726e-03 3.845791e-04 3.674140e-04 6.106629e-04 + 1618 13 3.277422e-03 2.644204e-03 3.385797e-03 2.251524e-03 1.977140e-03 + 1619 13 2.110731e-03 5.461785e-04 1.379851e-03 9.319086e-04 1.521052e-03 + 1620 13 1.440441e-03 3.555735e-04 1.297367e-03 1.098397e-03 1.260614e-03 + 1621 13 1.985062e-03 1.106453e-03 1.624585e-03 2.152709e-04 2.327964e-03 + 1622 13 2.890466e-03 1.003878e-03 1.578067e-03 1.707991e-03 5.973109e-04 + 1623 13 1.561849e-03 1.711390e-03 1.188473e-03 1.118433e-03 3.109624e-04 + 1624 13 3.049150e-03 9.294237e-04 1.126132e-03 5.131788e-04 7.839311e-04 + 1625 13 1.422373e-03 1.155349e-03 1.801590e-03 5.749017e-04 1.700813e-03 + 1626 13 3.189580e-03 8.894258e-04 1.996086e-04 6.741202e-04 2.535073e-04 + 1627 13 4.178403e-04 1.324411e-03 8.641036e-04 1.233841e-03 7.380952e-04 + 1628 13 2.380932e-03 9.132572e-04 9.935576e-04 6.094469e-04 4.145715e-04 + 1629 13 3.627839e-03 3.958095e-03 1.547966e-03 1.501441e-03 2.463303e-03 + 1630 13 1.898277e-02 8.962154e-03 4.526392e-03 6.479146e-03 7.705026e-03 + 1631 13 5.455210e-03 2.029699e-03 2.036630e-03 1.808242e-03 2.054246e-03 + 1632 13 1.548076e-03 1.143059e-04 1.042324e-03 8.903018e-04 6.034016e-04 + 1633 13 2.418079e-03 1.133390e-03 9.270304e-04 8.570275e-04 1.292068e-03 + 1634 13 3.220698e-03 2.895734e-04 5.575802e-04 6.720416e-04 1.024793e-03 + 1635 13 1.309477e-03 3.289700e-03 2.690447e-03 3.676773e-03 4.206294e-03 + 1636 13 1.565250e-03 9.407394e-03 7.432268e-03 8.436775e-03 8.459845e-03 + 1637 13 1.315421e-03 2.243268e-03 1.682120e-03 2.859631e-03 1.929133e-03 + 1638 13 1.220510e-03 2.759327e-04 3.818169e-04 7.727893e-04 2.187694e-03 + 1639 13 2.688420e-03 2.039618e-03 3.985971e-04 1.145960e-03 9.152901e-04 + 1640 13 1.974465e-03 6.538364e-04 6.227568e-04 4.268115e-04 2.485606e-04 + 1641 13 2.257797e-03 1.952516e-03 1.389399e-03 1.436538e-03 2.639644e-03 + 1642 13 1.004911e-02 5.654601e-03 5.280303e-03 5.688856e-03 8.304571e-03 + 1643 13 4.835684e-03 1.101107e-03 1.475502e-03 1.307872e-03 2.053477e-03 + 1644 13 2.919660e-03 1.252125e-03 9.961170e-04 1.168562e-03 6.896410e-04 + 1645 13 3.572878e-03 4.618989e-04 1.739878e-03 1.184176e-03 1.309834e-03 + 1646 13 2.831860e-03 8.783138e-04 5.072818e-04 6.795310e-04 9.698800e-04 + 1647 13 1.603469e-03 8.560569e-04 2.421267e-03 1.174709e-03 1.745870e-03 + 1648 13 1.514750e-03 8.019563e-04 1.650108e-03 1.837701e-03 2.348476e-03 + 1649 13 3.805004e-03 5.608879e-04 1.158780e-03 9.084437e-04 1.432527e-03 + 1650 13 1.893643e-03 1.020015e-03 7.556661e-04 1.011303e-03 7.985071e-04 + 1651 13 1.725448e-03 9.184110e-05 1.049876e-03 8.216695e-04 5.047912e-04 + 1652 13 1.979608e-03 1.023822e-03 8.373146e-04 9.123407e-04 9.983479e-04 + 1653 13 2.699102e-03 6.992083e-04 9.873004e-04 1.764582e-03 1.607969e-03 + 1654 13 5.854861e-03 4.058276e-03 2.954086e-03 2.005832e-03 4.907059e-03 + 1655 13 3.822800e-03 6.178905e-04 1.645931e-03 8.172185e-04 1.145197e-03 + 1656 13 2.215312e-03 5.542860e-04 9.279075e-04 1.103132e-03 4.138884e-04 + 1657 13 1.635675e-03 4.898965e-04 1.182811e-03 2.066793e-03 8.026514e-04 + 1658 13 8.372290e-04 9.831607e-04 2.442596e-03 2.068534e-03 2.384074e-03 + 1659 13 1.187106e-03 5.429774e-04 3.507830e-04 7.702501e-04 1.201702e-03 + 1660 13 8.024564e-04 3.645388e-04 6.257831e-04 4.140509e-04 1.754023e-03 + 1661 13 1.358766e-03 1.070480e-03 1.181779e-04 7.106335e-04 1.134457e-03 + 1662 13 4.943854e-04 1.173899e-03 9.067245e-04 1.301001e-03 1.125301e-03 + 1663 13 1.643521e-03 5.559346e-04 4.542761e-04 6.403491e-04 1.307459e-03 + 1664 13 1.156684e-03 2.295018e-04 8.202054e-05 2.203371e-04 3.698412e-04 + 1665 14 3.546988e+00 1.431166e+00 1.446476e+00 1.302581e+00 1.283544e+00 + 1666 14 5.464866e+02 2.093052e+02 2.112018e+02 2.107253e+02 2.092481e+02 + 1667 14 8.615603e+02 3.284711e+02 3.322055e+02 3.319708e+02 3.292061e+02 + 1668 14 3.536894e+01 1.311525e+01 1.347249e+01 1.346940e+01 1.328798e+01 + 1669 14 3.157583e-02 1.624921e-02 1.760802e-02 9.788208e-03 1.642520e-02 + 1670 14 1.089896e-01 3.996572e-02 4.214284e-02 4.118718e-02 4.278078e-02 + 1671 14 2.234422e-01 1.129152e-01 8.647828e-02 1.213781e-01 8.617630e-02 + 1672 14 8.996462e-01 3.882416e-01 3.714720e-01 4.119449e-01 3.414769e-01 + 1673 14 1.093685e-01 6.701790e-02 6.416449e-02 6.655973e-02 5.801807e-02 + 1674 14 3.803235e-02 9.359425e-03 6.385569e-03 6.833591e-03 1.555667e-02 + 1675 14 5.499897e-02 2.971662e-02 2.458582e-02 3.996733e-02 2.516310e-02 + 1676 14 2.264107e-02 1.203094e-02 1.674843e-02 1.003522e-02 1.363582e-02 + 1677 14 5.760949e-02 2.210244e-02 1.396398e-02 1.605656e-02 1.325545e-02 + 1678 14 1.440846e-02 1.952479e-02 1.501964e-02 1.932489e-02 1.817324e-02 + 1679 14 3.754015e-02 4.510562e-03 9.093371e-03 5.817458e-03 6.580617e-03 + 1680 14 1.483311e-02 1.297529e-02 8.666909e-03 8.920005e-03 1.121113e-02 + 1681 14 2.090427e-02 5.018289e-03 7.529611e-03 1.010214e-02 9.144247e-03 + 1682 14 1.593065e-02 7.091659e-03 4.114403e-03 6.600423e-03 4.406437e-03 + 1683 14 1.901177e-02 6.615097e-03 8.867362e-03 7.948505e-03 6.901482e-03 + 1684 14 1.019842e-02 6.837434e-03 4.979713e-03 8.982336e-03 6.837721e-03 + 1685 14 1.427575e-02 2.237937e-03 2.987246e-03 1.910276e-03 4.420296e-03 + 1686 14 1.068206e-02 4.718786e-03 6.012673e-03 6.275481e-03 4.776525e-03 + 1687 14 7.368328e-03 5.685927e-03 6.618534e-03 3.152720e-03 6.951625e-03 + 1688 14 2.413338e-02 2.851818e-03 2.299695e-03 3.120421e-03 2.866177e-03 + 1689 14 6.016518e-03 3.100141e-03 1.740525e-03 5.769951e-03 2.876462e-03 + 1690 14 5.712490e-03 5.336283e-03 5.270801e-03 3.805691e-03 8.071530e-03 + 1691 14 1.057372e-02 2.795737e-03 2.927982e-03 1.845844e-03 1.357732e-03 + 1692 14 5.602366e-03 3.206549e-03 8.075696e-03 4.343979e-03 4.305094e-03 + 1693 14 1.090703e-02 5.165901e-03 2.048856e-03 6.038645e-03 1.987849e-03 + 1694 14 5.360944e-03 5.415889e-03 3.955674e-03 5.428589e-03 4.642676e-03 + 1695 14 6.183823e-03 2.161736e-03 3.738163e-03 1.601702e-03 1.530135e-03 + 1696 14 3.668773e-03 3.706871e-03 3.216507e-03 3.035072e-03 5.712730e-03 + 1697 14 1.165358e-02 1.771923e-03 3.465764e-03 4.269203e-03 2.295859e-03 + 1698 14 6.795610e-03 4.091125e-03 4.307577e-03 3.472306e-03 5.394993e-03 + 1699 14 6.473554e-03 2.442328e-03 2.040207e-03 1.934425e-03 1.937984e-03 + 1700 14 5.190825e-03 2.141675e-03 3.315336e-03 2.756531e-03 2.712928e-04 + 1701 14 4.463871e-03 4.626812e-03 3.008329e-03 4.906947e-03 3.393102e-03 + 1702 14 4.199904e-03 1.411974e-03 1.761672e-03 3.782967e-03 1.433795e-03 + 1703 14 6.552241e-03 2.364234e-03 3.346495e-03 1.503286e-03 2.739987e-03 + 1704 14 3.721221e-03 8.362369e-04 4.892589e-04 3.453593e-03 1.114897e-03 + 1705 14 1.977315e-03 1.849315e-03 1.413533e-03 2.984995e-03 1.135194e-03 + 1706 14 5.791365e-03 4.889716e-03 2.760244e-03 2.908853e-03 6.463308e-03 + 1707 14 7.148810e-03 5.410143e-03 3.365755e-03 3.704571e-03 3.211192e-03 + 1708 14 7.763325e-03 1.537314e-03 1.833814e-03 8.233314e-04 2.146660e-03 + 1709 14 3.427307e-03 2.428860e-03 4.353243e-03 1.189023e-03 1.816948e-03 + 1710 14 1.408125e-03 1.024154e-03 4.219441e-04 1.186743e-03 3.289714e-03 + 1711 14 7.583406e-03 1.508380e-03 1.668770e-03 6.387354e-04 4.953386e-04 + 1712 14 3.451338e-03 1.173411e-03 6.044644e-04 3.403188e-03 5.947235e-04 + 1713 14 1.527516e-01 7.726716e-02 8.137888e-02 7.314890e-02 7.670882e-02 + 1714 14 8.604392e-01 4.182001e-01 4.562978e-01 4.227247e-01 4.369242e-01 + 1715 14 1.746887e-01 7.758324e-02 8.582186e-02 8.196311e-02 8.759623e-02 + 1716 14 8.814798e-04 2.256067e-03 3.044393e-03 3.236804e-03 3.633681e-03 + 1717 14 2.280029e-03 8.634890e-04 1.386071e-03 1.931148e-03 5.704563e-04 + 1718 14 5.282351e-03 2.891140e-04 4.650371e-04 1.278353e-03 1.410121e-03 + 1719 14 2.904743e-03 5.057495e-03 1.906244e-03 3.721303e-03 2.168354e-03 + 1720 14 4.267189e-03 1.302120e-03 1.820215e-03 1.705390e-03 1.428805e-03 + 1721 14 4.562882e-03 8.902721e-04 1.473274e-03 1.739986e-03 1.419969e-03 + 1722 14 1.840932e-03 2.225479e-03 1.465671e-03 2.877453e-03 3.690479e-03 + 1723 14 3.262896e-03 1.596154e-03 2.758510e-03 3.064429e-04 1.358778e-03 + 1724 14 3.930778e-03 2.274692e-03 1.346743e-03 9.324475e-04 1.409002e-03 + 1725 14 2.512634e-03 2.154809e-03 1.225313e-03 4.067461e-04 6.833121e-04 + 1726 14 1.331484e-03 1.482646e-03 1.829597e-03 1.226813e-03 6.404348e-04 + 1727 14 1.948954e-03 8.985868e-04 1.029316e-03 9.602174e-04 1.418733e-03 + 1728 14 1.065274e-03 2.198215e-03 2.779164e-03 3.015866e-03 2.780220e-03 + 1729 14 4.068429e-03 5.908494e-04 1.467389e-03 8.103267e-04 5.105916e-04 + 1730 14 1.981222e-03 1.295528e-03 6.841032e-04 1.579923e-03 8.259683e-04 + 1731 14 1.101166e-03 1.294155e-03 1.803249e-03 1.587047e-03 7.051837e-04 + 1732 14 2.329232e-03 5.709203e-04 2.412759e-03 1.573232e-03 1.526376e-03 + 1733 14 4.236771e-03 1.976189e-03 6.799004e-04 7.872270e-04 7.448568e-04 + 1734 14 3.023580e-03 1.665132e-03 1.300409e-03 2.216254e-03 1.216115e-03 + 1735 14 8.124137e-04 2.780993e-03 4.564341e-03 2.544147e-03 2.642672e-03 + 1736 14 2.991499e-03 1.399334e-03 2.342095e-03 2.340920e-03 1.776749e-03 + 1737 14 2.679290e-03 1.173863e-03 2.811140e-03 1.762081e-03 1.088113e-03 + 1738 14 2.156569e-03 1.508810e-03 7.120774e-04 2.424513e-03 9.261365e-04 + 1739 14 2.084689e-03 5.832584e-04 8.553965e-04 1.594240e-03 7.155582e-04 + 1740 14 1.514614e-03 1.830382e-03 2.430793e-03 3.474738e-03 2.981331e-03 + 1741 14 4.255857e-03 8.257013e-04 5.710385e-04 1.113309e-03 6.898451e-04 + 1742 14 3.615704e-03 6.743899e-04 4.062832e-04 1.210132e-03 3.345032e-04 + 1743 14 1.302558e-03 5.987148e-04 1.158923e-03 1.619376e-03 2.431440e-03 + 1744 14 3.198599e-03 9.898701e-04 5.734384e-04 6.797155e-04 1.634451e-03 + 1745 14 1.430743e-03 1.046095e-03 7.679421e-04 2.343350e-03 1.290530e-03 + 1746 14 4.431215e-03 7.251578e-04 2.683748e-03 2.569375e-03 1.139846e-03 + 1747 14 4.511593e-03 1.420145e-03 1.459532e-03 1.404123e-03 8.263241e-04 + 1748 14 5.940501e-04 6.895576e-04 1.835467e-03 2.397678e-03 2.270561e-03 + 1749 14 3.980082e-03 6.346680e-04 4.890395e-04 1.238507e-03 1.172637e-03 + 1750 14 1.650553e-03 4.549384e-04 1.149828e-03 9.179262e-04 4.642944e-03 + 1751 14 3.293116e-03 7.614844e-04 1.669291e-03 7.239155e-04 6.063518e-04 + 1752 14 2.220832e-03 7.622219e-04 1.549909e-03 1.046682e-03 1.130835e-03 + 1753 14 1.225131e-03 6.486911e-04 1.071393e-03 9.190203e-04 8.991367e-04 + 1754 14 1.130875e-03 1.926313e-03 8.636808e-04 4.668349e-04 1.193477e-03 + 1755 14 1.217703e-03 6.412465e-04 5.943233e-04 1.077192e-03 9.157795e-04 + 1756 14 1.546454e-03 1.536937e-03 1.349332e-03 4.520921e-04 7.846535e-04 + 1757 14 3.343396e-03 1.287415e-03 1.648400e-03 1.661738e-03 1.575037e-03 + 1758 14 1.243187e-02 4.196049e-03 2.532737e-03 6.569015e-03 5.298026e-03 + 1759 14 3.377852e-03 1.742054e-03 2.312837e-03 1.845634e-03 1.501882e-03 + 1760 14 6.132577e-04 8.167994e-05 4.037762e-04 8.303869e-04 3.254766e-04 + 1761 14 1.528684e-03 2.190461e-03 2.729920e-04 3.929102e-04 4.353750e-04 + 1762 14 2.102686e-03 1.647851e-03 1.129037e-03 1.020974e-03 1.339859e-03 + 1763 14 1.652292e-03 2.400386e-03 2.179744e-03 2.845619e-03 3.169938e-03 + 1764 14 2.185298e-03 7.874510e-03 9.482725e-03 1.218390e-02 9.512213e-03 + 1765 14 2.303735e-03 2.935989e-03 3.379937e-03 3.842381e-03 3.348498e-03 + 1766 14 1.225500e-03 1.831981e-03 1.188049e-03 3.888882e-04 9.346820e-04 + 1767 14 1.394742e-03 1.736666e-03 5.483863e-04 2.090497e-03 1.314921e-03 + 1768 14 1.854669e-03 7.558671e-04 6.729060e-04 8.727877e-04 3.530730e-04 + 1769 14 3.719616e-03 3.089539e-03 1.849074e-03 1.382959e-03 1.451851e-03 + 1770 14 1.612489e-02 6.196169e-03 5.159829e-03 4.961410e-03 4.703394e-03 + 1771 14 4.619995e-03 1.911396e-03 1.262721e-03 2.418796e-03 2.214570e-03 + 1772 14 9.698261e-04 1.090605e-03 1.503255e-03 2.333800e-03 1.971062e-03 + 1773 14 1.537299e-03 6.147309e-04 5.130047e-04 1.105201e-03 3.667237e-04 + 1774 14 1.065501e-03 5.849069e-04 6.774109e-04 1.547769e-03 2.593518e-04 + 1775 14 1.080592e-03 1.082410e-03 1.918107e-04 9.892136e-04 5.490381e-04 + 1776 14 1.304063e-03 2.085924e-03 7.033761e-04 1.117778e-03 9.560485e-04 + 1777 14 1.882887e-03 7.851288e-04 1.016616e-03 8.170840e-04 6.583871e-04 + 1778 14 1.475706e-03 1.449508e-03 9.845970e-04 1.108131e-03 1.020046e-03 + 1779 14 3.268337e-03 2.182479e-04 7.881170e-04 1.051453e-03 6.108949e-04 + 1780 14 2.786288e-03 1.277847e-03 1.247682e-03 1.075936e-03 1.492748e-03 + 1781 14 2.471899e-03 1.524627e-03 8.503176e-04 1.187515e-03 2.043848e-03 + 1782 14 5.740073e-03 2.149335e-03 7.428727e-04 1.037518e-03 1.227424e-03 + 1783 14 1.205504e-03 3.344631e-03 1.486322e-03 1.302325e-03 2.614060e-03 + 1784 14 1.575846e-03 1.675756e-03 8.431316e-04 2.604973e-04 6.422745e-04 + 1785 14 1.005933e-03 1.043922e-03 1.147947e-03 1.249359e-03 1.304742e-03 + 1786 14 3.974476e-04 1.822218e-03 1.114288e-03 9.724063e-04 6.700300e-04 + 1787 14 1.598965e-03 1.158456e-03 1.890683e-03 1.127591e-03 1.583654e-03 + 1788 14 9.730171e-04 4.409331e-04 8.944706e-04 5.732533e-04 1.101293e-03 + 1789 14 6.415698e-04 9.379407e-04 4.093285e-04 2.606967e-04 5.233273e-04 + 1790 14 2.112963e-03 9.922675e-04 9.587677e-04 2.772477e-04 1.411982e-03 + 1791 14 1.832142e-03 3.433791e-04 2.587965e-04 4.757801e-04 9.049024e-04 + 1792 14 3.743414e-04 1.200244e-03 1.668303e-03 1.620198e-03 2.876906e-03 + 1793 15 3.205373e+00 1.133402e+00 1.156594e+00 1.276645e+00 1.211555e+00 + 1794 15 5.495112e+02 2.092337e+02 2.115229e+02 2.102938e+02 2.099634e+02 + 1795 15 8.590113e+02 3.282383e+02 3.326681e+02 3.304173e+02 3.303827e+02 + 1796 15 3.557856e+01 1.352939e+01 1.369174e+01 1.375581e+01 1.379718e+01 + 1797 15 1.079061e-01 3.403542e-02 4.250639e-02 3.475318e-02 3.747695e-02 + 1798 15 6.331281e-02 1.781433e-02 1.957027e-02 1.777202e-02 1.777948e-02 + 1799 15 2.586815e-01 9.036504e-02 9.220875e-02 1.210999e-01 1.123030e-01 + 1800 15 9.152142e-01 2.997314e-01 3.070550e-01 3.375087e-01 3.389060e-01 + 1801 15 1.453586e-01 5.188733e-02 4.910583e-02 5.521557e-02 6.406250e-02 + 1802 15 6.732090e-02 1.761826e-02 1.426202e-02 1.365304e-02 1.601383e-02 + 1803 15 1.328185e-02 2.280566e-02 2.012169e-02 2.045990e-02 1.577491e-02 + 1804 15 2.370108e-02 1.303986e-02 1.167022e-02 8.120914e-03 1.125185e-02 + 1805 15 7.000295e-02 1.487609e-02 1.034105e-02 2.093399e-02 1.191785e-02 + 1806 15 1.071468e-02 1.240442e-02 9.932798e-03 4.966683e-03 8.745225e-03 + 1807 15 1.961540e-02 4.120783e-03 5.867509e-03 7.733187e-03 6.640770e-03 + 1808 15 1.542794e-02 7.469249e-03 4.572005e-03 5.768138e-03 4.212294e-03 + 1809 15 1.644976e-02 3.846031e-03 9.778218e-03 6.395793e-03 9.586906e-03 + 1810 15 2.884547e-02 4.936602e-03 7.967560e-03 6.695664e-03 4.789487e-03 + 1811 15 9.867774e-03 7.597190e-03 4.803733e-03 2.810152e-03 5.604736e-03 + 1812 15 2.008053e-02 2.669824e-03 3.642319e-03 3.901402e-03 2.584968e-03 + 1813 15 6.532527e-03 8.021243e-03 5.001459e-03 4.116171e-03 4.332911e-03 + 1814 15 1.108294e-02 2.500945e-03 3.478741e-03 3.864146e-03 2.582649e-03 + 1815 15 4.933605e-03 5.412409e-03 5.808564e-03 3.313210e-03 7.557651e-03 + 1816 15 1.040102e-02 2.254238e-03 2.167532e-03 3.586197e-03 2.993135e-03 + 1817 15 5.899089e-03 2.958750e-03 2.974299e-03 2.539419e-03 2.180645e-03 + 1818 15 5.217606e-03 2.988704e-03 2.480459e-03 1.961595e-03 5.675329e-03 + 1819 15 9.186972e-03 1.317595e-03 2.418888e-03 2.728546e-03 1.592726e-03 + 1820 15 8.534340e-03 2.196422e-03 1.531733e-03 3.419409e-03 3.223212e-03 + 1821 15 4.717399e-03 5.410145e-03 5.307648e-03 2.524673e-03 3.640493e-03 + 1822 15 7.556383e-03 2.075032e-03 2.359387e-03 2.712740e-03 1.070169e-03 + 1823 15 8.304320e-03 2.845163e-03 6.089608e-04 2.683224e-03 3.697127e-03 + 1824 15 3.518111e-03 2.826922e-03 3.817559e-03 1.767223e-03 3.797706e-03 + 1825 15 3.662201e-03 1.180345e-03 2.958633e-03 4.228172e-03 1.547327e-03 + 1826 15 5.884952e-03 3.148144e-03 1.602573e-03 2.414818e-03 1.794321e-03 + 1827 15 3.756218e-03 1.337044e-03 9.606015e-04 1.046219e-03 3.199140e-03 + 1828 15 3.658351e-03 4.806968e-03 2.357531e-03 3.411643e-03 1.731349e-03 + 1829 15 7.826632e-03 1.609145e-03 1.129671e-03 1.412479e-03 1.887245e-03 + 1830 15 3.311611e-03 3.297672e-03 1.260926e-03 2.496666e-03 2.107297e-03 + 1831 15 6.847878e-03 1.175277e-03 4.414394e-03 3.918675e-03 3.301822e-03 + 1832 15 4.287949e-03 2.093536e-03 1.463010e-03 1.939690e-03 1.588786e-03 + 1833 15 4.841839e-03 2.060109e-03 1.556854e-03 7.567172e-04 1.444480e-03 + 1834 15 6.727676e-04 2.131402e-03 2.453775e-03 2.032741e-03 3.067774e-03 + 1835 15 8.306863e-03 2.177653e-03 1.804955e-03 1.348074e-03 1.681806e-03 + 1836 15 8.208853e-04 2.278522e-03 1.978481e-03 4.139921e-03 2.352278e-03 + 1837 15 2.803833e-03 1.007154e-03 1.824911e-03 1.653007e-03 5.325095e-04 + 1838 15 4.634473e-03 3.202927e-03 1.173063e-03 1.402548e-03 2.783969e-03 + 1839 15 2.442076e-03 2.699696e-03 5.107232e-03 2.428637e-03 2.524841e-03 + 1840 15 3.958537e-03 1.273328e-03 9.712408e-04 7.573522e-04 7.670471e-04 + 1841 15 1.518634e-01 8.427604e-02 7.373479e-02 7.683586e-02 7.488078e-02 + 1842 15 8.430888e-01 4.061035e-01 4.005509e-01 3.896501e-01 3.906745e-01 + 1843 15 1.531435e-01 7.786466e-02 8.210234e-02 7.547965e-02 7.877312e-02 + 1844 15 3.792654e-03 1.338225e-03 1.026643e-03 1.401521e-03 1.547098e-03 + 1845 15 3.052793e-03 7.917966e-04 1.109580e-03 2.265815e-03 1.371109e-03 + 1846 15 1.091965e-03 1.898215e-03 1.725831e-03 3.467600e-03 1.701425e-03 + 1847 15 7.269609e-03 6.668246e-04 6.828001e-04 1.240298e-03 3.318546e-04 + 1848 15 1.963841e-03 1.507217e-03 1.626757e-03 3.400497e-03 1.794421e-03 + 1849 15 6.737932e-03 1.727667e-04 7.447632e-04 2.303911e-04 4.970747e-04 + 1850 15 1.754215e-03 8.888037e-04 7.017176e-04 1.749847e-03 1.620034e-03 + 1851 15 1.470009e-03 2.631705e-03 2.585341e-03 1.401385e-03 9.359777e-04 + 1852 15 3.361382e-03 1.358910e-03 4.063356e-04 3.862443e-04 1.185599e-03 + 1853 15 5.690252e-04 3.176320e-03 1.803145e-03 2.505092e-03 1.258686e-03 + 1854 15 4.464456e-03 7.347023e-04 2.855496e-04 7.772639e-04 3.569263e-04 + 1855 15 1.038724e-03 1.344632e-03 2.058618e-03 1.599165e-03 1.201156e-03 + 1856 15 1.483079e-03 2.354971e-03 9.217078e-04 4.651360e-04 1.861332e-03 + 1857 15 2.759272e-03 5.205580e-04 7.086873e-04 6.014536e-04 1.472846e-03 + 1858 15 3.638650e-03 1.545334e-03 2.454914e-03 1.560235e-03 3.198449e-03 + 1859 15 1.903412e-03 1.284382e-03 1.368508e-03 1.923725e-03 1.004307e-03 + 1860 15 2.191148e-03 5.789558e-04 1.158609e-03 2.945144e-03 1.885902e-03 + 1861 15 2.744468e-03 1.646806e-03 4.065776e-04 4.450049e-04 6.722923e-04 + 1862 15 3.149436e-03 1.016746e-03 1.267995e-03 3.049822e-04 1.251619e-03 + 1863 15 2.539352e-03 4.652227e-04 1.093935e-03 1.281274e-03 6.639544e-04 + 1864 15 3.135894e-03 9.278554e-04 1.737781e-03 1.208706e-03 1.524380e-03 + 1865 15 6.075031e-03 4.038481e-04 8.197062e-04 4.596889e-04 6.592277e-04 + 1866 15 1.509423e-03 2.644788e-03 8.309632e-04 9.583725e-04 2.610723e-03 + 1867 15 1.913469e-03 4.158962e-04 1.680283e-03 2.296381e-03 2.349655e-03 + 1868 15 4.085440e-03 5.079789e-04 7.059067e-04 6.120374e-04 6.599586e-04 + 1869 15 9.430468e-04 1.683512e-03 1.074705e-03 2.037399e-03 7.631036e-04 + 1870 15 1.144466e-03 1.573416e-03 1.495567e-03 3.956657e-04 4.745259e-04 + 1871 15 1.404915e-03 1.550309e-03 6.920669e-04 1.527370e-03 2.143886e-03 + 1872 15 1.955148e-03 1.094637e-03 1.199806e-03 1.247831e-03 2.203261e-03 + 1873 15 5.204385e-03 2.321750e-04 5.600715e-04 7.466312e-04 1.451923e-03 + 1874 15 2.954240e-03 1.873976e-03 1.275906e-03 1.872282e-03 8.293979e-04 + 1875 15 1.586599e-03 1.726564e-03 1.340145e-03 1.525523e-03 1.667301e-03 + 1876 15 9.589028e-04 7.097641e-04 9.199265e-04 8.828951e-04 7.919256e-04 + 1877 15 4.055438e-03 1.701944e-04 1.508340e-04 8.820212e-04 3.038858e-04 + 1878 15 8.879715e-04 7.111985e-04 6.378639e-04 1.736573e-03 8.412855e-04 + 1879 15 1.391354e-03 1.676727e-03 5.916194e-04 1.121562e-03 6.373358e-04 + 1880 15 3.144670e-03 1.819531e-03 1.598973e-03 4.710780e-04 1.057433e-03 + 1881 15 5.952171e-04 8.837538e-04 3.665253e-03 2.462533e-03 1.479328e-03 + 1882 15 2.601137e-03 1.715369e-03 1.301321e-03 9.834551e-04 1.661724e-03 + 1883 15 2.918891e-03 1.599126e-03 2.586980e-03 1.573407e-03 1.328517e-03 + 1884 15 2.054816e-03 9.344693e-04 1.738083e-03 3.445789e-04 7.863674e-04 + 1885 15 4.889635e-03 8.129059e-04 1.404083e-03 1.831087e-03 1.046914e-03 + 1886 15 1.345617e-02 3.237349e-03 3.897046e-03 5.797383e-03 5.613885e-03 + 1887 15 1.864971e-03 1.465007e-03 1.289340e-03 2.601889e-03 1.789731e-03 + 1888 15 4.456475e-03 9.134068e-05 2.836921e-04 8.248802e-04 9.947696e-04 + 1889 15 2.844628e-03 1.934708e-03 6.136388e-04 1.192529e-03 7.986917e-04 + 1890 15 2.042632e-03 1.392933e-04 9.817756e-04 1.976053e-03 4.923281e-04 + 1891 15 1.595636e-03 1.393775e-03 1.958342e-03 1.369927e-03 1.196240e-03 + 1892 15 1.868079e-03 7.219106e-03 5.810040e-03 8.089479e-03 5.387437e-03 + 1893 15 1.967930e-03 2.174197e-03 1.013762e-03 2.181634e-03 1.591996e-03 + 1894 15 1.836168e-03 1.635918e-03 1.054276e-03 5.999597e-04 2.286916e-03 + 1895 15 3.158854e-03 1.297517e-03 1.335858e-03 1.760620e-03 7.354121e-04 + 1896 15 8.347894e-04 1.230432e-03 2.364775e-03 1.182463e-03 1.299939e-03 + 1897 15 4.383985e-03 1.396603e-03 7.844060e-04 7.803817e-04 9.065699e-04 + 1898 15 1.020555e-02 5.429922e-03 6.872388e-03 4.646372e-03 3.692497e-03 + 1899 15 2.556654e-03 1.507446e-03 1.885204e-03 2.959795e-03 2.679518e-03 + 1900 15 2.212317e-03 7.146683e-04 2.013622e-04 8.359877e-04 1.380836e-03 + 1901 15 7.116606e-04 1.639221e-03 8.736520e-04 1.022309e-03 5.345955e-04 + 1902 15 2.373681e-03 1.090343e-03 1.857051e-03 8.600311e-04 7.541880e-04 + 1903 15 4.289616e-03 7.366753e-04 2.040012e-03 7.622631e-04 1.122711e-03 + 1904 15 1.427102e-03 6.641837e-04 7.969863e-04 1.390282e-03 8.429708e-04 + 1905 15 1.637985e-03 1.462481e-03 1.283725e-03 6.071397e-04 8.239518e-04 + 1906 15 1.698580e-03 4.646888e-04 1.410204e-03 1.566455e-03 4.645150e-04 + 1907 15 1.147932e-03 9.100988e-04 1.214909e-03 1.346021e-03 1.641358e-04 + 1908 15 1.013257e-03 7.757134e-04 8.046802e-04 7.983922e-04 8.783637e-04 + 1909 15 1.262492e-03 1.277037e-03 1.361885e-03 9.800945e-04 1.841137e-04 + 1910 15 3.392445e-03 3.429094e-03 2.128083e-03 1.456419e-03 5.040149e-04 + 1911 15 2.526129e-03 8.311284e-04 2.051630e-03 1.029301e-03 5.244926e-04 + 1912 15 2.493260e-03 6.621463e-04 9.381262e-04 1.619847e-03 1.172390e-03 + 1913 15 1.569963e-03 1.483218e-03 9.105666e-05 7.965285e-04 7.641576e-04 + 1914 15 2.243534e-03 8.065388e-04 9.345588e-04 1.127151e-03 8.245540e-04 + 1915 15 2.993217e-03 1.311921e-03 4.581851e-04 7.678064e-04 3.006588e-04 + 1916 15 2.606093e-03 5.010497e-04 8.527279e-04 1.541560e-03 9.266346e-04 + 1917 15 8.766147e-04 9.657387e-04 8.176282e-04 7.297494e-04 4.761436e-04 + 1918 15 4.297928e-03 4.007828e-04 5.264738e-04 9.302352e-04 5.892891e-04 + 1919 15 1.343358e-03 9.969761e-04 9.630152e-04 2.486763e-03 4.963435e-04 + 1920 15 1.810954e-03 8.284675e-05 7.489707e-04 9.759014e-04 1.241101e-03 + 1921 16 3.800700e+00 1.293525e+00 1.264730e+00 1.270268e+00 1.268873e+00 + 1922 16 5.469082e+02 2.077569e+02 2.118926e+02 2.112203e+02 2.105520e+02 + 1923 16 8.601026e+02 3.274675e+02 3.340277e+02 3.321171e+02 3.320469e+02 + 1924 16 3.525508e+01 1.315389e+01 1.376691e+01 1.347556e+01 1.365993e+01 + 1925 16 5.912516e-02 3.531287e-02 8.391908e-03 2.594702e-02 2.659374e-02 + 1926 16 8.413722e-02 4.209416e-02 3.169779e-02 2.845640e-02 3.830388e-02 + 1927 16 2.699137e-01 9.598910e-02 9.765814e-02 8.199657e-02 8.060155e-02 + 1928 16 9.929768e-01 3.493651e-01 3.623356e-01 3.335237e-01 3.090487e-01 + 1929 16 1.876234e-01 5.386761e-02 5.714384e-02 4.925309e-02 4.668868e-02 + 1930 16 4.164336e-02 1.124125e-02 1.853594e-02 1.673140e-02 2.035644e-02 + 1931 16 4.251795e-02 3.151918e-02 1.421530e-02 2.249577e-02 1.670933e-02 + 1932 16 2.736150e-02 7.701327e-03 9.769177e-03 1.160560e-02 1.055490e-02 + 1933 16 4.384331e-02 2.042482e-02 2.974417e-02 2.461852e-02 2.317365e-02 + 1934 16 2.065762e-02 1.033343e-02 8.484265e-03 1.192837e-02 8.539976e-03 + 1935 16 1.590905e-02 1.377154e-02 1.216901e-02 1.343886e-02 1.221401e-02 + 1936 16 1.979444e-02 1.060647e-02 8.228757e-03 8.043616e-03 7.377262e-03 + 1937 16 2.253048e-02 4.136473e-03 4.501821e-03 5.074949e-03 6.062678e-03 + 1938 16 1.426138e-02 1.591263e-02 1.312513e-02 2.226841e-02 1.452032e-02 + 1939 16 8.570375e-03 1.766597e-03 9.810967e-04 5.504663e-03 1.951966e-03 + 1940 16 2.630641e-02 5.075770e-03 4.773260e-03 6.984995e-03 3.895428e-03 + 1941 16 4.906348e-03 8.827983e-03 9.562860e-03 9.950043e-03 1.083763e-02 + 1942 16 1.024209e-02 3.879039e-03 3.109712e-03 4.644306e-03 4.715719e-03 + 1943 16 1.685861e-02 4.069405e-03 3.646593e-03 6.060340e-03 5.800294e-03 + 1944 16 5.801031e-03 6.569583e-03 3.974513e-03 6.498940e-03 5.609844e-03 + 1945 16 1.206237e-02 2.919604e-03 4.571409e-03 2.620829e-03 3.121292e-03 + 1946 16 7.212787e-03 3.237635e-03 6.094440e-03 4.409243e-03 3.327499e-03 + 1947 16 5.937671e-03 6.032538e-03 3.860616e-03 4.727619e-03 3.644126e-03 + 1948 16 1.064443e-02 4.835530e-03 2.205662e-03 5.921546e-03 5.375004e-03 + 1949 16 9.844683e-03 2.383306e-03 2.859280e-03 3.475330e-03 1.251522e-03 + 1950 16 7.180349e-03 3.014694e-03 2.148125e-03 1.813441e-03 2.582659e-03 + 1951 16 6.490911e-03 1.465835e-03 4.798931e-03 3.893718e-03 1.966828e-03 + 1952 16 3.520281e-03 3.253527e-03 2.720216e-03 3.212079e-03 2.365325e-03 + 1953 16 6.746108e-03 3.827541e-03 3.256109e-03 1.166970e-03 3.413542e-03 + 1954 16 5.769817e-03 3.546657e-03 3.854656e-03 5.813554e-03 4.741150e-03 + 1955 16 6.336175e-03 2.631796e-03 2.096582e-03 2.433269e-03 3.187526e-03 + 1956 16 1.041773e-02 2.412480e-03 8.641976e-04 2.179361e-03 3.162870e-03 + 1957 16 4.690857e-03 1.522494e-03 2.439467e-03 5.138578e-03 4.287670e-03 + 1958 16 3.723690e-03 3.050738e-03 1.776387e-03 3.058907e-03 3.549492e-03 + 1959 16 3.903000e-03 2.146458e-03 3.100228e-03 3.085051e-03 1.893321e-03 + 1960 16 1.341475e-02 1.813473e-03 2.093006e-03 1.232067e-03 4.959667e-04 + 1961 16 2.952192e-03 2.195454e-03 3.292813e-03 3.302018e-03 1.995029e-03 + 1962 16 3.617076e-03 3.068876e-03 1.980792e-03 1.306599e-03 2.747540e-03 + 1963 16 3.667269e-03 3.864494e-03 1.358956e-03 8.286016e-04 1.657661e-03 + 1964 16 2.002012e-03 5.049507e-03 3.003459e-03 1.733400e-03 3.834646e-03 + 1965 16 8.941560e-03 2.558699e-03 7.431652e-04 2.355840e-03 2.217285e-04 + 1966 16 6.695497e-04 1.518287e-03 2.846463e-03 1.169949e-03 3.042434e-03 + 1967 16 6.076153e-03 1.973500e-03 1.277627e-03 8.639868e-04 1.361687e-03 + 1968 16 1.457128e-03 1.860694e-03 1.237052e-03 1.354851e-03 7.189164e-04 + 1969 16 1.490132e-01 5.804919e-02 7.342454e-02 7.496102e-02 7.846395e-02 + 1970 16 8.175238e-01 3.795589e-01 3.816852e-01 4.099163e-01 4.081003e-01 + 1971 16 1.623894e-01 7.735348e-02 7.238085e-02 7.278052e-02 8.321748e-02 + 1972 16 2.354204e-03 9.077271e-04 4.159894e-04 1.553831e-03 4.036641e-04 + 1973 16 2.881651e-03 1.055832e-03 1.596219e-03 9.665945e-04 1.286451e-03 + 1974 16 2.053418e-03 1.339637e-03 1.539003e-03 1.556756e-03 2.000333e-03 + 1975 16 2.275286e-03 2.971060e-03 1.827670e-03 5.930431e-04 1.766080e-03 + 1976 16 8.565476e-03 1.501634e-03 1.175958e-03 1.609573e-03 1.827120e-03 + 1977 16 3.593231e-03 1.679664e-03 1.881795e-03 2.110846e-03 1.186007e-03 + 1978 16 5.066567e-04 1.071472e-03 8.765191e-04 1.846275e-03 2.040588e-03 + 1979 16 1.768738e-03 1.635493e-03 2.084630e-03 2.116477e-03 2.046865e-03 + 1980 16 3.528203e-03 1.130700e-03 6.568888e-04 7.807846e-04 2.496658e-04 + 1981 16 1.976900e-03 7.867094e-04 1.507254e-03 1.385110e-03 2.244913e-03 + 1982 16 2.432644e-03 8.648434e-04 1.266610e-03 8.904487e-04 1.830776e-03 + 1983 16 1.896061e-03 9.382034e-04 3.271141e-03 1.425110e-03 2.445063e-03 + 1984 16 3.075376e-03 6.843621e-04 1.048189e-03 3.670593e-04 1.615825e-03 + 1985 16 2.719137e-03 1.744746e-03 1.488864e-03 1.945352e-03 2.520877e-03 + 1986 16 2.379224e-03 1.159879e-03 1.408213e-03 1.567342e-03 4.030015e-03 + 1987 16 3.663566e-03 7.120599e-04 2.592334e-03 2.018342e-03 1.931757e-03 + 1988 16 2.314963e-03 2.417329e-03 4.026299e-04 8.142156e-04 1.435428e-03 + 1989 16 3.048676e-03 1.185366e-03 1.112387e-03 1.063970e-04 5.975599e-04 + 1990 16 1.128460e-03 2.797542e-03 8.294322e-04 1.516332e-03 2.423138e-03 + 1991 16 6.382976e-03 5.988092e-04 2.219100e-03 1.514119e-03 9.856644e-04 + 1992 16 3.949251e-03 1.122316e-03 1.361020e-03 1.411189e-03 1.051239e-03 + 1993 16 2.369120e-03 1.353569e-03 1.441475e-03 2.262134e-03 7.067763e-04 + 1994 16 2.566603e-03 2.128374e-03 1.451768e-03 2.674538e-03 8.874206e-04 + 1995 16 1.778234e-03 1.454030e-03 5.322776e-04 5.786356e-04 2.353677e-03 + 1996 16 1.796360e-03 2.438985e-03 2.463716e-03 3.162319e-03 2.360664e-03 + 1997 16 6.575749e-03 3.626610e-04 8.611954e-04 5.708702e-04 1.619223e-03 + 1998 16 8.196123e-04 1.497510e-03 1.649098e-03 2.688898e-03 1.805543e-03 + 1999 16 3.090380e-03 1.023008e-03 4.660457e-04 5.913123e-04 6.931301e-04 + 2000 16 1.981601e-03 1.146981e-03 6.699118e-04 1.607276e-03 1.078354e-03 + 2001 16 4.683814e-03 7.110435e-04 1.246487e-03 2.536971e-04 7.679966e-04 + 2002 16 2.571080e-03 1.166606e-03 2.833008e-04 1.406225e-03 1.104074e-03 + 2003 16 2.184518e-03 1.978760e-03 5.066274e-04 4.784008e-04 1.335518e-03 + 2004 16 1.993320e-03 1.336580e-03 1.557383e-03 1.245240e-03 1.449434e-03 + 2005 16 1.918804e-03 3.516565e-04 3.194261e-04 5.264620e-04 5.602167e-04 + 2006 16 3.710965e-03 1.210124e-03 1.769192e-03 1.175460e-03 1.979872e-03 + 2007 16 1.636096e-03 1.026342e-03 5.760267e-04 7.319913e-04 5.015093e-04 + 2008 16 1.972194e-03 1.852414e-03 4.621956e-04 1.293875e-03 8.490468e-04 + 2009 16 3.119557e-03 5.193296e-04 1.545652e-03 1.134924e-03 1.069456e-03 + 2010 16 1.474536e-03 1.233466e-03 2.640787e-03 9.824423e-04 2.188339e-03 + 2011 16 2.621536e-03 1.844440e-03 2.349099e-03 4.593093e-04 1.041433e-03 + 2012 16 6.556290e-04 7.287791e-04 1.694478e-03 1.228796e-03 1.211989e-03 + 2013 16 2.577444e-03 1.561852e-03 1.832303e-03 2.382413e-03 1.406562e-03 + 2014 16 1.047725e-02 4.387779e-03 3.729668e-03 4.544650e-03 4.046074e-03 + 2015 16 3.245327e-03 1.120377e-03 2.168424e-03 1.414090e-03 2.119474e-03 + 2016 16 1.455258e-03 3.664334e-04 1.124237e-03 1.314149e-04 9.564522e-04 + 2017 16 5.781225e-04 2.398559e-03 4.935157e-04 3.543206e-03 1.162975e-03 + 2018 16 1.740288e-03 3.737756e-04 1.398309e-03 1.353871e-03 1.297594e-03 + 2019 16 1.651662e-03 1.733366e-03 1.273123e-03 2.794031e-03 3.826236e-03 + 2020 16 3.223611e-03 8.087913e-03 1.091567e-02 8.525163e-03 9.529158e-03 + 2021 16 1.387816e-03 1.722388e-03 2.947593e-03 1.897168e-03 3.271451e-03 + 2022 16 3.375212e-03 7.159737e-04 4.372152e-04 7.038096e-04 4.626278e-04 + 2023 16 9.653721e-04 5.400089e-04 4.738861e-04 1.379996e-03 1.200675e-03 + 2024 16 1.490273e-03 1.561344e-03 6.347490e-04 4.098663e-04 1.926370e-04 + 2025 16 4.266438e-03 2.357093e-03 2.890156e-03 2.095292e-03 2.944958e-03 + 2026 16 1.804565e-02 7.098572e-03 7.905764e-03 5.910260e-03 4.087352e-03 + 2027 16 4.920972e-03 1.651483e-03 1.789931e-03 3.129989e-03 4.802505e-04 + 2028 16 7.789744e-04 1.302311e-03 5.720301e-04 5.218229e-04 1.490331e-03 + 2029 16 1.831432e-03 1.631659e-03 2.800405e-03 1.742501e-03 1.887950e-03 + 2030 16 1.710924e-03 4.715223e-04 1.340800e-03 8.420422e-04 3.378215e-04 + 2031 16 1.718677e-03 1.441854e-03 3.471112e-04 9.134508e-04 2.039162e-03 + 2032 16 1.899710e-03 3.291493e-04 5.222291e-04 1.035756e-03 4.459632e-04 + 2033 16 1.218354e-03 5.938945e-04 1.334686e-04 2.334134e-03 3.824526e-04 + 2034 16 8.408764e-04 7.961584e-04 1.537351e-03 1.275820e-03 4.320263e-04 + 2035 16 1.714801e-03 7.464589e-04 4.298916e-04 4.977228e-04 4.391380e-04 + 2036 16 1.540173e-03 9.586857e-04 1.179385e-03 9.425842e-04 7.732829e-04 + 2037 16 2.946137e-03 4.349377e-04 5.580725e-04 1.477181e-03 5.867514e-04 + 2038 16 2.388485e-03 2.279110e-03 2.638000e-03 1.850619e-03 1.321135e-03 + 2039 16 2.682581e-03 4.438188e-04 8.877130e-04 1.753442e-03 1.687179e-03 + 2040 16 2.986530e-03 9.712559e-04 3.184357e-04 7.255431e-04 9.498556e-04 + 2041 16 6.820893e-04 2.520182e-04 1.255741e-03 5.319103e-04 5.330179e-05 + 2042 16 2.921362e-03 5.970058e-04 4.048834e-04 1.295829e-03 8.560893e-04 + 2043 16 2.409152e-03 1.365809e-03 1.682944e-03 4.562806e-04 4.939349e-04 + 2044 16 5.025516e-04 1.983884e-03 1.809735e-03 1.774405e-03 4.237756e-04 + 2045 16 1.948191e-03 5.456721e-04 8.010535e-04 7.664530e-04 2.773707e-03 + 2046 16 1.606435e-03 1.465329e-03 4.030284e-04 4.565712e-04 1.252492e-03 + 2047 16 2.446223e-03 9.145085e-04 1.224070e-03 9.779851e-04 2.490190e-04 + 2048 16 2.525546e-03 3.889860e-04 8.913047e-04 1.086026e-03 8.045593e-04 + 2049 17 3.757837e+00 1.368548e+00 1.340278e+00 1.305135e+00 1.254381e+00 + 2050 17 5.468770e+02 2.078067e+02 2.122635e+02 2.110054e+02 2.114839e+02 + 2051 17 8.610340e+02 3.294317e+02 3.336690e+02 3.324603e+02 3.329089e+02 + 2052 17 3.470342e+01 1.351415e+01 1.365362e+01 1.369198e+01 1.365090e+01 + 2053 17 1.355803e-01 6.785551e-02 2.617169e-02 5.959817e-02 6.583852e-02 + 2054 17 4.989821e-02 2.022205e-02 1.094511e-02 1.100394e-02 1.578069e-02 + 2055 17 2.744606e-01 8.285486e-02 9.025401e-02 7.774059e-02 7.653043e-02 + 2056 17 1.054222e+00 3.579010e-01 3.576671e-01 3.110430e-01 3.425124e-01 + 2057 17 1.296759e-01 5.104524e-02 5.089756e-02 4.146618e-02 5.077746e-02 + 2058 17 5.507430e-02 2.946154e-02 2.911718e-02 3.077208e-02 2.693602e-02 + 2059 17 3.307554e-02 8.556671e-03 6.062171e-03 5.030066e-03 7.333390e-03 + 2060 17 2.530777e-02 2.298580e-02 2.272017e-02 2.025489e-02 2.129815e-02 + 2061 17 4.916317e-02 1.037131e-02 1.581970e-02 1.069352e-02 1.171609e-02 + 2062 17 4.551102e-02 8.899376e-03 1.258953e-02 1.127998e-02 9.531815e-03 + 2063 17 1.548916e-02 1.522887e-02 9.257350e-03 1.003097e-02 1.381077e-02 + 2064 17 1.483303e-02 5.882355e-03 1.078327e-02 7.958568e-03 8.587489e-03 + 2065 17 1.966564e-02 9.543029e-03 9.061789e-03 5.032696e-03 7.944991e-03 + 2066 17 1.470431e-02 5.255267e-03 3.194216e-03 6.428159e-03 5.383931e-03 + 2067 17 1.520802e-02 9.693520e-03 8.209516e-03 1.691966e-02 7.671434e-03 + 2068 17 8.536525e-03 7.994765e-03 5.975117e-03 5.412261e-03 4.851882e-03 + 2069 17 1.094097e-02 5.855599e-03 5.355322e-03 7.567192e-03 9.144072e-03 + 2070 17 1.629460e-02 3.276347e-03 2.655537e-03 4.807692e-03 4.275528e-03 + 2071 17 1.003600e-02 5.681122e-03 5.657396e-03 3.593812e-03 5.024758e-03 + 2072 17 9.656142e-03 5.982287e-03 2.026879e-03 6.467804e-03 7.468834e-03 + 2073 17 1.599569e-02 3.543318e-03 3.943439e-03 4.476766e-03 3.417852e-03 + 2074 17 1.243775e-02 6.129143e-03 3.190614e-03 4.669010e-03 4.299731e-03 + 2075 17 8.570537e-03 2.767203e-03 2.214385e-03 4.763595e-03 5.298918e-03 + 2076 17 8.931784e-03 2.948398e-03 5.275190e-03 3.231333e-03 3.324116e-03 + 2077 17 1.222979e-02 3.110975e-03 2.094939e-03 6.391451e-03 3.796977e-03 + 2078 17 6.537369e-03 3.811477e-03 1.716981e-03 4.257645e-03 2.231066e-03 + 2079 17 4.128726e-03 9.621744e-04 1.202116e-03 9.157936e-04 4.194516e-03 + 2080 17 7.207212e-03 2.651424e-03 3.460539e-03 5.136238e-03 1.206609e-03 + 2081 17 7.250449e-03 2.772276e-03 1.436797e-03 1.501420e-03 1.697721e-03 + 2082 17 5.646973e-03 2.631794e-03 1.760256e-03 2.715522e-03 5.722031e-03 + 2083 17 5.758811e-03 1.154858e-03 1.404973e-03 2.355888e-03 2.396719e-03 + 2084 17 3.163497e-03 2.497817e-03 3.258005e-03 2.290888e-03 5.841836e-03 + 2085 17 8.484107e-03 1.116076e-03 2.177235e-03 1.138178e-03 9.456671e-04 + 2086 17 5.610213e-03 1.895739e-03 1.575292e-03 1.643499e-03 3.861417e-03 + 2087 17 4.608834e-03 2.663558e-03 3.203668e-03 4.009208e-03 2.097971e-03 + 2088 17 5.877199e-03 2.352867e-03 1.497973e-03 1.544936e-03 1.077920e-03 + 2089 17 3.739228e-03 3.904780e-03 4.022703e-03 1.776207e-03 4.667151e-03 + 2090 17 4.946463e-03 1.988705e-03 5.190664e-03 1.579937e-03 1.456723e-03 + 2091 17 3.376617e-03 2.422798e-03 4.047700e-03 4.349210e-03 3.096826e-03 + 2092 17 3.820543e-03 1.638520e-03 2.866398e-03 1.946447e-03 1.732354e-03 + 2093 17 4.972471e-03 1.193923e-03 1.657362e-03 3.113904e-03 9.193674e-04 + 2094 17 6.258841e-03 2.264498e-03 3.099551e-03 2.065425e-03 2.842946e-03 + 2095 17 2.444141e-03 2.539220e-03 1.163583e-03 3.051362e-03 3.701194e-03 + 2096 17 6.099755e-03 9.552534e-04 1.004472e-03 1.212644e-03 1.415063e-03 + 2097 17 1.582056e-01 8.565050e-02 7.668050e-02 8.142029e-02 7.744217e-02 + 2098 17 8.752259e-01 4.224018e-01 4.017664e-01 4.368653e-01 4.119370e-01 + 2099 17 1.735613e-01 7.420927e-02 7.793896e-02 9.102514e-02 8.072341e-02 + 2100 17 5.473542e-03 1.623139e-03 2.499249e-03 2.028479e-03 7.205789e-04 + 2101 17 7.820411e-04 1.812053e-03 3.701275e-04 8.234750e-04 1.685163e-03 + 2102 17 2.593150e-03 1.220986e-03 1.507667e-03 1.169732e-03 1.444965e-03 + 2103 17 2.139857e-03 1.077461e-03 2.144706e-03 2.399498e-03 1.842552e-03 + 2104 17 5.690746e-03 9.843208e-04 1.377546e-03 6.669253e-04 1.155398e-03 + 2105 17 3.288302e-03 8.925578e-04 1.758212e-03 2.530262e-03 1.157283e-03 + 2106 17 2.306283e-03 1.243909e-03 4.343738e-03 9.759448e-04 1.119110e-03 + 2107 17 1.134119e-03 1.519547e-03 6.932792e-04 8.438322e-04 5.038155e-04 + 2108 17 3.102287e-03 2.532458e-03 1.682040e-03 1.170508e-03 1.239246e-03 + 2109 17 3.680609e-03 1.884489e-03 2.512070e-03 1.219592e-03 2.816323e-03 + 2110 17 3.532533e-03 1.408363e-03 3.100693e-03 7.475681e-04 1.177230e-03 + 2111 17 1.278381e-03 2.140699e-03 1.476514e-03 1.005749e-03 1.519316e-03 + 2112 17 3.028303e-03 6.620844e-04 1.147117e-03 6.984393e-04 6.351015e-04 + 2113 17 2.580352e-03 8.362212e-04 6.646735e-04 7.712298e-04 9.972355e-04 + 2114 17 6.065454e-03 1.646343e-03 2.530867e-03 1.902534e-03 1.144901e-03 + 2115 17 7.854883e-03 1.428336e-03 3.519718e-03 1.596949e-03 2.434747e-03 + 2116 17 2.462833e-03 4.764217e-04 7.326098e-04 4.305021e-04 1.465860e-03 + 2117 17 1.538688e-03 3.105399e-03 1.626383e-03 3.097012e-03 1.075151e-03 + 2118 17 4.163476e-03 1.354805e-03 6.465911e-04 7.767544e-04 1.306538e-03 + 2119 17 2.634314e-03 2.492793e-03 1.990649e-03 2.217275e-03 1.037086e-03 + 2120 17 2.486360e-03 1.608650e-03 1.953576e-03 2.634257e-03 3.895808e-03 + 2121 17 8.893941e-04 1.959578e-03 3.998313e-03 2.443392e-03 3.813809e-04 + 2122 17 3.996841e-03 9.939558e-04 1.223037e-03 3.440910e-04 5.369990e-04 + 2123 17 4.544594e-03 1.178228e-03 1.378802e-03 1.163511e-03 3.215873e-04 + 2124 17 3.654834e-03 1.455204e-03 6.208948e-04 1.395601e-03 8.808092e-04 + 2125 17 1.196448e-03 1.248426e-03 1.931519e-03 1.518666e-03 1.255263e-03 + 2126 17 4.730234e-03 4.553132e-04 1.244226e-03 2.536379e-03 2.208103e-03 + 2127 17 4.482482e-04 1.487329e-03 1.789368e-03 2.930703e-03 2.627796e-03 + 2128 17 4.617554e-03 8.129006e-04 2.842133e-04 4.791683e-04 2.816492e-04 + 2129 17 3.160675e-03 2.157549e-03 1.902053e-03 2.592038e-03 3.124372e-03 + 2130 17 3.262479e-03 3.382769e-04 1.446497e-03 7.944491e-04 1.360609e-03 + 2131 17 2.083727e-03 6.911934e-04 8.008706e-04 9.304472e-04 2.994482e-04 + 2132 17 2.284823e-03 4.712582e-04 6.796982e-04 2.453399e-03 1.640384e-03 + 2133 17 4.033474e-03 1.862035e-03 1.292250e-03 1.227313e-03 3.314181e-04 + 2134 17 4.025054e-03 2.973987e-03 8.701945e-04 1.422762e-03 1.995999e-03 + 2135 17 2.757409e-03 1.299145e-03 3.621881e-04 1.264470e-03 2.201954e-03 + 2136 17 1.946226e-03 2.555307e-04 8.991089e-04 8.389555e-04 2.612562e-03 + 2137 17 2.193188e-03 7.128494e-04 4.942666e-04 6.837408e-04 8.879560e-04 + 2138 17 1.829969e-03 3.790505e-04 1.848156e-03 1.474806e-03 1.105234e-03 + 2139 17 1.181601e-03 9.443660e-04 9.898855e-04 8.905132e-04 7.095241e-04 + 2140 17 1.240727e-03 1.146566e-03 1.808307e-03 9.300713e-04 2.198725e-03 + 2141 17 6.798536e-03 1.140616e-03 2.188294e-03 7.196986e-04 1.636537e-03 + 2142 17 1.190031e-02 5.165513e-03 8.398992e-03 5.424931e-03 5.304779e-03 + 2143 17 4.783058e-03 2.382965e-03 2.157681e-03 2.331251e-03 1.948199e-03 + 2144 17 8.495440e-04 1.729953e-03 2.336596e-03 1.883442e-03 1.763140e-03 + 2145 17 1.444301e-03 6.116193e-04 9.367572e-04 2.356794e-03 4.856442e-04 + 2146 17 2.827275e-03 3.851045e-04 8.597082e-04 1.333062e-03 1.174714e-03 + 2147 17 2.703475e-03 3.224147e-03 2.624741e-03 1.702916e-03 1.733412e-03 + 2148 17 4.059518e-03 5.449581e-03 1.002636e-02 7.290963e-03 8.602267e-03 + 2149 17 2.932174e-03 1.449836e-03 2.426228e-03 1.399658e-03 9.610083e-04 + 2150 17 2.252535e-03 8.051478e-04 1.003435e-03 1.374874e-03 1.095054e-03 + 2151 17 5.952248e-04 1.334682e-03 1.658670e-03 1.297027e-03 6.650851e-04 + 2152 17 1.346721e-03 7.385790e-04 1.160870e-03 5.496614e-04 4.517690e-04 + 2153 17 6.067116e-03 2.561359e-03 2.482419e-03 3.232755e-03 1.345325e-03 + 2154 17 1.836168e-02 9.713519e-03 7.239502e-03 5.941215e-03 4.260758e-03 + 2155 17 5.514483e-03 3.045623e-03 2.668521e-03 1.565885e-03 1.199584e-03 + 2156 17 3.529177e-03 9.762240e-04 1.236465e-03 9.401398e-04 4.507349e-04 + 2157 17 9.256191e-04 6.271245e-04 6.991466e-04 7.886296e-04 6.874905e-04 + 2158 17 9.134169e-04 5.846414e-04 4.216482e-04 3.045274e-04 1.611938e-03 + 2159 17 1.962820e-03 5.526957e-04 7.358389e-04 1.857723e-03 1.145925e-03 + 2160 17 1.154982e-03 8.665577e-04 8.751111e-04 1.880534e-03 1.206968e-03 + 2161 17 2.470907e-03 1.037476e-03 1.465271e-03 1.745510e-04 5.571066e-04 + 2162 17 1.816227e-03 1.198096e-03 7.270540e-04 1.575775e-03 1.558656e-03 + 2163 17 1.718071e-03 1.042257e-03 1.229473e-03 5.648943e-04 4.347081e-04 + 2164 17 4.808220e-03 1.005703e-03 7.618887e-04 1.597520e-03 4.793919e-04 + 2165 17 2.162723e-03 1.509468e-03 2.676304e-03 1.759661e-03 8.935174e-04 + 2166 17 1.560836e-03 3.583374e-04 2.806792e-03 7.739989e-04 1.329370e-03 + 2167 17 3.171720e-03 3.100804e-04 5.656986e-04 2.661742e-04 1.429031e-03 + 2168 17 7.491580e-04 1.338455e-03 2.395369e-04 1.240276e-03 1.782579e-03 + 2169 17 1.608220e-03 2.670768e-04 1.354636e-03 6.605223e-04 9.028880e-04 + 2170 17 1.866991e-03 1.176752e-03 7.286266e-04 1.206459e-03 1.350674e-03 + 2171 17 1.078272e-03 6.498371e-04 8.723040e-04 1.932493e-03 1.608768e-03 + 2172 17 1.883325e-03 1.342410e-03 1.224849e-03 5.774963e-04 1.045604e-03 + 2173 17 1.504084e-03 1.226440e-03 7.103524e-04 1.251778e-03 1.613768e-03 + 2174 17 1.604460e-03 3.962803e-04 1.267387e-03 1.522670e-03 1.723480e-03 + 2175 17 1.043005e-03 1.921950e-03 2.287208e-03 1.090993e-03 9.030055e-04 + 2176 17 8.479631e-04 6.647348e-04 1.688347e-03 5.537542e-04 1.263172e-03 + 2177 18 3.671925e+00 1.375591e+00 1.342289e+00 1.229639e+00 1.208217e+00 + 2178 18 5.452880e+02 2.091124e+02 2.105212e+02 2.094768e+02 2.098002e+02 + 2179 18 8.600026e+02 3.291438e+02 3.321131e+02 3.308319e+02 3.313967e+02 + 2180 18 3.508315e+01 1.343647e+01 1.364871e+01 1.378175e+01 1.368613e+01 + 2181 18 8.672273e-02 2.889088e-02 1.695663e-02 1.715225e-02 2.344103e-02 + 2182 18 7.426962e-02 4.647684e-02 3.028230e-02 3.598253e-02 3.527478e-02 + 2183 18 2.701912e-01 1.049760e-01 9.191291e-02 9.794601e-02 1.073798e-01 + 2184 18 9.409783e-01 3.678030e-01 3.243789e-01 3.768128e-01 3.580020e-01 + 2185 18 1.705112e-01 6.006874e-02 5.734374e-02 5.741792e-02 5.300680e-02 + 2186 18 4.061972e-02 1.508404e-02 1.579130e-02 2.249647e-02 1.748650e-02 + 2187 18 4.074691e-02 1.991022e-02 1.542683e-02 1.265790e-02 1.493715e-02 + 2188 18 3.292007e-02 1.816618e-02 1.107213e-02 1.291368e-02 1.123919e-02 + 2189 18 4.194446e-02 2.046055e-02 2.201327e-02 2.397773e-02 3.328983e-02 + 2190 18 2.337123e-02 1.527605e-02 1.469388e-02 1.182833e-02 1.140766e-02 + 2191 18 1.834252e-02 6.264526e-03 9.981448e-03 9.255734e-03 7.231105e-03 + 2192 18 1.594688e-02 7.953403e-03 7.990437e-03 9.796091e-03 6.119213e-03 + 2193 18 1.574571e-02 6.474756e-03 8.308765e-03 5.539129e-03 1.111752e-02 + 2194 18 1.411445e-02 1.370410e-02 4.718980e-03 1.959860e-02 5.910453e-03 + 2195 18 1.524125e-02 6.188320e-03 6.091867e-03 4.288868e-03 5.285061e-03 + 2196 18 1.079640e-02 6.106540e-03 3.692100e-03 3.223480e-03 5.469002e-03 + 2197 18 1.973702e-02 3.467638e-03 6.630485e-03 7.662201e-03 4.555705e-03 + 2198 18 5.792408e-03 5.979595e-03 3.712152e-03 4.823786e-03 8.432142e-03 + 2199 18 1.308980e-02 6.117943e-03 4.947837e-03 6.665610e-03 6.850172e-03 + 2200 18 1.187905e-02 9.640431e-04 2.202754e-03 2.695108e-03 1.533338e-03 + 2201 18 6.853110e-03 5.228200e-03 3.356606e-03 4.034262e-03 3.602261e-03 + 2202 18 9.871195e-03 2.362294e-03 2.630507e-03 4.583934e-03 4.466328e-03 + 2203 18 3.585254e-03 4.272108e-03 3.787092e-03 4.692166e-03 4.094526e-03 + 2204 18 1.239368e-02 2.434334e-03 4.640215e-03 2.058005e-03 2.570906e-03 + 2205 18 9.563051e-03 4.232697e-03 2.716140e-03 2.916038e-03 4.144183e-03 + 2206 18 7.644174e-03 3.089725e-03 4.992597e-03 5.266181e-03 5.247440e-03 + 2207 18 6.141696e-03 1.283136e-03 1.870001e-03 1.521688e-03 3.345725e-03 + 2208 18 7.110017e-03 2.366742e-03 2.639342e-03 1.776544e-03 1.831630e-03 + 2209 18 1.778278e-03 5.994973e-03 6.250996e-03 5.609059e-03 4.068422e-03 + 2210 18 9.594759e-03 2.180340e-03 2.895718e-03 2.230548e-03 1.272953e-03 + 2211 18 3.951720e-03 1.667104e-03 1.106392e-03 2.028526e-03 3.820551e-03 + 2212 18 5.532309e-03 2.399078e-03 2.803305e-03 1.934042e-03 2.968270e-03 + 2213 18 6.528903e-03 1.716568e-03 1.651169e-03 2.374269e-03 2.908719e-03 + 2214 18 3.575423e-03 1.756803e-03 2.475153e-03 3.460544e-03 2.443748e-03 + 2215 18 2.707184e-03 2.441973e-03 1.230158e-03 2.813466e-03 2.455730e-03 + 2216 18 7.421595e-03 1.125275e-03 2.600407e-03 1.044212e-03 1.702198e-03 + 2217 18 2.198174e-03 1.527336e-03 1.214182e-03 4.131951e-03 1.975435e-03 + 2218 18 4.695394e-03 1.221973e-03 3.811140e-03 1.600453e-03 3.009423e-03 + 2219 18 3.485417e-03 3.063652e-03 1.846840e-03 3.148280e-03 4.804100e-03 + 2220 18 3.883089e-03 1.388702e-03 1.785439e-03 1.104865e-03 2.432299e-03 + 2221 18 6.876014e-03 1.700941e-03 1.628629e-03 1.361235e-03 8.356387e-04 + 2222 18 3.978721e-03 1.379604e-03 6.415780e-04 1.178265e-03 1.656629e-03 + 2223 18 3.632797e-03 2.622141e-03 9.616360e-04 4.504145e-03 1.705576e-03 + 2224 18 3.584487e-03 1.708546e-03 4.209457e-03 2.156222e-03 2.800495e-03 + 2225 18 1.445715e-01 7.313831e-02 7.408191e-02 7.222530e-02 7.357489e-02 + 2226 18 8.071230e-01 3.920112e-01 3.980134e-01 3.936068e-01 3.981051e-01 + 2227 18 1.488350e-01 8.393234e-02 7.689330e-02 7.227133e-02 8.118977e-02 + 2228 18 6.450829e-03 1.333573e-03 8.529927e-04 1.108979e-03 1.168319e-03 + 2229 18 1.991970e-03 2.097960e-03 1.340744e-03 3.508877e-03 1.254530e-03 + 2230 18 1.744150e-03 1.025878e-03 1.800199e-03 1.255786e-03 1.552954e-03 + 2231 18 2.135785e-03 2.506662e-03 7.278800e-04 1.869272e-03 1.473365e-03 + 2232 18 4.626291e-03 5.028276e-03 1.953832e-03 2.393562e-03 1.767783e-03 + 2233 18 2.461240e-03 2.434549e-03 7.979217e-04 1.134138e-03 1.635856e-03 + 2234 18 2.491615e-03 8.907301e-04 1.517073e-03 2.611065e-03 1.231066e-03 + 2235 18 2.464160e-03 1.498392e-03 1.364923e-03 1.692518e-03 1.225808e-03 + 2236 18 2.174544e-03 1.075865e-03 1.845994e-03 1.106626e-03 1.817249e-03 + 2237 18 1.354349e-03 9.479013e-04 1.634876e-03 9.156613e-04 2.345705e-03 + 2238 18 2.525265e-03 2.075427e-03 9.588355e-04 1.191910e-03 4.010838e-04 + 2239 18 3.044375e-03 7.081617e-04 1.772880e-03 1.360791e-03 1.658084e-03 + 2240 18 1.477551e-03 1.584958e-03 1.932470e-03 1.116270e-03 4.902748e-04 + 2241 18 2.361451e-03 1.765060e-03 6.748113e-04 1.660564e-03 1.953418e-03 + 2242 18 3.402583e-03 1.270666e-03 7.606902e-04 1.414325e-03 1.238612e-03 + 2243 18 4.956973e-03 3.653652e-04 1.697346e-03 1.391614e-03 1.495378e-03 + 2244 18 1.791019e-03 1.782604e-03 3.108303e-03 2.389272e-03 1.285484e-03 + 2245 18 3.559098e-03 5.291831e-04 7.505168e-04 8.020283e-04 1.490170e-03 + 2246 18 1.800845e-03 5.512166e-04 1.385443e-03 1.434502e-03 5.656089e-04 + 2247 18 2.127025e-03 3.214235e-04 1.326281e-03 1.380230e-03 7.362109e-04 + 2248 18 2.328906e-03 1.031687e-03 1.124156e-03 9.540607e-04 1.037334e-03 + 2249 18 1.291953e-03 1.216122e-03 2.616278e-03 2.481253e-03 1.530584e-03 + 2250 18 2.396717e-03 9.627030e-04 3.134596e-03 2.002704e-03 3.636544e-04 + 2251 18 3.916162e-03 2.356417e-03 1.712567e-03 1.419728e-03 1.232054e-03 + 2252 18 3.377012e-03 2.002519e-03 1.417433e-03 1.986566e-03 1.086772e-03 + 2253 18 7.021333e-04 8.274090e-04 1.082909e-03 7.902817e-04 5.651552e-04 + 2254 18 2.067810e-03 3.144644e-03 1.550098e-03 1.056486e-03 2.294184e-03 + 2255 18 1.972702e-03 1.306517e-03 4.611685e-04 9.461684e-04 1.468743e-03 + 2256 18 4.406480e-04 1.163062e-03 1.124091e-03 2.512777e-03 2.294850e-03 + 2257 18 3.307024e-03 8.217723e-04 6.506779e-04 9.925610e-04 1.834209e-03 + 2258 18 1.707393e-03 1.570811e-03 1.059619e-03 7.584824e-04 1.916283e-03 + 2259 18 2.587288e-03 1.354326e-03 4.584606e-04 1.193417e-03 1.022883e-03 + 2260 18 2.446899e-03 2.231135e-03 6.842099e-04 2.249766e-03 9.037781e-04 + 2261 18 1.867865e-03 1.393135e-03 7.835879e-04 5.808629e-04 9.818239e-04 + 2262 18 7.954777e-04 1.295360e-03 1.273444e-03 1.349063e-03 6.608231e-04 + 2263 18 1.402426e-03 3.804782e-04 7.161108e-04 1.654486e-03 3.291867e-04 + 2264 18 2.349225e-03 1.415734e-03 1.559897e-03 5.946426e-04 2.668733e-04 + 2265 18 1.537458e-03 1.367961e-03 4.530905e-04 3.130596e-03 1.954322e-03 + 2266 18 2.541247e-03 6.806677e-04 1.139315e-03 1.120233e-03 1.723073e-04 + 2267 18 6.846006e-04 1.685559e-03 8.167511e-04 6.035589e-04 1.443202e-03 + 2268 18 8.716594e-04 5.349463e-04 4.920033e-04 4.664894e-04 1.401515e-03 + 2269 18 4.615137e-03 9.891080e-04 1.950462e-03 1.769865e-03 1.558555e-03 + 2270 18 9.802869e-03 4.411591e-03 9.253054e-03 7.884472e-03 6.803715e-03 + 2271 18 2.913830e-03 1.274498e-03 1.907016e-03 2.369267e-03 2.684300e-03 + 2272 18 1.597534e-03 7.394882e-04 7.933966e-04 3.259053e-03 3.375818e-04 + 2273 18 1.047947e-03 5.225301e-04 1.359015e-03 6.617046e-04 1.264678e-03 + 2274 18 2.024780e-03 3.230087e-04 5.558672e-04 7.241293e-04 5.889598e-04 + 2275 18 1.226242e-03 2.891497e-03 3.615111e-03 1.856370e-03 2.498638e-03 + 2276 18 1.163136e-03 8.480312e-03 5.438425e-03 4.295322e-03 7.051087e-03 + 2277 18 1.657719e-03 1.869804e-03 2.041082e-03 2.193194e-03 1.098747e-03 + 2278 18 3.950961e-04 2.390633e-03 9.355789e-04 2.603289e-03 2.247146e-03 + 2279 18 1.784163e-03 7.976976e-04 8.738437e-04 3.953159e-04 6.889278e-04 + 2280 18 1.602445e-03 4.343867e-04 8.204269e-04 6.085125e-04 1.633219e-03 + 2281 18 6.591691e-03 3.278982e-03 3.227972e-03 1.573044e-03 1.803064e-03 + 2282 18 2.091168e-02 1.208533e-02 8.127689e-03 9.307646e-03 6.268981e-03 + 2283 18 6.941003e-03 1.603382e-03 1.516756e-03 2.244339e-03 9.290927e-04 + 2284 18 1.750547e-03 1.200860e-03 2.147369e-03 1.259739e-03 8.879156e-04 + 2285 18 1.925164e-03 1.588916e-03 1.838279e-03 8.744957e-04 9.035575e-04 + 2286 18 2.577114e-03 1.340763e-03 1.221067e-03 1.105734e-03 5.776459e-04 + 2287 18 1.332882e-03 1.446310e-03 1.674947e-03 2.438372e-03 6.489526e-04 + 2288 18 1.876307e-03 2.345886e-04 7.098200e-04 2.622703e-03 6.307260e-04 + 2289 18 1.086362e-03 7.106882e-04 7.376808e-04 9.335567e-04 9.022662e-04 + 2290 18 1.187749e-03 1.023383e-03 8.411259e-04 7.368908e-04 2.948113e-05 + 2291 18 3.140887e-03 5.017983e-04 1.556529e-03 8.822891e-04 6.149433e-04 + 2292 18 2.203400e-03 1.427042e-03 5.454910e-04 2.563854e-03 4.883440e-04 + 2293 18 1.797879e-03 2.076298e-03 1.190360e-03 1.075883e-03 1.095386e-03 + 2294 18 1.016103e-03 3.415234e-03 1.151578e-03 9.035898e-04 1.024267e-03 + 2295 18 2.103345e-03 1.276490e-03 1.607008e-04 8.524219e-04 8.126655e-04 + 2296 18 1.383789e-03 4.163110e-04 6.522631e-04 2.651143e-04 5.485028e-04 + 2297 18 1.306106e-03 4.974893e-04 1.351253e-03 3.173986e-04 3.276919e-04 + 2298 18 1.787990e-03 2.977545e-04 5.750737e-04 1.686688e-03 2.586229e-04 + 2299 18 5.274404e-04 1.118942e-03 1.158663e-03 7.702753e-04 2.104913e-03 + 2300 18 4.747144e-03 6.549038e-04 1.272126e-03 3.304065e-04 4.954789e-04 + 2301 18 6.768208e-04 9.028125e-04 1.227185e-03 1.489253e-03 1.970038e-03 + 2302 18 2.729488e-03 1.570903e-03 2.121211e-03 2.652006e-04 4.091974e-04 + 2303 18 1.311189e-03 3.497072e-03 2.082255e-03 1.154437e-03 1.434953e-03 + 2304 18 2.403343e-03 1.438425e-03 3.498188e-04 3.148952e-04 1.056193e-04 + 2305 19 3.095872e+00 1.188017e+00 1.221909e+00 1.203229e+00 1.110932e+00 + 2306 19 5.468287e+02 2.107116e+02 2.107861e+02 2.111265e+02 2.109998e+02 + 2307 19 8.595944e+02 3.292703e+02 3.305164e+02 3.291669e+02 3.308111e+02 + 2308 19 3.572921e+01 1.336135e+01 1.355790e+01 1.335235e+01 1.357307e+01 + 2309 19 2.572070e-02 2.699441e-02 2.349654e-02 2.609214e-02 2.722138e-02 + 2310 19 7.405003e-02 5.251305e-02 3.049093e-02 3.897981e-02 6.635352e-02 + 2311 19 2.779910e-01 1.174568e-01 1.043804e-01 9.543634e-02 8.426843e-02 + 2312 19 8.811556e-01 3.378825e-01 3.488637e-01 2.773794e-01 3.212770e-01 + 2313 19 1.628836e-01 6.352195e-02 6.026523e-02 6.006835e-02 6.005677e-02 + 2314 19 2.923412e-02 1.507008e-02 1.673202e-02 8.547864e-03 1.266848e-02 + 2315 19 4.877630e-02 1.857804e-02 1.401404e-02 2.312010e-02 1.738047e-02 + 2316 19 3.506611e-02 1.005992e-02 1.442190e-02 9.253380e-03 9.994603e-03 + 2317 19 1.792489e-02 1.613899e-02 1.172459e-02 1.284476e-02 1.372394e-02 + 2318 19 3.735338e-02 8.695642e-03 1.434069e-02 1.452410e-02 9.131583e-03 + 2319 19 1.128505e-02 8.636446e-03 6.513109e-03 7.719281e-03 7.815328e-03 + 2320 19 2.555960e-02 5.214652e-03 8.019409e-03 4.993847e-03 7.349955e-03 + 2321 19 1.437050e-02 1.017696e-02 5.883299e-03 8.063124e-03 5.901262e-03 + 2322 19 9.286829e-03 3.862570e-03 5.234511e-03 3.782181e-03 5.137504e-03 + 2323 19 1.865303e-02 9.443588e-03 5.922625e-03 6.947828e-03 6.492698e-03 + 2324 19 5.502686e-03 5.585722e-03 8.936165e-03 6.099953e-03 6.999081e-03 + 2325 19 1.839184e-02 2.860948e-03 2.552405e-03 4.858087e-03 1.687269e-03 + 2326 19 7.551114e-03 3.247892e-03 2.014347e-03 3.719960e-03 6.060978e-03 + 2327 19 1.259330e-02 4.304978e-03 7.361657e-03 1.595406e-03 2.415072e-03 + 2328 19 1.002405e-02 3.186283e-03 2.320457e-03 6.250756e-03 3.643087e-03 + 2329 19 5.299178e-03 4.719231e-03 2.353107e-03 2.638405e-03 4.771527e-03 + 2330 19 1.025967e-02 3.095154e-03 2.858624e-03 2.885402e-03 1.344410e-03 + 2331 19 2.663576e-03 5.179040e-03 3.623497e-03 4.190540e-03 3.524977e-03 + 2332 19 1.059120e-02 2.421838e-03 1.803080e-03 3.510870e-04 2.077208e-03 + 2333 19 4.925167e-03 6.785194e-03 2.361587e-03 9.244804e-03 5.555625e-03 + 2334 19 4.129056e-03 2.439564e-03 2.126029e-03 2.238334e-03 2.993965e-03 + 2335 19 4.923064e-03 4.418090e-03 1.285547e-03 3.959734e-03 3.045488e-03 + 2336 19 6.604103e-03 5.676127e-03 2.572867e-03 3.008341e-03 2.550281e-03 + 2337 19 5.412034e-03 2.435974e-03 1.634750e-03 3.188580e-03 1.817523e-03 + 2338 19 9.694950e-03 1.893774e-03 1.877093e-03 1.509192e-03 1.232734e-03 + 2339 19 1.485338e-03 2.084632e-03 2.463173e-03 2.847435e-03 3.220365e-03 + 2340 19 4.484152e-03 3.212470e-03 1.345715e-03 2.381154e-03 2.850953e-03 + 2341 19 6.147696e-03 6.764357e-04 2.577370e-03 1.032652e-03 3.436221e-04 + 2342 19 2.441006e-03 2.109119e-03 8.788942e-04 1.388890e-03 2.197294e-03 + 2343 19 5.262959e-03 1.953576e-03 3.705277e-03 1.681608e-03 1.718622e-03 + 2344 19 3.579357e-03 4.885856e-03 5.686265e-03 1.715564e-03 3.718038e-03 + 2345 19 3.767361e-03 7.993247e-04 2.045918e-03 8.285598e-04 5.015840e-04 + 2346 19 4.071448e-03 2.517086e-03 3.980839e-03 1.501570e-03 2.764489e-03 + 2347 19 4.510201e-03 2.128019e-03 2.840868e-03 6.395343e-04 1.245459e-03 + 2348 19 3.678447e-03 5.255212e-04 7.162113e-04 1.886717e-03 1.689551e-04 + 2349 19 2.385595e-03 4.692109e-03 4.513323e-03 4.717712e-03 3.390036e-03 + 2350 19 2.653051e-03 8.539070e-04 1.598166e-03 4.239885e-04 7.281243e-04 + 2351 19 4.450730e-03 1.744936e-03 1.261291e-03 2.626639e-03 2.169861e-03 + 2352 19 2.535972e-03 1.590027e-03 1.819516e-03 1.916233e-03 1.193276e-03 + 2353 19 1.631978e-01 7.459763e-02 6.858348e-02 7.439678e-02 7.606964e-02 + 2354 19 8.577156e-01 4.097017e-01 3.947092e-01 4.125630e-01 4.020619e-01 + 2355 19 1.522527e-01 7.300931e-02 6.630585e-02 7.960527e-02 6.933042e-02 + 2356 19 4.416159e-03 3.613134e-04 2.165613e-03 9.593360e-04 6.374397e-04 + 2357 19 1.069353e-03 4.122409e-03 2.344280e-03 3.274270e-03 2.189113e-03 + 2358 19 6.169119e-03 1.264642e-03 1.292937e-03 2.253584e-03 2.028720e-03 + 2359 19 2.039870e-04 1.175878e-03 2.268600e-03 2.558450e-03 1.310513e-03 + 2360 19 5.152969e-03 1.714918e-03 5.642335e-03 3.108638e-03 1.472193e-03 + 2361 19 3.111269e-03 2.567126e-03 5.311486e-03 3.826017e-03 1.083094e-03 + 2362 19 2.242036e-03 1.394622e-03 2.106325e-03 1.831233e-03 1.971863e-03 + 2363 19 1.590636e-03 9.813738e-04 7.685268e-04 7.581382e-04 3.156586e-03 + 2364 19 2.313103e-03 1.234686e-03 4.482686e-04 1.354855e-03 2.843059e-04 + 2365 19 2.591731e-03 2.225936e-03 1.102491e-03 1.179500e-03 1.088870e-03 + 2366 19 1.765369e-03 1.856586e-03 2.411598e-03 8.695609e-04 1.901768e-03 + 2367 19 2.248433e-03 3.237396e-03 7.743537e-04 1.281835e-03 9.213328e-04 + 2368 19 4.499179e-04 5.021493e-04 2.939730e-03 1.792087e-03 1.116402e-03 + 2369 19 4.691531e-03 8.651653e-04 6.941665e-04 3.540077e-04 1.492479e-03 + 2370 19 8.646720e-04 2.995942e-03 2.658201e-03 2.384331e-03 1.827553e-03 + 2371 19 1.155022e-03 8.712427e-04 6.389812e-04 9.134209e-04 2.201013e-03 + 2372 19 3.855494e-03 1.478533e-03 1.015597e-03 6.256840e-04 4.859042e-04 + 2373 19 2.201858e-03 2.018337e-03 6.757485e-04 1.878288e-03 1.744892e-03 + 2374 19 1.553260e-03 1.748271e-03 1.202577e-03 1.272576e-03 1.229145e-03 + 2375 19 6.694314e-03 8.531484e-04 2.753801e-04 1.400420e-03 3.265357e-04 + 2376 19 5.477328e-03 6.624230e-04 5.948420e-04 1.139819e-03 1.494323e-03 + 2377 19 2.770017e-03 2.360072e-03 2.343233e-03 7.908144e-04 1.406122e-03 + 2378 19 2.486307e-03 8.218693e-04 2.125739e-04 1.234695e-03 6.242279e-04 + 2379 19 2.706383e-04 2.896916e-03 1.674805e-03 1.733176e-03 2.728346e-03 + 2380 19 3.441600e-03 3.098031e-03 7.065042e-04 1.641696e-03 4.549322e-04 + 2381 19 1.178555e-03 1.379946e-03 5.589288e-04 1.122971e-03 1.436886e-03 + 2382 19 2.521072e-03 1.568668e-04 2.152780e-03 1.437879e-03 1.083840e-03 + 2383 19 1.360397e-03 1.294309e-03 1.560939e-03 3.822740e-04 1.098950e-03 + 2384 19 1.258179e-03 3.444499e-04 1.179186e-03 1.494216e-03 3.668772e-04 + 2385 19 9.586639e-04 5.159183e-04 1.025570e-03 4.656215e-04 1.397969e-03 + 2386 19 1.310418e-03 6.338698e-04 2.322879e-03 3.422160e-03 7.571162e-04 + 2387 19 3.099281e-03 1.103751e-03 1.990735e-03 2.142046e-03 7.375871e-04 + 2388 19 9.076782e-04 3.962035e-04 1.874348e-03 1.030323e-03 7.614213e-04 + 2389 19 3.086486e-03 7.067528e-04 6.437124e-04 2.520715e-04 3.047677e-04 + 2390 19 8.320429e-04 1.633760e-03 1.211134e-03 3.373492e-04 1.552082e-03 + 2391 19 3.935013e-03 8.181539e-04 5.753397e-04 8.571119e-04 4.295682e-04 + 2392 19 1.280277e-03 1.528483e-03 1.005999e-03 6.597009e-04 1.109781e-03 + 2393 19 3.033729e-03 1.486979e-03 1.250855e-03 1.147078e-03 7.083455e-04 + 2394 19 2.749609e-03 1.489706e-03 4.835027e-04 4.665665e-04 4.698694e-04 + 2395 19 4.452612e-04 2.098754e-04 5.682690e-04 1.166155e-03 1.086286e-03 + 2396 19 3.241190e-03 1.041661e-03 2.132235e-03 8.985509e-04 1.355208e-03 + 2397 19 6.162146e-03 1.633969e-03 3.230953e-03 2.743288e-03 3.313227e-03 + 2398 19 1.473005e-02 6.130495e-03 6.196360e-03 8.977095e-03 1.148635e-02 + 2399 19 4.314138e-03 2.642455e-03 4.886050e-04 1.296298e-03 1.810835e-03 + 2400 19 1.767970e-03 4.043782e-04 4.146657e-04 3.386624e-04 8.274556e-04 + 2401 19 1.702176e-03 9.035649e-04 2.767716e-03 1.346248e-03 3.258000e-04 + 2402 19 1.969350e-03 1.329828e-03 1.296325e-03 6.771729e-04 2.147954e-03 + 2403 19 3.322527e-03 2.585409e-03 2.965876e-03 3.663246e-03 4.406456e-03 + 2404 19 4.125403e-03 9.462855e-03 9.318451e-03 1.295418e-02 1.054603e-02 + 2405 19 3.208172e-03 3.223893e-03 2.367836e-03 2.559666e-03 1.909540e-03 + 2406 19 2.180153e-03 6.159437e-04 1.357228e-03 1.097206e-03 1.310406e-03 + 2407 19 4.900169e-04 1.841935e-03 5.462633e-04 5.896783e-04 1.438250e-03 + 2408 19 1.074422e-03 1.900661e-04 5.157601e-04 6.561501e-04 1.511926e-03 + 2409 19 3.083340e-03 1.881137e-03 2.800717e-03 2.865240e-03 2.886329e-03 + 2410 19 1.846212e-02 6.854857e-03 4.640085e-03 1.178908e-02 6.045291e-03 + 2411 19 4.527679e-03 3.091323e-03 2.086622e-03 4.061080e-03 2.556699e-03 + 2412 19 5.584729e-03 1.690403e-03 1.111846e-03 8.238095e-04 7.090151e-04 + 2413 19 6.320907e-04 5.274859e-04 8.052111e-04 5.239499e-04 3.773102e-04 + 2414 19 2.189531e-03 8.508092e-04 1.072334e-03 7.559830e-04 1.457154e-03 + 2415 19 1.352375e-03 2.341377e-03 4.039174e-04 7.705453e-04 3.479037e-04 + 2416 19 4.100966e-03 1.306387e-03 5.850168e-04 1.298828e-03 6.668453e-04 + 2417 19 1.123452e-03 2.126395e-03 9.033832e-04 5.084083e-04 1.650318e-03 + 2418 19 3.672742e-03 3.395029e-04 6.135970e-04 1.311863e-03 7.597847e-04 + 2419 19 1.104895e-03 1.708346e-03 1.216075e-03 2.664072e-03 2.714779e-03 + 2420 19 2.415002e-03 1.047454e-03 1.302756e-03 5.300467e-04 1.853501e-03 + 2421 19 3.499257e-03 1.671032e-03 1.046872e-03 1.654110e-03 1.167009e-03 + 2422 19 7.069659e-04 1.790890e-03 1.782537e-03 1.526736e-03 1.871385e-03 + 2423 19 1.803006e-03 2.525745e-04 9.350040e-04 4.639306e-04 1.520916e-03 + 2424 19 1.898204e-03 9.320851e-04 9.064905e-04 4.731075e-04 9.129244e-04 + 2425 19 1.629082e-03 1.024944e-03 8.531760e-04 9.523307e-04 5.237823e-04 + 2426 19 1.982376e-03 9.257737e-04 4.025727e-04 9.607746e-04 8.149657e-04 + 2427 19 1.723634e-03 2.679020e-04 1.511387e-03 1.086409e-03 1.101963e-03 + 2428 19 1.688738e-03 1.019717e-03 5.546925e-04 1.231958e-03 1.116088e-03 + 2429 19 2.225102e-03 6.755880e-04 9.286834e-04 9.285093e-04 5.678129e-04 + 2430 19 1.876767e-03 1.356394e-03 1.231637e-03 1.879033e-03 9.511668e-04 + 2431 19 1.051595e-03 6.755054e-04 1.185550e-03 7.422804e-04 6.429967e-04 + 2432 19 1.432746e-03 1.205563e-03 1.759903e-03 6.889324e-04 7.262052e-04 + 2433 20 3.485136e+00 1.265250e+00 1.335319e+00 1.237994e+00 1.422258e+00 + 2434 20 5.463663e+02 2.094448e+02 2.109574e+02 2.109062e+02 2.107203e+02 + 2435 20 8.621678e+02 3.301652e+02 3.318865e+02 3.323284e+02 3.318743e+02 + 2436 20 3.528921e+01 1.349627e+01 1.353142e+01 1.354615e+01 1.363036e+01 + 2437 20 2.380381e-02 2.026023e-02 1.606774e-02 1.664670e-02 1.284692e-02 + 2438 20 1.042397e-01 4.494160e-02 4.638061e-02 2.970034e-02 4.424226e-02 + 2439 20 2.548372e-01 9.427204e-02 8.227132e-02 1.035321e-01 9.268566e-02 + 2440 20 9.881136e-01 3.408603e-01 3.071402e-01 3.426190e-01 3.407556e-01 + 2441 20 1.397419e-01 6.458892e-02 5.287813e-02 5.940821e-02 4.849578e-02 + 2442 20 4.068333e-02 9.002068e-03 1.037435e-02 1.008050e-02 1.057254e-02 + 2443 20 4.006404e-02 2.136292e-02 2.509148e-02 2.852938e-02 2.561099e-02 + 2444 20 3.335065e-02 1.216500e-02 1.450371e-02 8.028281e-03 1.282824e-02 + 2445 20 3.338742e-02 2.291821e-02 3.502406e-02 2.876510e-02 2.165160e-02 + 2446 20 2.220745e-02 9.128171e-03 1.309968e-02 7.653497e-03 1.627911e-02 + 2447 20 2.611125e-02 9.680741e-03 8.790826e-03 1.030964e-02 7.732609e-03 + 2448 20 1.330002e-02 7.007063e-03 7.816217e-03 6.716579e-03 1.479040e-02 + 2449 20 2.331668e-02 9.326516e-03 6.175728e-03 1.169693e-02 4.345597e-03 + 2450 20 1.781283e-02 7.980041e-03 7.539568e-03 7.415759e-03 5.654743e-03 + 2451 20 8.708491e-03 1.034944e-02 9.340694e-03 1.016288e-02 5.681612e-03 + 2452 20 1.924125e-02 2.883621e-03 1.833649e-03 3.346436e-03 6.551917e-03 + 2453 20 5.485534e-03 1.074441e-02 5.146206e-03 5.496336e-03 6.775055e-03 + 2454 20 1.461765e-02 1.845204e-03 4.872316e-03 3.167263e-03 7.674362e-03 + 2455 20 9.016203e-03 7.112157e-03 3.367955e-03 1.080369e-02 5.924841e-03 + 2456 20 8.201469e-03 1.569127e-03 6.309158e-03 2.606346e-03 2.996245e-03 + 2457 20 1.260067e-02 3.363810e-03 4.426128e-04 5.187580e-03 2.784668e-03 + 2458 20 9.000782e-03 1.971009e-03 4.691193e-03 2.736922e-03 4.723889e-03 + 2459 20 2.570353e-03 5.629920e-03 4.594077e-03 5.010410e-03 2.138211e-03 + 2460 20 1.098834e-02 2.411446e-03 1.435405e-03 1.897351e-03 4.151702e-03 + 2461 20 3.536105e-03 2.282924e-03 4.106713e-03 4.114189e-03 2.357286e-03 + 2462 20 1.497709e-02 2.325419e-03 1.543941e-03 5.023867e-03 2.948173e-03 + 2463 20 2.688462e-03 2.489390e-03 6.236032e-03 5.470406e-03 5.367330e-03 + 2464 20 5.537663e-03 4.461922e-03 1.665372e-03 4.536375e-03 2.717271e-03 + 2465 20 5.662636e-03 1.444944e-03 2.068338e-03 1.692963e-03 3.028341e-03 + 2466 20 1.064330e-02 2.875175e-03 3.314547e-03 6.207936e-03 1.128977e-03 + 2467 20 2.929517e-03 1.373552e-03 1.573664e-03 2.450769e-03 1.645100e-03 + 2468 20 8.979098e-03 2.408141e-03 2.593692e-03 1.368769e-03 2.375568e-03 + 2469 20 4.427304e-03 3.979785e-03 2.364351e-03 3.437242e-03 1.158763e-03 + 2470 20 4.235784e-03 1.673987e-03 1.312804e-03 2.841466e-03 3.681141e-03 + 2471 20 7.785256e-03 1.679456e-03 4.835804e-03 3.579650e-04 1.280181e-03 + 2472 20 6.986983e-04 6.349703e-03 3.564294e-03 5.966257e-03 6.339974e-03 + 2473 20 8.530479e-03 2.761652e-03 8.902269e-04 1.272313e-03 6.707645e-04 + 2474 20 2.259295e-03 7.507980e-03 8.180742e-04 1.871718e-03 8.762116e-03 + 2475 20 3.256466e-03 1.082144e-03 1.879288e-03 9.088925e-04 1.186745e-03 + 2476 20 4.912293e-03 1.069043e-03 7.214788e-04 1.944594e-03 1.678128e-03 + 2477 20 1.343852e-03 3.080893e-03 2.083440e-03 2.288287e-03 1.804192e-03 + 2478 20 6.190891e-03 6.799333e-04 2.477594e-03 2.003529e-03 8.196495e-04 + 2479 20 3.740058e-03 1.699684e-03 1.365841e-03 9.370904e-04 2.522143e-03 + 2480 20 4.365424e-03 1.339130e-03 4.251450e-03 2.591041e-03 2.184919e-03 + 2481 20 1.516560e-01 7.628393e-02 7.740033e-02 6.651841e-02 7.440688e-02 + 2482 20 8.423079e-01 4.055998e-01 4.292069e-01 3.701974e-01 4.169064e-01 + 2483 20 1.513821e-01 7.304657e-02 8.463167e-02 6.800382e-02 8.392374e-02 + 2484 20 4.090154e-03 9.435757e-04 2.222523e-03 3.644390e-04 1.896430e-03 + 2485 20 1.865062e-03 2.230927e-03 3.954099e-03 2.767181e-03 1.796936e-03 + 2486 20 9.056930e-03 1.190525e-03 1.592961e-03 2.930821e-04 6.744911e-04 + 2487 20 2.992310e-03 7.146695e-04 3.591959e-03 3.729103e-03 1.352455e-03 + 2488 20 3.321564e-03 3.581616e-03 3.973197e-03 2.954780e-03 3.211135e-03 + 2489 20 3.798370e-03 1.435227e-03 1.302286e-03 1.358538e-03 7.422826e-04 + 2490 20 3.685477e-03 1.386587e-03 1.365931e-03 3.113536e-03 5.056828e-04 + 2491 20 1.833379e-03 1.395933e-03 2.438759e-03 2.623622e-03 1.447315e-03 + 2492 20 2.940196e-03 5.333653e-04 9.290885e-04 9.718899e-04 6.589348e-04 + 2493 20 3.391844e-03 1.552692e-03 9.697037e-04 1.112935e-03 4.354688e-04 + 2494 20 1.611519e-03 9.600818e-04 2.585833e-03 1.967256e-03 4.153951e-03 + 2495 20 2.229735e-03 4.606960e-04 9.356854e-04 9.516289e-04 1.138597e-03 + 2496 20 3.844245e-03 4.773045e-04 5.101572e-04 6.614707e-04 4.864527e-04 + 2497 20 8.377077e-04 1.476860e-03 9.237638e-04 3.648875e-03 1.961240e-03 + 2498 20 2.742589e-03 1.607385e-03 7.492258e-04 9.883755e-04 1.365478e-03 + 2499 20 2.758010e-03 1.625671e-03 1.340172e-03 5.310973e-04 1.184722e-03 + 2500 20 2.322994e-03 2.601446e-04 2.695032e-03 1.388358e-03 2.038082e-04 + 2501 20 9.531082e-04 1.405782e-03 3.169063e-03 1.029868e-03 1.056109e-03 + 2502 20 2.357200e-03 4.090108e-04 2.434652e-04 5.495352e-04 8.631878e-04 + 2503 20 2.820135e-03 1.093479e-03 2.340102e-03 1.650973e-03 6.816765e-04 + 2504 20 1.048672e-03 1.835531e-03 1.187020e-03 2.864543e-03 2.673338e-03 + 2505 20 3.603609e-03 2.625038e-04 8.672839e-04 1.912235e-03 7.021488e-04 + 2506 20 1.099556e-03 1.205767e-03 2.848690e-03 1.391149e-03 1.200998e-03 + 2507 20 2.484122e-03 5.348755e-04 3.646355e-03 1.525118e-04 4.134057e-04 + 2508 20 1.652397e-03 7.123584e-04 9.619402e-04 8.983365e-04 1.445303e-03 + 2509 20 1.280569e-03 1.391926e-03 9.337551e-04 9.324787e-04 5.981752e-04 + 2510 20 3.375046e-03 7.341015e-04 1.514947e-03 6.841418e-04 3.800551e-04 + 2511 20 3.505786e-03 1.638484e-03 1.718016e-03 1.766910e-03 1.120217e-03 + 2512 20 1.735783e-03 1.164778e-03 1.693192e-03 1.922124e-03 1.919650e-03 + 2513 20 4.643363e-03 8.376608e-04 8.152884e-04 1.182917e-03 9.904033e-04 + 2514 20 1.463847e-04 2.164293e-03 1.524283e-03 1.879728e-03 1.487610e-03 + 2515 20 2.399804e-03 1.815259e-03 9.131934e-04 5.469252e-04 1.325890e-03 + 2516 20 1.100891e-03 3.229338e-04 1.000711e-03 4.546383e-04 3.860993e-04 + 2517 20 8.668009e-04 1.191472e-03 1.943483e-03 8.535600e-04 1.920894e-03 + 2518 20 2.816695e-03 3.444612e-04 6.703827e-04 1.105069e-03 1.061945e-03 + 2519 20 1.979376e-03 1.119590e-03 1.295107e-03 1.792057e-03 7.701710e-04 + 2520 20 1.188683e-03 8.266946e-04 1.035505e-03 1.697878e-03 1.425736e-03 + 2521 20 3.845716e-03 8.354458e-04 1.436698e-04 1.170839e-03 1.064935e-03 + 2522 20 2.696460e-03 1.473426e-03 1.846457e-03 3.022907e-03 8.981385e-04 + 2523 20 2.463325e-03 1.181061e-03 7.990647e-04 1.207135e-03 5.510566e-04 + 2524 20 8.525631e-04 2.935631e-03 1.172024e-03 2.255060e-03 1.832147e-03 + 2525 20 3.982822e-03 3.064148e-03 1.659812e-03 2.098288e-03 1.760773e-03 + 2526 20 1.088453e-02 7.977440e-03 5.965045e-03 7.266362e-03 5.975899e-03 + 2527 20 5.561784e-03 1.204682e-03 1.145910e-03 1.294703e-03 9.524174e-04 + 2528 20 9.157475e-04 1.737015e-03 9.643091e-04 7.079567e-04 8.571922e-04 + 2529 20 1.895608e-03 2.439330e-03 1.857928e-03 1.143221e-03 1.671659e-03 + 2530 20 2.518459e-03 2.389745e-03 4.227116e-04 6.288854e-04 7.260126e-04 + 2531 20 1.748488e-03 4.351935e-03 1.836722e-03 3.143434e-03 1.335726e-03 + 2532 20 5.579559e-03 6.965420e-03 6.756711e-03 1.187225e-02 8.566569e-03 + 2533 20 4.397240e-03 2.304989e-03 3.307712e-03 3.178997e-03 2.571258e-03 + 2534 20 2.529626e-03 1.256956e-03 1.037466e-03 1.442187e-03 1.412620e-03 + 2535 20 1.180288e-03 5.015476e-04 1.170606e-03 5.770738e-04 5.249268e-04 + 2536 20 5.130123e-04 2.026195e-04 1.009665e-03 1.222987e-03 6.211119e-04 + 2537 20 2.368172e-03 1.083038e-03 4.148229e-04 1.295913e-03 1.789089e-03 + 2538 20 1.041157e-02 4.886920e-03 4.793445e-03 6.899038e-03 6.565320e-03 + 2539 20 2.722715e-03 2.988554e-04 4.821455e-04 5.718504e-04 1.169844e-03 + 2540 20 1.150304e-03 1.207771e-03 1.803255e-03 1.589772e-03 5.106278e-04 + 2541 20 9.968002e-04 6.350541e-04 7.037721e-04 9.965774e-04 1.340423e-03 + 2542 20 2.112414e-03 6.505673e-04 1.549196e-03 5.001480e-04 6.037447e-04 + 2543 20 1.654606e-03 1.484792e-03 9.586810e-04 3.124055e-03 6.080607e-04 + 2544 20 3.072393e-03 6.565028e-04 1.108037e-03 6.944375e-04 9.095319e-04 + 2545 20 1.102778e-03 7.442267e-04 6.513044e-04 1.495384e-03 2.659604e-04 + 2546 20 1.316848e-03 1.625997e-03 9.274996e-04 3.788277e-04 1.242652e-03 + 2547 20 1.502987e-03 1.223610e-03 1.559065e-03 1.215958e-03 1.289148e-03 + 2548 20 1.570621e-03 2.807424e-04 1.288359e-04 7.288969e-04 3.387262e-04 + 2549 20 3.546123e-03 6.761686e-04 6.705313e-04 7.294007e-04 7.905217e-04 + 2550 20 4.274032e-03 1.625011e-03 2.718803e-03 4.698991e-03 2.292950e-03 + 2551 20 2.271629e-03 9.536020e-04 2.368411e-03 1.745550e-03 1.610149e-03 + 2552 20 1.186762e-03 3.751263e-04 1.366153e-03 5.316877e-04 1.533108e-03 + 2553 20 9.054294e-04 6.005216e-04 4.238497e-04 1.168450e-03 9.943087e-04 + 2554 20 1.817055e-03 1.966664e-03 1.241386e-03 6.785095e-04 7.218757e-04 + 2555 20 8.781229e-04 1.454758e-03 1.601659e-03 1.056181e-03 1.390536e-03 + 2556 20 1.275775e-03 1.130359e-03 1.416676e-03 3.718900e-04 7.056841e-04 + 2557 20 1.470382e-03 1.651812e-03 1.500654e-03 4.159860e-04 1.634849e-03 + 2558 20 4.015285e-03 1.072622e-04 2.871041e-04 2.886708e-04 1.737969e-04 + 2559 20 5.652007e-04 7.884433e-04 2.218330e-03 1.378267e-03 1.023628e-03 + 2560 20 1.367909e-03 9.459711e-04 4.808931e-04 2.601233e-04 7.476369e-04 + 2561 21 3.499794e+00 1.268988e+00 1.323529e+00 1.293536e+00 1.391434e+00 + 2562 21 5.471204e+02 2.091880e+02 2.097762e+02 2.102353e+02 2.095387e+02 + 2563 21 8.622774e+02 3.296542e+02 3.315856e+02 3.308455e+02 3.296984e+02 + 2564 21 3.519023e+01 1.355455e+01 1.349062e+01 1.346357e+01 1.310729e+01 + 2565 21 1.155903e-01 4.279648e-02 4.042082e-02 5.024270e-02 7.244442e-02 + 2566 21 4.237903e-02 1.783151e-02 2.600178e-02 3.172271e-02 2.471744e-02 + 2567 21 2.539464e-01 9.696859e-02 8.014267e-02 8.128461e-02 8.970444e-02 + 2568 21 1.032120e+00 3.205467e-01 3.387453e-01 3.556805e-01 3.597474e-01 + 2569 21 1.446988e-01 4.123568e-02 5.029198e-02 4.762605e-02 4.482877e-02 + 2570 21 5.795547e-02 3.224159e-02 2.601275e-02 2.903762e-02 3.443096e-02 + 2571 21 3.099641e-02 6.690967e-03 1.402460e-02 9.180899e-03 1.031027e-02 + 2572 21 3.516700e-02 1.416535e-02 1.770385e-02 1.897694e-02 1.547691e-02 + 2573 21 3.315966e-02 1.744401e-02 7.462398e-03 1.167494e-02 1.418540e-02 + 2574 21 3.297272e-02 1.357862e-02 1.466172e-02 1.624728e-02 1.383180e-02 + 2575 21 2.095789e-02 9.144705e-03 6.660363e-03 8.281570e-03 1.281934e-02 + 2576 21 1.352621e-02 1.332952e-02 1.662317e-02 7.578711e-03 8.247812e-03 + 2577 21 2.620155e-02 5.490160e-03 4.361522e-03 8.000512e-03 4.633679e-03 + 2578 21 1.216874e-02 4.211207e-03 3.043509e-03 2.585786e-03 8.305852e-03 + 2579 21 2.002052e-02 5.793277e-03 1.136749e-02 1.318977e-02 8.352167e-03 + 2580 21 1.186085e-02 6.790932e-03 3.286067e-03 2.934867e-03 3.769283e-03 + 2581 21 9.876931e-03 4.371219e-03 5.845575e-03 5.385167e-03 7.477728e-03 + 2582 21 1.622774e-02 2.648845e-03 3.547161e-03 4.288159e-03 3.460709e-03 + 2583 21 8.370087e-03 7.751967e-03 6.474982e-03 5.951829e-03 3.387370e-03 + 2584 21 1.342034e-02 6.646046e-03 5.105055e-03 5.102010e-03 8.802716e-03 + 2585 21 1.018181e-02 3.431018e-03 4.334411e-03 1.143403e-03 1.755164e-03 + 2586 21 3.286061e-03 4.231029e-03 3.908206e-03 4.290349e-03 2.299513e-03 + 2587 21 1.182878e-02 2.420637e-03 2.248169e-03 3.832800e-03 4.204617e-03 + 2588 21 4.428487e-03 3.956075e-03 2.468419e-03 1.781239e-03 2.170408e-03 + 2589 21 7.551999e-03 1.914950e-03 4.601462e-03 7.125858e-03 5.580434e-03 + 2590 21 4.230856e-03 3.733521e-03 2.956081e-03 3.530572e-03 3.977189e-03 + 2591 21 6.478875e-03 3.026208e-03 2.054265e-03 3.324055e-03 3.012674e-03 + 2592 21 1.132492e-02 3.006635e-03 6.086444e-03 2.895501e-03 2.661092e-03 + 2593 21 2.516053e-03 3.364254e-03 4.059467e-03 3.868230e-03 4.730840e-03 + 2594 21 8.453391e-03 8.930156e-04 1.450784e-03 3.934828e-03 7.427691e-04 + 2595 21 4.418434e-03 3.870196e-03 5.385884e-03 2.699549e-03 2.646615e-03 + 2596 21 7.637097e-03 6.960506e-04 2.117648e-03 6.218389e-04 9.117298e-04 + 2597 21 5.460465e-03 1.383121e-03 2.415968e-03 2.359009e-03 1.745002e-03 + 2598 21 2.361985e-03 4.309950e-03 4.039455e-03 4.410184e-03 4.240309e-03 + 2599 21 9.294323e-03 2.659606e-03 1.867085e-03 1.180612e-03 1.122844e-03 + 2600 21 1.096488e-03 1.108355e-03 1.886830e-03 2.564015e-03 1.818466e-03 + 2601 21 4.607691e-03 2.922666e-03 1.834880e-03 1.516148e-03 3.122233e-03 + 2602 21 3.490674e-03 1.861155e-03 3.823836e-03 4.877539e-04 3.552545e-03 + 2603 21 4.042740e-03 2.194930e-03 1.429756e-03 2.181070e-03 1.190400e-03 + 2604 21 1.513099e-03 7.869775e-04 1.668607e-03 4.422183e-03 1.721296e-03 + 2605 21 5.762387e-03 2.215642e-03 4.317354e-04 2.818915e-03 1.971396e-03 + 2606 21 1.897098e-03 1.785289e-03 2.396808e-03 2.196211e-03 5.734438e-04 + 2607 21 4.118381e-03 1.655341e-03 1.297433e-03 2.513485e-03 2.169177e-03 + 2608 21 1.178414e-03 9.795457e-04 4.734197e-03 1.483953e-03 7.477659e-04 + 2609 21 1.408549e-01 7.600060e-02 6.695484e-02 6.868332e-02 7.192746e-02 + 2610 21 7.806273e-01 4.252738e-01 3.880504e-01 3.903349e-01 3.887660e-01 + 2611 21 1.476583e-01 8.596840e-02 7.420483e-02 7.195769e-02 6.735718e-02 + 2612 21 1.408586e-03 1.511810e-03 1.422701e-03 9.953217e-04 1.383804e-03 + 2613 21 3.259556e-03 1.123221e-03 7.298142e-04 1.362931e-03 2.429912e-03 + 2614 21 6.383037e-03 1.572423e-03 2.209961e-03 7.958515e-04 1.042971e-03 + 2615 21 1.458599e-03 2.594926e-03 1.347954e-03 3.827343e-03 3.401923e-03 + 2616 21 2.183790e-03 7.853519e-04 2.029649e-03 1.850771e-03 9.009786e-04 + 2617 21 1.288738e-03 1.911240e-03 1.343366e-03 2.048426e-03 1.608014e-03 + 2618 21 4.205565e-03 5.726354e-04 1.345826e-03 8.615729e-04 7.716043e-04 + 2619 21 1.761033e-03 1.534321e-03 9.768382e-04 1.828811e-03 7.613182e-04 + 2620 21 2.812602e-03 6.082062e-04 3.953686e-04 1.313952e-03 7.631557e-04 + 2621 21 2.422394e-03 1.087164e-03 2.089277e-03 4.521452e-04 1.003251e-03 + 2622 21 2.025796e-03 2.509637e-03 2.029606e-03 1.393220e-03 2.107869e-03 + 2623 21 4.025183e-03 2.008516e-04 2.920552e-04 5.991667e-04 5.459084e-04 + 2624 21 7.063446e-04 1.846848e-03 1.237261e-03 1.749888e-03 2.246818e-03 + 2625 21 3.820799e-03 8.653321e-04 1.155613e-03 1.265328e-03 1.448012e-03 + 2626 21 2.302302e-03 1.003611e-03 8.669720e-04 8.275025e-04 1.111011e-03 + 2627 21 1.985481e-03 2.945637e-03 8.308221e-04 1.398792e-03 8.780947e-04 + 2628 21 1.399990e-03 4.041373e-04 3.244625e-04 1.863822e-03 7.959413e-04 + 2629 21 3.956454e-03 3.879767e-04 8.825599e-04 1.018939e-03 9.984422e-04 + 2630 21 1.698437e-03 2.132105e-03 6.085582e-04 6.180736e-04 2.728395e-04 + 2631 21 3.886352e-03 1.348525e-03 1.343204e-03 1.635878e-03 3.773386e-03 + 2632 21 3.638727e-03 3.620721e-04 4.726949e-04 4.800550e-04 2.197704e-03 + 2633 21 2.274965e-03 1.858568e-03 1.397826e-03 1.680673e-03 2.693627e-03 + 2634 21 3.151067e-03 6.310000e-04 5.156731e-04 7.487534e-04 1.787513e-03 + 2635 21 1.257652e-03 1.047838e-03 1.664521e-03 3.221382e-03 1.064653e-03 + 2636 21 1.588639e-03 1.510311e-03 1.331947e-03 1.232725e-03 1.725780e-03 + 2637 21 2.631087e-03 1.052301e-03 7.774451e-04 7.546699e-04 1.918569e-03 + 2638 21 1.633112e-03 9.721662e-04 9.391570e-04 1.509503e-03 8.646280e-04 + 2639 21 1.695504e-03 8.481803e-04 2.159687e-03 4.761695e-04 6.603325e-04 + 2640 21 1.784211e-03 8.072064e-04 1.050821e-03 1.709877e-03 6.346057e-04 + 2641 21 1.643160e-03 6.258414e-04 1.924126e-03 5.178086e-04 5.593289e-04 + 2642 21 2.945225e-03 8.964881e-04 1.929937e-03 1.479391e-03 2.668321e-03 + 2643 21 2.960883e-03 8.293372e-04 1.969290e-03 6.732288e-04 1.863247e-03 + 2644 21 3.431086e-03 9.292520e-04 2.595421e-03 1.076380e-03 1.111438e-03 + 2645 21 1.280660e-03 5.276953e-04 1.216990e-03 4.725931e-04 8.524930e-04 + 2646 21 1.426393e-03 1.045563e-03 1.303990e-03 4.146341e-04 5.953828e-04 + 2647 21 1.835639e-03 9.166661e-04 7.507048e-04 1.475964e-03 1.081202e-03 + 2648 21 5.166910e-04 1.231617e-03 1.227979e-03 3.557070e-04 6.482367e-04 + 2649 21 3.484772e-03 1.190011e-03 4.187693e-04 9.082365e-04 8.351032e-04 + 2650 21 1.069989e-03 5.663971e-04 2.641258e-03 1.127102e-03 2.122498e-03 + 2651 21 1.647203e-03 2.280009e-03 6.971198e-04 1.414671e-03 7.642305e-05 + 2652 21 3.285235e-03 5.577360e-04 5.297270e-04 5.752960e-04 6.709653e-04 + 2653 21 2.418374e-03 2.106313e-03 1.734334e-03 1.222916e-03 8.496144e-04 + 2654 21 1.501337e-02 6.387008e-03 8.239277e-03 4.959304e-03 5.535712e-03 + 2655 21 5.685054e-03 2.820076e-03 3.459780e-03 1.990413e-03 2.912151e-03 + 2656 21 2.713703e-03 1.574276e-03 1.766463e-03 9.864777e-04 3.010271e-03 + 2657 21 2.667003e-03 1.731658e-03 1.203182e-03 5.564701e-04 1.621540e-03 + 2658 21 1.670613e-03 2.595384e-03 4.964523e-04 1.043884e-03 1.303985e-03 + 2659 21 4.070234e-03 9.188069e-04 1.982892e-03 1.544417e-03 1.866849e-03 + 2660 21 2.832946e-03 4.286690e-03 5.293087e-03 4.403997e-03 5.246978e-03 + 2661 21 1.199559e-03 2.750622e-03 3.378708e-03 2.538745e-03 2.599525e-03 + 2662 21 4.960513e-03 5.051275e-04 6.828860e-04 1.177644e-03 7.436317e-04 + 2663 21 2.281350e-03 9.703731e-04 1.013884e-03 3.123215e-03 2.314260e-03 + 2664 21 2.122689e-03 3.560102e-04 7.418231e-04 5.523428e-04 6.515059e-04 + 2665 21 2.928352e-03 1.331092e-03 9.813718e-04 1.360599e-03 1.642506e-03 + 2666 21 1.385636e-02 5.604004e-03 4.972755e-03 8.810817e-03 6.940624e-03 + 2667 21 5.547558e-03 2.276810e-03 2.162891e-03 4.744394e-03 2.656231e-03 + 2668 21 2.252673e-03 6.106219e-04 5.298379e-04 1.251203e-03 1.062588e-03 + 2669 21 1.551776e-03 1.390003e-03 3.099616e-04 1.228760e-03 7.448732e-04 + 2670 21 9.600848e-04 1.163256e-03 5.904659e-04 2.330270e-03 1.015025e-03 + 2671 21 1.512788e-03 1.645457e-03 1.266004e-03 1.962080e-03 3.086318e-04 + 2672 21 7.805680e-04 1.092043e-03 5.565505e-04 7.573666e-04 3.283529e-04 + 2673 21 3.524176e-03 1.295856e-03 1.593805e-03 1.841168e-03 1.080020e-03 + 2674 21 1.592719e-03 1.103988e-03 1.724397e-03 1.843454e-03 1.340056e-03 + 2675 21 1.021890e-03 4.758363e-04 9.262763e-04 1.545309e-03 5.822990e-04 + 2676 21 2.284115e-03 1.146621e-03 1.115236e-03 1.152321e-03 1.469547e-04 + 2677 21 2.481153e-03 8.267870e-04 1.051089e-03 7.262293e-04 1.612055e-03 + 2678 21 3.836952e-03 1.393978e-03 1.656118e-03 1.813205e-03 2.321244e-03 + 2679 21 2.175286e-03 9.710469e-04 2.038476e-03 1.499462e-03 1.040925e-03 + 2680 21 2.874508e-03 8.751101e-04 5.816087e-04 1.544810e-03 8.672670e-04 + 2681 21 2.572165e-03 7.777152e-04 4.818574e-04 9.911078e-04 1.227878e-03 + 2682 21 9.340068e-04 3.727738e-04 5.738307e-04 5.549940e-04 3.987698e-04 + 2683 21 9.861991e-04 8.852584e-04 4.743464e-04 1.102798e-03 2.192477e-03 + 2684 21 2.603177e-03 8.805895e-04 2.695194e-03 6.675840e-04 6.495546e-04 + 2685 21 2.237799e-03 1.352296e-03 8.674049e-04 3.639498e-04 6.068079e-04 + 2686 21 9.480470e-04 7.695001e-04 9.106227e-04 1.456799e-03 5.693383e-04 + 2687 21 2.134170e-03 2.230923e-04 5.045704e-04 1.495675e-03 9.046624e-05 + 2688 21 1.505292e-03 8.218650e-04 4.475034e-04 1.551695e-03 6.594837e-04 + 2689 22 3.210269e+00 1.132458e+00 1.172467e+00 1.273023e+00 1.238910e+00 + 2690 22 5.485906e+02 2.089704e+02 2.110772e+02 2.120374e+02 2.112675e+02 + 2691 22 8.582540e+02 3.282508e+02 3.309796e+02 3.324291e+02 3.317922e+02 + 2692 22 3.517566e+01 1.360833e+01 1.351161e+01 1.372776e+01 1.381299e+01 + 2693 22 1.436078e-01 7.045572e-02 4.871871e-02 4.996976e-02 6.597313e-02 + 2694 22 4.309373e-02 1.363561e-02 8.755126e-03 9.442420e-03 1.429310e-02 + 2695 22 2.770198e-01 9.804598e-02 1.195073e-01 1.256288e-01 1.008492e-01 + 2696 22 8.454301e-01 3.524052e-01 3.560281e-01 3.334795e-01 2.949873e-01 + 2697 22 1.683590e-01 5.330738e-02 4.992838e-02 5.110041e-02 4.744570e-02 + 2698 22 4.227289e-02 2.788444e-02 1.939470e-02 3.146818e-02 2.707899e-02 + 2699 22 3.135290e-02 7.010921e-03 1.359528e-02 1.115053e-02 5.042878e-03 + 2700 22 3.340074e-02 1.291080e-02 1.433773e-02 1.417561e-02 1.700687e-02 + 2701 22 3.049037e-02 9.978253e-03 1.165024e-02 6.126597e-03 1.056669e-02 + 2702 22 3.072660e-02 7.628170e-03 1.579834e-02 1.527279e-02 1.120415e-02 + 2703 22 7.630547e-03 1.444270e-02 8.405566e-03 6.049485e-03 9.918991e-03 + 2704 22 2.081494e-02 4.756050e-03 6.277151e-03 1.017301e-02 9.709651e-03 + 2705 22 1.247363e-02 1.130748e-02 6.712086e-03 5.441298e-03 2.843121e-03 + 2706 22 1.349206e-02 3.760936e-03 3.634884e-03 5.606557e-03 6.876483e-03 + 2707 22 1.277486e-02 7.520607e-03 6.592219e-03 1.277883e-02 6.722847e-03 + 2708 22 9.068332e-03 5.214578e-03 2.782277e-03 4.488498e-03 4.800106e-03 + 2709 22 1.107276e-02 1.757596e-03 8.915331e-03 3.102817e-03 5.066147e-03 + 2710 22 8.367784e-03 6.610946e-03 2.671095e-03 5.289783e-03 4.693921e-03 + 2711 22 1.087547e-02 2.404736e-03 3.822989e-03 3.532441e-03 2.660936e-03 + 2712 22 1.209916e-02 5.094230e-03 4.980475e-03 5.734820e-03 4.921966e-03 + 2713 22 1.346960e-02 1.938928e-03 2.080461e-03 3.460149e-03 3.697416e-03 + 2714 22 4.281255e-03 4.479053e-03 2.493703e-03 5.819071e-03 4.527080e-03 + 2715 22 4.703459e-03 3.159063e-03 5.439143e-03 5.162534e-03 1.164423e-03 + 2716 22 7.842335e-03 1.754114e-03 1.312470e-03 3.828984e-04 2.028267e-03 + 2717 22 4.478459e-03 3.794529e-03 6.410699e-03 9.648588e-03 5.314822e-03 + 2718 22 8.779361e-03 2.900015e-03 2.099507e-03 1.646578e-03 2.085092e-03 + 2719 22 5.959513e-03 2.095543e-03 3.578150e-03 2.644751e-03 2.976777e-03 + 2720 22 9.976513e-03 3.504401e-03 2.281584e-03 3.454405e-03 3.020735e-03 + 2721 22 5.937273e-04 3.182459e-03 1.861043e-03 2.206511e-03 1.400917e-03 + 2722 22 8.324216e-03 1.280557e-03 3.947647e-03 2.706065e-03 2.123861e-03 + 2723 22 6.673426e-03 2.070642e-03 1.625304e-03 9.734865e-04 1.435575e-03 + 2724 22 1.678378e-03 1.646133e-03 4.398509e-03 2.673396e-03 1.683213e-03 + 2725 22 1.261115e-02 4.446335e-03 2.472496e-03 2.143194e-03 2.837869e-03 + 2726 22 4.785671e-03 3.436469e-03 6.589585e-03 3.291998e-03 2.880597e-03 + 2727 22 3.586232e-03 1.991015e-03 1.687459e-03 2.824427e-03 1.280588e-03 + 2728 22 7.487407e-03 8.995881e-04 1.769093e-03 1.966369e-03 7.272169e-04 + 2729 22 3.800118e-03 2.871702e-03 1.456004e-03 8.107046e-04 3.108012e-03 + 2730 22 5.333266e-03 1.421402e-03 2.180044e-03 1.163270e-03 2.991178e-03 + 2731 22 3.189483e-03 4.284367e-03 2.558596e-03 4.460928e-03 4.116307e-03 + 2732 22 2.039545e-03 8.956267e-04 1.690412e-03 2.233987e-03 2.904644e-03 + 2733 22 4.243011e-03 2.447284e-04 2.049291e-03 4.194888e-03 8.286867e-04 + 2734 22 2.425297e-03 1.681927e-03 1.201091e-03 4.622722e-04 9.835381e-04 + 2735 22 1.335766e-03 3.447312e-03 1.936055e-03 1.474828e-03 2.025501e-03 + 2736 22 5.388333e-03 1.568002e-03 1.968051e-03 1.733808e-03 4.839305e-04 + 2737 22 1.572951e-01 8.844801e-02 7.356379e-02 8.852742e-02 8.050986e-02 + 2738 22 8.045052e-01 4.256482e-01 3.821457e-01 4.191987e-01 4.095365e-01 + 2739 22 1.310658e-01 7.311862e-02 7.237555e-02 6.815416e-02 7.028724e-02 + 2740 22 3.411879e-03 1.449286e-03 9.250057e-04 1.702738e-03 1.447930e-03 + 2741 22 4.248429e-03 2.117976e-03 8.566847e-04 1.054592e-03 2.171254e-03 + 2742 22 2.819458e-03 1.502303e-03 1.694115e-03 1.791857e-03 2.400056e-03 + 2743 22 3.794021e-03 1.387816e-03 1.249841e-03 1.414354e-03 9.807777e-04 + 2744 22 3.422179e-03 1.391246e-03 1.428444e-03 2.758698e-03 2.338893e-03 + 2745 22 5.702085e-03 1.669878e-03 1.591698e-03 3.398201e-04 4.584884e-04 + 2746 22 1.354530e-03 9.693433e-04 9.322100e-04 1.678405e-03 1.863311e-03 + 2747 22 6.271670e-04 2.217868e-03 8.205385e-04 1.939248e-03 1.194775e-03 + 2748 22 3.711024e-03 2.486459e-03 1.583398e-03 9.747221e-04 1.464610e-03 + 2749 22 2.356052e-03 1.337833e-03 1.950511e-03 1.368147e-03 6.353207e-04 + 2750 22 3.132646e-03 5.643802e-04 1.442138e-03 7.236279e-04 7.413460e-04 + 2751 22 9.976189e-04 1.306159e-03 1.608075e-03 1.462214e-03 1.571925e-03 + 2752 22 2.424529e-03 2.183259e-03 1.176254e-03 3.975700e-04 7.170502e-04 + 2753 22 2.170566e-03 8.390288e-04 6.632457e-04 1.027786e-03 1.283120e-03 + 2754 22 4.241457e-03 1.495406e-03 1.133130e-03 1.500957e-03 7.960706e-04 + 2755 22 1.209193e-03 1.565590e-03 2.252644e-04 4.926982e-04 2.884262e-04 + 2756 22 1.246086e-03 3.010339e-04 1.239406e-03 6.957824e-04 2.007462e-03 + 2757 22 1.659573e-03 2.695183e-04 1.040624e-03 9.445258e-04 1.296922e-03 + 2758 22 1.532948e-03 2.879747e-03 1.391045e-03 2.243769e-03 2.713425e-03 + 2759 22 2.862070e-03 8.265649e-04 6.167024e-04 7.888273e-04 8.539832e-04 + 2760 22 1.171777e-03 1.363631e-03 3.025996e-03 1.200875e-03 1.925609e-03 + 2761 22 4.534912e-03 1.244509e-03 1.072223e-03 8.708668e-04 8.570866e-04 + 2762 22 1.401086e-03 2.281228e-03 8.109203e-04 2.064470e-03 1.686096e-03 + 2763 22 3.044656e-03 1.451062e-03 5.612028e-04 1.068617e-03 7.529993e-04 + 2764 22 1.458674e-03 3.312889e-03 1.277394e-03 1.603287e-03 2.371165e-03 + 2765 22 3.328354e-03 1.547364e-03 5.676176e-04 3.028795e-04 9.416907e-04 + 2766 22 8.223804e-04 5.264996e-04 7.038815e-04 6.431823e-04 1.060136e-03 + 2767 22 1.381396e-03 1.589224e-03 1.482730e-04 7.009950e-04 6.344640e-04 + 2768 22 3.676667e-03 2.846343e-04 1.369665e-03 8.904175e-04 3.111795e-04 + 2769 22 2.049989e-03 7.105850e-04 1.371865e-04 4.237491e-04 1.035531e-03 + 2770 22 1.292120e-03 1.349516e-03 7.419433e-04 7.093166e-04 8.510389e-04 + 2771 22 1.966399e-03 2.378309e-03 8.243669e-04 1.369237e-03 3.537713e-04 + 2772 22 1.601403e-03 1.925048e-03 5.543508e-04 2.174587e-03 2.067984e-03 + 2773 22 5.090035e-03 3.352241e-03 1.590825e-03 1.710516e-03 5.282296e-04 + 2774 22 1.501064e-03 9.758173e-04 1.233018e-03 1.534396e-03 8.128857e-04 + 2775 22 3.145636e-03 9.150597e-04 4.018943e-04 1.171487e-03 6.569136e-04 + 2776 22 2.259522e-03 1.632697e-03 2.385592e-03 1.551909e-03 8.974462e-04 + 2777 22 2.747610e-03 8.125007e-04 2.310582e-03 9.862554e-04 6.481675e-04 + 2778 22 9.211048e-04 2.009585e-04 3.371805e-03 3.065545e-03 9.621444e-04 + 2779 22 1.431479e-03 1.360731e-03 3.970629e-04 7.649138e-04 1.115430e-03 + 2780 22 1.109494e-03 5.273159e-04 1.008258e-03 7.199704e-04 1.134361e-03 + 2781 22 5.632542e-03 2.722433e-03 2.255691e-03 2.346496e-03 3.444976e-03 + 2782 22 1.758709e-02 7.624403e-03 8.729885e-03 5.662469e-03 1.061898e-02 + 2783 22 3.963467e-03 1.842307e-03 2.066466e-03 2.574277e-03 3.779921e-03 + 2784 22 1.743427e-03 1.826438e-03 5.637587e-04 8.292563e-04 1.008523e-03 + 2785 22 1.678285e-03 8.711853e-04 7.783352e-04 8.079160e-04 8.490251e-04 + 2786 22 1.857325e-03 8.431682e-04 8.954245e-04 1.296932e-03 1.018558e-03 + 2787 22 2.045686e-03 1.868537e-03 1.736979e-03 2.132433e-03 2.338468e-03 + 2788 22 3.243338e-03 7.314191e-03 6.881533e-03 9.084708e-03 7.652548e-03 + 2789 22 4.559651e-03 1.301383e-03 9.278486e-04 2.400308e-03 1.580165e-03 + 2790 22 3.041542e-03 1.532407e-03 1.439332e-03 9.087839e-04 5.922648e-04 + 2791 22 2.608899e-03 1.245804e-03 5.380459e-04 1.189006e-03 2.660933e-04 + 2792 22 1.566217e-03 1.693241e-03 3.024054e-04 1.338638e-03 1.050218e-03 + 2793 22 5.730247e-03 3.206821e-03 2.951224e-03 1.551427e-03 2.645141e-03 + 2794 22 2.043320e-02 9.786240e-03 6.443771e-03 1.180695e-02 9.441273e-03 + 2795 22 2.875179e-03 2.014446e-03 1.812924e-03 1.972473e-03 3.400252e-03 + 2796 22 2.843626e-03 6.671542e-04 3.148988e-04 6.881431e-04 1.701618e-03 + 2797 22 3.791023e-04 1.370871e-03 3.492792e-04 1.660922e-03 7.430314e-04 + 2798 22 3.090151e-03 2.825589e-03 1.239052e-03 9.635461e-04 4.745705e-04 + 2799 22 2.478242e-03 1.331524e-03 1.297293e-03 8.498628e-04 7.580130e-04 + 2800 22 8.418735e-04 1.687545e-03 2.373696e-03 1.344910e-03 1.364673e-03 + 2801 22 2.756367e-03 9.381721e-04 8.375224e-04 1.404450e-03 6.815289e-04 + 2802 22 3.499631e-04 1.411709e-03 1.499786e-03 5.411122e-04 1.411191e-03 + 2803 22 2.491659e-03 5.387333e-04 1.287347e-03 5.194513e-04 5.711336e-04 + 2804 22 1.313500e-03 8.380206e-04 1.447776e-03 7.115069e-04 1.542319e-03 + 2805 22 4.199704e-03 4.242135e-04 1.268698e-03 5.009629e-04 6.478216e-04 + 2806 22 3.592961e-03 1.800490e-03 3.154587e-03 2.173985e-03 1.618729e-03 + 2807 22 2.888912e-03 7.954366e-04 1.295772e-03 1.665277e-03 8.293871e-04 + 2808 22 1.997033e-03 5.625940e-04 9.496023e-04 2.417776e-03 5.995441e-04 + 2809 22 9.842057e-04 7.887827e-04 1.184306e-03 3.388953e-04 7.148196e-04 + 2810 22 1.849680e-03 1.157845e-03 1.107387e-03 1.528978e-03 1.282234e-03 + 2811 22 2.087694e-03 1.264177e-03 9.259847e-04 3.163984e-03 1.305126e-03 + 2812 22 2.405227e-03 1.786152e-03 1.089642e-03 2.558622e-03 8.278714e-04 + 2813 22 4.533100e-03 8.591770e-04 1.082089e-03 1.059465e-03 5.025305e-04 + 2814 22 8.906545e-04 1.143070e-03 2.301972e-03 1.567749e-03 4.946356e-04 + 2815 22 5.064165e-04 6.726433e-04 1.078954e-03 1.477778e-03 1.342182e-03 + 2816 22 3.196237e-03 1.519837e-04 4.018493e-04 2.346270e-03 2.550856e-04 + 2817 23 3.421229e+00 1.564850e+00 1.423053e+00 1.472737e+00 1.452925e+00 + 2818 23 5.437222e+02 2.098305e+02 2.115688e+02 2.118380e+02 2.118713e+02 + 2819 23 8.587326e+02 3.280173e+02 3.328604e+02 3.332353e+02 3.330289e+02 + 2820 23 3.461551e+01 1.337496e+01 1.330267e+01 1.345811e+01 1.341011e+01 + 2821 23 6.769682e-02 1.788271e-02 2.077478e-02 2.420088e-02 2.083847e-02 + 2822 23 1.083652e-01 3.607538e-02 3.593746e-02 4.470524e-02 4.475499e-02 + 2823 23 2.433470e-01 9.707016e-02 1.041136e-01 9.392684e-02 9.939313e-02 + 2824 23 9.899804e-01 3.183952e-01 3.740241e-01 3.340207e-01 3.451467e-01 + 2825 23 1.720166e-01 4.686014e-02 5.130875e-02 5.678334e-02 4.959264e-02 + 2826 23 3.394788e-02 1.798871e-02 2.583355e-02 1.491185e-02 2.217322e-02 + 2827 23 5.078722e-02 1.698945e-02 1.655853e-02 1.756322e-02 1.765547e-02 + 2828 23 3.208965e-02 1.031689e-02 9.652053e-03 1.377032e-02 8.462138e-03 + 2829 23 4.691127e-02 1.941718e-02 2.310218e-02 2.302465e-02 2.242322e-02 + 2830 23 2.164896e-02 1.324389e-02 1.135813e-02 7.345725e-03 1.262667e-02 + 2831 23 2.699098e-02 1.077631e-02 1.001153e-02 1.084452e-02 1.285371e-02 + 2832 23 1.782906e-02 8.252989e-03 8.604554e-03 1.226109e-02 7.347548e-03 + 2833 23 1.674889e-02 8.352810e-03 7.024651e-03 7.075622e-03 1.099722e-02 + 2834 23 2.858265e-02 7.839969e-03 5.710747e-03 7.200956e-03 4.876838e-03 + 2835 23 9.805841e-03 5.779251e-03 9.494012e-03 7.313670e-03 8.774051e-03 + 2836 23 1.307230e-02 5.626875e-03 4.684578e-03 9.631427e-04 1.159041e-02 + 2837 23 1.434167e-02 6.188638e-03 6.343278e-03 1.098548e-02 3.749695e-03 + 2838 23 9.969626e-03 5.901149e-03 2.068847e-03 4.433167e-03 3.316573e-03 + 2839 23 1.994839e-02 5.203810e-03 4.006678e-03 2.420402e-03 3.484425e-03 + 2840 23 3.486759e-03 5.878302e-03 5.241066e-03 4.653353e-03 4.613649e-03 + 2841 23 1.197922e-02 4.287102e-03 3.345913e-03 3.682639e-03 1.792767e-03 + 2842 23 9.071691e-03 5.429925e-03 3.912872e-03 4.631616e-03 6.826410e-03 + 2843 23 8.858682e-03 3.313332e-03 2.673061e-03 3.846025e-03 2.760795e-03 + 2844 23 3.802453e-03 4.394463e-03 5.724613e-03 1.982892e-03 3.717201e-03 + 2845 23 1.663254e-02 2.006316e-03 1.159443e-03 3.944026e-03 1.277698e-03 + 2846 23 1.527263e-03 3.965371e-03 1.058468e-02 6.625320e-03 8.970530e-03 + 2847 23 1.680949e-02 1.586316e-03 1.124113e-03 1.406500e-03 7.049385e-05 + 2848 23 1.986656e-03 5.054515e-03 5.345763e-03 6.353601e-03 8.648181e-03 + 2849 23 1.226041e-02 1.513092e-03 3.057943e-03 1.852473e-03 1.897542e-03 + 2850 23 1.163454e-02 4.919090e-03 3.645561e-03 3.071913e-03 3.233095e-03 + 2851 23 6.947593e-03 2.391429e-03 1.207226e-03 1.684802e-03 9.560150e-04 + 2852 23 3.511154e-03 1.816670e-03 2.977212e-03 2.953130e-03 3.752895e-03 + 2853 23 7.420432e-03 3.740334e-03 1.048402e-03 7.283031e-04 1.318651e-03 + 2854 23 7.915472e-03 5.779177e-03 2.763975e-03 3.197910e-03 3.013889e-03 + 2855 23 4.893539e-03 2.258194e-03 3.593155e-03 1.388750e-03 1.610176e-03 + 2856 23 6.309502e-03 1.026508e-03 3.839557e-03 2.268369e-03 2.078958e-03 + 2857 23 4.094071e-03 1.594651e-03 4.013658e-03 1.852965e-03 2.232166e-03 + 2858 23 3.137708e-03 1.924413e-03 4.328158e-03 1.030746e-03 6.393683e-03 + 2859 23 5.191096e-03 1.616793e-03 2.708611e-03 1.833716e-03 5.071014e-03 + 2860 23 4.038088e-03 1.786637e-03 1.576355e-03 3.591221e-03 1.483612e-03 + 2861 23 1.571094e-03 1.336741e-03 9.362075e-04 2.617621e-03 7.128190e-04 + 2862 23 2.898962e-03 5.564590e-04 1.388876e-03 7.652152e-04 1.699068e-03 + 2863 23 3.260930e-03 3.987050e-03 1.421942e-03 1.834820e-03 2.071029e-03 + 2864 23 1.936536e-03 2.056343e-03 2.720430e-03 1.610428e-03 1.025710e-03 + 2865 23 1.442841e-01 7.860355e-02 7.417753e-02 7.029783e-02 6.625303e-02 + 2866 23 7.980658e-01 4.076264e-01 3.946024e-01 3.958508e-01 3.885619e-01 + 2867 23 1.442330e-01 7.932790e-02 7.473801e-02 7.947564e-02 7.476031e-02 + 2868 23 4.918910e-03 6.282444e-04 1.211071e-03 6.051174e-04 1.562293e-03 + 2869 23 1.865513e-03 2.809328e-03 1.302349e-03 2.489848e-03 3.264066e-03 + 2870 23 2.683208e-03 1.552816e-03 2.222423e-03 5.989382e-04 2.797430e-03 + 2871 23 2.629799e-03 1.589591e-03 2.061590e-03 1.334261e-03 5.447256e-04 + 2872 23 3.066152e-03 3.789485e-03 2.763132e-03 1.053518e-03 4.523347e-03 + 2873 23 2.761105e-03 1.795023e-03 2.446164e-04 9.151280e-04 1.232300e-03 + 2874 23 2.741535e-03 2.246185e-03 1.416794e-03 1.347170e-03 1.562785e-03 + 2875 23 2.940349e-03 1.397517e-03 9.885089e-04 1.001051e-03 2.260789e-03 + 2876 23 4.377309e-03 1.006177e-03 8.577018e-04 3.642572e-03 2.831578e-03 + 2877 23 1.627815e-03 1.523603e-03 1.196928e-03 1.407829e-03 1.888741e-03 + 2878 23 5.044193e-03 1.355122e-03 7.786541e-04 2.709610e-04 7.569886e-04 + 2879 23 2.309279e-03 1.410131e-03 1.452472e-03 1.839656e-03 2.988827e-03 + 2880 23 4.368280e-03 2.361560e-03 5.693421e-04 1.308048e-03 1.038496e-03 + 2881 23 2.826936e-03 8.429457e-04 1.898849e-03 1.407245e-03 1.484743e-03 + 2882 23 4.438899e-03 3.151460e-04 5.849506e-04 2.552786e-04 3.566436e-04 + 2883 23 1.133199e-03 3.458866e-03 2.919886e-03 3.305888e-03 1.986714e-03 + 2884 23 4.436597e-03 1.215328e-03 6.706770e-04 2.524642e-04 5.156372e-04 + 2885 23 4.808858e-04 3.560934e-03 2.705210e-03 2.191252e-03 2.041929e-03 + 2886 23 2.768118e-03 1.059720e-03 1.135769e-03 1.399995e-03 4.492753e-04 + 2887 23 2.403885e-03 1.705599e-03 4.865974e-04 1.380279e-03 1.076020e-03 + 2888 23 3.802785e-03 2.317198e-03 4.613741e-04 4.844312e-04 2.428546e-03 + 2889 23 5.421866e-03 9.686383e-04 7.357493e-04 3.690918e-04 8.142227e-04 + 2890 23 3.589701e-04 2.093727e-03 1.446677e-03 2.176115e-03 2.801124e-03 + 2891 23 1.681448e-03 6.997874e-04 1.318598e-03 9.452917e-04 1.009679e-03 + 2892 23 1.651586e-03 9.104886e-04 2.181236e-03 1.588395e-03 1.683410e-03 + 2893 23 1.546713e-03 1.252345e-03 2.236993e-04 3.448816e-04 1.141152e-03 + 2894 23 1.247954e-03 8.972758e-04 7.287979e-04 8.425688e-04 1.883636e-03 + 2895 23 3.318694e-03 4.789674e-04 1.457448e-03 3.615988e-04 9.086184e-04 + 2896 23 2.669361e-04 3.024001e-04 6.854934e-04 1.438230e-03 1.493285e-03 + 2897 23 3.313666e-03 2.038510e-03 3.385840e-04 4.468436e-04 8.057188e-04 + 2898 23 1.263838e-03 7.807754e-04 1.250567e-03 1.639133e-03 1.027238e-03 + 2899 23 2.764342e-03 3.831546e-04 1.073605e-03 2.275202e-04 1.341888e-03 + 2900 23 3.104780e-03 7.129170e-04 6.829583e-04 9.734160e-04 7.321217e-04 + 2901 23 1.117141e-03 1.871079e-03 1.358126e-03 1.800152e-03 2.412820e-03 + 2902 23 1.119210e-03 7.463674e-04 1.260161e-03 1.126425e-03 1.206532e-03 + 2903 23 3.967450e-03 8.833783e-04 1.062973e-03 6.410325e-04 1.183285e-03 + 2904 23 1.072330e-03 6.833121e-04 5.699629e-04 8.590167e-04 1.645400e-03 + 2905 23 1.176180e-03 2.177006e-04 6.134190e-04 5.530341e-04 6.210712e-04 + 2906 23 1.241165e-03 1.330967e-03 5.629566e-04 1.383811e-03 9.625484e-04 + 2907 23 1.534750e-03 1.425932e-04 1.130979e-03 8.431604e-04 6.040327e-04 + 2908 23 1.399793e-03 1.171756e-03 5.392410e-04 6.482024e-04 1.755718e-03 + 2909 23 4.231001e-03 7.238094e-04 1.275631e-03 1.861819e-03 2.022551e-03 + 2910 23 1.120812e-02 5.524264e-03 6.585561e-03 4.660535e-03 7.399048e-03 + 2911 23 3.601617e-03 2.695479e-03 1.756507e-03 9.679469e-04 1.762051e-03 + 2912 23 1.772824e-03 6.943962e-04 8.527412e-04 1.177009e-03 1.857555e-03 + 2913 23 9.214137e-04 2.364063e-03 1.007941e-03 1.228723e-03 9.243327e-04 + 2914 23 2.918512e-03 9.413957e-04 6.416315e-04 3.723404e-04 1.948001e-03 + 2915 23 2.803488e-03 3.536355e-03 2.974196e-03 3.229955e-03 1.422447e-03 + 2916 23 7.478324e-03 9.333886e-03 1.232567e-02 1.074401e-02 8.708626e-03 + 2917 23 2.310389e-03 2.473371e-03 1.967254e-03 3.235502e-03 3.175386e-03 + 2918 23 1.020233e-03 1.675987e-03 1.816477e-03 1.083349e-03 1.489465e-03 + 2919 23 1.074906e-03 6.176554e-04 1.170025e-03 4.145851e-04 4.735500e-04 + 2920 23 2.702318e-03 1.497622e-03 2.184852e-03 1.024009e-03 7.976472e-04 + 2921 23 1.629440e-03 4.947069e-04 8.780919e-04 1.164965e-03 1.090319e-03 + 2922 23 1.407013e-02 3.424791e-03 3.979159e-03 7.672967e-03 7.749012e-03 + 2923 23 4.381047e-03 2.392864e-03 1.680060e-03 2.930536e-03 4.381825e-03 + 2924 23 6.957313e-04 1.492176e-03 5.387390e-04 7.616172e-04 1.349261e-03 + 2925 23 3.552879e-03 9.662931e-04 1.031017e-03 9.134744e-04 1.069156e-03 + 2926 23 1.841033e-03 1.819792e-03 2.091965e-03 1.807900e-03 2.916618e-03 + 2927 23 1.949244e-03 1.156937e-03 1.677179e-03 7.069851e-04 2.032515e-03 + 2928 23 4.882149e-04 8.697228e-04 9.473507e-04 9.799123e-04 9.983704e-04 + 2929 23 1.523651e-03 3.229810e-04 1.645669e-03 1.042558e-03 5.430162e-04 + 2930 23 1.775269e-03 1.461638e-03 6.358647e-04 1.066927e-03 6.216639e-05 + 2931 23 8.561020e-04 8.929517e-04 3.400059e-04 1.019270e-03 8.643931e-04 + 2932 23 6.040150e-04 1.040684e-03 1.511386e-03 5.470948e-04 1.329021e-03 + 2933 23 1.728257e-03 1.172402e-03 1.127448e-03 1.313263e-03 8.549590e-04 + 2934 23 3.592687e-03 2.102634e-03 3.571738e-03 1.756678e-03 2.663033e-03 + 2935 23 5.171047e-04 1.049031e-03 8.984925e-04 8.869157e-04 8.065563e-04 + 2936 23 1.429771e-03 5.575519e-04 1.765843e-03 7.322343e-04 3.724501e-04 + 2937 23 2.817679e-03 1.149938e-03 3.232944e-04 2.212349e-04 7.585631e-04 + 2938 23 1.321879e-03 1.546081e-03 1.787129e-03 8.622540e-04 7.553938e-04 + 2939 23 1.479317e-03 8.066560e-04 9.774533e-04 6.911561e-04 3.352867e-04 + 2940 23 1.986599e-03 8.027700e-04 9.132890e-04 6.753651e-04 9.832756e-04 + 2941 23 1.353629e-03 1.649625e-03 1.246883e-03 6.558902e-04 6.982653e-04 + 2942 23 5.975420e-04 5.196487e-04 1.626353e-03 8.900476e-04 1.224755e-03 + 2943 23 2.361165e-03 3.477167e-04 6.100587e-04 6.842530e-04 4.471395e-04 + 2944 23 2.041398e-03 4.821016e-04 2.306613e-03 2.107685e-03 5.469647e-04 + 2945 24 3.204136e+00 1.277130e+00 1.156879e+00 1.278731e+00 1.199646e+00 + 2946 24 5.486174e+02 2.089657e+02 2.122513e+02 2.111567e+02 2.109768e+02 + 2947 24 8.600662e+02 3.271630e+02 3.327280e+02 3.304777e+02 3.312355e+02 + 2948 24 3.566573e+01 1.360747e+01 1.358178e+01 1.354933e+01 1.398466e+01 + 2949 24 1.045203e-01 5.470052e-02 4.676230e-02 4.983673e-02 4.259003e-02 + 2950 24 4.996039e-02 2.247392e-02 2.338882e-02 2.704738e-02 2.255111e-02 + 2951 24 2.586972e-01 1.073928e-01 1.134896e-01 9.066415e-02 1.017309e-01 + 2952 24 9.230728e-01 3.628215e-01 3.646305e-01 3.268297e-01 3.269321e-01 + 2953 24 1.515234e-01 6.871805e-02 5.880227e-02 5.926885e-02 4.121602e-02 + 2954 24 5.453685e-02 1.301688e-02 1.992593e-02 1.785673e-02 2.503736e-02 + 2955 24 3.321894e-02 1.226332e-02 1.042552e-02 8.940096e-03 6.402143e-03 + 2956 24 2.715135e-02 6.530020e-03 1.170779e-02 9.291641e-03 1.270667e-02 + 2957 24 4.818496e-02 3.544345e-02 1.657492e-02 2.956177e-02 2.455218e-02 + 2958 24 1.667980e-02 2.518343e-03 3.488705e-03 4.538334e-03 2.415500e-03 + 2959 24 2.317222e-02 1.050845e-02 9.065695e-03 5.695143e-03 1.107009e-02 + 2960 24 1.723608e-02 1.080035e-02 8.497113e-03 9.370607e-03 7.365104e-03 + 2961 24 1.002438e-02 4.730156e-03 3.583939e-03 8.259810e-03 6.799730e-03 + 2962 24 2.019607e-02 8.952867e-03 1.127025e-02 1.435481e-02 1.061757e-02 + 2963 24 6.664984e-03 2.493458e-03 4.311175e-03 4.824324e-03 3.209747e-03 + 2964 24 1.126589e-02 4.954785e-03 3.920186e-03 7.728327e-03 5.768889e-03 + 2965 24 1.117063e-02 2.693223e-03 3.494579e-03 1.167644e-03 2.103311e-03 + 2966 24 6.432582e-03 5.245252e-03 3.182883e-03 7.719957e-03 4.894522e-03 + 2967 24 1.461293e-02 4.895760e-03 7.046203e-03 3.747032e-03 2.500105e-03 + 2968 24 1.358667e-02 2.253684e-03 3.399512e-03 6.633111e-03 2.841979e-03 + 2969 24 1.066361e-02 4.880989e-03 3.001426e-03 3.555164e-03 3.237094e-03 + 2970 24 7.558464e-03 2.222529e-03 3.280972e-03 2.116965e-03 2.868887e-03 + 2971 24 8.906638e-03 4.385291e-03 3.633431e-03 2.904428e-03 4.493189e-03 + 2972 24 1.042939e-02 4.720239e-03 4.825150e-03 3.627184e-03 2.529635e-03 + 2973 24 2.017233e-03 1.863139e-03 2.143181e-03 2.632059e-03 2.329976e-03 + 2974 24 9.523820e-03 2.123552e-03 2.471746e-03 4.078238e-03 1.159129e-03 + 2975 24 1.810244e-03 7.580917e-03 2.192930e-03 3.971996e-03 3.837334e-03 + 2976 24 8.035415e-03 4.050307e-03 1.588957e-03 3.126416e-03 7.417048e-04 + 2977 24 3.782807e-03 3.527534e-03 3.839415e-03 3.663948e-03 4.749073e-03 + 2978 24 7.024195e-03 1.785247e-03 3.270754e-03 1.406966e-03 1.234379e-03 + 2979 24 4.207686e-03 2.796609e-03 3.209045e-03 2.803300e-03 3.266273e-03 + 2980 24 3.795419e-03 4.815833e-03 1.895225e-03 2.686298e-03 2.151394e-03 + 2981 24 4.271401e-03 1.397804e-03 2.777068e-03 1.675198e-03 1.452567e-03 + 2982 24 4.755479e-03 3.184149e-03 1.869524e-03 1.169350e-03 2.181295e-03 + 2983 24 4.901824e-03 4.218190e-03 4.197692e-03 2.158452e-03 1.787351e-03 + 2984 24 3.158436e-03 3.399639e-03 1.605956e-03 2.533569e-03 1.895904e-03 + 2985 24 5.146361e-03 1.332213e-03 8.923384e-04 2.304844e-03 4.702516e-04 + 2986 24 2.047923e-03 2.087398e-03 3.276235e-03 9.893189e-04 1.840614e-03 + 2987 24 1.789833e-03 1.615490e-03 3.820700e-03 1.230997e-03 1.219769e-03 + 2988 24 3.865915e-03 2.386102e-03 2.117756e-03 2.171752e-03 1.393285e-03 + 2989 24 5.125223e-03 8.817272e-04 2.765265e-03 1.282551e-03 8.060638e-04 + 2990 24 4.695550e-03 1.818723e-03 1.739090e-03 1.287365e-03 1.557340e-03 + 2991 24 2.204640e-03 2.699397e-03 3.131673e-03 2.138181e-03 1.910368e-03 + 2992 24 1.506926e-03 6.310693e-04 1.725087e-03 8.807284e-04 1.490812e-03 + 2993 24 1.653514e-01 7.367294e-02 7.521304e-02 8.216080e-02 7.507451e-02 + 2994 24 8.819079e-01 4.100954e-01 3.804226e-01 4.312754e-01 3.881036e-01 + 2995 24 1.584772e-01 7.668433e-02 6.518206e-02 7.942217e-02 6.750670e-02 + 2996 24 5.260427e-03 2.069984e-03 1.362861e-03 1.775156e-03 2.095806e-03 + 2997 24 3.148980e-03 1.836329e-03 1.237261e-03 1.920888e-03 4.573700e-04 + 2998 24 2.574083e-03 1.918854e-03 2.536552e-03 1.523010e-03 2.277915e-03 + 2999 24 3.910896e-03 6.460712e-04 1.407516e-03 1.015522e-03 3.697769e-04 + 3000 24 1.656133e-03 2.349161e-03 7.657098e-04 8.738978e-04 1.074483e-03 + 3001 24 1.580093e-03 9.340604e-04 1.880845e-03 1.185545e-03 9.980940e-04 + 3002 24 2.351072e-03 9.901361e-04 6.856465e-04 1.150646e-03 2.092367e-03 + 3003 24 1.978257e-03 1.286352e-03 1.731306e-03 1.731336e-03 8.103591e-04 + 3004 24 1.195694e-03 3.597485e-04 1.434735e-03 2.874277e-03 2.555836e-03 + 3005 24 2.980408e-03 1.244076e-03 6.901421e-04 1.247685e-03 1.158859e-03 + 3006 24 3.720911e-03 1.326109e-03 9.720879e-04 1.542105e-03 8.248525e-04 + 3007 24 3.186750e-03 1.224156e-03 1.691239e-03 1.580157e-03 1.089437e-03 + 3008 24 4.205666e-03 1.391494e-03 8.872945e-04 2.351879e-03 1.220007e-03 + 3009 24 5.818362e-04 1.664941e-03 2.152778e-03 1.363337e-03 2.759458e-03 + 3010 24 4.979563e-03 1.844170e-03 1.471543e-03 7.606091e-04 2.882486e-03 + 3011 24 8.266036e-04 7.348125e-04 5.375771e-04 2.485923e-03 4.479893e-04 + 3012 24 2.330388e-03 1.287317e-03 2.024776e-03 7.223727e-04 4.359198e-04 + 3013 24 1.176571e-03 1.487681e-03 9.571290e-04 5.556766e-03 1.312600e-03 + 3014 24 3.124814e-03 2.360897e-03 1.545985e-03 1.222483e-03 1.366551e-03 + 3015 24 2.766074e-03 4.752122e-04 9.628854e-04 1.151437e-03 1.384967e-03 + 3016 24 1.266616e-03 2.377334e-03 2.097394e-03 2.772783e-03 1.075446e-03 + 3017 24 2.778410e-03 7.940558e-04 9.068863e-04 1.527057e-03 7.761790e-04 + 3018 24 2.112943e-03 2.074929e-03 2.077660e-03 3.292554e-03 1.801172e-03 + 3019 24 3.094759e-03 1.931046e-04 6.914246e-04 1.455462e-03 9.563287e-04 + 3020 24 5.675874e-03 1.432806e-03 1.260165e-03 2.756494e-03 1.165455e-03 + 3021 24 2.329144e-03 9.549813e-04 1.165944e-03 1.290603e-03 6.988170e-04 + 3022 24 2.804500e-03 1.119695e-03 1.435721e-03 1.304661e-03 8.564911e-04 + 3023 24 1.943379e-03 6.055361e-04 1.122460e-03 1.743592e-03 6.432284e-04 + 3024 24 4.564881e-03 7.828900e-04 1.783749e-03 1.190333e-03 6.581702e-04 + 3025 24 1.432775e-03 2.307511e-03 3.311790e-03 1.233115e-03 1.653750e-03 + 3026 24 1.903170e-03 1.646450e-03 1.947314e-03 1.017066e-03 1.074429e-03 + 3027 24 6.059080e-03 1.023606e-03 9.755036e-04 1.669165e-03 1.210541e-03 + 3028 24 2.407026e-03 9.455916e-04 1.571588e-03 1.854520e-03 1.883002e-03 + 3029 24 2.359991e-03 1.439038e-03 6.749298e-04 6.997100e-04 4.331296e-04 + 3030 24 2.659620e-03 5.681796e-04 1.831670e-03 1.632783e-03 6.261629e-04 + 3031 24 1.681676e-03 5.379954e-04 1.351560e-03 5.625079e-04 1.500781e-03 + 3032 24 3.000248e-03 9.088838e-04 1.079676e-03 1.168580e-03 1.131905e-03 + 3033 24 2.130633e-03 8.997503e-04 5.497977e-04 9.829755e-04 1.416567e-03 + 3034 24 1.073929e-03 8.425817e-04 3.922246e-04 5.992380e-04 7.952921e-04 + 3035 24 2.149962e-03 8.894665e-04 1.718875e-03 2.381798e-04 9.274427e-04 + 3036 24 1.408612e-03 1.345086e-03 2.527927e-03 2.848210e-03 1.100137e-03 + 3037 24 6.183664e-04 9.882078e-04 1.843282e-03 3.268029e-04 6.132076e-04 + 3038 24 7.046855e-03 4.951388e-03 4.755307e-03 2.986272e-03 4.299981e-03 + 3039 24 4.259089e-03 7.494842e-04 2.290183e-03 5.884614e-04 1.003928e-03 + 3040 24 1.405070e-03 7.744257e-04 1.894136e-04 1.063729e-03 5.502567e-04 + 3041 24 9.540314e-04 1.611775e-03 2.023098e-03 6.535604e-04 6.269173e-04 + 3042 24 2.035892e-03 3.652495e-04 1.403477e-03 6.600463e-04 6.649200e-04 + 3043 24 2.846759e-03 2.379396e-03 2.770043e-03 3.275053e-03 3.077251e-03 + 3044 24 5.551632e-03 6.717071e-03 1.046086e-02 1.145564e-02 1.176281e-02 + 3045 24 1.089851e-03 2.513128e-03 2.941344e-03 2.743441e-03 4.847056e-03 + 3046 24 3.776843e-03 4.485785e-04 1.156946e-03 1.217791e-03 4.200629e-04 + 3047 24 3.814990e-03 4.012400e-04 3.374537e-04 1.259038e-03 5.212512e-04 + 3048 24 2.034889e-03 4.670249e-04 2.468680e-04 2.877878e-04 2.848152e-04 + 3049 24 2.556344e-03 7.338635e-04 1.662238e-03 1.735200e-03 1.307715e-03 + 3050 24 9.997697e-03 4.087075e-03 3.869579e-03 5.154377e-03 4.296108e-03 + 3051 24 1.950855e-03 2.023096e-03 1.358354e-03 2.027560e-03 9.230604e-04 + 3052 24 8.199155e-04 2.229060e-03 9.945558e-04 1.873181e-03 5.043185e-04 + 3053 24 1.382138e-03 4.380905e-04 9.022277e-04 6.847319e-04 4.740837e-04 + 3054 24 1.463991e-03 1.049442e-03 1.680525e-03 7.389020e-04 1.527121e-03 + 3055 24 1.325711e-03 4.683396e-04 7.478690e-04 2.419726e-03 8.044151e-04 + 3056 24 2.675053e-03 1.332537e-03 1.254444e-03 1.102667e-03 1.209418e-03 + 3057 24 1.224611e-03 7.046984e-04 3.066496e-04 7.147709e-04 3.474383e-04 + 3058 24 8.661948e-04 3.820742e-04 1.202010e-03 3.450837e-04 9.840185e-04 + 3059 24 4.553263e-04 5.245647e-04 7.704886e-04 1.935084e-03 1.255685e-03 + 3060 24 2.878393e-03 1.083291e-03 7.873525e-04 3.512089e-04 4.149493e-04 + 3061 24 1.107634e-03 5.168494e-04 8.945164e-04 1.519561e-03 1.130487e-03 + 3062 24 4.965595e-03 2.938613e-03 3.002299e-03 3.752991e-03 2.615872e-03 + 3063 24 1.022194e-03 3.742550e-03 2.034990e-03 1.618379e-03 2.327739e-03 + 3064 24 1.059466e-03 2.383857e-04 7.304056e-04 1.184024e-03 2.113522e-04 + 3065 24 3.614673e-04 6.358946e-04 1.094479e-03 8.766689e-04 8.282222e-04 + 3066 24 1.290830e-03 6.092480e-04 7.449684e-04 2.598408e-04 5.177277e-04 + 3067 24 1.081646e-03 5.546663e-04 8.524746e-05 1.721197e-03 9.890157e-04 + 3068 24 6.202018e-04 7.611838e-04 3.916055e-04 4.443132e-04 5.937503e-04 + 3069 24 1.806785e-03 1.113889e-03 6.767924e-04 1.707952e-03 6.628360e-04 + 3070 24 1.664622e-03 1.311724e-03 1.487832e-03 6.602246e-04 9.012602e-04 + 3071 24 1.019455e-03 6.065498e-04 9.946949e-04 2.382878e-04 8.440131e-04 + 3072 24 8.008160e-04 1.841844e-03 3.484922e-03 1.386397e-03 1.444193e-03 + 3073 25 3.342849e+00 1.194014e+00 1.431000e+00 1.404062e+00 1.162681e+00 + 3074 25 5.449359e+02 2.090862e+02 2.125416e+02 2.107967e+02 2.109250e+02 + 3075 25 8.588256e+02 3.295371e+02 3.334446e+02 3.312678e+02 3.313057e+02 + 3076 25 3.528287e+01 1.350106e+01 1.363861e+01 1.356684e+01 1.338733e+01 + 3077 25 7.151660e-02 1.685449e-02 2.138854e-02 1.657753e-02 2.643235e-02 + 3078 25 8.180902e-02 4.571397e-02 4.232264e-02 3.987669e-02 5.675647e-02 + 3079 25 3.063514e-01 1.013400e-01 1.150710e-01 1.103120e-01 1.036083e-01 + 3080 25 8.374022e-01 3.107829e-01 3.172666e-01 3.050260e-01 3.141917e-01 + 3081 25 1.712621e-01 6.466125e-02 6.952817e-02 6.388057e-02 7.002729e-02 + 3082 25 3.467421e-02 1.167729e-02 1.371457e-02 1.069753e-02 1.726254e-02 + 3083 25 5.005922e-02 2.258289e-02 1.598947e-02 2.049875e-02 1.427387e-02 + 3084 25 3.084002e-02 1.095732e-02 1.678945e-02 1.404553e-02 1.404959e-02 + 3085 25 4.276173e-02 1.699321e-02 1.283132e-02 1.266676e-02 1.419306e-02 + 3086 25 2.654085e-02 9.926400e-03 1.258340e-02 1.872213e-02 1.435377e-02 + 3087 25 2.229547e-02 7.193214e-03 9.128894e-03 3.746214e-03 3.914558e-03 + 3088 25 1.857679e-02 7.576884e-03 5.778100e-03 1.070042e-02 1.335251e-02 + 3089 25 1.724127e-02 6.636125e-03 9.421516e-03 8.400960e-03 3.816266e-03 + 3090 25 1.881454e-02 7.472521e-03 7.880942e-03 1.033042e-02 7.330811e-03 + 3091 25 1.846293e-02 8.924136e-03 5.810383e-03 7.934669e-03 8.528215e-03 + 3092 25 1.339880e-02 3.094891e-03 5.762437e-03 3.011254e-03 5.057697e-03 + 3093 25 1.646850e-02 5.639562e-03 1.106786e-02 7.386640e-03 3.501774e-03 + 3094 25 7.655680e-03 5.721041e-03 4.959804e-03 6.802064e-03 7.579847e-03 + 3095 25 1.666755e-02 3.444232e-03 2.902606e-03 1.938977e-03 1.706992e-03 + 3096 25 1.130165e-02 7.949580e-03 5.134361e-03 9.640641e-03 6.347925e-03 + 3097 25 1.232447e-02 1.626547e-03 2.067618e-03 1.884727e-03 2.044581e-03 + 3098 25 5.011295e-03 4.846478e-03 2.699432e-03 6.632359e-03 4.172239e-03 + 3099 25 1.001904e-02 3.049743e-03 3.306005e-03 6.979659e-04 2.371994e-03 + 3100 25 5.353803e-03 4.968970e-03 4.895101e-03 4.337395e-03 2.658964e-03 + 3101 25 6.707316e-03 6.088581e-03 8.140213e-03 7.190651e-03 6.524071e-03 + 3102 25 5.048181e-03 5.424442e-03 4.518321e-03 3.121240e-03 4.073392e-03 + 3103 25 1.216546e-02 2.828372e-03 6.185573e-04 2.226575e-03 1.681946e-03 + 3104 25 7.035867e-03 2.772444e-03 4.775852e-03 6.746296e-03 1.524305e-03 + 3105 25 2.669036e-03 5.939199e-03 4.453068e-03 2.660975e-03 5.180151e-03 + 3106 25 7.055438e-03 2.140313e-03 3.083576e-03 1.888033e-03 1.420265e-03 + 3107 25 4.867319e-03 1.545235e-03 1.489395e-03 2.954739e-03 2.355410e-03 + 3108 25 6.578430e-03 2.031051e-03 9.604240e-04 6.876744e-04 6.602580e-04 + 3109 25 1.602788e-03 3.175477e-03 3.854187e-03 4.465801e-03 5.249753e-03 + 3110 25 5.667730e-03 2.095357e-03 1.834988e-03 3.417682e-03 2.634712e-03 + 3111 25 4.630511e-03 4.305591e-03 2.739573e-03 2.904051e-03 1.127611e-03 + 3112 25 1.923564e-03 4.075940e-03 2.264921e-03 2.099421e-03 4.286133e-03 + 3113 25 7.279326e-03 1.316346e-03 2.245168e-03 3.084983e-03 7.245008e-04 + 3114 25 5.551525e-03 4.564362e-03 1.554302e-03 3.144928e-03 4.516484e-03 + 3115 25 3.334457e-03 3.635564e-03 3.253133e-03 4.242725e-03 4.115698e-03 + 3116 25 6.133588e-03 2.235768e-03 1.872241e-03 2.439459e-03 1.775299e-03 + 3117 25 2.411865e-03 2.654014e-03 4.298317e-03 1.592884e-03 1.701466e-03 + 3118 25 4.693807e-03 1.148368e-03 6.384598e-04 2.434971e-03 7.774774e-04 + 3119 25 5.067473e-04 1.170248e-03 4.358173e-03 2.110364e-03 2.197355e-03 + 3120 25 8.922512e-03 1.433924e-03 5.939795e-04 4.285852e-04 6.879152e-04 + 3121 25 1.587197e-01 7.840681e-02 7.490149e-02 8.216025e-02 7.190094e-02 + 3122 25 8.397331e-01 4.099527e-01 3.865821e-01 4.014968e-01 3.711707e-01 + 3123 25 1.572961e-01 7.855586e-02 6.827284e-02 7.353518e-02 6.747279e-02 + 3124 25 3.639983e-03 1.575353e-03 1.573646e-04 1.067226e-03 1.342196e-03 + 3125 25 3.744506e-03 1.755755e-03 2.789614e-03 3.216852e-03 2.128009e-03 + 3126 25 2.165865e-03 9.127436e-04 3.095905e-04 1.408034e-03 1.183943e-03 + 3127 25 3.688961e-03 2.758177e-03 1.097201e-03 1.858882e-03 2.261114e-03 + 3128 25 2.380700e-03 2.393989e-03 2.377670e-03 3.629219e-03 5.672388e-04 + 3129 25 3.533820e-03 1.774444e-03 3.008973e-03 1.420604e-03 1.041163e-03 + 3130 25 2.339813e-03 1.006189e-03 1.980037e-03 9.310069e-04 1.453545e-03 + 3131 25 4.841815e-03 1.716816e-03 1.209293e-03 1.222422e-03 9.696906e-04 + 3132 25 2.669035e-03 1.065991e-03 2.055907e-03 2.282881e-03 1.976277e-03 + 3133 25 4.992839e-03 7.986897e-04 1.296689e-03 1.490034e-03 7.851614e-04 + 3134 25 2.566089e-03 9.770764e-04 1.366101e-03 1.144136e-03 1.201560e-03 + 3135 25 3.328898e-03 5.010091e-04 1.591283e-03 1.552643e-03 4.546738e-04 + 3136 25 6.353135e-03 1.765310e-03 1.281718e-03 3.542771e-03 2.009402e-03 + 3137 25 2.827666e-03 4.818229e-04 2.048070e-03 2.261831e-03 2.790479e-03 + 3138 25 5.840139e-03 7.469068e-04 8.115265e-04 2.218703e-03 6.269115e-04 + 3139 25 1.395007e-03 1.045489e-03 2.077725e-03 1.891718e-03 1.893938e-03 + 3140 25 1.608202e-03 1.071935e-03 2.856260e-03 1.168198e-03 1.536082e-03 + 3141 25 6.664413e-03 9.273416e-04 8.961083e-04 1.006110e-03 5.360433e-04 + 3142 25 1.646568e-03 8.822185e-04 2.269069e-03 7.094774e-04 8.982802e-04 + 3143 25 2.963055e-03 4.065727e-03 1.358072e-03 2.384626e-03 1.564259e-03 + 3144 25 1.804592e-03 3.240884e-04 3.130796e-04 5.089592e-04 5.077810e-04 + 3145 25 8.978189e-04 7.721329e-04 4.724668e-04 4.953367e-04 5.116628e-04 + 3146 25 1.553816e-03 1.752015e-03 1.154685e-03 8.205959e-04 1.640505e-03 + 3147 25 8.427757e-04 4.147934e-04 6.180535e-04 1.185486e-03 2.090209e-04 + 3148 25 2.658120e-03 2.414175e-03 1.374239e-03 2.662728e-03 5.042368e-04 + 3149 25 2.121816e-03 7.325406e-04 2.102891e-04 1.278842e-03 3.324331e-03 + 3150 25 3.669731e-03 1.060600e-03 4.287393e-04 1.727655e-03 7.467578e-04 + 3151 25 1.144086e-03 7.038300e-04 1.237526e-03 1.244475e-03 1.470353e-03 + 3152 25 3.382012e-03 1.167631e-03 3.840595e-04 7.467886e-04 1.051008e-03 + 3153 25 3.017106e-03 4.727356e-04 1.750557e-03 2.457071e-04 6.710997e-04 + 3154 25 2.121231e-03 1.783095e-03 1.880178e-03 8.949038e-04 1.718123e-03 + 3155 25 3.338293e-03 4.003326e-04 5.207060e-04 6.745343e-04 1.289577e-03 + 3156 25 3.876103e-04 2.367533e-03 7.881433e-04 1.790022e-03 1.569298e-03 + 3157 25 4.400094e-03 8.637673e-04 1.308031e-03 5.336898e-04 3.072631e-04 + 3158 25 3.150160e-03 5.570053e-04 1.034757e-03 1.113605e-03 2.201427e-04 + 3159 25 1.972554e-03 1.735733e-03 1.167817e-03 2.329681e-04 1.524778e-03 + 3160 25 1.660300e-03 1.289084e-03 2.835128e-03 7.312093e-04 2.670472e-03 + 3161 25 3.437573e-03 2.027200e-03 1.205513e-03 4.117877e-04 1.085122e-03 + 3162 25 1.498065e-03 4.172253e-03 2.491583e-03 1.491077e-03 2.223442e-03 + 3163 25 3.998863e-03 1.626775e-03 1.667635e-03 3.524402e-04 3.078241e-03 + 3164 25 1.098467e-03 2.701425e-03 1.387356e-03 1.042604e-03 3.604324e-03 + 3165 25 6.026406e-03 2.478127e-03 2.153359e-03 2.327593e-03 3.518728e-03 + 3166 25 1.589124e-02 1.033094e-02 7.419558e-03 9.499250e-03 1.075188e-02 + 3167 25 3.921295e-03 3.528224e-03 2.979589e-03 1.849510e-03 2.778119e-03 + 3168 25 8.751553e-04 1.023922e-03 5.891415e-04 8.463064e-04 8.278861e-04 + 3169 25 1.276183e-03 9.235821e-04 6.273150e-04 1.809320e-03 7.517473e-04 + 3170 25 2.582326e-03 1.421378e-03 9.400659e-04 6.467850e-04 3.766390e-04 + 3171 25 2.317738e-03 2.152321e-03 1.646787e-03 2.012148e-03 1.573388e-03 + 3172 25 8.886224e-04 7.652111e-03 9.153948e-03 6.997232e-03 6.943166e-03 + 3173 25 1.151211e-03 1.831391e-03 2.935933e-03 1.889589e-03 9.793531e-04 + 3174 25 1.842511e-03 4.617417e-04 2.190482e-03 5.776850e-04 7.603170e-04 + 3175 25 3.379901e-03 3.877447e-04 9.024354e-04 4.835537e-04 3.167835e-04 + 3176 25 3.052619e-03 8.890378e-04 6.884592e-04 1.264131e-03 4.785596e-04 + 3177 25 2.385870e-03 1.107273e-03 1.189880e-03 2.884099e-03 1.113403e-03 + 3178 25 1.026016e-02 5.085853e-03 3.500923e-03 6.815710e-03 3.674663e-03 + 3179 25 2.094488e-03 8.945864e-04 1.175530e-03 1.162503e-03 1.010920e-03 + 3180 25 2.127029e-03 6.646642e-04 3.600000e-04 3.962811e-04 3.077547e-04 + 3181 25 7.698913e-04 5.862832e-04 1.131395e-03 9.148816e-04 1.266451e-03 + 3182 25 1.496864e-03 1.749704e-03 4.995324e-04 1.249547e-03 6.222741e-04 + 3183 25 1.202917e-03 8.647045e-04 1.187223e-03 1.089964e-03 1.929119e-04 + 3184 25 5.213742e-03 1.132427e-03 7.881987e-04 1.120846e-03 1.513252e-03 + 3185 25 6.656702e-04 1.553865e-03 9.835189e-04 2.075366e-03 9.737340e-04 + 3186 25 3.441970e-03 1.356965e-03 1.933921e-03 2.115423e-03 6.707590e-04 + 3187 25 1.536890e-03 3.507308e-04 7.753554e-04 9.440505e-04 5.673111e-04 + 3188 25 1.722055e-03 8.661948e-04 1.177418e-03 6.025790e-04 3.448023e-04 + 3189 25 3.023302e-03 6.426059e-04 1.500529e-03 7.086115e-04 1.884304e-03 + 3190 25 1.864162e-03 8.743896e-04 6.889696e-04 1.022499e-03 2.723666e-04 + 3191 25 9.369040e-04 1.586262e-03 8.524235e-04 3.857874e-04 1.716345e-03 + 3192 25 2.349253e-03 3.739104e-04 1.172768e-03 2.876994e-04 1.224205e-03 + 3193 25 3.756705e-04 1.934165e-03 1.768273e-03 1.204717e-03 9.420529e-04 + 3194 25 1.805862e-03 1.390248e-03 1.328558e-03 4.042406e-04 1.115995e-03 + 3195 25 2.089087e-03 5.331212e-04 9.452588e-04 7.143067e-04 7.270023e-04 + 3196 25 1.210707e-03 1.293761e-03 8.170915e-04 1.369170e-03 3.059355e-04 + 3197 25 5.010337e-03 9.684927e-04 2.218143e-04 1.209666e-04 6.355783e-04 + 3198 25 2.097626e-03 8.131231e-04 8.363157e-04 9.165745e-04 2.377564e-03 + 3199 25 3.555817e-03 5.193936e-04 2.455688e-04 2.065593e-04 1.990875e-03 + 3200 25 8.088036e-04 7.038819e-04 5.201741e-04 1.313688e-03 2.456245e-04 + 3201 26 3.307246e+00 1.190146e+00 1.290898e+00 1.149775e+00 1.134224e+00 + 3202 26 5.470906e+02 2.103339e+02 2.124744e+02 2.116885e+02 2.109406e+02 + 3203 26 8.563272e+02 3.309266e+02 3.328353e+02 3.323970e+02 3.316382e+02 + 3204 26 3.489001e+01 1.366036e+01 1.378738e+01 1.407822e+01 1.367855e+01 + 3205 26 1.315056e-01 5.414722e-02 3.819506e-02 4.956720e-02 6.739014e-02 + 3206 26 1.998854e-02 1.877943e-02 1.878111e-02 1.176276e-02 2.075420e-02 + 3207 26 3.487853e-01 9.994880e-02 1.117372e-01 1.094840e-01 9.699890e-02 + 3208 26 9.032290e-01 3.072038e-01 3.010053e-01 3.218174e-01 2.890662e-01 + 3209 26 1.616088e-01 5.616636e-02 6.190066e-02 6.207658e-02 6.334466e-02 + 3210 26 5.159465e-02 2.574713e-02 1.525150e-02 2.903332e-02 2.452952e-02 + 3211 26 3.003951e-02 7.876466e-03 1.567179e-02 5.485748e-03 6.053643e-03 + 3212 26 3.569193e-02 1.224434e-02 1.100821e-02 1.454585e-02 1.503823e-02 + 3213 26 1.776951e-02 9.632301e-03 1.010372e-02 1.030059e-02 8.106060e-03 + 3214 26 3.710551e-02 1.164760e-02 1.103935e-02 1.302811e-02 1.243093e-02 + 3215 26 1.763910e-02 1.251677e-02 1.492590e-02 1.498208e-02 9.575205e-03 + 3216 26 2.393562e-02 7.093835e-03 3.359011e-03 3.648232e-03 1.295287e-02 + 3217 26 6.549405e-03 1.272131e-02 1.066154e-02 7.817572e-03 7.817852e-03 + 3218 26 1.101498e-02 6.588366e-03 4.027413e-03 5.914476e-03 5.683649e-03 + 3219 26 1.750551e-02 1.002938e-02 1.287565e-02 6.526475e-03 7.393335e-03 + 3220 26 7.149112e-03 2.970023e-03 3.437902e-03 3.697813e-03 6.728183e-03 + 3221 26 1.362928e-02 4.829372e-03 5.076248e-03 6.424703e-03 4.716220e-03 + 3222 26 1.132295e-02 2.100117e-03 3.908243e-03 2.321194e-03 3.746031e-03 + 3223 26 8.672918e-03 6.649207e-03 3.713999e-03 6.023630e-03 5.987172e-03 + 3224 26 6.810355e-03 2.295490e-03 3.400377e-03 3.984474e-03 4.134857e-03 + 3225 26 8.565556e-03 3.480727e-03 2.334655e-03 4.052351e-03 4.859761e-03 + 3226 26 6.096676e-03 2.376552e-03 5.102002e-03 1.500461e-03 1.445994e-03 + 3227 26 6.404708e-03 4.145161e-03 3.731990e-03 6.109858e-03 6.333086e-03 + 3228 26 4.181573e-03 2.233534e-03 3.795522e-03 3.610247e-03 3.135768e-03 + 3229 26 7.471958e-03 1.775679e-03 2.053703e-03 2.343472e-03 2.317196e-03 + 3230 26 4.910554e-03 3.229656e-03 2.728032e-03 4.508070e-03 3.479539e-03 + 3231 26 2.064967e-03 2.532673e-03 2.286908e-03 2.308152e-03 3.665159e-03 + 3232 26 4.557377e-03 3.778926e-03 4.413146e-03 3.335925e-03 3.056522e-03 + 3233 26 1.149374e-02 2.388427e-04 5.082507e-04 8.146498e-04 2.301671e-03 + 3234 26 2.033741e-03 3.534345e-03 5.101046e-03 3.554341e-03 2.021359e-03 + 3235 26 6.062408e-03 9.798476e-04 7.249112e-04 2.465025e-03 4.990256e-03 + 3236 26 3.333499e-03 3.999003e-03 3.083243e-03 1.681673e-03 1.652496e-03 + 3237 26 3.691165e-03 1.035949e-03 2.522143e-03 1.407150e-03 2.011557e-03 + 3238 26 3.971241e-03 5.149979e-03 3.546941e-03 4.229769e-03 1.738163e-03 + 3239 26 6.150876e-03 1.733129e-03 3.353423e-04 8.061665e-04 1.849988e-03 + 3240 26 3.593348e-03 1.060857e-03 2.107441e-03 1.762639e-03 1.182963e-03 + 3241 26 2.747775e-03 1.269518e-03 2.343205e-03 2.469177e-03 3.275913e-03 + 3242 26 2.620525e-03 8.118492e-03 2.861481e-03 2.061682e-03 1.175755e-03 + 3243 26 2.953429e-03 2.924208e-03 3.156158e-03 1.055888e-03 2.213011e-03 + 3244 26 2.492466e-03 1.501447e-03 1.176685e-03 5.171514e-03 4.672260e-04 + 3245 26 2.357529e-03 3.174935e-03 3.480063e-03 4.376406e-03 1.770416e-03 + 3246 26 3.739845e-03 1.062388e-03 3.752972e-04 1.252482e-03 7.085441e-04 + 3247 26 2.737040e-03 2.645406e-03 2.354929e-03 2.787463e-03 1.109961e-03 + 3248 26 2.696298e-03 8.245780e-04 3.061424e-03 6.190169e-04 1.825944e-03 + 3249 26 1.471239e-01 8.071327e-02 7.400836e-02 7.802522e-02 8.322634e-02 + 3250 26 8.282707e-01 4.090597e-01 4.011222e-01 4.017083e-01 4.481725e-01 + 3251 26 1.562858e-01 7.701780e-02 7.602354e-02 7.752586e-02 9.342514e-02 + 3252 26 3.358019e-03 5.866423e-04 1.706282e-03 1.953159e-03 1.389407e-03 + 3253 26 2.293808e-03 1.214088e-03 5.350463e-04 1.625340e-03 1.134867e-03 + 3254 26 3.452612e-03 1.594886e-03 1.287420e-03 7.781928e-04 1.477459e-03 + 3255 26 8.829591e-04 2.307305e-03 2.980078e-03 2.536199e-03 1.002399e-03 + 3256 26 3.473369e-03 1.285657e-03 1.303169e-03 1.898263e-03 9.363735e-04 + 3257 26 4.249537e-03 1.509417e-03 1.022763e-03 1.078944e-03 1.227821e-03 + 3258 26 3.355090e-03 2.286770e-03 2.604481e-03 2.247529e-03 1.577489e-03 + 3259 26 3.136586e-03 1.354032e-03 1.214895e-03 1.644644e-03 1.454710e-03 + 3260 26 1.296112e-03 2.189863e-03 1.757930e-03 1.429020e-03 1.143329e-03 + 3261 26 3.119782e-03 1.011964e-03 2.088270e-03 1.085404e-03 9.041570e-04 + 3262 26 3.256468e-03 1.715282e-03 1.272349e-03 7.293735e-04 1.414339e-03 + 3263 26 1.269243e-03 3.537240e-03 1.535324e-03 1.847453e-03 1.585453e-03 + 3264 26 2.682285e-03 2.705529e-04 1.410483e-03 1.383106e-03 3.143474e-03 + 3265 26 1.735158e-03 1.091402e-03 3.530373e-04 1.760786e-03 9.650863e-04 + 3266 26 4.699139e-03 5.687601e-04 2.256624e-03 8.635825e-04 7.510350e-04 + 3267 26 2.245619e-03 3.311877e-03 1.087789e-03 1.861854e-03 4.438281e-03 + 3268 26 5.136218e-03 1.126251e-03 7.114012e-04 5.952884e-04 1.226431e-03 + 3269 26 1.305671e-03 7.609253e-04 2.063018e-03 1.329874e-03 1.402286e-03 + 3270 26 4.022025e-03 9.986568e-04 9.549324e-04 9.135806e-04 9.608847e-04 + 3271 26 2.158072e-03 9.368546e-04 2.897354e-03 7.448371e-04 9.408761e-04 + 3272 26 3.318380e-03 6.844572e-04 1.075632e-03 9.432877e-04 8.173402e-04 + 3273 26 3.015395e-03 4.279840e-04 9.011996e-04 1.013674e-03 5.040455e-04 + 3274 26 1.645881e-03 1.147982e-03 1.223085e-03 4.836806e-04 6.655413e-04 + 3275 26 1.021947e-03 1.656020e-03 2.119564e-03 1.190333e-03 1.107322e-03 + 3276 26 1.300749e-03 1.198290e-03 7.897782e-04 6.686007e-04 9.024402e-04 + 3277 26 1.905664e-03 1.621517e-03 5.245761e-04 4.636219e-04 9.463484e-04 + 3278 26 8.727876e-04 5.139518e-04 9.325046e-04 8.569689e-04 1.221425e-03 + 3279 26 1.027594e-03 1.637383e-03 1.184661e-03 1.105302e-03 1.070299e-03 + 3280 26 2.732451e-03 2.721473e-04 4.877379e-04 4.539323e-04 8.560332e-04 + 3281 26 9.328324e-04 1.334289e-03 2.512014e-03 2.155299e-03 1.969331e-03 + 3282 26 1.291700e-03 1.354595e-03 3.410723e-03 1.462432e-03 7.916888e-04 + 3283 26 2.485405e-03 5.092160e-04 1.401634e-03 5.355220e-04 1.303034e-03 + 3284 26 2.123036e-03 8.641161e-04 5.052858e-04 9.902522e-04 3.639707e-04 + 3285 26 3.673067e-04 1.915884e-03 4.694451e-04 5.332841e-04 8.531543e-04 + 3286 26 3.556026e-03 4.946718e-04 1.469466e-03 5.975807e-04 1.011290e-03 + 3287 26 2.026162e-03 1.876958e-03 1.654516e-03 2.040895e-03 7.656439e-04 + 3288 26 1.955963e-03 9.120164e-04 2.568650e-04 1.240991e-03 3.951312e-04 + 3289 26 2.215351e-03 6.316465e-04 7.860868e-04 5.025983e-04 7.969311e-04 + 3290 26 2.152674e-03 8.783260e-04 1.404321e-03 7.803091e-04 1.330916e-03 + 3291 26 1.343510e-03 6.285234e-04 1.300157e-03 5.271732e-04 1.698991e-03 + 3292 26 2.429247e-03 4.874785e-04 4.185455e-04 1.553971e-03 5.265222e-04 + 3293 26 6.447418e-03 2.868011e-03 2.654471e-03 4.475812e-03 3.095332e-03 + 3294 26 2.125617e-02 5.024536e-03 8.376542e-03 1.050712e-02 8.291883e-03 + 3295 26 5.374472e-03 2.373795e-03 4.179772e-03 1.807850e-03 1.867328e-03 + 3296 26 1.306192e-03 1.365906e-03 8.823258e-04 7.094716e-04 2.191625e-03 + 3297 26 1.817315e-03 3.027864e-03 2.844902e-04 1.580356e-03 9.171601e-04 + 3298 26 4.739571e-03 2.370820e-03 2.315767e-03 8.183787e-04 1.345103e-03 + 3299 26 2.743496e-03 2.923006e-03 3.415042e-03 3.992456e-03 2.866437e-03 + 3300 26 4.812679e-03 8.735804e-03 7.769232e-03 1.007646e-02 8.192878e-03 + 3301 26 2.034284e-03 1.039918e-03 1.067295e-03 1.645418e-03 9.740635e-04 + 3302 26 1.516616e-03 1.823005e-03 1.762271e-03 2.281501e-03 2.351089e-03 + 3303 26 1.583553e-03 6.474872e-04 2.705361e-03 1.401539e-03 4.954009e-04 + 3304 26 1.527304e-03 1.706732e-03 1.127350e-03 9.937683e-04 7.403819e-04 + 3305 26 7.850323e-03 1.530643e-03 2.273245e-03 2.055051e-03 1.940103e-03 + 3306 26 1.830265e-02 7.241924e-03 7.539572e-03 5.779815e-03 6.523946e-03 + 3307 26 5.145473e-03 1.405035e-03 2.737854e-03 2.396758e-03 3.602045e-03 + 3308 26 2.292453e-03 8.098200e-04 5.924508e-04 9.401662e-04 1.856049e-03 + 3309 26 2.049724e-03 3.007810e-04 5.479584e-04 7.102964e-04 7.903994e-04 + 3310 26 2.392443e-03 5.655548e-04 5.562722e-04 1.193318e-03 1.104292e-03 + 3311 26 9.291923e-04 9.335884e-04 1.288305e-03 1.652366e-03 1.653604e-03 + 3312 26 2.456465e-03 5.658319e-04 7.001949e-04 1.183539e-03 3.716712e-04 + 3313 26 5.077737e-04 8.873823e-04 2.010160e-03 1.368879e-03 6.261274e-04 + 3314 26 1.486235e-03 5.393989e-04 4.380117e-04 6.678546e-04 5.363424e-04 + 3315 26 9.756336e-04 8.218363e-04 7.027878e-04 9.522365e-04 9.120109e-04 + 3316 26 8.294804e-04 3.321231e-04 6.263494e-04 5.492507e-04 8.057212e-04 + 3317 26 2.205062e-03 8.225564e-04 1.914692e-03 7.370095e-04 4.576657e-04 + 3318 26 2.507753e-03 2.984819e-03 4.537217e-03 2.350751e-03 2.653633e-03 + 3319 26 1.107057e-03 1.331336e-03 1.304848e-03 8.680634e-04 1.036430e-03 + 3320 26 9.859180e-04 1.246135e-03 8.532264e-04 2.056253e-04 9.949604e-04 + 3321 26 1.214296e-03 4.195870e-04 3.310308e-04 6.675840e-04 3.717453e-04 + 3322 26 9.524775e-04 5.511431e-04 7.138281e-04 1.067688e-03 4.763358e-04 + 3323 26 2.365199e-03 4.312454e-04 5.870106e-04 5.291741e-04 5.629069e-04 + 3324 26 7.047846e-04 1.494661e-03 1.544477e-03 8.387526e-04 2.693166e-03 + 3325 26 3.094132e-03 5.635947e-04 5.859756e-04 7.792444e-04 8.101196e-04 + 3326 26 7.339505e-04 1.348918e-03 9.431665e-04 6.240170e-04 1.018677e-03 + 3327 26 3.375622e-03 2.566395e-04 1.810289e-03 6.365238e-04 8.595806e-04 + 3328 26 4.223925e-04 1.548416e-03 8.086370e-04 1.036005e-03 1.841973e-03 + 3329 27 3.463176e+00 1.211400e+00 1.324339e+00 1.267668e+00 1.255875e+00 + 3330 27 5.454196e+02 2.085644e+02 2.116756e+02 2.103194e+02 2.115040e+02 + 3331 27 8.580519e+02 3.285506e+02 3.333402e+02 3.315693e+02 3.335281e+02 + 3332 27 3.522229e+01 1.346792e+01 1.384150e+01 1.361083e+01 1.373525e+01 + 3333 27 6.312078e-02 2.048500e-02 1.704061e-02 2.615531e-02 3.815193e-02 + 3334 27 7.684087e-02 3.612219e-02 4.463361e-02 3.819601e-02 3.956397e-02 + 3335 27 3.109211e-01 9.206352e-02 8.152732e-02 9.446213e-02 9.976283e-02 + 3336 27 9.338714e-01 3.302098e-01 3.492408e-01 3.234696e-01 3.339506e-01 + 3337 27 1.702116e-01 5.698467e-02 6.964092e-02 6.089789e-02 6.940481e-02 + 3338 27 6.649550e-02 1.851871e-02 9.186276e-03 1.144367e-02 1.823249e-02 + 3339 27 3.599603e-02 1.319973e-02 2.147321e-02 2.290101e-02 1.273826e-02 + 3340 27 3.486016e-02 9.592049e-03 1.010347e-02 9.617708e-03 1.153522e-02 + 3341 27 4.319301e-02 2.867237e-02 2.761018e-02 2.606298e-02 2.473363e-02 + 3342 27 3.203287e-02 5.288730e-03 6.600780e-03 5.021991e-03 8.227354e-03 + 3343 27 1.607595e-02 1.121455e-02 8.337473e-03 1.463788e-02 1.077179e-02 + 3344 27 1.950758e-02 1.112581e-02 8.199834e-03 6.690346e-03 1.106565e-02 + 3345 27 9.725422e-03 7.103478e-03 7.623657e-03 5.418915e-03 5.798154e-03 + 3346 27 2.698881e-02 1.499968e-02 6.787354e-03 8.921159e-03 9.847791e-03 + 3347 27 7.921794e-03 2.442879e-03 5.618749e-03 5.310275e-03 3.648825e-03 + 3348 27 1.530213e-02 6.376989e-03 5.204916e-03 4.451384e-03 5.597291e-03 + 3349 27 6.972355e-03 4.559800e-03 7.145092e-03 5.814333e-03 4.106454e-03 + 3350 27 1.725928e-02 3.311100e-03 3.092486e-03 3.667364e-03 3.369668e-03 + 3351 27 6.141276e-03 9.594198e-03 6.088242e-03 7.471182e-03 5.735135e-03 + 3352 27 1.283303e-02 1.402946e-03 4.585693e-03 3.049354e-03 4.397800e-03 + 3353 27 5.999433e-03 3.811661e-03 5.385392e-03 6.668860e-03 1.647695e-03 + 3354 27 8.508217e-03 3.800080e-03 4.313952e-03 3.141629e-03 2.991256e-03 + 3355 27 9.527315e-03 1.640207e-03 2.771817e-03 2.783800e-03 4.585358e-03 + 3356 27 3.978809e-03 2.788215e-03 4.287022e-03 4.643822e-03 4.290610e-03 + 3357 27 8.350889e-03 3.273300e-03 8.691250e-04 2.432855e-03 1.220748e-03 + 3358 27 5.661326e-03 3.344872e-03 5.617417e-03 2.670160e-03 2.790395e-03 + 3359 27 9.382925e-03 2.816852e-03 2.204319e-03 3.354560e-03 2.203468e-03 + 3360 27 4.377795e-03 1.794826e-03 9.836172e-03 2.707385e-03 1.447300e-03 + 3361 27 6.573270e-03 1.996705e-03 6.155509e-03 2.252036e-03 2.146942e-03 + 3362 27 8.280511e-03 5.005909e-03 2.510618e-03 5.024139e-03 4.408504e-03 + 3363 27 1.368159e-02 1.802771e-03 2.251548e-03 1.334806e-03 8.327896e-04 + 3364 27 8.158411e-03 3.766500e-03 1.681334e-03 2.315730e-03 4.990699e-03 + 3365 27 6.341212e-03 8.867092e-04 5.465682e-03 2.240692e-03 7.810332e-04 + 3366 27 4.016264e-03 1.529691e-03 1.630591e-03 1.818585e-03 4.877096e-03 + 3367 27 8.880234e-03 1.290687e-03 1.421471e-03 2.873957e-03 2.795244e-03 + 3368 27 6.383976e-03 2.942891e-03 2.948094e-03 2.123230e-03 1.326598e-03 + 3369 27 4.655247e-03 1.913742e-03 1.394609e-03 3.017722e-03 1.590273e-03 + 3370 27 2.307554e-03 4.207888e-03 6.647744e-03 1.321002e-03 2.801514e-03 + 3371 27 6.698823e-03 1.398465e-03 2.151157e-03 1.653622e-03 1.098696e-03 + 3372 27 2.734561e-03 2.452686e-03 2.564829e-03 1.903309e-03 2.152981e-03 + 3373 27 3.166544e-03 1.604465e-03 2.265756e-03 4.173546e-03 1.334293e-03 + 3374 27 5.007392e-03 3.254358e-03 1.019686e-03 1.379535e-03 1.004545e-03 + 3375 27 1.823345e-03 4.158530e-04 3.464604e-03 7.776966e-04 2.592989e-03 + 3376 27 5.576966e-03 8.173523e-04 3.064997e-04 1.805607e-03 1.760373e-03 + 3377 27 1.604048e-01 7.871347e-02 8.068569e-02 8.640904e-02 8.063111e-02 + 3378 27 8.466940e-01 4.338841e-01 4.270845e-01 4.727535e-01 4.552754e-01 + 3379 27 1.507357e-01 7.004073e-02 6.667022e-02 8.785990e-02 8.008001e-02 + 3380 27 2.329133e-03 1.119380e-03 1.993016e-03 7.780572e-04 1.357782e-03 + 3381 27 3.142163e-03 1.462731e-03 2.455293e-03 1.005309e-03 7.351650e-04 + 3382 27 2.618367e-03 8.857208e-04 6.932709e-04 1.258034e-03 1.383594e-03 + 3383 27 1.386801e-03 1.222492e-03 2.673034e-03 5.917716e-04 1.655658e-03 + 3384 27 3.817860e-03 2.359118e-03 9.943086e-04 3.375614e-03 2.748855e-03 + 3385 27 3.976615e-03 3.956457e-04 1.284798e-03 1.150719e-03 1.172210e-03 + 3386 27 2.697794e-03 1.849013e-03 3.929948e-04 1.041045e-03 2.264649e-03 + 3387 27 1.812107e-03 1.292661e-03 1.623453e-03 1.185258e-03 1.987660e-03 + 3388 27 5.354718e-03 1.645514e-03 1.725387e-03 3.790204e-04 1.073780e-03 + 3389 27 3.814357e-03 4.679530e-03 3.733762e-03 3.203641e-03 2.474786e-03 + 3390 27 5.752963e-03 1.304605e-03 7.812843e-04 1.633781e-03 4.939612e-04 + 3391 27 1.145156e-03 7.751160e-04 9.272036e-04 7.000950e-04 1.277539e-03 + 3392 27 3.222174e-03 1.170409e-03 1.112159e-03 2.319914e-03 2.911474e-03 + 3393 27 1.791961e-03 1.468400e-03 1.576311e-03 2.729290e-03 1.836673e-03 + 3394 27 5.063229e-03 1.598667e-03 1.354696e-03 2.668232e-03 1.737528e-03 + 3395 27 6.453832e-03 6.659179e-04 1.747027e-04 9.337197e-04 4.084038e-04 + 3396 27 2.393585e-03 1.555679e-03 1.356421e-03 1.459800e-03 1.216743e-03 + 3397 27 1.982533e-03 5.424898e-04 4.302003e-04 6.370053e-04 8.394983e-04 + 3398 27 2.959939e-03 2.550865e-03 4.869980e-04 8.601152e-04 7.970280e-04 + 3399 27 4.394059e-03 2.053998e-03 8.227208e-04 1.456978e-03 1.826371e-03 + 3400 27 3.387411e-03 2.044178e-03 1.841984e-03 2.239942e-03 1.905585e-03 + 3401 27 2.714229e-03 2.143800e-04 1.450316e-03 6.529821e-04 2.206320e-03 + 3402 27 1.440638e-03 3.034291e-03 2.724532e-03 2.527707e-03 2.977183e-03 + 3403 27 4.550828e-03 1.184487e-03 8.122570e-04 8.354528e-04 2.824058e-04 + 3404 27 2.532866e-03 1.374571e-03 1.586413e-03 1.059786e-03 8.975530e-04 + 3405 27 2.309314e-03 1.384309e-03 1.299045e-03 1.735680e-03 3.889627e-03 + 3406 27 8.791577e-04 1.580073e-03 1.555519e-03 1.384163e-03 2.275415e-03 + 3407 27 1.885488e-03 1.106725e-03 6.297854e-04 1.351050e-03 5.940576e-04 + 3408 27 3.709774e-03 5.845919e-04 1.507870e-03 8.070209e-04 8.538471e-04 + 3409 27 2.591150e-03 2.849300e-03 1.211511e-03 1.667186e-03 9.753121e-04 + 3410 27 2.295725e-03 1.776950e-03 2.648585e-03 3.411473e-03 1.289330e-03 + 3411 27 4.681553e-03 1.074953e-03 3.139967e-04 1.600999e-03 3.386505e-04 + 3412 27 1.818072e-03 1.389769e-03 1.228209e-03 3.121691e-03 9.009990e-04 + 3413 27 4.956036e-03 1.373311e-03 8.240379e-04 1.149520e-03 7.978110e-04 + 3414 27 3.414380e-03 7.875406e-04 1.491169e-03 1.146979e-03 1.082496e-03 + 3415 27 9.618647e-04 1.521976e-03 2.943255e-03 2.253219e-03 2.632825e-03 + 3416 27 3.488610e-03 5.673511e-04 1.019652e-03 1.424191e-03 6.287724e-04 + 3417 27 1.436238e-03 1.678568e-03 2.210694e-03 2.248390e-03 1.605912e-03 + 3418 27 3.371342e-03 7.367483e-04 9.799297e-04 1.613034e-04 4.639067e-04 + 3419 27 4.101641e-04 9.331021e-04 1.124994e-03 6.847295e-04 5.311746e-04 + 3420 27 1.770786e-03 9.906130e-04 1.329090e-03 4.778882e-04 1.381780e-03 + 3421 27 2.412386e-03 2.231313e-03 1.165067e-03 1.342551e-03 1.804309e-03 + 3422 27 7.241713e-03 5.653344e-03 3.459588e-03 5.789554e-03 5.232994e-03 + 3423 27 1.849382e-03 1.924575e-03 1.401542e-03 2.413667e-03 1.308302e-03 + 3424 27 1.968484e-03 8.875992e-04 3.616214e-04 9.096136e-04 1.248966e-03 + 3425 27 1.789007e-03 1.624265e-03 7.868912e-04 1.529147e-03 6.172629e-04 + 3426 27 6.900688e-04 1.308178e-03 7.031622e-04 9.765565e-04 2.149192e-03 + 3427 27 8.661901e-04 1.992401e-03 3.111612e-03 2.851297e-03 1.722902e-03 + 3428 27 3.134252e-03 5.083024e-03 6.161278e-03 9.988770e-03 4.862244e-03 + 3429 27 2.587887e-03 7.599645e-04 2.237828e-03 2.523432e-03 1.350686e-03 + 3430 27 1.683468e-03 5.664307e-04 1.145883e-03 1.849014e-04 7.210675e-04 + 3431 27 9.929958e-04 2.566205e-03 9.094938e-04 1.691919e-03 1.091042e-03 + 3432 27 2.396024e-03 6.806598e-04 2.222119e-03 1.836268e-03 1.440406e-03 + 3433 27 6.035186e-03 1.652628e-03 1.995725e-03 2.330386e-03 1.181106e-03 + 3434 27 1.386892e-02 9.971752e-03 6.461370e-03 7.818702e-03 7.306665e-03 + 3435 27 6.625196e-03 2.233309e-03 2.054601e-03 2.534307e-03 2.530288e-03 + 3436 27 1.387662e-03 1.090428e-03 1.051223e-03 9.396763e-04 1.681895e-03 + 3437 27 2.433054e-03 3.338713e-04 7.934993e-04 1.667864e-03 6.052099e-04 + 3438 27 1.169897e-03 5.471920e-04 8.355876e-04 1.227807e-03 1.653415e-03 + 3439 27 1.202032e-03 8.360863e-04 7.165992e-04 1.212830e-03 6.272369e-04 + 3440 27 3.126186e-03 1.268342e-03 8.034610e-04 1.188761e-03 7.382963e-04 + 3441 27 3.025579e-03 8.752210e-04 4.909738e-04 8.517682e-04 9.901752e-04 + 3442 27 1.541793e-03 8.015131e-04 8.134449e-04 1.094044e-03 1.590040e-03 + 3443 27 6.175368e-04 1.320245e-03 1.022600e-03 1.183605e-03 8.742760e-04 + 3444 27 1.362077e-03 5.650389e-04 1.103719e-03 1.266116e-03 1.861274e-03 + 3445 27 2.024709e-03 9.106942e-04 1.127063e-03 2.406146e-03 1.960553e-03 + 3446 27 2.692280e-03 2.043367e-03 3.208683e-03 2.834854e-03 2.574097e-03 + 3447 27 1.609303e-03 4.346001e-04 2.743155e-03 1.888409e-03 1.013094e-03 + 3448 27 1.289827e-03 1.086943e-03 9.902391e-04 7.212125e-04 8.336014e-04 + 3449 27 1.334861e-03 6.188796e-04 1.021575e-03 1.500793e-03 5.124402e-04 + 3450 27 6.370118e-04 9.840736e-04 1.086757e-03 2.456136e-03 1.740804e-03 + 3451 27 2.025123e-03 2.146748e-04 2.334908e-04 1.099283e-03 1.347003e-03 + 3452 27 1.159973e-03 7.266300e-04 5.287996e-04 1.280172e-03 1.622869e-03 + 3453 27 1.941829e-03 4.588470e-04 4.175029e-04 3.745672e-04 1.216046e-03 + 3454 27 8.636511e-04 3.589667e-03 5.693456e-04 1.387337e-03 1.981179e-03 + 3455 27 2.392633e-03 2.294306e-03 1.551047e-03 1.718906e-03 8.666431e-04 + 3456 27 1.629502e-03 2.210677e-03 1.594002e-03 1.247253e-03 1.473349e-03 + 3457 28 3.352571e+00 1.454655e+00 1.452646e+00 1.432029e+00 1.391710e+00 + 3458 28 5.441478e+02 2.073273e+02 2.113611e+02 2.106374e+02 2.107778e+02 + 3459 28 8.588774e+02 3.280253e+02 3.328961e+02 3.315897e+02 3.334546e+02 + 3460 28 3.531120e+01 1.327573e+01 1.347881e+01 1.352543e+01 1.356094e+01 + 3461 28 1.832938e-02 2.073873e-02 1.442579e-02 1.161904e-02 1.640497e-02 + 3462 28 1.347298e-01 4.635000e-02 2.495010e-02 4.495996e-02 5.377588e-02 + 3463 28 2.243820e-01 8.561619e-02 1.069223e-01 9.599157e-02 9.156176e-02 + 3464 28 9.026961e-01 3.763180e-01 3.794824e-01 3.847287e-01 3.735720e-01 + 3465 28 1.189733e-01 5.448883e-02 5.646497e-02 6.716893e-02 5.739334e-02 + 3466 28 3.655515e-02 1.507955e-02 1.192892e-02 1.206581e-02 1.900298e-02 + 3467 28 5.315257e-02 1.877023e-02 1.975783e-02 2.349826e-02 1.319553e-02 + 3468 28 2.933188e-02 1.480986e-02 1.402875e-02 1.304580e-02 1.693787e-02 + 3469 28 4.846953e-02 1.179217e-02 1.094414e-02 1.482012e-02 1.848058e-02 + 3470 28 2.580302e-02 1.004521e-02 1.075203e-02 1.630910e-02 1.547641e-02 + 3471 28 2.240962e-02 8.659362e-03 7.002062e-03 9.304791e-03 6.385655e-03 + 3472 28 2.013903e-02 1.446398e-02 9.096033e-03 7.025866e-03 1.241740e-02 + 3473 28 1.656390e-02 4.253009e-03 7.881923e-03 8.450823e-03 4.942148e-03 + 3474 28 2.399948e-02 5.307270e-03 3.444832e-03 7.059292e-03 8.147539e-03 + 3475 28 1.028660e-02 9.218596e-03 1.289119e-02 1.218306e-02 1.098692e-02 + 3476 28 1.196794e-02 4.620622e-03 3.413931e-03 4.368185e-03 5.404649e-03 + 3477 28 9.908555e-03 5.249881e-03 6.447554e-03 5.796561e-03 3.415416e-03 + 3478 28 6.048080e-03 7.810281e-03 7.623649e-03 6.885243e-03 9.435467e-03 + 3479 28 2.268467e-02 3.134007e-03 3.149620e-03 5.413652e-03 1.511602e-03 + 3480 28 6.205504e-03 2.705027e-03 2.178259e-03 5.813345e-03 2.819684e-03 + 3481 28 6.214605e-03 5.283514e-03 4.925697e-03 5.781797e-03 5.189182e-03 + 3482 28 1.169575e-02 3.600380e-03 3.606258e-03 1.786470e-03 2.061259e-03 + 3483 28 5.485494e-03 2.450952e-03 1.530300e-03 6.409828e-03 2.300078e-03 + 3484 28 8.691887e-03 4.799286e-03 3.558851e-03 3.585099e-03 5.069058e-03 + 3485 28 7.122231e-03 4.604212e-03 3.513039e-03 4.476217e-03 4.271158e-03 + 3486 28 6.971527e-03 4.524146e-03 1.805814e-03 3.235998e-03 2.009729e-03 + 3487 28 4.543346e-03 1.651457e-03 6.511634e-03 2.651079e-03 2.425589e-03 + 3488 28 1.294927e-02 2.467920e-03 2.632626e-03 1.778143e-03 3.343241e-03 + 3489 28 4.486611e-03 1.380965e-03 4.060370e-03 4.652489e-03 2.306792e-03 + 3490 28 1.021680e-02 5.025040e-03 4.240358e-03 1.596253e-03 3.792588e-03 + 3491 28 2.322028e-03 1.646280e-03 2.645521e-03 2.405799e-03 2.260499e-03 + 3492 28 7.769474e-03 2.726851e-03 1.764061e-03 1.857710e-03 8.390763e-04 + 3493 28 4.105846e-03 2.395380e-03 3.871702e-03 2.437391e-03 5.400014e-03 + 3494 28 5.563413e-03 2.233559e-03 4.959778e-03 1.756548e-03 1.418630e-03 + 3495 28 9.480885e-03 1.305118e-03 3.034820e-03 1.634722e-03 4.639610e-03 + 3496 28 6.225374e-03 1.922664e-03 1.123845e-03 2.401083e-03 9.866344e-04 + 3497 28 5.586715e-03 3.111412e-03 4.201896e-03 2.487374e-03 1.846988e-03 + 3498 28 3.707349e-03 2.118210e-03 3.631995e-03 2.672993e-03 3.913736e-03 + 3499 28 2.563887e-03 1.076767e-03 3.815500e-03 5.966354e-04 6.186873e-04 + 3500 28 4.298847e-03 1.146028e-03 2.075950e-03 2.124490e-03 2.134075e-03 + 3501 28 3.197131e-03 1.588041e-03 9.536443e-04 3.051997e-03 8.030454e-04 + 3502 28 3.557334e-03 8.219056e-04 2.460736e-03 1.913593e-03 1.850732e-03 + 3503 28 4.095900e-03 1.401134e-03 2.336878e-03 4.083448e-04 9.689393e-04 + 3504 28 4.458745e-03 1.216769e-03 1.221440e-03 2.432588e-03 1.947602e-03 + 3505 28 1.550377e-01 7.550567e-02 7.406390e-02 7.545176e-02 7.408936e-02 + 3506 28 8.494655e-01 4.098634e-01 4.148886e-01 4.312744e-01 4.122663e-01 + 3507 28 1.630400e-01 7.374742e-02 7.796752e-02 7.737687e-02 8.071843e-02 + 3508 28 1.758801e-03 1.130750e-03 1.271077e-03 1.209284e-03 3.076487e-03 + 3509 28 6.010447e-03 3.669011e-04 1.428635e-03 3.979656e-04 1.291002e-03 + 3510 28 1.784499e-03 1.665446e-03 1.891408e-03 1.284095e-03 2.518119e-03 + 3511 28 2.918386e-04 2.281557e-03 2.794381e-03 2.777295e-03 2.060096e-03 + 3512 28 4.188856e-03 1.001379e-03 1.160263e-03 3.309830e-04 7.963442e-04 + 3513 28 1.517393e-03 1.022966e-03 3.664783e-03 2.213956e-03 1.013988e-03 + 3514 28 2.762424e-03 1.000591e-03 2.069926e-03 1.127337e-03 8.986985e-04 + 3515 28 1.857967e-03 2.671968e-03 3.240990e-04 1.060656e-03 1.430290e-03 + 3516 28 1.284821e-03 1.676704e-03 2.631536e-03 2.273135e-03 1.895792e-03 + 3517 28 4.817329e-03 2.000563e-03 1.710765e-03 2.627444e-03 5.250613e-04 + 3518 28 2.198421e-03 1.027035e-03 2.529353e-03 1.234960e-03 1.121462e-03 + 3519 28 1.333144e-03 9.998410e-04 6.033300e-04 9.892284e-04 2.169027e-03 + 3520 28 4.279552e-03 2.063718e-04 1.490775e-03 7.165502e-04 1.160192e-04 + 3521 28 1.805951e-03 1.501230e-03 1.316432e-03 9.574588e-04 1.526893e-03 + 3522 28 2.004052e-03 9.502359e-04 2.566734e-03 1.133397e-03 1.069221e-03 + 3523 28 5.160262e-03 1.021139e-03 3.130069e-04 9.032364e-05 1.581404e-03 + 3524 28 1.129719e-03 9.514661e-04 1.480166e-03 1.378261e-03 9.171676e-04 + 3525 28 2.030014e-03 1.241535e-03 1.206456e-03 4.220111e-04 9.280520e-04 + 3526 28 2.815113e-03 3.826077e-04 2.388789e-03 1.302824e-03 1.372114e-03 + 3527 28 2.529453e-03 1.598909e-03 1.745557e-03 1.013653e-03 8.683518e-04 + 3528 28 2.109023e-03 1.314564e-03 2.014966e-03 1.282824e-03 1.312409e-03 + 3529 28 3.847589e-03 1.856254e-03 9.412697e-04 1.278686e-03 1.026380e-03 + 3530 28 2.098508e-03 1.685132e-03 1.170170e-03 4.689928e-04 7.306110e-04 + 3531 28 5.358093e-04 1.522535e-03 7.440380e-04 1.380224e-03 1.481098e-03 + 3532 28 3.592780e-03 8.365747e-04 4.478464e-04 1.493223e-03 5.653364e-04 + 3533 28 3.448033e-03 1.480162e-03 1.038297e-03 2.504806e-03 1.697307e-03 + 3534 28 3.168163e-03 1.527231e-03 1.041629e-03 1.070124e-03 1.099267e-03 + 3535 28 2.758416e-03 3.082960e-04 9.771467e-04 5.064550e-04 7.152702e-04 + 3536 28 1.916806e-03 1.492476e-03 1.903816e-03 8.235129e-04 1.182748e-03 + 3537 28 2.282367e-03 9.192679e-04 1.799456e-03 4.794427e-04 6.351314e-04 + 3538 28 2.338696e-03 1.816273e-03 1.831159e-03 9.994623e-04 2.230081e-03 + 3539 28 2.263235e-03 5.395949e-04 5.787846e-04 7.962333e-04 5.741857e-04 + 3540 28 1.353118e-03 1.076550e-03 1.972938e-03 2.238572e-03 1.626524e-03 + 3541 28 1.508721e-03 1.456381e-03 7.849422e-04 1.447467e-03 4.743859e-04 + 3542 28 1.525677e-03 9.346619e-04 7.589221e-04 1.539137e-03 6.198282e-04 + 3543 28 3.081072e-03 6.503805e-04 5.718737e-04 3.181915e-03 1.667587e-03 + 3544 28 4.946633e-03 8.002055e-04 1.099178e-03 1.570816e-03 1.269691e-03 + 3545 28 3.069004e-03 2.163167e-03 2.553437e-04 8.559275e-04 1.021466e-03 + 3546 28 1.120374e-03 8.640012e-04 1.370736e-03 1.010783e-03 1.864307e-03 + 3547 28 1.375795e-03 1.398754e-03 5.512069e-04 6.235265e-04 1.190900e-03 + 3548 28 1.596693e-03 7.660763e-04 6.494727e-04 5.826831e-04 7.391790e-04 + 3549 28 6.352453e-03 2.510990e-03 3.273224e-03 2.159639e-03 2.473715e-03 + 3550 28 1.680375e-02 7.939076e-03 5.843920e-03 1.018454e-02 4.788050e-03 + 3551 28 4.052965e-03 1.978179e-03 9.813358e-04 1.625383e-03 1.066940e-03 + 3552 28 4.497542e-03 2.953901e-04 5.309653e-04 9.120440e-04 5.476173e-04 + 3553 28 2.589399e-03 8.294696e-04 1.913220e-03 1.934238e-03 8.638943e-04 + 3554 28 4.523722e-03 6.117539e-04 1.941209e-04 1.634971e-03 3.798412e-04 + 3555 28 2.806881e-03 1.692048e-03 1.537122e-03 1.274619e-03 1.733618e-03 + 3556 28 3.275536e-03 7.908542e-03 8.738192e-03 7.697657e-03 5.359118e-03 + 3557 28 1.868011e-03 2.800248e-03 2.114816e-03 1.528358e-03 1.293954e-03 + 3558 28 1.992580e-03 1.755256e-03 8.565917e-04 7.888838e-04 1.045450e-03 + 3559 28 4.254825e-03 9.950863e-04 3.286086e-04 4.397297e-04 1.410558e-03 + 3560 28 3.133935e-04 1.491289e-03 1.178510e-03 1.123982e-03 8.252081e-04 + 3561 28 3.429737e-03 2.642800e-03 2.290375e-03 2.596282e-03 2.420493e-03 + 3562 28 1.330292e-02 5.609626e-03 5.111630e-03 5.219100e-03 5.165539e-03 + 3563 28 2.615399e-03 1.433301e-03 1.471704e-03 1.413558e-03 1.861402e-03 + 3564 28 1.607897e-03 1.104208e-03 1.275996e-03 7.587975e-04 3.760649e-04 + 3565 28 1.301339e-03 5.027892e-04 1.534354e-03 8.481320e-04 1.091469e-03 + 3566 28 2.632045e-03 1.747648e-03 1.066315e-03 1.276976e-03 1.712351e-03 + 3567 28 9.757893e-04 1.237885e-03 1.513929e-03 6.544060e-04 1.305713e-03 + 3568 28 2.494673e-03 1.959024e-03 5.001177e-04 6.643464e-04 1.504346e-03 + 3569 28 3.028281e-03 1.374899e-03 1.061021e-03 1.885076e-03 6.295570e-04 + 3570 28 2.782919e-03 7.682591e-04 4.317942e-04 5.503190e-04 8.956789e-04 + 3571 28 2.262345e-03 1.147978e-03 1.196428e-03 1.831288e-03 7.183066e-04 + 3572 28 2.642782e-03 9.350857e-04 2.160500e-03 1.678162e-03 7.024765e-04 + 3573 28 7.813198e-04 1.781329e-04 7.974537e-04 4.351278e-04 1.241436e-03 + 3574 28 5.605125e-03 2.488980e-03 3.524507e-03 4.830921e-03 7.988359e-03 + 3575 28 2.322548e-03 8.060164e-04 1.356156e-03 2.218145e-03 1.596980e-03 + 3576 28 1.228305e-03 6.650520e-04 7.949300e-04 5.956243e-04 5.548545e-04 + 3577 28 1.027889e-03 1.130806e-03 8.077928e-04 4.904769e-04 1.227527e-03 + 3578 28 1.467782e-03 4.743169e-05 4.817178e-04 1.388798e-03 6.255264e-04 + 3579 28 2.453536e-03 7.734160e-04 1.015731e-03 2.225177e-03 1.036529e-03 + 3580 28 1.619506e-03 1.256996e-03 5.803328e-04 1.008803e-03 1.485986e-03 + 3581 28 3.096148e-03 3.192698e-04 6.564840e-04 8.926765e-04 1.142392e-03 + 3582 28 1.635787e-03 7.559590e-04 2.365972e-03 2.809600e-03 2.209056e-03 + 3583 28 2.020317e-03 1.126242e-03 3.042699e-04 9.702719e-04 6.515393e-04 + 3584 28 1.607396e-03 4.189313e-04 7.080395e-04 1.614539e-03 5.347186e-04 + 3585 29 3.861616e+00 1.264155e+00 1.378486e+00 1.204702e+00 1.389894e+00 + 3586 29 5.459162e+02 2.094311e+02 2.120049e+02 2.108710e+02 2.113671e+02 + 3587 29 8.576102e+02 3.301378e+02 3.335548e+02 3.323590e+02 3.329628e+02 + 3588 29 3.490139e+01 1.351311e+01 1.381430e+01 1.348106e+01 1.355296e+01 + 3589 29 9.203127e-02 4.657905e-02 3.377626e-02 5.698027e-02 5.773823e-02 + 3590 29 6.487462e-02 2.818210e-02 2.430878e-02 2.244776e-02 2.810035e-02 + 3591 29 2.663367e-01 1.008785e-01 1.035651e-01 9.594530e-02 1.102151e-01 + 3592 29 9.226317e-01 3.229212e-01 3.656106e-01 3.264779e-01 3.833519e-01 + 3593 29 1.749505e-01 4.905985e-02 5.554789e-02 4.354272e-02 5.921645e-02 + 3594 29 3.074196e-02 2.283485e-02 1.700777e-02 3.914053e-02 3.926649e-02 + 3595 29 5.318497e-02 9.926207e-03 1.829727e-02 7.584634e-03 3.287559e-03 + 3596 29 2.362025e-02 1.148731e-02 1.329497e-02 1.417345e-02 1.963281e-02 + 3597 29 5.153468e-02 2.623066e-02 2.639117e-02 2.900526e-02 1.824978e-02 + 3598 29 3.861982e-02 7.066266e-03 8.796436e-03 4.669984e-03 5.039960e-03 + 3599 29 1.517627e-02 6.706382e-03 1.377667e-02 1.062166e-02 1.131383e-02 + 3600 29 2.682447e-02 1.282935e-02 6.172737e-03 7.954872e-03 8.841271e-03 + 3601 29 8.612001e-03 3.699699e-03 7.363371e-03 5.666945e-03 5.170665e-03 + 3602 29 2.677756e-02 1.654559e-02 1.099628e-02 1.274769e-02 1.042051e-02 + 3603 29 7.760843e-03 2.172518e-03 2.851253e-03 1.567791e-03 4.709410e-03 + 3604 29 1.128697e-02 5.952475e-03 7.941891e-03 4.337686e-03 2.954784e-03 + 3605 29 1.293444e-02 3.325221e-03 3.424172e-03 7.078676e-03 6.587379e-03 + 3606 29 1.373388e-02 4.451807e-03 5.080140e-03 4.490932e-03 2.694197e-03 + 3607 29 2.210350e-02 3.472887e-03 2.934179e-03 3.344418e-03 3.544855e-03 + 3608 29 2.500659e-03 5.247157e-03 6.058204e-03 6.302703e-03 2.982218e-03 + 3609 29 1.181526e-02 4.565179e-03 2.640087e-03 5.058595e-03 3.825345e-03 + 3610 29 7.114446e-03 2.085089e-03 2.525681e-03 1.204383e-03 2.572529e-03 + 3611 29 7.973590e-03 4.841370e-03 3.765682e-03 8.011583e-03 4.081530e-03 + 3612 29 6.283344e-03 3.682800e-03 4.049913e-03 5.256993e-03 3.859743e-03 + 3613 29 8.437630e-03 4.837705e-03 2.244602e-03 2.679784e-03 4.138412e-03 + 3614 29 8.009749e-03 1.910607e-03 3.244767e-03 3.136045e-03 3.010845e-03 + 3615 29 5.994858e-03 2.676309e-03 1.720082e-03 3.450318e-03 3.975375e-03 + 3616 29 3.796614e-03 4.393365e-03 2.658169e-03 3.441666e-03 2.315647e-03 + 3617 29 9.944221e-03 2.894864e-03 4.413440e-03 6.115007e-04 2.726415e-03 + 3618 29 4.398150e-03 3.105107e-03 3.060468e-03 3.924481e-03 5.109504e-03 + 3619 29 1.109224e-02 2.086856e-03 1.361844e-03 1.639632e-03 1.229154e-03 + 3620 29 5.756673e-03 3.545425e-03 3.554735e-03 1.614778e-03 1.265201e-03 + 3621 29 5.006094e-03 1.913091e-03 1.840707e-03 1.664450e-03 2.337574e-03 + 3622 29 4.513186e-03 4.519211e-03 3.137447e-03 1.833115e-03 2.216876e-03 + 3623 29 5.743381e-03 2.470469e-03 1.061651e-03 2.243264e-03 2.072358e-03 + 3624 29 1.341549e-02 1.210463e-03 2.545385e-03 1.312078e-03 2.632687e-03 + 3625 29 1.567096e-03 1.633920e-03 2.995318e-03 2.799611e-03 2.764562e-03 + 3626 29 4.251498e-03 1.929185e-03 2.767797e-03 7.940711e-04 1.602201e-03 + 3627 29 1.502922e-03 3.144890e-03 4.615758e-03 2.145839e-03 2.956680e-03 + 3628 29 4.950979e-03 1.416713e-03 1.343905e-03 1.626069e-03 1.013656e-03 + 3629 29 7.610484e-03 2.246608e-03 8.447799e-04 3.014562e-03 6.540478e-04 + 3630 29 1.011745e-03 1.193811e-03 2.080517e-03 1.562717e-03 2.464620e-03 + 3631 29 3.449101e-03 1.008623e-03 5.349299e-03 7.528056e-04 3.380290e-04 + 3632 29 2.158566e-03 1.983407e-03 5.541478e-03 1.593379e-03 2.611622e-03 + 3633 29 1.624474e-01 8.018625e-02 7.442220e-02 7.440450e-02 7.667643e-02 + 3634 29 8.394091e-01 4.109707e-01 3.883345e-01 4.267574e-01 3.932444e-01 + 3635 29 1.578911e-01 7.542202e-02 7.455725e-02 7.958044e-02 7.571595e-02 + 3636 29 9.436133e-04 3.318579e-03 3.088593e-03 3.247894e-03 1.425505e-03 + 3637 29 5.147720e-03 1.986709e-03 1.890409e-03 1.540770e-03 9.511382e-04 + 3638 29 1.115214e-03 1.458711e-03 1.358556e-03 1.399204e-03 1.545507e-03 + 3639 29 4.006381e-03 1.681659e-03 2.340398e-03 1.059711e-03 1.056997e-03 + 3640 29 1.379598e-03 2.327219e-03 3.481694e-03 2.160904e-03 1.357443e-03 + 3641 29 4.427159e-03 2.746705e-03 2.324862e-03 1.580308e-03 8.891945e-04 + 3642 29 2.966997e-03 7.384009e-04 1.718098e-03 1.355510e-03 7.318381e-04 + 3643 29 2.188637e-03 1.153656e-03 2.080017e-03 1.205834e-03 1.878420e-03 + 3644 29 2.760966e-03 1.841903e-03 1.201657e-03 4.674884e-04 1.373023e-03 + 3645 29 3.159980e-03 1.274339e-03 2.515455e-03 2.074717e-03 1.111451e-03 + 3646 29 5.900328e-03 2.693567e-03 1.221489e-03 1.496333e-03 1.922880e-03 + 3647 29 3.145557e-03 9.814043e-04 7.755959e-04 2.065581e-03 1.615167e-03 + 3648 29 6.117071e-03 9.054213e-04 1.012903e-03 9.094493e-04 2.266926e-04 + 3649 29 2.163957e-03 4.077432e-04 6.587481e-04 1.721745e-03 9.696997e-04 + 3650 29 1.533841e-03 7.938231e-04 1.291484e-03 5.302264e-04 4.470120e-04 + 3651 29 1.759512e-03 4.483925e-04 1.169896e-03 1.105549e-03 1.572003e-03 + 3652 29 2.136880e-03 1.514769e-03 1.706475e-03 8.090753e-04 1.430186e-03 + 3653 29 1.212805e-03 1.114197e-03 2.027546e-04 5.522659e-04 6.701297e-04 + 3654 29 2.713422e-03 1.819628e-04 1.148766e-03 7.906074e-04 3.671512e-04 + 3655 29 1.519934e-03 9.452403e-04 1.234447e-03 1.818076e-03 1.514563e-03 + 3656 29 3.070018e-03 1.515392e-03 1.251415e-03 8.143879e-04 7.032489e-04 + 3657 29 2.870249e-03 9.315818e-04 2.346416e-03 7.863776e-04 1.110901e-03 + 3658 29 1.518337e-03 5.134413e-04 6.785625e-04 7.071529e-04 1.100340e-03 + 3659 29 1.940212e-03 1.196494e-03 1.109514e-03 1.326007e-03 6.233137e-04 + 3660 29 2.226631e-04 1.561004e-03 8.149953e-04 2.478974e-03 3.767016e-03 + 3661 29 4.053708e-03 3.474216e-04 5.795808e-04 5.503925e-04 9.517279e-04 + 3662 29 1.721174e-03 6.193327e-04 1.229741e-03 5.422237e-04 1.165337e-03 + 3663 29 1.805975e-03 9.534978e-04 1.818641e-03 1.529585e-03 1.474681e-03 + 3664 29 1.149460e-03 1.372175e-03 2.098837e-03 2.074489e-03 1.376914e-03 + 3665 29 3.409408e-03 5.470352e-04 1.395885e-03 1.123883e-03 6.806858e-04 + 3666 29 2.721424e-03 1.866960e-03 2.050177e-03 2.577096e-03 2.792469e-03 + 3667 29 3.328042e-03 1.299018e-03 9.545714e-04 1.417505e-03 1.344889e-03 + 3668 29 3.026929e-03 9.749956e-04 1.472066e-03 1.307460e-03 2.606823e-03 + 3669 29 1.718877e-03 5.871218e-04 2.425295e-04 9.938705e-04 1.018323e-03 + 3670 29 3.873171e-03 3.597895e-04 1.162995e-03 4.502891e-04 1.269244e-03 + 3671 29 2.080744e-03 1.574721e-03 8.960538e-04 2.335214e-03 9.960272e-04 + 3672 29 2.953291e-03 7.360114e-04 8.547728e-04 4.663608e-04 3.068915e-04 + 3673 29 7.625953e-04 9.548937e-04 7.011578e-04 1.241173e-03 1.378203e-03 + 3674 29 1.187423e-03 1.978663e-03 1.316262e-03 8.794025e-04 1.567697e-03 + 3675 29 2.143400e-03 6.601827e-04 4.694254e-04 3.223391e-04 6.814153e-04 + 3676 29 8.093469e-04 3.720823e-03 1.464664e-03 2.709121e-03 4.234876e-04 + 3677 29 4.801937e-03 2.002585e-03 1.975148e-03 1.329650e-03 2.758677e-03 + 3678 29 1.617490e-02 9.294543e-03 7.271781e-03 1.150346e-02 8.112378e-03 + 3679 29 6.119290e-03 2.104765e-03 1.740280e-03 1.482473e-03 1.685636e-03 + 3680 29 9.493365e-04 1.014421e-03 1.654430e-03 1.073336e-03 8.825063e-04 + 3681 29 1.293320e-03 1.777828e-03 6.230340e-04 7.818882e-04 1.976155e-03 + 3682 29 1.428594e-03 9.064295e-04 2.248239e-04 7.620290e-04 3.355004e-04 + 3683 29 2.739806e-03 3.360103e-03 2.298439e-03 1.269024e-03 4.051666e-03 + 3684 29 3.845228e-03 7.518785e-03 7.597066e-03 7.747705e-03 1.334693e-02 + 3685 29 2.185169e-03 1.543877e-03 1.991384e-03 2.280050e-03 4.734529e-03 + 3686 29 4.251337e-03 9.973748e-04 3.950882e-04 3.155309e-04 2.203564e-03 + 3687 29 4.724154e-03 2.933771e-03 6.055341e-04 1.244116e-03 2.078389e-03 + 3688 29 2.867787e-03 1.171490e-03 5.975292e-04 3.170706e-04 8.646486e-04 + 3689 29 3.450134e-03 2.828309e-03 1.145747e-03 9.757441e-04 1.072194e-03 + 3690 29 1.123507e-02 5.399489e-03 3.931997e-03 3.069005e-03 2.683235e-03 + 3691 29 2.756756e-03 1.861499e-03 2.552704e-03 1.683346e-03 1.622130e-03 + 3692 29 1.711251e-03 7.293128e-04 1.353461e-03 1.266367e-03 7.954105e-04 + 3693 29 2.693500e-03 1.400657e-04 7.791752e-04 6.611104e-04 1.089255e-03 + 3694 29 9.793316e-04 5.335918e-04 2.104684e-04 2.231173e-03 3.816117e-04 + 3695 29 1.057393e-03 1.346574e-03 8.076195e-04 2.723945e-04 5.613944e-04 + 3696 29 7.515964e-04 1.219296e-03 1.944820e-03 9.450464e-04 5.037424e-04 + 3697 29 1.273625e-03 3.056869e-03 1.195038e-03 1.166557e-03 2.053951e-03 + 3698 29 1.785812e-03 1.953782e-03 1.791089e-03 3.894631e-04 7.451052e-04 + 3699 29 2.541346e-03 9.845793e-04 9.071809e-04 1.084158e-03 7.570037e-04 + 3700 29 5.712084e-04 9.854330e-04 2.041667e-03 4.224237e-04 1.967742e-03 + 3701 29 1.732971e-03 1.978641e-03 8.754969e-04 1.158209e-03 1.649888e-03 + 3702 29 4.476143e-03 2.809075e-03 1.482815e-03 2.797877e-03 2.800423e-03 + 3703 29 1.321127e-03 4.155108e-04 6.104513e-04 5.326441e-04 3.499124e-04 + 3704 29 9.493075e-04 2.246485e-04 1.863325e-03 2.801659e-03 1.364228e-03 + 3705 29 1.581905e-03 1.212110e-03 1.102140e-03 7.073006e-04 1.181204e-04 + 3706 29 2.438417e-03 1.047896e-03 3.525656e-04 8.756980e-04 8.912619e-04 + 3707 29 9.060973e-05 2.213011e-03 2.040203e-03 7.267539e-04 2.314840e-03 + 3708 29 1.252383e-03 1.178404e-03 2.727875e-04 2.117965e-03 9.517424e-04 + 3709 29 9.034129e-04 2.441895e-03 1.410268e-03 1.128790e-03 1.228172e-03 + 3710 29 1.525437e-03 9.830731e-04 4.704183e-04 2.866579e-04 1.455944e-04 + 3711 29 3.624273e-04 1.925996e-03 1.764661e-03 9.779825e-04 5.466800e-04 + 3712 29 1.949850e-03 2.762621e-04 3.558521e-04 1.970494e-04 4.636337e-04 + 3713 30 3.135842e+00 1.091664e+00 1.224942e+00 1.359836e+00 1.146272e+00 + 3714 30 5.501749e+02 2.093411e+02 2.110946e+02 2.110877e+02 2.104912e+02 + 3715 30 8.622740e+02 3.286272e+02 3.312217e+02 3.306799e+02 3.306790e+02 + 3716 30 3.591104e+01 1.355635e+01 1.357295e+01 1.362466e+01 1.376230e+01 + 3717 30 1.048021e-01 4.657954e-02 3.520836e-02 4.363084e-02 3.965423e-02 + 3718 30 6.120977e-02 1.812648e-02 2.036203e-02 1.887497e-02 1.769444e-02 + 3719 30 2.543970e-01 1.098310e-01 1.120493e-01 9.235938e-02 9.527462e-02 + 3720 30 9.017640e-01 3.217796e-01 3.611328e-01 3.011488e-01 3.496515e-01 + 3721 30 1.718902e-01 5.547047e-02 6.023008e-02 5.972069e-02 4.995452e-02 + 3722 30 4.303072e-02 1.517050e-02 1.963539e-02 1.731641e-02 1.764169e-02 + 3723 30 2.558157e-02 2.067084e-02 9.349536e-03 1.524040e-02 1.359616e-02 + 3724 30 2.015998e-02 1.284316e-02 1.516382e-02 1.160697e-02 1.462680e-02 + 3725 30 5.193308e-02 1.752318e-02 1.721159e-02 1.766067e-02 2.117014e-02 + 3726 30 2.422517e-02 9.666508e-03 9.520940e-03 1.184870e-02 9.426144e-03 + 3727 30 2.576008e-02 6.808277e-03 7.971211e-03 5.745337e-03 9.808186e-03 + 3728 30 2.151142e-02 6.471015e-03 5.910540e-03 6.193036e-03 7.692396e-03 + 3729 30 1.108897e-02 8.784273e-03 6.635729e-03 7.099259e-03 6.652130e-03 + 3730 30 1.018522e-02 1.105631e-02 9.672811e-03 8.620397e-03 1.047934e-02 + 3731 30 2.525993e-02 3.225388e-03 2.607916e-03 3.664522e-03 2.207058e-03 + 3732 30 9.805751e-03 7.398223e-03 5.420847e-03 5.890466e-03 6.239614e-03 + 3733 30 5.342300e-03 1.833513e-03 3.156580e-03 2.795029e-03 4.162965e-03 + 3734 30 7.487727e-03 9.902347e-03 4.367204e-03 7.295868e-03 4.152127e-03 + 3735 30 1.363230e-02 1.623933e-03 3.766133e-03 2.039489e-03 3.054525e-03 + 3736 30 1.444598e-02 3.253405e-03 2.816734e-03 4.840547e-03 3.365872e-03 + 3737 30 3.493860e-03 7.439748e-03 4.644796e-03 3.289400e-03 6.098923e-03 + 3738 30 9.255948e-03 1.576520e-03 1.847027e-03 2.637884e-03 2.215286e-03 + 3739 30 3.744026e-03 4.243777e-03 5.076728e-03 2.019712e-03 4.556572e-03 + 3740 30 7.182183e-03 1.266436e-03 2.230655e-03 1.515789e-03 1.903773e-03 + 3741 30 6.830472e-03 5.697360e-03 2.215239e-03 8.158819e-03 6.493051e-03 + 3742 30 7.464568e-03 8.396797e-04 3.815547e-03 1.590746e-03 2.188616e-03 + 3743 30 4.378448e-03 1.924834e-03 1.398793e-03 3.549258e-03 1.876125e-03 + 3744 30 5.940027e-03 1.481868e-03 3.880143e-03 3.148387e-03 2.329600e-03 + 3745 30 2.479384e-03 5.371322e-03 5.088415e-03 3.895970e-03 3.775535e-03 + 3746 30 1.189497e-02 2.013067e-03 1.758270e-03 1.461710e-03 1.826139e-03 + 3747 30 4.979325e-03 4.210334e-03 1.691694e-03 1.882580e-03 5.502147e-03 + 3748 30 4.217319e-03 1.322691e-03 1.745159e-03 1.583815e-03 1.815597e-03 + 3749 30 6.086078e-03 2.229601e-03 2.605958e-03 8.220846e-04 6.617493e-04 + 3750 30 2.942277e-03 3.298701e-03 1.736754e-03 2.790922e-03 2.887165e-03 + 3751 30 1.539735e-02 1.195108e-03 1.633530e-03 1.877130e-03 1.075957e-03 + 3752 30 1.879867e-03 5.758021e-03 6.159632e-03 6.728996e-03 4.316172e-03 + 3753 30 1.046089e-02 1.373602e-03 1.338230e-03 1.825242e-04 9.053762e-04 + 3754 30 8.723263e-04 1.914925e-03 2.305401e-03 1.863234e-03 4.900048e-03 + 3755 30 5.047262e-03 2.088869e-03 3.233800e-03 2.880702e-03 6.619885e-04 + 3756 30 4.202147e-03 1.381846e-03 1.103926e-03 3.758141e-03 2.332713e-03 + 3757 30 1.786170e-03 2.818376e-03 2.371890e-03 3.686614e-04 2.605955e-03 + 3758 30 5.250203e-03 1.132656e-03 8.367210e-04 1.411740e-03 1.929629e-03 + 3759 30 3.674659e-03 1.123619e-03 3.738091e-03 9.167203e-04 1.277291e-03 + 3760 30 4.590430e-03 1.376823e-03 1.828231e-03 1.307442e-03 1.015233e-03 + 3761 30 1.669444e-01 7.424506e-02 8.106445e-02 8.582685e-02 7.868160e-02 + 3762 30 9.272634e-01 3.895335e-01 4.171399e-01 4.501743e-01 4.057199e-01 + 3763 30 1.650173e-01 7.728790e-02 7.665924e-02 8.442816e-02 7.400141e-02 + 3764 30 4.486106e-03 1.599768e-03 7.228732e-04 1.194230e-03 1.594462e-03 + 3765 30 1.264170e-03 5.459524e-04 2.220114e-03 3.565870e-03 1.708944e-03 + 3766 30 2.270616e-03 9.969807e-04 2.515419e-03 8.358003e-04 7.808154e-04 + 3767 30 2.730725e-03 1.795850e-03 9.938679e-04 9.962431e-04 4.988373e-04 + 3768 30 1.992359e-03 1.381580e-03 1.515914e-03 3.219392e-04 7.632046e-04 + 3769 30 2.157269e-03 8.656407e-04 2.177721e-03 1.747271e-03 1.882291e-03 + 3770 30 3.901371e-03 2.000013e-03 9.553335e-04 2.788524e-03 9.169776e-04 + 3771 30 7.615453e-04 5.298428e-04 6.629923e-04 1.141233e-03 3.000102e-04 + 3772 30 2.383024e-03 1.053555e-03 8.220718e-04 7.257122e-04 9.995140e-04 + 3773 30 3.615143e-03 2.675979e-03 1.491363e-03 1.332634e-03 1.378135e-03 + 3774 30 6.794397e-03 1.843746e-03 1.090080e-03 2.083284e-03 2.165524e-03 + 3775 30 1.790878e-03 2.058792e-03 1.206515e-03 2.983525e-03 1.578612e-03 + 3776 30 3.677471e-03 7.300547e-04 9.277870e-04 2.118693e-03 8.210212e-04 + 3777 30 1.456705e-03 6.297328e-04 3.012941e-03 9.614257e-04 9.813715e-04 + 3778 30 1.900305e-03 3.250480e-04 1.817913e-03 1.595025e-03 5.911136e-04 + 3779 30 3.240742e-03 8.043990e-04 8.024502e-04 1.623594e-03 7.350835e-04 + 3780 30 1.686302e-03 1.009580e-03 6.898016e-04 1.977203e-03 5.971966e-04 + 3781 30 1.018736e-03 1.004408e-03 1.825477e-03 4.079277e-04 6.177514e-04 + 3782 30 1.985575e-03 1.748336e-03 1.893571e-03 1.375099e-03 1.714626e-03 + 3783 30 4.980660e-03 1.132613e-03 8.036513e-04 1.403238e-03 2.027472e-04 + 3784 30 2.201820e-03 1.554124e-03 1.903229e-03 1.427085e-03 6.368816e-04 + 3785 30 3.627227e-03 6.260420e-04 1.894521e-03 1.201612e-03 4.674539e-04 + 3786 30 2.164743e-03 1.627380e-03 1.576237e-03 3.366511e-03 5.762547e-04 + 3787 30 2.305383e-03 1.012621e-03 2.627466e-03 1.945968e-03 2.713164e-03 + 3788 30 2.628954e-03 1.549635e-03 1.543373e-03 8.712631e-04 1.815036e-03 + 3789 30 4.245727e-03 1.262923e-03 8.765915e-04 2.212732e-03 2.897810e-03 + 3790 30 2.904874e-03 2.707503e-04 9.780724e-05 7.556902e-04 1.156411e-03 + 3791 30 6.400691e-04 2.553720e-03 1.764538e-03 1.314573e-03 7.003824e-04 + 3792 30 1.598702e-03 6.518109e-04 1.195270e-03 5.205173e-04 5.270218e-04 + 3793 30 1.416922e-03 1.469942e-03 5.468332e-04 8.216447e-04 1.792308e-04 + 3794 30 1.632942e-03 8.699288e-04 7.296063e-04 9.987818e-04 1.782653e-03 + 3795 30 2.021219e-03 9.347265e-04 8.198979e-04 7.592081e-04 3.848018e-04 + 3796 30 5.559667e-04 1.476703e-03 1.404390e-03 1.831730e-03 1.264340e-03 + 3797 30 2.631362e-03 8.543629e-04 4.736053e-04 5.243580e-04 9.117046e-04 + 3798 30 1.347366e-03 1.905503e-03 6.745896e-04 1.335338e-03 6.930390e-04 + 3799 30 3.191898e-03 1.898864e-03 1.160495e-03 9.400062e-04 1.695174e-03 + 3800 30 6.265662e-04 2.246121e-03 2.155305e-03 3.000754e-03 7.742661e-04 + 3801 30 3.158914e-03 2.385350e-03 8.089246e-04 4.703006e-04 2.089001e-04 + 3802 30 1.320860e-03 2.402892e-03 1.229762e-03 1.569184e-03 1.930273e-03 + 3803 30 2.373356e-03 1.053717e-03 5.912748e-04 6.897659e-04 1.398997e-03 + 3804 30 2.127730e-03 7.090275e-04 9.453363e-04 1.595496e-04 1.640036e-03 + 3805 30 9.611124e-03 3.798126e-03 2.580787e-03 3.682314e-03 3.116253e-03 + 3806 30 2.511547e-02 1.235792e-02 6.223998e-03 6.275684e-03 8.066229e-03 + 3807 30 5.541637e-03 1.190163e-03 1.378671e-03 1.076655e-03 1.588832e-03 + 3808 30 3.212001e-04 9.623993e-04 8.239043e-04 2.815602e-03 9.839701e-04 + 3809 30 3.802557e-03 6.175406e-04 1.209366e-03 1.021209e-03 2.888723e-04 + 3810 30 1.177203e-03 2.690367e-04 1.220187e-03 1.073586e-03 1.046132e-03 + 3811 30 2.062086e-03 1.870074e-03 2.633407e-03 1.548443e-03 2.338077e-03 + 3812 30 2.983121e-03 4.194157e-03 6.260770e-03 6.487642e-03 6.884649e-03 + 3813 30 2.834837e-03 2.475172e-03 1.943708e-03 1.678013e-03 1.479103e-03 + 3814 30 3.483318e-03 2.575569e-03 1.163178e-03 7.874025e-04 8.133468e-04 + 3815 30 1.537769e-03 8.270851e-04 1.021108e-03 1.085842e-03 1.381705e-04 + 3816 30 2.877118e-03 3.922408e-05 6.755210e-05 7.522307e-04 2.345925e-04 + 3817 30 3.744880e-03 2.400215e-03 3.970103e-03 1.565017e-03 1.909777e-03 + 3818 30 1.455763e-02 5.853435e-03 6.498080e-03 7.034551e-03 4.501819e-03 + 3819 30 3.030362e-03 8.277295e-04 1.211423e-03 2.102237e-03 1.291419e-03 + 3820 30 8.057141e-04 1.524748e-03 1.266976e-03 1.001592e-03 2.321977e-03 + 3821 30 1.991157e-03 6.885808e-04 3.638310e-04 9.452068e-04 1.059421e-03 + 3822 30 1.591071e-03 6.127723e-04 7.198456e-04 2.872024e-04 7.078980e-04 + 3823 30 1.064198e-03 2.525595e-03 8.656160e-04 1.706359e-03 2.306971e-03 + 3824 30 1.432167e-03 6.975822e-04 8.789763e-04 1.978430e-03 2.782654e-03 + 3825 30 1.599926e-03 4.087811e-04 1.222123e-03 4.611946e-04 6.637165e-04 + 3826 30 1.381519e-03 1.112152e-03 2.996193e-04 1.618258e-03 9.978735e-04 + 3827 30 4.436865e-04 3.201981e-04 8.174394e-04 6.620442e-04 7.736830e-04 + 3828 30 2.178595e-03 1.398703e-03 8.661792e-04 1.539122e-03 9.063576e-04 + 3829 30 2.262274e-03 4.964811e-04 5.457093e-04 7.095755e-04 1.862240e-04 + 3830 30 1.148289e-03 6.742857e-04 1.325885e-03 1.404174e-03 1.481983e-03 + 3831 30 1.849861e-03 1.546705e-03 1.047651e-03 1.025676e-03 6.551694e-04 + 3832 30 8.135293e-04 1.043875e-03 1.019137e-03 9.548063e-04 6.561861e-04 + 3833 30 5.890776e-04 8.283574e-04 2.633218e-03 1.226512e-03 4.889489e-04 + 3834 30 7.846782e-04 5.026229e-04 1.570291e-03 4.041204e-04 7.879409e-04 + 3835 30 1.687972e-03 1.617670e-03 1.457939e-03 8.338485e-04 1.655169e-03 + 3836 30 1.330812e-03 1.155350e-03 6.186820e-04 1.894321e-03 1.261538e-03 + 3837 30 1.936469e-03 2.258523e-03 9.745375e-04 1.797874e-03 1.504638e-03 + 3838 30 2.937726e-03 1.017263e-03 7.728118e-04 8.338379e-04 1.871818e-03 + 3839 30 1.672412e-03 4.545418e-04 7.998423e-04 5.295634e-04 4.117696e-04 + 3840 30 1.332693e-03 7.929378e-04 8.062793e-04 1.102240e-04 9.228205e-04 + 3841 31 3.454902e+00 1.245634e+00 1.220093e+00 1.292193e+00 1.419771e+00 + 3842 31 5.481794e+02 2.082770e+02 2.114891e+02 2.094737e+02 2.103316e+02 + 3843 31 8.626814e+02 3.279331e+02 3.328551e+02 3.307965e+02 3.309847e+02 + 3844 31 3.555878e+01 1.339084e+01 1.364068e+01 1.374681e+01 1.354462e+01 + 3845 31 8.787202e-02 4.377861e-02 3.252257e-02 2.760901e-02 4.293426e-02 + 3846 31 3.188588e-02 3.724680e-02 2.797591e-02 3.838358e-02 2.649718e-02 + 3847 31 3.409134e-01 1.111537e-01 9.825201e-02 1.076949e-01 9.877885e-02 + 3848 31 8.458670e-01 3.635561e-01 3.317414e-01 3.757868e-01 3.415612e-01 + 3849 31 1.800334e-01 7.229368e-02 6.752990e-02 7.954346e-02 5.958988e-02 + 3850 31 2.980649e-02 3.160536e-02 2.744255e-02 2.534783e-02 2.577744e-02 + 3851 31 4.123892e-02 1.494839e-02 8.550733e-03 1.769087e-02 9.391605e-03 + 3852 31 2.960215e-02 1.284286e-02 1.219380e-02 9.108142e-03 1.046229e-02 + 3853 31 4.193944e-02 1.939697e-02 3.043583e-02 2.814343e-02 2.516183e-02 + 3854 31 1.621872e-02 7.579159e-03 7.450324e-03 8.643288e-03 7.233009e-03 + 3855 31 2.692556e-02 7.051634e-03 9.115551e-03 6.285465e-03 9.724121e-03 + 3856 31 1.315921e-02 1.503456e-02 7.992351e-03 8.083633e-03 5.517156e-03 + 3857 31 2.946805e-02 3.110841e-03 6.090282e-03 6.387003e-03 5.690035e-03 + 3858 31 1.871607e-02 1.150658e-02 1.102719e-02 1.185245e-02 9.335566e-03 + 3859 31 1.254184e-02 6.398277e-03 4.809921e-03 4.126743e-03 2.213431e-03 + 3860 31 9.720955e-03 5.760243e-03 8.058530e-03 5.135803e-03 5.939446e-03 + 3861 31 8.137466e-03 4.758287e-03 5.066109e-03 4.933158e-03 6.577043e-03 + 3862 31 1.091769e-02 4.433552e-03 3.705160e-03 4.249234e-03 1.893375e-03 + 3863 31 1.025678e-02 3.937973e-03 3.503708e-03 3.821086e-03 5.913336e-03 + 3864 31 5.700379e-03 1.118085e-02 5.421360e-03 7.672658e-03 4.362231e-03 + 3865 31 1.358911e-02 1.245503e-03 5.330961e-03 1.492918e-03 3.670305e-03 + 3866 31 3.062027e-03 3.194934e-03 2.442048e-03 4.361532e-03 3.878434e-03 + 3867 31 1.197544e-02 4.243360e-03 3.597539e-03 2.527572e-03 1.408864e-03 + 3868 31 5.869573e-03 2.266908e-03 3.708148e-03 4.708867e-03 3.460972e-03 + 3869 31 7.782989e-03 1.424418e-03 1.825073e-03 4.586067e-03 2.527453e-03 + 3870 31 4.136521e-03 4.623256e-03 5.315551e-03 5.221174e-03 3.442293e-03 + 3871 31 5.139129e-03 3.042777e-03 2.315210e-03 1.472240e-03 3.056736e-03 + 3872 31 6.177665e-03 1.205469e-03 4.579683e-03 2.010561e-03 2.104174e-03 + 3873 31 3.975316e-03 4.504295e-03 2.314862e-03 2.056112e-03 2.387367e-03 + 3874 31 7.229320e-03 3.551653e-03 2.632044e-03 3.011597e-03 3.707111e-03 + 3875 31 1.325362e-02 2.613808e-03 4.203447e-03 3.018766e-03 5.103243e-03 + 3876 31 6.116649e-03 1.684175e-03 6.099565e-03 6.116313e-03 3.866227e-03 + 3877 31 5.489174e-03 3.807845e-03 1.652697e-03 2.559304e-03 1.881234e-03 + 3878 31 2.304653e-03 5.242407e-03 1.161034e-03 4.406852e-03 2.613897e-03 + 3879 31 4.911176e-03 7.991987e-04 5.437484e-03 8.573010e-04 2.187176e-03 + 3880 31 1.775067e-03 2.712758e-03 6.769307e-04 3.054774e-03 1.857640e-03 + 3881 31 4.546215e-03 8.481778e-04 1.341196e-03 3.955927e-04 1.362117e-03 + 3882 31 4.447551e-03 4.225768e-03 9.503362e-04 3.078086e-03 5.212692e-03 + 3883 31 1.964425e-03 2.834214e-03 3.201147e-03 5.039269e-03 2.166153e-03 + 3884 31 3.755535e-03 1.911957e-03 4.440509e-04 8.388952e-04 4.467036e-04 + 3885 31 2.330748e-03 1.347167e-03 2.030746e-03 3.155680e-03 2.487978e-03 + 3886 31 2.812715e-03 2.192897e-03 1.820071e-03 3.009858e-03 3.199568e-03 + 3887 31 3.203628e-03 7.743017e-04 6.574374e-04 2.729886e-03 1.266264e-03 + 3888 31 5.640261e-03 3.453015e-03 1.392920e-03 2.313848e-03 1.847289e-03 + 3889 31 1.433560e-01 7.766343e-02 7.451616e-02 7.644057e-02 7.260334e-02 + 3890 31 8.366132e-01 4.133831e-01 4.163233e-01 4.155324e-01 4.115798e-01 + 3891 31 1.604985e-01 7.927776e-02 7.870752e-02 7.265702e-02 8.136247e-02 + 3892 31 3.402325e-03 2.618040e-03 1.736881e-03 1.358051e-03 1.847363e-03 + 3893 31 4.316667e-03 3.266475e-03 2.003377e-03 6.118703e-04 4.182105e-03 + 3894 31 2.803252e-03 1.185862e-03 2.187822e-03 2.576359e-03 1.172673e-03 + 3895 31 1.979393e-03 9.118587e-04 5.935283e-04 4.800636e-04 6.616228e-04 + 3896 31 4.229707e-03 6.034005e-04 4.932960e-04 9.486649e-04 3.763892e-04 + 3897 31 3.880982e-03 1.048874e-03 2.094324e-03 2.152892e-03 2.787236e-03 + 3898 31 2.588841e-03 1.110539e-03 5.904469e-04 2.530006e-04 2.279120e-04 + 3899 31 2.364429e-03 1.234832e-03 1.410845e-03 2.092089e-03 1.799248e-03 + 3900 31 1.418015e-03 2.852481e-04 3.430307e-04 7.599131e-04 8.444989e-04 + 3901 31 3.424009e-03 1.541384e-03 2.193054e-03 1.605177e-03 1.457226e-03 + 3902 31 2.592300e-03 9.257653e-04 8.464686e-04 2.596618e-03 1.385560e-03 + 3903 31 4.036502e-03 9.278033e-04 4.403375e-04 3.551465e-04 7.005717e-04 + 3904 31 3.455777e-03 1.622727e-03 3.060248e-03 2.846736e-03 1.770551e-03 + 3905 31 3.097795e-03 1.235964e-03 1.166346e-03 2.239416e-03 1.947039e-03 + 3906 31 3.505333e-03 1.407799e-03 6.326097e-04 6.759610e-04 1.130402e-03 + 3907 31 5.238080e-04 7.671351e-04 1.512837e-03 9.658926e-04 1.253643e-03 + 3908 31 2.273530e-03 6.953446e-04 3.743920e-04 6.085447e-04 5.923757e-04 + 3909 31 2.091565e-03 1.179422e-03 9.976224e-04 1.141784e-03 1.758634e-03 + 3910 31 1.691194e-03 8.749845e-04 5.865548e-04 8.574769e-04 6.019364e-04 + 3911 31 1.327787e-03 1.035317e-03 6.227011e-04 6.136898e-04 7.309251e-04 + 3912 31 4.195229e-03 8.183339e-04 6.292061e-04 1.006954e-03 6.693111e-04 + 3913 31 8.188104e-04 5.733532e-04 2.870153e-04 9.343375e-04 8.622837e-04 + 3914 31 2.438005e-03 5.807887e-04 1.754252e-04 3.636547e-04 9.972477e-04 + 3915 31 1.909541e-03 1.071242e-03 1.031730e-03 1.041154e-03 1.019699e-03 + 3916 31 2.055096e-03 1.804778e-03 6.676348e-04 5.647726e-04 7.837756e-04 + 3917 31 1.463052e-03 6.971537e-04 9.193311e-04 1.050477e-03 8.686267e-04 + 3918 31 2.548641e-03 3.677207e-04 6.449035e-04 3.405102e-04 4.137163e-04 + 3919 31 3.278916e-04 1.867985e-03 1.358905e-03 1.980321e-03 8.345233e-04 + 3920 31 1.733673e-03 3.774811e-04 2.783691e-04 3.415021e-04 2.145629e-04 + 3921 31 2.718806e-03 1.523801e-03 2.201823e-03 1.234857e-03 7.048686e-04 + 3922 31 1.774312e-03 2.314771e-03 3.768391e-03 1.694177e-03 1.885264e-03 + 3923 31 1.629764e-03 5.193328e-04 7.910829e-04 1.049997e-03 9.683515e-04 + 3924 31 2.695479e-03 4.521662e-04 1.488757e-03 2.359115e-04 5.000093e-04 + 3925 31 1.910397e-03 2.209356e-03 1.818313e-03 1.212033e-03 2.287510e-04 + 3926 31 1.044349e-03 1.469271e-03 3.356679e-04 3.641084e-04 9.776050e-04 + 3927 31 1.934934e-03 1.024449e-03 1.676212e-03 5.810005e-04 3.620410e-04 + 3928 31 8.821737e-04 1.111510e-03 2.070136e-03 1.032116e-03 1.646983e-03 + 3929 31 5.141727e-03 5.519546e-04 1.829069e-03 1.199931e-03 4.366634e-04 + 3930 31 1.283116e-03 3.408547e-03 2.033321e-03 9.917198e-04 8.851559e-04 + 3931 31 1.571425e-03 8.801049e-04 1.154973e-03 1.736395e-03 7.937790e-04 + 3932 31 8.792591e-04 1.599748e-03 9.675729e-04 1.921079e-03 9.901232e-04 + 3933 31 3.764033e-03 1.683739e-03 1.885384e-03 3.400807e-03 1.550781e-03 + 3934 31 1.099119e-02 8.498579e-03 8.055013e-03 5.241940e-03 7.342166e-03 + 3935 31 5.456525e-03 1.229728e-03 2.334177e-03 2.832531e-03 2.065687e-03 + 3936 31 3.490160e-04 1.778150e-03 1.880484e-03 1.393660e-03 3.830442e-04 + 3937 31 3.156235e-03 1.061588e-03 1.163192e-03 1.333279e-03 1.043208e-03 + 3938 31 2.051123e-03 1.063116e-03 8.371700e-04 1.485251e-03 1.689256e-03 + 3939 31 2.753895e-03 1.689020e-03 2.332962e-03 1.761344e-03 2.094737e-03 + 3940 31 5.944728e-03 6.288492e-03 7.434342e-03 5.055804e-03 1.049396e-02 + 3941 31 4.128914e-03 1.430780e-03 2.687632e-03 1.379236e-03 2.765093e-03 + 3942 31 1.734363e-03 2.036085e-03 2.203295e-03 7.399931e-04 1.959121e-03 + 3943 31 1.049478e-03 1.051162e-03 5.280925e-04 5.655699e-04 2.512724e-04 + 3944 31 2.271541e-03 3.121797e-04 6.352706e-04 8.585312e-04 1.421593e-03 + 3945 31 2.539173e-03 9.359947e-04 1.300963e-03 1.534142e-03 1.050198e-03 + 3946 31 6.637468e-03 4.169119e-03 2.682866e-03 6.457489e-03 1.799836e-03 + 3947 31 1.280303e-03 1.848983e-03 2.140049e-03 1.252395e-03 1.638464e-03 + 3948 31 1.552710e-03 8.731154e-04 1.184410e-03 3.608941e-04 3.041124e-04 + 3949 31 1.327743e-03 1.338410e-03 1.924411e-03 4.744392e-04 5.654244e-04 + 3950 31 1.306000e-03 1.027342e-03 8.407382e-04 1.189283e-03 1.134140e-03 + 3951 31 2.442513e-03 5.700741e-04 1.767542e-04 8.637418e-04 1.201615e-03 + 3952 31 1.699556e-03 1.288124e-03 1.296275e-03 1.699185e-03 1.303787e-03 + 3953 31 1.527925e-03 4.650915e-04 5.904565e-04 1.382335e-03 8.623903e-04 + 3954 31 9.804298e-04 6.449022e-04 8.397447e-04 1.015159e-03 7.115454e-04 + 3955 31 1.662691e-03 6.281625e-04 5.544992e-04 1.412177e-03 3.766684e-04 + 3956 31 2.618923e-03 1.082325e-03 6.710487e-04 7.198231e-04 1.431309e-03 + 3957 31 3.598568e-03 1.374364e-03 1.052600e-03 6.010608e-04 1.558351e-03 + 3958 31 1.405440e-03 1.497389e-03 2.362073e-03 2.783939e-03 3.416724e-03 + 3959 31 1.496822e-03 1.732561e-03 2.968964e-04 7.736455e-04 1.331515e-03 + 3960 31 1.791652e-03 9.607874e-04 5.394687e-04 7.266003e-04 5.367034e-04 + 3961 31 2.120833e-03 1.564784e-03 1.050226e-03 9.903705e-04 6.995685e-04 + 3962 31 1.647790e-03 2.957618e-03 1.315283e-03 2.015765e-03 7.793375e-04 + 3963 31 2.869968e-03 5.644789e-04 9.905606e-04 3.887187e-04 4.695312e-04 + 3964 31 2.145517e-03 1.944998e-03 2.023746e-03 1.387135e-03 8.725551e-04 + 3965 31 4.606924e-04 8.814275e-04 1.392495e-03 2.758538e-04 7.372418e-04 + 3966 31 1.921999e-03 5.999936e-04 6.856050e-04 7.455131e-04 7.720417e-04 + 3967 31 6.363131e-04 3.850636e-04 2.104052e-03 4.532879e-04 1.330430e-03 + 3968 31 1.175027e-03 8.422795e-04 3.382962e-03 2.856729e-03 2.247648e-03 + 3969 32 3.282737e+00 1.170728e+00 1.259226e+00 1.180304e+00 1.241400e+00 + 3970 32 5.522901e+02 2.091207e+02 2.118505e+02 2.103139e+02 2.108822e+02 + 3971 32 8.660084e+02 3.281983e+02 3.306780e+02 3.289206e+02 3.300515e+02 + 3972 32 3.611416e+01 1.363690e+01 1.353599e+01 1.340124e+01 1.369472e+01 + 3973 32 5.594134e-02 2.734425e-02 2.076110e-02 2.699307e-02 2.216938e-02 + 3974 32 1.078342e-01 2.755834e-02 2.867122e-02 2.322591e-02 2.366154e-02 + 3975 32 2.641245e-01 1.154111e-01 9.548420e-02 1.031454e-01 1.171622e-01 + 3976 32 8.812749e-01 3.457303e-01 3.028257e-01 2.946135e-01 3.293452e-01 + 3977 32 1.459324e-01 6.284866e-02 6.041411e-02 6.610980e-02 6.417015e-02 + 3978 32 3.955831e-02 7.975900e-03 1.293790e-02 9.426739e-03 1.197696e-02 + 3979 32 4.557546e-02 2.635297e-02 1.859576e-02 2.525172e-02 1.632543e-02 + 3980 32 2.014163e-02 1.065845e-02 1.044367e-02 1.086930e-02 1.235847e-02 + 3981 32 4.761368e-02 8.343359e-03 1.542531e-02 1.702757e-02 1.609954e-02 + 3982 32 2.443268e-02 9.213583e-03 9.369460e-03 6.139210e-03 1.228954e-02 + 3983 32 1.567567e-02 1.054242e-02 1.178661e-02 1.236693e-02 5.356787e-03 + 3984 32 1.915035e-02 6.891396e-03 4.519200e-03 7.180566e-03 6.416591e-03 + 3985 32 1.152579e-02 7.717874e-03 6.853511e-03 5.535026e-03 9.214142e-03 + 3986 32 1.620622e-02 5.857315e-03 2.871702e-03 1.306631e-02 7.308934e-03 + 3987 32 1.028072e-02 9.429706e-03 1.330615e-02 4.937909e-03 4.058908e-03 + 3988 32 1.282849e-02 2.144547e-03 7.058696e-04 2.294236e-03 5.401254e-03 + 3989 32 9.726588e-03 8.596502e-03 7.190780e-03 7.654664e-03 5.516586e-03 + 3990 32 7.189921e-03 4.309620e-03 4.727761e-03 2.256461e-03 4.964368e-03 + 3991 32 1.005781e-02 1.261919e-03 2.771673e-03 6.682177e-03 2.845318e-03 + 3992 32 5.623219e-03 6.818703e-03 6.188994e-03 5.204955e-03 6.530186e-03 + 3993 32 8.837442e-03 1.857769e-03 1.235479e-03 4.582556e-03 1.156175e-03 + 3994 32 5.345176e-03 2.876249e-03 4.327287e-03 3.556377e-03 3.543242e-03 + 3995 32 6.480187e-03 3.010461e-03 1.953927e-03 3.417473e-03 3.626896e-03 + 3996 32 4.955337e-03 1.809740e-03 3.392785e-03 1.901156e-03 1.263423e-03 + 3997 32 1.002142e-02 4.496583e-03 2.345689e-03 6.053721e-03 3.588606e-03 + 3998 32 4.638374e-03 1.574340e-03 1.143751e-03 1.225461e-03 1.983062e-03 + 3999 32 4.424099e-03 3.501731e-03 3.823354e-03 2.203886e-03 3.257044e-03 + 4000 32 7.263892e-03 2.372799e-03 2.487598e-03 1.045299e-03 1.741310e-03 + 4001 32 4.200507e-03 6.187669e-03 1.489515e-03 3.866529e-03 5.837456e-03 + 4002 32 1.274766e-02 3.439955e-03 2.878297e-03 3.054386e-03 1.220376e-03 + 4003 32 1.950719e-03 4.043885e-03 1.604239e-03 2.048095e-03 4.110083e-03 + 4004 32 8.180056e-03 1.721300e-03 1.352467e-03 2.420347e-03 1.160239e-03 + 4005 32 1.905544e-03 2.739687e-03 4.897876e-03 3.058678e-03 3.066276e-03 + 4006 32 5.530986e-03 1.053898e-03 1.933603e-03 2.670381e-03 1.718923e-03 + 4007 32 6.002339e-03 1.666424e-03 3.127084e-03 3.797409e-04 3.034214e-03 + 4008 32 4.401149e-03 4.588651e-03 2.229685e-03 2.540833e-03 1.783989e-03 + 4009 32 3.848772e-03 1.433765e-03 2.527591e-03 2.153264e-03 4.009510e-03 + 4010 32 3.593743e-03 4.067642e-03 2.130729e-03 1.707134e-03 3.442047e-03 + 4011 32 2.311478e-03 2.927264e-03 5.227426e-03 1.216377e-03 6.678616e-04 + 4012 32 4.321242e-03 2.439630e-03 1.005577e-03 4.840412e-03 2.106878e-03 + 4013 32 3.360078e-03 1.880189e-03 2.811187e-03 4.128856e-03 1.224326e-03 + 4014 32 3.131739e-03 2.355682e-03 1.099380e-03 2.364601e-03 1.414251e-03 + 4015 32 2.064673e-03 6.698785e-04 6.468171e-04 6.281903e-04 9.494704e-04 + 4016 32 3.075528e-03 2.742093e-03 1.760024e-03 2.614140e-03 6.467144e-04 + 4017 32 1.625219e-01 7.522281e-02 7.710035e-02 8.197487e-02 8.131022e-02 + 4018 32 8.075557e-01 4.153981e-01 4.505382e-01 4.210479e-01 4.265578e-01 + 4019 32 1.504242e-01 7.871696e-02 8.002189e-02 7.781512e-02 7.551983e-02 + 4020 32 3.969311e-03 2.201928e-03 1.501477e-03 7.714187e-04 1.508538e-03 + 4021 32 7.569465e-04 9.424568e-04 1.279029e-03 6.318053e-04 1.990639e-03 + 4022 32 3.081666e-03 6.108974e-04 1.286592e-03 1.512882e-03 8.748076e-04 + 4023 32 1.784598e-03 2.751192e-03 9.440006e-04 4.231709e-03 3.001370e-03 + 4024 32 1.399272e-03 2.502527e-03 2.531237e-03 1.508163e-03 3.715434e-03 + 4025 32 5.667733e-03 1.400843e-03 7.749286e-04 9.648622e-04 1.069543e-03 + 4026 32 4.316804e-03 7.743914e-04 4.918614e-04 1.652465e-03 1.840864e-03 + 4027 32 1.253571e-03 3.028043e-03 1.712537e-03 2.497630e-03 5.996435e-04 + 4028 32 3.302225e-03 7.399745e-04 6.683768e-04 1.579642e-03 6.439393e-04 + 4029 32 1.872545e-03 4.855576e-04 2.302374e-03 1.577603e-03 1.384792e-03 + 4030 32 5.283172e-03 1.284664e-03 1.608362e-03 9.295977e-04 1.804893e-03 + 4031 32 2.149716e-03 2.775387e-03 1.628104e-03 1.784307e-03 2.194004e-03 + 4032 32 6.652803e-03 5.080499e-04 1.280474e-03 1.182424e-03 6.192276e-04 + 4033 32 2.260430e-03 2.453206e-03 1.850019e-03 2.231674e-03 1.246232e-03 + 4034 32 2.424954e-03 1.366936e-03 1.140746e-03 7.630741e-04 2.024602e-03 + 4035 32 2.944525e-03 7.423753e-04 5.880513e-04 1.084307e-03 8.864405e-04 + 4036 32 1.629953e-03 1.229203e-03 1.212490e-03 1.274114e-03 1.310885e-03 + 4037 32 4.128360e-04 8.289000e-04 1.749624e-03 7.843604e-04 6.031092e-04 + 4038 32 1.321370e-03 4.620896e-04 9.500617e-04 2.422184e-03 9.445641e-04 + 4039 32 2.965956e-03 6.796175e-04 6.444835e-04 1.058185e-03 1.195971e-03 + 4040 32 1.068939e-03 1.211796e-03 8.752572e-04 1.416625e-03 6.433598e-04 + 4041 32 2.339649e-03 1.028222e-03 8.742375e-04 1.677706e-04 6.009832e-05 + 4042 32 4.480481e-04 1.791605e-03 7.470428e-04 1.280250e-03 9.878971e-04 + 4043 32 2.634960e-03 6.138045e-04 3.291592e-04 6.551617e-04 2.990590e-04 + 4044 32 1.079036e-03 3.068924e-03 1.133519e-03 1.272062e-03 2.498276e-03 + 4045 32 2.331122e-03 1.061002e-04 1.332005e-03 1.078935e-03 1.055243e-03 + 4046 32 2.796337e-03 1.194453e-03 6.765506e-04 9.461218e-04 4.367775e-04 + 4047 32 1.555210e-03 3.450023e-03 1.501446e-03 1.459574e-03 1.126124e-03 + 4048 32 1.888383e-03 1.478903e-03 1.213158e-03 7.489783e-04 9.102426e-04 + 4049 32 2.164111e-03 1.521391e-03 1.011252e-03 1.284561e-03 2.091571e-03 + 4050 32 4.498699e-03 1.900230e-03 1.800242e-03 1.428564e-03 1.852615e-03 + 4051 32 1.545964e-03 1.042082e-03 8.214409e-04 6.847494e-04 2.516612e-03 + 4052 32 3.343286e-03 2.058367e-03 6.045722e-04 5.180571e-04 1.528320e-03 + 4053 32 1.519073e-03 8.268246e-04 1.168205e-03 1.388745e-03 5.569009e-04 + 4054 32 2.126838e-03 6.020164e-04 1.518476e-03 2.586401e-04 5.394908e-04 + 4055 32 9.751182e-04 4.572958e-04 1.814179e-03 1.264710e-03 1.734646e-03 + 4056 32 2.921351e-03 9.192145e-04 1.385355e-03 8.433361e-04 1.724359e-03 + 4057 32 3.430717e-04 8.411968e-04 1.226126e-03 1.355573e-03 1.910464e-03 + 4058 32 2.462381e-03 2.477711e-04 7.019390e-04 1.006988e-03 7.979740e-04 + 4059 32 4.177219e-03 8.616560e-04 8.424394e-04 1.774037e-03 1.262773e-03 + 4060 32 1.248012e-03 6.928161e-04 1.462708e-03 2.126127e-03 5.906063e-04 + 4061 32 4.858689e-03 2.235637e-03 2.463364e-03 3.429755e-03 2.227287e-03 + 4062 32 1.542169e-02 5.985796e-03 7.681981e-03 7.628261e-03 6.002434e-03 + 4063 32 1.868625e-03 2.839788e-03 1.990068e-03 2.632602e-03 3.420478e-03 + 4064 32 2.629776e-03 8.051670e-04 8.188029e-04 1.046180e-03 8.522474e-04 + 4065 32 1.785604e-03 2.678108e-03 1.521054e-03 3.250885e-03 2.448372e-03 + 4066 32 1.240400e-03 4.203463e-04 8.422103e-04 7.314611e-04 2.011355e-03 + 4067 32 1.962214e-03 1.544735e-03 3.217051e-03 7.899015e-04 3.995216e-03 + 4068 32 3.100988e-03 5.687588e-03 6.716098e-03 6.717128e-03 9.577132e-03 + 4069 32 2.515758e-03 8.663288e-04 2.238231e-03 2.020086e-03 2.470502e-03 + 4070 32 2.967743e-03 1.187647e-03 1.096289e-03 6.266715e-04 1.042821e-03 + 4071 32 7.691676e-04 1.052572e-03 1.374369e-03 8.972240e-04 1.251487e-03 + 4072 32 2.254597e-03 1.996649e-03 3.190212e-04 4.384475e-04 7.541208e-04 + 4073 32 6.895133e-03 4.055177e-03 3.177044e-03 1.356752e-03 2.069542e-03 + 4074 32 1.405755e-02 4.027024e-03 6.750189e-03 7.975811e-03 6.593917e-03 + 4075 32 4.273352e-03 1.058600e-03 1.655071e-03 2.190074e-03 2.353293e-03 + 4076 32 9.912596e-04 3.740163e-04 6.275633e-04 1.381240e-03 7.254838e-04 + 4077 32 1.865606e-03 7.337242e-04 1.609018e-03 4.480884e-04 6.359474e-04 + 4078 32 1.355073e-03 7.578094e-04 6.236997e-04 5.268720e-04 1.880213e-04 + 4079 32 6.261801e-04 1.231375e-03 1.490163e-03 5.878615e-04 1.258848e-03 + 4080 32 2.614731e-03 1.197959e-03 1.836778e-03 1.109583e-03 2.358717e-04 + 4081 32 2.850424e-04 1.143381e-03 1.407428e-03 1.712177e-03 7.278789e-04 + 4082 32 1.892145e-03 1.255043e-03 7.390974e-04 6.083357e-04 4.583463e-04 + 4083 32 1.542377e-04 9.925105e-04 4.394823e-04 9.535519e-04 8.167953e-04 + 4084 32 9.288894e-04 9.426697e-04 9.116057e-04 2.259118e-04 8.494053e-04 + 4085 32 2.955062e-03 1.173360e-03 6.404196e-04 8.178713e-04 7.778508e-04 + 4086 32 2.483371e-03 1.059773e-03 1.680396e-03 1.335239e-03 2.695059e-03 + 4087 32 3.367050e-04 1.988941e-03 1.874153e-03 1.970758e-03 2.403690e-03 + 4088 32 1.492067e-03 5.504546e-04 2.274265e-04 7.235891e-04 4.384520e-04 + 4089 32 8.170578e-04 7.128898e-04 2.951937e-04 4.563108e-04 1.066630e-03 + 4090 32 1.670454e-03 9.390971e-04 6.179177e-04 1.205719e-03 1.689794e-03 + 4091 32 4.664624e-04 1.436063e-04 8.812891e-04 1.238843e-03 8.642507e-04 + 4092 32 2.414488e-04 1.946647e-03 5.609633e-04 1.559594e-03 2.397699e-03 + 4093 32 3.676250e-03 1.648631e-03 4.017608e-04 9.385188e-04 1.493764e-03 + 4094 32 5.565223e-04 9.714366e-04 1.251693e-04 7.066626e-04 2.555612e-03 + 4095 32 3.273788e-04 3.849337e-04 1.699877e-03 5.689801e-04 8.260921e-04 + 4096 32 3.172463e-03 9.882343e-04 5.773826e-04 8.563160e-04 2.543952e-03 + 4097 33 3.582601e+00 1.278806e+00 1.282081e+00 1.226294e+00 1.209520e+00 + 4098 33 5.495023e+02 2.086495e+02 2.107486e+02 2.093686e+02 2.092723e+02 + 4099 33 8.615620e+02 3.295632e+02 3.336320e+02 3.310848e+02 3.316498e+02 + 4100 33 3.487450e+01 1.368163e+01 1.373655e+01 1.344944e+01 1.373150e+01 + 4101 33 1.213355e-01 4.293743e-02 2.836519e-02 5.010748e-02 4.557792e-02 + 4102 33 6.237871e-02 2.005593e-02 2.459035e-02 2.227053e-02 1.449287e-02 + 4103 33 2.289418e-01 1.061473e-01 1.031968e-01 1.177684e-01 1.011447e-01 + 4104 33 9.278603e-01 3.416008e-01 3.765610e-01 3.853286e-01 3.445373e-01 + 4105 33 1.401383e-01 4.561143e-02 5.807428e-02 4.609290e-02 4.838929e-02 + 4106 33 5.059002e-02 3.085029e-02 2.432102e-02 2.541620e-02 2.477451e-02 + 4107 33 3.924664e-02 6.580221e-03 1.348587e-02 1.206015e-02 9.323851e-03 + 4108 33 3.019338e-02 1.933162e-02 1.820634e-02 1.886971e-02 1.525317e-02 + 4109 33 3.239625e-02 1.886270e-02 1.793611e-02 1.492027e-02 1.812541e-02 + 4110 33 2.988537e-02 1.703431e-02 1.429623e-02 1.123432e-02 1.583463e-02 + 4111 33 2.589513e-02 4.852470e-03 1.058131e-02 7.953605e-03 8.085099e-03 + 4112 33 1.391473e-02 1.142473e-02 5.820464e-03 1.044803e-02 1.047748e-02 + 4113 33 1.621278e-02 8.184366e-03 6.996734e-03 4.618205e-03 5.174761e-03 + 4114 33 1.188432e-02 9.760010e-03 7.143240e-03 6.662288e-03 9.734978e-03 + 4115 33 1.465775e-02 9.208303e-03 7.811383e-03 7.316058e-03 7.460219e-03 + 4116 33 1.527227e-02 3.481706e-03 3.777886e-03 3.550642e-03 3.150601e-03 + 4117 33 1.044913e-02 6.777238e-03 5.418595e-03 5.949076e-03 4.240311e-03 + 4118 33 1.196947e-02 6.222978e-03 7.751726e-03 4.950332e-03 7.735075e-03 + 4119 33 8.606152e-03 2.303540e-03 2.912710e-03 5.431114e-03 2.748935e-03 + 4120 33 1.192175e-02 5.434261e-03 3.140035e-03 2.093123e-03 2.024703e-03 + 4121 33 6.829016e-03 3.431940e-03 4.159009e-03 5.839344e-03 5.688605e-03 + 4122 33 1.266520e-02 3.161668e-03 3.400844e-03 2.749141e-03 2.487218e-03 + 4123 33 1.374610e-02 7.506446e-03 2.922108e-03 5.385123e-03 3.848266e-03 + 4124 33 6.157455e-03 2.881755e-03 4.874207e-03 2.776307e-03 3.419625e-03 + 4125 33 1.107014e-02 1.560876e-03 1.504267e-03 2.455702e-03 3.953977e-03 + 4126 33 5.308878e-03 2.830415e-03 4.135500e-03 2.244423e-03 3.247019e-03 + 4127 33 5.148623e-03 5.991027e-03 1.478109e-03 3.455666e-03 2.431622e-03 + 4128 33 1.304898e-02 7.585124e-04 4.093365e-03 1.943066e-03 1.123450e-03 + 4129 33 7.080567e-03 5.159179e-03 3.971708e-03 5.021585e-03 4.532949e-03 + 4130 33 1.397700e-02 3.686801e-03 3.546372e-03 4.681081e-03 4.653087e-03 + 4131 33 5.427652e-03 2.185861e-03 2.044575e-03 2.536881e-03 2.298295e-03 + 4132 33 3.119269e-03 1.965005e-03 2.892596e-03 1.917557e-03 3.059660e-03 + 4133 33 7.269957e-03 7.135457e-04 3.274629e-03 1.176563e-03 1.314271e-03 + 4134 33 2.018917e-03 1.508048e-03 1.899158e-03 2.906638e-03 2.338807e-03 + 4135 33 6.247301e-03 5.756264e-03 3.612415e-03 6.672124e-03 5.099295e-03 + 4136 33 2.433515e-03 6.979792e-04 1.520670e-03 3.628461e-03 1.201801e-03 + 4137 33 2.130659e-03 2.565172e-03 2.200217e-03 4.442600e-03 4.945953e-03 + 4138 33 5.624029e-03 3.712153e-03 4.077824e-03 2.209639e-03 5.414750e-03 + 4139 33 5.096612e-03 3.887026e-03 1.839456e-03 9.788544e-04 4.187253e-03 + 4140 33 4.709705e-03 1.713545e-03 4.042205e-03 3.083684e-03 2.172531e-03 + 4141 33 4.643180e-03 9.528697e-04 3.479159e-04 1.690654e-03 1.671976e-03 + 4142 33 2.044331e-03 1.986211e-03 1.302840e-03 1.490558e-03 9.750806e-04 + 4143 33 4.222724e-03 1.388146e-03 2.929972e-03 1.193181e-03 1.534627e-03 + 4144 33 6.641855e-03 2.499230e-03 3.926754e-03 1.765770e-03 2.109537e-03 + 4145 33 1.807168e-01 8.882249e-02 9.095863e-02 8.666865e-02 8.482330e-02 + 4146 33 8.878355e-01 4.256602e-01 4.195495e-01 4.501592e-01 4.236401e-01 + 4147 33 1.595653e-01 7.370084e-02 7.150816e-02 7.861153e-02 8.284693e-02 + 4148 33 4.264883e-03 1.473594e-03 1.316011e-03 1.303928e-03 2.020303e-03 + 4149 33 3.554286e-03 8.118079e-04 1.071281e-03 1.086939e-03 1.331927e-03 + 4150 33 2.316031e-03 3.133650e-03 2.407174e-03 4.461285e-03 1.484040e-03 + 4151 33 5.753891e-03 4.913166e-04 1.930580e-04 1.533409e-03 6.877611e-04 + 4152 33 8.437804e-04 1.917305e-03 9.235776e-04 1.535458e-03 1.910680e-03 + 4153 33 1.917794e-03 1.583863e-03 1.361180e-03 1.832092e-03 1.538466e-03 + 4154 33 3.093757e-03 1.303921e-03 8.217848e-04 7.776215e-04 1.146125e-03 + 4155 33 2.651064e-03 2.099714e-03 1.797194e-03 2.434777e-03 2.084260e-03 + 4156 33 1.468637e-03 1.288670e-03 1.782847e-03 1.065694e-03 9.193472e-04 + 4157 33 3.429375e-03 1.005284e-03 2.239721e-03 6.761746e-04 6.828352e-04 + 4158 33 2.747847e-03 1.392447e-03 6.624627e-04 8.752551e-04 1.101357e-03 + 4159 33 2.513889e-03 1.747697e-03 2.239093e-03 3.779638e-03 4.771472e-03 + 4160 33 2.143414e-03 1.177019e-03 5.322209e-04 1.030345e-03 1.319988e-03 + 4161 33 2.735381e-03 1.416594e-03 1.186354e-03 9.845174e-04 2.518852e-04 + 4162 33 4.248111e-03 5.604364e-04 1.121192e-03 3.004293e-03 1.682484e-03 + 4163 33 6.049485e-03 1.103281e-03 9.229806e-04 1.486645e-03 8.416989e-04 + 4164 33 1.438303e-03 1.850675e-03 1.412846e-03 2.290651e-03 1.453319e-03 + 4165 33 2.626696e-03 2.354411e-03 1.941757e-03 2.241325e-03 1.445736e-03 + 4166 33 3.523196e-03 7.995082e-04 2.974109e-04 7.560977e-04 4.324766e-04 + 4167 33 2.059134e-03 1.850938e-03 1.001137e-03 1.149172e-03 3.285485e-03 + 4168 33 2.557590e-03 1.682007e-03 5.186206e-04 2.018097e-03 5.647903e-04 + 4169 33 7.478877e-04 7.252891e-04 1.430102e-03 1.005820e-03 1.707235e-03 + 4170 33 3.443680e-03 2.232970e-03 1.750723e-03 2.047128e-03 7.172792e-04 + 4171 33 3.756558e-03 2.163831e-03 1.112592e-03 1.837769e-03 7.657301e-04 + 4172 33 1.559756e-03 2.239078e-03 1.204380e-03 4.623662e-04 9.109168e-04 + 4173 33 2.551094e-03 1.632497e-03 1.974300e-03 1.453720e-03 6.301004e-04 + 4174 33 2.938546e-03 1.450325e-03 6.350350e-04 6.589255e-04 1.897120e-03 + 4175 33 2.688241e-04 6.216248e-04 1.019423e-03 1.048608e-03 1.162250e-03 + 4176 33 2.025387e-03 1.245458e-03 1.115139e-03 1.261953e-03 1.997681e-03 + 4177 33 3.040214e-03 8.446738e-04 8.496743e-04 1.135273e-03 1.767612e-03 + 4178 33 2.775132e-03 1.246072e-03 1.502218e-03 2.117513e-03 1.864499e-03 + 4179 33 2.491370e-03 5.708300e-04 5.617053e-04 4.946984e-04 9.599688e-04 + 4180 33 1.558468e-03 1.910909e-03 1.179505e-03 1.305825e-03 9.325610e-04 + 4181 33 1.233872e-03 8.531611e-04 1.933477e-04 5.371739e-04 2.803658e-04 + 4182 33 2.551721e-03 1.936084e-03 3.062645e-03 3.852171e-04 1.544331e-03 + 4183 33 2.882822e-03 9.844880e-04 7.400276e-04 1.597884e-03 4.888756e-04 + 4184 33 5.016765e-04 1.108863e-03 1.314248e-03 1.347769e-03 7.529081e-04 + 4185 33 1.382563e-03 5.030026e-04 7.549186e-04 6.708074e-04 8.688482e-04 + 4186 33 7.502809e-04 1.208291e-03 6.188125e-04 1.100138e-03 8.041194e-04 + 4187 33 3.109625e-03 5.145985e-04 2.765944e-04 4.404944e-04 8.630778e-04 + 4188 33 1.205056e-03 1.072694e-03 9.896144e-04 1.693045e-04 3.955050e-04 + 4189 33 4.179925e-03 1.097019e-03 9.692163e-04 7.115341e-04 1.022168e-03 + 4190 33 1.281393e-02 6.844008e-03 5.013384e-03 5.402347e-03 6.969350e-03 + 4191 33 6.993789e-03 2.510497e-03 8.935836e-04 2.382158e-03 2.021153e-03 + 4192 33 1.393734e-03 3.088005e-03 9.631868e-04 3.925533e-04 1.002573e-03 + 4193 33 2.826138e-03 2.551886e-03 1.843961e-03 7.925184e-04 8.281267e-04 + 4194 33 1.068222e-03 9.062728e-04 3.130380e-03 1.077292e-03 1.021349e-03 + 4195 33 1.149868e-03 2.434150e-03 2.099369e-03 1.672335e-03 2.122331e-03 + 4196 33 5.918873e-03 5.450120e-03 5.248214e-03 3.544163e-03 4.500927e-03 + 4197 33 3.415735e-04 1.800447e-03 9.431716e-04 5.804690e-04 1.931137e-03 + 4198 33 1.290526e-03 2.679903e-04 1.554285e-03 9.078383e-04 7.079377e-04 + 4199 33 3.185024e-03 8.151348e-04 8.419798e-04 8.840116e-04 1.489184e-03 + 4200 33 2.016368e-03 1.666782e-03 1.285523e-03 5.699745e-04 8.797461e-04 + 4201 33 4.276214e-03 2.751334e-03 2.248057e-03 1.169855e-03 2.619077e-03 + 4202 33 1.211078e-02 5.922651e-03 3.599780e-03 4.610198e-03 7.047436e-03 + 4203 33 2.943396e-03 1.864574e-03 7.647140e-04 2.052424e-03 3.260126e-03 + 4204 33 2.109114e-03 7.580623e-04 9.511312e-04 7.808377e-04 1.116152e-03 + 4205 33 3.827315e-04 1.519957e-03 2.435947e-03 1.552993e-03 1.772134e-04 + 4206 33 1.167650e-03 3.471592e-04 1.299840e-03 4.399782e-04 1.028543e-03 + 4207 33 7.704893e-04 1.626054e-03 1.479782e-03 2.389547e-03 7.041000e-04 + 4208 33 2.029885e-03 1.802054e-03 1.379734e-03 1.619506e-03 1.301760e-03 + 4209 33 3.965835e-04 2.221244e-03 1.404720e-03 1.487724e-03 1.503570e-03 + 4210 33 1.071831e-03 4.802883e-04 5.928871e-04 3.161836e-04 1.383153e-03 + 4211 33 1.759060e-03 3.542485e-04 1.263155e-03 1.920987e-04 1.265418e-03 + 4212 33 7.768183e-04 7.444972e-04 1.183797e-03 8.156917e-04 2.218200e-03 + 4213 33 2.007228e-03 1.705694e-03 9.997553e-04 1.060573e-03 4.451894e-04 + 4214 33 3.581257e-03 1.513610e-03 8.062172e-04 1.877541e-03 1.061598e-03 + 4215 33 1.375971e-03 6.345023e-04 6.453743e-04 2.120745e-03 1.282175e-03 + 4216 33 2.095517e-03 5.550913e-04 2.615258e-04 5.991754e-04 1.273222e-03 + 4217 33 1.839815e-03 9.344819e-04 8.210150e-04 8.440426e-04 2.203784e-04 + 4218 33 8.350847e-04 1.796137e-03 6.889390e-04 8.394358e-04 9.804078e-04 + 4219 33 1.428636e-03 4.531323e-04 6.025408e-04 4.268570e-04 2.568169e-04 + 4220 33 2.671732e-04 9.647556e-04 9.898320e-04 1.753054e-03 7.571645e-04 + 4221 33 2.631447e-03 5.201666e-04 1.123727e-03 1.528822e-03 3.320437e-04 + 4222 33 1.758469e-03 1.485540e-03 2.259509e-04 4.905964e-04 7.021068e-04 + 4223 33 5.942861e-04 3.517337e-04 1.739181e-03 1.446606e-03 1.056341e-03 + 4224 33 1.595953e-03 1.898151e-03 4.503759e-04 2.012373e-05 3.351376e-04 + 4225 34 3.053182e+00 1.333540e+00 1.442102e+00 1.243562e+00 1.221680e+00 + 4226 34 5.479277e+02 2.090030e+02 2.118703e+02 2.111880e+02 2.105906e+02 + 4227 34 8.611052e+02 3.275794e+02 3.315831e+02 3.317054e+02 3.308944e+02 + 4228 34 3.532879e+01 1.337143e+01 1.359880e+01 1.370999e+01 1.363245e+01 + 4229 34 1.362213e-01 7.549172e-02 3.772345e-02 7.016256e-02 6.675691e-02 + 4230 34 3.613402e-02 1.708960e-02 1.536806e-02 1.199470e-02 2.353724e-02 + 4231 34 3.379907e-01 1.113512e-01 1.093232e-01 1.071578e-01 1.131990e-01 + 4232 34 9.230288e-01 3.081413e-01 3.136958e-01 3.180881e-01 3.296083e-01 + 4233 34 2.118843e-01 6.455401e-02 5.891340e-02 7.379006e-02 5.923092e-02 + 4234 34 5.934249e-02 2.524201e-02 2.854157e-02 2.853246e-02 2.486878e-02 + 4235 34 3.401744e-02 6.395729e-03 8.219308e-03 4.317098e-03 1.041688e-02 + 4236 34 3.743848e-02 1.331304e-02 1.511407e-02 1.642773e-02 1.128031e-02 + 4237 34 2.011140e-02 1.007813e-02 1.051214e-02 7.962954e-03 1.336602e-02 + 4238 34 3.916136e-02 1.172472e-02 1.630058e-02 1.546241e-02 1.088221e-02 + 4239 34 1.999620e-02 9.375062e-03 7.324913e-03 4.720614e-03 8.955775e-03 + 4240 34 1.100234e-02 1.039238e-02 7.145637e-03 1.280324e-02 1.165102e-02 + 4241 34 2.039603e-02 5.507284e-03 5.258298e-03 4.060825e-03 4.603374e-03 + 4242 34 1.210143e-02 3.422481e-03 3.228084e-03 5.160484e-03 9.844700e-03 + 4243 34 1.490460e-02 1.062881e-02 8.083210e-03 1.049067e-02 6.720708e-03 + 4244 34 1.105023e-02 3.269849e-03 4.517029e-03 2.680015e-03 3.925844e-03 + 4245 34 1.320278e-02 7.818851e-03 3.397913e-03 4.286183e-03 3.839234e-03 + 4246 34 7.606019e-03 4.552706e-03 9.372568e-03 5.546586e-03 8.679049e-03 + 4247 34 1.445656e-02 4.745162e-03 3.849672e-03 4.178659e-03 2.682106e-03 + 4248 34 1.154492e-02 1.901887e-03 4.103881e-03 3.144146e-03 2.659812e-03 + 4249 34 7.012468e-03 4.512842e-03 3.456952e-03 5.899407e-03 2.429268e-03 + 4250 34 1.123941e-02 2.644957e-03 4.303629e-03 5.954044e-03 6.755524e-03 + 4251 34 1.509043e-03 4.695095e-03 2.936377e-03 1.284195e-03 1.860040e-03 + 4252 34 1.177886e-02 2.353270e-03 1.990105e-03 4.640288e-03 2.818989e-03 + 4253 34 7.817776e-04 5.300356e-03 4.147944e-03 5.515874e-03 4.800946e-03 + 4254 34 8.059832e-03 3.798893e-03 2.641664e-03 3.227796e-03 9.421660e-04 + 4255 34 5.882391e-03 2.598974e-03 2.990746e-03 1.864909e-03 2.625456e-03 + 4256 34 4.416877e-03 3.046218e-03 1.701474e-03 3.448679e-03 2.410038e-03 + 4257 34 4.316585e-03 4.004533e-03 3.404257e-03 2.341981e-03 2.860988e-03 + 4258 34 8.285915e-03 1.613081e-03 2.673337e-03 1.590467e-03 1.808715e-03 + 4259 34 6.649148e-03 2.974459e-03 2.920685e-03 1.667817e-03 2.252567e-03 + 4260 34 3.228071e-03 3.134944e-03 2.844597e-03 1.700042e-03 1.843951e-03 + 4261 34 4.466525e-03 2.770448e-03 2.887800e-03 2.930694e-03 2.354360e-03 + 4262 34 2.507963e-03 4.312250e-03 1.539729e-03 2.659847e-03 3.154395e-03 + 4263 34 3.564382e-03 1.781622e-03 2.182027e-03 1.751711e-03 9.244001e-04 + 4264 34 4.399780e-03 2.608549e-03 4.522705e-04 2.252446e-03 2.452776e-03 + 4265 34 3.732704e-03 1.620542e-03 2.961193e-03 2.476621e-03 2.811318e-03 + 4266 34 7.024869e-03 6.916623e-04 4.993776e-03 2.127326e-03 1.624022e-03 + 4267 34 2.449685e-03 2.437999e-03 6.678104e-03 4.104271e-03 3.248906e-03 + 4268 34 9.256695e-03 1.251014e-03 3.409546e-04 2.217373e-03 1.788277e-03 + 4269 34 1.420657e-03 3.533153e-03 2.914797e-03 6.839620e-03 2.855030e-03 + 4270 34 3.509141e-03 1.905747e-03 2.010511e-03 2.486905e-03 1.674418e-03 + 4271 34 2.852768e-03 1.232958e-03 1.593781e-03 4.908911e-04 7.172231e-04 + 4272 34 2.595849e-03 2.193044e-03 2.344243e-03 2.772285e-03 1.498107e-03 + 4273 34 1.648195e-01 8.410588e-02 8.336401e-02 8.018832e-02 8.393907e-02 + 4274 34 9.238964e-01 4.395173e-01 4.396878e-01 4.438521e-01 4.350321e-01 + 4275 34 1.643277e-01 7.728395e-02 8.370224e-02 8.830409e-02 8.326905e-02 + 4276 34 4.752032e-03 3.110877e-04 1.450489e-03 2.234068e-03 1.584130e-03 + 4277 34 2.713600e-03 1.446943e-03 2.695341e-03 1.559388e-03 4.549936e-04 + 4278 34 1.941227e-03 2.348424e-03 3.778737e-03 2.142541e-03 1.748288e-03 + 4279 34 7.294229e-03 1.851402e-03 2.176063e-03 9.510818e-04 1.834246e-03 + 4280 34 5.751677e-03 1.309919e-03 2.932642e-03 3.393276e-03 1.673106e-03 + 4281 34 3.552737e-03 2.796394e-03 1.435706e-03 1.950597e-03 9.574966e-04 + 4282 34 3.421730e-03 8.218221e-04 3.846361e-04 8.008746e-04 9.723085e-04 + 4283 34 1.480607e-03 2.642161e-03 1.221078e-03 5.984483e-04 1.645062e-03 + 4284 34 4.067739e-03 1.140320e-03 8.256569e-04 8.176429e-04 1.145740e-03 + 4285 34 2.020983e-03 8.267727e-04 1.214507e-03 1.902475e-03 1.879437e-03 + 4286 34 2.789446e-03 1.380305e-03 2.023729e-03 2.170521e-03 7.468197e-04 + 4287 34 2.535633e-03 7.576880e-04 1.563238e-03 1.321153e-03 6.461388e-04 + 4288 34 2.797513e-03 1.659209e-03 2.840907e-03 1.283302e-03 7.632688e-04 + 4289 34 3.213862e-03 1.212422e-03 9.755275e-04 7.579458e-04 1.609724e-03 + 4290 34 4.315988e-03 1.406022e-03 2.360244e-03 3.478847e-03 3.486233e-03 + 4291 34 8.334736e-03 8.868462e-04 5.319101e-04 1.747367e-03 9.179869e-04 + 4292 34 1.825797e-03 1.881720e-03 3.354868e-03 4.602362e-03 1.610104e-03 + 4293 34 4.002104e-03 3.613144e-04 5.111714e-04 4.568315e-04 1.051877e-03 + 4294 34 1.350869e-03 4.215969e-03 2.787737e-03 1.582105e-03 1.812290e-03 + 4295 34 4.825023e-03 9.885647e-04 3.630515e-04 7.342091e-04 1.290232e-03 + 4296 34 2.145951e-03 2.722277e-03 1.526075e-03 2.120770e-03 7.672864e-04 + 4297 34 6.863578e-04 2.292033e-03 2.108588e-03 6.651216e-04 2.639185e-03 + 4298 34 4.762216e-03 1.453131e-03 1.734681e-03 1.782342e-03 1.247692e-03 + 4299 34 2.949767e-03 1.145485e-03 1.549188e-03 4.310729e-04 3.030651e-03 + 4300 34 4.733227e-04 1.457439e-03 1.713453e-03 1.301831e-03 1.818473e-03 + 4301 34 5.279197e-03 3.992135e-04 7.614990e-04 7.247123e-04 1.766301e-03 + 4302 34 1.392147e-03 8.556131e-04 1.199795e-03 9.632231e-04 1.065563e-03 + 4303 34 2.768675e-03 5.193588e-04 2.025431e-03 1.693511e-03 9.182464e-04 + 4304 34 2.704630e-03 8.297106e-04 1.611066e-03 1.245088e-03 1.407317e-03 + 4305 34 9.413272e-04 7.670387e-04 1.503932e-03 2.411968e-03 1.199150e-03 + 4306 34 2.037717e-03 7.036174e-04 1.352120e-03 8.541118e-04 1.150944e-03 + 4307 34 5.295088e-04 2.497852e-03 1.583347e-03 4.824172e-04 5.893585e-04 + 4308 34 2.496202e-03 7.148319e-04 3.363574e-04 6.385896e-04 4.248180e-04 + 4309 34 1.670857e-03 9.951566e-04 6.412615e-04 1.496498e-03 1.606687e-03 + 4310 34 3.400422e-03 9.584493e-04 3.690100e-04 1.312132e-03 9.319970e-04 + 4311 34 1.733860e-03 1.539649e-03 1.365006e-03 1.825441e-03 1.151548e-03 + 4312 34 4.494785e-03 6.008901e-04 1.506419e-03 1.975939e-03 5.051784e-04 + 4313 34 1.679703e-03 2.060402e-03 7.697725e-04 1.434715e-03 1.740562e-03 + 4314 34 9.245426e-04 9.873897e-04 4.297301e-04 9.485892e-04 1.313360e-03 + 4315 34 3.184050e-03 1.374891e-03 9.872568e-04 4.705981e-04 1.109842e-03 + 4316 34 1.764778e-03 1.272521e-03 2.155933e-03 9.283736e-04 1.131573e-03 + 4317 34 3.889555e-03 2.160036e-03 1.665630e-03 2.103821e-03 2.459753e-03 + 4318 34 1.507214e-02 7.914168e-03 7.987688e-03 3.663330e-03 6.589082e-03 + 4319 34 1.794714e-03 3.751447e-03 1.547960e-03 2.264886e-03 3.026890e-03 + 4320 34 1.503550e-03 1.399856e-03 1.037306e-03 1.205690e-03 1.874319e-03 + 4321 34 2.622167e-03 7.293483e-04 4.768716e-04 7.184279e-04 1.328357e-03 + 4322 34 1.765988e-03 5.877102e-04 1.207917e-03 5.535450e-04 1.207317e-03 + 4323 34 3.322347e-03 2.425307e-03 3.373827e-03 2.214809e-03 3.306303e-03 + 4324 34 3.019415e-03 9.476031e-03 8.088669e-03 7.134683e-03 1.089389e-02 + 4325 34 2.922414e-03 2.079479e-03 2.290325e-03 3.899444e-03 3.629345e-03 + 4326 34 2.034664e-03 6.963696e-04 6.816276e-04 1.831040e-03 3.360741e-04 + 4327 34 2.843319e-03 1.197430e-03 7.435048e-04 6.498323e-04 2.235289e-04 + 4328 34 2.400100e-03 5.002343e-04 6.568230e-04 6.672772e-04 1.335932e-03 + 4329 34 2.336096e-03 2.450769e-03 1.534816e-03 2.020934e-03 2.138160e-03 + 4330 34 1.742598e-02 7.254123e-03 3.960893e-03 6.360278e-03 6.516754e-03 + 4331 34 5.113145e-03 2.189473e-03 3.244914e-03 2.529052e-03 2.290740e-03 + 4332 34 4.180456e-03 5.752567e-04 8.010966e-04 4.678878e-04 7.597449e-04 + 4333 34 2.459992e-04 8.790357e-04 1.161887e-03 1.796945e-03 9.795280e-04 + 4334 34 1.286752e-03 6.719132e-04 1.842470e-03 3.789985e-04 4.859201e-04 + 4335 34 1.502256e-03 1.291619e-03 1.397352e-03 5.919966e-04 1.100348e-03 + 4336 34 2.258436e-03 6.979732e-04 1.321126e-03 8.097647e-04 2.087329e-03 + 4337 34 2.438466e-03 7.186371e-04 1.291512e-03 9.408451e-04 2.380575e-03 + 4338 34 1.983377e-03 1.714165e-03 1.622861e-03 7.134507e-04 4.785015e-04 + 4339 34 1.640854e-03 9.961059e-04 1.271971e-03 8.427108e-04 4.349700e-04 + 4340 34 1.204686e-03 4.009839e-04 8.950377e-05 7.539554e-04 2.703704e-04 + 4341 34 2.148582e-03 3.002479e-04 7.527633e-04 7.271819e-04 6.952628e-04 + 4342 34 3.703751e-03 2.998881e-03 1.089588e-03 1.740148e-03 1.566925e-03 + 4343 34 2.622601e-03 1.077028e-03 9.775032e-04 9.382641e-04 9.980322e-04 + 4344 34 2.051101e-03 7.633008e-04 9.204317e-04 4.959383e-04 4.801696e-04 + 4345 34 6.610067e-04 1.150249e-03 9.221463e-04 1.169923e-03 1.507312e-03 + 4346 34 9.732951e-04 7.516209e-04 1.093072e-03 1.301614e-03 2.405636e-03 + 4347 34 1.947009e-03 9.050750e-04 1.667263e-04 7.262257e-04 9.083046e-04 + 4348 34 1.479452e-03 1.459740e-04 7.849989e-04 1.050173e-03 8.037731e-04 + 4349 34 2.008551e-03 1.923496e-03 6.406933e-04 2.338012e-03 4.308019e-04 + 4350 34 6.725906e-04 3.349855e-04 8.154183e-04 4.776978e-04 6.954104e-04 + 4351 34 9.231917e-04 4.839704e-04 1.846920e-03 2.972473e-04 7.453277e-05 + 4352 34 1.389199e-03 6.891472e-04 4.928652e-04 5.053568e-04 5.989829e-04 + 4353 35 3.636816e+00 1.274455e+00 1.349720e+00 1.413464e+00 1.312051e+00 + 4354 35 5.484898e+02 2.082009e+02 2.111872e+02 2.096645e+02 2.101730e+02 + 4355 35 8.640662e+02 3.283227e+02 3.320724e+02 3.292591e+02 3.312651e+02 + 4356 35 3.518794e+01 1.343213e+01 1.360563e+01 1.327067e+01 1.363696e+01 + 4357 35 6.721171e-02 3.827766e-02 1.951970e-02 2.541636e-02 1.471407e-02 + 4358 35 8.522432e-02 4.097842e-02 3.477911e-02 3.646617e-02 3.505782e-02 + 4359 35 2.806624e-01 9.911339e-02 1.017038e-01 9.638665e-02 1.031402e-01 + 4360 35 8.989954e-01 3.412817e-01 3.354468e-01 3.191843e-01 3.237928e-01 + 4361 35 1.810091e-01 6.158925e-02 6.860979e-02 6.105471e-02 6.685653e-02 + 4362 35 3.509185e-02 1.636204e-02 1.468469e-02 1.520720e-02 1.492176e-02 + 4363 35 4.263443e-02 1.519440e-02 1.744090e-02 2.026354e-02 1.281779e-02 + 4364 35 3.089217e-02 9.246479e-03 1.134918e-02 1.359492e-02 1.086268e-02 + 4365 35 5.123791e-02 1.711312e-02 2.023485e-02 1.694746e-02 2.341775e-02 + 4366 35 1.254989e-02 1.356619e-02 1.144708e-02 1.124681e-02 1.437251e-02 + 4367 35 2.659844e-02 1.176690e-02 5.591689e-03 7.322680e-03 6.480621e-03 + 4368 35 2.095777e-02 5.608052e-03 8.950666e-03 5.285349e-03 4.943847e-03 + 4369 35 1.437046e-02 9.149970e-03 6.102477e-03 7.722318e-03 9.563014e-03 + 4370 35 3.085764e-02 6.721032e-03 6.450887e-03 1.126001e-02 6.156595e-03 + 4371 35 4.448414e-03 5.581457e-03 8.407838e-03 4.784273e-03 4.645917e-03 + 4372 35 1.696197e-02 3.085264e-03 3.587886e-03 4.516468e-03 5.217358e-03 + 4373 35 1.270153e-02 5.369569e-03 7.726536e-03 7.109890e-03 3.392721e-03 + 4374 35 5.704398e-03 4.872102e-03 3.931785e-03 4.788516e-03 7.057371e-03 + 4375 35 1.187648e-02 4.460737e-03 4.953199e-03 5.363409e-03 4.615884e-03 + 4376 35 1.342257e-02 4.595461e-03 2.558677e-03 3.949027e-03 5.717718e-03 + 4377 35 8.838931e-03 4.364199e-03 4.891905e-03 2.117065e-03 1.657258e-03 + 4378 35 8.737186e-03 1.709415e-03 2.900885e-03 6.159248e-03 5.395442e-03 + 4379 35 4.164470e-03 3.718384e-03 2.228681e-03 2.586157e-03 2.483446e-03 + 4380 35 6.541347e-03 3.655774e-03 5.539320e-03 6.037880e-03 4.234114e-03 + 4381 35 8.485194e-03 1.697363e-03 1.270812e-03 1.886890e-03 6.793841e-04 + 4382 35 3.162952e-03 6.227764e-03 4.330773e-03 3.222421e-03 6.172539e-03 + 4383 35 9.412856e-03 1.919622e-03 1.517244e-03 2.157738e-03 5.779447e-03 + 4384 35 3.629673e-03 2.490577e-03 2.986834e-03 4.072164e-03 1.448965e-03 + 4385 35 7.045202e-03 3.834437e-03 1.973560e-03 1.333057e-03 4.068670e-03 + 4386 35 3.111865e-03 8.740476e-04 1.823578e-03 1.813876e-03 6.070561e-04 + 4387 35 1.333455e-02 2.907741e-03 1.871299e-03 1.960301e-03 3.729479e-03 + 4388 35 2.790056e-03 4.897372e-03 2.669192e-03 1.805102e-03 1.918329e-03 + 4389 35 7.772979e-03 2.589704e-03 6.308266e-03 3.321320e-03 3.668619e-03 + 4390 35 7.278782e-03 1.500941e-03 2.951153e-03 3.118996e-03 2.930045e-03 + 4391 35 7.733614e-03 2.231770e-03 6.739381e-04 1.784352e-03 1.852289e-03 + 4392 35 6.370689e-03 7.957325e-04 1.679138e-03 1.075736e-03 1.344436e-03 + 4393 35 1.936323e-03 3.401738e-03 3.437810e-03 1.785422e-03 3.324967e-03 + 4394 35 7.072358e-03 1.628962e-03 5.095681e-03 2.256878e-03 1.315809e-03 + 4395 35 7.585702e-03 2.792632e-03 3.387472e-03 8.348459e-04 2.298352e-03 + 4396 35 4.030450e-03 1.643363e-03 2.708010e-03 1.138350e-03 1.404496e-03 + 4397 35 4.049752e-03 1.780500e-03 2.114803e-03 3.010317e-03 1.863274e-03 + 4398 35 2.548889e-03 1.581680e-03 7.947787e-04 2.838932e-03 1.190174e-03 + 4399 35 3.793337e-03 1.830114e-03 1.857270e-03 1.664264e-03 4.354758e-04 + 4400 35 3.610140e-03 3.024806e-03 1.506120e-03 2.221698e-03 2.710201e-03 + 4401 35 1.578214e-01 6.881164e-02 7.416893e-02 7.831156e-02 7.001323e-02 + 4402 35 8.929372e-01 4.095990e-01 4.218313e-01 4.368812e-01 3.934563e-01 + 4403 35 1.799833e-01 8.907450e-02 7.909369e-02 8.027413e-02 7.207243e-02 + 4404 35 1.770835e-03 2.174711e-03 1.028628e-03 1.231753e-03 1.700535e-03 + 4405 35 1.955215e-03 1.795738e-03 1.670820e-03 7.389130e-04 4.992091e-04 + 4406 35 2.008019e-03 2.197322e-03 1.201223e-03 2.062367e-03 2.235452e-03 + 4407 35 3.109373e-03 2.061972e-03 6.294914e-04 8.227836e-04 1.705950e-03 + 4408 35 2.684268e-03 6.641704e-03 4.319104e-03 6.070165e-03 5.083058e-03 + 4409 35 5.719033e-03 1.460510e-04 8.165647e-04 1.159214e-03 9.391141e-04 + 4410 35 2.582694e-03 1.218242e-03 1.738415e-03 5.850780e-04 1.495764e-03 + 4411 35 2.199174e-03 1.037155e-03 2.447005e-03 1.286687e-03 4.254130e-04 + 4412 35 2.020373e-03 1.200917e-03 1.165815e-03 4.621113e-04 1.144946e-03 + 4413 35 3.818431e-03 5.860898e-04 1.490557e-03 7.929368e-04 9.520506e-04 + 4414 35 9.111759e-04 1.591330e-03 9.884846e-04 8.078662e-04 1.146426e-03 + 4415 35 3.873088e-03 1.113815e-03 6.954188e-04 1.176236e-03 5.341026e-04 + 4416 35 9.270497e-04 1.014581e-03 2.347342e-03 6.053388e-04 1.702942e-03 + 4417 35 2.250870e-03 1.484901e-03 1.427051e-03 1.945735e-03 1.358728e-03 + 4418 35 5.405730e-03 3.853918e-04 7.261939e-04 1.174242e-03 1.285005e-03 + 4419 35 2.232819e-03 2.985092e-04 1.646654e-03 6.080560e-04 7.073150e-04 + 4420 35 6.051682e-04 1.113008e-03 7.519479e-04 8.434003e-04 1.296571e-03 + 4421 35 2.124074e-03 7.181545e-04 9.929734e-04 1.191697e-03 6.231044e-04 + 4422 35 1.439324e-03 1.274566e-03 5.493119e-04 7.543600e-04 1.321389e-03 + 4423 35 2.301368e-03 2.374817e-03 1.539818e-03 1.176833e-03 2.471038e-03 + 4424 35 9.889801e-04 9.156596e-04 1.068552e-03 1.571590e-03 6.932926e-04 + 4425 35 3.125574e-03 1.125743e-03 3.764081e-04 5.228380e-04 1.685966e-03 + 4426 35 1.467127e-03 1.134848e-03 1.143369e-03 2.125210e-03 1.152433e-03 + 4427 35 4.055537e-03 1.096140e-03 2.672873e-04 6.938336e-04 5.114952e-04 + 4428 35 2.311933e-03 8.547430e-04 2.745826e-03 1.381011e-03 2.307474e-03 + 4429 35 4.689948e-03 1.143673e-03 2.380401e-03 1.067158e-03 1.794791e-03 + 4430 35 1.490767e-03 1.674808e-03 1.703937e-03 1.216789e-03 1.674039e-03 + 4431 35 3.052807e-03 7.983067e-04 6.495873e-04 4.252783e-04 8.163389e-04 + 4432 35 1.251224e-03 1.497197e-03 7.030034e-04 1.412964e-03 2.852864e-03 + 4433 35 1.072993e-03 1.016461e-03 1.110618e-03 1.833346e-03 9.184873e-04 + 4434 35 3.080217e-03 5.391800e-04 6.002374e-04 5.441976e-04 9.908687e-04 + 4435 35 7.619718e-04 1.038898e-03 9.973470e-04 1.325480e-03 1.075693e-03 + 4436 35 1.025245e-03 7.232273e-04 7.543657e-04 5.604420e-04 1.028074e-03 + 4437 35 2.869056e-03 1.606855e-03 1.055252e-03 3.314911e-03 1.799849e-03 + 4438 35 2.693279e-03 1.074300e-03 7.682643e-04 1.598972e-03 1.092193e-03 + 4439 35 1.958940e-03 8.910750e-04 3.980907e-04 2.256540e-03 1.014741e-03 + 4440 35 3.896662e-03 1.769108e-03 1.356049e-03 2.104745e-03 1.559643e-04 + 4441 35 2.644915e-03 2.919805e-03 1.819592e-03 2.465869e-03 2.583151e-03 + 4442 35 1.979640e-03 2.003517e-03 1.223557e-03 1.091923e-03 1.558596e-03 + 4443 35 1.414625e-03 7.322287e-04 9.460793e-04 6.009762e-04 1.638646e-03 + 4444 35 1.092701e-03 1.025400e-03 6.571787e-04 1.259031e-03 1.654679e-03 + 4445 35 6.228265e-03 2.029848e-03 2.899312e-03 1.318258e-03 2.814719e-03 + 4446 35 1.746594e-02 1.064176e-02 1.071233e-02 6.792427e-03 9.760821e-03 + 4447 35 5.316924e-03 2.004791e-03 1.476619e-03 1.566335e-03 1.534520e-03 + 4448 35 1.514360e-03 1.770898e-03 1.825470e-03 2.525308e-03 8.158920e-04 + 4449 35 1.359650e-03 2.001355e-03 2.411188e-03 1.376053e-03 1.296346e-03 + 4450 35 1.583946e-03 9.341617e-04 1.895130e-03 4.631780e-04 8.752591e-04 + 4451 35 1.054623e-03 4.805928e-03 2.001449e-03 1.071026e-03 2.442822e-03 + 4452 35 5.316760e-03 7.623425e-03 9.949128e-03 5.782578e-03 1.114972e-02 + 4453 35 1.333754e-03 1.574166e-03 2.997767e-03 1.679021e-03 2.496092e-03 + 4454 35 1.278124e-03 1.559748e-03 1.410860e-03 9.125848e-04 2.088355e-03 + 4455 35 2.347851e-03 8.142090e-04 3.920637e-04 1.550890e-04 4.624651e-04 + 4456 35 2.318487e-03 9.588727e-04 1.494496e-03 7.357947e-04 4.129645e-04 + 4457 35 8.711339e-03 3.963199e-03 4.866318e-03 4.094940e-03 4.194685e-03 + 4458 35 2.002320e-02 5.710954e-03 1.108590e-02 5.431946e-03 8.822437e-03 + 4459 35 7.128178e-03 1.552130e-03 2.113389e-03 1.285596e-03 3.330053e-03 + 4460 35 6.924405e-04 5.618926e-04 1.389914e-03 5.980928e-04 7.699453e-04 + 4461 35 2.140160e-03 1.122592e-03 7.414292e-04 2.837667e-04 3.749821e-04 + 4462 35 4.739838e-04 4.317430e-04 1.225833e-03 5.788382e-04 7.697914e-04 + 4463 35 2.171391e-03 2.113894e-03 6.514081e-04 1.304471e-03 1.045205e-03 + 4464 35 7.394796e-04 1.247003e-03 1.397129e-03 5.293070e-04 2.250995e-03 + 4465 35 1.628234e-03 6.107002e-04 6.228630e-04 7.657932e-04 5.221902e-04 + 4466 35 1.990300e-03 9.653922e-04 7.307411e-04 5.617208e-04 9.664379e-04 + 4467 35 1.019872e-03 7.993687e-04 2.086976e-03 1.676578e-03 1.322002e-03 + 4468 35 2.617382e-03 6.038495e-04 6.033580e-04 9.452704e-04 9.294105e-04 + 4469 35 8.132066e-04 1.247247e-03 5.941934e-04 1.223239e-03 4.149970e-04 + 4470 35 3.362268e-03 1.911427e-03 2.200793e-03 9.434300e-04 2.006816e-03 + 4471 35 2.985937e-03 9.284732e-04 2.315132e-03 7.056282e-04 1.910933e-03 + 4472 35 1.838467e-03 4.604647e-04 6.165750e-04 5.936338e-04 3.406899e-04 + 4473 35 7.192360e-04 9.461381e-04 1.051094e-03 2.348054e-04 1.253573e-03 + 4474 35 1.514349e-03 8.774280e-04 1.373142e-03 4.088421e-05 4.078133e-04 + 4475 35 1.641557e-03 5.655916e-04 1.220696e-03 1.793699e-03 1.863443e-03 + 4476 35 2.846726e-03 8.984470e-04 2.328767e-03 1.826978e-03 2.927101e-03 + 4477 35 1.008041e-03 7.712033e-04 2.351076e-03 1.545516e-03 7.359561e-04 + 4478 35 1.286285e-03 5.380055e-04 1.617862e-03 8.082575e-04 1.369410e-03 + 4479 35 2.412538e-03 5.096398e-04 3.935222e-04 4.293560e-04 7.058597e-04 + 4480 35 1.270243e-03 1.530911e-04 4.884407e-04 7.230224e-04 5.600559e-04 + 4481 36 3.073273e+00 1.176775e+00 1.354073e+00 1.146210e+00 1.333662e+00 + 4482 36 5.497732e+02 2.100564e+02 2.110015e+02 2.125049e+02 2.116956e+02 + 4483 36 8.598201e+02 3.290227e+02 3.315632e+02 3.336612e+02 3.311157e+02 + 4484 36 3.492983e+01 1.365916e+01 1.375187e+01 1.381436e+01 1.378075e+01 + 4485 36 1.035850e-01 4.581532e-02 4.037277e-02 3.977820e-02 3.055068e-02 + 4486 36 9.430355e-02 2.434286e-02 1.689262e-02 2.364546e-02 1.911758e-02 + 4487 36 2.479236e-01 1.008321e-01 1.067933e-01 1.021026e-01 9.970511e-02 + 4488 36 9.558994e-01 3.187974e-01 3.292726e-01 3.237840e-01 3.309403e-01 + 4489 36 1.745544e-01 5.328497e-02 5.698522e-02 6.104351e-02 7.032520e-02 + 4490 36 4.715998e-02 1.801649e-02 1.482717e-02 1.743183e-02 1.403193e-02 + 4491 36 3.062381e-02 1.287785e-02 1.048764e-02 1.557776e-02 1.338483e-02 + 4492 36 2.858374e-02 7.846697e-03 9.433322e-03 9.695984e-03 1.367465e-02 + 4493 36 5.897259e-02 1.937863e-02 2.273002e-02 2.756282e-02 1.821667e-02 + 4494 36 8.700703e-03 4.962754e-03 5.580594e-03 6.031595e-03 1.038448e-02 + 4495 36 2.908443e-02 6.385086e-03 6.044449e-03 4.813834e-03 4.797791e-03 + 4496 36 1.199674e-02 8.012409e-03 6.922506e-03 8.682401e-03 9.264688e-03 + 4497 36 2.094263e-02 8.827682e-03 7.770093e-03 1.071654e-02 6.102875e-03 + 4498 36 2.691326e-02 5.788856e-03 8.148316e-03 1.493481e-02 7.436601e-03 + 4499 36 7.308013e-03 3.854944e-03 4.079831e-03 4.105201e-03 6.229007e-03 + 4500 36 1.202812e-02 3.441070e-03 3.286784e-03 3.114734e-03 2.084526e-03 + 4501 36 9.674410e-03 5.948826e-03 6.382992e-03 9.199599e-03 6.753736e-03 + 4502 36 8.484357e-03 4.101519e-03 8.419057e-03 5.394848e-03 4.456091e-03 + 4503 36 1.933327e-02 2.374744e-03 2.961633e-03 3.335416e-03 2.036220e-03 + 4504 36 7.539736e-03 3.147914e-03 4.381396e-03 5.228788e-03 3.857715e-03 + 4505 36 6.412835e-03 3.717567e-03 2.445060e-03 3.381663e-03 4.447045e-03 + 4506 36 9.044450e-03 2.357132e-03 4.016559e-03 2.898693e-03 3.995755e-03 + 4507 36 5.298592e-03 4.129646e-03 1.213980e-03 4.008002e-03 7.422349e-03 + 4508 36 1.045431e-02 2.266446e-03 2.935163e-03 3.227138e-03 5.232282e-03 + 4509 36 2.636050e-03 3.854261e-03 3.260671e-03 3.036925e-03 2.924197e-03 + 4510 36 9.556122e-03 3.623331e-03 2.385953e-03 3.492551e-03 2.755177e-03 + 4511 36 6.448956e-03 1.211807e-03 2.530148e-03 4.127861e-03 2.305470e-03 + 4512 36 3.366881e-03 2.561990e-03 5.247915e-03 3.270945e-03 4.115962e-03 + 4513 36 7.708536e-03 9.384103e-04 1.105567e-03 2.071249e-03 1.675369e-03 + 4514 36 5.150744e-03 2.700115e-03 2.112645e-03 3.195322e-03 3.313683e-03 + 4515 36 3.660595e-03 2.374676e-03 2.261629e-03 4.471588e-03 4.535199e-03 + 4516 36 5.020281e-03 2.803215e-03 9.582950e-04 2.094870e-03 1.422681e-03 + 4517 36 4.816389e-03 1.181522e-03 5.307881e-03 2.716569e-03 2.389410e-03 + 4518 36 7.977089e-03 1.502234e-03 2.134070e-03 1.980603e-03 3.479188e-03 + 4519 36 7.650267e-03 4.512931e-03 2.746467e-03 1.738534e-03 2.633791e-03 + 4520 36 8.457363e-03 4.145729e-04 1.046452e-03 1.203229e-03 1.252539e-03 + 4521 36 4.356339e-03 2.108542e-03 1.215545e-03 2.549910e-03 1.855772e-03 + 4522 36 5.529463e-03 4.850098e-03 2.628305e-03 4.359266e-03 4.512776e-03 + 4523 36 3.368560e-03 1.952879e-03 9.122480e-04 2.562967e-03 1.708655e-03 + 4524 36 1.741187e-03 2.451022e-03 5.106449e-03 1.757800e-03 3.447462e-03 + 4525 36 5.302575e-03 9.159966e-04 1.232408e-03 1.313831e-03 4.918360e-04 + 4526 36 2.604140e-03 1.070370e-03 1.574704e-03 1.810195e-03 3.185969e-03 + 4527 36 3.857479e-03 1.117252e-03 1.220819e-03 8.755337e-04 2.005624e-04 + 4528 36 2.546370e-03 8.676114e-04 1.414570e-03 5.414994e-04 8.982943e-04 + 4529 36 1.758927e-01 8.160352e-02 7.887003e-02 8.057060e-02 7.565230e-02 + 4530 36 8.867977e-01 4.007840e-01 4.248290e-01 4.319504e-01 4.188080e-01 + 4531 36 1.682442e-01 6.773242e-02 8.708961e-02 8.044678e-02 7.725920e-02 + 4532 36 3.259413e-03 1.125677e-03 1.161207e-03 1.209682e-03 8.665442e-04 + 4533 36 2.208884e-03 9.659468e-04 2.144332e-03 1.863382e-04 3.202033e-04 + 4534 36 3.135687e-03 4.975218e-04 6.012684e-04 9.660361e-04 3.863120e-04 + 4535 36 3.584462e-03 1.970431e-03 2.159829e-03 1.158770e-03 3.066575e-03 + 4536 36 7.823344e-03 1.862303e-03 9.351490e-04 9.833310e-04 1.658596e-03 + 4537 36 2.332484e-03 1.124019e-03 7.688484e-04 1.475744e-03 9.828284e-04 + 4538 36 5.422277e-03 1.772148e-03 1.084622e-03 2.958631e-03 2.396687e-03 + 4539 36 2.219296e-03 1.214534e-03 1.382078e-03 1.381768e-03 1.947663e-03 + 4540 36 2.350836e-03 5.629220e-04 1.458577e-03 1.620738e-03 6.560747e-04 + 4541 36 4.451806e-03 7.246962e-04 5.976940e-04 5.916517e-04 3.752454e-04 + 4542 36 3.906811e-03 9.154649e-04 1.842718e-03 1.663777e-03 1.385647e-03 + 4543 36 2.528825e-03 1.500722e-03 7.521780e-04 1.986547e-03 1.425231e-03 + 4544 36 4.259022e-03 1.158369e-03 1.925865e-03 1.439594e-03 1.125501e-03 + 4545 36 2.153752e-03 1.273160e-03 3.428193e-03 2.285192e-03 2.174993e-03 + 4546 36 2.627299e-03 1.225122e-03 9.849714e-04 9.578148e-04 2.592796e-03 + 4547 36 4.569246e-03 2.829565e-04 1.377246e-03 1.110369e-03 1.186049e-03 + 4548 36 1.366932e-03 1.336844e-03 1.663443e-03 1.609426e-03 1.005699e-03 + 4549 36 7.949172e-04 2.723876e-04 3.469010e-03 7.688626e-04 1.677444e-03 + 4550 36 4.452921e-03 3.911293e-04 1.830215e-03 1.549670e-03 5.217872e-04 + 4551 36 4.789531e-03 2.835748e-03 2.267617e-03 1.221365e-03 3.707060e-03 + 4552 36 4.693276e-03 1.378675e-03 8.799338e-04 1.110669e-03 7.742701e-04 + 4553 36 1.264959e-03 2.911787e-03 1.074039e-03 1.181675e-03 1.085972e-03 + 4554 36 2.254710e-03 1.447597e-03 3.082788e-04 1.735559e-03 4.056835e-04 + 4555 36 2.471444e-03 2.713463e-04 8.784528e-04 2.394634e-04 4.242540e-04 + 4556 36 4.859021e-04 1.385223e-03 1.045499e-03 1.059908e-03 9.579919e-04 + 4557 36 2.836218e-03 1.100988e-03 1.054323e-03 7.724379e-04 6.715693e-04 + 4558 36 1.593412e-03 1.460357e-03 1.911394e-03 1.611528e-03 5.437842e-04 + 4559 36 1.774975e-03 5.590166e-04 1.819121e-03 3.342258e-04 8.357862e-04 + 4560 36 1.754576e-03 5.585926e-04 1.048287e-03 7.316224e-04 1.207962e-03 + 4561 36 1.273314e-03 1.438005e-03 1.467446e-03 1.058852e-03 2.124588e-03 + 4562 36 1.336564e-03 1.098457e-03 2.104326e-03 6.099719e-04 3.210902e-04 + 4563 36 2.696406e-03 8.370570e-04 4.212279e-04 4.752165e-04 1.255073e-03 + 4564 36 1.524149e-03 9.566778e-04 8.460270e-04 4.983892e-04 1.710306e-03 + 4565 36 2.816307e-03 1.427668e-03 8.486384e-04 1.306476e-03 1.059511e-03 + 4566 36 2.272926e-03 9.903167e-04 1.301399e-03 2.122680e-03 1.911560e-03 + 4567 36 1.498218e-03 6.177798e-04 1.281556e-03 7.972610e-04 1.871269e-03 + 4568 36 1.789481e-03 6.909227e-04 6.770756e-04 2.655793e-03 7.130294e-04 + 4569 36 1.546636e-03 5.884648e-04 1.019919e-03 1.814813e-03 1.657188e-03 + 4570 36 8.841036e-04 3.168992e-04 2.645220e-03 1.471918e-03 7.401550e-04 + 4571 36 1.625661e-03 7.892371e-04 1.372766e-03 1.593334e-03 1.247227e-03 + 4572 36 2.748934e-03 8.680864e-04 7.344077e-04 4.745586e-04 9.526690e-04 + 4573 36 2.915238e-03 1.917505e-03 2.047667e-03 1.607739e-03 2.675023e-03 + 4574 36 1.431577e-02 6.417637e-03 5.650397e-03 5.782651e-03 6.405216e-03 + 4575 36 3.904267e-03 1.336690e-03 1.047181e-03 1.699133e-03 2.423883e-03 + 4576 36 9.332593e-04 2.153630e-03 1.208987e-03 3.515233e-04 8.681142e-04 + 4577 36 1.498011e-03 1.616308e-03 1.201694e-03 8.943298e-04 9.305424e-04 + 4578 36 9.624132e-04 1.642026e-03 1.466213e-03 4.209785e-04 4.154172e-04 + 4579 36 1.837208e-03 2.218704e-03 2.171730e-03 3.048825e-03 1.023221e-03 + 4580 36 5.618947e-03 8.173189e-03 1.145664e-02 9.178346e-03 6.050714e-03 + 4581 36 1.883978e-03 2.671198e-03 2.314126e-03 3.258543e-03 1.493380e-03 + 4582 36 1.908029e-03 1.291679e-03 1.247512e-03 9.239218e-04 3.714882e-04 + 4583 36 1.639430e-03 1.084833e-03 2.040706e-03 7.700338e-04 2.989915e-04 + 4584 36 2.511810e-03 1.397243e-03 1.677314e-03 1.191680e-03 5.865142e-04 + 4585 36 9.270749e-03 2.688566e-03 1.364061e-03 1.816901e-03 2.003015e-03 + 4586 36 1.505173e-02 6.720698e-03 3.795593e-03 5.445515e-03 4.371371e-03 + 4587 36 5.346896e-03 2.484740e-03 1.120884e-03 2.577872e-03 2.043857e-03 + 4588 36 5.156545e-04 1.346739e-03 1.246945e-03 1.686537e-03 1.596311e-03 + 4589 36 9.081578e-04 3.000721e-04 4.792789e-04 4.349563e-04 5.408542e-05 + 4590 36 4.775272e-04 7.788991e-04 4.760479e-04 9.584665e-04 7.094134e-04 + 4591 36 2.103814e-03 5.576808e-04 3.216770e-04 2.156815e-04 6.188287e-04 + 4592 36 1.027495e-03 8.838996e-04 9.059689e-04 7.082516e-04 8.202905e-04 + 4593 36 2.950907e-03 7.806397e-04 1.728016e-03 4.753516e-04 6.480279e-04 + 4594 36 9.702202e-04 1.039238e-03 9.624677e-04 9.170928e-04 1.312828e-03 + 4595 36 1.868258e-03 3.265667e-04 4.666133e-04 2.233939e-04 4.576829e-04 + 4596 36 1.506564e-03 7.195529e-04 1.416902e-03 1.367895e-03 4.260010e-04 + 4597 36 3.680308e-03 1.063783e-03 4.146933e-04 3.862363e-04 5.175110e-04 + 4598 36 1.444206e-03 1.978320e-03 1.573646e-03 1.305140e-03 1.179362e-03 + 4599 36 1.705402e-03 6.848311e-04 8.845079e-04 6.052513e-04 7.486327e-04 + 4600 36 2.238371e-03 5.307425e-04 4.416539e-04 1.711612e-04 9.555455e-04 + 4601 36 7.329606e-04 4.380183e-03 1.176359e-03 1.187781e-03 1.131399e-03 + 4602 36 3.745490e-03 1.020438e-03 7.512567e-04 1.503349e-03 6.403878e-04 + 4603 36 9.466301e-04 2.669228e-03 1.073184e-03 1.023361e-03 1.672349e-03 + 4604 36 1.204912e-03 7.436885e-04 1.382595e-03 7.623878e-04 6.743024e-04 + 4605 36 1.377483e-03 4.778881e-04 1.251614e-03 9.408028e-04 1.033486e-03 + 4606 36 9.571770e-04 3.876587e-04 8.082586e-04 5.990300e-04 4.416903e-04 + 4607 36 1.681066e-03 2.891062e-04 5.057836e-04 4.292149e-04 7.831619e-04 + 4608 36 5.603344e-04 2.452344e-04 8.781216e-04 4.718273e-04 7.730932e-04 + 4609 37 3.565703e+00 1.235525e+00 1.248056e+00 1.225134e+00 1.138112e+00 + 4610 37 5.508157e+02 2.087828e+02 2.111631e+02 2.110770e+02 2.097379e+02 + 4611 37 8.648632e+02 3.277991e+02 3.315266e+02 3.314989e+02 3.298209e+02 + 4612 37 3.559597e+01 1.327691e+01 1.322876e+01 1.335986e+01 1.331447e+01 + 4613 37 9.458289e-02 5.389135e-02 3.962870e-02 5.141924e-02 3.971697e-02 + 4614 37 6.185101e-02 1.906703e-02 3.372254e-02 2.887275e-02 1.535869e-02 + 4615 37 3.200827e-01 1.088901e-01 1.011686e-01 1.195503e-01 1.298172e-01 + 4616 37 8.098346e-01 3.326263e-01 3.248920e-01 3.641238e-01 3.304114e-01 + 4617 37 1.841832e-01 6.553449e-02 6.240155e-02 6.492060e-02 5.884139e-02 + 4618 37 6.202686e-02 1.973302e-02 1.825316e-02 2.889218e-02 2.451269e-02 + 4619 37 2.599799e-02 1.074061e-02 8.990165e-03 8.655411e-03 9.789176e-03 + 4620 37 3.613519e-02 1.160239e-02 1.385500e-02 1.242467e-02 1.178453e-02 + 4621 37 2.404449e-02 2.283097e-02 2.411380e-02 1.818075e-02 2.035652e-02 + 4622 37 3.029854e-02 1.167278e-02 6.660233e-03 7.507215e-03 9.407049e-03 + 4623 37 1.747378e-02 9.522453e-03 1.099085e-02 1.152910e-02 9.395313e-03 + 4624 37 2.085731e-02 9.452999e-03 7.074524e-03 4.655799e-03 3.986985e-03 + 4625 37 1.360696e-02 4.550874e-03 6.336729e-03 8.706050e-03 6.692758e-03 + 4626 37 2.229005e-02 7.512171e-03 4.618525e-03 6.259764e-03 6.371471e-03 + 4627 37 1.104003e-02 4.163380e-03 6.127847e-03 5.206061e-03 5.953367e-03 + 4628 37 1.344405e-02 3.966697e-03 3.693804e-03 5.238250e-03 6.061599e-03 + 4629 37 1.076689e-02 5.323343e-03 4.878483e-03 3.659848e-03 2.676207e-03 + 4630 37 6.041120e-03 7.432178e-03 8.654993e-03 7.152331e-03 4.846897e-03 + 4631 37 1.267353e-02 3.820909e-03 1.882814e-03 2.017367e-03 3.454874e-03 + 4632 37 5.740833e-03 4.810691e-03 9.347635e-03 1.079725e-02 7.457881e-03 + 4633 37 7.995299e-03 1.769415e-03 3.813789e-03 2.417775e-03 3.988298e-03 + 4634 37 6.480825e-03 2.888105e-03 2.731795e-03 2.903860e-03 1.674537e-03 + 4635 37 8.364198e-03 3.447173e-03 4.794660e-03 2.583659e-03 3.799577e-03 + 4636 37 1.129645e-02 3.903456e-03 3.055512e-03 1.154386e-03 4.086281e-03 + 4637 37 6.991202e-03 3.969947e-03 6.397945e-03 1.010779e-02 3.901111e-03 + 4638 37 8.459788e-03 1.993260e-03 2.003573e-03 2.432117e-03 1.428538e-03 + 4639 37 8.922676e-03 4.254165e-03 8.911628e-03 2.351521e-03 3.157404e-03 + 4640 37 6.635234e-03 5.646773e-03 1.350533e-03 2.526040e-03 3.324681e-03 + 4641 37 1.531963e-03 3.144055e-03 3.889905e-03 3.337401e-03 3.177853e-03 + 4642 37 1.014793e-02 1.776555e-03 2.355727e-03 4.948764e-03 3.780536e-03 + 4643 37 2.538813e-03 2.027633e-03 2.463952e-03 5.985618e-04 1.787228e-03 + 4644 37 3.315726e-03 1.489050e-03 1.039276e-03 1.724878e-03 4.672628e-04 + 4645 37 3.202047e-03 1.610982e-03 3.089908e-03 2.726559e-03 3.805096e-03 + 4646 37 7.170763e-03 1.099739e-03 1.213039e-03 1.207511e-03 1.917483e-03 + 4647 37 2.250131e-03 2.109400e-03 3.028113e-03 1.208966e-03 1.510734e-03 + 4648 37 6.140436e-03 1.653508e-03 4.110972e-04 2.328514e-03 1.741972e-03 + 4649 37 2.858781e-03 2.458046e-03 3.065823e-03 3.469162e-03 2.839518e-03 + 4650 37 2.890852e-03 5.440293e-03 2.103660e-03 2.198486e-03 2.193629e-03 + 4651 37 3.497897e-03 3.908336e-03 6.126260e-03 2.761421e-03 4.952830e-03 + 4652 37 6.259920e-03 6.656046e-04 9.017559e-04 1.269044e-03 1.225822e-03 + 4653 37 3.325386e-03 4.194735e-03 5.063975e-03 3.126124e-03 3.299099e-03 + 4654 37 6.330037e-03 8.831609e-04 1.583569e-03 2.075116e-03 1.237634e-03 + 4655 37 3.525646e-03 3.644995e-03 3.106716e-03 3.865822e-03 3.234949e-03 + 4656 37 3.371085e-03 8.678272e-04 1.873278e-03 8.031705e-04 1.883320e-03 + 4657 37 1.570767e-01 7.531151e-02 8.290455e-02 7.475147e-02 8.493948e-02 + 4658 37 9.171391e-01 4.382560e-01 4.337033e-01 4.325835e-01 4.546081e-01 + 4659 37 1.745541e-01 8.448704e-02 8.330242e-02 8.756637e-02 8.724124e-02 + 4660 37 3.758252e-03 9.898742e-04 7.141040e-04 6.690998e-04 2.211257e-04 + 4661 37 1.795005e-03 8.262518e-04 1.240306e-03 2.019204e-03 2.181989e-03 + 4662 37 3.901589e-03 2.092912e-03 1.160772e-03 1.356572e-03 1.401615e-03 + 4663 37 2.016351e-03 1.513552e-03 2.767095e-03 1.370963e-03 2.154838e-03 + 4664 37 3.671871e-03 5.177850e-04 7.209018e-04 4.936461e-04 5.542100e-04 + 4665 37 2.796937e-03 1.503411e-03 2.140991e-03 1.544158e-03 9.596330e-04 + 4666 37 1.753964e-03 1.869935e-03 2.839119e-03 1.174083e-03 1.066735e-03 + 4667 37 4.365543e-03 1.550190e-03 8.941688e-04 1.740147e-03 1.013921e-03 + 4668 37 2.195819e-03 2.505950e-03 1.330168e-03 2.196881e-03 1.751648e-03 + 4669 37 1.897430e-03 1.375941e-03 1.813842e-03 4.200686e-04 9.625598e-04 + 4670 37 9.383439e-04 1.289849e-03 1.578648e-03 1.557982e-03 6.614363e-04 + 4671 37 4.926094e-03 6.718021e-04 7.024595e-04 1.016105e-03 6.730755e-04 + 4672 37 5.365580e-04 1.781903e-03 2.791727e-03 1.401169e-03 1.136141e-03 + 4673 37 4.848112e-03 1.003588e-03 4.531277e-04 2.516012e-04 4.156056e-04 + 4674 37 3.593425e-03 4.469065e-04 1.318743e-03 1.321749e-03 1.029121e-03 + 4675 37 3.774402e-03 1.650798e-03 3.078730e-04 7.233393e-04 1.106934e-03 + 4676 37 2.736371e-03 1.532473e-03 1.420084e-03 1.797783e-03 1.569261e-03 + 4677 37 3.247862e-03 9.876678e-05 1.191977e-03 8.131591e-04 9.511070e-05 + 4678 37 1.211555e-03 1.260992e-03 6.851483e-04 1.993459e-03 1.418809e-03 + 4679 37 5.311894e-03 2.798724e-03 1.290701e-03 6.005891e-04 5.759074e-04 + 4680 37 1.543052e-03 3.768407e-04 4.109991e-04 9.653879e-04 1.154892e-03 + 4681 37 1.903110e-03 1.882345e-03 7.332113e-04 1.640717e-03 1.606757e-03 + 4682 37 2.432016e-03 5.800125e-04 1.558496e-03 1.861198e-03 3.148239e-04 + 4683 37 1.223425e-03 1.059495e-03 4.173233e-04 1.036196e-03 5.330933e-04 + 4684 37 1.039104e-03 7.724382e-04 2.029030e-03 1.861035e-03 2.015491e-03 + 4685 37 4.228740e-03 1.645857e-03 2.808438e-04 6.240108e-04 8.112016e-04 + 4686 37 3.991494e-04 1.963325e-03 9.939127e-04 2.943441e-03 2.140503e-03 + 4687 37 2.519287e-03 8.087392e-04 2.331707e-03 3.054378e-04 6.963268e-04 + 4688 37 1.039609e-03 1.521805e-03 1.138227e-03 2.207367e-03 9.191738e-04 + 4689 37 2.197090e-03 3.296831e-04 8.833676e-04 3.039022e-04 9.282363e-04 + 4690 37 2.169299e-03 4.656635e-04 8.633879e-05 4.041769e-04 1.014272e-03 + 4691 37 3.616089e-04 9.198950e-04 8.213203e-04 1.056347e-03 7.586344e-04 + 4692 37 2.657981e-03 1.448137e-03 8.703502e-04 5.808511e-04 1.317203e-03 + 4693 37 1.415139e-03 3.356758e-04 5.442011e-04 5.167886e-04 1.867984e-03 + 4694 37 2.359726e-03 1.418697e-03 1.683789e-03 1.001356e-03 1.506957e-03 + 4695 37 1.925445e-03 8.943365e-04 7.102258e-04 2.367449e-03 1.328621e-03 + 4696 37 1.285821e-03 2.395519e-04 5.727668e-04 1.452865e-03 8.917022e-04 + 4697 37 2.063642e-03 1.416516e-03 9.722047e-04 1.038305e-03 2.522766e-03 + 4698 37 2.294722e-03 1.468066e-03 7.484209e-04 9.215538e-04 4.935974e-04 + 4699 37 1.511287e-03 1.115229e-03 1.056741e-03 1.650781e-03 1.222371e-03 + 4700 37 9.082232e-04 1.035883e-03 3.767100e-04 1.422903e-03 1.394508e-03 + 4701 37 4.650457e-03 1.193829e-03 3.006138e-03 2.381742e-03 7.628043e-04 + 4702 37 1.761737e-02 1.063112e-02 9.445623e-03 6.038924e-03 5.117132e-03 + 4703 37 4.624290e-03 4.199258e-03 2.685931e-03 1.427314e-03 2.187659e-03 + 4704 37 1.063840e-03 1.772324e-03 4.303597e-04 1.078408e-03 1.135855e-03 + 4705 37 2.728553e-03 1.574214e-03 1.542598e-03 1.169192e-03 3.002429e-04 + 4706 37 1.129573e-03 6.135207e-04 6.366485e-04 3.400047e-04 6.222890e-04 + 4707 37 1.326470e-03 2.627611e-03 1.316449e-03 2.946165e-03 3.630279e-03 + 4708 37 2.796355e-03 7.238075e-03 5.973593e-03 5.931506e-03 5.993645e-03 + 4709 37 2.118393e-03 3.442458e-03 2.651037e-03 2.103092e-03 1.821323e-03 + 4710 37 2.237928e-03 1.075946e-03 3.404961e-03 3.497668e-03 1.360706e-03 + 4711 37 1.689530e-03 3.043428e-04 6.100998e-04 1.353168e-03 5.044625e-05 + 4712 37 2.270550e-03 9.512736e-04 8.292131e-04 5.322436e-04 5.852116e-04 + 4713 37 4.568676e-03 1.288769e-03 3.388766e-04 1.824208e-03 1.632399e-03 + 4714 37 1.255945e-02 4.129214e-03 1.139241e-03 4.165707e-03 3.756599e-03 + 4715 37 3.771671e-03 1.457092e-03 9.081196e-04 2.532135e-03 3.051826e-03 + 4716 37 1.365459e-03 1.604554e-03 7.350206e-04 1.049845e-03 1.017201e-03 + 4717 37 1.183817e-03 1.011810e-03 1.366385e-03 1.446638e-03 5.598854e-04 + 4718 37 4.560386e-03 4.845786e-04 1.602098e-03 2.104727e-03 4.923529e-04 + 4719 37 3.066443e-03 2.335841e-03 1.314883e-03 2.036304e-03 1.287491e-03 + 4720 37 2.770708e-03 1.879968e-03 1.155998e-03 1.644071e-03 1.476219e-03 + 4721 37 2.434748e-03 8.962231e-04 3.284510e-04 3.068890e-04 1.787671e-04 + 4722 37 8.031404e-04 7.896840e-04 9.280805e-04 7.020106e-04 9.245803e-04 + 4723 37 6.491637e-04 8.244318e-04 8.790404e-04 1.014282e-03 4.609972e-04 + 4724 37 1.228231e-03 5.928310e-04 9.322849e-04 1.024564e-03 9.484518e-04 + 4725 37 3.232529e-03 7.118379e-04 1.463950e-03 2.321734e-03 1.347081e-03 + 4726 37 3.483224e-03 1.299628e-03 4.064840e-03 4.791138e-03 5.343441e-03 + 4727 37 1.684657e-03 6.091743e-04 1.062523e-03 1.638432e-03 1.537373e-03 + 4728 37 1.971089e-03 8.365137e-04 4.316231e-04 6.065336e-04 1.589871e-03 + 4729 37 9.650035e-04 1.135824e-03 2.456836e-03 1.282428e-03 2.802625e-04 + 4730 37 1.891479e-03 4.786129e-04 3.611134e-04 1.268151e-03 6.095457e-04 + 4731 37 5.918620e-04 5.684770e-04 9.564856e-04 5.000142e-04 2.323484e-03 + 4732 37 2.127145e-03 2.295824e-04 4.894898e-04 5.173999e-04 6.680520e-04 + 4733 37 1.834584e-03 7.722670e-04 1.855805e-03 1.678353e-03 1.106604e-03 + 4734 37 8.838994e-04 1.128221e-03 7.951261e-04 5.197082e-04 1.699347e-03 + 4735 37 9.345026e-04 4.994554e-04 6.039290e-04 6.792083e-04 4.956587e-04 + 4736 37 2.278529e-03 3.244830e-05 1.903653e-04 9.468778e-04 4.479181e-04 + 4737 38 3.157874e+00 1.395715e+00 1.167798e+00 1.276966e+00 1.295107e+00 + 4738 38 5.470399e+02 2.097913e+02 2.121131e+02 2.111903e+02 2.113801e+02 + 4739 38 8.590493e+02 3.284588e+02 3.323481e+02 3.313934e+02 3.314836e+02 + 4740 38 3.495033e+01 1.367421e+01 1.376143e+01 1.384535e+01 1.387242e+01 + 4741 38 1.175501e-01 5.628586e-02 4.216925e-02 6.781340e-02 6.778917e-02 + 4742 38 3.607495e-02 1.461805e-02 1.406838e-02 1.237132e-02 2.120378e-02 + 4743 38 3.023447e-01 1.035909e-01 1.176404e-01 1.154720e-01 1.107609e-01 + 4744 38 8.884025e-01 3.215949e-01 3.139844e-01 3.169128e-01 3.203272e-01 + 4745 38 1.696042e-01 6.692496e-02 7.555889e-02 7.181369e-02 7.306644e-02 + 4746 38 4.588920e-02 2.512297e-02 2.170728e-02 2.845330e-02 2.063909e-02 + 4747 38 2.816432e-02 1.003502e-02 1.399003e-02 9.023449e-03 1.343360e-02 + 4748 38 3.628292e-02 1.545910e-02 1.421646e-02 1.679026e-02 1.047205e-02 + 4749 38 9.785031e-03 9.720788e-03 8.882657e-03 7.050664e-03 1.096353e-02 + 4750 38 3.649792e-02 1.652477e-02 1.564178e-02 1.752579e-02 1.368636e-02 + 4751 38 1.781250e-02 5.578436e-03 6.463171e-03 8.373424e-03 8.703238e-03 + 4752 38 1.397314e-02 7.308202e-03 5.053435e-03 1.014573e-02 1.200769e-02 + 4753 38 2.135426e-02 7.945222e-03 8.483471e-03 6.513979e-03 6.697567e-03 + 4754 38 8.649048e-03 3.232779e-03 7.784211e-03 1.699241e-03 3.261170e-03 + 4755 38 1.214219e-02 6.233144e-03 4.183790e-03 1.062429e-02 7.664194e-03 + 4756 38 9.418953e-03 7.705129e-03 6.740495e-03 2.763761e-03 2.958838e-03 + 4757 38 1.029555e-02 4.675873e-03 3.518059e-03 7.957856e-03 9.820041e-03 + 4758 38 5.800137e-03 4.528471e-03 5.508808e-03 3.049487e-03 2.651056e-03 + 4759 38 2.013613e-02 1.835683e-03 2.658710e-03 3.506811e-03 3.234457e-03 + 4760 38 5.255708e-03 6.236911e-03 3.894245e-03 3.762302e-03 3.416610e-03 + 4761 38 1.710881e-02 1.585593e-03 2.362875e-03 2.537301e-03 3.138557e-03 + A6 A7 A8 A9 A10 + 1 1.470983e+00 1.402312e+00 1.505290e+00 1.466602e+00 1.329748e+00 + 2 2.162340e+02 2.123519e+02 2.116555e+02 2.138185e+02 2.101233e+02 + 3 3.408583e+02 3.349960e+02 3.345657e+02 3.372436e+02 3.322705e+02 + 4 1.407654e+01 1.349569e+01 1.385456e+01 1.376111e+01 1.372958e+01 + 5 7.619999e-03 1.334726e-02 8.912905e-03 8.604909e-03 4.798073e-03 + 6 6.247128e-02 5.010464e-02 4.093410e-02 4.751094e-02 4.432344e-02 + 7 7.460404e-02 9.358017e-02 1.134775e-01 1.040719e-01 1.110009e-01 + 8 3.614757e-01 3.967638e-01 4.139245e-01 4.027878e-01 4.352050e-01 + 9 4.485183e-02 4.294636e-02 5.943528e-02 5.575385e-02 5.416137e-02 + 10 1.243571e-02 1.230075e-02 1.968497e-02 1.539888e-02 1.654860e-02 + 11 2.846707e-02 1.816166e-02 1.639642e-02 1.992137e-02 1.872435e-02 + 12 1.542012e-02 1.734688e-02 1.880364e-02 1.351262e-02 1.605577e-02 + 13 1.949922e-02 1.263596e-02 1.638572e-02 1.734536e-02 9.986383e-03 + 14 1.131228e-02 1.576907e-02 1.746019e-02 1.296515e-02 1.571216e-02 + 15 7.579628e-03 5.310229e-03 5.090036e-03 1.042344e-02 5.269603e-03 + 16 2.015081e-02 7.695810e-03 1.583076e-02 6.798048e-03 1.504509e-02 + 17 3.650856e-03 7.174813e-03 3.506025e-03 6.321478e-03 4.154820e-03 + 18 5.418371e-03 8.476471e-03 7.575327e-03 6.374758e-03 6.115395e-03 + 19 8.558384e-03 8.208704e-03 1.015637e-02 1.437046e-02 7.120259e-03 + 20 5.135177e-03 7.073500e-03 3.957174e-03 4.576898e-03 4.828253e-03 + 21 8.497035e-03 8.496114e-03 4.944587e-03 7.520712e-03 5.274347e-03 + 22 7.392489e-03 4.563224e-03 2.261062e-03 4.999447e-03 3.290557e-03 + 23 7.562328e-03 9.446836e-03 6.508403e-03 4.232321e-03 6.957759e-03 + 24 7.152770e-03 1.828103e-03 3.158125e-03 5.942316e-03 2.039192e-03 + 25 3.541244e-03 3.725808e-03 3.687519e-03 2.449250e-03 3.448345e-03 + 26 1.944119e-03 2.234344e-03 5.178069e-03 3.378756e-03 2.729472e-03 + 27 3.246429e-03 5.561618e-03 2.690487e-03 3.760152e-03 4.717646e-03 + 28 3.676086e-03 4.035412e-03 3.677052e-03 4.016045e-03 1.892082e-03 + 29 3.812230e-03 1.918772e-03 1.759919e-03 5.581981e-03 4.324360e-03 + 30 2.270134e-03 3.464700e-03 2.877350e-03 2.963369e-03 1.579595e-03 + 31 4.792966e-03 4.439602e-03 2.984471e-03 3.806353e-03 3.381296e-03 + 32 2.189409e-03 4.998077e-03 2.513011e-03 1.792729e-03 2.376854e-03 + 33 3.901964e-03 1.381566e-03 1.068786e-03 2.830280e-03 1.752667e-03 + 34 2.304939e-03 3.449621e-03 5.002154e-03 2.233431e-03 2.156058e-03 + 35 2.081759e-03 9.132408e-04 3.750054e-03 2.362416e-03 9.951070e-04 + 36 1.898911e-03 5.510341e-03 3.179926e-03 4.276159e-03 5.765939e-03 + 37 2.049018e-03 1.441665e-03 1.869641e-03 3.809946e-03 2.851401e-03 + 38 2.063542e-03 3.346678e-03 3.895315e-03 2.356546e-03 1.559972e-03 + 39 3.339732e-03 1.480829e-03 2.867453e-03 2.964706e-03 3.034989e-03 + 40 5.254664e-03 3.715276e-03 4.046342e-03 2.714307e-03 4.104495e-03 + 41 1.315081e-03 1.045166e-03 1.849563e-03 9.800662e-04 2.097564e-03 + 42 5.063914e-03 2.453025e-03 1.843852e-03 3.614418e-03 2.204895e-03 + 43 8.859938e-04 1.778060e-03 3.148347e-03 1.684772e-03 1.667712e-03 + 44 1.873897e-03 2.572989e-03 5.321685e-04 2.050913e-03 1.913145e-03 + 45 3.902885e-03 9.186794e-04 3.895408e-03 3.566092e-03 1.293381e-03 + 46 1.048592e-03 1.422765e-03 1.522884e-03 1.953246e-03 1.207842e-03 + 47 2.244961e-03 1.693561e-03 3.101888e-03 2.587612e-03 2.099845e-03 + 48 8.631038e-04 4.949850e-04 5.873982e-04 2.957500e-04 7.456957e-04 + 49 7.674566e-02 6.999804e-02 7.215939e-02 7.863080e-02 7.154801e-02 + 50 4.158590e-01 3.877010e-01 4.091445e-01 4.511428e-01 4.126253e-01 + 51 8.441447e-02 8.529710e-02 8.602733e-02 9.094419e-02 8.626862e-02 + 52 2.387583e-03 4.031392e-03 3.648272e-03 1.584450e-03 4.290456e-03 + 53 3.040173e-03 1.871338e-03 1.289203e-03 1.263851e-03 1.072993e-03 + 54 5.599177e-04 9.489647e-04 1.464084e-03 1.209608e-03 1.193486e-03 + 55 3.230955e-03 1.973156e-03 2.605768e-03 3.023603e-03 1.522266e-03 + 56 1.747080e-03 1.556260e-03 3.016002e-03 2.582101e-03 3.008754e-03 + 57 2.550454e-03 2.871408e-03 5.059190e-03 3.937507e-03 1.309159e-03 + 58 1.493161e-03 5.869323e-04 2.752420e-03 6.339220e-04 1.519036e-03 + 59 6.894550e-04 4.139013e-04 7.880411e-04 1.414803e-03 1.831727e-03 + 60 9.321040e-04 1.245727e-03 1.169812e-03 1.199529e-03 6.843202e-04 + 61 1.819040e-03 2.230969e-03 2.001502e-03 2.188118e-03 2.620903e-03 + 62 2.654092e-03 2.752417e-03 2.592447e-03 1.747867e-03 1.411985e-03 + 63 2.763557e-03 1.683636e-03 2.865461e-03 2.245892e-03 1.777190e-03 + 64 9.386894e-04 6.685423e-04 2.002056e-03 6.856654e-04 2.805667e-03 + 65 2.220187e-03 9.136406e-04 1.720125e-03 1.966619e-03 2.931858e-03 + 66 2.382974e-03 1.201248e-03 8.394612e-04 2.419610e-04 6.323900e-04 + 67 1.283094e-03 9.706702e-04 7.925807e-04 1.383742e-03 1.487154e-03 + 68 1.250087e-03 3.535001e-03 1.504517e-03 2.949370e-03 3.003322e-03 + 69 8.166403e-04 7.638430e-04 9.303711e-04 6.495931e-04 9.274131e-04 + 70 1.441188e-03 4.565320e-04 1.226572e-03 9.417910e-04 5.548269e-04 + 71 2.814096e-03 1.337695e-03 2.560597e-03 2.902681e-03 1.926446e-03 + 72 1.671772e-03 2.138620e-03 1.012501e-03 1.105703e-03 1.187594e-03 + 73 2.459436e-03 4.608836e-03 1.183701e-03 2.902014e-03 2.297673e-03 + 74 1.641229e-03 1.484713e-03 4.288454e-04 7.665262e-04 2.107809e-04 + 75 4.650719e-03 1.493325e-03 2.449605e-03 2.304049e-03 2.562701e-03 + 76 6.216445e-04 2.785807e-04 7.349816e-04 4.794600e-04 3.956154e-04 + 77 1.388499e-03 1.400393e-03 2.134213e-03 2.064276e-03 2.425946e-03 + 78 1.394830e-03 7.121869e-04 2.612533e-03 5.939157e-04 5.342777e-04 + 79 3.984691e-04 1.103181e-03 7.798460e-04 5.999348e-04 1.255688e-03 + 80 2.753262e-03 2.822246e-03 2.805015e-03 3.016284e-03 2.879142e-03 + 81 6.931197e-04 1.266512e-03 6.558902e-04 5.428714e-04 4.545867e-04 + 82 6.211176e-04 1.248594e-03 9.775378e-04 7.533252e-04 6.454385e-04 + 83 5.175014e-04 2.253306e-03 8.168326e-04 6.317204e-04 5.227960e-04 + 84 2.916126e-03 4.238062e-04 2.731265e-03 3.491983e-03 1.682558e-03 + 85 9.660586e-04 9.794258e-04 6.047867e-04 4.873827e-04 8.014308e-04 + 86 2.237838e-03 1.336460e-03 2.036556e-03 1.208820e-03 8.222356e-04 + 87 1.929662e-04 5.270387e-04 1.266089e-03 4.593733e-04 6.756022e-04 + 88 1.343712e-03 6.608596e-04 1.592589e-03 8.739976e-04 2.125442e-03 + 89 9.738477e-04 9.220091e-04 1.788559e-03 2.650758e-03 2.022127e-03 + 90 1.577161e-03 1.055855e-03 2.132319e-03 2.217446e-03 1.330335e-03 + 91 4.416450e-04 7.654756e-04 1.041118e-03 1.093633e-03 1.279909e-03 + 92 9.603391e-04 3.984564e-04 6.513263e-04 2.460966e-03 1.394716e-03 + 93 1.011853e-03 3.162570e-03 1.960044e-03 3.117824e-03 3.794159e-03 + 94 5.657523e-03 7.427169e-03 4.909516e-03 5.870484e-03 6.372329e-03 + 95 7.745705e-04 1.342112e-03 9.677762e-04 1.721110e-03 4.174580e-04 + 96 1.253726e-03 3.612162e-03 1.722144e-03 1.175630e-03 2.382436e-03 + 97 1.093326e-03 1.618014e-03 3.232253e-03 2.596714e-03 3.207127e-03 + 98 1.611757e-03 2.561438e-04 8.070089e-04 6.506537e-04 8.996980e-04 + 99 2.211544e-03 3.926627e-03 2.600642e-03 2.041111e-03 1.788659e-03 + 100 6.285160e-03 1.240940e-02 8.038918e-03 1.034784e-02 6.331887e-03 + 101 1.826380e-03 2.079818e-03 2.060071e-03 2.987202e-03 2.327323e-03 + 102 4.130079e-04 1.133794e-03 1.067216e-03 1.119512e-03 3.480049e-04 + 103 1.304210e-03 1.677369e-04 1.704587e-03 9.519753e-04 1.383534e-03 + 104 1.412845e-03 1.010665e-03 7.900155e-04 1.280108e-03 3.067269e-03 + 105 1.216459e-03 9.646049e-04 1.995619e-03 4.879026e-04 2.382063e-03 + 106 4.786109e-03 4.660566e-03 5.946210e-03 3.251135e-03 6.549799e-03 + 107 7.458935e-04 1.064846e-03 1.170820e-03 4.170967e-04 1.138857e-03 + 108 6.608076e-04 1.971271e-03 1.243742e-03 6.584671e-04 7.207199e-04 + 109 9.222578e-04 8.101207e-04 5.041797e-04 7.116867e-04 2.149532e-04 + 110 1.129170e-03 9.500290e-04 2.042140e-03 8.898840e-04 1.077625e-03 + 111 1.814662e-03 4.657851e-04 7.122803e-04 2.106447e-03 3.946050e-04 + 112 1.980428e-03 7.972542e-04 4.201664e-04 2.294487e-03 2.474604e-04 + 113 7.650841e-04 7.589637e-04 4.248130e-04 2.602145e-03 6.054798e-04 + 114 7.994758e-04 1.352454e-03 1.383425e-03 4.036925e-04 2.204648e-04 + 115 1.303182e-03 5.890049e-04 1.144807e-03 3.590269e-04 7.239131e-04 + 116 1.599767e-03 1.464077e-03 1.456512e-03 1.006683e-03 8.103719e-04 + 117 1.596999e-03 1.224155e-03 8.750349e-04 8.409439e-04 2.793886e-03 + 118 2.583069e-03 2.437455e-03 2.681116e-03 6.846145e-04 3.452293e-03 + 119 3.234282e-04 8.375962e-04 1.027545e-03 1.003681e-03 9.323882e-04 + 120 9.375974e-04 7.490852e-04 6.859021e-04 6.018789e-04 1.835792e-04 + 121 1.173764e-03 7.364359e-04 6.930851e-04 5.575182e-04 1.815871e-03 + 122 6.027894e-04 8.171518e-04 8.072507e-04 1.738300e-03 1.241273e-03 + 123 4.964773e-04 6.018352e-04 7.207900e-04 3.466611e-04 1.775605e-03 + 124 9.063533e-04 1.810903e-03 2.214864e-03 1.162601e-03 1.688054e-03 + 125 7.224605e-04 5.445688e-04 2.781171e-03 1.051367e-03 4.096851e-04 + 126 1.015870e-03 5.472123e-04 1.163419e-03 1.121079e-03 1.391180e-03 + 127 1.193031e-03 2.059985e-04 7.698217e-04 9.046249e-04 9.000097e-04 + 128 3.405044e-04 7.676629e-04 1.226688e-03 2.170311e-03 6.030218e-03 + 129 1.215689e+00 1.326754e+00 1.291245e+00 1.179394e+00 1.219649e+00 + 130 2.144499e+02 2.128678e+02 2.130392e+02 2.113746e+02 2.116868e+02 + 131 3.367218e+02 3.336817e+02 3.336328e+02 3.335651e+02 3.316311e+02 + 132 1.378614e+01 1.362123e+01 1.376779e+01 1.359404e+01 1.354731e+01 + 133 5.043638e-02 5.903677e-02 3.645179e-02 4.625151e-02 4.209940e-02 + 134 2.312880e-02 1.617873e-02 2.004180e-02 1.711429e-02 1.457424e-02 + 135 1.038445e-01 1.065048e-01 1.116600e-01 1.188517e-01 1.172197e-01 + 136 3.472049e-01 3.690632e-01 3.767612e-01 3.424430e-01 3.699563e-01 + 137 6.102055e-02 7.121802e-02 7.064818e-02 6.084632e-02 7.024810e-02 + 138 3.355946e-02 2.039513e-02 1.906855e-02 1.857924e-02 2.086445e-02 + 139 5.004191e-03 9.076917e-03 1.117692e-02 9.982240e-03 1.046194e-02 + 140 1.830446e-02 1.407658e-02 1.623115e-02 1.217586e-02 1.249689e-02 + 141 8.084906e-03 7.065023e-03 2.024397e-02 8.016746e-03 1.244397e-02 + 142 1.606563e-02 1.319666e-02 2.663349e-02 8.582080e-03 1.453056e-02 + 143 8.728295e-03 1.052047e-02 2.092143e-03 1.298116e-02 4.419233e-03 + 144 7.265729e-03 7.074226e-03 7.834157e-03 4.108551e-03 8.738366e-03 + 145 6.253776e-03 4.183913e-03 8.156991e-03 9.847259e-03 6.061956e-03 + 146 3.291748e-03 6.713529e-03 3.740090e-03 2.316156e-03 3.750523e-03 + 147 9.626292e-03 6.850875e-03 1.148109e-02 9.184894e-03 1.087442e-02 + 148 3.680505e-03 3.502156e-03 3.103022e-03 4.004046e-03 2.471456e-03 + 149 3.848419e-03 5.543107e-03 3.401378e-03 6.931261e-03 3.226172e-03 + 150 3.862742e-03 3.230054e-03 4.997901e-03 5.348273e-03 5.320348e-03 + 151 4.060788e-03 3.983177e-03 3.113425e-03 6.331119e-03 2.072619e-03 + 152 5.876950e-03 4.375996e-03 4.417243e-03 9.731127e-03 4.957371e-03 + 153 1.518563e-03 2.977988e-03 3.493551e-03 3.383949e-03 3.054385e-03 + 154 4.832546e-03 2.771710e-03 4.332503e-03 2.497175e-03 3.577743e-03 + 155 3.324629e-03 3.609109e-03 2.292370e-03 5.648248e-03 2.916801e-03 + 156 4.175659e-03 1.619440e-03 1.285896e-03 2.173281e-03 3.527419e-03 + 157 5.144726e-03 1.748713e-03 5.649061e-03 7.828880e-03 3.135732e-03 + 158 5.118228e-04 2.195247e-03 1.493038e-03 2.090185e-03 3.450474e-03 + 159 2.688615e-03 2.152353e-03 1.698727e-03 2.185070e-03 2.725754e-03 + 160 1.151871e-03 1.671047e-03 2.373660e-03 9.470969e-04 1.491691e-03 + 161 3.718583e-03 2.594255e-03 2.747939e-03 2.705281e-03 3.069927e-03 + 162 1.368705e-03 1.780029e-03 2.381150e-03 2.207561e-03 1.479310e-03 + 163 2.084596e-03 3.337295e-03 5.113287e-03 2.973307e-03 1.204552e-03 + 164 2.490532e-03 4.208816e-03 2.915536e-03 3.309018e-03 3.147054e-03 + 165 3.020759e-03 2.413205e-03 1.977580e-03 1.347476e-03 2.079919e-03 + 166 2.030260e-03 1.128262e-03 2.220189e-03 2.372578e-03 1.041580e-03 + 167 1.221610e-03 1.834607e-03 1.990929e-03 2.699624e-03 2.900921e-03 + 168 2.188198e-03 3.787996e-03 5.122644e-03 2.074621e-03 4.306693e-03 + 169 1.537187e-03 3.307288e-03 2.038601e-03 2.278895e-03 9.094043e-04 + 170 3.120403e-03 2.361925e-03 6.691790e-03 2.125755e-03 4.741262e-03 + 171 2.177501e-03 2.449210e-03 2.885157e-03 1.151250e-03 1.042808e-03 + 172 5.960740e-03 2.914043e-03 1.069673e-03 2.359473e-03 2.990320e-03 + 173 4.120371e-03 7.116935e-04 3.033111e-03 7.557251e-03 2.156766e-03 + 174 2.068106e-03 2.424724e-03 1.383492e-03 1.124430e-03 1.417132e-03 + 175 2.655871e-03 7.850185e-04 2.530473e-03 3.444328e-03 2.121541e-03 + 176 1.856200e-03 2.344157e-03 4.953907e-04 5.177158e-04 7.476259e-04 + 177 7.903727e-02 8.454592e-02 8.651722e-02 8.645577e-02 7.736320e-02 + 178 4.131525e-01 4.375704e-01 4.629628e-01 4.409721e-01 4.320956e-01 + 179 7.732350e-02 8.005026e-02 8.667257e-02 8.650476e-02 6.930097e-02 + 180 2.201463e-03 8.629089e-04 2.195930e-03 1.239676e-03 1.548764e-03 + 181 8.332586e-04 1.804493e-03 1.339918e-03 4.956213e-04 2.234246e-03 + 182 1.539184e-03 2.911280e-03 1.329194e-03 1.818412e-03 1.094678e-03 + 183 1.296965e-03 2.038128e-03 2.151670e-03 9.017476e-04 9.411513e-04 + 184 8.605251e-04 2.418770e-03 2.050161e-03 1.109057e-03 1.550463e-03 + 185 7.922439e-04 1.768801e-03 1.620781e-03 3.601660e-03 6.193259e-04 + 186 4.795494e-04 2.006224e-03 1.703881e-03 2.259555e-03 6.486120e-04 + 187 1.870194e-03 1.201235e-03 9.326535e-04 2.948800e-03 1.265980e-03 + 188 9.918584e-04 5.432505e-04 5.579025e-04 1.305724e-03 5.486834e-04 + 189 2.323641e-03 2.291511e-03 2.464858e-03 1.361481e-03 1.374028e-03 + 190 2.150557e-03 2.364893e-03 1.625509e-03 3.570157e-03 1.788556e-03 + 191 7.703600e-04 1.461242e-03 1.668213e-03 1.630688e-03 2.218326e-03 + 192 9.159257e-04 1.074308e-03 6.515825e-04 2.617382e-03 1.506016e-03 + 193 6.850695e-04 1.145580e-03 1.421577e-03 1.121569e-03 2.660068e-03 + 194 8.930962e-04 2.782040e-03 1.545424e-03 9.235567e-04 7.750854e-04 + 195 1.183409e-03 8.213196e-04 6.663515e-04 8.678931e-04 6.744052e-04 + 196 1.006493e-03 3.454896e-04 8.891987e-04 1.540906e-03 1.110162e-03 + 197 2.112664e-03 1.746111e-03 2.520705e-03 1.699946e-03 2.900606e-03 + 198 5.670949e-04 6.570689e-04 1.071142e-03 5.943647e-04 4.606571e-04 + 199 1.816848e-03 1.630316e-03 1.298827e-03 2.238027e-03 5.434334e-04 + 200 1.452451e-03 1.625122e-04 6.518789e-04 8.237611e-04 9.419074e-04 + 201 1.669975e-03 1.746502e-03 8.463154e-04 5.296017e-04 3.953925e-04 + 202 3.088103e-03 5.357379e-04 1.913644e-03 2.748789e-03 1.501146e-03 + 203 9.744880e-04 1.043926e-03 1.281716e-03 1.520109e-03 4.947887e-04 + 204 1.107746e-03 4.705430e-04 3.789569e-04 7.225690e-04 2.537761e-04 + 205 3.388550e-04 5.677091e-04 1.388340e-03 1.673056e-03 1.181302e-03 + 206 5.928231e-04 1.737130e-03 1.234651e-03 9.439034e-04 2.717303e-04 + 207 5.301106e-04 7.654525e-04 1.633195e-03 3.184548e-03 2.092400e-03 + 208 8.637274e-04 2.400375e-03 1.434615e-03 1.447827e-03 1.614169e-03 + 209 6.420462e-04 1.255918e-03 1.782646e-03 1.455682e-03 6.549712e-04 + 210 1.482144e-03 5.811902e-04 1.514630e-03 1.096911e-03 1.446086e-03 + 211 9.823029e-04 9.729542e-04 1.890796e-03 2.056657e-03 1.051574e-03 + 212 8.320830e-04 3.558409e-04 8.117686e-04 9.646074e-04 1.948845e-04 + 213 8.537985e-04 1.731486e-03 1.808118e-03 9.905528e-04 1.328626e-03 + 214 7.029890e-04 7.913040e-04 5.419915e-04 2.290492e-03 5.615302e-04 + 215 7.967711e-04 9.584871e-04 7.742503e-04 1.578549e-03 6.449361e-04 + 216 2.107136e-03 1.208276e-03 2.241509e-03 3.696251e-04 7.493583e-04 + 217 6.849784e-04 3.983341e-04 1.077754e-03 1.543673e-03 2.055030e-03 + 218 9.051120e-04 1.306264e-03 4.067045e-04 1.055464e-03 2.425899e-03 + 219 9.117815e-04 2.055776e-03 1.970977e-03 2.661247e-03 1.324340e-03 + 220 9.891921e-04 1.415445e-03 9.475405e-04 2.317750e-04 8.018830e-05 + 221 1.491187e-03 1.770123e-03 1.454009e-03 9.383022e-04 1.572131e-03 + 222 7.767070e-03 5.661067e-03 4.156004e-03 4.980514e-03 3.317402e-03 + 223 2.277487e-03 2.095367e-03 9.432713e-04 8.776702e-04 1.399302e-03 + 224 1.181796e-03 4.396757e-04 1.626816e-03 7.689614e-04 9.129289e-04 + 225 8.591054e-04 4.304879e-04 6.218216e-04 3.530972e-04 6.181185e-04 + 226 9.977839e-04 2.023970e-03 2.479024e-03 7.260384e-04 5.799801e-04 + 227 2.601562e-03 2.116855e-03 2.896974e-03 2.797483e-03 2.206063e-03 + 228 7.950839e-03 7.000225e-03 8.720069e-03 9.683938e-03 6.479827e-03 + 229 1.200074e-03 1.237348e-03 2.214471e-03 1.891556e-03 1.615163e-03 + 230 1.574910e-03 1.149442e-03 1.123545e-03 1.337603e-03 8.219232e-04 + 231 5.088073e-04 9.424419e-04 3.094620e-04 1.662885e-03 8.476794e-04 + 232 7.146709e-04 1.638633e-03 9.749290e-04 1.840507e-03 3.654284e-03 + 233 1.462186e-03 1.704093e-03 2.180975e-03 2.079278e-03 3.544916e-03 + 234 6.541604e-03 1.148591e-02 1.121961e-02 6.714641e-03 8.029422e-03 + 235 2.076427e-03 4.323297e-03 3.483231e-03 1.049927e-03 1.474993e-03 + 236 2.625957e-04 2.665277e-04 1.317246e-03 4.953279e-04 1.735548e-03 + 237 8.520546e-04 6.779601e-04 3.051294e-03 9.021306e-04 2.372369e-03 + 238 1.402005e-03 1.048153e-03 6.254067e-04 6.640296e-04 1.066419e-03 + 239 1.955512e-03 1.107497e-03 2.638358e-03 2.026316e-03 1.275022e-03 + 240 9.504811e-04 1.443484e-03 2.807973e-03 1.214755e-03 3.257786e-04 + 241 1.712725e-03 1.068762e-03 2.838897e-03 1.842472e-03 1.690667e-03 + 242 9.689756e-04 5.422355e-04 8.740106e-04 5.419136e-04 3.157436e-04 + 243 8.677998e-04 7.399194e-04 3.071578e-04 5.726178e-04 1.376229e-03 + 244 6.458180e-04 3.219002e-04 1.148013e-03 8.779797e-04 9.742158e-04 + 245 4.217446e-04 7.957853e-04 1.599680e-03 1.319261e-03 1.386708e-04 + 246 8.297833e-04 1.146416e-03 1.675795e-03 1.640070e-03 1.250123e-03 + 247 5.464740e-04 1.106507e-03 2.953739e-03 1.706855e-03 1.007884e-03 + 248 5.293612e-04 5.240549e-04 1.034141e-03 8.809664e-04 2.606388e-04 + 249 2.810452e-04 1.340715e-03 1.443125e-03 2.232542e-03 9.715037e-04 + 250 8.014040e-04 3.573637e-04 1.000251e-03 4.017331e-04 7.051825e-04 + 251 1.962340e-03 9.668105e-04 5.989987e-04 7.429064e-04 1.155978e-03 + 252 1.114876e-03 1.005681e-03 1.588602e-03 4.626396e-04 1.633206e-03 + 253 4.398127e-04 1.123564e-03 1.662673e-03 1.227734e-04 5.844113e-04 + 254 1.015565e-03 3.302959e-04 2.003714e-03 1.512443e-03 9.860277e-04 + 255 4.330300e-04 4.701678e-04 1.344917e-03 6.081991e-04 1.144744e-03 + 256 1.390838e-03 2.492593e-04 5.280707e-04 2.588713e-03 8.572096e-04 + 257 1.387991e+00 1.364857e+00 1.392048e+00 1.277928e+00 1.490718e+00 + 258 2.143074e+02 2.139564e+02 2.128335e+02 2.125688e+02 2.107516e+02 + 259 3.389980e+02 3.373327e+02 3.360958e+02 3.362570e+02 3.329552e+02 + 260 1.384405e+01 1.372424e+01 1.387954e+01 1.379068e+01 1.352667e+01 + 261 1.803293e-02 1.961567e-02 5.366337e-03 2.293386e-02 2.384802e-02 + 262 3.450922e-02 3.138112e-02 3.167122e-02 4.563179e-02 3.911139e-02 + 263 8.374313e-02 1.083647e-01 1.071041e-01 1.128137e-01 1.248969e-01 + 264 3.320540e-01 3.902062e-01 3.895961e-01 4.411117e-01 4.205171e-01 + 265 6.056628e-02 6.099049e-02 6.936573e-02 7.691034e-02 6.631060e-02 + 266 9.098860e-03 1.364312e-02 1.424522e-02 1.457791e-02 1.052431e-02 + 267 2.685873e-02 2.183120e-02 1.397311e-02 2.000214e-02 2.020671e-02 + 268 1.712650e-02 8.698887e-03 1.831582e-02 1.469889e-02 1.533814e-02 + 269 1.985606e-02 1.694650e-02 1.760084e-02 8.847813e-03 1.284253e-02 + 270 1.676943e-02 1.183045e-02 2.690262e-02 1.372795e-02 1.539620e-02 + 271 5.507255e-03 7.780703e-03 4.292880e-03 7.967925e-03 8.274209e-03 + 272 9.809460e-03 9.828471e-03 9.997578e-03 5.889146e-03 7.698742e-03 + 273 7.363525e-03 7.300682e-03 9.790901e-03 1.201653e-02 8.910934e-03 + 274 7.430015e-03 5.857511e-03 1.044549e-02 4.542467e-03 5.844284e-03 + 275 9.506824e-03 6.040063e-03 9.510135e-03 1.037573e-02 9.526284e-03 + 276 3.855733e-03 4.576549e-03 7.267365e-03 5.204741e-03 7.610643e-03 + 277 5.505773e-03 4.958324e-03 1.011458e-02 5.117380e-03 3.421345e-03 + 278 1.937800e-03 3.426987e-03 2.611815e-03 2.468735e-03 3.452601e-03 + 279 6.279936e-03 3.216747e-03 1.237356e-02 6.234911e-03 3.540515e-03 + 280 4.844941e-03 3.068832e-03 5.857508e-03 4.418002e-03 4.816046e-03 + 281 3.658489e-03 4.914006e-03 4.076841e-03 6.414812e-03 3.402105e-03 + 282 6.573048e-03 3.168142e-03 5.465198e-03 5.078799e-03 5.754529e-03 + 283 2.364971e-03 3.794615e-03 3.448173e-03 3.032052e-03 3.305355e-03 + 284 3.867890e-03 2.115032e-03 4.885741e-03 5.169040e-03 3.215722e-03 + 285 4.856607e-03 2.460715e-03 6.516272e-03 3.102262e-03 2.124409e-03 + 286 1.882285e-03 3.191519e-03 6.001724e-03 6.276467e-03 1.646245e-03 + 287 2.031350e-03 1.592319e-03 3.807615e-03 6.902412e-04 3.467855e-03 + 288 6.939837e-03 8.348292e-03 5.213112e-03 2.452194e-03 2.489080e-03 + 289 9.076885e-04 8.287156e-04 6.408923e-04 1.934017e-03 3.243719e-03 + 290 5.401324e-03 5.987681e-03 8.736274e-03 5.267067e-03 4.079581e-03 + 291 2.047174e-03 8.889573e-04 1.682881e-03 1.494268e-03 1.675671e-03 + 292 2.097087e-03 2.906475e-03 3.987729e-03 3.725255e-03 8.885089e-04 + 293 3.714603e-03 1.742561e-03 4.178154e-03 1.019134e-03 3.046071e-03 + 294 8.842485e-04 2.177927e-03 2.083858e-03 2.127570e-03 1.877872e-03 + 295 5.816554e-03 3.703121e-03 5.131794e-03 2.104471e-03 2.325026e-03 + 296 1.481760e-03 2.984041e-03 1.542215e-03 2.177270e-03 1.163024e-03 + 297 1.381861e-03 1.002973e-03 3.206423e-03 2.132749e-03 2.335909e-03 + 298 4.162685e-03 2.314643e-03 3.278851e-03 1.329488e-03 2.553194e-03 + 299 1.844854e-03 2.735143e-03 7.184705e-03 1.706486e-03 3.143575e-03 + 300 2.012232e-03 2.579769e-03 3.663761e-04 1.473091e-03 1.260317e-03 + 301 1.779075e-03 3.040089e-03 2.293460e-03 1.308011e-03 2.600400e-03 + 302 9.232649e-04 1.130147e-03 1.996275e-03 2.974133e-03 1.295134e-03 + 303 1.208917e-03 3.636488e-03 5.089973e-04 2.312902e-03 2.190275e-03 + 304 6.664847e-04 1.904671e-03 3.656240e-03 3.269662e-03 1.318086e-03 + 305 7.511147e-02 6.712296e-02 7.438130e-02 7.164912e-02 7.461156e-02 + 306 4.159191e-01 4.160613e-01 4.956453e-01 4.332470e-01 4.489697e-01 + 307 7.516367e-02 8.275179e-02 9.161600e-02 7.761473e-02 8.352405e-02 + 308 3.679927e-03 1.735646e-03 3.218811e-03 3.030168e-03 1.560722e-03 + 309 1.570406e-03 7.895971e-04 5.224949e-03 1.088903e-03 1.800760e-04 + 310 2.552340e-03 1.536278e-03 1.871225e-03 3.236813e-03 1.854218e-03 + 311 1.611058e-03 9.583848e-04 8.105383e-04 2.015301e-03 1.732549e-03 + 312 9.138948e-04 2.346249e-03 2.401630e-03 6.232394e-04 1.692830e-03 + 313 1.945531e-03 8.809693e-04 2.495983e-03 1.311270e-03 9.198062e-04 + 314 3.069824e-04 8.916631e-04 2.615633e-03 4.414077e-04 6.674298e-04 + 315 2.839054e-03 1.122368e-03 3.215087e-03 2.648466e-03 2.559356e-03 + 316 1.131018e-03 1.113944e-03 8.073159e-04 2.234106e-03 2.163672e-03 + 317 2.478347e-03 5.996488e-04 2.406969e-03 1.856510e-03 8.127503e-04 + 318 1.465321e-03 2.093134e-03 1.337081e-03 1.000197e-03 1.684400e-03 + 319 8.393921e-04 1.457334e-03 3.334960e-03 7.068705e-04 3.044299e-04 + 320 2.344288e-03 3.609372e-03 3.264371e-03 1.664510e-03 9.126876e-04 + 321 1.119677e-03 4.360418e-03 1.618169e-03 6.788763e-04 1.624236e-03 + 322 8.287350e-04 2.541847e-03 3.396771e-03 2.210050e-03 3.466392e-04 + 323 1.941407e-03 2.141864e-03 2.158377e-03 1.036849e-03 8.220790e-04 + 324 1.126736e-03 9.337614e-04 1.439385e-03 9.735082e-04 1.020058e-03 + 325 1.230563e-03 5.554631e-04 1.429756e-03 1.075197e-03 8.719245e-04 + 326 8.761002e-04 1.123763e-03 2.513930e-03 1.957796e-03 1.766207e-03 + 327 1.489604e-03 1.858187e-03 1.187400e-03 2.010283e-03 1.535842e-03 + 328 1.059990e-03 1.549990e-03 2.826418e-03 9.817156e-04 1.073305e-03 + 329 9.172781e-04 8.088396e-04 1.650417e-03 2.561466e-03 9.050553e-04 + 330 1.316395e-03 1.409974e-03 5.740370e-04 9.183158e-04 6.806838e-04 + 331 2.755634e-03 1.503390e-03 1.330103e-03 1.570220e-03 2.183560e-03 + 332 3.032021e-03 1.827174e-03 1.066766e-03 8.769803e-04 6.727371e-04 + 333 1.861948e-03 1.914668e-03 1.656456e-03 1.442386e-03 8.152440e-04 + 334 2.408870e-03 2.036782e-03 2.790161e-03 1.428655e-03 2.645353e-03 + 335 1.463174e-03 1.135987e-03 3.323013e-03 6.538129e-04 8.204486e-04 + 336 1.231766e-03 8.282639e-04 1.678908e-03 1.024564e-03 4.742009e-04 + 337 1.422506e-03 1.695920e-03 2.874906e-03 1.495112e-03 1.407893e-03 + 338 1.076246e-03 1.191121e-03 9.422169e-04 8.661426e-04 2.349729e-04 + 339 1.375738e-03 7.964214e-04 1.383984e-03 2.011300e-03 9.074404e-04 + 340 9.096165e-04 8.207511e-04 1.070157e-03 1.016518e-03 6.938526e-04 + 341 2.864975e-03 1.623666e-03 9.054823e-04 7.974630e-04 8.684544e-04 + 342 1.341503e-03 6.306934e-04 1.001462e-03 7.536773e-04 2.544672e-03 + 343 1.441338e-03 1.417054e-03 1.034570e-03 8.037559e-04 1.316862e-03 + 344 1.518399e-03 2.554191e-03 2.698227e-03 2.332890e-03 1.121291e-03 + 345 2.768625e-04 5.012969e-04 8.769949e-04 4.333447e-04 1.625146e-04 + 346 1.988220e-03 7.053195e-04 2.918792e-03 2.663717e-03 1.329797e-03 + 347 1.375205e-03 6.559741e-04 1.270282e-03 7.137266e-04 4.350483e-04 + 348 1.044484e-03 6.778080e-04 7.552908e-04 5.171971e-04 4.886106e-04 + 349 4.649875e-03 2.153624e-03 3.084284e-03 2.461154e-03 2.710863e-03 + 350 1.416925e-02 1.102125e-02 9.328639e-03 1.163069e-02 7.590934e-03 + 351 2.444004e-03 2.341364e-03 2.390830e-03 2.915206e-03 3.200192e-03 + 352 3.977821e-04 5.366247e-04 2.023973e-04 7.642727e-04 1.565529e-03 + 353 2.753321e-03 8.828547e-04 1.483097e-03 2.863913e-03 1.527551e-03 + 354 2.679750e-03 4.815009e-04 4.196434e-04 1.647323e-03 1.892052e-03 + 355 6.055463e-04 1.185083e-03 1.253065e-03 1.710694e-03 2.223082e-03 + 356 8.657015e-03 9.897956e-03 6.978617e-03 7.628298e-03 8.293114e-03 + 357 1.552163e-03 3.663488e-03 1.826606e-03 1.259686e-03 1.169447e-03 + 358 9.678408e-04 4.103647e-04 1.239685e-03 1.255182e-03 1.059581e-03 + 359 2.253233e-04 1.238140e-03 1.579861e-03 1.121676e-03 1.622867e-03 + 360 1.589660e-03 1.330291e-03 1.932938e-03 1.046458e-03 3.176973e-03 + 361 9.734647e-04 1.038466e-03 1.228079e-03 2.232384e-03 9.658447e-04 + 362 3.839274e-03 2.797687e-03 4.231640e-03 7.009229e-03 3.273554e-03 + 363 1.452289e-03 1.154951e-03 2.385455e-03 2.562208e-03 2.442079e-03 + 364 3.160124e-04 4.318334e-04 1.368792e-03 3.787542e-04 6.227474e-04 + 365 4.998915e-04 4.606328e-04 7.917920e-04 1.252917e-03 1.518569e-03 + 366 1.786964e-03 1.589964e-03 2.982818e-03 2.169541e-04 4.613875e-04 + 367 7.237175e-04 1.488941e-03 1.362112e-03 9.736998e-04 4.311155e-04 + 368 1.085245e-03 2.489370e-03 1.011579e-03 7.646243e-04 1.200104e-03 + 369 6.067392e-04 7.986510e-04 3.989844e-04 1.495568e-03 3.498850e-04 + 370 9.725334e-04 5.182346e-04 1.780965e-03 1.504352e-03 6.398565e-04 + 371 1.886887e-04 1.000259e-03 6.007156e-04 3.424835e-04 6.519911e-04 + 372 1.037777e-03 1.072606e-03 4.697325e-04 7.958025e-04 1.676819e-03 + 373 7.868945e-04 2.217904e-03 4.456110e-03 1.333821e-03 1.022261e-03 + 374 7.044595e-04 2.613692e-03 2.999403e-03 1.859095e-03 2.549936e-03 + 375 8.054575e-04 1.266615e-03 5.192925e-04 1.992262e-03 1.484349e-03 + 376 1.086386e-03 1.231248e-03 1.054825e-03 9.312669e-04 8.793682e-04 + 377 1.363757e-03 9.516350e-04 6.522069e-04 7.060451e-04 1.030284e-03 + 378 6.251680e-04 7.403105e-04 1.119682e-03 1.423642e-03 1.104972e-03 + 379 8.926299e-04 2.866885e-04 7.853181e-04 3.690073e-04 3.627781e-04 + 380 7.976693e-04 1.268330e-03 5.359016e-04 2.347931e-04 2.240513e-04 + 381 9.785296e-04 1.079748e-03 4.056160e-03 1.063123e-03 1.208089e-03 + 382 4.031644e-04 1.364390e-03 1.489027e-03 9.662090e-04 1.068254e-03 + 383 1.904761e-03 3.093833e-04 8.565729e-04 5.795297e-04 6.570558e-04 + 384 3.396739e-04 5.965487e-04 9.942648e-05 1.124419e-03 3.126801e-04 + 385 1.380253e+00 1.395438e+00 1.407473e+00 1.367213e+00 1.364918e+00 + 386 2.160288e+02 2.133902e+02 2.146756e+02 2.144317e+02 2.122615e+02 + 387 3.395112e+02 3.346564e+02 3.369820e+02 3.367178e+02 3.340580e+02 + 388 1.383362e+01 1.345187e+01 1.394432e+01 1.368202e+01 1.362424e+01 + 389 4.410245e-02 2.968423e-02 1.757278e-02 4.062331e-02 3.664389e-02 + 390 3.055326e-02 3.937521e-02 3.241977e-02 2.492153e-02 1.592353e-02 + 391 1.195395e-01 1.256208e-01 1.294900e-01 1.421332e-01 1.320225e-01 + 392 3.211203e-01 3.415937e-01 3.961968e-01 3.958283e-01 3.564796e-01 + 393 5.229935e-02 5.660839e-02 8.189222e-02 7.380430e-02 6.672219e-02 + 394 2.702209e-02 2.337404e-02 1.481005e-02 2.419263e-02 2.273066e-02 + 395 2.142519e-02 2.080519e-02 2.661863e-02 1.392178e-02 1.220469e-02 + 396 1.300786e-02 1.073380e-02 8.597236e-03 1.330605e-02 9.390974e-03 + 397 3.649238e-02 2.301729e-02 4.335303e-02 1.577952e-02 2.493834e-02 + 398 7.306049e-03 6.631107e-03 1.050083e-02 5.633522e-03 9.330576e-03 + 399 9.848971e-03 1.056723e-02 7.813778e-03 1.147427e-02 5.035025e-03 + 400 1.212102e-02 1.350843e-02 1.606178e-02 7.101822e-03 1.335799e-02 + 401 2.639916e-03 3.020208e-03 1.938425e-03 5.310521e-03 2.697119e-03 + 402 1.467712e-02 1.327391e-02 3.046956e-02 1.203959e-02 1.543200e-02 + 403 2.071025e-03 1.489060e-03 4.147349e-03 3.456188e-03 1.446981e-03 + 404 8.226049e-03 7.268411e-03 8.396711e-03 4.298218e-03 7.539719e-03 + 405 2.275345e-03 2.644834e-03 8.391980e-03 4.706232e-03 4.269032e-03 + 406 7.850417e-03 4.695540e-03 7.841123e-03 7.121330e-03 5.752696e-03 + 407 3.886631e-03 6.220604e-03 9.604662e-03 5.541876e-03 6.364041e-03 + 408 6.817644e-03 3.235159e-03 1.097748e-02 1.127317e-02 5.741644e-03 + 409 1.418302e-03 3.405196e-03 4.537554e-03 2.587065e-03 2.050720e-03 + 410 7.143705e-03 5.348283e-03 9.259495e-03 4.069613e-03 2.161055e-03 + 411 4.218343e-03 2.198110e-03 8.715475e-04 3.363464e-03 6.391446e-03 + 412 2.448598e-03 2.979650e-03 4.231611e-03 2.692193e-03 1.830108e-03 + 413 2.455668e-03 2.648127e-03 3.982129e-03 3.679859e-03 1.588740e-03 + 414 2.016694e-03 3.303153e-03 3.056092e-03 1.809384e-03 3.775256e-03 + 415 3.260311e-03 2.469618e-03 3.386421e-03 2.206280e-03 3.162212e-03 + 416 2.024288e-03 1.746762e-03 2.202566e-04 1.920125e-03 1.355679e-03 + 417 4.080139e-03 3.454749e-03 5.024453e-03 5.538509e-03 3.085212e-03 + 418 4.020165e-03 2.955746e-03 1.899352e-03 2.268564e-03 3.281288e-03 + 419 7.415973e-04 2.595225e-03 1.263814e-03 1.367034e-03 1.455391e-03 + 420 2.378291e-03 1.465023e-03 5.191324e-03 3.278014e-03 1.583596e-03 + 421 3.991522e-03 2.200866e-03 2.317048e-03 2.968460e-03 1.921306e-03 + 422 2.961863e-03 3.407670e-03 3.196479e-03 2.285475e-03 3.385013e-03 + 423 4.101005e-03 5.443393e-03 6.417808e-03 2.386748e-03 3.319468e-03 + 424 1.384618e-03 1.587046e-03 2.842700e-03 1.024517e-03 2.304386e-03 + 425 4.125192e-03 1.846486e-03 5.656412e-03 2.362364e-03 3.484947e-03 + 426 1.043418e-03 1.486934e-03 1.794860e-03 2.027601e-03 1.584483e-03 + 427 2.883518e-03 1.819755e-03 2.679662e-03 2.512121e-03 2.513407e-03 + 428 4.726308e-03 1.843362e-03 4.126200e-03 4.368333e-03 1.775639e-03 + 429 1.360389e-03 3.146978e-03 3.947442e-03 4.375660e-03 4.373716e-03 + 430 2.259557e-03 4.946998e-04 3.765863e-03 2.917665e-03 1.594721e-03 + 431 4.122416e-03 3.255887e-03 7.684399e-04 8.336843e-04 1.747498e-03 + 432 7.348275e-04 1.094997e-03 2.597836e-03 9.147707e-04 5.058126e-04 + 433 7.202125e-02 8.582691e-02 9.223144e-02 7.477984e-02 7.487093e-02 + 434 4.092634e-01 4.174182e-01 4.759427e-01 4.152384e-01 4.016992e-01 + 435 8.388148e-02 8.238957e-02 9.935676e-02 8.393357e-02 7.781581e-02 + 436 2.317104e-03 2.292478e-03 3.123147e-03 1.561091e-03 7.897557e-04 + 437 4.363710e-04 3.846167e-04 2.196984e-03 1.266961e-03 5.817035e-04 + 438 3.103573e-03 2.343652e-03 2.602379e-03 3.180835e-03 2.932438e-03 + 439 9.828169e-04 5.637113e-04 2.307599e-03 1.439044e-03 3.043020e-04 + 440 2.613334e-03 1.588307e-03 2.938165e-03 2.169693e-03 1.104586e-03 + 441 1.669148e-03 1.112754e-03 2.476296e-03 1.579483e-03 1.093043e-03 + 442 1.231906e-03 7.038073e-04 2.427798e-03 3.048444e-04 1.193152e-03 + 443 2.222307e-03 1.204268e-03 3.269554e-03 2.215266e-03 6.052664e-04 + 444 1.836895e-03 1.613821e-03 9.603401e-04 7.814464e-04 2.034187e-03 + 445 1.270022e-03 1.427696e-03 4.958974e-03 2.538217e-03 1.881075e-03 + 446 2.023342e-03 8.951418e-04 2.263845e-03 2.980005e-03 2.072465e-03 + 447 1.059144e-03 1.920491e-03 5.408375e-03 1.044120e-03 6.280918e-04 + 448 5.977362e-04 2.092257e-04 3.055619e-03 1.030586e-03 9.937415e-04 + 449 6.446348e-04 2.914300e-03 1.860602e-03 5.020734e-04 9.410592e-04 + 450 2.085391e-03 2.042878e-03 3.665293e-03 9.135465e-04 7.279598e-04 + 451 1.287837e-03 1.167770e-03 2.430008e-03 8.737392e-04 1.312683e-03 + 452 9.621803e-04 1.819213e-03 1.920449e-03 6.305847e-04 8.252295e-04 + 453 7.581929e-04 1.887236e-03 2.431537e-03 8.028576e-04 2.337895e-03 + 454 1.511247e-03 1.722935e-03 6.873049e-04 1.618085e-03 8.872419e-04 + 455 1.478578e-04 1.029371e-03 1.428395e-03 9.457518e-04 2.505943e-04 + 456 5.681793e-04 1.374103e-03 1.534678e-03 2.188020e-03 9.706142e-04 + 457 1.817965e-03 2.916820e-03 2.743097e-03 2.896759e-03 1.260590e-03 + 458 8.520416e-04 2.133076e-03 1.649362e-03 1.411742e-03 1.643820e-03 + 459 4.138634e-04 1.167375e-03 1.506941e-04 7.860770e-04 8.746583e-04 + 460 3.435651e-03 9.884565e-04 2.423644e-03 9.279819e-04 6.637593e-04 + 461 5.513115e-04 6.338853e-04 1.286198e-03 8.790006e-04 2.747413e-04 + 462 1.246221e-03 1.470633e-03 2.785518e-03 1.675228e-03 1.284070e-03 + 463 1.418442e-03 2.822943e-04 7.969440e-04 9.540261e-04 6.196212e-04 + 464 6.801799e-04 7.437643e-04 5.214581e-04 7.974986e-04 1.260651e-03 + 465 1.051007e-03 1.618422e-03 1.883461e-03 1.515783e-03 1.456594e-03 + 466 1.252405e-03 1.680435e-03 2.274176e-03 1.055638e-03 7.610168e-04 + 467 1.021599e-03 1.754567e-03 2.982985e-03 1.714563e-03 1.422850e-03 + 468 6.657126e-04 2.003125e-03 2.141781e-03 1.500900e-03 7.352756e-04 + 469 9.352419e-04 7.021081e-04 1.083442e-03 8.569900e-04 1.287845e-03 + 470 1.244105e-03 8.697767e-04 1.464038e-03 1.402701e-03 1.035200e-03 + 471 8.357337e-04 7.205259e-04 1.139830e-03 1.247989e-03 4.276051e-04 + 472 1.558277e-03 1.746911e-03 5.332921e-04 7.675688e-04 6.488821e-04 + 473 6.890672e-04 9.961470e-04 1.996971e-03 5.207235e-04 5.030947e-04 + 474 1.942997e-03 2.015086e-03 2.637856e-03 1.344175e-03 4.875343e-04 + 475 2.794066e-04 1.152803e-03 1.123483e-03 3.816975e-04 7.592527e-04 + 476 5.113241e-04 5.069860e-04 3.738676e-04 1.037833e-03 6.318066e-04 + 477 1.726985e-03 2.609741e-03 3.447109e-03 2.591603e-03 2.809329e-03 + 478 8.969971e-03 8.454726e-03 1.280751e-02 7.262509e-03 9.230437e-03 + 479 2.293968e-03 3.844016e-03 3.277099e-03 2.658683e-03 2.777989e-03 + 480 1.140727e-03 1.487154e-03 1.155316e-03 9.836332e-04 1.139739e-03 + 481 7.653620e-04 5.064937e-04 4.050693e-04 3.676831e-04 2.559608e-04 + 482 1.655537e-03 7.096783e-04 1.547117e-03 1.332389e-03 1.814707e-03 + 483 2.950047e-03 4.594068e-03 2.563458e-03 2.985118e-03 3.031006e-03 + 484 1.090941e-02 1.359377e-02 1.047261e-02 1.086049e-02 1.270207e-02 + 485 3.227304e-03 3.908218e-03 4.385762e-03 3.961907e-03 5.303819e-03 + 486 5.641427e-04 2.673605e-04 1.468460e-03 1.663199e-03 4.699631e-04 + 487 2.273358e-03 1.525206e-03 1.707120e-03 4.704745e-04 1.104661e-03 + 488 1.874026e-03 9.159809e-04 3.307749e-03 8.578231e-04 1.352902e-03 + 489 1.140721e-03 2.352525e-03 3.302166e-03 1.120696e-03 1.686359e-03 + 490 4.423503e-03 4.683504e-03 6.218964e-03 3.618702e-03 3.818320e-03 + 491 2.319253e-03 1.688806e-03 3.111287e-03 1.694813e-03 1.534832e-03 + 492 2.151503e-04 4.552033e-04 5.815149e-04 1.506139e-03 1.040536e-03 + 493 1.336581e-03 6.949229e-04 2.235284e-03 1.753754e-03 8.840084e-04 + 494 4.443426e-04 6.725548e-04 1.281060e-03 4.782125e-04 8.733100e-04 + 495 2.104360e-03 1.705465e-03 9.698936e-04 4.129868e-04 1.157984e-03 + 496 1.192750e-03 2.262196e-03 5.494164e-04 7.183278e-04 1.302373e-03 + 497 9.127729e-04 7.771238e-04 1.300076e-03 1.853947e-03 3.679439e-04 + 498 8.629654e-04 1.413717e-03 6.648354e-04 1.530409e-03 9.178840e-04 + 499 3.002476e-04 1.511617e-03 1.732029e-03 1.059385e-03 1.637874e-04 + 500 1.711665e-03 1.340201e-03 1.898277e-03 1.438991e-03 4.225736e-04 + 501 1.912296e-03 1.700148e-03 3.168590e-03 1.466292e-03 7.244916e-04 + 502 2.188449e-03 4.367693e-03 5.193466e-03 2.281644e-03 2.905879e-03 + 503 7.777446e-04 1.164561e-03 1.718398e-03 1.530484e-03 1.206212e-03 + 504 5.626660e-04 7.693328e-04 4.676231e-04 2.252297e-03 1.931270e-03 + 505 6.239618e-04 8.284219e-04 1.327419e-03 9.834561e-04 1.214297e-03 + 506 1.408794e-03 1.350296e-03 6.920499e-04 2.110486e-03 7.004471e-04 + 507 1.179591e-03 1.377438e-03 8.358332e-04 5.773264e-04 1.047837e-03 + 508 3.141033e-04 6.398589e-04 1.347365e-03 6.213427e-04 4.210459e-04 + 509 9.637508e-04 6.464709e-04 5.848249e-04 1.018453e-03 1.080935e-03 + 510 1.254169e-03 3.643952e-04 1.650039e-03 8.909900e-04 6.374387e-04 + 511 1.002012e-03 6.597853e-04 1.938165e-03 2.889714e-03 5.431345e-04 + 512 1.655284e-03 1.071262e-03 2.262493e-03 2.283228e-04 1.462504e-04 + 513 1.456575e+00 1.267708e+00 1.447496e+00 1.411267e+00 1.228892e+00 + 514 2.163935e+02 2.115273e+02 2.130370e+02 2.130483e+02 2.094250e+02 + 515 3.398404e+02 3.347720e+02 3.364860e+02 3.361489e+02 3.316005e+02 + 516 1.359974e+01 1.357012e+01 1.383886e+01 1.381915e+01 1.361004e+01 + 517 6.571951e-02 5.001736e-02 2.200649e-02 4.853065e-02 3.419776e-02 + 518 2.812995e-02 2.706051e-02 2.174630e-02 2.269742e-02 1.820307e-02 + 519 8.891139e-02 1.018990e-01 1.283479e-01 1.048735e-01 1.066278e-01 + 520 3.310793e-01 3.865552e-01 4.473074e-01 3.580423e-01 3.865017e-01 + 521 6.725488e-02 6.749656e-02 6.418991e-02 5.931291e-02 6.399319e-02 + 522 2.122792e-02 2.118952e-02 2.049959e-02 1.910303e-02 2.345194e-02 + 523 1.791585e-02 1.521717e-02 1.798206e-02 2.297013e-02 1.485356e-02 + 524 1.216790e-02 1.229176e-02 1.002846e-02 3.464064e-03 1.356432e-02 + 525 3.327691e-02 2.133077e-02 4.042627e-02 3.895007e-02 1.778607e-02 + 526 8.554024e-03 7.094464e-03 9.869741e-03 7.522197e-03 7.553948e-03 + 527 1.540470e-02 1.164677e-02 1.539676e-02 7.980212e-03 9.594185e-03 + 528 7.297941e-03 5.180607e-03 8.957961e-03 8.342865e-03 8.572825e-03 + 529 6.912500e-03 7.941399e-03 3.406577e-03 5.535646e-03 5.137693e-03 + 530 1.007826e-02 9.612533e-03 1.759064e-02 1.071962e-02 1.336260e-02 + 531 4.214698e-03 1.337265e-03 2.583624e-03 3.632013e-03 1.905290e-03 + 532 7.172237e-03 6.452732e-03 8.849783e-03 3.528505e-03 4.173291e-03 + 533 3.689220e-03 5.477763e-03 6.654509e-03 6.335501e-03 6.872605e-03 + 534 6.783895e-03 5.858138e-03 2.633118e-03 3.507882e-03 3.687809e-03 + 535 9.437038e-03 7.133714e-03 1.078757e-02 1.102353e-02 4.374062e-03 + 536 3.375916e-03 2.372081e-03 4.101615e-04 2.268397e-03 2.533030e-03 + 537 6.662230e-03 5.423544e-03 9.330587e-03 5.580230e-03 3.187513e-03 + 538 3.341204e-03 1.417969e-03 4.429501e-03 1.504919e-03 1.995084e-03 + 539 3.208980e-03 3.870169e-03 4.884655e-03 8.315699e-03 4.626198e-03 + 540 3.454766e-03 2.493855e-03 7.434949e-03 2.473649e-03 3.323738e-03 + 541 3.055260e-03 2.629381e-03 3.455466e-03 3.907192e-03 2.355101e-03 + 542 2.574772e-03 2.558555e-03 5.394938e-03 3.434815e-03 2.068554e-03 + 543 4.282220e-03 4.955945e-03 2.934384e-03 4.130111e-03 2.733448e-03 + 544 2.228881e-03 2.991029e-03 4.982271e-03 4.179661e-03 1.752596e-03 + 545 4.802104e-03 5.134590e-03 2.764024e-03 2.623803e-03 4.814400e-03 + 546 5.891783e-04 1.504475e-03 3.348477e-03 1.048466e-03 1.515878e-03 + 547 3.935697e-03 2.589058e-03 2.685885e-03 1.715826e-03 1.629652e-03 + 548 1.786508e-03 2.768250e-03 2.277329e-03 1.426946e-03 2.349328e-03 + 549 1.916180e-03 6.745088e-04 1.858111e-03 2.333517e-03 2.225261e-03 + 550 1.975234e-03 2.119220e-03 2.391584e-03 1.442472e-03 2.100286e-03 + 551 3.230705e-03 3.630680e-03 1.221357e-03 2.515406e-03 2.736887e-03 + 552 6.561554e-04 2.272720e-03 3.144510e-03 2.139373e-03 5.071263e-03 + 553 1.060799e-03 1.867028e-03 1.653547e-03 7.144507e-04 3.195841e-03 + 554 4.824577e-03 6.741798e-03 2.196944e-03 3.612283e-03 1.642272e-03 + 555 6.814942e-04 1.992050e-03 1.680792e-03 9.965666e-04 1.462020e-03 + 556 2.199156e-03 1.760441e-03 6.007201e-03 3.605383e-03 2.319441e-03 + 557 5.105118e-03 1.221610e-03 2.194170e-03 6.124744e-03 1.400018e-03 + 558 1.592894e-03 1.592440e-03 2.049212e-03 1.041553e-03 1.432343e-03 + 559 1.201375e-03 3.206474e-03 4.883067e-03 2.840202e-03 1.146743e-03 + 560 1.922024e-03 1.976068e-03 1.076269e-03 1.136790e-03 1.327084e-03 + 561 7.258353e-02 6.930034e-02 7.448761e-02 7.832836e-02 6.717765e-02 + 562 4.188662e-01 3.888624e-01 4.217932e-01 4.427501e-01 3.932670e-01 + 563 8.097730e-02 7.096258e-02 7.991467e-02 8.911318e-02 6.878371e-02 + 564 9.982714e-04 9.079659e-04 2.944330e-03 5.107196e-04 1.078127e-03 + 565 1.349568e-03 2.548281e-03 1.163618e-03 2.959647e-03 1.721921e-03 + 566 3.579359e-04 8.988726e-04 1.293162e-03 2.190197e-04 5.902661e-04 + 567 3.442553e-03 1.461593e-03 2.419717e-03 3.350183e-03 3.464022e-03 + 568 1.438962e-03 1.435410e-03 1.084296e-03 9.784469e-04 1.988563e-03 + 569 8.398205e-04 2.105640e-03 1.514443e-03 1.538358e-03 1.406289e-03 + 570 9.509075e-04 1.761809e-03 3.790557e-03 7.201421e-04 1.156957e-03 + 571 1.252166e-03 2.668069e-03 1.760969e-03 9.903264e-04 3.464850e-03 + 572 1.373803e-03 1.197400e-03 1.093134e-03 2.384192e-03 2.365408e-03 + 573 2.530796e-04 3.117877e-03 2.191137e-03 7.476714e-04 5.845785e-04 + 574 1.893675e-03 3.230664e-03 3.421338e-03 1.692969e-03 1.239556e-03 + 575 1.240926e-03 8.121211e-04 1.784728e-03 2.116303e-03 2.346976e-03 + 576 1.600342e-03 2.162356e-03 1.420984e-03 1.581432e-03 8.862663e-04 + 577 5.538548e-04 2.618873e-03 1.556749e-03 7.553769e-04 1.771264e-03 + 578 1.683321e-03 8.777319e-04 3.448205e-03 1.099705e-03 2.068554e-03 + 579 3.220594e-03 1.177671e-03 2.657184e-03 2.833963e-03 3.049532e-03 + 580 9.726821e-04 1.864444e-03 2.668133e-03 2.269361e-03 1.838118e-03 + 581 8.415914e-04 7.503773e-04 4.030419e-03 1.020382e-03 1.118565e-03 + 582 3.059119e-03 8.494085e-04 2.648553e-03 4.448959e-04 1.261015e-03 + 583 5.672938e-04 3.593988e-04 2.324127e-03 4.997962e-04 2.618093e-03 + 584 2.477759e-04 9.834157e-04 1.956255e-03 4.552193e-04 6.245832e-04 + 585 1.433619e-03 7.869198e-04 2.499294e-03 1.153790e-03 2.446272e-03 + 586 1.453155e-03 1.792699e-03 4.829920e-03 5.035841e-04 1.280777e-03 + 587 1.830411e-03 1.115490e-03 1.678909e-03 2.791151e-03 1.489737e-03 + 588 2.719415e-03 5.578321e-04 1.828383e-03 3.473358e-04 1.044627e-03 + 589 2.713829e-04 3.254805e-04 2.276917e-03 1.268258e-03 3.215471e-04 + 590 1.754613e-03 1.131254e-03 1.110609e-03 2.509234e-04 7.719011e-04 + 591 1.269551e-03 8.589293e-04 4.005203e-03 3.236359e-03 9.444064e-04 + 592 3.159994e-03 1.031360e-03 2.710736e-03 1.670081e-03 5.566695e-04 + 593 3.121873e-03 1.730933e-03 3.139316e-03 2.693473e-03 1.717137e-03 + 594 4.968761e-04 3.739233e-04 1.085894e-03 9.833092e-04 3.607803e-04 + 595 9.350753e-04 4.606596e-04 1.435335e-03 6.152189e-04 6.170502e-04 + 596 1.961697e-03 1.348827e-03 2.768734e-03 1.482126e-03 1.190802e-03 + 597 5.863203e-04 1.045456e-03 3.621199e-03 5.230605e-04 4.497918e-04 + 598 1.011206e-03 1.189095e-03 3.848442e-03 1.949348e-03 1.314846e-03 + 599 2.003757e-03 8.355252e-04 4.920678e-03 8.064975e-04 7.621346e-04 + 600 6.266826e-04 4.848515e-04 1.171552e-03 4.107222e-04 1.193134e-03 + 601 1.377929e-03 1.873376e-03 1.015670e-03 5.808356e-04 1.544557e-03 + 602 1.949131e-03 2.664268e-03 1.875277e-03 6.111948e-04 2.371176e-03 + 603 1.908856e-03 4.098800e-04 1.169141e-03 7.249444e-04 9.140334e-04 + 604 1.733141e-03 1.190921e-03 1.280300e-03 1.732877e-03 1.510162e-03 + 605 1.800197e-03 8.259413e-04 2.712823e-03 2.406359e-03 1.185315e-03 + 606 7.173358e-03 1.000966e-02 1.465133e-02 1.113671e-02 9.862698e-03 + 607 2.678219e-03 1.942680e-03 4.692231e-03 3.854509e-03 1.674342e-03 + 608 6.615358e-04 2.546178e-03 7.590249e-04 3.665305e-04 1.131995e-03 + 609 2.517188e-03 2.783449e-03 2.781329e-03 1.345585e-03 1.422754e-03 + 610 2.501684e-03 1.383025e-03 1.539830e-03 1.474004e-03 2.106892e-03 + 611 2.132069e-03 1.510755e-03 3.299388e-03 2.214612e-03 1.638461e-03 + 612 6.967694e-03 8.415792e-03 1.209556e-02 1.174264e-02 6.504921e-03 + 613 1.628785e-03 1.317076e-03 1.464566e-03 1.530926e-03 9.045549e-04 + 614 1.894712e-03 1.182148e-03 4.605698e-03 1.985973e-03 1.808748e-03 + 615 3.527105e-04 1.315701e-03 2.466787e-03 9.182180e-04 1.131519e-03 + 616 1.267712e-03 9.160287e-04 5.922254e-04 5.622453e-04 2.221891e-04 + 617 2.186632e-03 1.121200e-03 4.814786e-03 8.364262e-04 2.218816e-03 + 618 7.805336e-03 5.925994e-03 1.125535e-02 5.186095e-03 7.077465e-03 + 619 2.383792e-03 2.807942e-03 5.162530e-03 2.143258e-03 2.235614e-03 + 620 7.993785e-04 8.830768e-04 2.537697e-03 8.134580e-04 1.725110e-03 + 621 6.530882e-04 6.841208e-04 1.496674e-03 1.440241e-03 1.343968e-03 + 622 9.626809e-04 1.167463e-03 4.117085e-04 9.743135e-04 5.993016e-04 + 623 5.321941e-04 8.298585e-04 1.300155e-03 1.103061e-03 5.552631e-04 + 624 3.803216e-04 1.134013e-03 1.138947e-03 4.573009e-04 1.021958e-03 + 625 2.211726e-03 1.148131e-03 2.416380e-03 1.691129e-03 1.546659e-03 + 626 7.970980e-04 1.182670e-03 1.377550e-03 8.362676e-04 1.479009e-03 + 627 8.279360e-04 1.490219e-03 2.606381e-03 1.869620e-03 1.678060e-03 + 628 1.425851e-03 1.148693e-03 1.991178e-03 1.392488e-03 2.294375e-03 + 629 1.116226e-03 1.894245e-03 1.137772e-03 8.057714e-04 3.798821e-04 + 630 3.347068e-03 3.929793e-03 3.333520e-03 2.674217e-03 1.087097e-03 + 631 1.397587e-03 1.488690e-03 9.238400e-04 2.412694e-03 1.071105e-03 + 632 3.675675e-04 1.079187e-03 1.793326e-03 7.185545e-04 6.915736e-04 + 633 2.204835e-03 1.706433e-03 1.647840e-03 3.051002e-03 1.913282e-03 + 634 3.786636e-04 7.606633e-04 1.216756e-03 1.084261e-03 5.642057e-04 + 635 7.159498e-04 7.415620e-04 3.810562e-04 5.667189e-04 6.980301e-04 + 636 6.497149e-04 1.043469e-03 1.040145e-03 6.584817e-04 9.318994e-04 + 637 8.961527e-04 3.207613e-03 1.308713e-03 8.939114e-04 5.979187e-04 + 638 1.558063e-03 1.271208e-03 1.224782e-03 7.539023e-04 9.406003e-04 + 639 2.041553e-03 7.182345e-04 4.695186e-04 1.727178e-03 3.693021e-04 + 640 5.739395e-04 1.801075e-03 2.264932e-03 4.301421e-04 6.842652e-04 + 641 1.252454e+00 1.253170e+00 1.291604e+00 1.379055e+00 1.178278e+00 + 642 2.162607e+02 2.144830e+02 2.146743e+02 2.152866e+02 2.119046e+02 + 643 3.383882e+02 3.347732e+02 3.358038e+02 3.374523e+02 3.320427e+02 + 644 1.409304e+01 1.363736e+01 1.391105e+01 1.406131e+01 1.373883e+01 + 645 1.097358e-02 1.819123e-02 1.836974e-02 1.546359e-02 1.357952e-02 + 646 3.536295e-02 3.758590e-02 2.716873e-02 3.272724e-02 3.924827e-02 + 647 1.243160e-01 1.347938e-01 1.234744e-01 1.232312e-01 1.279043e-01 + 648 3.451904e-01 4.044479e-01 3.518178e-01 3.624301e-01 4.205712e-01 + 649 7.546841e-02 9.648619e-02 6.436990e-02 7.151104e-02 8.631492e-02 + 650 1.177966e-02 1.221504e-02 1.973214e-02 1.296940e-02 1.459469e-02 + 651 2.583347e-02 1.504821e-02 1.345476e-02 2.164367e-02 1.397630e-02 + 652 1.225431e-02 1.151700e-02 1.206949e-02 1.109574e-02 1.051374e-02 + 653 1.821752e-02 1.182627e-02 1.604917e-02 7.531683e-03 1.136091e-02 + 654 1.032419e-02 9.190770e-03 1.764060e-02 1.205854e-02 1.133422e-02 + 655 1.198464e-02 7.632892e-03 5.058048e-03 9.135078e-03 5.648832e-03 + 656 4.144703e-03 8.024963e-03 8.766946e-03 5.113327e-03 7.260618e-03 + 657 1.095069e-02 6.346947e-03 6.180544e-03 1.155713e-02 6.818261e-03 + 658 3.496182e-03 5.431232e-03 4.196358e-03 5.457649e-03 5.356063e-03 + 659 6.503517e-03 7.028283e-03 1.231138e-02 1.252085e-02 6.338878e-03 + 660 9.149957e-03 5.675256e-03 4.591091e-03 6.383926e-03 4.592640e-03 + 661 1.792689e-03 4.403873e-03 6.545669e-03 2.187064e-03 4.227852e-03 + 662 4.352220e-03 6.270199e-03 4.585396e-03 4.361904e-03 3.484268e-03 + 663 6.319118e-03 3.729707e-03 4.373429e-03 8.765674e-03 3.495745e-03 + 664 4.922107e-03 6.718832e-03 5.016926e-03 8.849719e-03 4.144863e-03 + 665 3.919527e-03 5.790090e-03 3.272380e-03 4.501939e-03 2.058920e-03 + 666 3.397322e-03 1.410044e-03 4.196498e-03 3.808362e-03 3.119101e-03 + 667 3.331440e-03 2.222870e-03 1.412223e-03 5.490038e-03 4.678555e-03 + 668 3.804957e-03 3.324274e-03 3.827265e-03 4.813660e-03 1.679519e-03 + 669 2.770736e-03 2.569259e-03 3.024545e-03 4.009186e-03 4.575991e-03 + 670 4.175945e-03 3.904919e-03 2.956677e-03 3.517795e-03 8.929463e-04 + 671 2.616465e-03 1.525527e-03 3.512726e-03 2.668759e-03 3.894232e-03 + 672 2.461028e-03 3.361817e-03 2.603661e-03 4.833372e-03 3.795806e-03 + 673 3.255362e-03 1.740603e-03 3.081694e-03 1.197768e-03 3.774893e-03 + 674 3.303956e-03 2.658443e-03 2.345623e-04 2.425775e-03 2.510584e-03 + 675 2.288820e-03 2.734848e-03 5.104379e-03 1.886335e-03 2.708069e-03 + 676 4.329897e-03 2.443682e-03 3.704618e-04 2.471519e-03 1.339266e-03 + 677 4.540893e-03 1.077011e-03 5.594693e-03 1.742241e-03 3.109288e-03 + 678 1.900109e-03 6.387598e-04 2.132976e-03 1.770227e-03 1.000761e-03 + 679 2.626605e-03 2.121830e-03 2.019572e-03 3.155274e-03 1.865912e-03 + 680 2.178953e-03 2.510170e-03 2.534269e-03 4.226561e-03 5.978565e-03 + 681 2.926410e-03 1.719385e-03 1.196113e-03 2.322580e-03 2.916821e-03 + 682 1.507978e-03 2.618337e-03 2.905200e-03 1.500886e-03 1.285801e-03 + 683 7.876152e-04 2.101925e-03 1.308670e-03 1.992207e-03 2.352429e-03 + 684 2.090824e-03 2.359386e-03 3.596808e-03 7.338147e-04 2.926119e-03 + 685 2.889421e-03 1.334831e-03 7.958271e-04 1.580336e-03 3.426390e-04 + 686 9.474077e-04 1.669522e-03 3.113988e-03 8.713880e-04 1.526776e-03 + 687 3.971748e-03 1.512648e-03 2.543298e-03 8.401311e-04 2.226739e-03 + 688 1.012901e-03 1.641030e-03 1.847717e-03 1.281464e-03 7.852263e-04 + 689 8.223547e-02 7.106380e-02 8.490642e-02 7.568043e-02 8.124432e-02 + 690 4.314166e-01 4.122687e-01 4.433202e-01 4.398257e-01 4.314690e-01 + 691 7.877930e-02 7.894879e-02 9.407165e-02 9.252322e-02 8.973175e-02 + 692 9.915442e-04 1.733387e-03 2.147665e-03 2.373486e-03 2.164625e-03 + 693 2.980787e-03 2.319805e-03 4.798785e-03 2.610428e-03 2.609469e-03 + 694 6.494046e-04 1.708152e-03 2.362597e-03 4.504619e-04 2.771303e-03 + 695 1.777792e-03 1.398033e-03 3.502889e-03 2.588339e-03 2.548515e-03 + 696 1.587383e-03 3.798867e-03 3.073112e-03 1.691388e-03 2.515409e-03 + 697 1.456084e-03 8.691449e-04 2.411350e-03 1.235997e-03 1.623690e-03 + 698 6.796010e-04 1.149285e-03 2.557269e-03 4.139416e-04 1.171318e-03 + 699 2.035681e-03 2.423217e-03 1.269993e-03 3.016639e-03 2.816786e-03 + 700 1.526042e-03 1.904353e-03 3.763341e-03 1.920446e-03 2.451784e-03 + 701 1.319206e-03 1.988364e-03 1.011683e-03 1.448791e-03 1.999521e-03 + 702 7.110709e-04 2.107979e-03 1.704562e-03 1.213013e-03 2.518871e-03 + 703 1.281734e-03 5.108627e-04 1.872949e-03 9.647441e-04 2.068610e-03 + 704 1.411948e-03 1.047603e-03 2.672720e-03 8.539353e-04 2.282671e-03 + 705 1.815814e-04 1.165627e-03 9.101845e-04 9.101938e-04 2.312878e-03 + 706 7.546806e-04 8.886040e-04 1.580099e-03 1.889195e-03 2.662937e-03 + 707 1.032253e-03 1.323796e-03 1.950419e-03 1.268190e-03 5.349078e-04 + 708 2.618826e-04 2.673800e-03 1.747026e-03 1.582548e-03 9.883349e-04 + 709 1.749167e-03 1.491791e-03 1.129747e-03 8.430329e-04 1.211597e-03 + 710 7.796059e-04 5.883659e-04 5.992122e-04 1.871535e-03 1.510834e-03 + 711 4.003186e-04 1.560797e-03 7.975546e-04 6.535093e-04 1.004512e-03 + 712 2.649646e-03 1.561300e-03 2.012599e-03 9.578990e-04 1.060184e-03 + 713 4.147325e-04 6.269964e-04 2.247932e-03 5.019070e-04 2.181794e-04 + 714 7.343997e-04 1.263523e-03 2.660792e-03 5.900328e-04 1.446420e-03 + 715 1.904929e-03 4.848520e-04 8.245208e-04 1.156451e-03 1.456989e-03 + 716 2.330342e-03 1.518624e-03 1.684339e-03 1.416756e-03 2.073854e-03 + 717 1.155266e-03 2.914570e-04 7.590544e-04 4.897049e-04 6.267538e-04 + 718 5.772045e-04 7.236805e-04 2.236748e-03 2.068551e-03 6.329754e-04 + 719 8.405621e-04 1.219673e-03 2.071744e-03 1.194840e-03 1.487443e-03 + 720 1.212410e-03 5.695702e-04 1.199234e-03 1.724169e-03 8.804029e-04 + 721 5.889829e-04 1.514448e-03 2.410916e-03 1.055893e-03 1.747906e-03 + 722 2.142928e-03 2.410066e-03 3.922560e-03 1.915246e-03 1.348227e-03 + 723 1.031116e-03 1.173983e-03 2.501551e-03 1.518526e-03 1.152463e-03 + 724 1.356785e-03 9.646232e-04 1.986001e-03 9.279656e-04 1.099646e-03 + 725 8.367013e-04 6.509439e-04 1.874851e-03 8.487435e-04 8.175628e-04 + 726 6.941522e-04 1.579095e-03 5.239709e-04 4.897444e-04 2.517194e-04 + 727 9.680285e-04 7.050751e-04 9.171110e-04 4.093519e-03 2.089686e-03 + 728 8.988622e-04 1.529483e-03 1.373349e-03 1.453336e-03 1.806614e-03 + 729 7.748892e-04 5.136803e-04 3.557365e-04 9.698761e-04 6.971612e-04 + 730 8.364537e-05 2.890803e-04 2.917712e-03 6.735518e-04 1.359295e-03 + 731 1.995737e-03 9.589068e-04 5.472045e-04 1.179458e-03 5.845374e-04 + 732 9.129982e-04 1.430005e-03 3.481024e-03 6.282173e-04 1.324340e-03 + 733 2.043823e-03 2.919443e-03 3.075659e-03 2.164178e-03 9.493420e-04 + 734 8.804086e-03 1.121578e-02 7.883680e-03 8.105847e-03 8.175807e-03 + 735 2.309249e-03 3.344007e-03 2.039877e-03 1.130680e-03 1.749881e-03 + 736 8.346758e-04 1.313680e-03 7.491166e-04 3.233570e-04 4.293294e-04 + 737 9.590662e-04 2.005930e-03 1.342886e-03 3.068766e-03 1.507654e-03 + 738 1.388901e-03 1.063157e-03 1.071448e-03 3.734220e-03 1.136968e-03 + 739 1.647054e-03 2.607578e-03 2.359731e-03 2.339053e-03 1.319364e-03 + 740 7.165281e-03 1.129462e-02 1.372949e-02 8.725161e-03 7.346016e-03 + 741 1.916409e-03 2.643920e-03 4.537136e-03 1.982571e-03 5.393013e-04 + 742 8.634161e-04 3.198005e-04 1.451192e-03 3.890501e-04 6.437566e-04 + 743 4.074355e-03 8.075397e-04 1.831874e-03 1.049816e-03 1.073994e-03 + 744 1.286838e-03 2.162811e-03 2.771537e-03 6.531840e-04 8.273548e-04 + 745 5.138216e-04 2.648985e-03 5.038572e-04 4.619278e-04 1.056351e-03 + 746 4.230373e-03 4.175863e-03 4.324320e-03 4.630625e-03 3.975404e-03 + 747 1.053689e-03 7.196438e-04 9.689735e-04 2.266359e-03 7.076538e-04 + 748 6.745599e-04 2.331555e-04 4.929196e-04 9.203621e-04 7.509714e-04 + 749 1.654018e-03 5.997461e-04 8.397673e-04 4.699373e-04 2.133915e-04 + 750 1.014765e-03 7.366911e-04 1.575796e-03 9.619494e-04 1.774030e-03 + 751 6.831596e-05 2.712688e-04 1.473973e-03 4.966394e-04 3.421539e-04 + 752 5.094626e-04 5.778199e-04 9.563619e-04 7.843772e-04 9.525015e-04 + 753 1.610458e-03 1.066704e-03 1.147868e-03 2.965085e-03 4.159450e-04 + 754 1.572460e-03 2.771199e-04 1.612966e-03 1.848059e-03 1.241514e-04 + 755 1.468773e-03 1.385831e-03 2.627924e-03 1.330777e-03 1.410808e-03 + 756 3.617167e-04 3.868642e-04 2.258333e-04 9.329513e-04 3.642590e-04 + 757 9.538690e-04 9.579088e-04 1.254921e-03 1.606428e-03 1.474220e-03 + 758 1.815490e-03 1.965741e-03 5.061826e-03 2.739996e-03 1.306804e-03 + 759 9.486258e-04 1.548222e-03 2.028887e-03 1.710683e-03 9.612808e-04 + 760 5.500213e-04 9.579798e-04 1.508967e-03 5.499598e-04 9.235980e-04 + 761 6.692389e-04 8.697478e-04 7.135173e-04 6.140189e-04 6.084004e-04 + 762 2.665061e-04 5.694029e-04 1.300350e-03 9.807370e-04 1.212383e-03 + 763 9.280977e-04 3.542670e-04 3.828459e-04 7.799430e-04 3.513379e-04 + 764 1.223024e-03 1.984941e-03 4.751692e-04 8.671966e-04 1.226463e-03 + 765 4.302716e-04 8.575970e-04 1.813165e-03 7.282755e-04 6.823997e-04 + 766 1.463724e-03 6.215521e-04 1.564593e-04 1.191395e-03 1.463748e-03 + 767 1.876284e-03 1.272710e-03 1.985587e-03 1.734175e-03 1.247114e-03 + 768 8.235427e-04 1.180652e-03 3.047774e-04 5.204856e-04 2.555471e-04 + 769 1.423904e+00 1.284673e+00 1.555016e+00 1.191992e+00 1.341587e+00 + 770 2.159723e+02 2.121489e+02 2.149791e+02 2.142228e+02 2.128969e+02 + 771 3.383730e+02 3.322084e+02 3.355629e+02 3.360066e+02 3.318401e+02 + 772 1.401782e+01 1.349491e+01 1.391001e+01 1.395648e+01 1.355304e+01 + 773 2.582163e-02 4.279787e-02 2.807193e-02 2.744399e-02 3.412296e-02 + 774 2.833712e-02 2.916847e-02 2.651135e-02 3.258625e-02 3.368169e-02 + 775 1.068021e-01 1.182745e-01 1.046017e-01 1.018211e-01 1.012854e-01 + 776 3.632817e-01 3.970586e-01 4.009684e-01 4.098410e-01 3.778124e-01 + 777 6.903431e-02 6.010473e-02 5.353003e-02 6.793644e-02 6.521299e-02 + 778 1.073544e-02 1.659221e-02 1.872392e-02 1.445352e-02 1.423024e-02 + 779 1.520809e-02 1.352525e-02 1.494558e-02 1.999550e-02 1.284362e-02 + 780 7.827696e-03 1.097144e-02 7.935283e-03 1.003193e-02 1.075323e-02 + 781 4.346250e-02 2.393809e-02 4.575783e-02 2.820283e-02 2.757177e-02 + 782 7.491286e-03 5.250586e-03 2.282757e-03 6.327509e-03 5.249730e-03 + 783 8.291640e-03 7.051018e-03 1.039504e-02 5.056042e-03 8.643338e-03 + 784 6.661878e-03 5.218820e-03 8.549648e-03 7.633498e-03 6.374853e-03 + 785 7.973081e-03 6.974304e-03 7.592197e-03 3.041284e-03 6.197722e-03 + 786 1.049003e-02 5.595490e-03 1.413454e-02 1.548465e-02 7.940138e-03 + 787 2.821153e-03 4.713287e-03 2.539700e-03 2.409097e-03 3.543908e-03 + 788 4.130739e-03 2.774232e-03 7.199369e-03 4.815094e-03 5.221993e-03 + 789 4.209018e-03 5.508241e-03 4.965984e-03 7.399311e-03 3.423589e-03 + 790 4.694197e-03 4.946529e-03 6.433405e-03 3.829880e-03 3.641483e-03 + 791 6.173886e-03 4.346847e-03 1.010958e-02 6.972899e-03 6.041092e-03 + 792 4.638753e-03 4.145449e-03 5.672286e-03 1.026086e-02 2.152180e-03 + 793 2.234765e-03 3.024626e-03 3.729227e-03 3.229034e-03 4.626778e-03 + 794 4.787252e-03 2.732383e-03 6.102449e-03 4.203756e-03 2.597261e-03 + 795 1.603530e-03 1.586621e-03 9.005464e-04 1.341287e-03 1.829517e-03 + 796 4.355117e-03 3.197947e-03 5.449731e-03 7.039031e-03 4.688596e-03 + 797 1.613524e-03 1.319679e-03 9.690747e-04 9.847510e-04 3.367222e-04 + 798 3.186209e-03 1.698014e-03 4.352985e-03 3.975488e-03 3.698726e-03 + 799 3.141493e-03 3.337707e-03 4.910703e-03 3.891299e-03 3.599930e-03 + 800 3.221938e-03 1.418003e-03 3.052669e-03 1.675916e-03 4.521488e-03 + 801 3.646010e-03 4.470279e-03 6.295859e-03 2.198688e-03 1.281724e-03 + 802 4.391687e-04 9.635276e-04 1.795747e-03 3.453104e-03 2.258542e-03 + 803 2.159568e-03 2.504062e-03 3.525901e-03 1.833254e-03 4.124495e-04 + 804 1.379268e-03 1.577940e-03 2.680011e-03 2.562350e-03 2.720829e-03 + 805 4.122650e-03 2.870151e-03 1.176354e-03 1.444502e-03 9.478443e-04 + 806 5.068721e-04 2.293220e-03 1.539928e-03 2.855715e-03 2.353772e-03 + 807 6.360510e-03 2.206966e-03 1.449849e-03 2.277218e-03 2.442047e-03 + 808 3.527696e-04 1.472379e-03 3.577660e-03 6.743076e-04 2.606432e-03 + 809 4.215946e-03 2.144339e-03 4.034164e-03 7.245528e-03 2.082080e-03 + 810 1.263346e-03 2.251973e-03 2.940179e-03 7.283196e-04 1.485012e-03 + 811 2.409304e-03 1.440363e-03 4.360921e-03 1.644537e-03 1.696275e-03 + 812 1.028435e-03 1.847023e-03 9.383198e-04 9.618053e-04 1.550067e-03 + 813 6.006597e-03 2.167399e-03 3.617733e-03 7.728613e-03 1.095739e-03 + 814 2.074331e-03 3.016922e-03 2.916681e-03 1.367717e-03 2.096232e-03 + 815 1.438761e-03 1.016692e-03 2.006557e-03 2.307431e-03 1.922892e-03 + 816 2.563171e-03 3.864497e-03 4.106541e-03 2.096040e-03 1.619442e-03 + 817 6.600368e-02 5.946463e-02 7.789750e-02 6.614467e-02 6.191209e-02 + 818 3.934531e-01 3.865436e-01 4.542190e-01 3.986075e-01 3.782343e-01 + 819 7.137984e-02 7.652338e-02 8.655959e-02 7.914348e-02 7.255440e-02 + 820 1.322468e-03 1.121755e-03 7.299463e-04 9.746715e-04 2.208258e-03 + 821 1.370803e-03 1.021295e-03 4.659491e-03 4.089170e-03 2.772085e-03 + 822 8.115378e-04 4.794214e-04 1.088407e-03 2.593985e-03 4.479743e-04 + 823 2.590132e-03 3.223466e-03 6.171391e-03 3.836400e-03 2.371893e-03 + 824 8.409907e-04 1.022901e-03 1.962595e-03 1.798941e-03 1.214156e-03 + 825 1.166466e-03 2.264712e-03 2.071838e-03 1.621447e-03 8.849607e-04 + 826 2.538447e-03 4.559529e-04 3.475390e-03 2.337522e-03 1.463631e-03 + 827 2.417099e-03 8.872236e-04 1.614797e-03 1.551525e-03 1.696081e-03 + 828 2.854693e-03 6.410610e-04 2.301460e-03 1.092477e-03 7.499671e-04 + 829 2.493580e-03 2.261692e-03 2.255394e-03 1.402417e-03 3.326041e-03 + 830 1.056757e-03 9.983567e-04 6.241807e-04 1.471325e-03 9.646999e-04 + 831 2.150157e-03 2.539628e-04 3.079700e-03 1.829742e-03 1.028214e-03 + 832 9.867393e-04 9.130675e-04 1.314434e-03 1.036258e-03 1.166747e-03 + 833 1.296157e-03 7.833220e-04 1.406138e-03 2.917556e-03 1.367981e-03 + 834 7.733366e-04 3.901659e-04 4.278209e-04 3.319729e-04 4.254165e-04 + 835 2.437059e-03 1.053590e-03 1.015874e-03 1.797257e-03 1.505959e-03 + 836 2.010859e-03 7.287834e-04 3.497649e-03 8.017529e-04 1.646921e-03 + 837 7.137512e-04 1.254270e-03 2.475092e-03 7.893573e-04 1.501846e-03 + 838 2.597887e-03 1.989429e-03 3.196621e-03 1.448298e-03 1.522017e-03 + 839 8.303265e-04 1.086828e-03 1.060704e-03 1.926769e-04 5.742678e-04 + 840 5.912588e-04 8.439939e-04 2.698424e-03 1.948846e-03 7.630205e-04 + 841 1.321833e-03 1.161758e-03 2.450870e-03 5.081928e-04 5.873365e-04 + 842 1.315632e-03 2.241395e-03 1.667307e-03 2.127498e-03 7.736304e-04 + 843 8.719925e-04 7.413676e-04 2.262718e-03 6.969662e-04 1.846760e-03 + 844 9.849003e-04 1.541134e-03 9.175078e-04 2.316525e-03 7.665372e-04 + 845 1.012199e-03 3.582606e-04 1.134219e-03 7.855280e-04 5.518829e-04 + 846 9.624368e-04 1.478802e-03 2.011690e-03 8.861382e-04 7.480709e-04 + 847 6.464263e-04 7.575657e-04 3.249505e-04 5.293282e-04 1.190485e-03 + 848 1.089381e-03 2.421132e-04 1.242114e-03 8.216319e-04 7.967616e-04 + 849 1.224600e-03 1.894008e-03 2.564157e-03 1.319906e-03 1.371107e-03 + 850 1.252745e-03 1.384306e-03 4.206152e-03 8.400818e-04 1.606043e-03 + 851 4.486194e-04 8.704009e-04 1.813296e-03 3.736939e-04 1.744370e-04 + 852 1.379644e-03 2.703808e-03 1.600180e-03 1.153388e-03 5.484369e-04 + 853 4.337994e-04 6.447147e-04 1.703159e-03 1.918031e-04 7.074986e-04 + 854 1.559050e-03 7.725931e-04 1.415543e-03 8.126068e-04 6.666932e-04 + 855 2.160758e-03 1.386096e-03 1.594561e-03 1.760704e-03 1.713617e-03 + 856 5.386168e-04 7.231848e-04 9.220809e-04 1.960426e-04 4.013742e-04 + 857 9.055932e-04 4.177627e-04 2.003676e-03 1.288630e-03 3.306618e-04 + 858 7.380064e-04 9.125719e-04 2.587999e-03 1.628020e-03 9.968699e-04 + 859 1.712359e-03 1.561897e-03 1.080641e-03 2.415468e-03 1.123615e-03 + 860 6.738254e-04 6.798377e-04 9.022900e-04 6.838661e-04 4.951788e-04 + 861 4.946313e-03 1.558337e-03 2.043745e-03 3.612638e-03 1.317365e-03 + 862 9.981460e-03 5.747318e-03 6.815681e-03 9.086757e-03 6.875190e-03 + 863 2.952533e-03 3.542853e-03 3.195154e-03 2.633818e-03 1.822532e-03 + 864 1.136542e-03 1.499830e-03 6.940828e-04 7.777497e-04 1.959458e-03 + 865 4.991277e-04 6.005155e-04 2.279316e-04 3.482377e-04 1.013280e-03 + 866 1.135182e-03 1.301290e-03 6.825673e-04 7.599884e-04 1.097331e-03 + 867 2.018831e-03 1.685548e-03 2.944380e-03 1.604635e-03 1.232929e-03 + 868 1.053816e-02 1.227955e-02 1.453787e-02 9.130815e-03 8.347231e-03 + 869 2.438315e-03 2.814957e-03 3.404401e-03 1.353884e-03 1.520282e-03 + 870 2.200833e-03 9.615863e-04 1.967736e-03 1.259188e-03 1.745847e-03 + 871 1.015373e-03 9.242609e-04 3.632468e-04 9.313950e-04 4.767395e-04 + 872 1.788554e-03 1.023112e-03 2.745532e-03 2.336635e-03 1.318280e-03 + 873 1.083785e-03 1.907956e-03 2.574183e-03 1.682390e-03 1.879465e-03 + 874 7.104987e-03 7.086054e-03 8.450141e-03 7.988516e-03 7.966307e-03 + 875 2.593621e-03 2.008699e-03 3.173447e-03 2.386627e-03 2.066396e-03 + 876 9.281895e-04 1.568651e-03 6.749732e-04 6.542509e-04 1.110900e-03 + 877 9.363042e-04 1.667114e-03 1.444100e-03 1.260781e-03 8.975515e-04 + 878 6.222250e-04 6.600550e-04 2.276057e-03 1.343589e-03 1.216727e-03 + 879 3.933021e-04 2.103264e-03 1.970453e-03 2.750475e-03 9.441814e-04 + 880 1.564891e-03 1.447366e-03 5.506983e-04 1.518892e-03 5.794988e-04 + 881 1.138394e-03 1.307178e-03 9.446030e-04 5.912949e-04 1.088553e-03 + 882 9.684918e-04 1.716317e-03 1.829602e-03 9.864949e-04 1.116233e-03 + 883 9.444786e-04 2.527908e-04 5.607157e-04 5.288097e-04 4.252058e-04 + 884 1.664701e-03 8.865338e-04 1.753919e-03 6.866857e-04 2.050075e-03 + 885 6.583592e-04 5.458366e-04 3.574928e-04 8.600747e-04 9.390133e-04 + 886 8.461373e-04 5.944889e-04 1.161020e-03 1.807409e-03 1.605585e-03 + 887 3.306847e-03 9.062867e-04 4.025001e-03 1.345239e-03 1.434473e-03 + 888 5.859515e-04 4.936265e-04 1.307814e-03 6.862684e-04 6.392532e-04 + 889 8.205359e-04 3.360436e-04 1.336936e-03 4.250885e-04 7.609454e-04 + 890 6.037294e-04 9.936172e-04 8.595830e-04 7.138801e-04 2.962005e-04 + 891 7.412771e-04 1.892385e-03 1.225525e-03 1.218797e-03 9.493586e-04 + 892 7.726797e-04 7.380561e-04 4.747535e-04 2.644317e-04 3.728360e-04 + 893 1.120756e-03 1.137717e-03 6.661424e-04 9.957982e-04 1.327690e-03 + 894 8.990613e-04 3.969748e-04 1.044408e-03 1.838781e-03 9.883878e-04 + 895 5.726559e-04 1.084490e-03 1.316641e-03 2.112485e-03 1.077025e-03 + 896 1.409441e-03 1.176537e-03 9.308284e-04 1.759988e-03 1.918531e-03 + 897 1.398900e+00 1.276537e+00 1.460704e+00 1.420687e+00 1.334041e+00 + 898 2.159665e+02 2.143842e+02 2.136406e+02 2.144645e+02 2.127080e+02 + 899 3.384442e+02 3.369870e+02 3.357802e+02 3.354799e+02 3.333261e+02 + 900 1.389348e+01 1.400084e+01 1.401973e+01 1.382700e+01 1.369984e+01 + 901 4.251890e-02 5.502248e-02 3.479355e-02 4.077178e-02 4.828072e-02 + 902 1.592287e-02 9.191898e-03 9.692055e-03 1.438050e-02 1.398626e-02 + 903 1.071430e-01 1.212760e-01 1.293296e-01 1.226959e-01 1.278180e-01 + 904 3.222701e-01 3.484511e-01 3.439483e-01 3.417448e-01 3.520889e-01 + 905 6.362471e-02 6.455141e-02 8.484818e-02 6.745047e-02 5.555045e-02 + 906 2.406775e-02 2.399560e-02 1.332249e-02 2.198678e-02 2.028878e-02 + 907 7.992535e-03 4.079334e-03 1.146111e-02 6.008179e-03 8.603178e-03 + 908 1.816552e-02 1.912508e-02 2.286106e-02 1.188400e-02 1.708912e-02 + 909 6.344689e-03 1.162322e-02 1.859694e-02 2.467413e-02 1.108413e-02 + 910 1.606177e-02 1.318368e-02 1.856760e-02 1.131540e-02 1.062652e-02 + 911 9.866747e-03 1.005417e-02 9.761576e-03 8.986447e-03 1.135995e-02 + 912 4.037440e-03 4.597651e-03 4.212361e-03 6.400519e-03 4.519304e-03 + 913 1.595470e-02 9.375515e-03 1.337819e-02 4.718048e-03 6.229179e-03 + 914 4.234416e-03 3.035319e-03 4.253339e-03 6.728207e-03 5.998802e-03 + 915 4.194946e-03 4.631273e-03 7.399977e-03 8.239240e-03 3.124826e-03 + 916 6.206153e-03 8.423949e-03 8.947308e-03 5.157852e-03 4.833896e-03 + 917 3.239453e-03 3.276071e-03 5.743834e-03 1.984522e-03 6.427940e-03 + 918 5.608631e-03 6.764364e-03 6.855702e-03 6.693676e-03 6.651508e-03 + 919 4.307434e-03 3.157795e-03 4.953106e-03 5.719872e-03 3.587121e-03 + 920 2.593829e-03 1.609869e-03 3.748448e-03 9.689808e-03 2.917785e-03 + 921 3.987062e-03 4.904019e-03 3.447555e-03 4.644394e-03 5.064288e-03 + 922 3.272619e-03 2.364494e-03 2.014153e-03 2.673476e-03 3.556666e-03 + 923 6.295904e-03 5.146774e-03 5.415040e-03 4.225118e-03 5.933345e-03 + 924 1.083085e-03 2.672740e-03 1.851063e-03 5.449536e-03 2.909984e-03 + 925 4.711036e-03 4.720177e-03 3.803879e-03 7.581549e-03 3.738765e-03 + 926 2.627156e-03 2.257273e-03 2.137989e-03 5.017639e-03 1.529109e-03 + 927 6.341365e-03 3.741125e-03 5.834203e-03 1.861197e-03 6.935340e-03 + 928 2.405835e-03 5.169701e-03 1.502913e-03 2.952359e-03 1.883303e-03 + 929 2.907986e-03 2.188815e-03 1.013647e-03 1.289821e-03 2.155049e-03 + 930 1.397682e-03 2.687212e-03 2.118904e-03 1.974817e-03 3.982678e-03 + 931 4.781781e-03 6.273825e-03 4.631627e-03 4.066298e-03 3.209236e-03 + 932 5.296807e-04 6.455762e-04 7.342290e-04 6.422377e-04 1.076169e-03 + 933 3.127295e-03 3.935030e-03 2.867693e-03 1.736668e-03 3.034945e-03 + 934 1.643010e-03 1.752320e-03 2.825485e-03 1.955830e-03 9.552498e-04 + 935 2.464284e-03 1.164407e-03 1.218262e-03 3.637839e-03 2.702213e-03 + 936 4.237798e-03 2.232972e-03 2.090794e-03 2.594716e-03 9.394656e-04 + 937 1.791558e-03 1.955612e-03 3.003640e-03 1.939976e-03 1.200879e-03 + 938 1.728134e-03 1.717968e-03 2.076367e-03 2.270206e-03 2.887355e-03 + 939 2.349401e-03 1.566414e-03 1.809860e-03 1.424880e-03 1.732198e-03 + 940 1.130842e-03 1.108149e-03 9.774095e-04 3.460564e-03 2.711658e-03 + 941 1.167981e-03 1.563036e-03 2.854565e-03 3.456550e-03 2.318330e-03 + 942 2.771843e-03 8.864219e-04 1.816189e-03 3.290504e-03 2.617798e-03 + 943 1.257185e-03 2.446915e-03 3.468843e-04 1.014168e-03 1.180162e-03 + 944 9.043414e-04 7.665192e-04 1.063957e-03 1.607435e-03 1.098819e-03 + 945 7.953090e-02 8.816112e-02 8.361975e-02 8.050107e-02 8.101661e-02 + 946 3.990373e-01 4.311557e-01 4.334564e-01 4.191435e-01 3.912344e-01 + 947 6.966214e-02 8.169101e-02 8.831127e-02 7.687634e-02 6.643330e-02 + 948 2.681337e-03 2.213462e-03 1.287729e-03 1.027206e-03 1.965194e-03 + 949 2.346568e-03 1.266872e-03 3.240651e-03 1.196740e-03 9.895369e-04 + 950 6.488229e-04 1.346630e-03 1.764183e-03 6.874118e-04 2.805717e-03 + 951 1.206571e-03 7.529531e-04 2.127520e-03 1.347125e-03 6.353626e-04 + 952 1.252473e-03 1.717508e-03 3.311570e-03 7.567806e-04 1.858659e-03 + 953 1.399767e-03 5.396893e-04 1.178169e-03 2.423102e-03 1.126504e-03 + 954 9.518367e-04 1.583502e-03 2.851403e-03 1.520599e-03 9.345671e-04 + 955 2.971626e-03 2.383867e-04 1.134755e-03 8.728255e-04 9.691670e-04 + 956 3.425657e-03 2.018902e-03 1.618661e-03 2.505359e-03 9.752411e-04 + 957 9.760388e-04 6.754130e-04 8.887029e-04 6.872364e-04 1.015109e-03 + 958 3.215656e-04 4.169171e-04 9.595979e-04 3.970856e-04 1.170689e-03 + 959 6.618534e-04 1.735338e-03 1.137380e-03 2.986296e-03 2.772436e-03 + 960 2.512265e-03 3.220122e-03 1.160731e-03 7.281467e-04 7.639598e-04 + 961 7.600305e-04 1.770041e-03 1.312337e-03 1.426308e-03 8.787436e-04 + 962 1.032822e-03 1.511752e-03 1.736924e-03 1.674626e-03 7.990570e-04 + 963 1.784376e-03 3.376289e-03 2.706343e-03 1.836927e-03 1.415265e-03 + 964 1.260571e-03 2.651425e-03 2.577418e-03 3.134262e-04 4.743672e-04 + 965 1.195515e-03 6.876601e-04 6.324460e-04 1.379410e-03 8.334954e-04 + 966 5.658724e-04 1.662490e-03 1.903174e-03 1.395914e-03 7.659394e-04 + 967 1.013278e-03 6.006412e-04 9.006518e-04 9.489724e-04 1.287755e-03 + 968 2.636915e-03 1.181169e-03 2.690423e-03 2.248539e-03 1.237816e-03 + 969 1.719942e-03 2.093977e-03 6.945290e-04 6.496834e-04 2.637395e-04 + 970 1.486583e-03 1.645561e-03 1.515230e-03 8.168603e-04 1.085857e-03 + 971 6.514527e-04 1.477068e-03 9.829075e-04 1.092232e-03 6.942223e-04 + 972 9.507978e-04 8.379920e-04 1.467287e-03 2.102407e-03 1.171017e-03 + 973 1.475387e-03 6.476090e-04 1.557012e-03 2.449856e-03 6.505266e-04 + 974 7.141033e-04 1.489585e-03 6.496633e-04 5.082322e-04 3.827476e-04 + 975 3.308138e-04 1.503584e-03 8.854450e-04 1.306977e-03 2.364344e-03 + 976 6.933586e-04 1.061182e-03 2.380192e-04 4.612883e-04 9.926267e-04 + 977 6.201892e-04 6.757999e-04 1.512318e-03 3.442263e-04 4.632748e-04 + 978 9.406181e-04 1.493061e-03 9.494872e-04 6.965527e-04 1.273348e-03 + 979 1.710871e-03 3.659498e-04 9.477616e-04 1.095671e-03 9.371282e-04 + 980 1.027582e-03 3.900131e-04 1.806055e-03 1.327837e-03 2.195082e-03 + 981 1.103712e-03 1.869320e-03 1.267860e-03 6.476318e-04 1.418680e-03 + 982 1.598773e-03 1.374683e-03 1.313739e-03 7.051670e-04 1.405272e-03 + 983 1.929973e-03 1.231014e-03 2.083143e-03 5.394767e-04 1.791382e-03 + 984 2.303134e-03 3.783616e-04 4.228693e-03 6.870065e-04 5.327365e-04 + 985 1.655448e-03 1.647326e-03 3.197956e-03 2.008685e-03 1.608770e-03 + 986 1.378240e-03 9.683814e-04 2.406635e-03 1.672940e-03 5.067636e-04 + 987 1.203046e-03 1.411042e-03 2.803249e-03 1.598841e-03 1.971935e-03 + 988 1.406926e-03 1.358197e-03 1.803086e-03 1.928640e-03 1.518164e-03 + 989 9.029931e-04 2.804753e-03 4.391541e-03 1.649904e-03 3.398905e-03 + 990 4.198568e-03 6.905929e-03 7.221057e-03 6.759791e-03 8.665732e-03 + 991 3.106231e-03 3.213045e-03 3.651091e-03 3.051014e-03 4.113761e-03 + 992 1.105648e-03 1.525485e-03 2.532455e-03 5.289764e-04 9.042920e-04 + 993 6.206695e-04 1.907062e-03 3.208364e-03 1.575051e-03 9.015041e-04 + 994 1.010024e-03 3.993590e-04 9.370229e-04 9.921121e-04 4.881367e-04 + 995 1.026147e-03 3.483151e-03 4.034433e-03 1.621600e-03 2.458904e-03 + 996 4.713122e-03 5.686975e-03 9.849478e-03 7.089955e-03 5.136403e-03 + 997 2.320785e-03 1.095451e-03 3.653520e-03 3.309058e-03 1.364542e-03 + 998 2.222341e-03 9.920180e-04 1.061954e-03 1.269888e-03 8.406947e-04 + 999 1.053767e-03 9.464598e-04 1.131345e-03 9.645786e-04 5.315153e-04 + 1000 7.844413e-04 4.329219e-04 3.298812e-03 1.049011e-03 8.964694e-04 + 1001 1.706115e-03 1.802201e-03 1.649766e-03 1.514214e-03 1.004568e-03 + 1002 4.030600e-03 6.457481e-03 6.663183e-03 4.087283e-03 4.926937e-03 + 1003 9.401432e-04 1.300570e-03 3.381162e-03 9.342611e-04 1.581642e-03 + 1004 8.208805e-04 1.115822e-03 9.488844e-04 4.423424e-04 1.878631e-04 + 1005 4.212423e-04 7.904609e-04 1.236304e-03 7.465732e-04 1.283763e-03 + 1006 1.529380e-03 1.253216e-03 8.458517e-04 5.576931e-04 1.140904e-03 + 1007 8.981044e-04 5.413336e-04 7.244241e-04 5.027178e-04 3.816394e-04 + 1008 1.196512e-03 1.454759e-03 5.175851e-04 8.402106e-04 7.356409e-04 + 1009 7.833141e-04 1.199142e-03 5.137453e-04 1.035294e-03 1.334182e-03 + 1010 1.485322e-03 1.031684e-03 1.419976e-03 5.994672e-04 8.058510e-04 + 1011 1.609465e-03 6.772391e-04 1.300292e-03 8.459721e-04 1.111058e-03 + 1012 1.741048e-03 2.021099e-03 7.250277e-04 1.243613e-03 7.540450e-04 + 1013 9.775787e-04 2.171391e-04 8.248369e-04 6.304430e-04 1.085041e-03 + 1014 9.834172e-04 2.469797e-03 1.193609e-03 1.230678e-03 1.138775e-03 + 1015 4.596457e-04 6.018780e-04 1.117969e-03 6.184800e-04 2.554876e-03 + 1016 2.600326e-04 8.995376e-04 1.234394e-03 2.032137e-04 1.552248e-03 + 1017 2.435098e-03 2.455259e-03 1.571320e-03 1.262673e-03 9.886172e-04 + 1018 9.513398e-04 5.254865e-04 1.531013e-03 8.192222e-04 1.203809e-03 + 1019 1.519112e-03 8.841400e-04 2.164344e-03 9.879687e-04 5.025449e-04 + 1020 2.550355e-04 7.648276e-04 1.176160e-03 2.225145e-04 2.404942e-04 + 1021 8.580996e-04 9.500835e-04 2.278308e-03 7.922233e-04 1.600508e-03 + 1022 8.828016e-04 8.014884e-04 7.461161e-04 6.013694e-04 8.887700e-04 + 1023 4.433398e-04 1.901480e-04 1.328072e-03 1.040720e-03 9.082893e-04 + 1024 4.529818e-04 6.680852e-04 5.920274e-04 4.658671e-04 1.976496e-04 + 1025 1.342165e+00 1.507020e+00 1.270922e+00 1.381159e+00 1.339005e+00 + 1026 2.168268e+02 2.145824e+02 2.134731e+02 2.127071e+02 2.120802e+02 + 1027 3.402293e+02 3.367005e+02 3.362208e+02 3.367704e+02 3.338775e+02 + 1028 1.395101e+01 1.385688e+01 1.384132e+01 1.394681e+01 1.355812e+01 + 1029 4.769145e-02 3.962493e-02 2.151858e-02 3.597659e-02 6.905156e-02 + 1030 1.728760e-02 2.345931e-02 1.852896e-02 2.119853e-02 2.267973e-02 + 1031 1.096388e-01 9.237986e-02 1.017633e-01 1.165284e-01 1.206101e-01 + 1032 4.270773e-01 3.756770e-01 4.146157e-01 4.333499e-01 4.557260e-01 + 1033 5.546991e-02 4.768505e-02 6.638231e-02 5.163682e-02 6.518329e-02 + 1034 4.615931e-02 3.652973e-02 1.447964e-02 4.575002e-02 2.445794e-02 + 1035 4.324105e-03 9.705549e-03 2.057889e-02 8.602075e-03 1.059372e-02 + 1036 1.649820e-02 2.109814e-02 1.557125e-02 1.511608e-02 1.946986e-02 + 1037 1.404387e-02 7.612713e-03 1.357988e-02 7.502579e-03 5.159626e-03 + 1038 1.514170e-02 1.460323e-02 2.281093e-02 1.694247e-02 2.546701e-02 + 1039 1.142199e-02 1.525388e-02 5.108425e-03 6.603330e-03 6.676048e-03 + 1040 7.176537e-03 5.583975e-03 1.062129e-02 7.479800e-03 9.725277e-03 + 1041 8.583078e-03 7.633301e-03 6.445247e-03 5.001005e-03 6.978869e-03 + 1042 5.743401e-03 3.317269e-03 2.882682e-03 4.900126e-03 2.999466e-03 + 1043 8.327840e-03 1.072933e-02 1.440774e-02 1.066982e-02 1.202418e-02 + 1044 6.923678e-03 7.377020e-03 5.128078e-03 8.780042e-03 5.760193e-03 + 1045 4.091596e-03 5.973902e-03 4.728216e-03 3.568850e-03 4.541257e-03 + 1046 3.347999e-03 3.534947e-03 3.195225e-03 3.166270e-03 7.421735e-03 + 1047 3.629911e-03 3.348838e-03 5.324596e-03 3.324477e-03 3.168570e-03 + 1048 5.556218e-03 6.996239e-03 1.047275e-02 8.355250e-03 4.449647e-03 + 1049 2.942584e-03 1.898494e-03 3.124071e-03 2.262529e-03 3.702898e-03 + 1050 4.950411e-03 3.360846e-03 2.554255e-03 4.097792e-03 3.677663e-03 + 1051 4.252531e-03 3.275098e-03 4.135831e-03 3.965221e-03 2.428658e-03 + 1052 2.259274e-03 7.160871e-03 3.525133e-03 7.164433e-03 3.935702e-03 + 1053 5.425564e-03 2.009254e-03 5.731989e-03 8.385197e-03 1.632139e-03 + 1054 3.623053e-03 6.075733e-03 2.731504e-03 4.712812e-03 4.890322e-03 + 1055 1.037247e-03 8.200267e-04 2.188528e-03 1.197136e-03 2.807539e-03 + 1056 4.124343e-03 3.611556e-03 4.656641e-03 1.997039e-03 3.433255e-03 + 1057 3.246196e-03 2.942101e-03 3.730106e-03 3.804512e-03 4.204202e-03 + 1058 1.861638e-03 2.984838e-03 3.537999e-03 1.645837e-03 1.167028e-03 + 1059 9.855606e-04 5.273409e-03 4.932879e-03 5.032819e-03 5.910340e-03 + 1060 2.406690e-03 3.184619e-03 2.307629e-03 2.555741e-03 3.436339e-03 + 1061 1.181769e-03 2.349113e-03 1.282284e-03 1.868497e-03 8.154256e-04 + 1062 2.625820e-03 5.486730e-03 4.869123e-03 4.030985e-03 3.374973e-03 + 1063 4.040206e-03 2.717214e-03 2.431667e-03 5.461533e-03 3.121745e-03 + 1064 8.676052e-04 3.945556e-03 3.719620e-03 1.417508e-03 4.202193e-03 + 1065 2.455905e-03 1.107828e-03 3.283303e-03 4.425527e-03 2.101595e-03 + 1066 1.322746e-03 1.399844e-03 6.330963e-04 7.471094e-04 1.103584e-03 + 1067 2.287224e-03 2.147872e-03 2.247427e-03 1.568454e-03 1.494910e-03 + 1068 1.319716e-03 8.861213e-04 2.228533e-03 6.500690e-04 2.973757e-03 + 1069 3.839008e-03 1.949443e-03 1.826688e-03 4.397621e-03 8.419698e-04 + 1070 1.627429e-03 1.476670e-03 3.843751e-03 1.239605e-03 2.228961e-03 + 1071 2.289368e-03 1.568009e-03 6.300957e-04 1.204803e-03 1.107121e-03 + 1072 2.882095e-03 9.216349e-04 2.477822e-03 2.285733e-03 1.290372e-03 + 1073 7.260405e-02 7.543375e-02 8.895828e-02 8.690797e-02 7.792027e-02 + 1074 4.157015e-01 4.268519e-01 4.598130e-01 4.555980e-01 4.454280e-01 + 1075 7.579217e-02 8.297454e-02 8.961710e-02 8.598707e-02 8.770120e-02 + 1076 2.033518e-03 1.613648e-03 1.501217e-03 4.287402e-03 1.664211e-03 + 1077 2.799316e-03 1.967243e-03 3.490865e-03 1.891237e-03 2.376352e-03 + 1078 7.639445e-04 1.939711e-03 8.888765e-04 4.877105e-04 1.737463e-03 + 1079 6.591987e-04 3.027196e-03 1.939830e-03 1.248689e-03 2.728798e-03 + 1080 2.468726e-03 2.954596e-03 4.750281e-03 3.470802e-03 1.041165e-03 + 1081 2.073578e-03 2.680312e-03 1.045750e-03 2.750192e-03 2.875440e-03 + 1082 1.883951e-03 8.736065e-04 3.903808e-04 1.187626e-03 1.169812e-03 + 1083 8.702572e-04 7.034343e-04 2.194828e-03 7.747031e-04 7.131836e-04 + 1084 2.837486e-03 2.150255e-03 2.313895e-03 1.245974e-03 1.522225e-03 + 1085 2.958085e-04 7.305312e-04 3.681813e-03 1.426601e-03 1.004392e-03 + 1086 2.021118e-03 2.873941e-03 2.483802e-03 2.718291e-03 1.925322e-03 + 1087 4.129750e-04 3.095896e-04 2.318266e-03 5.807803e-04 1.746179e-03 + 1088 6.489035e-04 1.157936e-03 2.803834e-03 1.581244e-03 1.546564e-03 + 1089 1.145728e-03 5.859964e-04 6.342228e-04 6.074804e-04 1.003953e-03 + 1090 4.706573e-04 8.811938e-04 2.200932e-03 2.657387e-03 7.724738e-04 + 1091 1.453576e-03 9.933624e-04 3.876952e-03 2.787580e-03 2.391914e-03 + 1092 5.281114e-04 2.087424e-03 2.278954e-04 4.416528e-04 8.681071e-04 + 1093 6.659434e-04 6.560438e-04 2.070465e-03 1.489432e-03 8.573147e-04 + 1094 2.464313e-03 2.629673e-03 7.488065e-04 1.288645e-03 1.044231e-03 + 1095 8.178843e-04 2.033631e-04 1.145499e-03 3.019909e-04 8.527209e-04 + 1096 1.721306e-03 1.250063e-03 1.645365e-03 1.706340e-03 6.824057e-04 + 1097 1.452482e-03 2.518536e-04 1.015651e-03 9.435376e-04 9.725861e-04 + 1098 3.022288e-04 1.126261e-03 7.679313e-04 3.939473e-04 2.343205e-04 + 1099 9.954911e-04 1.642755e-03 1.554400e-03 8.875842e-04 1.760946e-03 + 1100 2.314896e-04 4.703561e-04 2.850316e-04 8.382726e-04 1.059949e-03 + 1101 1.177159e-03 2.065733e-03 2.284180e-03 1.939001e-03 3.453750e-03 + 1102 1.458118e-03 8.625142e-04 4.616543e-04 1.360412e-03 1.281557e-03 + 1103 4.812223e-04 3.462832e-04 1.302573e-03 7.970050e-04 2.339182e-04 + 1104 1.256877e-03 4.096684e-04 5.636459e-04 7.034776e-04 1.011473e-03 + 1105 2.700732e-04 1.948908e-03 1.054392e-03 7.707692e-04 1.313441e-03 + 1106 2.374640e-03 2.896901e-03 2.950509e-03 5.827701e-04 2.586641e-03 + 1107 1.321300e-03 1.101654e-03 7.109358e-04 8.064643e-04 1.725918e-03 + 1108 9.343398e-04 1.176413e-03 6.090877e-04 5.936086e-04 8.975043e-04 + 1109 1.243520e-03 1.102263e-03 1.044760e-03 1.595514e-03 1.051690e-03 + 1110 1.086413e-03 2.026681e-03 1.803079e-03 2.917197e-03 2.652234e-03 + 1111 1.308434e-03 5.723701e-04 3.409653e-04 1.812538e-03 8.523810e-04 + 1112 4.918548e-04 6.623096e-04 1.860996e-03 1.294498e-03 2.260903e-03 + 1113 8.642597e-04 1.114230e-03 1.510885e-03 1.481218e-04 9.721889e-04 + 1114 1.576208e-03 4.154127e-04 1.664179e-03 1.403027e-03 2.514821e-03 + 1115 1.211735e-03 1.435124e-03 1.207934e-03 5.680476e-04 4.113585e-04 + 1116 6.966409e-04 1.122365e-03 1.102239e-03 1.325366e-03 3.307486e-03 + 1117 3.272783e-03 1.550662e-03 2.058422e-03 1.771113e-03 3.259583e-03 + 1118 6.573942e-03 5.442416e-03 5.484950e-03 6.826418e-03 5.492987e-03 + 1119 2.137289e-03 2.229007e-03 2.847576e-03 1.218586e-03 1.469200e-03 + 1120 1.583131e-03 4.388581e-04 1.246320e-03 1.725824e-03 1.513234e-03 + 1121 6.197443e-04 1.205218e-04 1.945656e-03 1.183365e-03 2.930884e-04 + 1122 1.472650e-03 2.079484e-03 4.543477e-03 3.033534e-03 1.511300e-03 + 1123 1.846243e-03 2.622020e-03 3.593701e-03 2.539323e-03 1.279413e-03 + 1124 6.107066e-03 8.590681e-03 6.875490e-03 6.744732e-03 5.534977e-03 + 1125 1.574351e-03 3.299667e-03 3.333854e-03 1.225023e-03 9.656284e-04 + 1126 6.279649e-04 7.444168e-04 1.617780e-03 1.001248e-03 6.468383e-04 + 1127 7.637729e-04 1.074471e-03 1.876182e-03 2.154198e-03 2.347648e-03 + 1128 1.650663e-03 8.491998e-04 1.737197e-03 5.480959e-04 8.111277e-04 + 1129 5.021061e-04 2.104942e-03 9.641722e-04 1.074401e-03 1.223825e-03 + 1130 4.099762e-03 4.705985e-03 5.531899e-03 2.225764e-03 4.146557e-03 + 1131 1.072867e-03 4.771633e-04 1.586791e-03 9.439538e-04 1.343005e-03 + 1132 6.147902e-04 3.795118e-04 7.875459e-04 1.711700e-03 6.696690e-04 + 1133 5.811441e-04 1.045289e-03 2.196266e-03 2.047575e-03 2.599749e-03 + 1134 1.809071e-04 4.824861e-04 5.966034e-04 1.194187e-03 2.918220e-04 + 1135 1.958214e-03 9.957319e-04 2.090170e-03 8.586642e-04 6.946858e-04 + 1136 8.812290e-04 9.086036e-04 1.313624e-03 9.567031e-04 1.292270e-03 + 1137 1.210259e-03 2.485529e-03 1.641632e-03 1.796005e-03 1.548234e-03 + 1138 8.589010e-04 2.730614e-03 1.900735e-03 1.798955e-03 1.724632e-03 + 1139 3.102574e-04 6.791128e-04 1.166661e-03 3.792807e-04 1.133245e-03 + 1140 2.562808e-03 9.885708e-04 1.136270e-03 8.727713e-04 8.919898e-04 + 1141 1.574643e-03 1.511377e-03 2.353921e-03 1.668310e-03 1.753392e-03 + 1142 1.867613e-03 1.462702e-03 9.451800e-04 1.788747e-03 2.292760e-03 + 1143 1.982395e-04 8.949720e-04 1.453147e-03 1.577300e-03 5.800000e-04 + 1144 1.103207e-03 1.061213e-03 1.236424e-03 5.186237e-04 1.412410e-03 + 1145 1.273048e-03 2.338488e-03 1.680459e-03 1.331891e-03 2.041074e-03 + 1146 2.028644e-03 5.322998e-04 1.742826e-03 2.689675e-03 4.540778e-04 + 1147 1.582175e-03 5.911400e-04 1.698303e-03 2.341517e-03 1.252902e-03 + 1148 4.251876e-04 7.589497e-04 1.156857e-03 7.429455e-04 7.825616e-04 + 1149 2.194938e-03 6.401242e-04 9.228156e-04 1.414509e-03 1.033564e-03 + 1150 2.262624e-04 5.731505e-04 1.305196e-03 1.394556e-04 1.511877e-03 + 1151 1.399629e-03 1.351424e-03 6.282544e-04 8.738084e-04 9.822791e-04 + 1152 1.188818e-03 8.477886e-04 1.607189e-03 2.367401e-03 8.328867e-04 + 1153 1.579159e+00 1.506584e+00 1.355708e+00 1.334248e+00 1.407300e+00 + 1154 2.166018e+02 2.137394e+02 2.134164e+02 2.130625e+02 2.103302e+02 + 1155 3.413792e+02 3.363330e+02 3.357911e+02 3.354182e+02 3.313112e+02 + 1156 1.384743e+01 1.381077e+01 1.371970e+01 1.368278e+01 1.339472e+01 + 1157 4.630038e-02 4.515277e-02 3.009591e-02 5.628806e-02 5.577447e-02 + 1158 2.153120e-02 1.805771e-02 2.432562e-02 2.601302e-02 1.333324e-02 + 1159 1.046792e-01 1.189401e-01 9.756528e-02 1.057749e-01 1.090024e-01 + 1160 3.374244e-01 4.166618e-01 3.740556e-01 4.489985e-01 3.831648e-01 + 1161 5.130392e-02 6.553580e-02 6.701335e-02 5.779568e-02 5.518521e-02 + 1162 2.447947e-02 1.647958e-02 1.758451e-02 1.793480e-02 1.614583e-02 + 1163 1.310594e-02 1.267008e-02 1.499320e-02 1.936506e-02 1.439618e-02 + 1164 2.088004e-02 1.362727e-02 9.826030e-03 8.812439e-03 1.538964e-02 + 1165 1.194364e-02 1.280591e-02 2.253488e-02 1.495290e-02 1.387334e-02 + 1166 1.277427e-02 8.169636e-03 9.261769e-03 7.766548e-03 6.976322e-03 + 1167 1.125511e-02 1.203379e-02 8.531736e-03 1.018243e-02 1.038100e-02 + 1168 9.063040e-03 7.070277e-03 9.589199e-03 6.715929e-03 1.075087e-02 + 1169 6.756981e-03 6.737679e-03 5.621028e-03 7.563290e-03 4.511574e-03 + 1170 8.938874e-03 1.059481e-02 1.247227e-02 8.949093e-03 7.553879e-03 + 1171 8.284377e-03 5.818135e-03 7.616515e-03 8.397730e-03 7.429818e-03 + 1172 9.484928e-03 5.761687e-03 9.089610e-03 6.778978e-03 4.220623e-03 + 1173 4.808337e-03 6.855839e-03 6.743412e-03 6.156248e-03 5.317816e-03 + 1174 4.967770e-03 8.452905e-03 5.749078e-03 2.822784e-03 2.889787e-03 + 1175 7.152308e-03 3.030853e-03 5.123368e-03 7.059756e-03 6.126395e-03 + 1176 9.718500e-04 3.876922e-03 3.525997e-03 4.194823e-03 3.042601e-03 + 1177 5.483367e-03 4.899375e-03 2.203883e-03 3.804029e-03 4.038267e-03 + 1178 5.670867e-03 2.590509e-03 7.115094e-03 2.452073e-03 3.248059e-03 + 1179 2.111325e-03 4.825169e-03 1.895972e-03 4.371638e-03 5.363235e-03 + 1180 6.581921e-03 3.687081e-03 4.858408e-03 7.239194e-03 2.537274e-03 + 1181 5.495052e-03 5.249767e-03 6.687280e-03 8.165196e-03 3.659377e-03 + 1182 3.424193e-03 3.059774e-03 4.903789e-03 3.012988e-03 2.899546e-03 + 1183 4.909525e-03 3.462082e-03 4.067069e-03 2.103683e-03 1.602679e-03 + 1184 1.001223e-03 1.296091e-03 1.921669e-03 2.331875e-03 2.415953e-03 + 1185 5.448917e-03 3.540152e-03 3.505516e-03 2.594086e-03 1.846544e-03 + 1186 4.241766e-04 3.218381e-03 1.890530e-03 2.355230e-03 3.494323e-03 + 1187 1.471433e-03 1.553197e-03 6.052448e-04 1.539656e-03 6.135033e-04 + 1188 3.999990e-03 2.952584e-03 3.179760e-03 2.926296e-03 3.281897e-03 + 1189 7.767511e-04 1.610972e-03 1.435341e-03 2.199272e-03 3.102271e-03 + 1190 2.737884e-03 1.840776e-03 1.495843e-03 9.952890e-04 2.212478e-03 + 1191 3.418796e-03 6.151868e-03 2.224371e-03 2.823393e-03 3.218775e-03 + 1192 5.091511e-03 1.721347e-03 2.169802e-03 1.687565e-03 1.194862e-03 + 1193 1.140750e-03 2.754473e-03 1.937063e-03 8.986041e-04 2.937219e-03 + 1194 1.161802e-03 5.692179e-04 2.730255e-03 2.553130e-03 2.804916e-03 + 1195 2.130820e-03 3.753805e-03 2.778312e-03 4.556482e-04 1.374491e-03 + 1196 1.169644e-03 2.361203e-04 2.009420e-04 3.094386e-03 1.193657e-03 + 1197 1.759813e-03 1.760861e-03 2.502375e-03 2.873556e-03 2.339755e-03 + 1198 1.225859e-03 1.032810e-03 1.136083e-03 2.492660e-03 3.791031e-04 + 1199 2.433005e-03 4.112829e-04 1.125264e-03 1.290248e-03 2.636162e-03 + 1200 1.446774e-03 2.078990e-03 3.669370e-03 3.278881e-03 2.232235e-03 + 1201 8.382284e-02 7.420791e-02 8.240832e-02 8.089534e-02 7.887326e-02 + 1202 4.488755e-01 4.203769e-01 4.571648e-01 4.700450e-01 4.383715e-01 + 1203 8.812075e-02 7.746404e-02 8.719615e-02 8.721032e-02 8.456927e-02 + 1204 1.674479e-03 1.645357e-03 2.045126e-03 5.964133e-04 2.166663e-03 + 1205 1.429884e-03 3.485251e-04 1.140817e-03 1.090698e-03 9.931374e-04 + 1206 1.658545e-03 2.499377e-03 4.196609e-03 3.276504e-03 2.674509e-03 + 1207 3.705565e-04 1.312352e-03 7.283518e-04 5.133208e-04 5.471615e-04 + 1208 1.965957e-03 1.179682e-03 2.549889e-03 2.068646e-03 1.753343e-03 + 1209 3.739265e-04 8.696073e-04 1.037186e-03 1.234189e-03 1.941769e-03 + 1210 1.802460e-03 1.012486e-03 2.933798e-03 2.231073e-03 1.464542e-03 + 1211 1.331655e-03 1.808503e-03 2.036804e-03 8.901006e-04 1.591992e-03 + 1212 1.823878e-03 3.057611e-03 3.343678e-03 1.610152e-03 1.530512e-03 + 1213 5.217921e-04 2.319578e-03 1.959257e-03 1.935695e-03 3.994638e-03 + 1214 6.129317e-04 1.037372e-03 4.407415e-04 2.040814e-04 2.126668e-03 + 1215 9.002201e-04 1.629634e-03 1.949175e-03 8.175509e-04 1.399557e-03 + 1216 1.804635e-03 3.970432e-03 1.496056e-03 7.219845e-04 9.647701e-04 + 1217 2.728352e-03 7.919448e-04 1.922816e-03 1.260554e-03 3.108957e-03 + 1218 9.887766e-04 6.453763e-04 6.783616e-04 9.893107e-04 8.895592e-04 + 1219 2.023978e-03 3.608978e-03 1.566407e-03 2.096520e-03 1.977237e-03 + 1220 1.103415e-03 1.589102e-03 1.816122e-03 9.231801e-04 3.313176e-04 + 1221 4.197022e-04 7.466574e-04 9.531931e-04 2.607460e-04 5.374048e-04 + 1222 1.378900e-03 1.570692e-03 2.495338e-03 2.181833e-03 2.072417e-03 + 1223 1.041404e-03 7.763408e-04 1.229169e-03 2.466851e-03 1.244765e-03 + 1224 4.050829e-04 1.178998e-03 4.038099e-04 2.689944e-03 7.530454e-04 + 1225 8.964447e-04 3.457292e-04 2.433513e-03 1.765621e-03 7.462337e-04 + 1226 1.156501e-03 1.151967e-03 9.306204e-04 1.345194e-03 1.259831e-03 + 1227 1.578047e-03 1.621214e-03 1.292031e-03 1.290620e-03 5.508538e-04 + 1228 1.951446e-03 1.032963e-03 1.558614e-03 7.346097e-04 1.020728e-03 + 1229 1.314978e-03 1.433048e-03 1.536884e-03 9.813675e-04 1.116119e-03 + 1230 6.623990e-04 1.305377e-03 7.925342e-04 9.137587e-04 3.969776e-04 + 1231 1.679015e-03 4.302008e-04 1.358221e-03 4.801453e-04 1.019690e-03 + 1232 1.957113e-03 1.526159e-03 1.430883e-03 1.193354e-03 1.090835e-03 + 1233 9.958317e-04 4.200360e-03 2.279585e-03 1.038150e-03 2.974952e-03 + 1234 1.576076e-03 2.014594e-03 1.591480e-03 9.654504e-04 2.869367e-03 + 1235 1.202462e-03 1.031677e-03 1.374814e-03 8.816772e-04 9.318257e-04 + 1236 1.876731e-03 1.460640e-03 1.141176e-03 1.785115e-04 1.094043e-03 + 1237 1.048847e-03 1.910773e-03 2.466333e-03 9.211670e-04 1.133506e-03 + 1238 1.278966e-03 1.096774e-03 1.454505e-03 9.977314e-04 6.640040e-04 + 1239 7.020384e-04 1.205033e-03 9.794584e-04 1.939759e-03 1.477966e-03 + 1240 1.371222e-03 1.088853e-04 4.892297e-04 5.868822e-04 1.132409e-03 + 1241 1.429701e-03 6.631174e-04 9.273836e-04 2.826347e-04 3.232826e-03 + 1242 2.715545e-03 2.100228e-03 8.715767e-05 1.720573e-03 1.127080e-03 + 1243 1.817084e-03 1.131244e-03 1.545801e-03 7.392843e-04 1.490602e-03 + 1244 6.025898e-04 2.778370e-03 1.017652e-03 2.085287e-03 1.311965e-03 + 1245 5.291538e-04 6.164181e-04 1.643423e-03 1.146583e-03 2.167353e-03 + 1246 3.364445e-03 8.633427e-03 9.189319e-03 6.717893e-03 6.326437e-03 + 1247 5.019268e-04 1.562571e-03 6.243772e-03 9.582874e-04 1.458898e-03 + 1248 1.505151e-03 1.069770e-03 2.335253e-03 1.339045e-03 6.147059e-04 + 1249 9.090323e-04 3.311795e-04 3.454492e-04 8.089029e-04 1.747904e-04 + 1250 9.398882e-04 6.369190e-04 5.895320e-04 9.172170e-04 8.562002e-04 + 1251 2.385621e-03 3.396643e-03 3.833896e-03 3.806099e-03 2.933126e-03 + 1252 8.659232e-03 9.971753e-03 1.146713e-02 9.842798e-03 7.136471e-03 + 1253 3.032050e-03 4.029201e-03 3.302214e-03 3.105103e-03 2.728400e-03 + 1254 1.207170e-03 8.029414e-04 1.226619e-03 8.368602e-04 1.057499e-03 + 1255 4.892568e-04 1.751762e-03 8.282561e-04 7.332996e-04 1.667584e-03 + 1256 4.211266e-04 1.162857e-03 4.808189e-04 3.634647e-04 6.876843e-04 + 1257 1.140671e-03 1.891206e-03 8.897573e-04 2.219382e-03 9.843600e-04 + 1258 4.467753e-03 7.148373e-03 4.201922e-03 1.817470e-03 1.669241e-03 + 1259 7.118752e-04 1.657319e-03 1.965528e-03 1.391443e-03 5.583599e-04 + 1260 2.834640e-03 2.380234e-03 3.944427e-03 2.467716e-03 2.195500e-03 + 1261 9.250388e-04 4.859093e-04 9.109727e-04 4.408697e-04 3.995563e-04 + 1262 1.166716e-03 2.255576e-03 2.569225e-03 2.663984e-03 6.050799e-04 + 1263 1.450302e-03 1.750090e-03 7.410575e-04 8.316408e-04 1.025798e-03 + 1264 1.427268e-03 2.923028e-03 1.180466e-03 7.332746e-04 1.056676e-03 + 1265 8.728511e-04 1.146450e-03 2.945894e-03 7.753273e-04 1.504089e-03 + 1266 6.049417e-04 8.799677e-04 4.859437e-04 5.113395e-04 1.814455e-03 + 1267 1.874015e-03 3.966611e-04 8.188033e-04 6.228242e-04 1.314930e-03 + 1268 9.012643e-04 1.111775e-03 1.858270e-03 8.038817e-04 5.997593e-04 + 1269 8.262885e-04 1.239276e-03 1.746033e-03 1.707722e-03 1.397434e-03 + 1270 2.407187e-03 3.419414e-03 4.901481e-03 3.707770e-03 3.613931e-03 + 1271 4.457952e-04 6.032290e-04 2.416163e-03 1.645629e-03 1.556101e-03 + 1272 7.841463e-04 5.321830e-04 1.717094e-03 6.954822e-04 1.191554e-03 + 1273 1.011544e-03 1.353897e-03 5.834317e-04 3.447533e-03 3.897931e-03 + 1274 3.406281e-04 2.541312e-04 7.245667e-04 2.278048e-03 1.478951e-03 + 1275 1.827422e-03 2.170611e-03 1.443064e-03 2.263796e-03 1.216169e-03 + 1276 8.345518e-04 5.238332e-04 8.554306e-04 2.432226e-04 3.121372e-04 + 1277 1.236348e-03 7.169660e-04 7.883720e-04 3.929885e-04 1.807112e-03 + 1278 1.310916e-03 6.706343e-04 5.111256e-04 5.276855e-04 6.825924e-04 + 1279 1.326450e-03 4.169926e-03 9.595313e-04 4.412877e-03 9.268939e-04 + 1280 6.093200e-04 1.719755e-03 2.742138e-03 3.027886e-03 4.280873e-04 + 1281 1.286705e+00 1.334761e+00 1.327442e+00 1.259732e+00 1.203895e+00 + 1282 2.150426e+02 2.123109e+02 2.124493e+02 2.131963e+02 2.115659e+02 + 1283 3.395586e+02 3.352089e+02 3.345098e+02 3.363916e+02 3.332704e+02 + 1284 1.389894e+01 1.358459e+01 1.384248e+01 1.394852e+01 1.368318e+01 + 1285 2.548761e-02 4.242722e-02 2.401500e-02 3.286482e-02 2.509588e-02 + 1286 2.565541e-02 3.515549e-02 2.352528e-02 3.594139e-02 2.774928e-02 + 1287 1.407670e-01 1.414580e-01 1.264363e-01 1.314089e-01 1.370835e-01 + 1288 3.331549e-01 4.018608e-01 3.655470e-01 4.160222e-01 4.191961e-01 + 1289 6.370391e-02 7.975507e-02 6.559884e-02 8.057918e-02 7.830479e-02 + 1290 2.508646e-02 1.624490e-02 1.155440e-02 1.540547e-02 1.775441e-02 + 1291 1.406293e-02 9.929883e-03 2.111475e-02 9.550655e-03 1.326947e-02 + 1292 1.176618e-02 9.307005e-03 1.042908e-02 1.192179e-02 1.187953e-02 + 1293 2.526936e-02 2.535968e-02 2.186060e-02 2.336925e-02 2.513075e-02 + 1294 9.761626e-03 7.977260e-03 7.885672e-03 5.655182e-03 5.852055e-03 + 1295 6.088357e-03 8.963570e-03 7.267699e-03 7.124501e-03 1.011784e-02 + 1296 5.620041e-03 6.497366e-03 8.987401e-03 9.465102e-03 7.117692e-03 + 1297 1.309461e-02 5.398447e-03 6.642204e-03 5.841892e-03 5.187878e-03 + 1298 8.881506e-03 7.047850e-03 9.256381e-03 1.282877e-02 9.276841e-03 + 1299 3.780658e-03 4.145258e-03 2.320887e-03 2.166069e-03 4.329476e-03 + 1300 5.695763e-03 4.630958e-03 6.100682e-03 1.009307e-02 4.418849e-03 + 1301 3.841443e-03 5.425912e-03 5.530483e-03 5.683009e-03 6.180327e-03 + 1302 4.807741e-03 6.079292e-03 6.819462e-03 4.539927e-03 2.701960e-03 + 1303 3.810646e-03 3.701376e-03 3.718097e-03 3.874395e-03 3.648719e-03 + 1304 6.615691e-03 3.484041e-03 3.026719e-03 8.735756e-03 5.322149e-03 + 1305 6.130699e-03 5.818842e-03 2.808430e-03 4.538733e-03 2.259156e-03 + 1306 1.869020e-03 1.076992e-03 2.165851e-03 2.905404e-03 5.408446e-03 + 1307 1.266735e-03 2.240468e-03 2.653605e-03 2.278303e-03 9.946676e-04 + 1308 6.408424e-03 3.787507e-03 4.998603e-03 4.035196e-03 2.870587e-03 + 1309 2.189055e-03 2.486387e-03 3.124775e-03 2.362521e-03 2.614059e-03 + 1310 5.142820e-03 2.389206e-03 3.154269e-03 4.954526e-03 1.737699e-03 + 1311 4.929255e-03 4.699333e-03 4.699494e-03 4.895424e-03 7.463848e-03 + 1312 8.206481e-04 1.308767e-03 1.449107e-03 1.222436e-03 2.275119e-03 + 1313 4.891820e-03 2.895333e-03 2.788348e-03 2.816853e-03 5.218012e-03 + 1314 2.391247e-03 7.327975e-04 1.755637e-03 1.023322e-03 8.907847e-04 + 1315 2.259565e-03 2.798087e-03 1.435568e-03 1.269861e-03 4.671329e-03 + 1316 3.050923e-03 3.929428e-03 2.032292e-03 2.804412e-03 3.549134e-03 + 1317 1.765684e-03 9.005130e-04 2.671368e-03 3.866141e-03 2.996649e-03 + 1318 1.653041e-03 1.547751e-03 3.453942e-04 1.982220e-03 1.340772e-03 + 1319 1.349259e-03 3.171295e-03 1.956040e-03 3.695555e-03 2.231260e-03 + 1320 3.963264e-03 3.514891e-03 1.050952e-03 4.611330e-03 3.329939e-03 + 1321 1.258734e-03 3.789003e-04 2.560008e-03 6.772209e-04 3.592572e-04 + 1322 2.852943e-03 4.372946e-03 4.118305e-04 3.062956e-03 2.330488e-03 + 1323 2.947763e-03 2.522315e-03 2.657736e-03 3.565043e-03 2.606620e-03 + 1324 2.219608e-03 1.212981e-03 1.250042e-03 2.581124e-03 2.594732e-03 + 1325 9.292301e-04 1.752949e-03 1.470095e-03 8.583478e-04 1.203191e-03 + 1326 4.529056e-03 7.575926e-04 1.674936e-03 4.621608e-03 3.407661e-03 + 1327 1.541771e-03 2.234039e-03 6.674574e-03 3.091785e-03 3.256549e-03 + 1328 1.704490e-03 8.579215e-04 1.867231e-03 8.737560e-04 1.929085e-03 + 1329 7.657955e-02 7.985640e-02 9.382110e-02 7.878810e-02 7.672828e-02 + 1330 4.332715e-01 4.428389e-01 4.599801e-01 4.359481e-01 4.106234e-01 + 1331 7.727908e-02 7.865672e-02 8.647576e-02 7.946005e-02 7.709179e-02 + 1332 1.786894e-03 2.053369e-03 2.065101e-03 1.248896e-03 3.764414e-03 + 1333 1.332625e-03 6.562903e-04 1.969180e-03 8.108795e-04 1.276928e-04 + 1334 1.175490e-03 1.591439e-03 2.028860e-03 8.518227e-04 3.153768e-03 + 1335 8.525733e-04 2.022353e-03 1.285334e-03 5.037017e-04 1.154474e-03 + 1336 2.681972e-03 1.392939e-03 4.078155e-03 2.877890e-03 2.002664e-03 + 1337 4.467556e-04 1.595502e-03 1.208790e-03 1.255138e-03 2.628594e-03 + 1338 2.088860e-03 1.454074e-03 9.420266e-04 5.783212e-04 7.423987e-04 + 1339 1.717490e-03 1.994554e-03 1.999585e-03 1.732816e-03 9.569480e-04 + 1340 1.803194e-03 3.818147e-04 1.216836e-03 1.803354e-03 2.592389e-03 + 1341 4.371702e-03 2.819646e-03 2.397244e-03 1.352171e-03 1.732748e-03 + 1342 1.902630e-03 6.175540e-04 1.836305e-03 1.090398e-03 9.490107e-04 + 1343 3.075883e-03 1.960122e-03 1.138413e-03 2.386022e-03 3.912447e-03 + 1344 1.866352e-03 2.744694e-03 7.487483e-04 8.786459e-04 8.481205e-04 + 1345 1.414303e-03 6.332577e-04 1.107250e-03 1.468886e-03 2.524934e-03 + 1346 1.494473e-03 2.137812e-03 9.329829e-04 5.263543e-04 9.857201e-04 + 1347 1.098116e-03 8.173763e-04 2.424886e-03 2.031587e-03 2.982917e-03 + 1348 5.518094e-04 5.152885e-04 1.227886e-03 6.043888e-04 4.417989e-04 + 1349 9.485300e-04 1.310105e-03 1.337467e-03 8.604392e-04 1.539306e-03 + 1350 1.428601e-03 5.218658e-04 2.692114e-03 1.205628e-03 1.527244e-03 + 1351 9.848480e-04 1.741712e-03 1.229494e-03 2.553834e-03 8.733387e-04 + 1352 1.445902e-03 8.983281e-05 1.767145e-03 7.506984e-04 2.056082e-03 + 1353 1.026331e-03 2.191849e-03 1.764993e-03 2.234687e-03 2.116121e-03 + 1354 2.767666e-03 1.354769e-03 1.458040e-03 2.156876e-03 1.400144e-03 + 1355 1.346816e-03 2.310353e-04 5.497586e-04 4.014856e-04 3.315510e-04 + 1356 1.981654e-03 1.261487e-03 1.385391e-03 2.459712e-03 1.008383e-03 + 1357 7.037931e-04 9.090554e-04 1.413874e-03 2.368713e-04 6.519581e-04 + 1358 7.955736e-04 1.171901e-03 1.350188e-03 3.288118e-04 1.204489e-03 + 1359 7.279073e-04 5.516246e-04 1.124361e-03 8.336737e-04 1.771734e-03 + 1360 6.390355e-04 1.563571e-03 2.386158e-03 1.368616e-03 3.327236e-03 + 1361 3.220099e-04 4.680876e-04 1.060369e-03 1.241413e-03 9.293267e-04 + 1362 9.789609e-04 5.039785e-04 5.019229e-04 7.639165e-04 9.062969e-04 + 1363 8.796897e-04 1.463461e-03 1.948994e-03 4.757356e-04 1.731364e-03 + 1364 7.465821e-04 5.111591e-04 4.450114e-04 1.133664e-03 1.506726e-03 + 1365 9.172904e-04 1.355584e-03 1.175247e-03 1.188625e-04 1.635372e-03 + 1366 1.928167e-04 8.150341e-04 7.952480e-04 1.140036e-03 2.120175e-03 + 1367 1.028853e-03 2.295672e-03 1.055770e-03 1.880119e-03 9.400737e-04 + 1368 6.681360e-04 8.409160e-04 1.140708e-03 9.434579e-04 2.376075e-04 + 1369 3.605646e-03 1.476133e-03 5.181728e-04 1.730189e-03 2.536342e-03 + 1370 1.732729e-03 1.084518e-03 8.717729e-04 6.026530e-04 1.113044e-03 + 1371 2.888726e-03 1.098607e-03 1.563885e-03 8.608440e-04 2.441371e-03 + 1372 1.076273e-03 7.063028e-04 7.901616e-04 6.342143e-04 8.697383e-04 + 1373 1.902158e-03 2.256795e-03 3.959750e-03 1.689293e-03 2.816287e-03 + 1374 2.929649e-03 4.616439e-03 4.728875e-03 4.366649e-03 6.997709e-03 + 1375 2.776726e-03 1.826478e-03 1.287697e-03 2.032933e-03 3.736642e-03 + 1376 1.383461e-03 6.964341e-04 1.444925e-03 6.701695e-04 4.065588e-04 + 1377 1.319047e-03 6.524735e-04 2.056042e-03 1.392201e-03 9.781314e-04 + 1378 5.637155e-04 3.862457e-04 1.299137e-03 1.273133e-03 9.247243e-04 + 1379 3.562169e-03 2.113289e-03 4.289745e-03 4.453122e-03 2.396877e-03 + 1380 3.758486e-03 7.294702e-03 7.884236e-03 6.951401e-03 4.568896e-03 + 1381 2.759296e-03 3.203891e-03 3.803901e-03 1.690254e-03 3.324247e-03 + 1382 1.454378e-03 1.040073e-03 1.684040e-03 1.167673e-03 1.610309e-03 + 1383 6.027681e-04 1.233602e-03 4.626376e-04 6.898331e-04 7.118144e-04 + 1384 7.609861e-04 6.077927e-04 3.589612e-04 3.255836e-04 5.719180e-04 + 1385 2.668076e-03 4.432921e-03 2.034007e-03 2.137905e-03 2.052845e-03 + 1386 3.827117e-03 5.541095e-03 2.523032e-03 5.415899e-03 1.981252e-03 + 1387 1.216287e-03 1.073964e-03 7.357055e-04 2.786268e-03 9.209574e-04 + 1388 4.242667e-04 1.224663e-03 8.599515e-04 8.868964e-04 7.984960e-04 + 1389 1.178863e-03 1.639707e-03 1.061355e-03 1.693328e-03 2.075987e-03 + 1390 8.891720e-04 1.149369e-03 4.143238e-04 9.597717e-04 9.972431e-04 + 1391 1.495860e-03 9.635177e-05 1.609527e-03 1.036508e-03 1.279403e-03 + 1392 1.221102e-03 1.029587e-03 9.439817e-04 9.451456e-04 3.067189e-04 + 1393 2.821300e-04 1.829763e-03 7.477793e-04 2.215408e-04 9.635145e-04 + 1394 1.530913e-03 3.390705e-04 1.735674e-03 1.715527e-03 8.442323e-04 + 1395 8.407899e-04 9.335477e-04 1.730969e-03 6.524405e-04 1.225125e-03 + 1396 1.189728e-03 8.995990e-04 1.885209e-03 2.288452e-03 2.528136e-03 + 1397 8.851690e-04 1.753448e-03 1.073502e-03 1.404885e-03 1.790292e-03 + 1398 2.830295e-03 4.159148e-03 1.806709e-03 2.608768e-03 3.396613e-03 + 1399 6.247897e-04 9.495286e-04 9.475130e-04 5.825474e-04 6.012435e-04 + 1400 1.788640e-03 2.905689e-04 8.242001e-04 7.133812e-04 5.337263e-04 + 1401 5.734153e-04 4.914062e-04 1.466879e-03 2.176683e-03 1.549943e-03 + 1402 1.772194e-03 6.604083e-04 1.022897e-03 2.835876e-03 2.834950e-03 + 1403 5.906256e-04 1.634020e-03 1.463285e-03 8.079186e-04 9.802366e-04 + 1404 6.831298e-04 2.353893e-03 7.223604e-04 4.602821e-04 2.658597e-03 + 1405 3.298380e-03 2.048714e-03 1.544168e-04 1.392595e-03 1.127778e-03 + 1406 1.344168e-03 5.101473e-04 8.177475e-04 6.306415e-04 4.720812e-04 + 1407 6.441812e-04 1.669577e-03 7.223862e-04 1.457654e-03 9.567794e-04 + 1408 5.233702e-04 5.149547e-04 5.140453e-04 1.188949e-03 1.282729e-03 + 1409 1.184348e+00 1.320956e+00 1.223690e+00 1.502216e+00 1.328733e+00 + 1410 2.154330e+02 2.144661e+02 2.138280e+02 2.134422e+02 2.115795e+02 + 1411 3.383647e+02 3.355480e+02 3.351287e+02 3.343924e+02 3.315059e+02 + 1412 1.391160e+01 1.385413e+01 1.384771e+01 1.376523e+01 1.390383e+01 + 1413 6.346582e-02 4.220917e-02 3.617270e-02 3.998930e-02 4.563493e-02 + 1414 9.774489e-03 8.787059e-03 1.193312e-02 1.255785e-02 1.079603e-02 + 1415 1.132125e-01 1.249130e-01 1.160609e-01 1.236346e-01 1.313484e-01 + 1416 2.957714e-01 3.575286e-01 3.343428e-01 3.597158e-01 3.827650e-01 + 1417 7.295592e-02 6.978813e-02 7.568145e-02 7.543156e-02 7.529198e-02 + 1418 2.522432e-02 2.893913e-02 1.273914e-02 2.774072e-02 2.101241e-02 + 1419 9.488454e-03 4.499805e-03 1.781325e-02 8.288724e-03 9.227791e-03 + 1420 2.034215e-02 2.008938e-02 1.304931e-02 1.752037e-02 1.256170e-02 + 1421 6.555525e-03 8.188032e-03 1.005326e-02 4.709233e-03 8.653022e-03 + 1422 1.942214e-02 1.240233e-02 1.640876e-02 1.332758e-02 1.020605e-02 + 1423 7.306975e-03 6.483582e-03 1.079208e-02 1.228163e-02 9.663736e-03 + 1424 1.431918e-02 1.146342e-02 6.866149e-03 8.370337e-03 9.689888e-03 + 1425 4.700803e-03 4.130300e-03 5.534690e-03 5.040447e-03 5.544163e-03 + 1426 4.321038e-03 3.576337e-03 4.859005e-03 3.485730e-03 3.092039e-03 + 1427 1.074401e-02 8.739669e-03 7.481548e-03 1.678944e-02 8.093793e-03 + 1428 5.217284e-03 7.533864e-03 4.189261e-03 5.499718e-03 3.806659e-03 + 1429 1.285900e-02 5.517477e-03 8.158951e-03 9.257930e-03 6.804924e-03 + 1430 1.919595e-03 2.734106e-03 3.560560e-03 4.111185e-03 1.052586e-03 + 1431 7.864678e-03 6.954408e-03 5.569977e-03 5.278254e-03 6.864691e-03 + 1432 3.181854e-03 2.635389e-03 3.117694e-03 9.365593e-03 4.207812e-03 + 1433 4.439131e-03 5.125162e-03 3.283331e-03 5.156319e-03 2.091693e-03 + 1434 2.741267e-03 2.034105e-03 2.545807e-03 3.948399e-03 3.102193e-03 + 1435 3.498585e-03 4.775623e-03 4.674017e-03 4.024987e-03 6.609225e-03 + 1436 3.469948e-03 2.439346e-03 9.986632e-04 3.654588e-03 3.381903e-03 + 1437 2.427685e-03 6.200230e-04 2.788723e-03 1.070039e-03 1.844300e-03 + 1438 2.853397e-03 5.191832e-03 3.255525e-03 5.453834e-03 7.400983e-03 + 1439 1.876858e-03 3.049780e-04 1.568716e-03 1.884555e-03 1.294581e-03 + 1440 3.712465e-03 3.552975e-03 2.238173e-03 1.834682e-03 4.303109e-03 + 1441 1.427789e-03 1.821325e-03 3.450927e-03 3.351793e-03 5.471164e-04 + 1442 1.626026e-03 2.985380e-03 1.070545e-03 1.993741e-03 2.013326e-03 + 1443 1.876124e-03 2.209040e-03 2.945122e-03 1.734290e-03 2.445081e-03 + 1444 1.952670e-03 2.640448e-03 2.893582e-03 2.000605e-03 2.176731e-03 + 1445 2.146480e-03 2.748800e-03 3.523503e-03 3.638557e-03 1.629230e-03 + 1446 4.054004e-03 2.421480e-03 3.238817e-03 1.488331e-03 1.893346e-03 + 1447 2.325410e-03 5.224715e-03 3.397228e-03 2.992682e-03 4.800343e-03 + 1448 1.687790e-03 5.306405e-03 3.018701e-03 3.651628e-03 3.050797e-03 + 1449 3.919265e-04 1.319278e-03 6.459820e-04 4.311622e-04 2.843105e-04 + 1450 4.032099e-03 5.083735e-03 2.350984e-03 4.377459e-03 3.354506e-03 + 1451 2.371166e-04 1.095342e-03 1.494251e-03 1.122774e-03 7.126989e-04 + 1452 3.570667e-03 1.035147e-03 7.266640e-04 2.363722e-03 2.098363e-03 + 1453 1.910245e-03 2.361804e-03 4.203528e-03 3.531393e-03 2.400027e-03 + 1454 2.683901e-03 2.745151e-03 1.535913e-03 2.589774e-03 1.880414e-03 + 1455 2.390016e-03 3.005275e-04 6.096219e-04 2.562808e-03 3.803307e-04 + 1456 1.691924e-03 1.907333e-03 2.757794e-03 1.675217e-03 2.726485e-03 + 1457 7.842936e-02 8.114129e-02 7.323313e-02 8.189227e-02 7.224945e-02 + 1458 3.969733e-01 4.191543e-01 3.764384e-01 4.120721e-01 3.788090e-01 + 1459 7.755635e-02 8.016653e-02 7.199998e-02 7.981728e-02 7.359507e-02 + 1460 2.100424e-03 2.425530e-03 1.162974e-03 2.566025e-04 1.274431e-03 + 1461 2.162215e-03 2.088649e-03 4.178718e-03 1.453894e-03 3.077665e-03 + 1462 2.411800e-03 3.675290e-03 2.456219e-03 2.874457e-03 1.580724e-03 + 1463 2.516566e-03 4.383161e-04 1.444877e-03 2.211746e-03 1.442308e-03 + 1464 5.160183e-03 1.255531e-03 3.149941e-03 1.794462e-03 1.121893e-03 + 1465 7.617975e-04 2.109050e-03 3.703839e-03 8.821763e-04 6.408623e-04 + 1466 9.543378e-04 9.259403e-04 1.412645e-03 5.399966e-04 7.126770e-04 + 1467 3.931153e-03 2.976006e-03 3.091657e-03 2.534033e-03 2.741249e-03 + 1468 7.848384e-04 2.474263e-04 2.760275e-04 4.184221e-04 3.154405e-04 + 1469 1.875998e-03 5.487686e-04 2.575009e-03 3.113216e-04 1.110306e-03 + 1470 2.308192e-03 1.623252e-03 1.710437e-03 2.010007e-03 1.900691e-03 + 1471 1.606336e-03 9.335775e-04 5.057595e-04 2.538008e-03 9.039379e-04 + 1472 1.304801e-03 2.947005e-03 2.314313e-03 6.717852e-04 1.724726e-03 + 1473 6.552368e-04 2.757546e-03 5.599740e-04 2.782933e-03 1.788508e-03 + 1474 8.712137e-04 1.753094e-03 1.384654e-03 3.913338e-04 1.824190e-03 + 1475 6.901111e-04 1.798615e-03 5.113816e-04 6.631703e-04 9.246014e-04 + 1476 1.319442e-03 1.348192e-03 2.065292e-03 1.681460e-03 1.985190e-03 + 1477 2.578282e-04 1.785967e-03 1.927475e-03 3.062456e-04 1.177459e-03 + 1478 7.877057e-04 1.991221e-03 7.412621e-04 1.501962e-03 7.879227e-04 + 1479 1.873192e-03 9.410900e-04 1.299359e-03 1.326857e-03 1.666719e-03 + 1480 7.354929e-04 1.854046e-03 9.771815e-04 2.460272e-03 5.579702e-04 + 1481 3.418235e-04 5.525783e-04 2.745329e-03 8.586876e-04 1.638078e-04 + 1482 6.097205e-04 1.081469e-03 6.644402e-04 1.196883e-03 1.062494e-03 + 1483 1.090283e-03 8.778040e-04 6.730716e-04 4.502453e-04 1.414641e-03 + 1484 6.252921e-04 1.045235e-03 9.414808e-04 6.299012e-04 1.111164e-03 + 1485 8.755672e-04 3.629464e-04 1.167006e-03 1.576028e-03 1.375304e-03 + 1486 2.005497e-03 1.161497e-03 1.577527e-03 8.518657e-04 8.291304e-04 + 1487 2.467715e-03 1.502651e-03 1.325358e-03 2.109655e-03 1.237558e-03 + 1488 1.358157e-03 3.403233e-04 2.798515e-03 1.148260e-03 9.285311e-04 + 1489 1.280971e-03 1.270922e-03 8.529400e-04 2.228154e-03 6.206019e-04 + 1490 1.380980e-03 1.389217e-03 2.099542e-03 4.664364e-04 1.493012e-03 + 1491 1.736859e-03 1.700592e-03 1.714795e-03 1.597899e-03 1.473388e-03 + 1492 1.357357e-03 2.116195e-03 1.695518e-03 2.959490e-04 8.037329e-04 + 1493 1.603111e-03 1.781259e-03 1.163809e-03 7.009139e-04 6.639294e-04 + 1494 6.463508e-04 1.067929e-03 3.797094e-04 1.543240e-03 9.661816e-04 + 1495 1.043675e-03 1.022189e-03 1.760756e-03 1.846663e-03 3.195259e-04 + 1496 1.422187e-03 1.442895e-03 4.266647e-03 1.466520e-03 1.586225e-03 + 1497 1.626960e-03 6.264226e-04 1.456015e-03 8.948105e-04 4.542081e-04 + 1498 4.278360e-04 1.582771e-03 1.078610e-03 9.602777e-04 1.139311e-03 + 1499 9.358764e-04 8.309719e-04 6.213863e-04 4.204603e-04 4.708959e-04 + 1500 1.107033e-03 1.183081e-03 2.441626e-03 9.240341e-04 2.055193e-03 + 1501 1.190617e-03 1.169454e-03 3.822536e-03 1.719672e-03 9.856074e-04 + 1502 8.317876e-03 5.023570e-03 1.120442e-02 4.564252e-03 3.774765e-03 + 1503 3.184453e-03 2.263035e-03 4.277335e-03 9.052160e-04 5.920992e-04 + 1504 1.382239e-03 1.079173e-03 1.751581e-03 1.100085e-03 4.678853e-04 + 1505 7.529134e-04 1.180137e-03 6.429748e-04 6.987656e-04 7.210594e-04 + 1506 5.595063e-04 2.166044e-03 4.855569e-04 1.731326e-03 4.821841e-04 + 1507 2.262067e-03 3.327976e-03 2.491061e-03 2.784475e-03 1.550541e-03 + 1508 8.090720e-03 1.080040e-02 1.118193e-02 9.209407e-03 6.978378e-03 + 1509 1.630092e-03 3.359274e-03 2.949895e-03 2.061602e-03 2.489393e-03 + 1510 2.182115e-03 1.072731e-04 1.298807e-03 2.976803e-04 1.826005e-03 + 1511 7.148906e-04 9.479565e-04 2.797862e-03 1.746635e-03 1.914370e-03 + 1512 9.891625e-04 4.270807e-04 1.263236e-03 1.071432e-03 2.302408e-03 + 1513 1.536255e-03 1.454675e-03 2.532518e-03 1.813641e-03 8.043785e-04 + 1514 3.683742e-03 5.909446e-03 6.063360e-03 5.775015e-03 2.957001e-03 + 1515 1.753432e-03 1.857722e-03 2.509077e-03 1.568591e-03 2.601044e-03 + 1516 1.113674e-03 1.552275e-03 6.780114e-04 1.011755e-03 1.218482e-03 + 1517 1.031920e-03 1.347591e-03 1.447983e-03 9.077719e-04 1.347708e-03 + 1518 3.850595e-04 7.784423e-04 5.347453e-04 1.152378e-03 9.548024e-04 + 1519 8.945700e-04 3.419643e-04 9.001059e-04 1.127004e-03 1.329317e-03 + 1520 6.943998e-04 2.218368e-04 2.622081e-03 5.753432e-04 4.982677e-04 + 1521 1.457246e-03 1.638802e-03 1.435024e-03 5.794707e-04 2.538025e-03 + 1522 7.534852e-04 6.117059e-04 1.270271e-03 7.472633e-04 1.200466e-03 + 1523 6.505553e-04 1.447512e-03 1.033045e-03 1.112480e-03 9.753111e-04 + 1524 2.493025e-04 1.939648e-03 1.942843e-03 1.186709e-03 1.066110e-03 + 1525 5.903808e-04 8.509489e-04 9.364221e-04 3.605593e-04 4.802488e-04 + 1526 1.544569e-03 1.142733e-03 1.918393e-03 1.258414e-03 2.245584e-03 + 1527 1.237850e-03 7.741466e-04 1.938552e-03 4.274311e-04 1.176840e-03 + 1528 7.632468e-04 1.672076e-03 1.717764e-03 9.935189e-04 5.781567e-04 + 1529 6.448567e-04 1.364517e-03 4.137264e-04 1.292446e-03 8.059669e-04 + 1530 7.983343e-04 1.018014e-03 1.159884e-03 2.221649e-03 9.170987e-04 + 1531 1.581528e-03 8.423839e-04 1.378373e-03 8.758023e-04 4.975080e-04 + 1532 8.596420e-04 4.571350e-04 4.397290e-04 7.668695e-04 8.413383e-04 + 1533 1.707650e-03 1.134409e-03 4.552983e-04 8.933203e-04 1.976662e-03 + 1534 5.852856e-04 1.303220e-03 3.789005e-04 9.348974e-04 6.957790e-04 + 1535 1.757868e-03 9.710980e-04 1.242918e-03 2.070267e-03 6.077395e-04 + 1536 8.149463e-04 1.055769e-03 2.196963e-03 2.307918e-03 1.555141e-03 + 1537 1.364352e+00 1.499867e+00 1.318711e+00 1.471912e+00 1.378222e+00 + 1538 2.152930e+02 2.128273e+02 2.137808e+02 2.145384e+02 2.114485e+02 + 1539 3.396483e+02 3.359324e+02 3.365012e+02 3.372404e+02 3.335029e+02 + 1540 1.377588e+01 1.386100e+01 1.367923e+01 1.372079e+01 1.376494e+01 + 1541 1.160358e-02 3.930070e-03 1.278941e-02 1.274693e-02 3.878322e-03 + 1542 5.023594e-02 3.869240e-02 4.384494e-02 4.049356e-02 3.869934e-02 + 1543 1.048166e-01 1.015415e-01 8.271650e-02 9.085343e-02 8.936165e-02 + 1544 3.733565e-01 4.076630e-01 3.885421e-01 4.226513e-01 4.180434e-01 + 1545 4.490753e-02 5.644273e-02 4.757722e-02 5.254673e-02 4.658026e-02 + 1546 9.198477e-03 1.350946e-02 1.447695e-02 7.599142e-03 1.490034e-02 + 1547 3.155310e-02 2.079234e-02 1.719016e-02 2.889023e-02 2.019016e-02 + 1548 1.274942e-02 1.000704e-02 1.525754e-02 1.610102e-02 1.774559e-02 + 1549 5.653066e-03 1.099104e-02 1.733494e-02 4.923938e-03 6.989707e-03 + 1550 1.736560e-02 1.719663e-02 1.338597e-02 1.404082e-02 1.515332e-02 + 1551 7.684094e-03 6.802457e-03 1.032747e-02 9.153201e-03 7.906669e-03 + 1552 1.355321e-02 1.159814e-02 9.374688e-03 1.176997e-02 1.091970e-02 + 1553 3.400582e-03 6.637096e-03 6.493343e-03 6.577714e-03 9.578974e-03 + 1554 4.432845e-03 3.148652e-03 4.737212e-03 3.381111e-03 5.075762e-03 + 1555 7.524163e-03 1.233738e-02 9.983517e-03 1.364743e-02 1.028626e-02 + 1556 6.433210e-03 3.161573e-03 4.102300e-03 4.774719e-03 3.606116e-03 + 1557 8.113683e-03 8.854745e-03 4.606026e-03 6.465860e-03 5.345408e-03 + 1558 5.800707e-03 3.182531e-03 7.049700e-03 5.383061e-03 7.867131e-03 + 1559 3.102614e-03 3.376348e-03 3.087256e-03 2.753277e-03 6.443040e-03 + 1560 6.640820e-03 5.689598e-03 4.819077e-03 9.813001e-03 8.993071e-03 + 1561 3.357601e-03 3.449960e-03 1.414680e-03 3.113516e-03 2.767613e-03 + 1562 2.497609e-03 2.834299e-03 7.725505e-03 3.501620e-03 3.090934e-03 + 1563 5.171439e-03 2.928724e-03 2.358558e-03 4.352444e-03 2.971466e-03 + 1564 2.976103e-03 5.220319e-03 4.413583e-03 5.267180e-03 7.478391e-03 + 1565 5.085621e-03 3.342271e-03 2.482535e-03 4.312671e-03 1.349759e-03 + 1566 3.859487e-03 5.902678e-03 3.781696e-03 6.468838e-03 4.084331e-03 + 1567 3.003225e-03 3.360476e-03 2.387413e-03 2.883932e-03 2.580112e-03 + 1568 2.763476e-03 3.106876e-03 6.399896e-03 3.648364e-03 3.239581e-03 + 1569 3.551993e-03 3.185870e-03 3.046775e-03 7.449425e-04 1.889596e-03 + 1570 1.492952e-03 2.220431e-03 3.199138e-03 3.112413e-03 3.131455e-03 + 1571 3.179882e-03 2.045316e-03 3.045235e-03 3.367498e-03 3.141546e-03 + 1572 3.214683e-03 3.050608e-03 2.698478e-03 4.652161e-03 2.301764e-03 + 1573 1.961671e-03 2.691950e-03 4.245305e-03 1.963580e-03 2.077195e-03 + 1574 3.029239e-03 2.403315e-03 1.420164e-03 2.258345e-03 4.077758e-03 + 1575 1.523228e-03 2.475136e-03 3.268237e-03 2.609724e-03 7.813192e-04 + 1576 1.828725e-03 3.448448e-03 4.856802e-03 1.822103e-03 3.364437e-03 + 1577 2.440861e-03 2.163429e-03 1.501838e-03 2.982059e-03 3.154120e-03 + 1578 1.597379e-03 1.818725e-03 3.637921e-03 7.187931e-04 1.054103e-03 + 1579 1.590696e-03 1.751532e-03 2.525058e-03 2.998726e-03 3.727447e-03 + 1580 2.842924e-03 9.116539e-04 2.083505e-03 3.137887e-03 8.014074e-04 + 1581 2.533531e-03 3.027686e-03 1.235154e-03 3.554879e-03 1.204468e-03 + 1582 1.772321e-03 1.874178e-03 1.015013e-03 2.778865e-03 1.986816e-03 + 1583 1.386255e-03 7.721851e-04 1.147874e-03 1.428660e-03 8.633215e-04 + 1584 1.425425e-03 1.215165e-03 1.360682e-03 6.953784e-04 1.004134e-03 + 1585 8.214840e-02 8.757713e-02 8.024747e-02 8.304214e-02 8.408002e-02 + 1586 4.223635e-01 4.461839e-01 4.458063e-01 4.567644e-01 4.474261e-01 + 1587 7.940984e-02 9.084974e-02 8.181616e-02 8.580063e-02 8.637140e-02 + 1588 7.451481e-04 9.194838e-04 1.888636e-03 9.077863e-04 1.246731e-03 + 1589 1.658184e-03 1.694086e-03 8.451849e-04 3.281989e-03 1.770600e-03 + 1590 1.642719e-03 1.785057e-03 3.181846e-03 2.940444e-03 1.568303e-03 + 1591 1.810721e-03 1.388853e-03 7.090155e-04 2.210436e-03 1.196510e-03 + 1592 3.481384e-03 2.133508e-03 3.285734e-03 4.130148e-03 5.052798e-03 + 1593 5.366997e-04 2.186364e-03 2.135765e-04 1.102470e-03 2.067127e-03 + 1594 1.183612e-03 6.286853e-04 2.854710e-03 9.624603e-04 2.406670e-03 + 1595 2.591835e-03 2.866965e-03 1.483340e-03 1.075298e-03 1.491441e-03 + 1596 1.234307e-03 1.269916e-03 9.477967e-04 1.016397e-03 2.043558e-03 + 1597 1.099502e-03 1.674773e-03 1.869989e-03 1.164210e-03 3.008589e-03 + 1598 1.309623e-03 6.424766e-04 1.089002e-03 8.419762e-04 6.360024e-04 + 1599 1.063643e-03 1.091352e-03 3.477062e-03 1.451380e-03 9.458350e-04 + 1600 7.004474e-04 8.406327e-04 7.509083e-04 1.113924e-03 1.648682e-03 + 1601 8.814907e-04 8.692285e-04 2.643017e-03 4.652821e-04 2.475623e-04 + 1602 1.056671e-03 2.340039e-03 1.088433e-03 3.313864e-03 3.130258e-03 + 1603 9.159498e-04 8.494312e-04 7.438632e-04 9.425592e-04 1.622395e-03 + 1604 8.750932e-04 1.026292e-03 1.221108e-03 9.324241e-04 3.501617e-03 + 1605 3.779762e-04 2.018857e-03 7.333461e-04 1.800607e-03 1.805764e-03 + 1606 1.788826e-03 1.157395e-03 1.971295e-03 1.832406e-03 3.032163e-03 + 1607 1.438191e-04 4.770591e-04 4.768727e-04 5.816292e-04 9.926988e-04 + 1608 9.048639e-04 5.239541e-04 3.941702e-04 3.261683e-04 1.069836e-03 + 1609 7.438131e-04 1.670056e-03 1.832406e-03 1.190775e-03 2.361507e-03 + 1610 2.129834e-03 1.849729e-03 8.781791e-04 5.064355e-04 3.125912e-04 + 1611 3.702705e-04 1.028439e-03 2.355167e-03 2.781547e-03 2.415412e-03 + 1612 8.634457e-04 6.775376e-04 2.555972e-03 1.243475e-03 1.619708e-03 + 1613 7.965493e-04 2.849834e-04 9.304586e-04 1.818450e-03 5.685800e-04 + 1614 1.776895e-03 7.995988e-04 4.746669e-04 2.939242e-04 1.229467e-03 + 1615 9.644411e-04 7.001419e-04 1.349683e-03 6.395256e-04 3.753186e-04 + 1616 1.049064e-03 1.628006e-03 1.820545e-03 2.545122e-03 2.053429e-03 + 1617 9.933964e-04 8.781260e-04 9.007770e-04 4.009637e-04 2.513844e-04 + 1618 3.328491e-03 3.507500e-03 2.795150e-03 4.194087e-03 1.938115e-03 + 1619 7.792647e-04 2.260882e-03 1.543046e-03 2.081865e-03 1.025379e-03 + 1620 7.618298e-04 3.199189e-03 1.116022e-03 1.596150e-03 4.206947e-03 + 1621 6.551287e-04 1.372872e-03 6.480554e-04 1.452994e-03 4.424292e-04 + 1622 1.062874e-03 5.043009e-04 2.602650e-03 1.549944e-03 2.988583e-04 + 1623 8.063149e-04 7.481603e-04 2.147342e-03 2.565540e-03 7.588812e-04 + 1624 7.305805e-04 1.234483e-03 1.709598e-03 1.090669e-03 3.640147e-04 + 1625 1.258820e-03 1.063206e-03 1.746820e-03 1.532671e-03 9.948450e-04 + 1626 3.671677e-04 1.434678e-04 7.696085e-04 7.846028e-04 9.225837e-04 + 1627 1.048024e-03 1.352555e-03 5.146353e-04 8.515790e-04 1.262751e-03 + 1628 9.890504e-04 1.769161e-03 2.099311e-03 9.292839e-04 5.045964e-04 + 1629 1.444350e-03 1.552376e-03 4.238804e-03 1.238171e-03 9.995639e-04 + 1630 4.664013e-03 5.254456e-03 9.263477e-03 9.240708e-03 8.603597e-03 + 1631 6.976519e-04 2.254567e-03 2.564035e-03 2.112069e-03 2.999506e-03 + 1632 2.197565e-03 1.125629e-03 9.879036e-04 1.855698e-03 7.054996e-04 + 1633 5.675768e-04 1.061024e-03 9.114892e-04 4.323683e-04 1.378494e-03 + 1634 9.239597e-04 4.894933e-04 9.651695e-04 5.025364e-04 3.161286e-04 + 1635 3.273301e-03 2.653994e-03 4.563381e-03 2.219552e-03 2.973201e-03 + 1636 5.411462e-03 8.815460e-03 9.955615e-03 9.207522e-03 5.636273e-03 + 1637 1.934278e-03 2.327984e-03 2.276337e-03 2.576305e-03 2.141715e-03 + 1638 8.819276e-04 4.584834e-04 1.979683e-03 1.331887e-03 2.457043e-04 + 1639 9.364100e-04 5.188365e-04 1.519103e-03 2.106276e-03 1.908754e-03 + 1640 4.986418e-04 1.885236e-03 9.109542e-04 9.770474e-04 6.389951e-04 + 1641 2.646360e-03 2.142354e-03 2.185402e-03 1.569439e-03 1.385093e-03 + 1642 7.709312e-03 5.896064e-03 1.106519e-02 4.264064e-03 5.725782e-03 + 1643 2.370993e-03 1.455362e-03 3.445746e-03 1.318717e-03 9.381566e-04 + 1644 5.128628e-04 2.510566e-03 1.005556e-03 1.192955e-03 6.145542e-04 + 1645 7.527133e-04 1.512397e-03 2.599753e-03 1.804747e-03 1.081508e-03 + 1646 1.271522e-03 8.353335e-04 3.783193e-04 5.225929e-04 8.619350e-04 + 1647 1.660331e-03 1.533985e-03 2.263981e-03 2.055269e-03 3.891193e-04 + 1648 1.684035e-03 9.367854e-04 2.013969e-03 2.309562e-03 2.300868e-03 + 1649 1.374644e-03 1.432317e-03 1.031325e-03 1.733364e-03 9.710750e-04 + 1650 1.157493e-03 8.547869e-04 1.095588e-03 1.167351e-03 9.995682e-04 + 1651 1.911997e-03 2.207109e-03 8.060921e-04 9.812627e-04 8.916299e-04 + 1652 5.521364e-04 1.710669e-03 1.341345e-03 8.874435e-04 9.047867e-04 + 1653 9.299685e-04 1.608744e-03 5.907950e-04 2.103717e-03 9.758446e-04 + 1654 4.448054e-03 3.340826e-03 1.475135e-03 5.402472e-03 1.995416e-03 + 1655 2.468687e-03 1.733917e-03 4.965850e-04 1.762399e-03 8.762056e-04 + 1656 1.515685e-03 5.857729e-04 7.765369e-04 1.257290e-03 1.316472e-04 + 1657 1.999981e-03 9.068572e-04 1.456522e-03 9.335154e-04 5.606654e-04 + 1658 6.190924e-04 2.725254e-03 1.345634e-03 7.954138e-04 1.549829e-03 + 1659 1.059277e-03 2.660265e-03 1.690247e-03 5.687362e-04 3.002794e-04 + 1660 4.684855e-04 7.972696e-04 1.944245e-03 7.763074e-04 1.595583e-03 + 1661 6.176940e-04 7.582151e-04 1.422449e-03 9.264724e-04 1.669582e-03 + 1662 2.448444e-04 1.422601e-03 1.338356e-03 1.354562e-03 7.034165e-04 + 1663 1.959030e-03 3.958716e-04 1.119430e-03 2.133639e-03 9.461324e-04 + 1664 8.788322e-04 5.578656e-04 3.933412e-03 5.057435e-04 4.481091e-04 + 1665 1.426219e+00 1.420489e+00 1.435434e+00 1.345688e+00 1.315154e+00 + 1666 2.149424e+02 2.130071e+02 2.130727e+02 2.135130e+02 2.107319e+02 + 1667 3.389085e+02 3.358447e+02 3.360288e+02 3.354647e+02 3.324853e+02 + 1668 1.389294e+01 1.383935e+01 1.370026e+01 1.356928e+01 1.338152e+01 + 1669 1.346924e-02 7.872745e-03 1.400722e-02 1.134134e-02 1.686191e-02 + 1670 4.961032e-02 4.801491e-02 3.157621e-02 4.637246e-02 4.298124e-02 + 1671 1.021240e-01 1.231875e-01 1.317556e-01 1.095359e-01 1.096947e-01 + 1672 3.958562e-01 3.993877e-01 4.787965e-01 4.514860e-01 4.348810e-01 + 1673 6.390003e-02 6.997398e-02 7.697472e-02 7.349014e-02 7.159934e-02 + 1674 6.619718e-03 1.233768e-02 1.610083e-02 1.239378e-02 1.070142e-02 + 1675 3.493226e-02 2.026621e-02 1.370952e-02 2.483621e-02 2.650032e-02 + 1676 1.374753e-02 2.158818e-02 2.600507e-02 1.565505e-02 1.255457e-02 + 1677 1.714276e-02 5.836990e-03 2.310982e-02 1.373455e-02 1.623023e-02 + 1678 2.068527e-02 1.947161e-02 3.002890e-02 1.978035e-02 1.599825e-02 + 1679 6.240476e-03 5.217368e-03 4.158214e-03 4.648171e-03 7.926656e-03 + 1680 1.037724e-02 1.394804e-02 1.512226e-02 1.405394e-02 7.790990e-03 + 1681 8.454744e-03 4.155177e-03 5.877118e-03 1.369634e-02 1.092440e-02 + 1682 5.619147e-03 8.225900e-03 1.109759e-02 3.098662e-03 8.144087e-03 + 1683 7.584048e-03 1.121090e-02 6.532317e-03 6.957405e-03 7.581634e-03 + 1684 7.082770e-03 4.532280e-03 6.682279e-03 6.937288e-03 5.647268e-03 + 1685 4.473697e-03 5.630538e-03 4.582005e-03 3.343784e-03 8.354501e-03 + 1686 5.096012e-03 4.613191e-03 4.284487e-03 4.188154e-03 2.421400e-03 + 1687 5.791959e-03 8.162529e-03 7.432444e-03 9.156210e-03 5.069537e-03 + 1688 2.780874e-03 2.021144e-03 2.664597e-03 4.004371e-03 2.152604e-03 + 1689 4.279890e-03 3.588372e-03 4.640298e-03 2.105618e-03 5.791860e-03 + 1690 4.351147e-03 5.484336e-03 3.309517e-03 3.376867e-03 6.177706e-03 + 1691 2.917695e-03 1.223110e-03 4.833027e-03 2.719052e-03 1.373044e-03 + 1692 3.877029e-03 5.850337e-03 3.009443e-03 3.897042e-03 4.364383e-03 + 1693 2.697656e-03 1.744591e-03 2.864396e-03 5.106457e-03 2.447316e-03 + 1694 4.034771e-03 5.764912e-03 3.961200e-03 5.040590e-03 2.043822e-03 + 1695 2.745713e-03 3.947497e-03 1.556565e-03 2.023826e-03 3.795291e-03 + 1696 4.496121e-03 5.570768e-03 2.514439e-03 3.905154e-03 2.298047e-03 + 1697 2.420230e-03 1.568904e-03 2.073135e-03 1.696276e-03 1.545408e-03 + 1698 4.124280e-03 3.424756e-03 4.805265e-03 6.199841e-03 6.002073e-03 + 1699 2.004223e-03 4.576107e-03 3.105256e-03 6.664544e-04 6.037184e-04 + 1700 2.305709e-03 2.470160e-04 2.279336e-03 1.649568e-03 2.695507e-03 + 1701 4.637734e-03 4.198272e-03 3.856069e-03 1.948479e-03 2.194945e-03 + 1702 9.741384e-04 1.462711e-03 2.282088e-03 3.205077e-03 1.753612e-03 + 1703 3.080022e-03 4.764415e-03 5.332628e-03 1.539402e-03 4.328373e-03 + 1704 1.249116e-03 1.119004e-03 3.401814e-04 1.048817e-03 1.615571e-04 + 1705 3.127876e-03 2.569273e-03 3.006518e-03 2.684816e-03 3.634799e-03 + 1706 4.349314e-03 3.548581e-03 5.325207e-03 2.103208e-03 3.353535e-03 + 1707 2.844194e-03 3.792993e-03 8.382845e-03 4.379454e-03 2.312891e-03 + 1708 9.755072e-04 3.046839e-03 2.779456e-03 1.998422e-03 1.388824e-03 + 1709 3.723367e-03 2.043277e-03 8.333252e-04 1.388632e-03 2.456003e-03 + 1710 3.276599e-03 1.688948e-03 2.129954e-03 2.249922e-03 1.208089e-03 + 1711 1.252920e-03 1.284280e-03 2.257929e-03 1.707982e-03 5.046674e-04 + 1712 4.961375e-03 7.937356e-04 1.757971e-03 3.658527e-03 3.000259e-03 + 1713 7.517310e-02 7.281440e-02 8.354000e-02 8.607570e-02 7.188415e-02 + 1714 4.265420e-01 4.057441e-01 4.720714e-01 4.339205e-01 4.061898e-01 + 1715 7.975008e-02 8.413745e-02 9.174205e-02 8.091980e-02 7.709106e-02 + 1716 3.279466e-03 3.490361e-03 4.442258e-03 3.147873e-03 1.302636e-03 + 1717 2.177553e-03 1.501563e-03 5.055212e-03 1.297664e-03 1.255124e-03 + 1718 2.565476e-03 8.439282e-04 2.945602e-04 7.366660e-04 5.430470e-04 + 1719 1.878011e-03 1.783891e-03 2.559878e-03 1.470649e-03 3.124042e-03 + 1720 2.167316e-03 2.106056e-03 8.223313e-04 2.715640e-03 1.781560e-03 + 1721 6.876197e-04 2.117976e-03 1.828105e-03 1.111012e-03 1.447064e-03 + 1722 2.120637e-03 8.822616e-04 2.927137e-03 3.411139e-03 3.278436e-03 + 1723 2.067297e-04 6.816565e-04 3.754154e-03 5.375310e-04 7.900769e-04 + 1724 1.693762e-03 2.175283e-03 2.428724e-03 1.604968e-03 2.056616e-03 + 1725 4.109396e-04 5.040952e-04 1.286433e-03 7.452069e-04 6.142095e-04 + 1726 2.568222e-03 1.184393e-03 1.478225e-03 1.607127e-03 1.839936e-03 + 1727 1.450431e-03 1.084107e-03 2.531894e-03 1.002021e-03 7.778396e-04 + 1728 2.139918e-03 1.461216e-03 2.204387e-03 2.409587e-03 2.633029e-03 + 1729 9.733516e-04 1.601512e-03 3.630582e-04 9.568192e-04 2.490074e-04 + 1730 6.758980e-04 1.604509e-03 1.914250e-03 3.044275e-03 2.303640e-03 + 1731 1.483384e-03 3.713126e-04 9.772487e-04 1.840665e-03 3.010211e-04 + 1732 1.430094e-03 2.737873e-03 1.863477e-03 1.090861e-03 1.252753e-03 + 1733 1.110280e-03 2.047740e-03 1.005826e-03 1.561242e-04 5.914867e-04 + 1734 1.442040e-03 2.030745e-03 9.782846e-04 1.792736e-03 1.189960e-03 + 1735 3.102227e-03 1.692363e-03 8.540498e-04 5.416849e-04 1.425866e-03 + 1736 1.119903e-03 1.945250e-03 1.782319e-03 6.118585e-04 1.039800e-03 + 1737 1.566146e-03 1.977052e-03 1.809852e-03 1.522980e-03 1.531021e-03 + 1738 4.017085e-04 1.378393e-03 8.075516e-04 2.692801e-03 5.994290e-04 + 1739 2.156330e-03 6.325527e-04 3.891991e-04 3.581187e-04 8.283215e-04 + 1740 2.069637e-03 2.607400e-03 1.392698e-03 3.100743e-03 1.564966e-03 + 1741 8.575848e-04 1.988794e-03 1.232009e-03 1.408654e-03 9.706194e-04 + 1742 1.055497e-03 1.152166e-03 5.829419e-04 1.051175e-03 4.277746e-04 + 1743 2.860982e-03 2.582774e-04 2.006260e-03 6.013366e-04 1.890088e-03 + 1744 8.092192e-04 1.999712e-03 6.857042e-04 4.402353e-04 3.000868e-04 + 1745 1.491138e-03 1.045552e-03 1.423619e-03 5.387927e-04 1.405144e-03 + 1746 1.935287e-03 1.585837e-03 3.339359e-03 1.440252e-03 2.617123e-03 + 1747 6.846836e-04 6.137902e-04 2.597384e-03 1.153078e-03 1.507720e-03 + 1748 8.578577e-04 9.584494e-04 1.268709e-03 2.409662e-03 1.956554e-03 + 1749 1.660198e-03 4.927542e-04 9.666130e-04 9.422057e-04 9.667794e-04 + 1750 7.071589e-04 3.657563e-03 1.402959e-03 1.278961e-03 1.990229e-03 + 1751 6.411573e-04 1.007425e-03 9.189983e-04 6.667491e-04 4.775290e-04 + 1752 7.023083e-04 2.502336e-04 9.185865e-04 7.660689e-04 1.931848e-03 + 1753 7.264714e-04 1.042110e-03 3.768231e-04 2.042586e-04 6.313947e-04 + 1754 2.628017e-04 6.537500e-04 4.222979e-04 1.462107e-03 1.642644e-03 + 1755 1.814359e-03 1.675348e-03 1.021481e-03 8.393280e-04 1.531316e-03 + 1756 6.359276e-04 5.151480e-04 8.918596e-04 3.515911e-04 4.754158e-04 + 1757 7.325529e-04 1.236656e-03 2.578389e-03 1.928592e-03 2.676112e-03 + 1758 2.996037e-03 3.770021e-03 5.804791e-03 4.133298e-03 5.617142e-03 + 1759 2.019738e-03 2.811663e-03 1.587598e-03 9.709931e-04 1.430800e-03 + 1760 3.062091e-04 7.955853e-04 9.234712e-04 3.603630e-04 1.752307e-03 + 1761 1.393106e-03 4.761183e-04 9.468868e-04 4.868874e-04 2.246858e-04 + 1762 1.638259e-03 9.665625e-04 3.129029e-04 8.111604e-04 7.939195e-04 + 1763 2.993057e-03 1.723834e-03 1.393575e-03 2.042601e-03 2.016386e-03 + 1764 7.649800e-03 8.078038e-03 9.450098e-03 1.169154e-02 8.763757e-03 + 1765 1.695865e-03 2.467683e-03 3.657379e-03 5.040400e-03 2.763585e-03 + 1766 6.676874e-04 5.982179e-04 4.284445e-04 2.402117e-03 1.184460e-03 + 1767 1.134913e-03 1.632914e-03 2.273617e-03 1.032360e-03 9.720040e-04 + 1768 2.592116e-04 1.261687e-03 7.967030e-04 1.268980e-03 1.033345e-03 + 1769 1.941663e-03 1.306852e-03 2.517011e-03 1.512091e-03 1.610218e-03 + 1770 2.948411e-03 4.939937e-03 5.529429e-03 4.064238e-03 4.560100e-03 + 1771 1.816797e-03 1.433027e-03 1.177337e-03 2.224663e-03 2.772870e-03 + 1772 1.563296e-03 1.227811e-03 3.582220e-04 1.145130e-03 9.452892e-04 + 1773 5.013112e-04 1.118959e-03 6.015500e-04 6.602558e-04 1.399242e-03 + 1774 1.056190e-03 1.191894e-03 6.474306e-04 3.549772e-04 5.677369e-04 + 1775 1.315610e-04 1.317034e-03 7.334434e-04 1.473254e-03 8.874303e-04 + 1776 4.021846e-04 1.162351e-03 1.900361e-03 8.561536e-04 1.101333e-03 + 1777 1.326724e-03 1.894563e-03 9.767118e-04 1.130641e-03 4.665209e-04 + 1778 6.512874e-04 2.712410e-03 9.688989e-04 1.262045e-03 2.059356e-03 + 1779 1.207234e-03 7.495755e-04 1.111199e-03 6.320052e-04 2.474196e-04 + 1780 1.886751e-03 7.806563e-04 1.396881e-03 7.941272e-04 2.116193e-03 + 1781 1.048441e-03 1.160489e-03 1.787098e-03 1.128890e-03 1.545105e-03 + 1782 3.602319e-03 1.430703e-03 1.060260e-03 1.653977e-03 3.299528e-03 + 1783 2.804431e-03 1.763625e-03 1.091381e-03 2.266548e-03 3.755519e-03 + 1784 8.625377e-04 5.503733e-04 5.800537e-04 1.031359e-03 1.896680e-03 + 1785 1.138707e-03 8.299448e-04 5.167423e-04 9.464511e-04 9.592805e-04 + 1786 2.071139e-03 2.081058e-03 8.041569e-04 1.027303e-03 2.110115e-03 + 1787 7.809167e-04 1.121918e-03 2.156316e-03 1.517689e-03 1.890788e-03 + 1788 6.342242e-04 9.026388e-04 6.046889e-04 1.575609e-03 1.248321e-03 + 1789 1.372699e-04 1.756761e-03 1.587835e-03 1.637564e-03 7.992309e-04 + 1790 1.148565e-03 9.926671e-04 6.314603e-04 8.322375e-04 5.559990e-04 + 1791 2.931792e-04 1.016677e-03 6.837691e-04 8.699891e-04 5.283602e-04 + 1792 2.421469e-03 2.012580e-03 9.576974e-04 6.010459e-04 1.564524e-03 + 1793 1.286111e+00 1.217992e+00 1.143141e+00 1.383549e+00 1.230754e+00 + 1794 2.157298e+02 2.129603e+02 2.130826e+02 2.137093e+02 2.118854e+02 + 1795 3.376247e+02 3.337527e+02 3.344046e+02 3.348127e+02 3.313733e+02 + 1796 1.379349e+01 1.374811e+01 1.365187e+01 1.382565e+01 1.367878e+01 + 1797 5.937880e-02 4.448643e-02 2.583071e-02 2.420175e-02 2.976433e-02 + 1798 2.191801e-02 1.373033e-02 2.695356e-02 2.150203e-02 2.308197e-02 + 1799 9.125042e-02 1.083808e-01 1.222816e-01 1.157991e-01 9.854944e-02 + 1800 3.023237e-01 3.509148e-01 4.106226e-01 4.359471e-01 3.740380e-01 + 1801 5.382474e-02 7.236570e-02 5.671512e-02 6.151009e-02 6.633453e-02 + 1802 1.670047e-02 1.614501e-02 1.415607e-02 1.234936e-02 1.169105e-02 + 1803 2.716822e-02 1.260334e-02 1.665718e-02 2.275393e-02 1.860811e-02 + 1804 7.395009e-03 1.643051e-02 9.170656e-03 1.116333e-02 8.897283e-03 + 1805 1.839833e-02 1.191794e-02 3.812840e-02 1.060500e-02 1.232937e-02 + 1806 7.695835e-03 1.101321e-02 1.243515e-02 1.086232e-02 1.119672e-02 + 1807 7.891585e-03 6.892820e-03 6.670640e-03 5.501536e-03 2.602716e-03 + 1808 6.836031e-03 5.088309e-03 1.437145e-02 7.703325e-03 8.652098e-03 + 1809 9.462326e-03 7.975172e-03 6.194948e-03 5.034214e-03 6.043887e-03 + 1810 4.416839e-03 4.418840e-03 1.536104e-02 8.601201e-03 5.547802e-03 + 1811 7.146967e-03 7.256168e-03 6.293793e-03 7.540299e-03 4.367802e-03 + 1812 1.981586e-03 5.714640e-03 3.861006e-03 3.400576e-03 3.289179e-03 + 1813 6.690731e-03 3.270988e-03 2.005606e-02 4.166639e-03 6.199084e-03 + 1814 5.281059e-03 5.394916e-03 9.287396e-04 5.326032e-03 4.538194e-03 + 1815 5.076609e-03 5.111303e-03 7.052111e-03 7.967785e-03 9.425619e-03 + 1816 5.718875e-03 3.913743e-03 7.351072e-03 6.804758e-03 4.644139e-03 + 1817 2.575534e-03 2.222800e-03 1.903251e-03 5.633742e-03 2.441983e-03 + 1818 4.728867e-03 4.268070e-03 9.050479e-03 3.720878e-03 2.815015e-03 + 1819 1.105664e-03 1.202645e-03 6.031530e-04 3.002811e-04 1.853835e-03 + 1820 1.360034e-03 2.156070e-03 3.255789e-03 3.486854e-03 1.275832e-03 + 1821 8.427019e-03 6.635784e-03 1.288680e-02 1.050702e-02 5.420711e-03 + 1822 1.010395e-03 1.432182e-03 4.031114e-03 2.779223e-03 1.502851e-03 + 1823 2.046094e-03 3.656910e-03 4.951844e-03 2.589124e-03 3.537164e-03 + 1824 1.966162e-03 8.303245e-04 4.551734e-03 1.895082e-03 2.476811e-03 + 1825 2.769333e-03 2.887557e-03 4.070763e-03 1.373489e-03 3.009750e-03 + 1826 1.376091e-03 9.114503e-04 6.623004e-03 3.942634e-03 1.002513e-03 + 1827 2.123223e-03 3.415338e-03 6.005491e-03 2.302170e-03 3.691705e-03 + 1828 3.574177e-03 1.639401e-03 3.045479e-03 3.168785e-03 1.422815e-03 + 1829 6.951397e-04 1.252812e-03 3.629571e-03 1.867752e-03 1.990246e-03 + 1830 2.765300e-03 3.537734e-03 2.076600e-03 2.261381e-03 2.419005e-03 + 1831 3.174375e-03 2.316831e-03 6.821435e-03 3.975131e-03 5.004039e-03 + 1832 2.622011e-03 1.251281e-03 2.978961e-03 6.606947e-03 1.941269e-03 + 1833 2.447300e-03 2.734304e-03 1.928307e-03 3.280372e-03 1.064833e-03 + 1834 6.357819e-03 4.823254e-03 3.252107e-03 3.745616e-03 2.325658e-03 + 1835 1.681206e-03 2.533140e-03 2.028885e-03 9.916186e-04 1.066937e-03 + 1836 5.591375e-03 1.812983e-03 3.565328e-03 6.111992e-03 2.967949e-03 + 1837 1.856859e-03 5.652927e-04 5.147011e-04 2.894396e-03 6.184774e-04 + 1838 2.594683e-03 2.848405e-03 2.548542e-03 3.859148e-03 1.502170e-03 + 1839 4.786563e-03 4.660261e-03 4.929809e-03 2.462042e-03 3.602171e-03 + 1840 2.509222e-03 1.547056e-03 1.728247e-03 8.325708e-04 1.044254e-03 + 1841 8.400134e-02 7.510422e-02 7.606984e-02 7.738651e-02 8.500816e-02 + 1842 4.007281e-01 4.019023e-01 4.380907e-01 4.290022e-01 4.344246e-01 + 1843 7.576762e-02 7.721374e-02 8.686388e-02 8.386755e-02 8.704724e-02 + 1844 1.170286e-03 1.625442e-03 3.023792e-03 1.089950e-03 9.126611e-04 + 1845 2.343393e-03 7.236693e-04 2.556642e-03 5.906461e-04 7.414407e-04 + 1846 2.979259e-03 1.680299e-03 3.470929e-03 1.895716e-03 2.233416e-03 + 1847 1.313396e-04 9.277737e-04 7.164732e-04 8.739872e-04 4.144660e-04 + 1848 3.087872e-03 1.520009e-03 2.687325e-03 1.862113e-03 2.844194e-03 + 1849 2.016945e-03 1.741339e-03 8.930792e-04 5.816684e-04 7.384504e-04 + 1850 2.009885e-03 3.041515e-03 1.225444e-03 5.345170e-04 1.468213e-03 + 1851 2.035575e-03 2.017200e-03 3.305322e-03 2.369201e-03 2.289368e-03 + 1852 2.793636e-04 9.890811e-04 1.569224e-03 7.322956e-04 1.072254e-03 + 1853 2.201961e-03 9.842681e-04 4.434135e-03 9.719115e-04 1.513962e-03 + 1854 2.243492e-03 8.008255e-04 1.456073e-03 1.171850e-03 7.600224e-04 + 1855 2.600668e-03 5.095267e-04 1.026499e-03 7.096309e-04 2.546627e-03 + 1856 9.060552e-04 1.220640e-03 1.407937e-03 1.706087e-03 9.373223e-04 + 1857 4.671725e-04 4.869719e-04 1.398354e-03 1.841264e-03 1.164068e-03 + 1858 1.466491e-03 2.525564e-03 4.024227e-03 1.618402e-03 2.271172e-03 + 1859 1.479293e-03 8.738887e-04 2.722518e-03 2.733906e-03 1.412563e-03 + 1860 4.012636e-04 1.311696e-03 1.322256e-03 9.163381e-04 1.302320e-03 + 1861 6.030873e-04 1.191398e-03 6.799932e-04 1.489783e-03 7.491892e-04 + 1862 9.403713e-04 1.646997e-03 1.217622e-03 1.442150e-03 1.842836e-03 + 1863 1.161810e-03 2.343500e-03 2.252686e-03 1.210839e-03 8.448879e-04 + 1864 1.144578e-03 1.910543e-03 1.536947e-03 1.281011e-03 7.586863e-04 + 1865 2.282368e-04 7.553373e-04 7.397001e-04 9.479549e-04 9.976254e-04 + 1866 1.714683e-03 1.445139e-03 3.057584e-03 1.517024e-03 1.742723e-03 + 1867 1.884480e-03 2.742083e-03 1.471145e-03 1.388868e-03 1.119008e-03 + 1868 1.871985e-03 9.715254e-04 1.200068e-03 4.171253e-04 5.880501e-04 + 1869 6.507422e-04 6.965622e-04 2.617738e-03 1.031691e-03 1.040248e-03 + 1870 3.996841e-04 1.074345e-03 1.759843e-03 5.837201e-04 3.491202e-04 + 1871 3.285984e-03 1.655364e-03 3.113924e-03 1.024885e-03 1.693109e-03 + 1872 8.738849e-04 1.183923e-03 1.998309e-03 1.764058e-03 6.370368e-04 + 1873 5.127470e-04 8.073890e-04 1.805745e-03 1.236942e-03 7.668163e-04 + 1874 1.500440e-03 1.144789e-03 3.632483e-03 2.296156e-03 1.885392e-03 + 1875 1.781971e-03 9.852631e-04 1.285767e-03 9.158102e-04 7.202816e-04 + 1876 3.935813e-04 9.732470e-04 2.078099e-03 5.266049e-04 6.624632e-04 + 1877 7.373611e-04 2.298243e-04 8.535138e-04 4.418270e-04 9.353371e-04 + 1878 1.216453e-03 7.057541e-04 1.039388e-03 1.568140e-03 7.017033e-04 + 1879 7.773047e-04 1.137642e-03 2.071793e-03 1.294276e-03 1.518102e-03 + 1880 6.495495e-04 1.058172e-03 2.579117e-03 1.113820e-03 5.339723e-04 + 1881 8.871398e-04 1.571205e-03 3.331655e-03 1.243897e-03 1.920768e-03 + 1882 5.500825e-04 4.896889e-04 1.652604e-03 6.129622e-04 8.047304e-04 + 1883 2.112975e-03 7.243098e-04 1.277673e-03 8.280602e-04 1.651543e-03 + 1884 6.441984e-04 3.528115e-04 2.750987e-03 1.495624e-03 8.671781e-04 + 1885 1.765871e-03 2.048787e-03 1.457795e-03 1.368725e-03 1.691631e-03 + 1886 5.287054e-03 5.846229e-03 6.035578e-03 4.960492e-03 8.013061e-03 + 1887 1.538150e-03 1.422449e-03 2.964379e-03 1.901161e-03 1.977172e-03 + 1888 8.666008e-04 1.552331e-03 8.846852e-04 6.796952e-04 6.143972e-04 + 1889 9.210744e-04 1.920282e-03 1.174019e-03 1.356447e-03 5.019834e-04 + 1890 1.245448e-03 1.164220e-03 1.217904e-03 2.148263e-03 8.703961e-04 + 1891 9.885157e-04 1.801633e-03 1.988616e-03 1.828662e-03 1.285032e-03 + 1892 9.478847e-03 6.821063e-03 5.031500e-03 8.667385e-03 5.575967e-03 + 1893 2.429845e-03 1.925072e-03 3.348516e-03 2.815202e-03 1.249842e-03 + 1894 8.290785e-04 5.669753e-04 1.528696e-03 1.128916e-03 6.848316e-04 + 1895 1.762177e-03 1.080735e-03 1.542105e-03 1.919671e-03 1.547880e-03 + 1896 3.515033e-04 1.563868e-03 4.935489e-04 1.385220e-03 1.246886e-03 + 1897 1.088246e-03 4.770380e-04 1.341434e-03 9.241860e-04 2.378733e-03 + 1898 5.801959e-03 4.492694e-03 5.822620e-03 5.897205e-03 9.786683e-03 + 1899 1.646909e-03 1.777003e-03 2.236316e-03 2.150510e-03 3.007419e-03 + 1900 8.651149e-04 4.333786e-04 7.450379e-04 1.243477e-03 4.267693e-04 + 1901 4.768337e-04 1.920857e-03 7.399849e-04 7.800484e-04 3.892582e-04 + 1902 1.819999e-03 1.999404e-03 1.915881e-03 1.138889e-03 1.086489e-03 + 1903 1.145134e-03 2.531783e-03 3.192954e-03 1.839561e-03 5.404914e-04 + 1904 5.619704e-04 9.476361e-04 1.554642e-03 3.141150e-04 2.492254e-04 + 1905 5.087533e-04 1.483369e-03 7.226456e-04 9.601993e-04 5.258766e-04 + 1906 2.649241e-04 6.727849e-04 9.246563e-04 1.154927e-03 9.589630e-04 + 1907 4.969602e-04 7.260523e-04 8.556180e-04 9.462382e-04 3.040902e-04 + 1908 1.454027e-03 1.610457e-03 1.897862e-03 1.467940e-03 5.609253e-04 + 1909 6.937345e-04 1.419317e-03 8.959308e-04 3.277821e-04 1.750103e-03 + 1910 1.380925e-03 1.484534e-03 1.763619e-03 8.115666e-04 1.851415e-03 + 1911 1.075772e-03 2.249799e-03 1.798542e-03 2.165776e-03 4.473675e-04 + 1912 1.751735e-03 2.523993e-03 1.335044e-03 7.654442e-04 7.316981e-04 + 1913 2.987116e-04 3.947466e-04 3.595699e-04 5.516736e-04 1.001141e-03 + 1914 8.358948e-04 1.640430e-03 2.163139e-03 3.372308e-04 1.761709e-03 + 1915 3.049829e-04 1.549286e-03 1.286448e-03 7.200117e-04 1.406449e-03 + 1916 1.144114e-03 2.376467e-03 1.165173e-03 1.278256e-03 9.313251e-04 + 1917 1.716794e-03 8.664486e-04 1.390080e-03 6.173931e-04 4.900680e-04 + 1918 1.287293e-03 9.585184e-04 8.687879e-04 6.772045e-04 6.533631e-04 + 1919 1.397752e-03 1.528922e-03 1.450054e-03 8.537016e-04 1.870488e-03 + 1920 4.770154e-04 8.858165e-04 9.336227e-04 3.650542e-04 8.818717e-04 + 1921 1.276736e+00 1.280166e+00 1.354917e+00 1.406420e+00 1.319033e+00 + 1922 2.153707e+02 2.132430e+02 2.141440e+02 2.139959e+02 2.104445e+02 + 1923 3.402464e+02 3.365870e+02 3.372027e+02 3.374114e+02 3.321102e+02 + 1924 1.378354e+01 1.380343e+01 1.377561e+01 1.377679e+01 1.368559e+01 + 1925 3.420866e-02 2.416121e-02 2.473686e-02 1.727662e-02 2.239605e-02 + 1926 4.262970e-02 5.231784e-02 2.478847e-02 3.402142e-02 2.754992e-02 + 1927 9.384307e-02 1.066612e-01 1.265186e-01 1.122935e-01 1.142434e-01 + 1928 3.272933e-01 3.980411e-01 4.290806e-01 3.769755e-01 3.734998e-01 + 1929 4.680819e-02 5.720112e-02 5.843568e-02 4.695077e-02 6.463330e-02 + 1930 1.890518e-02 1.256826e-02 2.701789e-02 2.381722e-02 1.880784e-02 + 1931 1.840095e-02 2.556113e-02 1.315989e-02 2.154444e-02 1.551452e-02 + 1932 1.603954e-02 1.029084e-02 1.515160e-02 1.198269e-02 1.222643e-02 + 1933 2.229995e-02 2.332899e-02 4.075278e-02 1.628177e-02 1.721615e-02 + 1934 1.060212e-02 7.296552e-03 1.643930e-02 1.029219e-02 6.998469e-03 + 1935 8.917456e-03 1.295361e-02 1.343562e-02 7.165377e-03 1.739318e-02 + 1936 1.150000e-02 7.163068e-03 7.428777e-03 8.249517e-03 1.130733e-02 + 1937 3.158318e-03 6.538181e-03 4.639105e-03 5.210805e-03 4.737590e-03 + 1938 2.469837e-02 1.807132e-02 1.413813e-02 1.848362e-02 1.380232e-02 + 1939 3.385528e-03 2.494607e-03 4.768152e-03 2.338858e-03 1.959647e-03 + 1940 4.828351e-03 8.872229e-03 7.188546e-03 4.679180e-03 5.498236e-03 + 1941 1.551866e-02 1.046790e-02 5.493586e-03 7.470586e-03 8.204248e-03 + 1942 2.628754e-03 4.867010e-03 3.136994e-03 5.630676e-03 5.453301e-03 + 1943 7.249423e-03 2.203927e-03 6.836848e-03 6.161279e-03 2.150015e-03 + 1944 5.697652e-03 7.222860e-03 3.576110e-03 5.920097e-03 5.233997e-03 + 1945 4.412500e-04 1.008285e-03 3.154750e-03 2.601164e-03 2.008007e-03 + 1946 7.110625e-03 8.237568e-03 4.182494e-03 4.708988e-03 6.570796e-03 + 1947 4.929633e-03 4.940329e-03 9.052030e-03 3.355832e-03 2.771072e-03 + 1948 2.610522e-03 5.686200e-03 1.399024e-03 7.921864e-03 3.663880e-03 + 1949 2.053938e-03 1.196404e-03 2.164700e-03 3.077101e-03 2.466422e-03 + 1950 2.849429e-03 2.974653e-03 4.039905e-03 2.827412e-03 1.874419e-03 + 1951 2.297055e-03 3.718366e-03 1.387832e-03 5.800123e-03 3.599959e-03 + 1952 1.917023e-03 2.247247e-03 2.961676e-03 3.200967e-03 3.060028e-03 + 1953 3.229399e-03 6.550921e-03 2.141734e-03 3.060760e-03 3.092441e-03 + 1954 4.057701e-03 4.045331e-03 7.599086e-03 4.345117e-03 4.544228e-03 + 1955 1.987317e-03 5.453306e-03 5.337654e-03 2.175744e-03 2.795339e-03 + 1956 2.782966e-03 2.782493e-03 2.485856e-03 1.663147e-03 7.996813e-04 + 1957 1.573417e-03 3.109282e-03 2.832226e-03 1.444249e-03 3.752851e-03 + 1958 3.129140e-03 2.875364e-03 2.007559e-03 3.412936e-03 4.484926e-04 + 1959 4.934988e-03 4.544931e-04 2.467615e-03 4.674125e-03 2.600344e-03 + 1960 1.871699e-03 2.888290e-03 6.118374e-03 1.492764e-03 4.800464e-03 + 1961 4.860367e-03 2.794024e-03 6.664758e-04 1.041348e-03 1.134719e-03 + 1962 6.319375e-04 2.269897e-03 8.058769e-03 1.552776e-03 1.878030e-03 + 1963 1.493278e-03 1.821675e-03 1.466593e-03 6.269015e-04 8.619934e-04 + 1964 2.655497e-03 1.795980e-03 6.248443e-03 2.644017e-03 3.041691e-03 + 1965 1.288846e-03 6.611457e-04 1.099944e-03 1.715438e-03 1.574281e-03 + 1966 4.877724e-03 2.301577e-03 2.121907e-03 1.519429e-03 3.011373e-03 + 1967 4.454065e-04 1.021096e-03 1.092599e-03 1.344409e-03 2.002933e-04 + 1968 1.476228e-03 1.290190e-03 1.210039e-03 8.411375e-04 2.064294e-03 + 1969 7.518260e-02 7.301774e-02 8.165664e-02 8.253717e-02 7.342077e-02 + 1970 4.131664e-01 4.101029e-01 4.233659e-01 4.575718e-01 4.176612e-01 + 1971 7.894365e-02 7.810904e-02 7.589316e-02 8.800405e-02 8.398634e-02 + 1972 2.149047e-04 3.478507e-04 1.448490e-03 2.263647e-03 5.468141e-04 + 1973 2.821153e-03 2.179164e-03 2.546109e-03 3.339706e-03 8.408071e-04 + 1974 2.980763e-03 1.344965e-03 1.688496e-03 1.057632e-03 3.194619e-03 + 1975 1.562581e-03 1.766287e-03 1.670301e-03 3.923963e-04 7.340321e-04 + 1976 3.092176e-03 9.434430e-04 5.082842e-03 1.341475e-03 1.301227e-03 + 1977 2.560248e-03 1.722213e-03 2.669279e-03 8.156761e-04 1.193937e-03 + 1978 2.649596e-03 2.136783e-03 7.344317e-04 8.069091e-04 2.578847e-03 + 1979 6.624971e-04 3.886864e-04 4.187426e-03 1.594139e-03 1.213311e-03 + 1980 1.974679e-03 2.261362e-03 6.558139e-04 1.469461e-03 1.216542e-03 + 1981 1.228652e-03 1.107938e-03 2.238080e-03 2.207406e-03 1.632332e-03 + 1982 3.403236e-04 5.435394e-04 3.496785e-03 1.888756e-03 9.277914e-04 + 1983 2.171142e-03 1.141834e-03 2.327080e-03 2.039082e-03 1.601031e-03 + 1984 6.438519e-04 8.624730e-04 3.352522e-03 2.944342e-03 2.145902e-03 + 1985 1.009108e-03 1.140288e-03 6.374089e-04 8.560722e-04 1.170789e-03 + 1986 2.733917e-03 1.611519e-03 4.896913e-03 2.983823e-03 1.500742e-03 + 1987 1.279892e-03 2.456868e-03 2.273952e-03 1.895913e-03 1.122345e-03 + 1988 2.627095e-03 7.099795e-04 2.847581e-03 5.376427e-04 8.700580e-04 + 1989 6.791746e-04 4.494184e-04 3.181897e-03 1.211826e-03 1.220765e-03 + 1990 2.603092e-03 1.847247e-03 1.892189e-03 2.593211e-03 1.336506e-03 + 1991 6.274636e-04 1.461141e-03 1.203737e-03 7.636485e-04 1.123377e-03 + 1992 7.944799e-04 1.327036e-03 1.034985e-03 2.146857e-03 1.153208e-03 + 1993 1.930784e-03 1.202722e-03 2.534189e-03 1.358906e-03 7.397486e-04 + 1994 1.371798e-03 2.675866e-03 2.415321e-03 1.589810e-03 5.330721e-04 + 1995 1.625519e-03 7.396012e-04 2.525322e-03 1.644982e-03 5.040213e-04 + 1996 1.762087e-03 2.655893e-03 3.371573e-03 1.854820e-03 1.598819e-03 + 1997 4.844909e-04 7.067689e-04 9.767682e-04 6.862702e-04 3.291799e-04 + 1998 3.218761e-03 2.110414e-03 1.991208e-03 2.252368e-03 1.373287e-03 + 1999 8.676032e-04 2.099624e-04 2.138803e-03 8.291955e-04 1.367446e-03 + 2000 1.513601e-03 9.896980e-04 1.442305e-03 6.344059e-04 1.220616e-03 + 2001 1.111635e-03 8.222473e-04 5.138738e-04 1.411171e-03 5.873278e-04 + 2002 2.110818e-03 1.429338e-03 5.450689e-04 2.449266e-03 1.794014e-03 + 2003 1.370193e-03 7.720289e-04 1.294503e-03 2.622073e-03 9.192367e-04 + 2004 1.015731e-03 1.296339e-03 2.683027e-03 7.907592e-04 1.100552e-03 + 2005 8.826770e-04 6.244209e-04 7.656578e-04 8.101936e-04 6.451818e-04 + 2006 1.145549e-03 8.251182e-04 1.999565e-03 1.469366e-04 1.328925e-03 + 2007 1.257998e-03 1.067844e-03 1.969076e-03 1.013369e-03 8.954457e-04 + 2008 1.440761e-03 1.357476e-03 1.358854e-03 1.215198e-03 6.409247e-04 + 2009 1.634178e-03 1.237903e-03 1.012046e-03 1.027060e-03 1.372383e-03 + 2010 1.765599e-03 2.059218e-03 5.726402e-04 7.703474e-04 4.602287e-04 + 2011 1.567849e-03 9.932794e-04 2.110161e-03 1.171921e-03 9.014544e-04 + 2012 1.043823e-03 2.088517e-03 5.354727e-04 1.913557e-03 2.665378e-03 + 2013 1.160487e-03 1.300589e-03 1.246935e-03 1.303436e-03 3.485574e-03 + 2014 2.847465e-03 3.367344e-03 4.555035e-03 4.543684e-03 7.533781e-03 + 2015 1.880625e-03 1.949068e-03 2.880971e-03 1.239996e-03 2.416931e-03 + 2016 5.785812e-04 8.919400e-04 2.407448e-03 3.714954e-04 5.575001e-04 + 2017 2.133974e-03 2.783227e-03 2.970546e-03 3.305192e-03 2.274677e-03 + 2018 5.953268e-04 8.781554e-04 6.614564e-04 8.521743e-04 1.375752e-03 + 2019 2.079665e-03 2.142929e-03 3.608198e-03 2.535115e-03 2.150082e-03 + 2020 1.041996e-02 6.015947e-03 8.556037e-03 6.368769e-03 5.599943e-03 + 2021 3.556586e-03 1.355230e-03 2.163122e-03 1.801045e-03 1.401662e-03 + 2022 1.209023e-03 1.051650e-03 8.797121e-04 3.417294e-04 9.591861e-04 + 2023 8.380418e-04 5.673445e-04 1.266843e-03 5.463185e-04 3.679610e-04 + 2024 8.292248e-04 1.834382e-03 1.631472e-03 6.464439e-04 2.164537e-04 + 2025 2.040407e-03 1.050979e-03 2.259119e-03 1.699296e-03 2.379380e-03 + 2026 6.065159e-03 5.419278e-03 9.741380e-03 5.241341e-03 5.623707e-03 + 2027 1.778876e-03 8.166329e-04 1.947243e-03 1.222695e-03 1.128880e-03 + 2028 1.068288e-03 8.008727e-04 9.453524e-04 7.136981e-04 6.131586e-04 + 2029 1.007913e-03 3.745930e-04 2.360117e-03 1.318119e-03 2.732489e-03 + 2030 3.383104e-04 5.590671e-04 8.374964e-04 1.591315e-04 9.588062e-04 + 2031 1.246716e-03 1.690359e-03 1.631708e-03 1.221633e-03 1.809653e-03 + 2032 7.404685e-04 1.671460e-03 2.204429e-04 4.027165e-04 5.448854e-04 + 2033 5.334958e-04 1.024075e-03 6.820826e-04 5.848778e-04 1.637120e-03 + 2034 6.066052e-04 1.583647e-03 1.016355e-03 1.220354e-03 1.261070e-03 + 2035 9.061049e-04 7.646575e-04 1.085953e-03 3.726642e-04 8.014922e-04 + 2036 6.586032e-04 1.472120e-03 1.958076e-03 4.350975e-04 1.579245e-04 + 2037 3.713187e-04 1.233563e-03 4.347345e-04 4.769028e-04 1.085625e-03 + 2038 1.210980e-03 3.643657e-03 1.813748e-03 1.700018e-03 1.501398e-03 + 2039 8.205837e-04 1.646643e-03 1.143851e-03 1.050520e-03 9.193424e-04 + 2040 1.917981e-03 1.707859e-03 1.005982e-03 1.081205e-03 8.991687e-04 + 2041 6.906527e-04 1.443283e-03 8.833400e-04 4.389809e-04 6.946046e-04 + 2042 2.710531e-04 6.942872e-04 2.217503e-03 4.996696e-04 8.443317e-04 + 2043 6.942411e-04 5.041291e-04 6.373631e-04 6.925903e-04 5.293172e-04 + 2044 1.679521e-03 5.285820e-04 1.160493e-03 1.046181e-03 9.711789e-04 + 2045 7.818091e-04 1.510372e-03 2.960891e-04 1.546296e-03 6.182264e-04 + 2046 1.427308e-03 7.500468e-04 6.999433e-04 1.427111e-03 9.240242e-04 + 2047 1.041540e-03 8.485405e-04 6.065074e-04 6.364057e-04 6.847950e-04 + 2048 4.371097e-04 6.225815e-04 1.129425e-03 1.850423e-04 1.522891e-03 + 2049 1.284483e+00 1.302430e+00 1.299482e+00 1.396067e+00 1.355463e+00 + 2050 2.145524e+02 2.135052e+02 2.136161e+02 2.126758e+02 2.099843e+02 + 2051 3.395363e+02 3.372160e+02 3.364804e+02 3.358220e+02 3.308366e+02 + 2052 1.368771e+01 1.383101e+01 1.375915e+01 1.394780e+01 1.350485e+01 + 2053 6.681614e-02 5.378712e-02 4.680090e-02 5.356517e-02 4.777108e-02 + 2054 1.885241e-02 1.481547e-02 2.036977e-02 1.014325e-02 1.587111e-02 + 2055 8.189611e-02 1.079217e-01 8.283663e-02 9.511198e-02 1.163047e-01 + 2056 3.597145e-01 4.363707e-01 3.748741e-01 3.610877e-01 4.529985e-01 + 2057 5.310059e-02 6.683242e-02 5.190993e-02 5.757412e-02 6.570438e-02 + 2058 3.470148e-02 2.400145e-02 1.975396e-02 3.779738e-02 2.290528e-02 + 2059 5.911190e-03 7.702820e-03 1.963231e-02 4.972446e-03 9.924076e-03 + 2060 1.503661e-02 1.888200e-02 1.252171e-02 2.216956e-02 2.080936e-02 + 2061 1.450130e-02 1.080679e-02 1.642245e-02 9.628759e-03 1.134557e-02 + 2062 1.053159e-02 9.433884e-03 1.625372e-02 1.119081e-02 9.602071e-03 + 2063 1.178143e-02 1.193903e-02 7.324814e-03 1.048794e-02 9.179590e-03 + 2064 9.209505e-03 5.860890e-03 9.392978e-03 9.162729e-03 9.071742e-03 + 2065 4.527755e-03 1.111321e-02 4.666186e-03 7.709907e-03 8.109015e-03 + 2066 6.590734e-03 6.682438e-03 6.452388e-03 4.469318e-03 2.594654e-03 + 2067 1.147016e-02 1.037375e-02 1.552529e-02 1.425819e-02 9.128464e-03 + 2068 7.147042e-03 2.835816e-03 4.228326e-03 4.650180e-03 7.243632e-03 + 2069 1.440496e-02 9.060544e-03 1.113178e-02 7.189377e-03 8.940093e-03 + 2070 3.023001e-03 2.461732e-03 2.864324e-03 2.580014e-03 2.938540e-03 + 2071 6.596550e-03 3.629123e-03 5.482741e-03 3.584401e-03 6.414757e-03 + 2072 5.013711e-03 5.239526e-03 4.898584e-03 1.272116e-02 5.320852e-03 + 2073 3.268992e-03 3.985444e-03 3.935511e-03 3.654432e-03 6.478586e-03 + 2074 4.248550e-03 3.615329e-03 7.377466e-03 7.592496e-03 5.046754e-03 + 2075 5.448051e-03 2.823643e-03 3.878178e-03 3.143489e-03 1.555218e-03 + 2076 2.974355e-03 2.159069e-03 2.253986e-03 2.140274e-03 4.065308e-03 + 2077 3.804761e-03 1.957079e-03 4.498324e-03 6.300395e-03 2.154651e-03 + 2078 3.048322e-03 5.539010e-03 1.819127e-03 2.689560e-03 2.991822e-03 + 2079 1.927972e-03 2.586559e-03 5.081714e-03 1.874520e-03 1.228803e-03 + 2080 2.074253e-03 6.182308e-03 2.596725e-03 3.691312e-03 3.981788e-03 + 2081 1.738069e-03 1.150833e-03 1.817108e-03 1.877221e-03 1.084826e-03 + 2082 4.394970e-03 2.492605e-03 3.393420e-03 3.742116e-03 3.034565e-03 + 2083 1.108173e-03 3.051211e-03 4.466497e-03 2.943177e-03 1.802291e-03 + 2084 5.633366e-03 2.161870e-03 3.875136e-03 4.411688e-03 3.910784e-03 + 2085 1.308709e-03 1.332844e-03 1.857026e-03 1.063418e-03 2.170436e-03 + 2086 2.475375e-03 2.534330e-03 7.258757e-04 5.215394e-04 2.666144e-03 + 2087 3.152230e-03 3.045611e-03 3.507645e-03 4.999292e-03 5.626280e-03 + 2088 2.159814e-03 3.389557e-03 2.918467e-03 1.142237e-03 2.136520e-03 + 2089 3.812559e-03 4.294085e-03 3.140047e-03 2.728246e-03 2.897319e-03 + 2090 1.536270e-03 4.205741e-03 2.049085e-03 2.764040e-03 2.506281e-03 + 2091 1.391272e-03 2.462040e-03 1.529707e-03 8.023554e-04 5.615417e-04 + 2092 1.872709e-03 2.229958e-03 2.885717e-03 3.241628e-03 1.410362e-03 + 2093 3.113893e-03 1.727955e-03 1.927272e-03 3.365294e-03 2.255868e-03 + 2094 2.478632e-03 2.908580e-03 2.219687e-03 1.835469e-03 2.563000e-03 + 2095 2.888351e-03 1.292988e-03 1.282482e-03 2.268963e-03 1.781083e-03 + 2096 2.035341e-03 1.391101e-03 2.146250e-03 4.553173e-04 1.830231e-03 + 2097 7.487724e-02 7.916510e-02 7.893162e-02 8.206921e-02 6.719510e-02 + 2098 4.291232e-01 3.997000e-01 4.205236e-01 4.345517e-01 3.898231e-01 + 2099 8.525884e-02 8.407788e-02 7.919666e-02 8.957278e-02 7.902165e-02 + 2100 2.688196e-03 2.856980e-03 3.037366e-03 3.787089e-03 2.368956e-03 + 2101 5.256142e-04 1.271329e-03 1.286440e-03 2.498645e-03 1.510455e-03 + 2102 1.705465e-03 1.092399e-03 1.300026e-03 5.593654e-04 2.732697e-03 + 2103 1.292397e-03 1.729797e-03 1.207781e-03 2.061974e-03 5.361776e-04 + 2104 1.634756e-03 5.658675e-04 1.434953e-03 1.841836e-03 1.291074e-03 + 2105 2.913813e-03 1.536002e-03 1.712974e-03 5.223220e-04 1.867928e-03 + 2106 1.346924e-03 1.560235e-03 3.797479e-03 2.363282e-03 4.059057e-03 + 2107 1.051043e-03 1.639179e-03 2.421927e-03 1.085736e-03 1.511121e-03 + 2108 2.855455e-03 5.198588e-04 1.550272e-03 1.209979e-03 5.662429e-04 + 2109 9.826025e-04 1.418665e-03 2.663892e-03 3.209618e-04 2.275025e-03 + 2110 9.855773e-04 2.906433e-03 1.728889e-03 1.409460e-03 1.300525e-03 + 2111 8.199168e-04 2.192571e-03 1.463201e-03 1.800519e-03 1.358479e-03 + 2112 1.353327e-03 1.085179e-03 1.777358e-03 1.312177e-03 7.934913e-04 + 2113 4.112279e-04 1.253394e-03 1.408001e-03 1.507280e-03 1.786826e-03 + 2114 1.759441e-03 1.761685e-03 1.525408e-03 1.671357e-03 1.172281e-03 + 2115 1.337953e-03 8.481022e-04 2.834448e-03 1.421863e-03 1.424568e-03 + 2116 7.604052e-04 1.880555e-03 1.362344e-03 1.705644e-03 9.418783e-04 + 2117 1.050230e-03 1.040231e-03 1.722922e-03 1.120692e-03 1.110368e-03 + 2118 1.439606e-03 6.295457e-04 9.243650e-04 1.814382e-03 1.037083e-03 + 2119 8.416436e-04 8.329453e-04 1.491631e-03 1.080894e-03 5.331273e-04 + 2120 2.295205e-03 2.509088e-03 5.519729e-03 2.055359e-03 1.266261e-03 + 2121 1.666721e-03 1.772951e-03 1.146052e-03 6.964035e-04 1.004761e-03 + 2122 8.218116e-04 2.385492e-04 6.871318e-04 8.174457e-04 2.880074e-04 + 2123 9.990688e-04 6.322926e-04 4.923844e-04 7.406387e-04 1.041642e-03 + 2124 1.510109e-03 5.809943e-04 2.409432e-03 1.358691e-03 1.210897e-03 + 2125 6.425172e-04 1.833386e-03 2.189726e-03 7.785781e-04 1.080842e-03 + 2126 2.244528e-03 1.057980e-03 1.007686e-03 6.852466e-04 4.163687e-04 + 2127 6.304815e-04 2.808848e-03 2.953266e-03 1.046982e-03 6.259570e-04 + 2128 2.024803e-04 6.659126e-04 8.649376e-04 7.297353e-04 2.997373e-04 + 2129 2.831267e-03 1.633645e-03 6.865183e-04 3.279293e-03 5.281734e-04 + 2130 8.052160e-04 1.742212e-03 1.497497e-03 1.505931e-03 9.811562e-04 + 2131 3.254452e-04 4.476283e-04 5.987397e-04 1.134005e-03 6.598475e-04 + 2132 1.465259e-03 1.948302e-03 8.508636e-04 1.267255e-03 1.255918e-03 + 2133 1.772334e-03 7.434721e-04 1.983407e-03 1.657906e-03 7.540151e-04 + 2134 2.025627e-03 1.401286e-03 8.131789e-04 1.235718e-03 1.889488e-03 + 2135 4.065721e-04 1.004401e-03 2.608770e-03 2.068988e-03 9.070440e-04 + 2136 2.129077e-03 7.844052e-04 3.423969e-04 2.442147e-03 1.532789e-03 + 2137 3.687265e-04 1.366028e-03 8.369472e-04 9.216451e-04 8.427716e-04 + 2138 1.195621e-03 1.423139e-03 3.200403e-03 1.206321e-03 2.029723e-03 + 2139 1.686641e-03 1.878630e-04 9.780957e-04 4.120454e-04 3.191436e-04 + 2140 2.226133e-03 2.661439e-03 1.905913e-03 1.171611e-03 8.872724e-04 + 2141 3.054305e-03 2.536971e-03 2.035238e-03 1.905493e-03 2.034515e-03 + 2142 8.188519e-03 6.257816e-03 7.315689e-03 7.290049e-03 1.287952e-02 + 2143 1.232959e-03 1.759431e-03 1.822268e-03 2.331076e-03 2.908028e-03 + 2144 1.670180e-03 1.308964e-03 1.567673e-03 2.580183e-03 2.184987e-03 + 2145 6.042957e-04 1.200509e-03 1.398485e-03 1.742552e-03 1.721671e-03 + 2146 1.583948e-04 1.993233e-03 1.867294e-03 7.900248e-04 1.224375e-03 + 2147 2.137013e-03 3.179895e-03 1.505808e-03 2.210380e-03 1.520155e-03 + 2148 6.228707e-03 9.652055e-03 1.051376e-02 1.126387e-02 6.194671e-03 + 2149 3.382859e-03 2.910527e-03 2.210572e-03 2.173883e-03 2.794170e-03 + 2150 1.165007e-03 2.466783e-03 9.120322e-04 1.214786e-03 1.226268e-03 + 2151 1.276096e-03 1.546728e-03 1.772776e-03 7.170608e-04 1.600112e-03 + 2152 6.124797e-04 6.640244e-04 1.595389e-03 7.112450e-04 1.574918e-03 + 2153 2.183655e-03 2.363676e-03 5.854048e-03 2.130333e-03 2.050589e-03 + 2154 5.198747e-03 4.616542e-03 1.156424e-02 7.200492e-03 6.467372e-03 + 2155 1.397716e-03 2.576984e-03 2.710652e-03 2.451850e-03 1.292056e-03 + 2156 5.236613e-04 1.091422e-03 3.039145e-03 1.611806e-03 8.550960e-04 + 2157 3.866998e-04 9.708562e-04 7.384076e-04 7.971126e-04 4.151110e-04 + 2158 9.900206e-04 8.935512e-04 9.817322e-04 1.224909e-03 1.108879e-03 + 2159 1.674676e-03 1.271701e-03 2.868891e-03 1.041260e-03 8.060234e-04 + 2160 1.229776e-03 1.668488e-03 1.951052e-03 1.754534e-03 8.500632e-04 + 2161 3.779516e-04 3.796506e-04 7.245334e-04 1.170092e-03 5.153394e-04 + 2162 1.401143e-03 9.918205e-04 9.125265e-04 1.008704e-03 1.195131e-03 + 2163 2.292735e-04 1.077250e-03 6.447465e-04 1.564296e-03 5.293211e-04 + 2164 5.805220e-04 1.091033e-03 1.070299e-03 3.728106e-04 6.481809e-04 + 2165 2.934958e-03 2.189989e-03 2.447275e-03 6.734224e-04 2.093687e-03 + 2166 1.555767e-03 1.931398e-03 1.052195e-03 1.760841e-03 1.349536e-03 + 2167 3.640213e-04 8.947800e-04 1.388563e-03 1.896706e-03 1.487798e-03 + 2168 1.720651e-03 1.615148e-03 7.982026e-04 2.596682e-03 1.069046e-03 + 2169 1.278012e-03 8.209533e-04 1.800874e-03 1.870884e-03 1.502011e-03 + 2170 1.166563e-03 1.432390e-03 1.080473e-03 9.940287e-04 1.225951e-03 + 2171 1.117896e-03 8.844922e-04 1.435066e-03 1.542262e-03 2.205081e-04 + 2172 9.693162e-04 1.121246e-03 9.451712e-04 8.022611e-04 1.020096e-03 + 2173 5.847235e-04 7.282296e-04 1.101109e-03 5.517400e-04 1.832779e-04 + 2174 1.162821e-03 1.666525e-03 1.489873e-03 3.475725e-04 2.099897e-03 + 2175 1.421423e-03 9.399909e-04 5.057854e-04 2.645500e-03 1.347298e-03 + 2176 6.650190e-04 1.882740e-03 1.385609e-03 7.808380e-04 3.323257e-03 + 2177 1.368877e+00 1.235974e+00 1.237658e+00 1.388397e+00 1.205343e+00 + 2178 2.163938e+02 2.119770e+02 2.132320e+02 2.142057e+02 2.108546e+02 + 2179 3.404216e+02 3.352140e+02 3.355122e+02 3.370122e+02 3.331024e+02 + 2180 1.402144e+01 1.389867e+01 1.340841e+01 1.393302e+01 1.388195e+01 + 2181 1.741195e-02 2.348840e-02 1.900476e-02 2.281955e-02 1.828839e-02 + 2182 3.759098e-02 2.963407e-02 3.244594e-02 3.292214e-02 5.359929e-02 + 2183 1.054246e-01 1.070562e-01 1.121183e-01 9.768020e-02 9.319746e-02 + 2184 3.698132e-01 4.115621e-01 4.036544e-01 3.832944e-01 4.066749e-01 + 2185 5.063316e-02 5.952158e-02 5.683382e-02 6.740017e-02 6.037060e-02 + 2186 1.915574e-02 1.781686e-02 9.210458e-03 1.638626e-02 1.477176e-02 + 2187 3.128641e-02 2.067995e-02 2.279017e-02 2.085297e-02 1.207257e-02 + 2188 7.101768e-03 9.206418e-03 1.212723e-02 9.478403e-03 1.438644e-02 + 2189 2.177405e-02 2.102535e-02 2.917247e-02 2.379041e-02 2.145845e-02 + 2190 1.075191e-02 1.240814e-02 1.048508e-02 1.461933e-02 6.496423e-03 + 2191 8.593370e-03 6.759316e-03 8.403696e-03 1.101987e-02 1.296792e-02 + 2192 9.532371e-03 7.877143e-03 8.486060e-03 7.871109e-03 7.425840e-03 + 2193 4.190321e-03 8.155895e-03 6.504699e-03 5.227812e-03 6.278922e-03 + 2194 1.048430e-02 5.360052e-03 1.279414e-02 1.476428e-02 1.322520e-02 + 2195 2.980174e-03 7.031338e-03 3.556457e-03 3.575190e-03 1.346290e-03 + 2196 7.215610e-03 2.598543e-03 5.819997e-03 6.447651e-03 8.980278e-03 + 2197 4.054910e-03 4.553633e-03 2.618841e-03 5.129079e-03 3.117639e-03 + 2198 6.011984e-03 8.864911e-03 7.433405e-03 6.733934e-03 7.659554e-03 + 2199 7.002481e-03 4.373868e-03 4.558087e-03 7.780555e-03 4.818559e-03 + 2200 1.083992e-03 1.498161e-03 1.692173e-03 1.111067e-03 1.643478e-03 + 2201 4.918454e-03 8.081922e-03 3.720146e-03 8.196513e-03 3.948379e-03 + 2202 2.407457e-03 1.290356e-03 2.151183e-03 3.575589e-03 2.330295e-03 + 2203 3.269049e-03 3.981042e-03 6.413579e-03 4.753581e-03 5.417470e-03 + 2204 5.517705e-03 3.802749e-03 2.074171e-03 3.862892e-03 3.502544e-03 + 2205 4.152241e-03 4.813328e-03 2.718485e-03 5.434714e-03 2.686246e-03 + 2206 3.834948e-03 2.824765e-03 5.736905e-03 5.532961e-03 2.631545e-03 + 2207 1.891506e-03 2.549043e-03 5.168476e-03 3.051753e-03 3.215172e-03 + 2208 2.534375e-03 2.240500e-03 3.075208e-03 1.901323e-03 2.930183e-03 + 2209 3.509372e-03 5.744979e-03 3.375805e-03 4.175697e-03 5.645365e-03 + 2210 3.673779e-04 4.984429e-03 2.122120e-03 2.648484e-03 1.461613e-03 + 2211 2.184933e-03 2.277203e-03 3.441881e-03 2.571559e-03 3.008629e-03 + 2212 4.613236e-03 1.197403e-03 2.242242e-03 2.339093e-03 2.546553e-03 + 2213 9.391721e-04 4.397394e-03 2.033344e-03 1.207093e-03 5.573069e-04 + 2214 2.802436e-03 1.714461e-03 5.412933e-03 1.945372e-03 3.439984e-03 + 2215 2.502147e-03 1.289959e-03 9.425114e-04 4.365661e-03 1.579593e-03 + 2216 1.577021e-03 5.104370e-03 2.072794e-03 1.341855e-03 5.160315e-03 + 2217 1.207067e-03 2.139149e-03 3.041838e-03 1.336644e-03 9.313670e-04 + 2218 1.754569e-03 1.538075e-03 2.671183e-03 1.366097e-03 2.443716e-03 + 2219 3.229430e-03 3.431033e-03 1.771676e-03 2.989243e-03 1.456762e-03 + 2220 3.572978e-03 3.401264e-03 3.293663e-03 3.372676e-03 3.099665e-03 + 2221 4.374770e-03 8.136513e-04 2.012903e-03 2.513083e-03 5.800373e-04 + 2222 7.187571e-04 2.822094e-03 8.108413e-04 2.039284e-03 2.682134e-03 + 2223 6.196478e-03 1.557565e-03 1.694702e-03 2.405589e-03 1.033724e-03 + 2224 1.823441e-03 2.675542e-03 2.470204e-03 1.116709e-03 2.731316e-03 + 2225 7.923314e-02 6.653032e-02 7.025472e-02 7.253312e-02 7.224180e-02 + 2226 4.160512e-01 3.904958e-01 4.050925e-01 4.196889e-01 4.039004e-01 + 2227 8.202472e-02 7.537232e-02 7.985636e-02 8.534724e-02 8.720600e-02 + 2228 4.958639e-04 6.757904e-04 7.606651e-04 8.259683e-04 1.692103e-03 + 2229 8.244181e-04 2.528046e-03 2.571920e-03 1.036800e-03 2.172264e-03 + 2230 1.677956e-03 1.888787e-03 2.216215e-03 1.067053e-03 8.536618e-04 + 2231 1.581945e-03 9.201913e-04 1.665243e-03 1.217369e-03 1.135004e-03 + 2232 2.734920e-04 1.789037e-03 1.662804e-03 1.271708e-03 1.613911e-03 + 2233 9.743912e-04 1.767071e-03 1.243484e-03 6.033249e-04 1.207611e-03 + 2234 1.341985e-03 1.413240e-03 1.269354e-03 1.481238e-03 1.792963e-03 + 2235 7.430665e-04 9.522562e-04 7.149498e-04 1.450303e-03 9.726900e-04 + 2236 1.506136e-03 1.563921e-03 1.276542e-03 6.184434e-04 1.609100e-03 + 2237 1.357376e-03 6.874137e-04 6.229511e-04 2.150645e-03 9.182355e-04 + 2238 4.837411e-04 1.250699e-03 1.118646e-03 3.638809e-04 1.000870e-03 + 2239 3.583827e-03 6.233940e-04 2.152481e-03 1.552944e-03 1.564545e-03 + 2240 2.087130e-04 1.259516e-03 7.645674e-04 1.319502e-03 1.016520e-03 + 2241 1.866966e-03 1.954552e-03 1.942528e-03 1.492125e-03 1.551171e-03 + 2242 5.289111e-04 1.180079e-03 9.520122e-04 2.429646e-03 1.913212e-03 + 2243 9.680787e-04 8.005754e-04 8.096871e-04 1.064066e-03 1.854343e-03 + 2244 2.471736e-03 1.447901e-03 5.813413e-03 3.802384e-03 1.054903e-03 + 2245 3.544289e-04 4.900473e-04 5.196267e-04 1.643899e-04 7.476753e-04 + 2246 1.433671e-03 1.040966e-03 3.002174e-03 1.841727e-03 2.785191e-03 + 2247 1.854238e-03 1.425587e-03 8.477886e-04 1.016263e-03 4.357981e-04 + 2248 5.812201e-04 9.540750e-04 6.780294e-04 4.848956e-04 6.758738e-04 + 2249 5.889474e-04 2.468292e-03 1.639040e-03 1.560801e-03 1.252509e-03 + 2250 1.875589e-03 2.156560e-03 7.438700e-04 1.420018e-03 8.900617e-04 + 2251 8.057928e-04 9.418298e-04 8.096040e-04 1.076852e-03 5.723316e-04 + 2252 1.460195e-03 2.571515e-03 2.286269e-03 1.482861e-03 1.310065e-03 + 2253 3.707372e-04 1.069334e-03 1.402855e-03 9.624607e-04 1.093398e-03 + 2254 1.605720e-03 2.350415e-03 1.495490e-03 1.405939e-03 6.055450e-04 + 2255 9.574116e-04 1.720963e-03 2.769641e-03 7.211075e-04 9.624802e-04 + 2256 1.521104e-03 1.352644e-03 7.173432e-04 1.997141e-03 4.259305e-04 + 2257 7.580686e-04 8.533106e-04 9.393139e-04 8.479384e-04 7.430161e-04 + 2258 2.971920e-04 1.552580e-03 1.287077e-03 8.174208e-04 1.626807e-03 + 2259 1.400493e-03 1.025648e-03 2.645826e-04 9.528387e-04 6.417938e-04 + 2260 1.476942e-03 1.757708e-03 1.112941e-03 2.927477e-03 1.611421e-03 + 2261 7.418266e-04 8.874444e-04 2.133025e-03 2.276437e-03 1.214716e-03 + 2262 1.679784e-03 1.108287e-03 2.177025e-03 1.618588e-03 6.074878e-04 + 2263 8.878436e-04 7.034479e-04 9.537689e-04 1.062604e-03 1.000526e-03 + 2264 9.954793e-04 4.249288e-04 1.096162e-03 1.272571e-03 6.114546e-04 + 2265 1.303222e-03 1.526455e-03 1.151211e-03 1.571030e-03 1.035834e-03 + 2266 7.417522e-04 4.006187e-04 1.812057e-03 1.784917e-03 6.421692e-04 + 2267 1.502008e-03 1.393136e-03 1.199907e-04 1.175487e-03 1.354487e-03 + 2268 9.622507e-04 6.677572e-04 1.395220e-03 2.051230e-03 1.649564e-03 + 2269 2.039376e-03 5.168996e-04 3.145080e-03 2.121082e-03 2.377238e-03 + 2270 8.460260e-03 4.094934e-03 5.067423e-03 6.101625e-03 9.988904e-03 + 2271 1.793856e-03 7.216807e-04 1.043936e-03 1.743027e-03 2.183357e-03 + 2272 2.879872e-03 1.094642e-03 1.539510e-03 1.205301e-03 7.684839e-04 + 2273 7.857051e-04 1.083791e-03 8.775570e-04 4.491905e-04 4.843392e-04 + 2274 3.949380e-04 8.971429e-04 2.675898e-03 9.556386e-04 1.059144e-03 + 2275 2.188723e-03 1.592324e-03 3.850302e-03 2.205395e-03 1.373806e-03 + 2276 2.565401e-03 4.278031e-03 7.414394e-03 8.020924e-03 5.557415e-03 + 2277 6.368433e-04 9.848608e-04 2.547475e-03 1.699038e-03 4.192037e-04 + 2278 1.371338e-03 1.480565e-03 2.615640e-03 2.076405e-03 1.255950e-03 + 2279 9.163151e-04 1.190759e-03 1.290312e-03 8.488420e-04 1.114264e-03 + 2280 7.137121e-04 3.217215e-04 5.234424e-04 1.940753e-03 9.989200e-04 + 2281 2.605874e-03 2.370145e-03 2.187227e-03 3.110671e-03 2.548839e-03 + 2282 1.116763e-02 8.471681e-03 7.137023e-03 9.113407e-03 6.541991e-03 + 2283 2.632549e-03 2.006873e-03 1.357026e-03 2.972500e-03 2.351889e-03 + 2284 5.365248e-04 5.648371e-04 1.787429e-03 9.261412e-04 9.971815e-04 + 2285 6.619512e-04 5.275141e-04 1.170541e-03 3.668788e-04 7.396731e-04 + 2286 1.078146e-03 5.610315e-04 9.969644e-04 6.472629e-04 2.582512e-04 + 2287 3.293906e-04 7.413764e-04 3.779621e-04 1.435894e-03 2.136371e-03 + 2288 2.571866e-03 1.896999e-03 1.504380e-03 3.294078e-04 1.136816e-03 + 2289 1.521271e-03 2.735402e-04 7.049771e-04 3.479110e-04 1.041272e-03 + 2290 9.558774e-04 5.069342e-04 1.304032e-04 7.361983e-04 2.323833e-04 + 2291 1.138613e-03 1.604981e-03 8.750447e-04 1.034963e-03 5.010299e-04 + 2292 4.847376e-04 1.912379e-03 4.578752e-04 1.150941e-03 1.341695e-03 + 2293 4.503286e-04 1.571550e-03 2.247977e-03 1.838075e-03 1.540788e-03 + 2294 7.311345e-04 9.667752e-04 9.073568e-04 2.444489e-03 1.582765e-03 + 2295 7.041003e-04 8.306333e-04 9.919171e-04 1.022869e-03 8.937633e-04 + 2296 2.138015e-03 5.141381e-04 1.375647e-03 7.978828e-04 6.320710e-04 + 2297 1.297764e-03 3.236054e-04 7.618963e-04 7.595601e-04 1.182589e-03 + 2298 8.263775e-04 8.674931e-04 1.009045e-03 1.384024e-03 1.825407e-03 + 2299 5.805606e-04 1.060863e-03 4.396460e-04 5.489349e-04 6.117288e-04 + 2300 5.548084e-04 5.265697e-04 4.801923e-04 8.986596e-04 2.653263e-04 + 2301 2.794105e-03 2.006742e-03 1.807122e-03 5.391350e-04 1.538898e-03 + 2302 5.073405e-04 6.869348e-04 1.955439e-04 3.609522e-04 7.925919e-04 + 2303 1.698834e-03 1.109489e-03 5.423413e-04 2.476334e-03 1.448395e-03 + 2304 6.348897e-04 2.039775e-04 1.664989e-04 7.105019e-04 4.472090e-04 + 2305 1.201391e+00 1.242220e+00 1.163799e+00 1.133569e+00 1.136764e+00 + 2306 2.158100e+02 2.139952e+02 2.151770e+02 2.161999e+02 2.113802e+02 + 2307 3.383498e+02 3.345375e+02 3.377583e+02 3.374322e+02 3.318286e+02 + 2308 1.404166e+01 1.383329e+01 1.430099e+01 1.400372e+01 1.375805e+01 + 2309 1.149420e-02 1.900498e-02 6.096029e-03 1.449630e-02 2.009437e-02 + 2310 4.489143e-02 5.217580e-02 2.769738e-02 3.904154e-02 4.233260e-02 + 2311 1.024414e-01 1.139630e-01 1.208688e-01 1.149067e-01 1.305246e-01 + 2312 3.328152e-01 3.735228e-01 3.777483e-01 3.772668e-01 3.604458e-01 + 2313 7.360014e-02 6.602868e-02 6.910344e-02 5.876302e-02 6.921198e-02 + 2314 1.037443e-02 1.378275e-02 1.356656e-02 1.408854e-02 1.072368e-02 + 2315 1.996279e-02 2.705829e-02 2.083236e-02 2.188136e-02 2.246124e-02 + 2316 1.264493e-02 1.143460e-02 1.370750e-02 1.410916e-02 1.086069e-02 + 2317 1.573482e-02 1.279968e-02 2.459415e-02 1.045806e-02 7.849518e-03 + 2318 1.020137e-02 1.268159e-02 1.680387e-02 1.414942e-02 1.124062e-02 + 2319 1.711396e-02 8.881808e-03 1.203033e-02 8.571170e-03 6.733002e-03 + 2320 6.236707e-03 4.608493e-03 9.648436e-03 6.812541e-03 8.631223e-03 + 2321 8.214980e-03 1.015973e-02 9.508390e-03 9.672265e-03 3.255766e-03 + 2322 2.396483e-03 4.709083e-03 7.675940e-03 2.849384e-03 5.973688e-03 + 2323 1.212505e-02 7.487040e-03 1.259913e-02 1.574878e-02 6.589412e-03 + 2324 4.270904e-03 4.995949e-03 5.169876e-03 6.242400e-03 5.443760e-03 + 2325 3.933320e-03 3.182056e-03 4.386410e-03 1.728300e-03 1.794886e-03 + 2326 5.950468e-03 4.992906e-03 3.316086e-03 5.125673e-03 3.926231e-03 + 2327 2.480412e-03 5.360514e-03 3.669106e-03 4.244875e-03 3.299860e-03 + 2328 4.017623e-03 2.480459e-03 5.962062e-03 6.204092e-03 3.518099e-03 + 2329 6.553408e-03 5.364235e-03 2.995323e-03 4.639871e-03 3.958613e-03 + 2330 2.445705e-03 2.642711e-03 2.606874e-03 3.510595e-03 2.189204e-03 + 2331 6.210885e-03 2.417409e-03 3.095395e-03 5.072115e-03 4.689885e-03 + 2332 1.922792e-03 2.383219e-03 2.210443e-03 2.462207e-03 2.447446e-03 + 2333 9.087521e-03 3.535736e-03 5.456788e-03 1.011269e-02 1.888408e-03 + 2334 1.638588e-03 1.633626e-03 2.296472e-03 9.865505e-04 3.783286e-03 + 2335 2.475127e-03 3.119995e-03 2.570978e-03 3.349897e-03 1.107873e-03 + 2336 3.403982e-03 2.619808e-03 1.506595e-03 5.540131e-03 2.802407e-03 + 2337 1.689547e-03 4.340812e-03 1.810500e-03 1.848693e-03 2.697550e-03 + 2338 1.383800e-03 1.290741e-03 1.464407e-03 1.988076e-03 1.956960e-03 + 2339 3.936637e-03 2.210591e-03 3.251877e-03 1.144020e-03 3.907736e-03 + 2340 1.589804e-03 1.783778e-03 2.407182e-03 2.047997e-03 1.422601e-03 + 2341 2.878282e-04 1.181484e-03 2.898793e-03 1.241858e-03 4.261566e-04 + 2342 2.427290e-03 1.967347e-03 2.141601e-03 5.688734e-04 2.289455e-03 + 2343 1.756310e-03 3.438189e-03 5.278374e-03 4.982060e-03 3.830020e-03 + 2344 2.360898e-03 3.715347e-03 7.771450e-03 2.847428e-03 8.822077e-03 + 2345 1.476762e-03 1.630431e-03 1.662346e-03 1.598381e-03 1.145234e-03 + 2346 1.973656e-03 4.090091e-03 1.823452e-03 3.264779e-03 1.904112e-03 + 2347 1.646945e-03 5.161603e-04 1.347594e-03 1.059437e-03 1.769107e-03 + 2348 1.027006e-03 1.523083e-03 1.490349e-03 2.785212e-03 6.091183e-04 + 2349 6.507345e-03 2.130061e-03 3.381596e-03 6.197598e-03 2.267213e-03 + 2350 5.790504e-04 1.061149e-03 3.113473e-03 2.308753e-03 7.724303e-04 + 2351 1.261120e-03 9.406099e-04 9.811966e-04 1.139898e-03 9.117922e-04 + 2352 1.393255e-03 1.849916e-03 2.822241e-03 2.591987e-03 1.632669e-03 + 2353 7.174689e-02 7.449512e-02 8.871308e-02 8.276608e-02 7.538150e-02 + 2354 4.008511e-01 3.991205e-01 4.508631e-01 4.136596e-01 4.060336e-01 + 2355 6.804949e-02 7.652442e-02 7.670234e-02 7.674710e-02 6.320431e-02 + 2356 5.598993e-04 6.971154e-04 2.109652e-03 9.346482e-04 1.636732e-03 + 2357 1.783509e-03 3.915045e-03 7.198891e-03 1.040985e-03 2.731407e-03 + 2358 2.667837e-04 9.349758e-04 1.346294e-03 1.706578e-03 1.067078e-03 + 2359 2.714947e-03 7.192168e-04 3.424132e-03 2.215003e-03 6.865820e-04 + 2360 1.942872e-03 1.502956e-03 3.571509e-03 2.014078e-03 2.270401e-03 + 2361 1.692476e-03 4.284169e-03 5.678577e-03 2.781669e-03 2.271326e-03 + 2362 1.526011e-03 2.270336e-03 1.974479e-03 2.340917e-04 1.120504e-03 + 2363 5.801478e-04 1.450188e-03 2.413771e-04 9.978382e-04 1.347164e-03 + 2364 5.074470e-04 1.024591e-03 2.124197e-03 1.431101e-03 1.627197e-03 + 2365 1.558656e-03 4.123948e-03 1.874926e-03 2.291720e-03 2.543989e-03 + 2366 4.350613e-04 1.104902e-03 1.857704e-03 5.370714e-04 8.182982e-04 + 2367 1.303482e-03 5.947062e-04 1.652358e-03 2.324756e-03 1.116818e-03 + 2368 1.028521e-03 2.070801e-03 2.752731e-03 2.080896e-03 1.560770e-03 + 2369 6.374657e-04 2.693430e-04 1.008710e-03 5.621535e-04 9.932774e-04 + 2370 1.724376e-03 9.726819e-04 1.963774e-03 3.511762e-03 2.209146e-03 + 2371 6.079316e-04 1.978145e-03 2.067656e-03 2.855480e-04 1.779928e-03 + 2372 1.574163e-04 8.509258e-04 1.929954e-03 6.134470e-04 8.773815e-04 + 2373 1.780980e-03 2.170030e-03 4.534820e-03 1.331172e-03 2.636907e-03 + 2374 1.943790e-03 1.594763e-03 1.992230e-03 1.511185e-03 1.827409e-03 + 2375 1.505130e-03 9.553597e-04 1.288518e-03 1.483781e-03 1.456992e-03 + 2376 1.123872e-03 1.197253e-03 1.579614e-03 4.095003e-04 2.036972e-03 + 2377 1.054950e-03 1.069015e-03 1.090076e-03 1.123004e-03 6.378230e-04 + 2378 5.983448e-04 1.058629e-03 3.204054e-03 1.254053e-03 8.374280e-04 + 2379 1.455415e-03 1.104813e-03 1.294402e-03 2.691659e-03 2.985863e-03 + 2380 5.111568e-04 1.189051e-03 1.462792e-03 6.448780e-04 9.123618e-04 + 2381 8.560955e-04 1.551290e-03 7.829272e-04 9.871394e-04 7.835824e-04 + 2382 2.597808e-04 6.792578e-04 9.502219e-04 1.134389e-03 9.739399e-04 + 2383 4.752721e-04 1.119884e-03 3.287817e-03 2.074260e-03 7.853191e-04 + 2384 6.868713e-04 5.597210e-04 9.229139e-04 4.176258e-04 7.677006e-04 + 2385 5.091159e-04 7.713584e-04 8.569051e-04 9.286476e-04 7.009976e-04 + 2386 2.145613e-03 1.235412e-03 9.022845e-04 5.288312e-04 7.489248e-04 + 2387 9.906352e-04 8.360448e-04 9.641013e-04 6.081707e-04 8.258959e-04 + 2388 1.466888e-03 1.084162e-03 1.681931e-03 1.505766e-03 1.349362e-03 + 2389 7.059442e-04 3.496718e-04 1.396151e-03 7.322352e-04 2.831214e-04 + 2390 9.418272e-04 1.206305e-03 3.873798e-03 1.223076e-03 1.747906e-03 + 2391 3.896473e-04 1.167946e-03 2.313268e-03 1.897795e-03 4.436725e-04 + 2392 1.492090e-03 9.409913e-04 1.541791e-03 1.443589e-03 8.195688e-04 + 2393 2.175761e-03 1.106700e-03 1.036700e-03 1.915546e-03 1.147287e-03 + 2394 1.335174e-03 1.437236e-03 1.492061e-03 4.363460e-04 6.146298e-04 + 2395 5.797900e-04 6.974924e-04 2.692633e-03 9.848876e-04 2.438434e-04 + 2396 3.115045e-04 2.716170e-03 1.012484e-03 4.096315e-04 1.713812e-03 + 2397 2.537419e-03 3.638709e-03 2.624623e-03 1.008300e-03 3.998286e-03 + 2398 7.536794e-03 9.122752e-03 8.350972e-03 7.150949e-03 1.236992e-02 + 2399 1.067052e-03 2.577915e-03 1.570636e-03 1.410791e-03 1.973089e-03 + 2400 6.513926e-04 7.925159e-04 5.764645e-04 9.402733e-04 5.663676e-04 + 2401 6.994163e-04 4.796869e-04 1.658320e-03 1.125941e-03 7.471110e-04 + 2402 5.140923e-04 1.171004e-03 1.258563e-03 1.064612e-03 6.266910e-04 + 2403 1.142542e-03 3.488628e-03 3.831547e-03 2.462439e-03 1.704608e-03 + 2404 4.845369e-03 1.082526e-02 9.564482e-03 6.106353e-03 5.936041e-03 + 2405 1.196143e-03 2.654699e-03 7.079324e-04 1.245039e-03 1.668139e-03 + 2406 3.588849e-04 9.049289e-04 1.833349e-03 3.450745e-04 8.368722e-04 + 2407 1.328798e-03 8.435402e-04 6.799860e-04 9.092600e-04 7.225831e-04 + 2408 3.720517e-04 3.906865e-04 3.756253e-04 1.502861e-04 4.864726e-04 + 2409 2.742151e-03 2.589470e-03 2.155635e-03 2.414646e-03 3.405789e-03 + 2410 3.785641e-03 7.224051e-03 5.394501e-03 5.521920e-03 1.096558e-02 + 2411 2.014897e-03 2.008282e-03 1.872294e-03 2.586384e-03 3.585008e-03 + 2412 8.402216e-04 9.302967e-04 9.771665e-04 9.114091e-04 1.317370e-03 + 2413 5.039342e-04 3.140377e-04 1.971988e-04 1.041686e-03 1.098946e-03 + 2414 9.151777e-04 1.367716e-03 1.786227e-03 3.650256e-04 1.469903e-03 + 2415 2.501919e-04 1.883759e-03 1.132638e-03 4.351105e-04 2.136073e-03 + 2416 4.628685e-04 1.781465e-03 4.914210e-04 1.376616e-03 1.819040e-03 + 2417 1.222713e-03 1.491863e-03 5.608226e-04 2.227340e-03 1.655984e-03 + 2418 9.876623e-04 1.214169e-03 8.728214e-04 8.161257e-04 6.626838e-04 + 2419 1.588404e-03 4.025347e-03 2.810056e-03 2.136666e-03 1.584163e-03 + 2420 9.664493e-04 3.283744e-04 2.987662e-03 1.140938e-03 1.945347e-04 + 2421 1.267459e-03 5.746172e-04 3.702672e-03 1.083360e-03 8.408040e-04 + 2422 2.182992e-03 1.933624e-03 2.053537e-03 1.227900e-03 2.855961e-03 + 2423 6.397452e-04 8.791482e-04 1.187179e-03 1.430373e-03 1.228946e-03 + 2424 3.739612e-04 1.884491e-03 2.250578e-03 7.970310e-04 1.365776e-03 + 2425 1.369616e-03 9.721864e-04 2.812545e-03 9.552222e-04 6.592103e-04 + 2426 5.680667e-04 7.904171e-04 1.559407e-03 6.439617e-04 7.401729e-04 + 2427 6.538579e-04 2.557596e-04 3.630646e-04 8.868942e-04 6.316339e-04 + 2428 8.920917e-04 9.207070e-04 1.334202e-03 6.146730e-04 4.154396e-04 + 2429 4.678853e-04 1.358886e-03 1.006464e-03 4.728439e-04 1.330324e-03 + 2430 6.627788e-04 7.129618e-04 2.150013e-03 8.329476e-04 6.119683e-04 + 2431 8.967721e-04 5.712583e-04 1.246308e-03 1.411756e-03 1.687321e-03 + 2432 9.688562e-04 4.566937e-04 1.781953e-03 1.562022e-04 1.570309e-03 + 2433 1.411023e+00 1.309092e+00 1.352880e+00 1.367372e+00 1.292832e+00 + 2434 2.151082e+02 2.126086e+02 2.129685e+02 2.123980e+02 2.113841e+02 + 2435 3.395582e+02 3.350968e+02 3.351769e+02 3.353461e+02 3.322137e+02 + 2436 1.395651e+01 1.388413e+01 1.355693e+01 1.364676e+01 1.334927e+01 + 2437 1.956222e-02 9.076589e-03 2.288678e-02 1.644295e-02 1.652567e-02 + 2438 4.899639e-02 3.608578e-02 4.311966e-02 3.982631e-02 4.522780e-02 + 2439 9.368023e-02 1.076837e-01 1.067512e-01 1.235823e-01 9.407244e-02 + 2440 3.449699e-01 3.817093e-01 4.236958e-01 4.392349e-01 4.060055e-01 + 2441 5.561713e-02 6.606969e-02 6.118180e-02 7.612499e-02 6.377298e-02 + 2442 8.631203e-03 1.145818e-02 1.731622e-02 8.455376e-03 2.446769e-02 + 2443 3.628909e-02 2.413605e-02 2.089548e-02 2.431940e-02 1.284895e-02 + 2444 1.496247e-02 8.599038e-03 8.703696e-03 1.162467e-02 1.477237e-02 + 2445 1.913652e-02 2.123258e-02 3.122931e-02 2.003421e-02 2.183888e-02 + 2446 1.158185e-02 1.181653e-02 6.895500e-03 9.922837e-03 7.885176e-03 + 2447 7.767884e-03 6.787197e-03 1.096919e-02 9.219822e-03 8.380635e-03 + 2448 1.107669e-02 1.211952e-02 1.164903e-02 1.482732e-02 8.149648e-03 + 2449 4.972294e-03 6.570283e-03 6.279994e-03 4.198051e-03 5.910862e-03 + 2450 7.874021e-03 5.384809e-03 7.502636e-03 9.781786e-03 1.025936e-02 + 2451 5.604310e-03 8.693834e-03 8.268553e-03 9.702808e-03 1.078658e-02 + 2452 5.485228e-03 3.849827e-03 7.638345e-03 2.056515e-03 4.596573e-03 + 2453 6.500121e-03 1.026993e-02 6.687235e-03 7.332970e-03 3.960070e-03 + 2454 3.045065e-03 6.879116e-04 4.766442e-03 3.145074e-03 4.703996e-03 + 2455 9.833144e-03 9.073672e-03 7.427148e-03 6.841642e-03 4.587505e-03 + 2456 2.403764e-03 1.274874e-03 2.910678e-03 4.327556e-03 2.926088e-03 + 2457 3.327580e-03 5.302564e-03 3.094297e-03 3.184946e-03 2.619822e-03 + 2458 2.606716e-03 3.207876e-03 3.720280e-03 4.566675e-03 2.357541e-03 + 2459 5.380247e-03 5.808589e-03 9.564393e-03 3.351046e-03 4.417585e-03 + 2460 3.727059e-03 3.125194e-03 3.245140e-03 4.382804e-03 2.762393e-03 + 2461 2.804865e-03 4.085599e-03 2.921863e-03 3.215136e-03 3.113549e-03 + 2462 2.269000e-03 2.134993e-03 2.313531e-03 4.247459e-03 2.053035e-03 + 2463 2.918017e-03 5.462751e-03 4.281100e-03 5.457146e-03 5.539728e-03 + 2464 3.982712e-03 3.104490e-03 3.186341e-03 2.121970e-03 9.177068e-04 + 2465 1.176336e-03 2.026548e-03 2.124350e-03 2.003056e-03 2.171234e-03 + 2466 5.269727e-03 3.436831e-03 6.941560e-03 3.861543e-03 3.890533e-03 + 2467 2.033343e-03 3.161556e-03 2.855729e-03 3.906753e-03 4.480058e-03 + 2468 2.289127e-03 2.265854e-03 1.879336e-03 2.441557e-03 1.605858e-03 + 2469 4.960400e-03 3.529731e-03 4.797142e-03 1.069994e-03 2.315412e-03 + 2470 3.480565e-03 1.446363e-03 1.808577e-03 4.435752e-03 3.267016e-03 + 2471 1.766239e-03 3.331997e-03 5.337721e-03 2.052781e-03 1.604646e-03 + 2472 5.386715e-03 1.062996e-03 2.949193e-03 6.672379e-03 1.994796e-03 + 2473 1.087063e-03 4.988521e-04 1.134690e-03 1.068805e-03 9.386171e-04 + 2474 4.234851e-03 9.031924e-03 2.533460e-03 2.897549e-03 2.854094e-03 + 2475 7.843359e-04 1.236182e-03 5.141055e-04 1.502451e-03 1.271925e-03 + 2476 1.096199e-03 6.059519e-04 2.359021e-03 2.089092e-03 1.965058e-03 + 2477 2.637439e-03 3.593961e-03 2.788553e-03 3.829078e-03 1.492168e-03 + 2478 1.635738e-03 1.139638e-03 3.220912e-03 2.880121e-03 1.099641e-03 + 2479 1.333846e-03 4.059124e-04 2.604468e-03 1.943861e-03 1.886056e-03 + 2480 3.777420e-03 2.885490e-03 1.737084e-03 2.374297e-03 2.460190e-03 + 2481 7.579495e-02 7.900575e-02 8.157698e-02 8.419296e-02 7.643260e-02 + 2482 4.154353e-01 4.120225e-01 4.352022e-01 4.139873e-01 4.249566e-01 + 2483 8.252397e-02 6.717787e-02 9.001982e-02 7.344810e-02 8.246587e-02 + 2484 1.663314e-03 1.831974e-03 1.193880e-03 1.462766e-03 1.391187e-03 + 2485 2.547122e-03 4.826998e-03 2.916393e-03 3.523210e-03 3.388816e-03 + 2486 1.030928e-03 2.343984e-03 7.990529e-04 1.652592e-03 1.653154e-03 + 2487 7.184850e-04 6.304365e-04 1.484308e-03 2.179448e-03 2.621131e-03 + 2488 2.033296e-03 4.522994e-03 4.580790e-03 4.225572e-03 2.577870e-03 + 2489 1.272169e-03 4.613864e-04 2.922610e-04 5.773864e-04 1.160280e-03 + 2490 9.483883e-04 2.313342e-03 1.067899e-03 2.200507e-03 1.047728e-03 + 2491 9.843875e-04 1.011859e-03 1.282026e-03 2.812024e-03 1.060829e-03 + 2492 1.025454e-03 9.067748e-04 6.940155e-04 1.213012e-03 1.072333e-03 + 2493 1.253449e-03 2.674990e-03 1.139633e-03 2.143950e-03 7.905098e-04 + 2494 2.052028e-03 1.096364e-03 6.445700e-04 2.419784e-03 5.800368e-03 + 2495 1.132743e-03 1.264761e-03 1.128052e-03 9.612558e-04 3.486425e-04 + 2496 9.266160e-04 7.352338e-04 1.899391e-04 5.324689e-04 4.909422e-04 + 2497 1.073801e-03 2.426390e-03 2.128716e-03 1.544691e-03 2.297757e-03 + 2498 1.935696e-03 1.246991e-03 1.819017e-03 1.079104e-03 2.100630e-03 + 2499 7.131481e-04 1.972303e-03 1.155966e-03 2.114796e-03 1.271609e-03 + 2500 1.817158e-03 7.343328e-04 1.103474e-03 7.780612e-04 2.659294e-04 + 2501 1.035167e-03 1.596635e-03 1.242786e-03 9.803421e-04 9.680059e-04 + 2502 1.298049e-04 8.689330e-04 1.206104e-03 1.028139e-03 5.592396e-04 + 2503 1.470504e-03 1.937848e-03 5.189259e-04 1.697587e-03 2.175961e-03 + 2504 8.986858e-04 1.759168e-03 2.486544e-03 3.473531e-03 2.434841e-03 + 2505 4.324458e-04 7.070915e-04 1.107744e-03 7.276615e-04 1.015143e-03 + 2506 1.373639e-03 7.770563e-04 1.674047e-03 1.842839e-03 1.942056e-03 + 2507 5.784909e-04 1.560392e-03 1.486248e-03 2.425301e-03 2.512440e-03 + 2508 1.212109e-03 1.013962e-03 2.249062e-03 2.097740e-03 1.536553e-03 + 2509 1.629125e-03 2.226989e-03 2.153294e-03 7.470659e-04 7.191684e-04 + 2510 1.623876e-03 2.053956e-03 1.895786e-03 1.067556e-03 1.152023e-03 + 2511 2.692617e-03 1.148347e-03 2.468583e-03 2.908122e-03 1.912598e-03 + 2512 1.108661e-03 1.042646e-03 2.630234e-03 1.576859e-03 2.708649e-03 + 2513 9.181827e-04 4.782830e-04 1.022288e-03 9.391582e-04 3.752921e-04 + 2514 3.017117e-03 1.883717e-03 2.689581e-03 8.110227e-04 2.498431e-03 + 2515 1.258170e-03 2.221629e-04 1.100897e-03 3.823434e-04 7.985513e-04 + 2516 1.612422e-03 5.292780e-04 1.056020e-03 5.648424e-04 3.960477e-04 + 2517 1.306441e-03 2.287387e-03 3.165524e-03 1.637207e-03 2.318407e-03 + 2518 9.727352e-04 9.323845e-04 1.496996e-03 5.190302e-04 2.900802e-04 + 2519 1.309188e-03 1.541202e-03 8.522927e-04 1.222237e-03 6.720167e-04 + 2520 3.846297e-04 1.200772e-03 1.137050e-03 1.355262e-03 1.197274e-03 + 2521 1.578329e-03 2.642060e-03 1.050247e-03 1.287114e-03 1.071542e-03 + 2522 9.309663e-04 2.089221e-03 3.260272e-03 2.240299e-03 1.105607e-03 + 2523 1.649505e-04 2.773698e-03 2.045018e-03 9.205914e-04 4.860832e-04 + 2524 1.789006e-03 2.029850e-03 4.124952e-03 1.649031e-03 2.822264e-03 + 2525 1.575682e-03 3.185537e-03 6.064347e-04 1.400800e-03 2.461906e-03 + 2526 4.811158e-03 8.522617e-03 7.914775e-03 6.054656e-03 6.369815e-03 + 2527 1.380750e-03 1.273287e-03 1.170530e-03 5.839658e-04 1.002660e-03 + 2528 2.796082e-03 1.703044e-03 2.051358e-03 1.707590e-03 2.031278e-03 + 2529 9.647572e-04 2.304825e-03 1.298523e-03 7.862390e-04 2.728406e-03 + 2530 4.127389e-04 1.003025e-03 8.515983e-04 4.136594e-04 9.669355e-04 + 2531 1.088961e-03 3.290740e-03 1.825470e-03 2.112205e-03 2.415422e-03 + 2532 7.141866e-03 1.012126e-02 1.026027e-02 5.821793e-03 6.399895e-03 + 2533 2.115912e-03 2.889367e-03 3.340678e-03 2.027963e-03 1.925348e-03 + 2534 1.746623e-03 2.421276e-03 1.541087e-03 3.803845e-03 3.158357e-03 + 2535 3.806048e-04 1.955477e-03 1.206535e-03 1.322634e-03 1.443974e-03 + 2536 7.972512e-04 7.464160e-04 1.774750e-03 6.632635e-04 9.470878e-04 + 2537 1.563111e-03 1.000145e-03 2.243534e-03 7.454588e-04 1.239091e-03 + 2538 3.736795e-03 3.518226e-03 3.389933e-03 4.999463e-03 7.059303e-03 + 2539 7.152194e-04 5.936346e-04 1.185166e-03 9.354460e-04 7.098603e-04 + 2540 1.957687e-04 1.257775e-04 1.611229e-03 3.784212e-04 3.321960e-04 + 2541 1.009815e-03 2.306101e-03 3.800196e-03 7.109196e-04 7.253175e-04 + 2542 5.193952e-04 5.003752e-04 6.765090e-04 4.310538e-04 9.213467e-04 + 2543 1.011923e-03 6.168255e-04 3.873727e-03 1.110051e-03 1.203485e-03 + 2544 8.559223e-04 1.103747e-03 7.155051e-04 6.188553e-04 7.091222e-04 + 2545 5.065352e-04 1.678195e-03 1.082036e-03 5.142496e-04 1.212176e-03 + 2546 9.699786e-04 2.143515e-03 3.921734e-04 1.662710e-03 1.422799e-03 + 2547 1.269254e-03 1.055402e-03 1.080534e-03 7.960762e-04 1.108796e-03 + 2548 1.027254e-03 1.192802e-03 4.498649e-04 7.177997e-04 5.490501e-04 + 2549 6.891912e-04 6.584036e-04 5.633216e-04 2.402163e-04 8.115801e-04 + 2550 2.709155e-03 4.717724e-03 4.242522e-03 3.055912e-03 4.513597e-03 + 2551 1.250885e-03 1.139763e-03 1.492633e-03 8.750111e-04 8.487650e-04 + 2552 1.642824e-03 1.383750e-03 1.286176e-03 2.158108e-03 1.084605e-03 + 2553 7.426212e-04 9.887192e-04 8.014199e-04 1.764696e-04 5.322504e-04 + 2554 1.520408e-03 1.039322e-03 3.741291e-04 1.063219e-03 1.194065e-03 + 2555 2.515192e-03 2.237811e-03 1.084827e-03 1.222055e-03 2.190438e-03 + 2556 1.038321e-03 9.632791e-04 5.873941e-04 3.986821e-04 8.648440e-04 + 2557 2.839575e-03 3.411798e-03 1.624780e-03 2.313751e-03 1.167315e-03 + 2558 1.249013e-03 2.993142e-04 9.975429e-04 1.010090e-03 5.219824e-04 + 2559 1.258359e-03 7.306590e-04 8.742925e-04 1.123422e-03 9.560182e-04 + 2560 1.741488e-05 1.144336e-03 3.900835e-04 1.559165e-03 5.609618e-04 + 2561 1.406777e+00 1.370341e+00 1.390122e+00 1.460827e+00 1.287997e+00 + 2562 2.147644e+02 2.130858e+02 2.123813e+02 2.133521e+02 2.104708e+02 + 2563 3.385218e+02 3.354933e+02 3.354614e+02 3.365506e+02 3.318335e+02 + 2564 1.384557e+01 1.353094e+01 1.383467e+01 1.367386e+01 1.366927e+01 + 2565 4.785854e-02 4.180392e-02 3.367173e-02 5.225279e-02 3.773997e-02 + 2566 2.666879e-02 2.686471e-02 2.308168e-02 2.511908e-02 2.633269e-02 + 2567 9.732216e-02 9.575010e-02 9.148421e-02 1.076319e-01 8.802710e-02 + 2568 3.878449e-01 3.583426e-01 3.651227e-01 4.244037e-01 4.005874e-01 + 2569 5.623844e-02 5.099767e-02 5.306086e-02 6.030966e-02 4.635424e-02 + 2570 4.714279e-02 3.109997e-02 1.946140e-02 3.090092e-02 2.641636e-02 + 2571 3.842169e-03 7.548544e-03 1.469965e-02 1.051334e-02 1.166969e-02 + 2572 1.645459e-02 1.586298e-02 1.545626e-02 1.965995e-02 1.614928e-02 + 2573 1.894471e-02 1.201940e-02 2.780171e-02 1.042353e-02 1.176579e-02 + 2574 1.266969e-02 1.317609e-02 1.879591e-02 1.730062e-02 1.484196e-02 + 2575 1.220823e-02 9.805649e-03 6.151451e-03 7.371834e-03 8.526286e-03 + 2576 1.151100e-02 7.430480e-03 1.384048e-02 8.654446e-03 1.122550e-02 + 2577 3.542846e-03 7.652226e-03 3.766814e-03 5.679903e-03 4.364918e-03 + 2578 6.941244e-03 3.464372e-03 7.042958e-03 4.781340e-03 4.770413e-03 + 2579 8.053564e-03 7.752846e-03 1.006350e-02 7.089902e-03 8.173624e-03 + 2580 3.935141e-03 2.978619e-03 3.487701e-03 8.427656e-03 6.535093e-03 + 2581 8.397391e-03 6.033548e-03 1.061785e-02 6.911204e-03 7.062070e-03 + 2582 2.457603e-03 3.047843e-03 3.839675e-03 4.678480e-03 4.382338e-03 + 2583 7.163595e-03 6.133309e-03 4.755750e-03 5.443940e-03 2.627668e-03 + 2584 8.167693e-03 3.324938e-03 5.001149e-03 6.968635e-03 5.134654e-03 + 2585 8.774978e-04 2.799778e-03 4.097198e-03 2.789084e-03 2.490877e-03 + 2586 4.654082e-03 3.840538e-03 6.585667e-03 4.123159e-03 3.539299e-03 + 2587 3.836076e-03 3.521689e-03 3.126924e-03 1.867582e-03 2.454036e-03 + 2588 1.282466e-03 2.449502e-03 1.644951e-03 6.192764e-03 3.332700e-03 + 2589 4.485756e-03 4.379315e-03 4.897348e-03 6.440371e-03 4.582428e-03 + 2590 4.615336e-03 3.556401e-03 1.059488e-03 3.511790e-03 2.552141e-03 + 2591 2.465981e-03 5.934775e-03 4.176828e-03 2.571696e-03 3.452012e-03 + 2592 2.547048e-03 2.729530e-03 3.318434e-03 2.925695e-03 1.179229e-03 + 2593 8.160786e-03 5.114233e-03 5.762809e-03 3.543418e-03 2.791403e-03 + 2594 1.746622e-03 1.806188e-03 2.485641e-03 1.665116e-03 3.539277e-03 + 2595 4.318252e-03 2.518502e-03 2.723721e-03 3.951088e-03 2.458894e-03 + 2596 8.336472e-04 1.750400e-03 1.164638e-03 2.279964e-03 2.240720e-03 + 2597 2.229911e-03 3.083713e-03 2.267799e-03 2.912564e-03 2.228159e-03 + 2598 2.404531e-03 3.691844e-03 3.742337e-03 2.057863e-03 3.508675e-03 + 2599 1.813890e-03 2.741355e-03 3.374421e-03 2.362703e-03 3.019950e-03 + 2600 2.360958e-03 1.087530e-03 3.469995e-03 4.375868e-03 1.114686e-03 + 2601 8.733613e-04 2.099821e-03 1.395832e-03 1.964420e-03 1.710113e-03 + 2602 2.355423e-03 1.856842e-03 4.642758e-03 1.988701e-03 2.754416e-03 + 2603 1.247083e-03 9.816799e-04 1.838210e-03 1.237391e-03 1.027256e-03 + 2604 2.585931e-03 1.820322e-03 1.379433e-03 1.803426e-03 2.363604e-03 + 2605 2.084670e-03 1.727976e-03 9.240219e-04 2.109587e-03 8.602703e-04 + 2606 2.266623e-03 6.578584e-04 2.925721e-03 4.662813e-03 1.049381e-03 + 2607 1.071818e-03 2.535778e-03 2.221701e-03 1.460332e-03 1.000058e-03 + 2608 1.297146e-03 1.325060e-03 1.368119e-03 2.314070e-03 2.331536e-03 + 2609 6.836581e-02 7.537963e-02 7.510488e-02 6.775277e-02 7.128267e-02 + 2610 3.849840e-01 4.235174e-01 4.316919e-01 4.030537e-01 4.046692e-01 + 2611 7.384378e-02 7.968174e-02 8.204958e-02 8.272693e-02 7.642214e-02 + 2612 9.096055e-04 1.589719e-03 1.687840e-03 1.004498e-03 1.118798e-03 + 2613 2.771133e-03 2.198975e-03 4.809886e-04 4.665001e-03 2.112818e-03 + 2614 6.107716e-04 2.917014e-04 1.782516e-03 1.199128e-03 9.431024e-04 + 2615 1.358176e-03 2.186716e-03 1.780938e-03 3.969598e-03 2.775673e-03 + 2616 1.781353e-03 1.246061e-03 4.662219e-04 6.190591e-04 1.474812e-03 + 2617 1.618886e-03 7.940212e-04 1.027242e-03 1.705078e-03 6.460168e-04 + 2618 9.469955e-04 7.502767e-04 5.585081e-04 1.033982e-03 5.950110e-04 + 2619 8.424784e-04 6.989757e-04 1.726555e-03 1.188659e-03 1.144431e-03 + 2620 1.540520e-03 2.519907e-03 1.632221e-03 6.044512e-04 7.499883e-04 + 2621 2.131878e-03 8.155691e-04 9.078504e-04 1.493737e-03 1.444379e-03 + 2622 9.490091e-04 1.785772e-03 1.766671e-03 2.214673e-03 2.246639e-03 + 2623 1.306542e-03 5.693384e-04 3.842888e-04 1.404665e-04 6.561598e-04 + 2624 3.179667e-03 2.551766e-03 1.536915e-03 1.431000e-03 3.100875e-03 + 2625 5.203059e-04 8.522227e-04 7.954565e-04 1.069396e-03 1.094774e-03 + 2626 6.004245e-04 5.013348e-04 5.029482e-04 9.435759e-04 1.080014e-03 + 2627 1.640994e-03 1.168985e-03 1.614841e-03 1.665917e-03 1.341006e-03 + 2628 2.543314e-03 8.907243e-04 6.611735e-04 1.944980e-03 1.514490e-03 + 2629 8.825914e-04 3.691418e-04 7.657442e-04 6.283370e-04 3.132495e-04 + 2630 7.286610e-04 1.694226e-03 1.788527e-03 1.260815e-03 1.379299e-03 + 2631 1.630399e-03 1.835412e-03 1.534255e-03 2.572790e-03 2.421419e-03 + 2632 3.748184e-04 1.456153e-03 1.097741e-03 1.102593e-03 1.203709e-03 + 2633 1.230086e-03 2.377047e-03 6.256243e-04 7.294254e-04 1.173837e-03 + 2634 4.837178e-04 9.575725e-04 4.804230e-04 7.207038e-04 1.487774e-03 + 2635 4.951955e-04 1.187758e-03 1.081516e-03 1.287367e-03 1.641358e-03 + 2636 3.524367e-04 4.296859e-04 1.391269e-03 1.231551e-03 1.369112e-03 + 2637 1.752675e-03 1.362211e-03 4.846319e-04 2.247634e-03 1.074726e-03 + 2638 3.606442e-04 1.132782e-03 2.575258e-04 1.303378e-03 9.504483e-04 + 2639 6.714228e-04 4.167421e-04 3.138561e-04 1.484083e-03 5.550333e-04 + 2640 1.741844e-03 1.240530e-03 2.611120e-03 3.270068e-04 7.162273e-04 + 2641 1.143307e-03 1.464914e-03 2.272936e-03 8.249497e-04 7.564604e-04 + 2642 9.492663e-04 1.118283e-03 1.773474e-03 2.400690e-03 2.019877e-03 + 2643 1.302228e-03 1.417804e-03 1.990734e-03 1.412040e-03 1.067063e-03 + 2644 8.900684e-04 1.286834e-03 1.107713e-03 8.310875e-04 1.122911e-03 + 2645 3.318337e-04 6.295877e-04 2.596389e-03 5.978392e-04 4.315356e-04 + 2646 1.094817e-03 8.235245e-04 1.874182e-03 8.217771e-04 1.178843e-03 + 2647 5.807683e-04 2.447633e-03 4.080588e-04 1.186346e-03 9.674046e-04 + 2648 1.005280e-03 1.500521e-03 2.262591e-03 2.444223e-03 1.367364e-03 + 2649 2.092663e-03 3.158803e-03 2.334469e-03 1.344492e-03 1.662458e-03 + 2650 1.824446e-03 2.110765e-03 1.196356e-03 9.564638e-04 1.858160e-03 + 2651 1.101257e-03 1.563363e-03 1.643389e-03 2.072818e-03 3.077605e-04 + 2652 3.407408e-04 1.192128e-03 3.735106e-04 8.569027e-04 5.694832e-04 + 2653 2.067128e-03 1.441545e-03 3.839828e-03 2.185791e-03 1.655806e-03 + 2654 7.687857e-03 5.564537e-03 5.350134e-03 7.400259e-03 9.096527e-03 + 2655 2.979949e-03 1.827457e-03 2.959137e-03 3.636673e-03 2.616617e-03 + 2656 8.930605e-04 2.233515e-03 6.353440e-04 5.998839e-04 1.495625e-03 + 2657 7.783192e-04 1.596962e-03 1.095630e-03 1.151931e-03 1.326783e-03 + 2658 1.084728e-03 9.423475e-04 1.356526e-03 1.694499e-03 1.104436e-03 + 2659 2.064206e-03 7.251228e-04 3.360101e-03 1.071164e-03 2.262316e-03 + 2660 5.308403e-03 4.926581e-03 4.438952e-03 5.231585e-03 3.924755e-03 + 2661 2.896991e-03 4.404276e-03 3.215738e-03 3.246466e-03 2.794456e-03 + 2662 6.691713e-04 9.718633e-04 8.863598e-04 4.218906e-04 1.440625e-03 + 2663 2.133686e-03 1.320713e-03 2.233001e-03 6.047620e-04 1.380358e-03 + 2664 8.302071e-04 6.834543e-04 7.801224e-04 1.149936e-03 7.238999e-04 + 2665 1.370724e-03 1.336356e-03 2.600815e-03 1.291126e-03 1.403953e-03 + 2666 6.951768e-03 4.435298e-03 6.499921e-03 4.843743e-03 2.873012e-03 + 2667 2.911646e-03 2.693733e-03 4.648271e-03 1.667452e-03 1.523611e-03 + 2668 1.539575e-03 7.875034e-04 8.861168e-04 1.181358e-03 8.705604e-04 + 2669 9.196171e-04 1.459853e-03 9.867621e-04 1.815360e-03 5.045161e-04 + 2670 1.034909e-03 1.881515e-03 1.612344e-03 2.266380e-03 5.718644e-04 + 2671 1.514557e-03 1.558340e-04 6.296625e-04 1.577549e-03 6.712230e-04 + 2672 2.044743e-04 1.425849e-03 1.670653e-03 9.633341e-04 4.330112e-04 + 2673 8.196354e-04 5.917548e-04 9.837672e-04 3.498536e-04 4.973423e-04 + 2674 5.574313e-04 1.197390e-03 7.908324e-04 4.908081e-04 7.447774e-04 + 2675 1.233306e-03 1.186037e-03 1.412430e-03 1.048687e-03 5.967687e-04 + 2676 1.139419e-03 1.430675e-03 1.306717e-03 6.613717e-04 1.218610e-03 + 2677 1.738357e-03 2.119892e-03 1.413680e-03 1.596923e-03 1.776009e-03 + 2678 7.473234e-04 2.359788e-03 3.397527e-03 2.293073e-03 3.111646e-03 + 2679 8.076992e-04 3.824291e-04 1.044743e-03 9.583775e-04 9.572190e-04 + 2680 1.434438e-03 1.598487e-03 1.090252e-03 1.054644e-03 4.354010e-04 + 2681 5.010279e-04 9.072203e-04 1.577304e-03 9.311101e-04 7.090607e-04 + 2682 7.334346e-04 7.295735e-04 4.047848e-04 4.378783e-04 6.284010e-04 + 2683 1.754353e-03 6.412043e-04 9.265932e-04 6.524204e-04 2.040291e-03 + 2684 1.187417e-03 1.294377e-03 1.929975e-03 1.593196e-03 6.743384e-04 + 2685 3.084435e-04 8.098654e-04 2.002373e-03 1.001253e-03 9.620062e-04 + 2686 4.598833e-04 3.793706e-04 1.502585e-03 1.691562e-03 9.420676e-04 + 2687 7.621889e-05 9.141625e-04 6.821992e-04 3.718726e-04 4.334394e-04 + 2688 4.733287e-04 1.192545e-04 4.865246e-04 8.243725e-04 1.594949e-04 + 2689 1.115929e+00 1.090453e+00 1.208153e+00 1.217567e+00 1.297308e+00 + 2690 2.152448e+02 2.129514e+02 2.134179e+02 2.143682e+02 2.115209e+02 + 2691 3.384973e+02 3.339006e+02 3.350204e+02 3.372630e+02 3.316899e+02 + 2692 1.408300e+01 1.361806e+01 1.356020e+01 1.385692e+01 1.367585e+01 + 2693 5.139654e-02 5.816302e-02 4.974973e-02 4.994166e-02 6.186451e-02 + 2694 2.052414e-02 1.470891e-02 1.742016e-02 1.350220e-02 1.103859e-02 + 2695 9.767553e-02 1.225508e-01 1.069954e-01 1.280979e-01 1.364213e-01 + 2696 3.257557e-01 3.390520e-01 3.379605e-01 3.510957e-01 4.052248e-01 + 2697 5.202716e-02 4.449191e-02 5.529251e-02 5.389872e-02 6.754206e-02 + 2698 3.114145e-02 2.785635e-02 2.010577e-02 2.357112e-02 2.225138e-02 + 2699 5.455140e-03 6.681373e-03 1.050268e-02 1.003166e-02 7.792254e-03 + 2700 1.317786e-02 1.453694e-02 1.842210e-02 7.949285e-03 1.274852e-02 + 2701 1.040749e-02 1.035321e-02 5.055779e-03 1.662729e-02 1.230344e-02 + 2702 1.523853e-02 1.121642e-02 1.206425e-02 1.082984e-02 1.056472e-02 + 2703 8.685265e-03 8.379890e-03 1.251029e-02 1.013184e-02 1.199306e-02 + 2704 8.265159e-03 8.553325e-03 5.312618e-03 5.996327e-03 4.303683e-03 + 2705 4.854075e-03 3.355276e-03 6.214915e-03 5.898777e-03 1.280880e-02 + 2706 9.887653e-03 6.466535e-03 7.482971e-03 5.457555e-03 6.127399e-03 + 2707 6.923440e-03 5.896831e-03 9.595981e-03 7.945647e-03 5.181855e-03 + 2708 4.654715e-03 4.503252e-03 6.143117e-03 4.463497e-03 4.389574e-03 + 2709 3.593279e-03 1.886457e-03 5.187565e-03 3.169244e-03 7.146558e-03 + 2710 6.197591e-03 5.527680e-03 4.053961e-03 5.614964e-03 2.924281e-03 + 2711 2.504230e-03 2.344166e-03 3.985689e-03 1.711099e-03 3.188057e-03 + 2712 6.957790e-03 2.873421e-03 4.087404e-03 6.235332e-03 4.320297e-03 + 2713 1.776491e-03 3.497723e-03 2.028387e-03 1.510430e-03 2.275454e-03 + 2714 4.512675e-03 3.374457e-03 2.813716e-03 3.103392e-03 4.163383e-03 + 2715 2.720320e-03 2.956238e-03 3.675543e-03 2.917285e-03 4.152739e-03 + 2716 1.504430e-03 1.227959e-03 9.993628e-04 1.709960e-03 1.532843e-03 + 2717 5.251732e-03 5.033302e-03 7.141397e-03 7.711008e-03 4.635565e-03 + 2718 1.688308e-03 2.943445e-03 2.358187e-03 1.710082e-03 2.387442e-03 + 2719 1.634108e-03 2.915340e-03 3.521835e-03 4.944486e-03 4.704574e-03 + 2720 4.094748e-03 4.509348e-03 1.496333e-03 1.918561e-03 5.219694e-03 + 2721 4.688445e-03 4.591194e-03 5.968603e-03 2.656573e-03 3.715718e-03 + 2722 1.959538e-03 1.925975e-03 1.430997e-03 1.964856e-03 2.385825e-03 + 2723 1.500860e-03 1.291996e-03 1.031054e-03 9.225815e-04 6.490806e-04 + 2724 2.541926e-03 2.524287e-03 3.982942e-03 2.580899e-03 3.456742e-03 + 2725 2.071297e-03 1.214243e-03 2.747828e-03 3.960567e-03 2.355786e-03 + 2726 4.436916e-03 3.522808e-03 5.123127e-03 6.223843e-03 5.909708e-03 + 2727 4.922329e-03 2.538963e-03 1.415331e-03 4.793663e-03 1.897058e-03 + 2728 1.164696e-03 2.554696e-03 1.554348e-03 3.275893e-03 4.073510e-03 + 2729 5.124162e-03 1.914302e-03 3.194806e-03 1.927816e-03 2.098224e-03 + 2730 6.747063e-04 5.410983e-04 4.814382e-04 2.807462e-04 2.500565e-04 + 2731 4.463605e-03 5.720939e-03 2.994910e-03 6.443598e-03 3.536105e-03 + 2732 5.354303e-04 1.512634e-03 2.626408e-03 1.124899e-03 9.410257e-04 + 2733 1.761085e-03 2.365972e-03 1.889813e-03 4.527427e-03 2.560292e-03 + 2734 2.241695e-03 1.360471e-03 2.261780e-03 2.247187e-03 1.401232e-03 + 2735 1.217294e-03 7.232209e-04 1.634049e-03 1.368323e-03 1.035518e-03 + 2736 1.506249e-03 9.098778e-04 1.992587e-03 1.179979e-03 9.626987e-04 + 2737 9.161660e-02 8.296343e-02 8.001842e-02 9.284413e-02 8.392225e-02 + 2738 4.500630e-01 4.128672e-01 4.200948e-01 4.411386e-01 4.087087e-01 + 2739 8.245883e-02 6.803151e-02 7.058819e-02 8.055970e-02 6.897187e-02 + 2740 1.667381e-03 1.746507e-03 1.929396e-03 2.180558e-03 8.943719e-04 + 2741 1.385669e-03 2.952199e-03 2.721936e-03 8.220122e-04 1.556002e-03 + 2742 1.530634e-03 1.679565e-03 2.888124e-03 9.651628e-04 1.845987e-03 + 2743 9.905201e-04 1.116290e-03 7.513383e-04 5.928203e-04 8.368467e-04 + 2744 9.893629e-04 9.212867e-04 1.545331e-03 1.875436e-03 2.835573e-03 + 2745 1.731272e-03 3.462052e-04 2.731984e-03 1.546375e-04 3.028887e-04 + 2746 9.553703e-04 1.676538e-03 9.102517e-04 1.168111e-03 2.008945e-03 + 2747 2.313354e-03 5.307581e-04 1.638135e-03 7.758166e-04 1.230187e-03 + 2748 1.787144e-03 1.162877e-03 6.549582e-04 1.742307e-03 1.178177e-03 + 2749 1.149546e-03 1.628551e-03 2.911682e-03 9.889690e-04 8.472432e-04 + 2750 1.543927e-03 9.389079e-04 7.629345e-04 8.838082e-04 9.302911e-04 + 2751 2.216712e-03 1.946945e-03 2.154004e-03 1.039347e-03 1.911814e-03 + 2752 2.098320e-03 2.000614e-03 1.038453e-03 1.118469e-03 4.681349e-04 + 2753 7.879077e-04 1.470538e-03 1.242655e-03 1.037626e-03 1.994943e-03 + 2754 9.670231e-04 2.951754e-03 1.136259e-03 1.018806e-03 2.869835e-04 + 2755 2.370299e-03 6.375899e-04 1.770011e-03 9.617885e-04 1.434699e-03 + 2756 9.351581e-04 8.730618e-04 1.809978e-03 1.029163e-03 2.288397e-04 + 2757 1.424741e-03 2.326217e-03 2.367093e-03 1.066195e-03 7.518770e-04 + 2758 1.081703e-03 1.696374e-03 3.265144e-03 2.945271e-03 3.430419e-03 + 2759 2.373132e-04 9.529578e-04 1.133536e-03 1.498360e-03 2.340987e-03 + 2760 1.260850e-03 2.051517e-03 1.613374e-03 2.347397e-03 1.085637e-03 + 2761 2.704876e-04 3.759936e-04 3.188142e-04 9.904229e-04 1.437417e-03 + 2762 8.614424e-04 4.399534e-04 1.852464e-03 1.045820e-03 1.825459e-03 + 2763 3.203275e-04 3.216987e-03 1.013890e-03 2.972444e-03 4.085201e-04 + 2764 1.212131e-03 2.627940e-03 8.307390e-04 2.931699e-03 2.721730e-03 + 2765 1.082876e-03 1.011230e-03 5.006499e-04 1.952621e-03 8.178581e-04 + 2766 7.060714e-04 1.436197e-03 3.269649e-04 1.261615e-03 5.397256e-04 + 2767 5.776929e-04 1.637773e-03 2.114622e-03 1.394919e-03 1.459561e-03 + 2768 1.121729e-03 9.844171e-04 2.451428e-03 8.633788e-04 5.624622e-04 + 2769 1.072349e-03 1.730298e-03 9.477708e-04 6.955904e-04 8.447037e-04 + 2770 6.029046e-04 1.615378e-03 9.433849e-04 2.103115e-03 1.415278e-03 + 2771 1.208856e-03 1.556334e-03 4.432459e-04 2.984874e-04 1.440542e-03 + 2772 1.573966e-03 1.204649e-03 1.662956e-03 3.294344e-03 1.352447e-03 + 2773 8.808754e-04 2.951122e-04 9.486469e-04 1.716024e-03 2.259133e-03 + 2774 2.487422e-03 8.768796e-04 1.416824e-03 7.467828e-04 2.139597e-03 + 2775 3.444533e-04 3.203375e-04 8.954452e-04 1.596002e-03 5.591859e-04 + 2776 1.346121e-03 1.483806e-03 1.365383e-03 1.532865e-03 1.300330e-03 + 2777 1.067609e-03 6.549323e-04 1.088541e-03 1.684603e-03 1.239494e-03 + 2778 1.334790e-03 3.513608e-04 1.364023e-03 1.183394e-03 1.496226e-03 + 2779 8.121791e-04 1.051204e-03 7.044451e-04 1.096365e-03 4.549506e-04 + 2780 5.720679e-04 7.595355e-04 1.109200e-03 1.077749e-03 6.367988e-04 + 2781 1.216795e-03 3.123602e-03 3.467337e-03 1.181202e-03 1.737271e-03 + 2782 7.037674e-03 1.166757e-02 1.675553e-02 6.700779e-03 8.151796e-03 + 2783 2.033340e-03 4.450081e-03 4.609643e-03 1.891756e-03 2.676680e-03 + 2784 8.195647e-04 8.136680e-04 1.072427e-03 9.228129e-04 2.003614e-04 + 2785 2.268311e-03 5.672063e-04 1.312317e-03 1.051663e-03 1.756596e-03 + 2786 1.927741e-03 5.201669e-04 1.080503e-03 1.073989e-03 2.040910e-03 + 2787 4.433955e-04 2.586135e-03 1.992432e-03 2.524464e-03 1.389121e-03 + 2788 3.786564e-03 1.019610e-02 5.046929e-03 7.876539e-03 7.621600e-03 + 2789 1.367537e-03 2.338645e-03 2.406421e-03 2.276745e-03 2.417123e-03 + 2790 1.824730e-03 1.111293e-03 1.503806e-03 2.080753e-03 1.506776e-03 + 2791 4.914449e-04 2.290960e-04 1.092081e-03 2.687071e-04 7.635986e-04 + 2792 1.083478e-03 1.572040e-03 9.613396e-04 3.490224e-04 1.202495e-03 + 2793 1.977205e-03 3.081553e-03 2.141090e-03 2.893044e-03 2.375607e-03 + 2794 7.714861e-03 8.447103e-03 5.960383e-03 8.492867e-03 6.278275e-03 + 2795 1.443193e-03 1.716569e-03 1.724481e-03 2.423947e-03 1.508264e-03 + 2796 7.201858e-04 5.267991e-04 1.138017e-03 7.880666e-04 1.168499e-03 + 2797 9.920747e-04 5.431200e-04 2.068462e-04 2.122864e-04 1.360952e-04 + 2798 2.039570e-03 5.900001e-04 1.120260e-03 8.487026e-04 9.902155e-04 + 2799 1.355719e-03 9.243123e-04 6.214962e-04 1.088077e-03 1.153337e-03 + 2800 8.488349e-04 1.247353e-03 1.852159e-03 1.502074e-03 2.745707e-04 + 2801 3.051046e-04 4.812795e-04 8.323529e-04 3.869292e-04 7.307499e-04 + 2802 1.319009e-03 4.499366e-04 1.337362e-03 1.520371e-03 4.245081e-04 + 2803 7.536050e-04 8.932736e-04 4.760409e-04 5.711558e-04 1.539287e-03 + 2804 7.562275e-04 9.417825e-04 6.968719e-04 1.465973e-03 2.435620e-04 + 2805 3.406303e-04 8.749414e-04 1.008753e-03 6.940752e-04 1.240164e-03 + 2806 1.990941e-03 2.292994e-03 1.917700e-03 3.288111e-03 2.835345e-03 + 2807 1.141603e-03 9.829460e-04 2.257678e-03 1.625923e-03 9.984229e-04 + 2808 8.132467e-04 1.915168e-03 2.322388e-03 2.382937e-04 6.637061e-04 + 2809 6.512911e-04 6.926950e-04 7.106789e-04 8.500049e-04 2.937855e-04 + 2810 8.098398e-04 2.351296e-03 8.124741e-04 1.002508e-03 1.342892e-03 + 2811 1.591826e-03 2.576971e-03 2.686739e-03 8.971612e-04 1.582378e-03 + 2812 9.122258e-04 1.682218e-03 2.699052e-03 9.657817e-04 1.509679e-03 + 2813 1.267161e-03 7.144177e-04 1.700524e-03 4.485007e-04 1.101803e-03 + 2814 2.579859e-04 6.200322e-04 2.139268e-03 1.041071e-03 1.254145e-03 + 2815 1.414810e-03 8.847673e-04 7.024745e-04 1.663131e-03 7.457442e-04 + 2816 2.478428e-04 6.999783e-04 2.205549e-04 8.806839e-05 2.643432e-04 + 2817 1.402967e+00 1.472389e+00 1.405795e+00 1.442622e+00 1.467799e+00 + 2818 2.157023e+02 2.133500e+02 2.142162e+02 2.159372e+02 2.124097e+02 + 2819 3.392093e+02 3.352385e+02 3.361992e+02 3.386311e+02 3.328790e+02 + 2820 1.369578e+01 1.353036e+01 1.362105e+01 1.368590e+01 1.358926e+01 + 2821 2.044349e-02 2.147509e-02 1.482106e-02 1.875040e-02 1.644460e-02 + 2822 4.266485e-02 4.581280e-02 2.906607e-02 3.292403e-02 4.078772e-02 + 2823 1.023892e-01 1.077104e-01 1.097899e-01 1.212127e-01 1.083302e-01 + 2824 3.222192e-01 3.756220e-01 4.076054e-01 4.077138e-01 3.887583e-01 + 2825 5.119669e-02 4.492539e-02 5.870734e-02 5.965841e-02 5.494023e-02 + 2826 2.342426e-02 2.075600e-02 2.454696e-02 2.169736e-02 1.798574e-02 + 2827 1.453745e-02 2.237474e-02 1.169778e-02 1.905381e-02 1.215931e-02 + 2828 1.238481e-02 1.061330e-02 1.162350e-02 1.393508e-02 1.628239e-02 + 2829 1.964896e-02 1.401247e-02 3.112993e-02 1.736421e-02 1.209110e-02 + 2830 1.002436e-02 1.166772e-02 1.129313e-02 1.217978e-02 8.333402e-03 + 2831 1.650931e-02 6.773226e-03 1.142350e-02 8.502231e-03 8.524325e-03 + 2832 8.205281e-03 6.584357e-03 3.676277e-03 7.606447e-03 6.882239e-03 + 2833 1.519734e-02 1.384166e-02 1.243355e-02 6.877492e-03 1.700410e-02 + 2834 5.789229e-03 3.787276e-03 4.368636e-03 1.077056e-02 6.185519e-03 + 2835 6.432784e-03 5.438792e-03 8.369621e-03 7.586945e-03 5.413137e-03 + 2836 2.950308e-03 8.329468e-03 4.379030e-03 9.918391e-03 3.740789e-03 + 2837 7.279028e-03 3.202741e-03 8.401104e-03 6.365798e-03 6.385256e-03 + 2838 8.022933e-03 4.186038e-03 4.977175e-03 3.710729e-03 4.290854e-03 + 2839 4.520025e-03 3.699234e-03 1.892691e-03 7.576187e-03 3.245673e-03 + 2840 4.596228e-03 4.244453e-03 6.789915e-03 4.866787e-03 4.598322e-03 + 2841 5.190852e-03 3.410981e-03 5.733207e-03 3.431678e-03 2.797507e-03 + 2842 3.558552e-03 4.762913e-03 5.858066e-03 4.595423e-03 5.078998e-03 + 2843 5.069111e-03 1.789070e-03 3.567798e-03 2.621519e-03 2.493885e-03 + 2844 1.855374e-03 3.438548e-03 6.222024e-03 5.596119e-03 3.983640e-03 + 2845 4.098597e-03 2.222819e-03 3.539122e-03 3.798578e-03 9.536413e-04 + 2846 9.711522e-03 7.138469e-03 6.977481e-03 7.232646e-03 9.596737e-03 + 2847 1.736880e-03 2.654901e-04 1.558167e-03 2.134380e-03 1.472590e-03 + 2848 6.986563e-03 8.068911e-03 9.605362e-03 4.138042e-03 5.399725e-03 + 2849 4.546393e-03 3.827486e-03 2.311552e-03 2.378222e-03 3.773723e-03 + 2850 3.258597e-03 3.940600e-03 5.840825e-03 3.905842e-03 3.650171e-03 + 2851 2.929108e-03 1.492967e-03 1.449019e-03 1.613643e-03 2.048080e-03 + 2852 2.474410e-03 2.786856e-03 3.123980e-03 3.289396e-03 2.130826e-03 + 2853 3.225235e-03 2.179184e-03 1.505061e-03 1.789277e-03 1.212793e-03 + 2854 3.195024e-03 2.188875e-03 2.342024e-03 1.765302e-03 2.004682e-03 + 2855 3.834011e-03 2.264175e-03 2.068851e-03 3.033550e-03 4.783546e-03 + 2856 1.277158e-03 2.844407e-03 1.698754e-03 2.014288e-03 2.883723e-03 + 2857 8.974331e-04 1.648815e-03 2.297470e-03 3.593312e-03 3.921028e-03 + 2858 3.524690e-03 3.420191e-03 9.131204e-04 2.062274e-03 1.672193e-03 + 2859 1.020263e-03 1.327132e-03 1.901156e-03 6.642321e-04 7.299226e-04 + 2860 2.566840e-03 1.888247e-03 2.920202e-03 3.493548e-03 2.572143e-03 + 2861 2.651253e-03 1.275407e-03 1.533714e-03 8.474382e-04 1.273920e-03 + 2862 1.548217e-03 1.916819e-03 8.742336e-04 2.136850e-03 1.260259e-03 + 2863 5.226347e-04 1.576258e-03 1.650845e-03 1.329426e-03 1.165049e-03 + 2864 1.606080e-03 2.069631e-03 2.401204e-03 1.141344e-03 5.412605e-04 + 2865 7.449359e-02 7.074036e-02 7.759782e-02 7.983982e-02 7.424332e-02 + 2866 4.214677e-01 3.752166e-01 4.244204e-01 4.347488e-01 4.155346e-01 + 2867 8.094559e-02 7.412563e-02 7.054942e-02 7.987203e-02 8.269077e-02 + 2868 8.587984e-04 1.075681e-03 2.236926e-03 2.481167e-03 1.133324e-03 + 2869 1.944946e-03 1.425137e-03 5.115499e-03 2.978735e-03 1.886726e-03 + 2870 1.003745e-03 1.418287e-03 7.940653e-04 2.200432e-03 9.421043e-04 + 2871 5.362810e-04 2.130330e-03 9.953073e-04 5.614488e-04 1.440332e-03 + 2872 3.161263e-03 1.304023e-03 1.991172e-03 2.172105e-03 2.085915e-03 + 2873 2.540250e-04 4.298554e-04 3.808358e-04 3.695747e-04 1.542004e-03 + 2874 6.023454e-04 1.759135e-03 1.449611e-03 3.190338e-03 1.457103e-03 + 2875 1.324562e-03 8.270420e-04 1.196094e-03 1.670094e-03 1.883824e-03 + 2876 1.575569e-03 1.574736e-03 1.321411e-03 9.824637e-04 8.402069e-04 + 2877 1.508135e-03 1.630590e-03 1.304517e-03 8.399780e-04 1.763774e-03 + 2878 7.409125e-04 1.145414e-03 7.678871e-04 1.190365e-03 1.195535e-03 + 2879 2.920188e-03 1.602637e-03 1.653572e-03 1.648909e-03 1.992042e-03 + 2880 2.929261e-04 1.195217e-03 9.294770e-04 1.149113e-03 1.424172e-03 + 2881 2.042971e-03 2.251832e-03 3.344528e-03 7.918543e-04 2.090500e-03 + 2882 2.061705e-04 2.076062e-04 5.454532e-04 5.095783e-04 7.339717e-04 + 2883 2.861605e-03 1.639499e-03 2.544543e-03 1.337055e-03 1.330069e-03 + 2884 4.006175e-04 1.841697e-03 2.792492e-04 1.759562e-04 1.537410e-04 + 2885 2.316797e-03 1.843973e-03 1.025821e-03 2.687809e-03 9.347611e-04 + 2886 4.732832e-04 1.186345e-03 1.891368e-03 1.528544e-03 9.217089e-04 + 2887 2.402247e-03 2.907375e-03 1.064337e-03 1.812094e-03 1.133811e-03 + 2888 1.492993e-03 1.667751e-03 9.129681e-04 2.199339e-04 1.197277e-03 + 2889 4.248231e-04 7.280591e-04 1.042212e-03 1.001479e-03 5.488568e-04 + 2890 4.019998e-03 3.247131e-03 3.558089e-03 2.248378e-03 2.846996e-03 + 2891 1.156755e-03 1.875982e-03 2.615812e-03 1.023417e-03 3.332542e-04 + 2892 1.015266e-03 5.991179e-04 1.557936e-03 1.033345e-03 1.430088e-03 + 2893 1.996797e-04 6.111559e-04 7.669166e-04 1.636442e-03 3.126344e-04 + 2894 1.553737e-03 2.136051e-04 4.280880e-04 9.552943e-04 1.309869e-03 + 2895 3.400900e-04 1.079819e-03 4.529570e-04 7.046473e-04 8.333371e-04 + 2896 2.265963e-03 9.816949e-04 1.682786e-03 8.639581e-04 1.429764e-03 + 2897 1.932633e-04 1.752555e-03 1.195955e-03 5.103594e-04 2.058955e-04 + 2898 1.310924e-03 5.825431e-04 2.285176e-03 1.228627e-03 1.715835e-03 + 2899 1.135406e-03 1.616941e-03 1.489404e-03 1.286190e-03 2.757136e-04 + 2900 9.352299e-04 8.326496e-04 1.543677e-03 9.565334e-04 6.293934e-04 + 2901 7.780404e-04 2.712019e-03 9.854751e-04 1.720021e-03 1.572650e-03 + 2902 1.237553e-03 1.366165e-03 2.100547e-03 1.675655e-03 1.400857e-03 + 2903 6.340052e-04 2.112490e-04 7.624664e-04 1.198226e-03 1.478952e-03 + 2904 1.935342e-03 9.451427e-04 9.037707e-04 1.964228e-03 1.126172e-03 + 2905 5.735734e-04 6.887256e-04 8.847979e-04 1.108303e-03 9.072225e-04 + 2906 8.201779e-04 1.607399e-03 1.446012e-03 2.064727e-03 1.102937e-03 + 2907 4.826543e-04 5.683079e-04 1.144572e-03 1.336149e-03 8.591790e-04 + 2908 1.089708e-03 2.192662e-03 1.634912e-03 1.397957e-03 1.326470e-03 + 2909 2.589545e-03 4.609545e-04 1.678510e-03 1.323872e-03 1.640926e-03 + 2910 6.931186e-03 3.315215e-03 8.205608e-03 3.799334e-03 7.468200e-03 + 2911 9.167317e-04 8.885168e-04 1.501333e-03 4.714010e-04 1.915106e-03 + 2912 4.031765e-04 1.286906e-03 8.137885e-04 8.790292e-04 1.525759e-03 + 2913 2.918595e-03 1.351898e-03 1.365977e-03 1.129298e-03 1.229226e-03 + 2914 1.259654e-03 5.557768e-04 1.477052e-03 1.542886e-03 8.450343e-04 + 2915 2.228862e-03 3.551586e-03 5.961787e-03 3.184306e-03 3.248644e-03 + 2916 5.623289e-03 9.039308e-03 1.696545e-02 9.010051e-03 1.200452e-02 + 2917 1.317245e-03 2.363773e-03 3.141107e-03 2.166646e-03 2.636435e-03 + 2918 1.938470e-03 2.230792e-03 1.667795e-03 8.737137e-04 1.804388e-03 + 2919 6.315147e-04 8.034829e-04 1.121004e-03 6.966419e-04 2.162959e-04 + 2920 1.553947e-03 2.092040e-03 2.480216e-03 9.301980e-04 9.903738e-04 + 2921 1.618432e-03 1.252383e-03 1.200986e-03 1.380533e-03 2.375620e-04 + 2922 7.659098e-03 7.049408e-03 8.104049e-03 6.066485e-03 3.151633e-03 + 2923 3.254208e-03 1.903670e-03 3.715866e-03 2.769570e-03 1.582199e-03 + 2924 1.085305e-03 8.528921e-04 1.969637e-03 7.067049e-04 7.917403e-04 + 2925 1.911194e-03 5.044929e-04 1.249181e-03 1.886505e-04 5.539637e-04 + 2926 1.737933e-03 1.412926e-03 1.207836e-03 5.950673e-04 1.235438e-03 + 2927 5.782770e-04 3.468142e-04 1.269204e-03 6.220133e-04 1.071773e-03 + 2928 7.527693e-04 5.912629e-04 1.373210e-03 8.412570e-04 1.358372e-03 + 2929 1.091195e-03 1.387906e-03 3.178704e-04 9.348972e-04 1.846788e-03 + 2930 1.185753e-03 7.199452e-04 5.437175e-04 3.064715e-04 3.044336e-04 + 2931 1.068700e-03 2.740673e-04 1.191113e-03 1.211545e-03 3.978847e-04 + 2932 1.066020e-03 1.851642e-03 1.956247e-03 2.491340e-04 1.506169e-03 + 2933 2.870300e-03 3.052393e-03 2.579329e-03 1.118016e-03 3.923323e-04 + 2934 2.893936e-03 2.153062e-03 5.224370e-03 1.393883e-03 6.669050e-04 + 2935 1.185680e-03 1.491751e-03 1.440055e-03 1.650704e-03 3.549206e-04 + 2936 8.824822e-04 1.656687e-03 1.568057e-03 5.878788e-04 7.557786e-04 + 2937 6.866173e-04 1.165225e-03 1.320073e-03 4.004960e-04 6.390640e-04 + 2938 9.240384e-04 1.765106e-03 4.734742e-04 8.540010e-04 1.069661e-03 + 2939 1.726801e-03 5.133626e-04 1.654201e-03 7.822117e-04 5.992245e-04 + 2940 2.943080e-04 9.981330e-04 8.104702e-04 4.819649e-04 5.415207e-04 + 2941 8.644914e-04 1.006021e-03 9.448571e-04 1.721189e-03 3.921811e-04 + 2942 3.069839e-04 6.613585e-04 2.408844e-03 1.468471e-03 8.572257e-04 + 2943 1.504858e-03 1.203011e-03 1.101391e-03 1.207683e-03 4.920506e-04 + 2944 7.150618e-04 2.110202e-04 1.532255e-03 1.280842e-03 1.340333e-03 + 2945 1.342784e+00 1.340639e+00 1.141973e+00 1.125744e+00 1.180710e+00 + 2946 2.156834e+02 2.124874e+02 2.135029e+02 2.145861e+02 2.109523e+02 + 2947 3.385011e+02 3.334200e+02 3.348899e+02 3.364937e+02 3.316888e+02 + 2948 1.425060e+01 1.375502e+01 1.388888e+01 1.385156e+01 1.374412e+01 + 2949 4.087406e-02 5.174506e-02 3.465993e-02 4.250809e-02 4.217761e-02 + 2950 2.958274e-02 3.082496e-02 1.757104e-02 2.021666e-02 1.589089e-02 + 2951 1.143508e-01 1.094132e-01 1.245356e-01 1.222548e-01 1.343536e-01 + 2952 3.401859e-01 3.863588e-01 4.112212e-01 3.703596e-01 4.263840e-01 + 2953 5.885138e-02 7.694397e-02 6.876671e-02 7.013912e-02 7.702521e-02 + 2954 1.906417e-02 1.473548e-02 1.418038e-02 1.420298e-02 1.593112e-02 + 2955 1.172083e-02 9.263881e-03 1.265438e-02 1.541475e-02 9.813106e-03 + 2956 9.996622e-03 1.179212e-02 1.151519e-02 9.720607e-03 5.495848e-03 + 2957 2.167949e-02 1.888553e-02 3.010082e-02 2.338989e-02 3.145152e-02 + 2958 4.601803e-03 3.122312e-03 3.045352e-03 3.665567e-03 2.723405e-03 + 2959 8.216443e-03 7.110242e-03 9.557728e-03 7.205331e-03 6.978520e-03 + 2960 1.174798e-02 8.413895e-03 8.537006e-03 6.630341e-03 7.060005e-03 + 2961 2.366737e-03 4.273566e-03 6.041027e-03 7.802814e-03 4.826106e-03 + 2962 8.907181e-03 9.111329e-03 1.096630e-02 1.353607e-02 6.326293e-03 + 2963 6.312985e-03 2.508175e-03 1.157472e-03 4.307287e-03 4.616888e-03 + 2964 3.736804e-03 6.589078e-03 4.406878e-03 5.262751e-03 2.754841e-03 + 2965 3.345256e-03 3.453634e-03 6.738544e-03 2.647728e-03 4.081126e-03 + 2966 5.033033e-03 4.193048e-03 4.170569e-03 5.835294e-03 5.881441e-03 + 2967 7.214393e-03 5.438855e-03 2.719247e-03 2.215050e-03 1.905001e-03 + 2968 3.287901e-03 3.436346e-03 5.010160e-03 5.622053e-03 5.535840e-03 + 2969 2.842164e-03 3.645469e-03 1.375728e-03 1.921887e-03 1.041632e-03 + 2970 2.991776e-03 4.294914e-03 6.786066e-03 2.925844e-03 4.700191e-03 + 2971 3.319358e-03 5.338393e-03 3.582562e-03 3.016178e-03 2.752797e-03 + 2972 2.775918e-03 1.796185e-03 3.907069e-03 2.069616e-03 3.621324e-03 + 2973 2.382928e-03 3.695120e-03 5.760514e-03 5.936802e-03 1.185203e-03 + 2974 1.474159e-03 2.053585e-03 2.156842e-03 2.239178e-03 2.034127e-03 + 2975 4.745314e-03 2.628205e-03 2.718082e-03 4.212527e-03 7.011903e-03 + 2976 1.843063e-03 1.919502e-03 5.123606e-03 1.151907e-03 1.442019e-03 + 2977 3.815373e-03 3.730240e-03 5.387433e-03 3.769541e-03 4.264003e-03 + 2978 1.865013e-03 2.945490e-03 8.371947e-04 1.271226e-03 2.675133e-03 + 2979 3.817592e-03 1.800447e-03 4.823928e-03 4.312832e-03 1.687793e-03 + 2980 1.471992e-03 2.574731e-03 1.110642e-03 2.501927e-03 2.575153e-03 + 2981 1.454214e-03 1.646758e-03 3.569803e-03 1.102541e-03 1.522467e-03 + 2982 6.467149e-04 1.055753e-03 2.573526e-03 2.772347e-03 2.009239e-03 + 2983 3.112069e-03 4.096547e-03 3.666062e-03 1.639231e-03 5.763548e-03 + 2984 2.175550e-03 2.598903e-03 1.306370e-03 3.414325e-03 4.905121e-03 + 2985 2.572403e-03 1.520901e-03 1.282552e-03 1.246174e-03 1.334130e-03 + 2986 2.354541e-03 4.536951e-03 2.677936e-03 1.600859e-03 1.315465e-03 + 2987 3.265214e-03 2.627385e-03 4.259596e-03 3.155095e-03 1.871161e-03 + 2988 8.854829e-04 1.896922e-03 2.434165e-03 2.142313e-03 1.750796e-03 + 2989 1.096709e-03 2.003578e-03 1.735436e-03 1.777832e-03 2.743137e-03 + 2990 2.649984e-03 1.028061e-03 1.694853e-03 2.319763e-03 2.320399e-03 + 2991 1.661712e-03 5.944876e-04 2.969759e-03 9.777202e-04 1.283010e-03 + 2992 1.262441e-03 9.510927e-04 1.910008e-03 1.962317e-03 9.824705e-04 + 2993 7.525944e-02 7.764450e-02 8.044668e-02 8.109214e-02 8.195410e-02 + 2994 4.087343e-01 4.079297e-01 4.080530e-01 4.273375e-01 4.267934e-01 + 2995 7.390835e-02 7.317273e-02 6.957225e-02 7.769539e-02 7.668834e-02 + 2996 2.724890e-03 1.131667e-03 2.308145e-03 5.689201e-04 3.189191e-03 + 2997 2.911475e-03 2.439373e-03 1.491043e-03 2.318018e-03 1.710106e-03 + 2998 2.561276e-03 2.473405e-03 1.955956e-03 1.717520e-03 2.693156e-03 + 2999 1.658906e-03 6.321609e-04 1.782104e-03 1.187909e-03 8.493293e-04 + 3000 1.252785e-03 1.073864e-03 1.775369e-03 1.338069e-03 1.002154e-03 + 3001 1.083351e-03 1.270380e-03 9.782378e-04 2.158745e-03 7.038581e-04 + 3002 3.240810e-04 2.010466e-03 6.090199e-04 7.576245e-04 8.290892e-04 + 3003 3.550582e-03 6.903622e-04 5.936162e-04 1.815194e-03 1.530591e-03 + 3004 8.176107e-04 2.196680e-03 1.833519e-03 9.187462e-04 1.281477e-03 + 3005 6.785045e-04 1.011909e-03 5.974325e-04 7.459963e-04 8.924738e-04 + 3006 1.105767e-03 1.867285e-03 1.644902e-03 1.309983e-03 7.265857e-04 + 3007 1.340504e-03 9.393412e-04 1.436813e-03 1.112985e-03 1.592042e-03 + 3008 1.084117e-03 8.591532e-04 2.556531e-03 7.705803e-04 2.478133e-03 + 3009 1.402808e-03 1.465907e-03 2.030678e-03 1.475725e-03 1.463687e-03 + 3010 7.199515e-04 7.677300e-04 3.107625e-03 1.446013e-03 1.344974e-03 + 3011 4.475892e-04 4.585534e-04 2.829320e-03 1.286273e-03 8.991007e-04 + 3012 4.999859e-04 1.889429e-03 6.021659e-04 1.031369e-03 1.034525e-03 + 3013 1.039985e-03 1.938734e-04 3.281342e-03 1.055566e-03 1.411518e-03 + 3014 1.378569e-03 1.171327e-03 2.103939e-03 1.472050e-03 8.631749e-04 + 3015 8.836743e-05 7.971073e-04 7.955681e-04 1.484761e-03 4.669401e-04 + 3016 2.657509e-03 1.085046e-03 1.615637e-03 1.541290e-03 1.195993e-03 + 3017 7.165963e-04 4.314995e-04 5.292543e-04 6.748830e-04 1.936596e-04 + 3018 1.643117e-03 8.927108e-04 1.403792e-03 2.730635e-03 3.322975e-03 + 3019 1.739716e-03 9.156730e-04 3.767833e-04 2.331375e-03 3.216404e-03 + 3020 9.756629e-04 1.542203e-03 1.209310e-03 1.631287e-03 2.034040e-03 + 3021 1.409944e-03 1.812247e-03 2.595068e-03 2.916825e-03 2.927437e-03 + 3022 1.496853e-03 1.676624e-03 5.496213e-04 1.937356e-03 1.343790e-03 + 3023 1.103862e-03 1.079207e-03 5.123118e-04 1.846247e-03 5.744897e-04 + 3024 2.365800e-03 8.446137e-04 7.137435e-04 6.155122e-04 1.237714e-03 + 3025 2.015561e-03 1.708222e-03 3.160555e-03 2.023791e-03 1.260220e-03 + 3026 7.617115e-04 1.480391e-03 2.573070e-03 7.296607e-04 3.302823e-03 + 3027 9.701237e-04 1.544122e-03 1.409468e-03 1.121394e-03 2.158622e-03 + 3028 7.716691e-04 1.347726e-03 1.967093e-03 1.596489e-03 2.704544e-03 + 3029 8.143000e-04 1.135331e-03 1.656922e-03 1.954973e-03 4.415082e-04 + 3030 1.255508e-03 6.009124e-04 1.520562e-03 4.154030e-04 1.308475e-03 + 3031 6.071242e-04 4.858965e-04 1.282170e-03 1.218715e-03 9.589402e-04 + 3032 1.149660e-03 7.020394e-04 1.888545e-03 1.766102e-03 4.675726e-04 + 3033 6.587632e-04 5.404861e-04 1.519808e-03 6.860825e-04 5.266333e-04 + 3034 1.264422e-03 7.424968e-04 1.540796e-04 6.274698e-04 8.322433e-04 + 3035 3.265372e-04 3.676226e-04 8.848827e-04 6.260970e-04 1.027494e-03 + 3036 9.169733e-04 2.481744e-03 1.594847e-03 1.873909e-03 2.574519e-03 + 3037 1.757835e-03 3.975218e-04 1.548044e-03 1.190252e-03 7.945435e-04 + 3038 3.860202e-03 4.031442e-03 2.745617e-03 2.869093e-03 4.235032e-03 + 3039 2.923306e-03 1.052003e-03 2.546152e-03 1.290434e-03 1.439326e-03 + 3040 6.315261e-04 8.560221e-04 1.477526e-03 2.446048e-04 7.113381e-04 + 3041 2.117755e-03 1.823074e-03 2.672308e-03 1.310571e-03 4.037243e-04 + 3042 5.574823e-04 1.049909e-03 1.085837e-03 5.725272e-04 9.671111e-04 + 3043 1.795255e-03 3.785489e-03 4.890740e-03 2.327928e-03 4.183995e-03 + 3044 8.678107e-03 1.486587e-02 1.753514e-02 8.782339e-03 8.889085e-03 + 3045 2.867215e-03 2.778722e-03 6.743581e-03 2.266223e-03 2.699622e-03 + 3046 7.252966e-05 9.301389e-04 1.585546e-03 2.116340e-04 6.536401e-04 + 3047 9.660192e-04 6.376675e-04 3.449760e-03 1.005558e-03 4.946101e-04 + 3048 3.087556e-04 5.455244e-04 2.339624e-03 2.886657e-04 3.217442e-04 + 3049 1.704534e-03 3.021619e-03 3.766026e-03 1.105990e-03 3.241902e-03 + 3050 5.348268e-03 6.382069e-03 5.569073e-03 4.550570e-03 7.850825e-03 + 3051 2.005065e-03 1.273624e-03 1.319757e-03 1.132931e-03 2.220381e-03 + 3052 2.295166e-04 3.279088e-04 2.063003e-03 9.488976e-04 6.171897e-04 + 3053 4.065886e-04 2.134240e-04 7.175666e-04 5.171281e-04 3.027347e-04 + 3054 2.622923e-04 5.683858e-04 7.892716e-04 1.771654e-03 1.885738e-03 + 3055 1.340308e-03 1.339645e-03 1.418163e-03 6.584308e-04 7.415091e-04 + 3056 1.164286e-03 7.624589e-04 1.579766e-03 2.401533e-04 5.774051e-04 + 3057 7.513109e-04 7.258983e-04 1.690762e-03 1.776208e-04 2.843464e-04 + 3058 4.802265e-04 5.866860e-04 1.854932e-03 8.323735e-04 7.221464e-04 + 3059 1.051997e-03 6.083262e-04 1.041025e-03 7.001402e-04 7.563565e-04 + 3060 9.796453e-04 5.077587e-04 1.222133e-03 1.860897e-03 1.430188e-03 + 3061 5.521114e-04 8.452188e-04 1.814882e-03 8.843429e-04 7.784535e-04 + 3062 2.119483e-03 2.445889e-03 2.635341e-03 1.343556e-03 1.385381e-03 + 3063 1.789531e-03 6.529848e-04 2.230511e-03 1.628825e-03 1.113959e-03 + 3064 4.592460e-04 6.650669e-04 1.541065e-03 2.693005e-04 3.964632e-04 + 3065 2.412201e-03 8.375726e-04 1.681101e-03 2.985517e-04 2.591799e-03 + 3066 1.279862e-04 4.539689e-04 7.437493e-04 3.808597e-04 6.642893e-04 + 3067 5.545887e-04 1.554141e-03 2.218192e-03 7.796148e-04 4.921442e-04 + 3068 4.924477e-04 1.630370e-03 3.441564e-04 8.661744e-04 1.269079e-03 + 3069 4.719927e-04 6.007657e-04 8.541078e-04 1.175520e-03 4.370687e-04 + 3070 1.050889e-03 4.522252e-04 2.290937e-03 4.311025e-04 2.027638e-04 + 3071 1.364177e-03 6.723041e-04 1.495895e-03 9.207906e-04 7.915401e-04 + 3072 1.914236e-04 7.355311e-04 1.142058e-03 1.229328e-03 1.616859e-04 + 3073 1.279192e+00 1.367467e+00 1.422571e+00 1.284336e+00 1.432283e+00 + 3074 2.164719e+02 2.144256e+02 2.154397e+02 2.132246e+02 2.136795e+02 + 3075 3.393067e+02 3.372470e+02 3.377061e+02 3.351668e+02 3.349030e+02 + 3076 1.393746e+01 1.383846e+01 1.384602e+01 1.368548e+01 1.377120e+01 + 3077 1.840652e-02 1.384888e-02 1.907751e-02 2.211019e-02 1.670534e-02 + 3078 6.109724e-02 4.817488e-02 3.775591e-02 4.497770e-02 4.345999e-02 + 3079 9.580820e-02 1.396187e-01 1.340511e-01 1.271454e-01 1.361794e-01 + 3080 3.146780e-01 3.794428e-01 3.951772e-01 3.569457e-01 3.907513e-01 + 3081 6.397336e-02 7.624782e-02 7.041537e-02 6.889955e-02 8.566575e-02 + 3082 1.251955e-02 1.836528e-02 1.842910e-02 1.003300e-02 1.040319e-02 + 3083 2.004697e-02 1.113446e-02 1.774245e-02 2.569162e-02 2.032882e-02 + 3084 1.819349e-02 1.475641e-02 1.278487e-02 1.171159e-02 1.183114e-02 + 3085 1.456038e-02 1.644207e-02 2.796247e-02 1.859919e-02 1.543637e-02 + 3086 1.134393e-02 1.169333e-02 1.627503e-02 9.808486e-03 1.433960e-02 + 3087 7.372785e-03 4.191002e-03 1.367337e-02 7.945186e-03 3.660304e-03 + 3088 7.612925e-03 9.870550e-03 7.444593e-03 9.704557e-03 7.639939e-03 + 3089 9.090756e-03 1.008981e-02 6.774320e-03 7.647571e-03 9.324860e-03 + 3090 3.973543e-03 4.236858e-03 1.102520e-02 1.025673e-02 1.099797e-02 + 3091 8.780879e-03 8.033730e-03 4.525023e-03 7.297402e-03 5.757163e-03 + 3092 4.789031e-03 3.725487e-03 5.061407e-03 3.113462e-03 6.291905e-03 + 3093 6.342664e-03 7.015796e-03 4.454588e-03 6.265072e-03 6.948582e-03 + 3094 6.688949e-03 1.156520e-02 8.110589e-03 5.781086e-03 3.879230e-03 + 3095 3.209827e-03 1.485356e-03 1.703627e-03 2.333349e-03 3.510280e-03 + 3096 5.589903e-03 6.421171e-03 5.124831e-03 9.133605e-03 5.006510e-03 + 3097 2.187919e-03 1.377942e-03 6.056549e-03 2.072557e-03 2.812860e-03 + 3098 4.658227e-03 3.501628e-03 2.726507e-03 4.723082e-03 5.444255e-03 + 3099 9.078797e-04 3.410613e-03 4.812044e-03 3.503422e-03 1.981780e-03 + 3100 3.910010e-03 2.911443e-03 3.630922e-03 9.861725e-03 3.545623e-03 + 3101 4.374199e-03 4.160658e-03 8.863123e-03 1.108482e-02 2.956906e-03 + 3102 3.490496e-03 1.666733e-03 2.097055e-03 4.405667e-03 2.891973e-03 + 3103 3.038394e-03 2.370369e-03 3.516141e-03 1.122108e-03 1.308042e-03 + 3104 4.018540e-03 2.655718e-03 6.857703e-03 5.392048e-03 3.455509e-03 + 3105 3.316839e-03 2.960468e-03 3.244727e-03 2.671362e-03 4.512687e-03 + 3106 1.553160e-03 3.685086e-03 3.753526e-03 1.078188e-03 3.726392e-03 + 3107 2.248704e-03 4.033828e-04 3.386717e-03 3.282413e-03 1.276208e-03 + 3108 7.985392e-04 1.569430e-03 1.070317e-03 1.356156e-03 9.303763e-04 + 3109 2.423789e-03 4.066033e-03 4.328772e-03 3.851820e-03 3.976701e-03 + 3110 2.092406e-03 3.002394e-03 4.663652e-03 1.801824e-03 1.956151e-03 + 3111 2.041996e-03 3.896864e-03 8.799103e-03 4.782929e-03 4.139525e-03 + 3112 2.631818e-03 5.102080e-03 6.983855e-03 1.120749e-03 3.728732e-03 + 3113 2.951184e-03 1.730104e-03 4.254038e-03 3.015882e-03 2.281511e-03 + 3114 1.140081e-03 3.943524e-03 4.559173e-03 2.052619e-03 1.161336e-03 + 3115 2.396994e-03 4.147254e-03 2.337763e-03 2.397451e-03 1.406688e-03 + 3116 1.130604e-03 1.731210e-03 1.889784e-03 2.452717e-03 1.165880e-03 + 3117 4.616582e-03 2.763081e-03 1.522881e-03 2.505944e-03 5.092215e-03 + 3118 1.472626e-03 9.471039e-04 1.529678e-03 1.828008e-03 1.312845e-03 + 3119 4.373907e-03 2.967350e-03 2.695674e-03 3.753100e-03 2.210278e-03 + 3120 4.003431e-04 1.064793e-03 9.136869e-04 4.003275e-04 5.554524e-04 + 3121 7.165434e-02 7.904189e-02 8.510366e-02 7.646965e-02 7.739077e-02 + 3122 3.888393e-01 4.059792e-01 4.140074e-01 3.959921e-01 4.096828e-01 + 3123 6.913708e-02 7.451236e-02 8.037526e-02 7.612107e-02 7.274702e-02 + 3124 1.221044e-03 9.022432e-04 5.352951e-04 1.475605e-03 1.218972e-03 + 3125 1.062067e-03 1.964878e-03 4.465694e-03 1.553530e-03 1.429843e-03 + 3126 1.202834e-03 8.318058e-04 2.126715e-04 1.174883e-03 1.913107e-03 + 3127 3.009620e-03 7.195494e-04 1.930023e-03 8.374486e-04 1.066512e-03 + 3128 6.810559e-04 3.166206e-03 1.260323e-03 2.173953e-03 2.083643e-03 + 3129 1.638396e-03 2.861995e-03 8.086839e-04 1.479302e-03 1.216341e-03 + 3130 2.391436e-03 1.677035e-03 1.983121e-03 1.083504e-03 3.082199e-03 + 3131 1.856870e-03 1.054445e-03 8.477400e-04 2.323200e-03 1.751551e-03 + 3132 9.037754e-04 1.584869e-03 5.212611e-03 1.745726e-03 2.240945e-03 + 3133 1.468213e-03 1.387904e-03 2.364081e-03 6.720331e-04 9.482520e-04 + 3134 1.282360e-03 2.845858e-03 1.220932e-03 1.178543e-03 7.250240e-04 + 3135 3.330766e-04 6.405771e-04 2.509666e-03 5.625902e-04 2.049873e-03 + 3136 2.817662e-03 8.841105e-04 7.004809e-04 9.159474e-04 6.681585e-04 + 3137 2.892988e-03 5.955008e-04 4.362531e-03 2.621832e-03 3.362365e-03 + 3138 1.659588e-04 1.251245e-03 1.462321e-03 2.214326e-03 1.941810e-03 + 3139 1.164162e-03 1.259808e-03 4.075305e-03 4.563105e-03 2.933566e-03 + 3140 9.959596e-04 1.448209e-03 1.937097e-03 9.011893e-04 5.296368e-04 + 3141 3.224155e-04 8.281709e-04 5.076928e-04 1.703751e-03 6.520524e-04 + 3142 1.913683e-03 7.086493e-04 1.679021e-03 8.265747e-04 3.419528e-03 + 3143 1.406078e-03 3.558884e-03 4.376696e-04 1.418245e-03 1.687992e-03 + 3144 5.355073e-04 2.963865e-04 1.048228e-03 5.484155e-04 9.748638e-04 + 3145 9.283920e-04 1.399183e-03 8.999464e-04 1.651406e-03 1.857103e-03 + 3146 2.505621e-03 2.176168e-03 2.385455e-03 1.860898e-03 1.580574e-03 + 3147 1.885401e-03 1.498498e-03 1.631780e-03 1.462974e-03 2.114575e-03 + 3148 1.877894e-03 1.693966e-03 1.374840e-03 2.159495e-03 6.371450e-04 + 3149 1.155350e-03 2.066224e-03 4.669226e-03 2.004949e-03 1.475681e-03 + 3150 6.662787e-04 1.519984e-03 1.438855e-03 5.629826e-04 6.886791e-04 + 3151 1.430635e-03 8.201030e-04 1.560334e-03 3.089174e-03 1.778136e-03 + 3152 1.210683e-03 1.945219e-03 1.251557e-03 9.241411e-04 7.021397e-04 + 3153 5.190579e-04 1.182130e-03 1.668435e-03 1.035019e-03 8.220136e-04 + 3154 1.234994e-03 2.498876e-03 3.306223e-03 5.043996e-03 3.733349e-03 + 3155 4.513676e-04 7.875867e-04 1.293597e-03 1.092505e-03 3.566323e-04 + 3156 2.080221e-03 2.516651e-03 1.731255e-03 1.966104e-03 1.649291e-03 + 3157 2.245861e-03 4.096813e-04 6.909035e-04 8.343841e-04 2.623596e-04 + 3158 1.661649e-03 1.326208e-03 1.531800e-03 2.030675e-03 1.246181e-03 + 3159 4.113625e-04 6.148784e-04 5.293179e-04 1.018755e-03 5.317304e-04 + 3160 2.254252e-03 1.839766e-03 8.303462e-04 9.895676e-04 1.450101e-03 + 3161 1.281442e-03 1.051725e-03 6.516757e-04 1.701633e-03 8.143656e-04 + 3162 1.351999e-03 8.243540e-04 1.565651e-03 1.268214e-03 1.673339e-03 + 3163 9.401707e-04 1.029657e-03 1.214494e-03 5.158992e-04 1.373827e-03 + 3164 2.470278e-03 1.838197e-03 2.820232e-03 3.082140e-03 1.982659e-03 + 3165 2.038519e-03 1.520772e-03 1.838656e-03 1.137011e-03 1.424072e-03 + 3166 1.045138e-02 6.293428e-03 6.158234e-03 9.800450e-03 9.462690e-03 + 3167 4.477989e-03 1.777325e-03 2.679116e-03 3.246771e-03 2.578814e-03 + 3168 8.780809e-04 1.497318e-03 8.808448e-04 1.330386e-03 2.640327e-03 + 3169 6.961816e-04 6.284877e-04 9.031449e-04 1.074258e-03 9.664189e-04 + 3170 1.458239e-03 1.619660e-03 6.257022e-04 1.427540e-03 1.082597e-03 + 3171 1.283588e-03 1.895844e-03 1.586697e-03 2.363533e-03 1.227097e-03 + 3172 5.151394e-03 8.928790e-03 1.082732e-02 8.350611e-03 6.859667e-03 + 3173 2.983538e-03 1.656200e-03 3.381872e-03 1.329180e-03 1.563482e-03 + 3174 1.414258e-03 8.190017e-04 1.785285e-03 1.115232e-03 1.153686e-03 + 3175 1.182749e-03 3.449528e-04 9.353322e-04 8.346088e-04 3.610455e-04 + 3176 1.611949e-03 1.125935e-03 1.204733e-03 1.167109e-03 8.380719e-04 + 3177 8.004274e-04 7.142804e-04 1.466959e-03 8.940694e-04 1.672427e-03 + 3178 5.850327e-03 3.624200e-03 6.507153e-03 3.093716e-03 4.774679e-03 + 3179 1.994611e-03 8.569131e-04 2.484485e-03 1.120203e-03 1.500663e-03 + 3180 3.014483e-04 2.925378e-04 1.456745e-03 3.980802e-04 6.657611e-04 + 3181 1.383786e-03 5.067156e-04 1.704142e-03 1.747483e-03 8.899966e-04 + 3182 8.978537e-04 1.087670e-03 5.723906e-04 8.824419e-04 3.419302e-04 + 3183 1.205911e-03 6.002868e-04 1.395585e-03 9.893693e-04 6.602459e-04 + 3184 2.508712e-03 4.810312e-04 1.153029e-03 7.602707e-04 1.714177e-03 + 3185 1.617364e-03 2.167003e-03 1.484353e-03 1.242874e-03 9.292880e-04 + 3186 1.826820e-03 1.223652e-03 2.029959e-03 8.228457e-04 8.148157e-04 + 3187 2.480097e-03 8.130429e-04 4.250509e-04 8.448435e-04 9.371531e-04 + 3188 1.689740e-03 1.059225e-03 1.204405e-03 5.435223e-04 1.230487e-03 + 3189 6.800804e-04 8.414447e-04 3.816599e-04 7.267608e-04 7.872907e-04 + 3190 1.530001e-03 1.860310e-03 2.655699e-03 1.290848e-03 1.492418e-03 + 3191 8.817367e-04 1.832267e-03 9.012999e-04 1.065668e-03 1.045997e-03 + 3192 8.117168e-04 5.778830e-04 1.229999e-03 6.527915e-04 2.570983e-04 + 3193 1.841141e-03 2.777411e-03 1.097763e-03 8.078372e-04 3.031701e-04 + 3194 1.076781e-03 1.799028e-03 7.411147e-04 1.426343e-03 1.371749e-03 + 3195 8.710435e-04 1.107812e-03 9.233132e-04 3.109552e-04 8.698563e-04 + 3196 6.217743e-04 8.145067e-04 9.735397e-04 1.028907e-03 1.118398e-03 + 3197 2.247937e-04 7.321131e-04 1.167526e-03 1.280104e-03 3.786406e-04 + 3198 2.013506e-03 1.368594e-03 3.500722e-03 1.554259e-03 3.933471e-04 + 3199 6.387447e-04 1.286599e-03 3.345670e-04 6.535736e-04 7.149341e-04 + 3200 2.884971e-04 1.649098e-03 9.688849e-04 1.982221e-04 7.303328e-05 + 3201 1.250386e+00 1.269766e+00 1.205785e+00 1.259850e+00 1.111064e+00 + 3202 2.150072e+02 2.132442e+02 2.140640e+02 2.126016e+02 2.114268e+02 + 3203 3.386444e+02 3.350105e+02 3.360770e+02 3.341296e+02 3.320849e+02 + 3204 1.400064e+01 1.385959e+01 1.382272e+01 1.376611e+01 1.356374e+01 + 3205 6.741372e-02 4.772170e-02 3.497602e-02 5.850441e-02 6.247210e-02 + 3206 1.994822e-02 1.107825e-02 2.134114e-02 1.825407e-02 1.531217e-02 + 3207 1.100905e-01 1.250402e-01 1.320669e-01 1.322635e-01 1.267455e-01 + 3208 2.891556e-01 3.580336e-01 3.452651e-01 3.505310e-01 3.673917e-01 + 3209 5.799911e-02 6.311306e-02 8.082017e-02 6.244717e-02 6.752138e-02 + 3210 3.453933e-02 2.343453e-02 2.048542e-02 2.246417e-02 2.465438e-02 + 3211 5.842648e-03 9.802691e-03 1.010105e-02 1.037610e-02 5.324825e-03 + 3212 1.193796e-02 1.442994e-02 2.383122e-02 1.070526e-02 1.661803e-02 + 3213 1.075010e-02 9.223688e-03 1.606342e-02 1.254098e-02 9.922861e-03 + 3214 1.167059e-02 1.521662e-02 2.192912e-02 1.054672e-02 1.738621e-02 + 3215 1.255269e-02 1.549679e-02 8.956915e-03 1.018646e-02 1.220357e-02 + 3216 6.222588e-03 8.475264e-03 4.252166e-03 3.426076e-03 8.127008e-03 + 3217 7.296019e-03 1.097699e-02 1.239880e-02 1.059347e-02 6.404879e-03 + 3218 6.054672e-03 7.732974e-03 7.191281e-03 7.332598e-03 4.951008e-03 + 3219 1.019492e-02 7.235951e-03 1.241209e-02 8.060626e-03 1.110289e-02 + 3220 7.743911e-03 6.585684e-03 8.135348e-03 7.461396e-03 4.039128e-03 + 3221 2.054668e-03 4.295919e-03 1.163892e-03 2.911084e-03 2.789943e-03 + 3222 5.025814e-03 4.054286e-03 8.602024e-03 2.521573e-03 3.610917e-03 + 3223 5.873093e-03 3.499748e-03 4.695936e-03 9.794674e-03 4.904838e-03 + 3224 3.651237e-03 2.874137e-03 4.544800e-03 7.452090e-03 2.152728e-03 + 3225 5.790725e-03 2.334822e-03 5.527955e-03 2.620637e-03 4.388947e-03 + 3226 5.504641e-03 2.736206e-03 3.094098e-03 5.077127e-03 2.948687e-03 + 3227 2.504982e-03 3.367320e-03 6.028441e-03 4.988122e-03 2.967988e-03 + 3228 2.223664e-03 2.341751e-03 5.186248e-03 6.600817e-03 1.747502e-03 + 3229 3.346264e-03 2.388043e-03 3.597204e-03 4.731543e-03 3.515044e-03 + 3230 4.129727e-03 1.626436e-03 1.879676e-03 3.075572e-03 1.890664e-03 + 3231 1.986446e-03 3.322801e-03 3.120828e-03 2.897432e-03 3.515673e-03 + 3232 3.088452e-03 3.356361e-03 2.885224e-03 3.398315e-03 2.656152e-03 + 3233 1.507402e-03 1.979038e-03 1.933313e-03 1.287854e-03 1.129025e-03 + 3234 2.342590e-03 1.547746e-03 4.111605e-03 1.752181e-03 3.447680e-03 + 3235 3.458497e-03 1.652396e-03 3.384045e-03 2.584147e-03 2.352606e-03 + 3236 1.515548e-03 1.909468e-03 2.996473e-03 1.743737e-03 1.417112e-03 + 3237 2.425666e-03 2.358504e-03 3.921021e-03 1.999839e-03 3.325619e-03 + 3238 2.148127e-03 2.886935e-03 1.355889e-03 1.469576e-03 3.433405e-03 + 3239 2.277797e-03 1.110984e-03 1.697575e-03 1.412611e-03 1.889129e-03 + 3240 1.858893e-03 9.142533e-04 3.722113e-03 1.364488e-03 1.182537e-03 + 3241 1.341113e-03 1.803585e-03 2.688760e-03 3.847722e-03 2.082844e-03 + 3242 3.136421e-03 1.932370e-03 3.948241e-03 2.217693e-03 1.417346e-03 + 3243 2.487991e-03 4.031674e-04 4.022269e-03 2.170497e-03 1.482339e-03 + 3244 1.067633e-03 2.037408e-03 8.607662e-04 9.314747e-04 9.575284e-04 + 3245 4.759137e-03 2.646737e-03 4.606018e-03 3.319275e-03 2.979559e-03 + 3246 1.054434e-03 9.357982e-04 1.053928e-03 1.400256e-03 8.279401e-04 + 3247 1.956531e-03 1.922509e-03 4.556851e-03 2.218128e-03 1.564519e-03 + 3248 7.462207e-04 6.653421e-04 2.158755e-03 2.198745e-03 1.253205e-03 + 3249 8.148728e-02 8.050121e-02 9.669383e-02 9.230694e-02 7.843320e-02 + 3250 4.197676e-01 4.205678e-01 4.689612e-01 4.308584e-01 4.168907e-01 + 3251 8.091805e-02 8.831733e-02 9.283108e-02 8.141995e-02 8.070803e-02 + 3252 1.952974e-03 2.423252e-03 1.177768e-03 2.149237e-03 1.960057e-03 + 3253 3.915848e-04 8.398181e-04 2.992301e-03 1.414431e-04 5.991994e-04 + 3254 1.509683e-03 4.164473e-04 1.059451e-03 6.732520e-04 1.641142e-03 + 3255 1.142194e-03 2.763686e-03 3.305597e-03 3.179039e-03 2.906828e-03 + 3256 1.876237e-03 8.850431e-04 3.518395e-03 6.592111e-04 8.592071e-04 + 3257 8.601329e-04 1.062339e-03 2.247394e-03 3.796004e-04 1.620669e-03 + 3258 2.189770e-03 2.300556e-03 2.871353e-03 1.716435e-03 3.220277e-03 + 3259 1.457179e-03 7.202992e-04 3.081968e-03 1.226987e-03 6.455020e-04 + 3260 1.316320e-03 2.149510e-03 5.079269e-03 2.326116e-03 2.815864e-03 + 3261 2.672255e-04 2.747041e-04 4.393084e-03 1.976529e-03 3.810703e-04 + 3262 1.335246e-03 1.500117e-03 1.215821e-03 1.248803e-03 2.033950e-03 + 3263 2.449655e-03 3.181553e-03 1.660290e-03 2.519021e-03 2.222392e-03 + 3264 1.422098e-03 2.178740e-04 3.714934e-03 1.855107e-03 5.384042e-04 + 3265 5.918480e-04 1.909933e-03 1.963376e-03 2.088391e-03 2.186723e-03 + 3266 9.188824e-04 1.049571e-03 3.341203e-03 6.161396e-04 1.297729e-03 + 3267 3.792664e-03 2.675321e-03 4.782024e-03 3.497331e-03 4.640513e-03 + 3268 8.775240e-04 5.349112e-04 1.314593e-03 3.871969e-04 1.036553e-03 + 3269 1.790384e-03 1.213172e-03 1.519418e-03 2.329510e-03 1.086315e-03 + 3270 1.007568e-03 1.085538e-03 2.567441e-03 1.525223e-03 9.933917e-04 + 3271 9.215391e-04 1.070323e-03 2.209035e-03 1.760659e-03 7.109262e-04 + 3272 1.076595e-03 1.072790e-03 2.334651e-03 4.297480e-03 1.240255e-03 + 3273 1.443892e-03 4.141011e-04 1.430886e-03 1.195530e-03 3.838140e-04 + 3274 7.997584e-04 1.049741e-03 1.498448e-03 6.553931e-04 1.119723e-03 + 3275 1.325808e-03 1.559687e-03 2.433067e-03 1.243115e-03 1.299626e-03 + 3276 1.024863e-03 5.996230e-04 1.503607e-03 8.899027e-04 2.559964e-04 + 3277 9.765706e-04 1.730049e-03 1.875906e-03 4.172451e-04 9.207022e-04 + 3278 1.745820e-03 8.766370e-04 1.841597e-03 1.409911e-03 1.388454e-03 + 3279 1.507023e-03 1.841012e-03 1.789039e-03 1.288649e-03 4.152298e-04 + 3280 5.576336e-04 4.647034e-04 7.350886e-04 5.998554e-04 4.853913e-04 + 3281 1.211595e-03 1.988072e-03 1.070050e-03 3.614076e-03 2.680051e-03 + 3282 2.353845e-03 7.453391e-04 1.095699e-03 3.022078e-03 2.413653e-03 + 3283 1.640940e-03 7.051207e-04 1.458685e-03 9.523139e-04 6.083309e-04 + 3284 8.920297e-04 8.079035e-04 1.591765e-03 3.596171e-04 1.229661e-03 + 3285 2.117453e-03 5.055292e-04 2.547863e-04 1.430574e-03 1.226210e-03 + 3286 1.392034e-03 8.364770e-04 6.163686e-04 1.113280e-03 1.222736e-03 + 3287 1.171780e-03 1.568680e-03 8.411712e-04 2.391391e-03 1.256326e-03 + 3288 2.604289e-04 5.374192e-04 6.087383e-04 5.252737e-04 8.262907e-04 + 3289 1.303163e-03 9.709784e-04 1.144838e-03 7.182628e-04 3.464793e-04 + 3290 7.952435e-04 3.552443e-03 9.120346e-04 1.588293e-03 5.048049e-04 + 3291 2.547400e-03 1.297855e-03 1.713440e-03 1.800014e-04 2.509257e-03 + 3292 1.034712e-03 1.511972e-03 1.224729e-03 7.012288e-04 9.953360e-04 + 3293 3.608054e-03 3.099389e-03 4.150922e-03 2.846895e-03 2.681209e-03 + 3294 9.719377e-03 7.100090e-03 9.031133e-03 1.021444e-02 9.968363e-03 + 3295 2.934104e-03 1.220256e-03 1.912119e-03 2.449893e-03 2.330523e-03 + 3296 3.541674e-04 1.355010e-03 5.591527e-04 1.504748e-03 2.280231e-03 + 3297 2.332925e-03 3.588656e-03 3.659277e-04 9.248306e-04 2.056045e-03 + 3298 1.460622e-03 2.350233e-03 8.616594e-04 7.856090e-04 1.427977e-03 + 3299 3.359743e-03 3.627112e-03 9.858425e-04 4.341605e-03 2.960326e-03 + 3300 9.702863e-03 1.048899e-02 5.915658e-03 1.020994e-02 9.378158e-03 + 3301 1.274504e-03 1.929497e-03 6.364803e-04 1.462565e-03 1.668205e-03 + 3302 1.462720e-03 7.928359e-04 2.728356e-03 4.029983e-04 1.374813e-03 + 3303 1.559760e-03 1.094266e-03 2.162580e-03 1.306772e-03 9.684846e-04 + 3304 1.769404e-03 1.375404e-03 6.626400e-04 1.408843e-03 8.426996e-04 + 3305 2.668469e-03 3.015653e-03 2.316299e-03 1.599697e-03 2.500848e-03 + 3306 6.897232e-03 3.792693e-03 7.800626e-03 5.369809e-03 5.813551e-03 + 3307 2.082262e-03 8.084691e-04 2.438697e-03 1.968135e-03 1.886755e-03 + 3308 1.941337e-03 2.193329e-03 7.632748e-04 1.506317e-04 6.519475e-04 + 3309 8.502418e-04 1.001950e-03 3.287586e-04 1.387285e-03 1.301794e-03 + 3310 8.530724e-04 6.848313e-04 1.154630e-03 2.473250e-03 8.239122e-04 + 3311 9.440249e-04 2.118172e-03 3.085646e-03 3.934248e-03 1.159185e-03 + 3312 4.805601e-04 3.993765e-04 3.143447e-04 6.897188e-04 1.017115e-03 + 3313 2.795281e-04 1.610763e-03 2.515166e-04 2.264085e-03 1.388339e-03 + 3314 6.198569e-04 5.969206e-04 6.826087e-04 1.916030e-03 4.031552e-04 + 3315 3.883843e-04 8.367756e-04 1.357696e-03 1.232077e-03 1.754365e-03 + 3316 6.178274e-04 3.100276e-04 7.819542e-04 1.466907e-03 1.840520e-04 + 3317 9.584665e-04 1.144278e-03 7.354119e-04 1.833381e-04 9.008572e-04 + 3318 1.109795e-03 3.515951e-03 3.806983e-03 2.341640e-03 2.778192e-03 + 3319 9.332448e-04 1.098630e-03 2.441973e-03 9.127574e-04 7.344586e-04 + 3320 9.642893e-04 1.550658e-03 1.683555e-03 9.272932e-04 1.833426e-03 + 3321 1.405469e-03 5.260131e-04 1.193374e-03 4.470199e-04 6.011869e-04 + 3322 7.875436e-04 1.134327e-03 6.210756e-04 7.941968e-04 8.960339e-04 + 3323 1.104943e-03 6.290783e-04 6.597484e-04 4.659999e-04 2.622651e-04 + 3324 2.684629e-03 6.438158e-04 2.736176e-03 1.945705e-03 9.329532e-04 + 3325 1.812217e-03 1.253445e-03 7.622949e-04 8.197192e-04 4.585538e-04 + 3326 2.969113e-03 1.014869e-03 1.434132e-03 1.606254e-03 6.741548e-04 + 3327 1.109549e-03 2.002973e-03 1.362771e-03 7.606407e-04 3.978494e-04 + 3328 3.878804e-03 7.043207e-03 2.375051e-03 1.419082e-03 2.652209e-03 + 3329 1.312553e+00 1.235931e+00 1.290261e+00 1.334486e+00 1.406281e+00 + 3330 2.161964e+02 2.136041e+02 2.127099e+02 2.129443e+02 2.103081e+02 + 3331 3.403322e+02 3.361576e+02 3.359265e+02 3.357269e+02 3.313442e+02 + 3332 1.380365e+01 1.384557e+01 1.371999e+01 1.382168e+01 1.350093e+01 + 3333 3.859911e-02 1.880124e-02 2.303104e-02 2.525587e-02 3.724577e-02 + 3334 3.581795e-02 4.031451e-02 3.128337e-02 3.116414e-02 4.556357e-02 + 3335 1.019218e-01 1.024453e-01 1.034081e-01 1.061921e-01 8.786244e-02 + 3336 3.261725e-01 3.714064e-01 3.917699e-01 3.796646e-01 3.653935e-01 + 3337 6.987630e-02 6.576792e-02 7.243201e-02 8.050104e-02 6.487275e-02 + 3338 1.608865e-02 2.513955e-02 1.004589e-02 1.236950e-02 1.606063e-02 + 3339 2.033434e-02 1.341776e-02 2.742595e-02 1.941255e-02 2.218198e-02 + 3340 1.018239e-02 9.531081e-03 7.412155e-03 9.990211e-03 8.884471e-03 + 3341 2.414817e-02 2.272948e-02 4.053780e-02 1.890773e-02 2.394172e-02 + 3342 6.004635e-03 6.494678e-03 4.185677e-03 6.998935e-03 7.135870e-03 + 3343 1.314135e-02 1.346619e-02 1.138741e-02 1.133141e-02 1.578972e-02 + 3344 5.084251e-03 1.208016e-02 9.472036e-03 1.067164e-02 6.414725e-03 + 3345 8.194960e-03 6.103679e-03 4.231739e-03 6.119755e-03 9.251065e-03 + 3346 9.400921e-03 9.036285e-03 1.253578e-02 9.327961e-03 8.032599e-03 + 3347 3.770683e-03 3.093064e-03 2.665418e-03 5.422144e-03 6.076123e-03 + 3348 4.970907e-03 4.532318e-03 4.786492e-03 6.574286e-03 5.887637e-03 + 3349 5.002159e-03 4.854017e-03 4.986443e-03 7.372491e-03 5.250335e-03 + 3350 4.245178e-03 3.263324e-03 2.079729e-03 2.995475e-03 5.247189e-03 + 3351 6.748493e-03 6.236842e-03 5.373004e-03 6.985946e-03 3.692470e-03 + 3352 3.970564e-03 1.710437e-03 5.611844e-03 4.930060e-03 2.927800e-03 + 3353 4.101172e-03 7.917675e-03 4.607482e-03 4.839384e-03 4.386292e-03 + 3354 4.689443e-03 1.656013e-03 2.304854e-03 3.139430e-03 5.478258e-03 + 3355 3.462913e-03 3.886723e-03 5.176929e-03 3.757339e-03 2.876214e-03 + 3356 4.750619e-03 2.240978e-03 3.067767e-03 3.071847e-03 2.668087e-03 + 3357 2.964879e-03 1.992800e-03 2.276215e-03 2.821117e-03 2.392361e-03 + 3358 3.150860e-03 2.755915e-03 3.814835e-03 1.516410e-03 2.089096e-03 + 3359 2.583882e-03 2.691698e-03 1.232497e-03 2.727045e-03 1.560856e-03 + 3360 3.173819e-03 1.387134e-03 3.584391e-03 1.869046e-03 3.363844e-03 + 3361 1.884626e-03 2.355460e-03 4.165950e-03 2.630645e-03 2.713419e-03 + 3362 2.810123e-03 3.878075e-03 2.692873e-03 2.406773e-03 3.189863e-03 + 3363 2.550889e-03 1.322940e-03 2.848722e-03 7.090727e-04 3.035617e-03 + 3364 3.505515e-03 4.349910e-03 2.908189e-03 3.114709e-03 1.812846e-03 + 3365 1.571441e-03 1.494544e-03 4.687859e-03 2.294774e-03 1.922655e-03 + 3366 3.527130e-03 1.912439e-03 3.895953e-04 1.857860e-03 2.913010e-03 + 3367 1.521145e-03 1.697403e-03 4.609432e-03 2.704252e-03 2.117664e-03 + 3368 1.346752e-03 1.814350e-03 7.713671e-04 2.700489e-03 1.763359e-03 + 3369 1.708121e-03 1.305024e-03 3.820355e-03 3.345919e-03 1.627616e-03 + 3370 1.674620e-03 4.571769e-03 2.307934e-03 1.095751e-03 2.111121e-03 + 3371 1.238964e-03 1.203245e-03 1.560047e-03 9.757413e-04 1.752446e-03 + 3372 2.693672e-03 1.744007e-03 4.124337e-03 3.124566e-03 7.529070e-04 + 3373 2.287222e-03 7.827080e-04 7.223406e-04 3.014280e-03 2.289810e-03 + 3374 2.929228e-03 4.589617e-04 9.742033e-04 1.136371e-03 2.884040e-04 + 3375 6.467208e-04 1.681751e-03 3.104241e-03 2.532847e-03 2.691423e-03 + 3376 1.899171e-03 1.736047e-03 1.052180e-03 2.959317e-04 2.838760e-04 + 3377 8.126906e-02 7.473253e-02 9.582318e-02 8.312545e-02 8.874103e-02 + 3378 4.428163e-01 4.282905e-01 5.064013e-01 4.573315e-01 4.498304e-01 + 3379 8.089177e-02 7.643911e-02 8.556853e-02 7.215009e-02 7.855286e-02 + 3380 7.259637e-04 1.604590e-03 3.387868e-03 2.311641e-03 1.177897e-03 + 3381 9.207985e-04 2.767917e-03 3.246490e-03 1.051046e-03 1.111176e-03 + 3382 8.509288e-04 4.187213e-04 2.483857e-03 2.467538e-03 1.087163e-03 + 3383 9.899563e-04 2.441065e-03 3.102195e-03 6.847608e-04 1.583270e-03 + 3384 1.739976e-03 2.608825e-03 5.456786e-03 3.041637e-03 3.337089e-03 + 3385 7.905961e-04 1.844403e-03 6.129528e-04 1.559698e-03 1.590092e-03 + 3386 4.061349e-04 1.184377e-03 1.322216e-03 7.872973e-04 1.497550e-03 + 3387 1.040420e-03 1.665509e-03 2.509809e-03 2.343491e-03 1.447168e-03 + 3388 1.220396e-03 2.389046e-03 1.073046e-03 1.505339e-03 8.902885e-04 + 3389 1.648504e-03 1.640806e-03 5.405728e-03 4.774455e-03 3.772296e-03 + 3390 6.933343e-04 7.163627e-04 5.287103e-04 1.203295e-03 1.146650e-03 + 3391 1.565267e-03 9.984003e-04 1.906824e-03 5.546534e-04 1.522938e-03 + 3392 1.234359e-03 1.159409e-03 4.269333e-03 1.589831e-03 1.861664e-03 + 3393 1.742516e-03 1.284360e-03 7.053912e-03 2.409480e-03 9.247666e-04 + 3394 2.560368e-03 1.994651e-03 4.759884e-03 1.692876e-03 2.918916e-03 + 3395 1.259177e-03 5.174005e-04 8.083524e-04 4.642157e-04 9.777145e-04 + 3396 4.166897e-04 1.154784e-03 5.547304e-04 9.238064e-04 2.014562e-03 + 3397 1.503179e-03 7.113219e-04 1.763911e-03 1.224160e-03 7.502519e-04 + 3398 8.839757e-04 2.027178e-03 1.322420e-03 5.008343e-04 5.064846e-04 + 3399 1.682376e-03 6.849978e-04 4.297565e-03 2.981037e-03 1.908185e-03 + 3400 1.136735e-03 1.973799e-03 1.247132e-03 2.418378e-03 2.166031e-03 + 3401 1.481529e-03 1.124661e-03 1.545662e-03 6.903147e-04 9.529322e-04 + 3402 8.237960e-04 2.403503e-03 2.061882e-03 2.685827e-03 2.054106e-03 + 3403 5.913240e-04 6.449880e-04 1.098932e-03 1.515350e-03 1.676701e-03 + 3404 7.396942e-04 1.386501e-03 2.002573e-03 4.727678e-04 1.415007e-03 + 3405 2.452095e-03 1.391104e-03 5.968698e-04 9.409388e-04 1.247778e-03 + 3406 1.186864e-03 2.246747e-03 1.794636e-03 7.104284e-04 4.023971e-03 + 3407 2.889003e-03 7.711283e-04 2.416959e-03 2.201924e-03 1.076569e-03 + 3408 1.767588e-03 9.500535e-04 7.709697e-04 1.315306e-03 1.014247e-03 + 3409 1.125918e-03 1.418820e-03 2.667305e-03 9.953659e-04 8.542272e-04 + 3410 2.561802e-03 3.665659e-03 2.479890e-03 8.443199e-04 1.168752e-03 + 3411 1.431477e-03 1.550502e-03 6.393999e-04 1.690222e-03 1.072760e-03 + 3412 3.826882e-03 1.875898e-03 3.588243e-03 2.648170e-03 1.611166e-03 + 3413 9.441300e-04 2.683925e-04 2.375486e-03 1.453134e-03 2.135961e-03 + 3414 2.017757e-03 8.813613e-04 2.323719e-03 1.664263e-03 1.750777e-03 + 3415 1.570538e-03 6.553492e-04 1.133955e-03 1.531676e-03 1.035474e-03 + 3416 7.991704e-04 5.426884e-04 1.368908e-03 5.269074e-04 6.764729e-04 + 3417 8.193931e-04 1.531166e-03 1.022887e-03 1.449824e-03 2.475703e-03 + 3418 4.093121e-04 7.939204e-04 9.864859e-04 6.630413e-04 7.029419e-04 + 3419 7.363096e-04 1.243469e-03 1.724901e-03 4.561827e-04 1.868746e-03 + 3420 3.400551e-04 1.750198e-03 1.148904e-03 1.947409e-03 1.976760e-04 + 3421 1.226191e-03 1.299432e-03 1.793407e-03 1.272076e-03 5.304908e-04 + 3422 7.246509e-03 3.048406e-03 3.692276e-03 5.848481e-03 2.666570e-03 + 3423 1.865004e-03 1.569898e-03 1.910444e-03 1.789938e-03 1.162960e-03 + 3424 6.162531e-04 4.503087e-04 1.354393e-03 1.866983e-04 1.023444e-03 + 3425 1.485036e-03 8.468778e-04 1.593549e-03 1.559804e-03 6.709586e-04 + 3426 1.415185e-03 2.028207e-03 9.241182e-04 1.399611e-03 1.942418e-03 + 3427 1.639718e-03 3.182558e-03 2.568996e-03 1.854224e-03 1.700356e-03 + 3428 6.607377e-03 7.001826e-03 7.775021e-03 5.635855e-03 5.628621e-03 + 3429 2.196485e-03 2.622694e-03 8.404447e-04 2.078318e-03 1.821879e-03 + 3430 4.628686e-04 9.272420e-04 2.046474e-03 1.261808e-03 7.485679e-04 + 3431 7.216768e-04 9.928640e-04 2.147304e-03 2.811592e-03 8.183599e-04 + 3432 1.043577e-03 1.178702e-03 1.452538e-03 1.444084e-03 1.300160e-03 + 3433 9.710605e-04 1.363594e-03 8.957643e-04 7.927588e-04 9.013539e-04 + 3434 6.737238e-03 8.666002e-03 7.424927e-03 5.377096e-03 7.678776e-03 + 3435 1.850002e-03 4.067693e-03 2.002539e-03 1.678688e-03 3.120549e-03 + 3436 2.155473e-03 1.836353e-03 9.735567e-04 1.844814e-03 1.213363e-03 + 3437 3.204932e-04 8.193942e-04 4.985374e-05 1.289523e-03 7.255260e-04 + 3438 1.178424e-03 1.990465e-03 5.379009e-04 1.071127e-03 9.066707e-04 + 3439 1.866850e-03 1.166417e-03 6.150598e-04 1.458273e-03 5.188496e-04 + 3440 1.753100e-03 1.489640e-03 9.983982e-04 2.368393e-03 5.286647e-04 + 3441 8.537046e-04 1.160167e-03 1.438749e-03 2.228767e-03 7.625469e-04 + 3442 1.947765e-03 5.187345e-04 9.040749e-04 1.365763e-03 3.913624e-04 + 3443 2.423372e-03 1.166323e-03 1.154763e-03 1.616868e-03 1.311999e-03 + 3444 1.289098e-03 2.889518e-03 1.385109e-03 4.515940e-04 1.136965e-03 + 3445 7.455664e-04 1.232532e-03 1.884710e-03 6.290079e-04 1.166831e-03 + 3446 9.880109e-04 2.156039e-03 3.227492e-03 1.206497e-03 2.240611e-03 + 3447 7.747616e-04 1.364489e-03 2.339323e-03 1.286061e-03 1.223245e-03 + 3448 3.887176e-04 6.762296e-04 7.038625e-04 7.542019e-04 4.188910e-04 + 3449 2.576415e-04 1.613101e-03 1.022291e-03 1.598522e-03 4.849052e-04 + 3450 1.283153e-03 1.240908e-03 3.958289e-03 2.249028e-03 6.467424e-04 + 3451 3.209507e-04 5.108154e-04 7.559647e-04 1.131624e-03 3.410717e-04 + 3452 2.449673e-04 6.138853e-04 1.018102e-03 7.439272e-04 1.820205e-03 + 3453 7.075525e-04 3.323046e-04 5.676594e-04 3.996061e-04 5.426015e-04 + 3454 1.143868e-03 9.327581e-04 3.309895e-04 1.833308e-03 1.830840e-03 + 3455 3.026689e-03 2.960581e-03 1.338382e-03 2.251436e-03 1.801680e-03 + 3456 1.900289e-03 9.892154e-04 8.791317e-04 1.489564e-03 1.491424e-03 + 3457 1.488081e+00 1.472496e+00 1.623602e+00 1.491548e+00 1.451414e+00 + 3458 2.155564e+02 2.129923e+02 2.147425e+02 2.131455e+02 2.119792e+02 + 3459 3.389777e+02 3.349688e+02 3.382013e+02 3.355179e+02 3.336875e+02 + 3460 1.375539e+01 1.352733e+01 1.385367e+01 1.342720e+01 1.341466e+01 + 3461 1.372447e-02 1.488062e-02 1.363564e-02 1.141864e-02 2.243069e-02 + 3462 4.567220e-02 5.222298e-02 2.493628e-02 3.333526e-02 3.480138e-02 + 3463 9.757206e-02 1.068521e-01 1.342689e-01 1.204779e-01 1.342222e-01 + 3464 4.034309e-01 4.413213e-01 4.528471e-01 4.378362e-01 4.688456e-01 + 3465 5.887939e-02 8.554937e-02 7.279833e-02 6.286841e-02 6.398712e-02 + 3466 1.646708e-02 1.835660e-02 1.916079e-02 1.342205e-02 2.047044e-02 + 3467 1.936842e-02 1.721689e-02 1.565144e-02 2.187922e-02 1.631936e-02 + 3468 1.555978e-02 1.031858e-02 1.830347e-02 1.376908e-02 8.721199e-03 + 3469 1.355065e-02 1.403205e-02 2.341564e-02 1.454630e-02 1.277036e-02 + 3470 7.771177e-03 1.396589e-02 1.029888e-02 9.472100e-03 1.340646e-02 + 3471 1.159301e-02 1.006110e-02 1.605602e-02 9.863337e-03 8.544041e-03 + 3472 1.299551e-02 7.878747e-03 5.493802e-03 9.451646e-03 1.092065e-02 + 3473 6.187491e-03 5.354547e-03 1.068659e-02 8.284263e-03 5.862114e-03 + 3474 7.663965e-03 6.712569e-03 6.135546e-03 2.681532e-03 6.699709e-03 + 3475 1.212022e-02 8.001695e-03 1.488315e-02 1.081136e-02 7.642311e-03 + 3476 3.468737e-03 4.444076e-03 5.796039e-03 6.442097e-03 5.442748e-03 + 3477 5.704788e-03 4.628569e-03 2.906923e-03 3.698805e-03 6.264631e-03 + 3478 9.528304e-03 7.076143e-03 1.613804e-02 5.918652e-03 7.021070e-03 + 3479 2.482631e-03 3.298255e-03 3.108040e-03 5.127553e-03 1.474052e-03 + 3480 4.552343e-03 5.550725e-03 5.709744e-03 4.875464e-03 3.741375e-03 + 3481 5.464918e-03 3.960815e-03 6.380962e-03 2.505853e-03 3.257207e-03 + 3482 2.445198e-03 3.822087e-03 2.837408e-03 4.301923e-03 2.918052e-03 + 3483 5.590973e-03 2.058488e-03 2.756705e-03 3.202136e-03 2.793601e-03 + 3484 1.774613e-03 4.564345e-03 5.753125e-03 3.378867e-03 2.846680e-03 + 3485 5.997965e-03 1.428276e-03 2.265010e-03 5.336271e-03 3.907888e-03 + 3486 3.936496e-03 3.846342e-03 7.762538e-03 5.532038e-03 2.674437e-03 + 3487 3.306362e-03 1.428107e-03 2.846787e-03 1.743705e-03 2.585674e-03 + 3488 2.536789e-03 2.389717e-03 2.503404e-03 7.751770e-04 1.433467e-03 + 3489 4.286508e-03 1.733127e-03 2.653380e-03 4.833086e-03 4.844902e-03 + 3490 4.627028e-03 4.831222e-03 3.554156e-03 1.263185e-03 1.792453e-03 + 3491 2.014151e-03 2.266143e-03 4.824179e-03 2.702719e-03 3.853870e-03 + 3492 3.078619e-03 2.004404e-03 3.285811e-03 2.331288e-03 1.486639e-03 + 3493 3.005041e-03 3.045657e-03 4.513775e-03 2.538318e-03 1.580910e-03 + 3494 2.636757e-03 2.475919e-03 3.693094e-03 5.184099e-03 2.210236e-03 + 3495 2.718012e-03 4.065389e-03 2.933141e-03 1.019685e-03 3.918578e-03 + 3496 5.108392e-03 1.475551e-03 1.927865e-03 4.246065e-03 1.010973e-03 + 3497 4.271429e-03 2.948018e-03 3.240992e-03 2.143003e-03 6.284558e-03 + 3498 1.453607e-03 4.479188e-03 4.045169e-03 2.183516e-03 1.319512e-03 + 3499 1.210489e-03 1.702634e-03 2.522713e-03 1.558517e-03 1.292917e-03 + 3500 1.729404e-03 1.664620e-03 2.342615e-03 1.508127e-03 1.213176e-03 + 3501 4.221048e-04 1.945157e-03 2.136587e-03 2.673428e-04 1.673897e-03 + 3502 4.074058e-03 2.707953e-03 1.072009e-03 3.350398e-03 2.146299e-03 + 3503 2.127564e-04 1.774055e-03 3.943303e-03 1.170656e-03 1.578686e-03 + 3504 2.156439e-03 2.457541e-03 2.917634e-03 1.693587e-03 1.665333e-03 + 3505 8.134749e-02 7.598846e-02 7.420084e-02 7.815276e-02 8.270407e-02 + 3506 4.397915e-01 4.269016e-01 4.508826e-01 4.503571e-01 4.527852e-01 + 3507 8.213891e-02 7.601266e-02 8.375034e-02 8.067106e-02 8.457625e-02 + 3508 1.003094e-03 2.036569e-03 3.300996e-03 1.589937e-03 3.861732e-03 + 3509 4.518995e-04 1.498375e-03 2.720590e-04 5.229323e-04 5.514273e-04 + 3510 2.019995e-03 1.792544e-03 3.939191e-03 2.459477e-03 1.427950e-03 + 3511 3.288374e-03 1.786273e-03 1.306999e-03 1.735441e-03 1.608696e-03 + 3512 1.161491e-03 2.965744e-03 3.354108e-03 4.524252e-04 6.021842e-04 + 3513 3.028589e-03 7.171130e-04 1.306486e-03 2.103384e-03 1.417894e-03 + 3514 5.285238e-04 7.547388e-04 3.125704e-03 8.767397e-04 1.207768e-03 + 3515 1.796301e-03 1.059653e-03 1.827139e-03 1.727865e-03 7.235452e-04 + 3516 2.106351e-03 2.421876e-03 8.270189e-04 1.250160e-03 1.006888e-03 + 3517 1.210161e-03 8.152621e-04 2.027276e-03 4.286385e-04 9.759722e-04 + 3518 1.966019e-03 3.216741e-04 1.194750e-03 9.381769e-04 8.691758e-04 + 3519 1.550353e-03 1.848342e-03 2.553476e-03 2.101453e-03 1.689619e-03 + 3520 9.351815e-04 6.118322e-04 1.850607e-03 2.123646e-04 1.046441e-03 + 3521 8.004125e-04 1.835395e-03 2.527746e-03 1.922797e-03 1.209800e-03 + 3522 1.496140e-03 1.487942e-03 2.789872e-03 2.452642e-03 1.223458e-03 + 3523 7.175399e-04 5.903192e-04 8.917503e-04 1.058121e-03 5.726559e-04 + 3524 1.426732e-03 1.102321e-03 3.017172e-03 1.333884e-03 1.068112e-03 + 3525 1.781133e-03 1.307434e-03 1.465113e-03 2.980662e-03 8.572819e-04 + 3526 1.894761e-03 9.291559e-04 2.512658e-03 2.450098e-03 1.628162e-03 + 3527 4.431698e-04 8.324936e-04 1.097225e-03 8.271362e-04 1.106905e-03 + 3528 1.823565e-03 1.107803e-03 5.867902e-04 1.160832e-03 1.284813e-03 + 3529 2.909061e-03 1.248609e-03 1.243011e-03 2.641960e-03 3.440983e-03 + 3530 1.273340e-03 1.176770e-03 1.259792e-03 3.594346e-03 1.583300e-03 + 3531 7.850789e-04 4.338839e-04 4.161511e-03 1.287577e-03 2.629097e-03 + 3532 4.156037e-04 1.954388e-03 8.977045e-04 3.859254e-04 1.173222e-03 + 3533 1.227393e-03 2.275921e-03 1.484652e-03 1.191029e-03 1.399862e-03 + 3534 9.557543e-04 7.477255e-04 1.185423e-03 7.747782e-04 9.713996e-04 + 3535 1.255543e-03 1.266037e-03 2.082015e-03 6.484878e-04 1.117458e-03 + 3536 1.133076e-03 6.933440e-04 3.137423e-03 9.416750e-04 6.933498e-04 + 3537 7.724218e-04 7.482956e-04 1.628210e-03 8.607216e-04 1.997113e-03 + 3538 9.739198e-04 2.555664e-03 1.007408e-03 6.443828e-04 4.403092e-04 + 3539 5.077309e-04 5.941551e-04 1.039888e-03 1.054683e-03 1.880068e-03 + 3540 5.822350e-04 8.309235e-04 2.279321e-03 5.653496e-04 1.713117e-03 + 3541 1.630702e-03 1.394623e-03 1.404033e-03 1.383179e-03 9.582038e-04 + 3542 4.206799e-04 4.674866e-04 7.848407e-04 1.074045e-03 1.113117e-03 + 3543 1.045269e-03 1.540626e-03 3.374217e-04 2.399975e-03 1.285514e-03 + 3544 1.050303e-03 1.801865e-03 1.743352e-03 3.418137e-03 1.850880e-03 + 3545 1.039477e-03 7.389775e-04 3.695185e-04 2.007222e-03 6.873534e-04 + 3546 1.303766e-03 1.482740e-03 1.477101e-03 1.675766e-03 1.107633e-03 + 3547 1.785010e-03 2.292496e-04 1.889997e-03 3.203331e-04 9.877972e-04 + 3548 1.509834e-03 7.686045e-04 4.502474e-04 1.465764e-03 4.734376e-04 + 3549 1.626416e-03 3.077975e-03 1.805143e-03 1.139028e-03 2.883592e-03 + 3550 5.996553e-03 8.804819e-03 6.014349e-03 6.053840e-03 5.423331e-03 + 3551 5.519840e-04 1.306623e-03 1.942801e-03 1.421278e-03 2.494094e-03 + 3552 3.994022e-04 5.022680e-04 4.720987e-04 9.876806e-04 4.357964e-04 + 3553 1.544538e-03 2.938496e-03 1.633930e-03 1.054901e-03 1.088217e-03 + 3554 1.098598e-03 3.497154e-04 6.852115e-04 9.820170e-04 5.100343e-04 + 3555 1.500960e-03 1.140392e-03 1.546533e-03 2.094234e-03 1.678664e-03 + 3556 7.248164e-03 4.252188e-03 5.468674e-03 5.216183e-03 3.654744e-03 + 3557 2.735056e-03 2.218341e-03 2.363606e-03 2.042743e-03 1.854267e-03 + 3558 6.285468e-04 1.204274e-03 1.625699e-03 2.441541e-03 2.177841e-03 + 3559 5.561042e-04 8.915978e-04 1.870092e-03 1.037377e-03 7.615947e-04 + 3560 1.551152e-03 2.677375e-03 2.721106e-03 1.713094e-03 1.821526e-03 + 3561 3.003882e-03 1.754522e-03 2.668555e-03 3.410269e-03 2.195184e-03 + 3562 5.322519e-03 5.432682e-03 5.765718e-03 7.077261e-03 5.551384e-03 + 3563 1.002724e-03 2.062421e-03 1.221418e-03 2.089426e-03 1.477184e-03 + 3564 1.343469e-03 7.831665e-04 6.638127e-04 1.071398e-03 1.121475e-03 + 3565 8.983677e-04 5.416269e-04 2.588510e-04 1.258014e-03 1.005002e-03 + 3566 9.561796e-04 3.109754e-04 6.727806e-04 3.351569e-04 3.168029e-04 + 3567 2.455825e-03 2.346191e-03 1.064544e-03 2.086097e-04 1.263849e-03 + 3568 8.561350e-04 6.477882e-04 1.851720e-03 1.225894e-03 9.037976e-04 + 3569 7.111626e-04 2.147570e-03 1.910800e-03 1.348839e-03 1.154948e-03 + 3570 4.940498e-04 4.163702e-04 1.386783e-03 5.177342e-04 4.701223e-04 + 3571 8.215410e-04 1.922055e-03 2.461551e-03 7.134588e-04 1.297948e-03 + 3572 1.518948e-03 2.114111e-03 3.689854e-03 1.334097e-03 8.182520e-04 + 3573 1.015486e-03 6.794592e-04 7.795296e-04 9.139902e-04 9.316353e-04 + 3574 2.129311e-03 3.798020e-03 3.536538e-03 2.653155e-03 5.306251e-03 + 3575 1.731060e-03 1.082917e-03 3.462581e-03 1.429816e-03 9.951458e-04 + 3576 6.763230e-04 8.103101e-04 1.864530e-03 9.298201e-04 8.107586e-04 + 3577 1.711262e-03 1.793482e-04 1.462246e-03 1.227169e-03 1.447379e-03 + 3578 1.144668e-03 8.780832e-04 1.544232e-03 6.342312e-04 7.702749e-04 + 3579 8.211112e-05 3.493101e-04 5.722203e-04 7.252174e-04 5.062542e-04 + 3580 7.663255e-04 1.295056e-03 1.306860e-03 1.223664e-03 8.054320e-04 + 3581 1.078253e-03 7.557649e-04 6.844514e-04 3.660665e-04 2.303950e-04 + 3582 1.033791e-03 1.651615e-03 2.329724e-03 1.041661e-03 1.209276e-03 + 3583 5.143726e-04 1.400316e-03 6.674364e-04 3.107109e-04 8.273582e-04 + 3584 2.552585e-04 2.495789e-04 1.168511e-03 7.729460e-04 1.029293e-04 + 3585 1.319207e+00 1.215543e+00 1.167622e+00 1.247660e+00 1.305120e+00 + 3586 2.158995e+02 2.129694e+02 2.133190e+02 2.135680e+02 2.119581e+02 + 3587 3.398372e+02 3.357090e+02 3.367396e+02 3.372097e+02 3.329867e+02 + 3588 1.367652e+01 1.371603e+01 1.358010e+01 1.380925e+01 1.347386e+01 + 3589 5.158290e-02 6.453804e-02 4.678769e-02 4.890043e-02 4.903014e-02 + 3590 3.621268e-02 2.780514e-02 1.654605e-02 1.919493e-02 2.951525e-02 + 3591 9.123439e-02 1.245515e-01 1.188688e-01 1.067098e-01 1.161486e-01 + 3592 2.980056e-01 4.331688e-01 3.859228e-01 4.038207e-01 4.176814e-01 + 3593 4.758888e-02 6.033975e-02 5.620065e-02 6.042370e-02 7.369233e-02 + 3594 3.114150e-02 3.151940e-02 2.463947e-02 3.293908e-02 2.163029e-02 + 3595 1.138287e-02 6.443828e-03 8.837459e-03 7.517146e-03 9.410983e-03 + 3596 1.004457e-02 1.502066e-02 1.346319e-02 1.247053e-02 1.385741e-02 + 3597 2.579599e-02 2.238627e-02 3.065448e-02 2.373777e-02 1.765854e-02 + 3598 3.937910e-03 1.911443e-03 4.093517e-03 8.189394e-03 5.888267e-03 + 3599 1.400381e-02 1.658866e-02 1.240368e-02 1.021849e-02 8.970336e-03 + 3600 9.639316e-03 8.333303e-03 4.580979e-03 6.270667e-03 7.289033e-03 + 3601 8.222533e-03 5.910639e-03 1.112953e-02 6.802124e-03 8.343169e-03 + 3602 1.317076e-02 6.472816e-03 8.794980e-03 1.555427e-02 4.863152e-03 + 3603 1.695034e-03 7.717725e-03 1.263420e-03 4.648760e-03 5.836703e-03 + 3604 5.557221e-03 2.435941e-03 6.902251e-03 3.162418e-03 3.407307e-03 + 3605 6.775872e-03 4.970700e-03 3.999956e-03 6.049561e-03 6.568588e-03 + 3606 4.110982e-03 4.772881e-03 6.847215e-03 5.564269e-03 5.381296e-03 + 3607 5.219883e-03 1.787144e-03 2.104156e-03 3.535452e-03 2.929394e-03 + 3608 4.033477e-03 8.704196e-03 4.126937e-03 7.131904e-03 4.854331e-03 + 3609 3.278007e-03 2.344201e-03 3.830105e-03 3.325403e-03 3.883945e-03 + 3610 5.011871e-03 4.425170e-03 4.087459e-03 2.372717e-03 2.033840e-03 + 3611 3.012739e-03 3.041028e-03 4.654065e-03 3.562077e-03 6.258432e-03 + 3612 1.365632e-03 2.600309e-03 2.150923e-03 2.339342e-03 1.487337e-03 + 3613 3.932151e-03 4.173196e-03 5.620628e-03 6.985827e-03 2.971773e-03 + 3614 1.739944e-03 1.057778e-03 5.098216e-04 8.387564e-04 2.525128e-03 + 3615 4.455254e-03 5.556701e-03 5.971076e-03 4.976151e-03 2.575135e-03 + 3616 3.247428e-03 3.659032e-03 3.207232e-03 3.269407e-03 3.829737e-03 + 3617 1.466983e-03 1.116077e-03 1.195228e-03 3.879229e-03 1.034668e-03 + 3618 6.281975e-03 4.183184e-03 5.047547e-03 2.980272e-03 2.426699e-03 + 3619 6.618553e-04 2.582106e-03 1.506445e-03 7.272712e-04 2.595547e-03 + 3620 1.490258e-03 1.914824e-03 3.009430e-03 2.733461e-03 2.716984e-03 + 3621 2.306770e-03 2.007711e-03 3.118542e-03 1.463358e-03 2.374644e-03 + 3622 2.186070e-03 3.944054e-03 1.850903e-03 3.231573e-03 5.827321e-03 + 3623 5.575128e-03 1.870404e-03 1.924499e-03 5.558618e-03 2.197769e-03 + 3624 2.100384e-03 1.888616e-03 1.367679e-03 9.058146e-04 2.536454e-03 + 3625 1.142997e-03 3.557738e-03 3.080287e-03 3.206226e-03 2.476185e-03 + 3626 1.876554e-03 4.439280e-03 5.402424e-04 7.983289e-04 4.755523e-04 + 3627 4.227834e-03 3.055134e-03 4.481143e-03 5.242698e-03 2.704560e-03 + 3628 2.917397e-03 8.443795e-04 2.522249e-03 1.626213e-03 1.248225e-03 + 3629 3.144506e-03 1.089896e-03 1.404006e-03 2.695407e-03 4.848482e-04 + 3630 1.807664e-03 2.814905e-03 9.055162e-04 8.243648e-04 2.367205e-03 + 3631 5.646068e-04 4.025896e-04 2.140378e-03 1.657225e-03 2.353187e-03 + 3632 4.071406e-03 2.507650e-03 2.815086e-03 6.046538e-04 8.934378e-04 + 3633 7.108713e-02 7.607567e-02 7.730118e-02 7.656442e-02 7.698469e-02 + 3634 3.840003e-01 3.855846e-01 4.062096e-01 4.125535e-01 4.100955e-01 + 3635 7.013807e-02 6.758144e-02 7.372630e-02 7.370733e-02 7.179091e-02 + 3636 2.820952e-03 1.624345e-03 1.173609e-03 2.136336e-03 2.406697e-03 + 3637 7.544599e-04 8.816990e-04 1.853105e-03 9.323047e-04 5.479764e-04 + 3638 1.141397e-03 1.239773e-03 2.731228e-03 2.498702e-03 2.758979e-03 + 3639 1.390993e-03 1.512064e-03 5.362329e-04 6.677939e-04 6.531044e-04 + 3640 7.013898e-04 6.732222e-04 1.441090e-03 2.888169e-03 9.991999e-04 + 3641 1.700171e-03 1.410783e-03 4.863574e-03 3.736239e-03 1.625043e-03 + 3642 6.496893e-04 7.298160e-04 1.776836e-03 3.178575e-03 3.896846e-04 + 3643 1.234009e-03 2.127305e-03 1.456912e-03 1.581048e-03 1.726047e-03 + 3644 6.061209e-04 3.906657e-04 7.211869e-04 4.319193e-04 1.152159e-03 + 3645 1.659234e-03 2.296371e-03 4.226844e-03 2.970201e-03 2.273648e-03 + 3646 1.088940e-03 1.217475e-03 2.541838e-03 4.161631e-03 1.569576e-03 + 3647 7.923242e-04 2.150007e-03 1.170077e-03 1.311260e-03 1.168947e-03 + 3648 6.082579e-04 6.512253e-04 6.506490e-04 1.714292e-03 3.252266e-04 + 3649 1.977085e-03 6.852106e-04 1.989377e-03 1.085181e-03 9.092016e-04 + 3650 1.206786e-03 5.147962e-04 1.443584e-03 1.027002e-03 5.597352e-04 + 3651 1.681822e-03 2.082442e-03 1.620387e-03 1.457943e-04 1.258673e-03 + 3652 9.793106e-04 1.486256e-03 7.334841e-04 1.612454e-03 8.933716e-04 + 3653 4.478841e-04 1.149833e-03 8.340514e-04 8.243106e-04 1.693631e-03 + 3654 1.721222e-03 7.800632e-04 1.062118e-03 7.808143e-04 1.114393e-03 + 3655 8.091263e-04 9.535708e-04 1.885217e-03 1.521305e-03 1.323874e-03 + 3656 1.426150e-03 1.882952e-03 6.758620e-04 1.293756e-03 2.598387e-03 + 3657 1.244101e-03 9.380510e-04 4.469726e-04 1.266475e-03 9.237419e-04 + 3658 5.914241e-04 1.098498e-03 6.491804e-04 5.868379e-04 3.135474e-04 + 3659 1.550653e-03 7.255726e-04 8.054190e-04 8.318300e-04 6.010400e-04 + 3660 1.736555e-03 1.331834e-03 9.589934e-04 6.333223e-04 1.470064e-03 + 3661 1.524744e-04 9.112165e-04 5.452458e-04 2.313619e-04 2.912501e-04 + 3662 1.382685e-03 9.869727e-04 4.831179e-04 5.472429e-04 2.843738e-04 + 3663 1.353014e-03 9.844455e-04 5.315455e-04 4.400152e-04 1.569044e-03 + 3664 1.128415e-03 1.175282e-03 2.669737e-03 1.467705e-03 9.047863e-04 + 3665 6.804637e-04 7.411358e-04 1.443640e-03 8.305837e-04 1.268917e-03 + 3666 1.640294e-03 1.551126e-03 2.649042e-03 1.395443e-03 4.456413e-04 + 3667 3.793835e-04 8.652922e-04 7.875542e-04 7.086029e-04 9.816116e-04 + 3668 9.786761e-04 1.183087e-03 4.228180e-03 2.506649e-03 1.330674e-03 + 3669 2.672463e-04 1.225339e-03 8.390854e-04 8.080524e-04 4.093790e-04 + 3670 2.102531e-04 1.179047e-03 1.570854e-03 1.246603e-03 9.262214e-04 + 3671 2.299995e-03 3.448769e-03 2.147519e-03 5.256676e-04 7.519515e-04 + 3672 7.743500e-04 1.630631e-03 1.487504e-03 1.865601e-03 2.215998e-04 + 3673 9.395770e-04 8.196270e-04 2.477120e-03 1.603928e-03 9.542701e-04 + 3674 1.666058e-03 4.397863e-04 1.664641e-03 1.693486e-03 1.440537e-03 + 3675 6.723824e-04 7.742690e-04 8.052721e-04 3.179745e-04 1.104240e-03 + 3676 2.183284e-03 1.090441e-03 1.170906e-03 1.752911e-03 4.552535e-04 + 3677 3.014217e-03 1.716637e-03 1.629758e-03 1.898514e-03 1.614318e-03 + 3678 1.034585e-02 1.030357e-02 6.921347e-03 9.935914e-03 5.371050e-03 + 3679 2.452057e-03 2.081457e-03 1.206750e-03 2.582043e-03 2.025792e-03 + 3680 6.906215e-04 1.073042e-03 1.496938e-03 1.417626e-03 1.047277e-03 + 3681 1.875905e-03 4.121541e-04 1.162107e-03 2.124663e-03 1.098751e-03 + 3682 9.773528e-04 1.255388e-03 1.134012e-03 8.515661e-04 1.501289e-03 + 3683 3.914172e-03 1.088464e-03 3.189420e-03 2.566578e-03 4.673558e-03 + 3684 8.263088e-03 8.325140e-03 9.690059e-03 8.391706e-03 1.090969e-02 + 3685 3.329046e-03 2.915198e-03 3.197723e-03 2.373783e-03 3.415847e-03 + 3686 1.731084e-03 1.303325e-03 8.385792e-04 1.128089e-03 1.415297e-03 + 3687 1.429461e-03 1.164704e-03 2.905156e-03 1.325075e-03 1.095457e-03 + 3688 8.673254e-05 1.259960e-03 7.409410e-04 1.258591e-03 6.571269e-04 + 3689 1.654807e-03 1.350170e-03 1.626219e-03 1.253306e-03 1.702990e-03 + 3690 2.757383e-03 2.559618e-03 3.619967e-03 5.201799e-03 5.870769e-03 + 3691 1.619962e-03 1.096844e-03 2.441614e-03 1.780163e-03 3.635744e-03 + 3692 6.635715e-04 5.626795e-04 8.218199e-04 8.432032e-04 1.515002e-03 + 3693 1.387092e-03 1.073818e-03 4.673991e-04 4.377270e-04 1.324832e-03 + 3694 6.089557e-04 8.832245e-04 8.836402e-04 1.322566e-03 2.571554e-04 + 3695 1.788797e-03 9.298892e-04 1.573345e-03 8.844387e-04 1.354215e-03 + 3696 6.270816e-04 1.021642e-03 1.114087e-03 1.958438e-04 6.116782e-04 + 3697 1.273901e-03 1.356029e-03 5.943702e-04 9.435404e-04 1.117148e-03 + 3698 5.604475e-04 8.041681e-04 8.198358e-04 1.135777e-03 1.007686e-03 + 3699 6.144691e-04 3.871993e-04 2.595114e-04 6.908194e-04 1.232882e-03 + 3700 6.461609e-04 1.101973e-03 3.643527e-04 3.985187e-04 4.394255e-04 + 3701 1.876350e-03 2.056372e-03 7.814239e-04 1.617885e-03 1.315673e-03 + 3702 1.731736e-03 4.355482e-03 1.731788e-03 2.686009e-03 2.787533e-03 + 3703 1.644197e-03 1.424231e-03 2.370787e-03 8.587786e-04 1.025950e-03 + 3704 3.587983e-04 7.504681e-04 1.649777e-03 2.252492e-03 6.659955e-04 + 3705 6.638870e-04 5.777323e-04 8.375225e-04 2.764313e-04 6.243201e-04 + 3706 1.591610e-04 8.204405e-04 1.272752e-03 7.487318e-04 5.213028e-04 + 3707 1.622100e-03 1.984818e-03 2.352029e-03 1.101296e-03 1.830054e-03 + 3708 6.950850e-04 2.133866e-03 6.022990e-04 8.272373e-04 9.342960e-04 + 3709 1.073620e-03 1.172677e-03 1.467168e-03 7.547495e-04 1.721054e-03 + 3710 1.121682e-03 6.986093e-04 8.506012e-04 2.540604e-04 2.242206e-03 + 3711 8.029915e-04 1.242815e-03 1.912783e-03 7.144400e-04 2.004357e-03 + 3712 2.247072e-04 3.946892e-04 2.423350e-04 2.360107e-04 1.651404e-04 + 3713 1.299697e+00 1.190540e+00 1.223850e+00 1.148011e+00 1.320679e+00 + 3714 2.154735e+02 2.133278e+02 2.139609e+02 2.135884e+02 2.111079e+02 + 3715 3.378589e+02 3.341767e+02 3.360198e+02 3.339039e+02 3.308612e+02 + 3716 1.404711e+01 1.383805e+01 1.384358e+01 1.354008e+01 1.369632e+01 + 3717 5.045412e-02 4.120020e-02 3.132255e-02 5.217021e-02 4.234380e-02 + 3718 1.645490e-02 1.708371e-02 2.436108e-02 2.170750e-02 1.520272e-02 + 3719 9.291908e-02 1.195791e-01 1.091257e-01 1.078800e-01 1.200481e-01 + 3720 3.182884e-01 3.863760e-01 4.146477e-01 3.581348e-01 3.723151e-01 + 3721 5.050701e-02 5.945720e-02 6.367468e-02 6.084547e-02 6.666914e-02 + 3722 2.540403e-02 1.754734e-02 1.430623e-02 1.454375e-02 1.923252e-02 + 3723 1.675494e-02 1.182583e-02 1.579606e-02 1.383158e-02 1.004299e-02 + 3724 9.625946e-03 1.002049e-02 1.190411e-02 1.501661e-02 9.951165e-03 + 3725 2.031261e-02 2.217550e-02 4.044807e-02 9.280288e-03 1.927856e-02 + 3726 5.459013e-03 7.436722e-03 1.102825e-02 1.106445e-02 6.000761e-03 + 3727 1.463568e-02 7.588397e-03 5.316761e-03 9.366791e-03 8.614677e-03 + 3728 4.992508e-03 7.536616e-03 8.101454e-03 4.472605e-03 7.528992e-03 + 3729 1.134742e-02 1.004461e-02 5.609288e-03 1.143920e-02 5.542895e-03 + 3730 1.803202e-02 7.341830e-03 1.166854e-02 8.199747e-03 8.491086e-03 + 3731 3.116889e-03 4.040479e-03 3.914766e-03 4.457792e-03 3.679628e-03 + 3732 5.387026e-03 7.249609e-03 4.875229e-03 7.479890e-03 4.675678e-03 + 3733 3.504793e-03 3.252892e-03 5.972522e-03 4.500266e-03 5.952006e-03 + 3734 5.094681e-03 6.280959e-03 4.984114e-03 4.520359e-03 6.646219e-03 + 3735 3.810679e-03 6.705471e-04 1.068003e-03 4.188350e-03 2.161662e-03 + 3736 5.644770e-03 5.157340e-03 3.908567e-03 3.843135e-03 3.621280e-03 + 3737 4.750685e-03 3.567139e-03 3.496535e-03 4.649036e-03 2.681120e-03 + 3738 3.225083e-03 3.670153e-03 4.882600e-03 3.266967e-03 2.914551e-03 + 3739 3.765983e-03 4.846072e-03 1.229292e-03 4.714979e-03 3.106422e-03 + 3740 1.947357e-03 2.883749e-03 3.742308e-03 2.069876e-03 3.213377e-03 + 3741 3.602253e-03 3.982387e-03 1.720774e-03 7.134099e-03 3.061068e-03 + 3742 2.435752e-03 1.948009e-03 1.473139e-03 2.185333e-03 3.754965e-03 + 3743 2.193463e-03 4.134076e-03 4.224527e-03 2.369820e-03 1.518709e-03 + 3744 2.383505e-03 3.498139e-03 2.887957e-03 3.853343e-03 1.563513e-03 + 3745 4.353802e-03 3.735498e-03 7.813651e-03 1.927690e-03 3.600587e-03 + 3746 1.044720e-03 2.073573e-03 2.705527e-03 2.332246e-03 2.644849e-03 + 3747 4.505224e-03 4.381039e-03 2.760446e-03 1.398490e-03 3.171366e-03 + 3748 1.816848e-03 1.481824e-03 2.575384e-03 4.568188e-03 1.893196e-03 + 3749 3.818095e-04 5.961896e-04 7.643509e-04 1.984899e-03 1.385610e-03 + 3750 3.958520e-03 4.241190e-03 2.880488e-03 5.653765e-03 2.111414e-03 + 3751 5.726376e-04 2.641728e-03 1.404122e-03 1.456033e-03 1.076576e-03 + 3752 5.301653e-03 4.688596e-03 2.906557e-03 5.856846e-03 4.593565e-03 + 3753 4.039000e-04 1.832495e-03 2.911445e-03 5.578569e-04 7.440344e-04 + 3754 3.598269e-03 5.094923e-03 5.938184e-03 2.917248e-03 2.385638e-03 + 3755 8.548663e-04 1.652725e-03 2.890557e-03 5.926276e-04 3.607816e-04 + 3756 3.001085e-03 1.061025e-03 3.476700e-03 3.594125e-03 9.971678e-04 + 3757 8.848727e-04 3.884207e-03 2.249082e-03 7.459832e-04 4.098171e-03 + 3758 8.653518e-04 7.325671e-04 2.249667e-03 2.887948e-03 7.062112e-04 + 3759 1.348957e-03 3.224503e-03 1.236608e-03 2.463975e-03 1.432001e-03 + 3760 1.293545e-03 1.061311e-03 4.665122e-03 1.422478e-03 1.588602e-03 + 3761 9.127214e-02 8.699441e-02 8.395765e-02 8.882649e-02 7.824619e-02 + 3762 4.320472e-01 4.264991e-01 4.796314e-01 4.546078e-01 4.218079e-01 + 3763 8.341452e-02 8.268179e-02 8.935840e-02 8.786349e-02 8.209751e-02 + 3764 8.996802e-04 1.278815e-03 1.082283e-03 2.540536e-03 1.624080e-03 + 3765 2.264892e-03 1.155382e-03 4.208897e-03 1.078116e-03 1.793944e-03 + 3766 1.760382e-03 1.389136e-03 1.638147e-03 1.262710e-03 1.823389e-03 + 3767 1.137037e-03 9.304714e-04 4.649691e-04 1.065901e-03 1.061427e-03 + 3768 4.748582e-04 1.249223e-03 3.458932e-03 1.760422e-03 9.791975e-04 + 3769 2.115375e-03 1.086179e-03 3.860811e-03 1.508397e-03 1.066629e-03 + 3770 1.242868e-03 9.314394e-04 6.551912e-03 1.267455e-03 1.098024e-03 + 3771 7.670909e-04 1.832675e-03 4.432107e-04 1.118592e-03 6.820658e-04 + 3772 7.778360e-04 1.283167e-03 1.931580e-03 6.215399e-04 1.335672e-03 + 3773 1.651192e-03 5.532879e-04 5.429960e-03 1.652695e-03 1.476983e-04 + 3774 8.779644e-04 1.385010e-03 2.184055e-03 1.513308e-03 1.554758e-03 + 3775 7.010882e-04 1.109688e-03 2.659251e-03 1.827479e-03 1.635745e-03 + 3776 9.687655e-04 5.363964e-04 1.792087e-03 3.346679e-04 6.971027e-04 + 3777 1.918851e-03 9.684687e-04 1.426946e-03 2.379887e-03 1.625018e-03 + 3778 6.377185e-04 8.782384e-04 2.166211e-03 3.480727e-03 1.261305e-03 + 3779 6.264623e-04 1.113898e-03 1.465541e-03 9.713017e-04 1.617814e-03 + 3780 7.224750e-04 9.219601e-04 1.072269e-03 1.126500e-03 7.999772e-04 + 3781 6.287313e-04 1.659422e-03 1.483192e-03 1.639337e-03 1.262063e-03 + 3782 1.611192e-03 1.626364e-03 1.650607e-03 1.312758e-03 2.091784e-03 + 3783 1.358240e-03 8.162767e-04 3.674592e-03 1.835137e-03 1.430488e-03 + 3784 2.655091e-03 1.173195e-03 1.736592e-03 1.933908e-03 1.485965e-03 + 3785 4.631080e-04 1.305964e-03 1.123033e-03 1.722564e-03 3.145148e-04 + 3786 3.896235e-03 2.042395e-03 2.846002e-03 7.626972e-04 2.667079e-03 + 3787 3.298443e-03 1.872923e-03 7.641367e-04 1.278261e-03 7.231425e-04 + 3788 3.089104e-03 5.276895e-04 1.455352e-03 2.356757e-03 8.002965e-04 + 3789 7.587170e-04 1.526152e-03 1.177606e-03 1.148931e-03 8.036406e-04 + 3790 1.084936e-03 1.761880e-03 2.981837e-04 5.939204e-04 4.072884e-04 + 3791 1.314455e-03 5.972033e-04 2.918246e-03 1.198006e-03 1.618525e-03 + 3792 7.871627e-04 5.374108e-04 5.700870e-04 1.681071e-03 1.034229e-03 + 3793 1.328863e-03 1.060363e-03 4.133044e-04 4.730094e-04 8.092223e-04 + 3794 1.099157e-03 7.640863e-04 1.699520e-03 2.285783e-03 6.445587e-04 + 3795 5.245407e-04 5.472323e-04 4.490557e-04 1.528114e-03 6.885269e-04 + 3796 6.569492e-04 2.063766e-03 5.099335e-04 1.094153e-03 7.140681e-04 + 3797 6.312295e-04 8.969404e-05 9.901072e-04 1.020843e-03 7.894563e-04 + 3798 1.583814e-03 1.250487e-03 1.552222e-03 1.276399e-03 1.203648e-04 + 3799 2.567464e-04 7.540322e-04 9.852218e-04 1.369390e-03 8.022533e-04 + 3800 1.457719e-03 2.150281e-03 5.836098e-04 6.418276e-04 3.513713e-04 + 3801 6.345830e-04 2.176257e-03 6.743858e-04 3.100649e-04 1.247491e-03 + 3802 1.156421e-03 2.270730e-03 2.225114e-03 1.548794e-03 2.168907e-03 + 3803 1.955323e-03 7.896542e-04 2.253978e-03 1.939747e-03 7.244102e-04 + 3804 2.070816e-03 1.641524e-03 4.090459e-04 1.164441e-03 1.281630e-03 + 3805 5.272594e-03 3.393453e-03 2.366242e-03 4.116329e-03 2.856125e-03 + 3806 1.493088e-02 8.807442e-03 9.464409e-03 8.922953e-03 8.918833e-03 + 3807 1.180464e-03 8.758016e-04 1.420730e-03 2.168387e-03 1.510459e-03 + 3808 2.081762e-03 1.613820e-03 5.543070e-04 9.943731e-04 1.228264e-03 + 3809 1.179482e-03 2.280291e-04 2.327763e-03 7.369856e-04 2.108175e-03 + 3810 3.063106e-03 5.034391e-04 1.648601e-03 6.351939e-04 2.143133e-03 + 3811 8.399772e-04 2.752971e-03 2.888638e-03 1.659828e-03 2.784783e-03 + 3812 3.373633e-03 6.749769e-03 6.260481e-03 4.897856e-03 5.631287e-03 + 3813 1.441324e-03 1.487373e-03 2.204029e-03 2.770309e-03 1.437284e-03 + 3814 7.822638e-04 6.268094e-04 1.236553e-03 7.164316e-04 1.685042e-03 + 3815 4.953740e-04 7.410998e-04 2.980070e-04 8.279973e-04 1.321125e-03 + 3816 9.846659e-04 9.466874e-04 1.108500e-03 6.651431e-04 1.366112e-03 + 3817 2.062308e-03 1.359758e-03 6.722574e-04 2.005107e-03 1.511919e-03 + 3818 5.974248e-03 4.112047e-03 5.713222e-03 5.222656e-03 3.851356e-03 + 3819 8.826719e-04 1.433346e-03 5.107279e-04 2.168995e-03 1.291146e-03 + 3820 2.337520e-04 1.557559e-03 2.994507e-03 5.728775e-04 1.612657e-03 + 3821 4.757348e-04 6.635447e-04 9.088475e-04 5.663422e-04 4.290998e-04 + 3822 3.072608e-04 5.201287e-04 1.534059e-04 1.871011e-04 2.411756e-04 + 3823 1.322108e-03 2.458073e-03 2.333332e-03 6.916273e-04 5.796900e-04 + 3824 6.718633e-04 7.411563e-04 1.112427e-03 2.355530e-04 6.431743e-04 + 3825 5.133429e-04 8.625065e-04 9.425058e-04 6.235878e-04 8.535788e-04 + 3826 1.207885e-03 8.186243e-04 2.672832e-03 1.776638e-03 6.716994e-04 + 3827 6.541681e-04 2.702035e-04 1.562520e-03 1.841762e-03 1.103834e-03 + 3828 1.321204e-03 1.227277e-03 1.877415e-03 9.789895e-04 7.904135e-04 + 3829 2.516897e-04 1.670956e-04 1.022210e-03 8.375945e-04 9.168622e-04 + 3830 9.443632e-04 1.611254e-03 2.322441e-03 2.437554e-03 2.267860e-03 + 3831 6.379636e-04 6.021181e-04 1.585441e-03 1.670672e-03 2.174490e-03 + 3832 5.699328e-04 8.545927e-04 4.494273e-04 7.009330e-04 1.181872e-03 + 3833 8.309722e-04 4.729657e-04 5.038669e-04 3.458870e-04 4.014337e-04 + 3834 7.614355e-04 1.284954e-03 1.433399e-03 1.576230e-03 2.378521e-03 + 3835 1.412521e-03 6.965692e-04 1.616564e-03 1.050115e-03 1.130548e-03 + 3836 1.324929e-03 1.712893e-03 1.381568e-03 1.573526e-03 1.378288e-03 + 3837 9.707869e-04 1.509427e-03 1.392438e-03 1.690641e-03 2.972683e-03 + 3838 8.664656e-04 1.356593e-03 7.479941e-04 1.698952e-03 2.215611e-03 + 3839 5.132575e-04 1.036404e-03 1.015400e-03 7.664959e-04 7.620593e-04 + 3840 9.052146e-04 3.983937e-04 1.295128e-04 3.396643e-04 1.664329e-03 + 3841 1.354048e+00 1.316570e+00 1.327312e+00 1.186334e+00 1.216417e+00 + 3842 2.151467e+02 2.117298e+02 2.130039e+02 2.131023e+02 2.108283e+02 + 3843 3.385569e+02 3.337484e+02 3.346032e+02 3.362257e+02 3.307290e+02 + 3844 1.387751e+01 1.368777e+01 1.368789e+01 1.356208e+01 1.358794e+01 + 3845 3.739941e-02 3.384957e-02 4.015960e-02 6.143101e-02 2.928478e-02 + 3846 3.865097e-02 3.783985e-02 3.661404e-02 3.861456e-02 4.148894e-02 + 3847 1.026170e-01 1.182360e-01 1.198939e-01 1.189267e-01 1.053193e-01 + 3848 3.537788e-01 4.332928e-01 4.048864e-01 3.902272e-01 3.829077e-01 + 3849 6.030939e-02 6.786707e-02 8.299771e-02 8.411991e-02 6.772212e-02 + 3850 3.245159e-02 2.972210e-02 2.209602e-02 1.961064e-02 1.491756e-02 + 3851 1.230018e-02 1.199538e-02 1.268515e-02 1.649825e-02 1.923814e-02 + 3852 1.234544e-02 1.423589e-02 1.258138e-02 1.079906e-02 1.359137e-02 + 3853 2.955641e-02 1.999009e-02 4.644443e-02 2.336904e-02 2.743940e-02 + 3854 1.017867e-02 8.346120e-03 1.420970e-02 5.490170e-03 1.292528e-02 + 3855 7.433527e-03 6.451228e-03 7.546836e-03 8.242410e-03 9.589592e-03 + 3856 7.892447e-03 8.534383e-03 1.240284e-02 8.454198e-03 7.874592e-03 + 3857 4.864214e-03 6.072428e-03 6.817658e-03 7.099119e-03 3.405069e-03 + 3858 1.372556e-02 7.834489e-03 1.664430e-02 1.054190e-02 1.275128e-02 + 3859 2.358862e-03 2.698226e-03 5.350604e-03 2.713392e-03 4.250963e-03 + 3860 9.546861e-03 6.629619e-03 5.805087e-03 4.613146e-03 3.684282e-03 + 3861 3.102735e-03 2.898473e-03 9.089850e-03 4.446178e-03 5.676117e-03 + 3862 4.421838e-03 2.862290e-03 4.128532e-03 4.224308e-03 3.557848e-03 + 3863 4.592968e-03 5.770876e-03 8.137302e-03 3.393629e-03 3.945573e-03 + 3864 9.607202e-03 3.039058e-03 1.087033e-02 9.578256e-03 5.389903e-03 + 3865 2.383404e-03 3.203317e-03 7.484358e-04 1.913451e-03 2.726261e-03 + 3866 3.367569e-03 3.680594e-03 5.964206e-03 4.067064e-03 2.970657e-03 + 3867 4.109414e-03 2.104338e-03 2.310649e-03 2.444832e-03 5.547552e-03 + 3868 2.532173e-03 3.533375e-03 2.313555e-03 2.313236e-03 2.397210e-03 + 3869 2.050569e-03 1.848080e-03 3.878910e-03 4.956710e-03 1.878537e-03 + 3870 2.501952e-03 3.641634e-03 1.826896e-03 3.806285e-03 2.603617e-03 + 3871 4.385276e-03 6.572875e-03 2.788741e-03 6.318829e-03 3.199225e-03 + 3872 1.879482e-03 3.584588e-03 1.825682e-03 1.533920e-03 1.354979e-03 + 3873 1.680502e-03 3.397102e-03 5.834922e-03 1.055853e-03 2.776627e-03 + 3874 4.102786e-03 3.538341e-03 2.201885e-03 3.065054e-03 3.198222e-03 + 3875 5.037975e-03 2.402345e-03 4.637348e-03 2.615026e-03 2.480279e-03 + 3876 4.078265e-03 2.886139e-03 2.995483e-03 2.946478e-03 4.166769e-03 + 3877 1.616488e-03 1.642460e-03 3.253506e-03 3.021973e-03 2.101383e-03 + 3878 3.673722e-03 1.854371e-03 6.044081e-03 1.560263e-03 3.239416e-03 + 3879 1.934512e-03 3.763389e-03 6.505959e-03 2.059249e-03 3.408920e-03 + 3880 1.607672e-03 2.178670e-03 1.132046e-03 2.545618e-03 1.064963e-03 + 3881 1.799498e-03 9.050958e-04 2.650492e-03 1.004166e-03 1.082008e-03 + 3882 2.547260e-03 4.060626e-03 1.460539e-03 8.058207e-04 9.873265e-04 + 3883 1.803010e-03 2.065563e-03 1.210408e-03 1.209776e-03 2.535796e-03 + 3884 1.792554e-03 9.875116e-04 3.776801e-03 3.142290e-03 4.120332e-04 + 3885 7.946413e-04 2.395681e-03 1.365618e-03 4.163338e-03 1.470870e-03 + 3886 2.003940e-03 2.968674e-03 3.906641e-03 4.190481e-03 1.204879e-03 + 3887 2.137000e-03 2.224916e-03 2.953368e-03 1.802167e-03 2.387575e-03 + 3888 3.976260e-03 1.199604e-03 2.142877e-03 8.801287e-04 4.624986e-04 + 3889 6.157910e-02 6.886510e-02 8.480484e-02 8.118324e-02 7.693551e-02 + 3890 4.097969e-01 4.139233e-01 4.735415e-01 4.317841e-01 4.241181e-01 + 3891 7.888024e-02 7.674293e-02 8.554757e-02 7.180254e-02 7.669911e-02 + 3892 1.172050e-03 9.700270e-04 1.575885e-03 1.518777e-03 1.746872e-03 + 3893 3.389347e-03 4.200006e-03 3.378220e-03 1.891555e-03 1.559511e-03 + 3894 1.649335e-03 2.579694e-03 3.332086e-03 1.851819e-03 1.038316e-03 + 3895 2.217983e-03 1.791440e-03 2.730396e-03 1.000525e-03 1.627687e-03 + 3896 1.565141e-03 1.192024e-03 1.528316e-03 3.612806e-04 2.996139e-04 + 3897 2.247815e-03 1.149018e-03 1.540980e-03 1.172188e-03 7.497353e-04 + 3898 3.564553e-03 1.425180e-03 1.933035e-03 1.204025e-03 1.007249e-03 + 3899 1.260516e-03 1.893572e-03 2.278964e-03 1.996668e-03 1.045854e-03 + 3900 9.016980e-04 1.607679e-03 8.573351e-04 5.323178e-04 1.397607e-03 + 3901 3.149184e-03 1.495466e-03 1.747674e-03 2.322801e-03 1.186172e-03 + 3902 2.584185e-03 2.761689e-03 1.744700e-03 2.258531e-03 1.124482e-03 + 3903 1.762083e-04 7.822648e-04 7.858851e-04 6.974157e-04 7.190646e-04 + 3904 3.382035e-03 2.234310e-03 7.386041e-04 1.678313e-03 1.270350e-03 + 3905 2.200978e-03 1.227084e-03 3.512084e-03 1.255039e-03 8.525132e-04 + 3906 8.492015e-04 4.811246e-04 2.975380e-03 3.047875e-04 3.684797e-04 + 3907 2.798986e-03 2.143414e-03 3.082146e-03 2.339503e-03 3.353432e-03 + 3908 1.438784e-03 1.052553e-03 8.979445e-04 8.906943e-04 1.213475e-03 + 3909 2.110473e-03 1.449712e-03 2.136306e-03 2.893784e-03 1.486296e-03 + 3910 9.202224e-04 5.401914e-04 5.057945e-04 9.355241e-04 3.631158e-04 + 3911 1.742811e-03 2.615794e-03 7.168468e-04 8.213577e-04 7.824251e-04 + 3912 8.278204e-04 5.119791e-04 8.952670e-04 8.031734e-04 3.349135e-04 + 3913 3.671747e-04 8.466367e-04 2.923226e-03 3.439636e-04 1.370330e-03 + 3914 1.254045e-03 4.404393e-04 1.722269e-03 7.880171e-04 5.884523e-04 + 3915 7.979997e-04 7.633799e-04 1.673400e-03 1.728882e-03 1.474090e-03 + 3916 1.756459e-03 8.598448e-04 9.291779e-04 3.158507e-03 2.773142e-04 + 3917 5.794282e-04 6.542290e-04 1.428953e-03 1.362598e-03 5.614565e-04 + 3918 9.417086e-05 8.335232e-04 7.036192e-04 4.141706e-04 7.732512e-04 + 3919 2.288425e-03 2.944337e-03 2.175119e-03 1.166162e-03 2.541435e-03 + 3920 6.242929e-04 7.179965e-04 1.161280e-03 5.291350e-04 9.941022e-04 + 3921 1.634596e-03 6.617985e-04 2.582971e-03 1.109508e-03 1.657954e-03 + 3922 1.479476e-03 2.314693e-03 3.207452e-03 1.097298e-03 1.763616e-03 + 3923 9.402419e-04 1.100040e-03 7.907020e-04 1.496269e-03 2.571928e-03 + 3924 1.518349e-03 1.619582e-03 8.524138e-04 8.928126e-04 1.198599e-03 + 3925 2.766706e-03 1.658306e-03 2.029506e-03 2.112775e-03 1.478023e-03 + 3926 1.719363e-03 1.540974e-03 3.890669e-04 1.097725e-03 5.272858e-04 + 3927 7.838882e-04 1.263405e-03 3.455377e-04 1.189854e-03 2.386316e-04 + 3928 1.018311e-03 8.302875e-04 2.104675e-03 1.307060e-03 8.940295e-04 + 3929 5.205905e-04 1.054610e-03 9.404991e-04 9.607121e-04 4.227262e-04 + 3930 1.278429e-03 1.464300e-03 1.621433e-03 1.047366e-03 9.166747e-04 + 3931 1.001573e-03 2.108254e-04 1.264877e-03 1.082255e-03 9.347749e-04 + 3932 1.111864e-03 1.298914e-03 9.331711e-04 1.527651e-03 1.127117e-03 + 3933 8.545396e-04 1.544227e-03 2.215827e-03 3.336668e-03 2.407900e-03 + 3934 8.445083e-03 8.335297e-03 4.686878e-03 9.822372e-03 6.766143e-03 + 3935 2.463047e-03 1.977546e-03 1.243297e-03 3.199413e-03 1.253409e-03 + 3936 1.936182e-03 1.319288e-03 8.900214e-04 1.159637e-03 1.043420e-03 + 3937 8.186740e-04 6.598661e-04 2.809067e-03 1.829055e-03 7.014021e-04 + 3938 2.388320e-04 1.176787e-03 2.675314e-03 7.294800e-04 2.951117e-04 + 3939 3.940656e-03 2.701409e-03 1.906347e-03 4.804566e-03 3.350835e-03 + 3940 6.851881e-03 7.224810e-03 8.677972e-03 1.002641e-02 8.253604e-03 + 3941 1.844873e-03 3.870712e-03 2.301633e-03 2.745903e-03 1.886546e-03 + 3942 1.646969e-03 1.725316e-03 5.354682e-04 2.134189e-03 1.239950e-03 + 3943 3.477805e-04 4.668481e-04 4.631709e-04 1.820356e-03 1.258402e-03 + 3944 1.328514e-03 1.285054e-03 7.567465e-04 1.980771e-03 1.660885e-03 + 3945 1.985303e-03 1.177508e-03 1.295636e-03 1.784521e-03 1.679768e-03 + 3946 4.444821e-03 3.849849e-03 3.485282e-03 6.123597e-03 4.672706e-03 + 3947 1.099636e-03 1.907297e-03 3.093340e-03 2.958169e-03 1.573220e-03 + 3948 2.435892e-03 1.993042e-03 8.418647e-04 8.909553e-04 2.684670e-04 + 3949 1.383096e-03 1.146368e-03 9.964899e-04 6.838729e-04 7.311544e-04 + 3950 1.397099e-03 1.357884e-03 1.442041e-03 1.419115e-03 3.955967e-04 + 3951 1.150985e-03 9.887787e-04 6.551033e-04 1.100132e-03 5.191500e-04 + 3952 8.940802e-04 9.850360e-04 1.025129e-03 8.963067e-04 9.666703e-04 + 3953 5.237827e-04 7.083851e-04 2.809145e-04 8.802397e-04 5.280415e-04 + 3954 8.009186e-04 4.176160e-04 7.009418e-04 9.701010e-04 3.934446e-04 + 3955 5.292929e-04 1.019422e-03 1.339818e-03 1.466843e-04 8.468308e-04 + 3956 2.656996e-04 4.886736e-04 1.215830e-03 5.581577e-04 5.623487e-04 + 3957 9.390842e-04 8.789065e-04 1.485905e-03 8.652285e-04 1.246664e-03 + 3958 3.838783e-03 3.535535e-03 1.478249e-03 2.664922e-03 2.527716e-03 + 3959 1.559504e-03 1.815135e-03 9.606776e-04 2.398936e-03 1.061078e-03 + 3960 3.669252e-04 1.331811e-03 7.440861e-04 7.685800e-04 2.575352e-04 + 3961 1.736710e-03 5.269874e-04 4.488539e-04 2.731350e-04 1.009702e-03 + 3962 3.474062e-04 1.295181e-03 2.406594e-04 1.221809e-03 1.316570e-03 + 3963 5.204624e-04 8.563999e-04 9.447141e-04 3.074063e-04 3.946166e-04 + 3964 1.437435e-03 1.121429e-03 7.112220e-04 7.654033e-04 1.401445e-03 + 3965 4.774477e-04 1.056597e-03 5.914561e-04 9.152518e-04 6.112888e-04 + 3966 7.410484e-04 5.801045e-04 4.503799e-04 7.179294e-04 1.101817e-03 + 3967 1.789183e-03 1.347802e-03 1.499027e-03 6.360248e-04 1.410930e-03 + 3968 2.177352e-03 9.913335e-04 1.838147e-03 9.917474e-04 1.928257e-03 + 3969 1.171758e+00 1.229744e+00 1.148204e+00 1.275849e+00 1.168067e+00 + 3970 2.153634e+02 2.133529e+02 2.149096e+02 2.136221e+02 2.106130e+02 + 3971 3.370449e+02 3.341946e+02 3.366414e+02 3.354260e+02 3.308556e+02 + 3972 1.398886e+01 1.393562e+01 1.379055e+01 1.383356e+01 1.378917e+01 + 3973 2.036333e-02 1.535059e-02 2.338693e-02 2.337169e-02 2.166777e-02 + 3974 2.757192e-02 2.826627e-02 2.453863e-02 3.054651e-02 1.981318e-02 + 3975 9.950193e-02 1.221806e-01 1.123007e-01 1.211845e-01 1.191661e-01 + 3976 3.188126e-01 3.957749e-01 3.782142e-01 4.090700e-01 3.708011e-01 + 3977 6.300294e-02 8.099284e-02 6.567086e-02 6.685878e-02 7.245097e-02 + 3978 8.583848e-03 1.160165e-02 1.658580e-02 1.184527e-02 8.435639e-03 + 3979 3.023695e-02 1.765827e-02 1.135862e-02 1.972885e-02 2.488800e-02 + 3980 9.748687e-03 1.503052e-02 1.592053e-02 1.699798e-02 1.054060e-02 + 3981 1.374953e-02 8.894886e-03 2.526000e-02 4.855163e-03 1.479563e-02 + 3982 1.000769e-02 7.029121e-03 1.211781e-02 9.841843e-03 9.933231e-03 + 3983 7.993185e-03 1.211770e-02 1.106653e-02 7.099344e-03 5.474645e-03 + 3984 5.157674e-03 7.540305e-03 8.210674e-03 1.067229e-02 9.169792e-03 + 3985 8.609938e-03 7.029024e-03 1.011924e-02 3.662404e-03 7.201279e-03 + 3986 7.310691e-03 7.773225e-03 8.893178e-03 1.175505e-02 6.738009e-03 + 3987 5.021508e-03 4.332566e-03 7.825698e-03 5.233998e-03 4.674037e-03 + 3988 1.796138e-03 2.389172e-03 3.795741e-03 4.257083e-03 3.426358e-03 + 3989 1.201369e-02 9.016034e-03 3.630683e-03 2.513589e-03 4.648679e-03 + 3990 3.668529e-03 3.243458e-03 6.735125e-03 3.947857e-03 4.821881e-03 + 3991 2.808566e-03 3.956560e-03 5.000900e-03 3.469589e-03 2.708122e-03 + 3992 6.670715e-03 4.035352e-03 6.986869e-03 9.296942e-03 3.405333e-03 + 3993 2.853464e-03 3.991883e-03 3.165440e-03 8.107948e-04 1.932397e-03 + 3994 2.067809e-03 3.287984e-03 2.147864e-03 3.531049e-03 5.160601e-03 + 3995 4.482506e-03 3.870398e-03 8.922959e-03 3.338162e-03 1.465187e-03 + 3996 3.127097e-03 2.268318e-03 1.096255e-03 2.065111e-03 3.351151e-03 + 3997 4.249034e-03 2.235830e-03 5.884548e-03 7.561140e-03 3.148066e-03 + 3998 1.542816e-03 1.304916e-03 1.920087e-03 1.996999e-03 1.759623e-03 + 3999 2.818952e-03 4.029540e-03 2.537425e-03 3.234325e-03 2.967274e-03 + 4000 1.322343e-03 4.092473e-03 6.999468e-04 3.216211e-03 1.779548e-03 + 4001 5.102381e-03 2.260158e-03 4.331113e-03 3.682613e-03 4.187593e-03 + 4002 2.741067e-03 2.375454e-03 2.498159e-03 1.903485e-03 2.501570e-03 + 4003 2.974013e-03 2.644221e-03 1.932274e-03 1.293920e-03 5.088552e-03 + 4004 5.891590e-04 1.033179e-03 2.972879e-03 1.337412e-03 1.189472e-03 + 4005 5.250794e-03 2.623350e-03 2.748717e-03 2.050597e-03 4.150042e-03 + 4006 1.592443e-03 4.012917e-03 1.465063e-03 1.632058e-03 1.388790e-03 + 4007 9.935761e-04 4.284810e-03 3.842119e-03 6.092661e-04 2.555059e-03 + 4008 2.743376e-03 1.079186e-03 1.421134e-03 2.314109e-03 3.382618e-03 + 4009 9.787560e-04 1.494612e-03 3.505731e-03 4.848830e-04 4.132716e-04 + 4010 2.393969e-03 1.995400e-03 1.724208e-03 1.498197e-03 2.232300e-03 + 4011 3.503596e-03 1.650288e-03 1.199929e-03 1.073393e-03 1.514990e-03 + 4012 1.903432e-03 2.270784e-03 3.070510e-03 4.513576e-03 2.952887e-03 + 4013 1.827574e-03 2.351694e-03 2.317089e-03 1.490456e-03 1.339285e-03 + 4014 1.129167e-03 2.561481e-03 2.439655e-03 3.680155e-03 2.066372e-03 + 4015 1.234373e-03 9.759968e-04 8.367296e-04 1.627151e-03 5.731690e-04 + 4016 2.641455e-03 1.391669e-03 2.599168e-03 2.174715e-03 3.511542e-03 + 4017 9.004396e-02 8.247104e-02 8.171013e-02 7.431418e-02 8.010626e-02 + 4018 4.461859e-01 4.308233e-01 4.689479e-01 4.169010e-01 4.285380e-01 + 4019 7.313076e-02 7.964387e-02 8.319336e-02 8.248555e-02 7.766304e-02 + 4020 1.799498e-03 1.387718e-03 1.217638e-03 2.623134e-03 3.077583e-03 + 4021 1.493312e-03 1.668757e-03 4.730693e-03 7.691463e-04 1.983020e-03 + 4022 1.297920e-03 1.521855e-03 4.476244e-04 1.060944e-03 2.051498e-03 + 4023 1.073651e-03 6.143666e-04 2.011221e-03 1.759980e-03 1.171669e-03 + 4024 2.516184e-03 2.316831e-03 3.019711e-03 8.283884e-04 1.923413e-03 + 4025 2.587475e-03 1.689373e-03 2.906102e-03 1.833138e-03 1.626323e-03 + 4026 2.421140e-03 1.418344e-03 3.432448e-03 9.786825e-04 6.108399e-04 + 4027 1.437330e-03 1.380556e-03 1.354098e-03 1.414472e-03 1.422580e-03 + 4028 4.368041e-04 6.138792e-04 3.445657e-03 1.943752e-03 4.268025e-04 + 4029 2.259056e-03 2.561689e-04 7.312229e-04 2.827925e-03 1.115014e-03 + 4030 1.742811e-03 1.125322e-03 1.849238e-03 2.357549e-03 4.250634e-04 + 4031 1.602149e-03 1.757073e-03 1.826133e-03 1.878461e-03 2.484138e-03 + 4032 2.394647e-03 1.677597e-03 1.253351e-03 4.733761e-04 1.028700e-03 + 4033 3.257228e-03 2.323797e-03 2.341196e-03 1.540710e-03 2.397918e-03 + 4034 1.173236e-03 7.712152e-04 1.942198e-03 9.935517e-04 4.892972e-04 + 4035 5.223677e-04 3.863222e-04 1.377199e-03 8.864113e-04 3.526045e-04 + 4036 2.050572e-03 1.358039e-03 2.129662e-03 1.575782e-03 9.252329e-04 + 4037 9.893247e-04 2.716536e-04 1.618582e-03 1.571661e-03 2.252383e-03 + 4038 6.724286e-04 8.970506e-04 1.675134e-03 1.078423e-03 5.453429e-04 + 4039 1.638652e-03 1.285967e-03 8.366573e-04 8.921072e-04 2.413550e-04 + 4040 1.001219e-03 1.671985e-03 2.059985e-03 1.807890e-03 1.325223e-03 + 4041 3.143761e-04 9.625793e-04 7.626087e-04 2.787280e-04 1.505559e-04 + 4042 1.937023e-03 1.426972e-03 1.166429e-03 1.171964e-03 1.935793e-03 + 4043 1.041725e-03 4.269939e-04 1.209690e-03 1.161343e-04 7.022735e-04 + 4044 2.901040e-03 8.837901e-04 3.483772e-03 2.084570e-03 2.495720e-03 + 4045 1.295138e-03 4.350508e-04 1.712193e-03 1.424669e-03 9.230521e-04 + 4046 1.711313e-04 7.164547e-04 1.335419e-03 3.298645e-04 2.900885e-04 + 4047 1.712337e-03 1.629336e-03 2.868424e-03 2.365483e-03 1.811766e-03 + 4048 9.844550e-04 9.597561e-04 7.188961e-04 2.364508e-03 1.755052e-03 + 4049 2.773925e-03 6.893567e-04 1.830804e-03 1.267081e-03 2.164267e-03 + 4050 1.298806e-03 1.456698e-03 4.592235e-03 1.687487e-03 1.640482e-03 + 4051 1.375255e-03 2.031702e-03 2.951539e-03 9.787735e-04 1.649328e-03 + 4052 2.906754e-03 7.008034e-04 1.577774e-03 1.096490e-03 2.646259e-03 + 4053 2.786965e-04 8.518291e-04 4.490330e-04 7.821621e-04 8.785400e-04 + 4054 1.391904e-03 2.132305e-04 1.167103e-03 1.234207e-03 8.726355e-04 + 4055 1.329456e-03 1.116686e-03 1.217885e-03 1.158224e-03 1.976392e-03 + 4056 4.682439e-04 5.391618e-04 1.223556e-03 4.321132e-04 6.325001e-04 + 4057 3.159733e-03 6.535578e-04 8.090184e-04 9.096072e-04 1.434105e-03 + 4058 9.317141e-04 1.105309e-03 4.668457e-04 4.357184e-04 5.215759e-04 + 4059 4.804362e-04 1.414223e-03 1.998311e-03 1.420950e-03 1.196838e-03 + 4060 1.388352e-03 1.139088e-03 1.123160e-03 1.562240e-03 1.654087e-03 + 4061 3.402368e-03 3.057475e-03 2.446247e-03 1.677356e-03 2.559331e-03 + 4062 7.815831e-03 9.310236e-03 5.766770e-03 4.260000e-03 6.851606e-03 + 4063 2.466196e-03 3.193337e-03 1.629267e-03 8.472932e-04 1.770974e-03 + 4064 9.109255e-04 1.068931e-03 5.995032e-04 1.068608e-03 3.795878e-04 + 4065 8.737625e-04 2.333556e-03 1.568123e-03 1.056781e-03 1.785230e-03 + 4066 9.323138e-04 5.542160e-04 4.147339e-04 1.201546e-03 2.642591e-04 + 4067 3.099058e-03 1.852628e-03 2.507209e-03 2.039793e-03 3.335019e-03 + 4068 7.333933e-03 7.016747e-03 6.496122e-03 7.221201e-03 8.733483e-03 + 4069 2.458420e-03 2.125431e-03 1.478579e-03 3.620623e-03 3.341454e-03 + 4070 1.330635e-03 1.021580e-03 5.196564e-04 1.646246e-03 1.035092e-03 + 4071 7.270162e-04 7.284648e-04 1.726013e-03 1.015475e-03 1.187739e-03 + 4072 6.702258e-04 1.080188e-03 7.921644e-04 5.200699e-04 5.094851e-04 + 4073 4.209132e-03 2.189982e-03 2.403263e-03 1.818641e-03 1.504997e-03 + 4074 7.806609e-03 5.811830e-03 7.566271e-03 7.447219e-03 5.621849e-03 + 4075 1.674467e-03 1.776285e-03 1.555346e-03 3.040078e-03 1.393181e-03 + 4076 1.150195e-03 9.775850e-04 2.210163e-03 1.281058e-03 1.310014e-03 + 4077 5.635198e-04 2.499307e-04 1.255999e-03 1.836466e-03 1.201991e-03 + 4078 6.849632e-04 5.479611e-04 9.597376e-04 1.950373e-03 1.536123e-03 + 4079 3.418443e-04 7.477618e-04 2.651285e-04 1.169093e-03 8.911631e-04 + 4080 4.663186e-04 3.716700e-04 1.512805e-03 2.245428e-04 1.512962e-03 + 4081 6.552317e-04 8.553531e-04 7.639325e-04 5.437789e-04 5.128100e-04 + 4082 3.939002e-04 3.374251e-04 6.209602e-04 2.995664e-04 3.927117e-04 + 4083 1.530666e-03 1.936178e-03 7.924457e-04 1.667341e-03 2.555365e-03 + 4084 4.140960e-04 3.163380e-04 1.759057e-03 3.429069e-04 3.371120e-04 + 4085 8.017342e-04 3.230709e-04 8.063205e-04 8.169744e-04 3.873846e-04 + 4086 7.894192e-04 1.293719e-03 1.052076e-03 6.614943e-04 7.502802e-04 + 4087 6.545532e-04 1.973798e-03 1.791206e-03 8.924960e-04 1.110432e-03 + 4088 6.524008e-04 1.945101e-04 8.398241e-04 1.892761e-03 8.403884e-04 + 4089 1.781172e-04 2.862586e-04 1.305254e-03 5.711030e-04 4.364464e-04 + 4090 4.780077e-04 7.081640e-04 3.243864e-03 8.840412e-04 8.153458e-04 + 4091 2.399314e-04 9.958651e-04 1.565509e-03 1.181532e-03 4.841390e-04 + 4092 1.180124e-03 4.829024e-04 1.968317e-03 5.519973e-04 8.397412e-04 + 4093 1.273230e-03 1.344781e-04 7.506200e-04 3.948516e-04 3.165160e-04 + 4094 1.180633e-03 4.037969e-04 1.002265e-03 1.180162e-03 2.428313e-04 + 4095 7.770302e-04 4.673410e-04 2.349430e-03 7.273031e-04 9.474283e-04 + 4096 4.227548e-04 8.529185e-04 1.290633e-03 2.226880e-03 1.814610e-04 + 4097 1.313821e+00 1.337650e+00 1.545719e+00 1.352492e+00 1.481904e+00 + 4098 2.148048e+02 2.121855e+02 2.131839e+02 2.141331e+02 2.104228e+02 + 4099 3.392082e+02 3.356379e+02 3.365335e+02 3.381030e+02 3.320644e+02 + 4100 1.389497e+01 1.375603e+01 1.385021e+01 1.382522e+01 1.348079e+01 + 4101 5.239060e-02 4.267296e-02 1.972896e-02 4.075684e-02 3.970162e-02 + 4102 2.748644e-02 1.438151e-02 2.231775e-02 1.944857e-02 2.212079e-02 + 4103 1.007406e-01 1.090062e-01 1.061809e-01 1.069974e-01 1.139500e-01 + 4104 3.360931e-01 3.943159e-01 4.302610e-01 3.948302e-01 4.098433e-01 + 4105 4.241658e-02 5.229496e-02 5.977197e-02 5.560204e-02 5.512714e-02 + 4106 4.086485e-02 3.176227e-02 1.504350e-02 2.036338e-02 2.172950e-02 + 4107 5.224750e-03 8.506264e-03 2.048270e-02 1.284746e-02 1.112598e-02 + 4108 1.613478e-02 1.732492e-02 1.683382e-02 1.275082e-02 1.259692e-02 + 4109 2.013491e-02 1.949088e-02 3.798262e-02 1.960290e-02 1.938167e-02 + 4110 1.029894e-02 1.366466e-02 1.839278e-02 9.393818e-03 1.385627e-02 + 4111 1.239521e-02 1.047920e-02 9.360199e-03 1.028971e-02 6.974954e-03 + 4112 8.248787e-03 8.999698e-03 1.106118e-02 1.001111e-02 8.541005e-03 + 4113 7.576118e-03 6.865434e-03 6.493868e-03 7.503863e-03 9.001995e-03 + 4114 7.494445e-03 3.445373e-03 6.512684e-03 3.921520e-03 4.770782e-03 + 4115 1.063850e-02 9.228232e-03 1.350509e-02 1.353637e-02 5.805540e-03 + 4116 2.921128e-03 2.413455e-03 3.576365e-03 5.086768e-03 3.826011e-03 + 4117 6.625245e-03 6.603563e-03 5.184327e-03 4.772556e-03 6.626813e-03 + 4118 2.654037e-03 4.913860e-03 7.977716e-03 4.998567e-03 5.051665e-03 + 4119 8.160482e-03 6.822379e-03 3.116815e-03 5.625030e-03 5.592045e-03 + 4120 2.043278e-03 2.804802e-03 6.409982e-03 6.905334e-03 4.274591e-03 + 4121 4.834878e-03 3.857352e-03 4.694119e-03 2.622405e-03 3.353615e-03 + 4122 2.265452e-03 2.316392e-03 2.705134e-03 4.532565e-03 4.867496e-03 + 4123 4.321556e-03 4.129362e-03 5.392693e-03 3.032187e-03 3.312655e-03 + 4124 2.583092e-03 3.004948e-03 3.692561e-03 3.118463e-03 4.032025e-03 + 4125 7.107477e-03 2.140958e-03 3.442495e-03 3.586034e-03 2.202519e-03 + 4126 1.816363e-03 6.163535e-03 4.931060e-03 4.826791e-03 2.117825e-03 + 4127 4.288597e-03 2.267022e-03 2.501399e-03 2.348721e-03 3.314185e-03 + 4128 4.280980e-03 8.054361e-04 1.975128e-03 4.118508e-03 2.612985e-03 + 4129 5.149937e-03 3.940047e-03 5.346775e-03 4.813327e-03 7.643732e-03 + 4130 4.459639e-03 1.414124e-03 3.113392e-03 4.959981e-03 1.911102e-03 + 4131 2.224714e-03 2.626761e-03 2.159430e-03 2.159094e-03 4.448802e-03 + 4132 3.576446e-03 1.939359e-03 2.081702e-03 2.559368e-03 8.081349e-04 + 4133 6.468439e-04 1.771893e-03 4.875159e-03 5.761284e-04 1.817027e-03 + 4134 1.825292e-03 1.138300e-03 3.182663e-03 2.452140e-03 1.981657e-03 + 4135 3.181170e-03 4.654746e-03 4.702365e-03 4.773096e-03 5.932535e-03 + 4136 1.344766e-03 2.156475e-04 2.161504e-03 2.708216e-03 9.417623e-04 + 4137 4.923974e-03 4.556975e-03 5.468509e-03 2.511017e-03 3.249204e-03 + 4138 2.915664e-03 4.784050e-03 5.320011e-03 1.875260e-03 2.634475e-03 + 4139 1.270082e-03 2.326992e-03 3.034424e-03 2.191075e-03 1.786018e-03 + 4140 2.194848e-03 1.442662e-03 3.306445e-03 4.388203e-03 9.652244e-04 + 4141 1.353811e-03 6.683183e-04 2.089651e-03 3.496795e-03 1.371299e-03 + 4142 2.766001e-03 2.373913e-03 1.760773e-03 2.481312e-03 2.316706e-03 + 4143 3.585080e-03 1.140371e-03 1.856130e-03 1.635947e-03 6.320596e-04 + 4144 2.577504e-03 2.750330e-03 4.696990e-03 2.109568e-03 1.432209e-03 + 4145 7.769840e-02 8.539810e-02 1.012775e-01 9.040680e-02 8.362279e-02 + 4146 4.493350e-01 4.212209e-01 4.646600e-01 4.503067e-01 4.351998e-01 + 4147 8.869763e-02 7.229033e-02 8.506798e-02 7.942553e-02 8.021142e-02 + 4148 1.501328e-03 1.187302e-03 2.527190e-03 9.974260e-04 8.386866e-04 + 4149 6.127013e-04 1.819233e-03 2.515327e-03 9.313945e-04 1.058182e-03 + 4150 3.229125e-03 2.294234e-03 3.764594e-03 1.753897e-03 2.240590e-03 + 4151 9.899222e-04 5.832174e-04 3.993717e-04 9.869182e-04 1.202523e-03 + 4152 1.442355e-03 2.862676e-03 5.023646e-04 1.039846e-03 1.361688e-03 + 4153 1.585386e-03 2.796408e-04 1.951782e-03 1.255954e-03 6.316788e-04 + 4154 1.929324e-03 2.419500e-03 2.313305e-03 9.053986e-04 8.645607e-04 + 4155 1.345333e-03 9.299207e-04 4.296869e-03 2.608588e-03 1.723418e-03 + 4156 3.964396e-04 5.193584e-04 1.050064e-03 1.313051e-03 8.284467e-04 + 4157 9.101844e-04 1.693129e-03 2.254206e-03 4.900112e-04 1.092890e-03 + 4158 8.897416e-04 1.257145e-03 1.367043e-03 1.004081e-03 8.364583e-04 + 4159 1.867218e-03 9.961002e-04 5.442566e-03 2.936109e-03 2.069202e-03 + 4160 1.952749e-03 1.025063e-03 2.121390e-03 1.655965e-03 1.420136e-03 + 4161 1.240747e-03 7.547909e-04 1.243948e-03 1.786103e-03 1.683271e-03 + 4162 1.863202e-03 9.015318e-04 5.750050e-04 3.497951e-04 9.751961e-04 + 4163 2.992805e-03 6.406995e-04 2.573913e-03 1.101098e-03 1.823451e-03 + 4164 2.513175e-03 1.009254e-03 3.923563e-03 1.873911e-03 1.949540e-03 + 4165 1.269570e-03 1.027614e-03 9.086519e-04 1.667033e-03 1.906938e-03 + 4166 1.387304e-03 1.172891e-03 9.954124e-04 3.826285e-04 1.485467e-03 + 4167 1.649045e-03 2.378939e-03 3.233268e-03 1.977290e-03 1.490929e-03 + 4168 1.795627e-03 1.100154e-03 1.075332e-03 3.428868e-04 5.860871e-04 + 4169 4.532642e-04 1.041995e-03 2.614435e-03 2.523357e-03 5.841896e-04 + 4170 1.744595e-03 1.019711e-03 1.589945e-03 8.669620e-04 1.637399e-03 + 4171 5.308927e-04 5.351289e-04 5.541321e-04 1.157420e-03 8.674573e-04 + 4172 1.701858e-03 1.061378e-03 1.110402e-03 1.318801e-03 1.471665e-03 + 4173 7.376411e-04 1.136242e-03 2.412756e-04 1.578901e-03 1.190169e-03 + 4174 1.226425e-03 1.029631e-03 1.515170e-03 8.223979e-04 7.131992e-04 + 4175 1.237013e-03 1.650838e-03 6.303903e-04 2.398683e-03 2.255561e-03 + 4176 2.027292e-03 1.432345e-03 1.101780e-03 6.274227e-04 1.652758e-03 + 4177 1.887486e-03 3.537138e-03 2.078352e-03 1.370241e-03 1.178266e-03 + 4178 6.142973e-04 1.454148e-03 1.441119e-03 4.458947e-04 1.566311e-03 + 4179 9.772738e-04 6.116961e-04 1.280045e-03 1.454450e-03 2.109588e-03 + 4180 7.102005e-04 8.564887e-04 9.532215e-04 4.899174e-04 9.970615e-04 + 4181 8.867125e-04 3.571911e-04 1.642559e-04 1.287859e-03 5.058134e-04 + 4182 2.476615e-03 1.746428e-03 1.186547e-03 5.870817e-04 1.286347e-03 + 4183 8.941890e-04 1.294258e-03 3.981413e-04 1.717656e-03 4.651149e-04 + 4184 1.746386e-03 7.117993e-04 8.581109e-04 6.788639e-04 6.805520e-04 + 4185 1.408087e-03 1.675076e-03 5.231283e-04 7.723658e-04 6.374826e-04 + 4186 1.054256e-03 1.870001e-03 1.188116e-03 6.902254e-04 1.025742e-03 + 4187 3.887486e-04 3.894657e-04 4.152090e-04 8.758758e-04 2.065709e-04 + 4188 4.188133e-04 4.628450e-04 1.455147e-03 6.417454e-04 9.458860e-04 + 4189 1.272870e-03 2.205990e-03 1.884171e-03 1.604553e-03 1.361891e-03 + 4190 6.671789e-03 8.079856e-03 5.263891e-03 2.970647e-03 6.476142e-03 + 4191 3.020724e-03 3.075643e-03 2.449562e-03 9.598910e-04 1.416145e-03 + 4192 5.553774e-04 2.111214e-03 1.699449e-03 1.503377e-03 1.107024e-03 + 4193 8.587987e-04 7.290025e-04 6.468669e-04 1.239694e-03 7.464191e-04 + 4194 2.187487e-03 1.196317e-03 1.247066e-03 3.850012e-04 5.206984e-04 + 4195 3.414361e-03 2.865765e-03 1.802130e-03 3.010602e-03 2.023608e-03 + 4196 7.599605e-03 9.437556e-03 5.542278e-03 6.926451e-03 4.436339e-03 + 4197 1.311878e-03 1.979968e-03 8.061057e-04 8.469804e-04 1.209750e-03 + 4198 8.155658e-04 1.239203e-03 2.785023e-03 2.119567e-03 6.612970e-04 + 4199 3.668354e-04 2.033923e-03 1.836358e-03 4.750095e-04 5.591067e-04 + 4200 1.227326e-03 1.116424e-03 2.644566e-03 4.723667e-04 4.758772e-04 + 4201 2.168013e-03 3.374050e-03 2.703680e-03 3.064621e-03 1.658545e-03 + 4202 3.451830e-03 4.030123e-03 7.651859e-03 8.946694e-03 7.558135e-03 + 4203 1.713576e-03 7.109787e-04 2.264108e-03 1.905637e-03 3.177187e-03 + 4204 1.300415e-03 1.128533e-03 4.393685e-03 2.142054e-03 1.178796e-03 + 4205 1.391069e-03 2.849786e-04 1.748931e-03 6.850449e-04 9.641791e-04 + 4206 1.313566e-03 1.293430e-03 1.388320e-03 2.190575e-03 6.997850e-04 + 4207 6.328811e-04 2.938013e-03 1.034099e-03 1.858540e-03 2.456845e-03 + 4208 8.922733e-04 9.608732e-04 2.489030e-03 3.171025e-03 1.034797e-03 + 4209 6.458568e-04 9.147796e-04 1.109286e-03 1.610865e-03 1.635144e-03 + 4210 5.877883e-04 1.071355e-03 6.993605e-04 1.236091e-03 2.616215e-04 + 4211 9.127663e-04 2.441510e-04 9.951026e-04 4.828566e-04 2.785559e-04 + 4212 1.053888e-03 1.053184e-03 1.287877e-03 8.308211e-04 7.907190e-04 + 4213 3.505102e-04 1.084033e-03 7.660199e-04 4.371724e-04 5.426867e-04 + 4214 1.280567e-03 3.266580e-03 1.668550e-03 2.142159e-03 5.476573e-04 + 4215 9.064702e-04 1.801479e-03 5.875275e-04 8.148683e-04 1.206270e-03 + 4216 4.971703e-04 1.166242e-03 8.959329e-04 1.152523e-03 2.357849e-04 + 4217 5.245556e-04 3.833968e-04 7.087483e-04 4.644888e-04 1.502971e-04 + 4218 9.078422e-04 1.037991e-03 2.197483e-03 1.258703e-03 1.485206e-03 + 4219 2.979296e-04 5.184077e-04 7.736092e-04 2.011288e-04 3.875864e-04 + 4220 1.833969e-03 1.300887e-03 1.482973e-03 1.201276e-03 1.532983e-03 + 4221 2.199837e-04 1.625134e-03 2.836266e-04 1.465233e-04 9.200711e-04 + 4222 8.044347e-04 1.244443e-03 1.289872e-04 6.930250e-04 6.127700e-04 + 4223 2.473219e-03 6.222188e-04 8.043368e-04 1.637882e-03 1.099025e-03 + 4224 1.286010e-03 5.337974e-04 9.259740e-04 1.628055e-04 5.159189e-04 + 4225 1.305172e+00 1.277755e+00 1.241035e+00 1.355614e+00 1.367985e+00 + 4226 2.154188e+02 2.138567e+02 2.121946e+02 2.146720e+02 2.109676e+02 + 4227 3.389666e+02 3.352619e+02 3.337498e+02 3.376273e+02 3.308685e+02 + 4228 1.401050e+01 1.366911e+01 1.382405e+01 1.398064e+01 1.368102e+01 + 4229 8.761310e-02 6.761554e-02 3.252372e-02 5.389790e-02 4.528387e-02 + 4230 1.770310e-02 1.624211e-02 1.172126e-02 1.413272e-02 1.547749e-02 + 4231 9.265319e-02 1.299576e-01 1.092493e-01 1.068850e-01 1.123202e-01 + 4232 2.892896e-01 3.506754e-01 3.184749e-01 3.203579e-01 3.215915e-01 + 4233 6.151512e-02 7.575962e-02 7.332696e-02 5.922753e-02 6.369308e-02 + 4234 3.165008e-02 2.127814e-02 1.785636e-02 3.188425e-02 2.868542e-02 + 4235 6.494674e-03 5.652880e-03 1.129932e-02 4.594417e-03 5.615781e-03 + 4236 1.788053e-02 1.422817e-02 1.332178e-02 2.015293e-02 1.480268e-02 + 4237 8.405566e-03 1.018495e-02 1.600014e-02 6.651665e-03 1.293175e-02 + 4238 1.839147e-02 9.123400e-03 1.425690e-02 1.318913e-02 9.596248e-03 + 4239 6.786633e-03 8.234397e-03 8.177537e-03 7.665858e-03 9.595386e-03 + 4240 9.817037e-03 7.332928e-03 8.848871e-03 9.058017e-03 5.911959e-03 + 4241 4.988710e-03 5.643873e-03 5.613555e-03 6.618732e-03 9.217380e-03 + 4242 5.524000e-03 6.490805e-03 7.418460e-03 2.546550e-03 3.859052e-03 + 4243 7.989950e-03 6.495015e-03 1.193771e-02 2.245140e-02 5.159563e-03 + 4244 4.473128e-03 5.352655e-03 3.778219e-03 1.705713e-03 4.485079e-03 + 4245 4.705203e-03 4.582026e-03 2.847567e-03 5.763971e-03 5.208602e-03 + 4246 4.128065e-03 6.016764e-03 4.113968e-03 3.964386e-03 4.606306e-03 + 4247 3.147826e-03 5.271263e-03 8.501402e-03 4.830627e-03 5.342399e-03 + 4248 4.206033e-03 2.377653e-03 3.625207e-03 5.689524e-03 2.789400e-03 + 4249 4.871884e-03 1.579323e-03 2.753120e-03 4.086115e-03 2.683817e-03 + 4250 3.033654e-03 4.016127e-03 4.593390e-03 4.898381e-03 4.703631e-03 + 4251 4.036078e-03 3.724396e-03 2.839605e-03 1.747747e-03 1.760447e-03 + 4252 1.581462e-03 3.561832e-03 1.380599e-03 3.209518e-03 3.169473e-03 + 4253 1.285336e-02 3.413639e-03 9.451871e-03 7.012176e-03 3.425445e-03 + 4254 3.700461e-03 2.381531e-03 2.099255e-03 3.325466e-03 3.400665e-03 + 4255 2.572901e-03 2.478288e-03 2.247706e-03 2.284369e-03 1.872335e-03 + 4256 3.338726e-03 2.107278e-03 2.814520e-03 3.383377e-03 3.207165e-03 + 4257 4.152009e-03 2.210425e-03 3.786019e-03 1.645433e-03 4.384879e-03 + 4258 2.670528e-03 3.829184e-03 2.580398e-03 1.748972e-03 3.340469e-03 + 4259 1.266452e-03 3.270459e-04 3.258497e-03 1.498827e-03 1.516008e-03 + 4260 1.891383e-03 2.232764e-03 1.400446e-03 2.001028e-03 1.764110e-03 + 4261 2.116615e-03 2.101432e-03 3.859039e-03 1.789877e-03 1.380347e-03 + 4262 3.355529e-03 1.280143e-03 2.375072e-03 2.571340e-03 2.316680e-03 + 4263 1.163772e-03 1.031049e-03 1.415782e-03 1.242055e-03 2.867100e-03 + 4264 2.171012e-03 1.470761e-03 4.540418e-03 1.226400e-03 4.680707e-03 + 4265 1.004287e-03 2.902029e-03 1.697954e-03 2.518401e-03 2.064906e-03 + 4266 2.251896e-03 1.086210e-03 1.522725e-03 8.544978e-04 1.941145e-03 + 4267 3.657854e-03 5.157897e-03 3.076171e-03 4.598624e-03 3.538639e-03 + 4268 1.316282e-03 5.608669e-04 4.668577e-04 7.998485e-04 7.356047e-04 + 4269 2.473131e-03 1.757002e-03 3.600797e-03 4.638613e-03 5.210971e-03 + 4270 2.227800e-03 2.854669e-03 1.062623e-03 1.740487e-03 6.763146e-04 + 4271 7.122891e-04 5.184151e-04 1.571353e-03 2.426417e-04 9.375975e-04 + 4272 4.292761e-03 2.391927e-03 1.716729e-03 1.914174e-03 4.819542e-03 + 4273 8.185992e-02 8.026689e-02 8.151219e-02 8.325122e-02 6.682223e-02 + 4274 4.282807e-01 4.016197e-01 4.392474e-01 4.523379e-01 4.188341e-01 + 4275 8.013970e-02 7.562038e-02 8.049497e-02 8.671446e-02 8.206866e-02 + 4276 1.713786e-03 2.516077e-03 5.404268e-04 5.148375e-04 1.142505e-03 + 4277 1.527312e-03 8.740880e-04 1.293040e-03 1.482553e-03 1.510564e-03 + 4278 3.750523e-04 2.521296e-03 2.493410e-03 5.859638e-04 2.014070e-03 + 4279 2.515125e-03 2.147737e-03 2.434445e-03 1.936883e-03 8.951698e-04 + 4280 3.654902e-03 3.054117e-03 4.795889e-03 3.076727e-03 3.233297e-03 + 4281 7.009061e-04 5.459301e-04 1.324242e-03 1.559950e-03 1.202581e-03 + 4282 5.108983e-04 1.366581e-03 3.834790e-03 2.789382e-03 1.362256e-03 + 4283 2.623440e-03 1.316361e-03 2.023267e-03 2.308263e-03 1.915893e-03 + 4284 1.027932e-03 1.514703e-04 2.117437e-03 1.319271e-03 1.365634e-03 + 4285 3.642230e-03 1.653190e-03 2.744157e-03 1.925219e-03 2.926351e-03 + 4286 1.264852e-03 1.112810e-03 3.576797e-04 2.080302e-03 1.945630e-03 + 4287 9.988879e-04 2.345441e-03 3.849844e-03 6.559852e-04 8.466006e-04 + 4288 9.509781e-04 1.892307e-03 1.584699e-03 1.484507e-03 1.182234e-03 + 4289 1.037776e-03 2.224027e-03 2.109621e-03 1.663741e-03 1.950374e-03 + 4290 2.168364e-03 2.610497e-03 3.833609e-03 1.733702e-03 1.397705e-03 + 4291 5.654899e-04 8.201904e-04 2.093881e-04 7.875435e-04 1.107147e-03 + 4292 3.443251e-03 2.321358e-03 3.163253e-03 3.044785e-03 3.488798e-03 + 4293 2.948547e-04 2.234025e-04 1.306339e-03 8.625540e-04 2.258810e-04 + 4294 1.657333e-03 2.391739e-03 2.102396e-03 1.581295e-03 1.276860e-03 + 4295 1.054468e-03 1.144932e-03 5.801333e-04 7.664479e-04 3.462950e-04 + 4296 1.701253e-03 1.267777e-03 1.333668e-03 9.835741e-04 4.471177e-04 + 4297 9.863218e-04 1.055877e-03 8.948593e-04 9.894436e-04 8.472813e-04 + 4298 1.448042e-03 1.129664e-03 8.645908e-04 1.075953e-03 1.190914e-03 + 4299 1.460810e-03 1.695067e-03 1.105389e-03 1.699012e-03 1.931884e-03 + 4300 8.941372e-04 1.829910e-03 2.590486e-03 1.244441e-03 8.776570e-04 + 4301 9.069023e-04 1.256277e-04 5.478401e-04 1.813822e-03 4.879025e-04 + 4302 4.029706e-04 7.726002e-04 6.302249e-04 9.049958e-04 8.812733e-04 + 4303 1.783484e-03 5.078939e-04 1.402176e-03 1.055252e-03 1.619105e-03 + 4304 1.190253e-03 1.398150e-03 2.091257e-03 2.442317e-03 9.250555e-04 + 4305 6.636392e-04 2.492419e-04 1.935401e-03 1.427473e-03 1.276908e-03 + 4306 7.285050e-04 6.001354e-04 1.552439e-03 6.511041e-04 1.839605e-03 + 4307 6.396616e-04 1.770736e-03 3.862062e-04 8.820667e-04 8.730197e-04 + 4308 4.176244e-04 7.289686e-04 6.755314e-04 1.118585e-03 7.164352e-04 + 4309 9.412390e-04 2.588381e-03 4.541625e-04 1.652984e-03 9.320546e-04 + 4310 3.581094e-04 1.191581e-03 3.300773e-04 1.079763e-03 7.503630e-04 + 4311 9.861281e-04 1.831548e-03 1.066875e-03 1.091465e-03 1.229961e-03 + 4312 1.259986e-03 1.709761e-03 5.079732e-04 1.470181e-03 1.235311e-03 + 4313 6.593726e-04 1.339729e-03 8.519551e-04 2.980020e-04 1.736214e-03 + 4314 8.852023e-04 1.850287e-03 1.942059e-03 1.557069e-03 1.927093e-03 + 4315 2.687569e-04 2.758821e-04 5.922605e-04 2.803618e-04 3.225237e-04 + 4316 2.691170e-03 1.384474e-03 6.654118e-04 1.073643e-03 1.321105e-03 + 4317 2.003316e-03 1.510468e-03 2.430282e-03 3.286420e-03 2.004605e-03 + 4318 5.285124e-03 5.223987e-03 8.861349e-03 7.406216e-03 7.040205e-03 + 4319 1.076443e-03 1.886766e-03 2.545490e-03 2.103330e-03 3.983628e-03 + 4320 8.838606e-04 7.776779e-04 1.559617e-03 1.388893e-03 2.028579e-03 + 4321 3.789890e-04 1.160989e-03 4.225970e-04 9.494224e-04 6.570874e-04 + 4322 1.053035e-03 1.019118e-03 1.402227e-03 1.029383e-03 9.071947e-04 + 4323 2.180126e-03 3.580474e-03 3.134342e-03 1.752126e-03 2.098751e-03 + 4324 7.624018e-03 1.068068e-02 1.041748e-02 7.875502e-03 6.665962e-03 + 4325 2.331349e-03 2.576678e-03 3.048893e-03 2.414764e-03 1.858503e-03 + 4326 4.038843e-04 1.193172e-03 1.348977e-03 1.703126e-03 1.882757e-03 + 4327 7.959645e-04 1.364668e-03 1.141801e-03 7.810251e-04 6.006117e-04 + 4328 9.996014e-04 8.664403e-04 9.582883e-04 1.350696e-03 2.979626e-04 + 4329 2.800661e-03 1.796030e-03 3.492610e-03 1.891367e-03 3.507437e-03 + 4330 6.901619e-03 6.208263e-03 6.214183e-03 6.158317e-03 8.035976e-03 + 4331 1.565829e-03 3.288473e-03 2.408530e-03 2.841329e-03 2.805269e-03 + 4332 4.171547e-04 1.217955e-03 2.384158e-04 1.215091e-03 1.001149e-03 + 4333 4.493738e-04 1.053485e-03 8.778914e-04 1.086065e-03 1.150427e-03 + 4334 1.190616e-03 1.701389e-03 6.477709e-04 9.007507e-04 6.182175e-04 + 4335 1.994535e-03 1.123716e-03 1.098462e-03 1.488960e-03 3.530212e-03 + 4336 8.126652e-04 1.952738e-03 8.562926e-04 1.382408e-03 2.514541e-03 + 4337 1.302821e-03 5.256596e-04 1.966581e-03 1.798120e-03 7.967151e-04 + 4338 1.032811e-03 2.301112e-03 6.500056e-04 1.914674e-03 9.211224e-04 + 4339 1.540029e-03 1.519028e-03 3.032111e-04 1.831131e-04 6.679497e-04 + 4340 1.114738e-03 1.079884e-03 1.482543e-04 3.937619e-04 1.573688e-03 + 4341 1.222574e-03 1.355979e-03 1.218702e-03 1.065420e-03 1.717068e-03 + 4342 2.506479e-03 2.668808e-03 1.067261e-03 2.357040e-03 2.788603e-03 + 4343 1.307695e-03 1.122142e-03 2.147508e-03 8.273049e-04 1.023423e-03 + 4344 1.102614e-03 2.581152e-04 6.356816e-04 4.171797e-04 5.351305e-04 + 4345 9.974523e-04 1.818455e-03 2.697027e-03 1.424159e-03 1.139850e-03 + 4346 1.272263e-03 2.379249e-04 6.801387e-04 5.711450e-04 8.878545e-04 + 4347 4.336330e-04 9.987411e-04 5.634395e-04 8.665177e-04 2.600091e-04 + 4348 3.918128e-04 8.230081e-04 4.505105e-04 1.300479e-03 6.056480e-04 + 4349 1.170412e-03 2.240459e-03 1.652254e-03 1.093008e-03 3.821755e-04 + 4350 5.133029e-04 6.656428e-04 1.150983e-03 9.376945e-04 5.300034e-04 + 4351 2.209501e-03 1.735984e-03 1.107565e-03 1.083538e-03 1.184695e-03 + 4352 1.200352e-03 3.474269e-04 4.231086e-04 5.596035e-04 9.132774e-05 + 4353 1.433425e+00 1.433441e+00 1.529413e+00 1.327230e+00 1.515555e+00 + 4354 2.147078e+02 2.134260e+02 2.135023e+02 2.146268e+02 2.112244e+02 + 4355 3.386258e+02 3.356585e+02 3.360206e+02 3.375165e+02 3.322684e+02 + 4356 1.386093e+01 1.381247e+01 1.384098e+01 1.386635e+01 1.362902e+01 + 4357 2.489723e-02 2.399533e-02 1.391883e-02 1.786022e-02 2.019786e-02 + 4358 3.208109e-02 3.561380e-02 2.940487e-02 3.302893e-02 3.127628e-02 + 4359 1.044931e-01 1.192210e-01 1.113353e-01 1.283263e-01 1.120884e-01 + 4360 3.198622e-01 3.708117e-01 3.969320e-01 4.144545e-01 3.534373e-01 + 4361 5.850988e-02 6.936806e-02 6.632203e-02 6.723404e-02 5.628627e-02 + 4362 2.192645e-02 1.967266e-02 2.123844e-02 1.571514e-02 2.970854e-02 + 4363 1.678090e-02 1.433813e-02 1.338334e-02 2.301497e-02 4.543388e-03 + 4364 9.688461e-03 8.675417e-03 1.205932e-02 1.126592e-02 1.409610e-02 + 4365 2.361615e-02 1.831000e-02 3.219830e-02 1.847707e-02 1.734954e-02 + 4366 9.844337e-03 7.975636e-03 1.063587e-02 1.394144e-02 1.041666e-02 + 4367 1.246683e-02 9.929534e-03 5.805958e-03 5.815281e-03 1.006508e-02 + 4368 5.818792e-03 3.936905e-03 6.934925e-03 6.779944e-03 6.489670e-03 + 4369 7.500717e-03 7.628461e-03 7.153306e-03 6.894518e-03 4.714332e-03 + 4370 1.269638e-02 7.287600e-03 1.819103e-02 1.344738e-02 7.568394e-03 + 4371 2.187311e-03 6.535234e-03 2.296956e-03 2.277907e-03 7.102503e-03 + 4372 7.884706e-03 4.996384e-03 4.195071e-03 5.880115e-03 5.325147e-03 + 4373 4.648586e-03 2.677753e-03 1.075800e-02 3.778304e-03 3.979032e-03 + 4374 8.171860e-03 3.894810e-03 3.906675e-03 7.392398e-03 7.467818e-03 + 4375 2.148679e-03 4.583158e-03 4.407773e-03 3.724374e-03 2.530162e-03 + 4376 3.682317e-03 4.658415e-03 3.735778e-03 6.199230e-03 5.141344e-03 + 4377 2.921029e-03 2.810569e-03 3.258995e-03 2.247085e-03 2.258749e-03 + 4378 2.700552e-03 4.138571e-03 3.013418e-03 5.233052e-03 3.683905e-03 + 4379 6.498835e-03 3.249483e-03 3.753620e-03 2.556605e-03 3.156843e-03 + 4380 7.189424e-03 1.753840e-03 5.889452e-03 3.209136e-03 1.385638e-03 + 4381 2.859854e-03 2.111457e-03 1.280305e-03 4.335259e-03 2.801316e-03 + 4382 4.809776e-03 3.325149e-03 5.540336e-03 4.825106e-03 5.335486e-03 + 4383 3.174554e-03 3.594156e-03 2.251976e-03 3.871221e-03 2.654026e-03 + 4384 3.397636e-03 2.204440e-03 4.261522e-03 2.037923e-03 2.342999e-03 + 4385 3.267683e-03 2.541359e-03 4.479579e-03 1.580650e-03 3.068120e-03 + 4386 1.543058e-03 1.279232e-03 2.604688e-03 2.386226e-03 8.717208e-04 + 4387 1.528788e-03 2.870425e-03 2.518671e-03 1.467631e-03 2.462513e-03 + 4388 3.841858e-03 2.340773e-03 1.988945e-03 4.700027e-03 1.361137e-03 + 4389 2.874949e-03 5.101756e-03 3.433704e-03 4.239723e-03 4.310703e-03 + 4390 2.239823e-03 2.434918e-03 3.219461e-03 2.430527e-03 2.136472e-03 + 4391 2.457537e-03 8.671557e-04 7.574433e-04 1.575156e-03 2.414046e-03 + 4392 8.559287e-04 2.440725e-03 4.799382e-03 1.359319e-03 5.699520e-03 + 4393 2.018957e-03 3.045804e-03 1.658592e-03 2.425528e-03 2.034188e-03 + 4394 1.118414e-03 3.009984e-03 5.885538e-03 6.518450e-04 1.978066e-03 + 4395 1.977872e-03 5.076687e-03 1.541644e-03 1.014461e-03 1.694996e-03 + 4396 2.096667e-03 2.157444e-03 8.652229e-04 2.129486e-03 2.099846e-03 + 4397 4.526063e-03 1.143833e-03 1.436486e-03 2.455478e-03 1.887363e-03 + 4398 1.414893e-03 1.395541e-03 7.024945e-04 2.066492e-03 7.058424e-04 + 4399 2.455735e-03 6.393218e-04 1.706203e-03 1.007032e-03 2.047123e-03 + 4400 3.454592e-03 1.865699e-03 1.768937e-03 6.431818e-04 2.641385e-03 + 4401 7.595976e-02 8.547558e-02 8.415369e-02 8.412232e-02 6.882301e-02 + 4402 4.326448e-01 4.488543e-01 4.454796e-01 4.517996e-01 4.253020e-01 + 4403 9.059545e-02 8.456932e-02 8.698529e-02 8.364835e-02 8.113349e-02 + 4404 2.229011e-03 8.850433e-04 2.513365e-03 1.925242e-03 1.987020e-03 + 4405 1.488129e-03 9.701615e-04 2.263907e-03 3.841430e-04 5.276222e-04 + 4406 1.258126e-03 1.215702e-03 1.766826e-03 1.869928e-03 1.251933e-03 + 4407 1.197052e-03 2.254795e-03 1.795792e-03 9.752531e-04 1.348471e-03 + 4408 4.920377e-03 3.424811e-03 3.002963e-03 4.216213e-03 4.753553e-03 + 4409 7.581728e-04 3.484651e-04 1.138711e-03 8.893706e-04 1.598503e-04 + 4410 1.516411e-03 7.350866e-04 1.355995e-03 1.359587e-03 7.637330e-04 + 4411 1.389826e-03 1.879644e-03 1.849638e-03 1.200540e-03 1.220678e-03 + 4412 1.025408e-03 1.554689e-03 9.703574e-04 2.238447e-03 1.550190e-03 + 4413 2.232936e-03 1.687352e-03 1.001491e-03 1.328043e-03 1.856675e-03 + 4414 1.487658e-03 2.938488e-03 2.680723e-03 1.759334e-03 2.924030e-03 + 4415 1.444584e-03 1.012670e-03 5.048987e-04 7.007052e-04 8.613130e-04 + 4416 1.240502e-03 3.909663e-04 1.241660e-03 1.582990e-03 2.486181e-03 + 4417 1.507646e-03 1.306895e-03 2.132765e-03 1.565497e-03 1.636538e-03 + 4418 1.179767e-03 8.440705e-04 1.372948e-03 8.023515e-04 6.489063e-04 + 4419 8.544899e-04 5.173287e-04 1.326554e-03 1.307818e-03 6.123579e-04 + 4420 1.146405e-03 1.707289e-03 5.184617e-04 1.753963e-03 1.008786e-03 + 4421 7.633167e-04 5.071601e-04 1.386215e-03 3.910789e-04 3.053533e-04 + 4422 7.834709e-04 1.588244e-03 1.664263e-03 7.859543e-04 7.211730e-04 + 4423 2.175960e-03 4.153893e-03 1.384244e-03 1.971788e-03 2.714472e-03 + 4424 1.218164e-03 1.090740e-03 2.082387e-03 1.652688e-03 1.208698e-03 + 4425 2.124544e-03 6.681621e-04 1.416632e-03 1.238864e-03 3.319794e-04 + 4426 3.121256e-03 3.184121e-03 8.212459e-04 2.509078e-03 1.054654e-03 + 4427 1.179990e-03 8.867203e-04 2.391371e-03 1.116148e-03 6.921484e-04 + 4428 1.169021e-03 1.848505e-03 1.880663e-03 1.858336e-03 3.661644e-03 + 4429 9.906437e-04 1.838223e-03 1.370973e-03 8.464671e-04 2.615115e-03 + 4430 2.180428e-03 1.246992e-03 6.963386e-04 8.470943e-04 2.125008e-03 + 4431 7.836114e-04 9.714554e-04 1.048389e-03 3.600992e-04 1.634098e-04 + 4432 6.139380e-04 1.411003e-03 1.216965e-03 6.280910e-04 1.335025e-03 + 4433 1.355280e-03 1.009659e-03 1.297685e-03 1.114771e-03 6.100340e-04 + 4434 5.381516e-04 2.865356e-04 9.588267e-04 7.857912e-04 1.309347e-03 + 4435 9.569311e-04 1.185967e-03 1.032677e-03 2.815426e-03 1.071315e-03 + 4436 9.916462e-04 7.429589e-04 1.352916e-03 8.152391e-04 8.210372e-04 + 4437 5.364212e-04 2.901337e-03 1.997419e-03 1.851478e-03 1.605322e-03 + 4438 2.290281e-04 1.328506e-03 9.899253e-04 1.051443e-03 1.060645e-03 + 4439 1.135096e-03 1.803209e-03 2.763189e-03 2.447863e-03 2.185548e-03 + 4440 1.639193e-03 1.993967e-03 7.922891e-04 2.113015e-03 1.718136e-03 + 4441 1.149099e-03 2.077230e-03 1.493955e-03 3.120642e-03 2.911057e-03 + 4442 1.065633e-03 1.457170e-03 8.671033e-04 1.127350e-03 1.057557e-03 + 4443 5.877694e-04 1.899213e-03 3.046813e-04 6.334672e-04 7.908724e-04 + 4444 1.013616e-03 8.087141e-04 1.925767e-03 1.404368e-03 7.780384e-04 + 4445 1.446362e-03 2.545611e-03 1.939807e-03 1.636466e-03 2.401934e-03 + 4446 9.286338e-03 9.861128e-03 6.242789e-03 1.203632e-02 8.004872e-03 + 4447 1.200612e-03 1.615938e-03 1.644136e-03 3.038515e-03 1.089363e-03 + 4448 1.429390e-03 1.328171e-03 1.556871e-03 4.523364e-04 1.279235e-03 + 4449 1.227520e-03 1.209099e-03 2.625326e-03 1.188182e-03 1.545443e-03 + 4450 1.249923e-03 4.480663e-04 7.868123e-04 4.198843e-04 9.109817e-04 + 4451 1.415514e-03 1.536937e-03 2.073336e-03 1.376837e-03 1.462673e-03 + 4452 9.051892e-03 8.999585e-03 8.513754e-03 5.887361e-03 9.310056e-03 + 4453 1.703125e-03 3.168905e-03 1.760045e-03 1.331411e-03 2.829380e-03 + 4454 8.907817e-04 1.949082e-03 4.051863e-03 1.616762e-03 8.244145e-04 + 4455 7.216870e-04 8.566605e-04 1.801043e-03 3.937271e-04 2.865818e-04 + 4456 4.440940e-04 8.392652e-04 3.058546e-04 1.630443e-03 4.096439e-04 + 4457 3.800106e-03 3.854871e-03 3.180110e-03 3.631651e-03 4.114353e-03 + 4458 8.878660e-03 6.992882e-03 8.685426e-03 5.572032e-03 9.277942e-03 + 4459 1.841973e-03 2.852847e-03 2.934717e-03 1.473324e-03 3.444160e-03 + 4460 1.516029e-03 2.387970e-03 1.606416e-03 7.178161e-04 1.000909e-03 + 4461 9.145891e-04 1.009840e-03 1.265656e-03 5.846082e-04 4.842153e-04 + 4462 9.935374e-04 5.292747e-04 2.581534e-03 7.119053e-04 1.277286e-03 + 4463 7.287012e-04 9.210257e-04 9.485682e-04 2.903048e-04 3.952786e-04 + 4464 5.738614e-04 1.401629e-03 1.692008e-03 9.422743e-04 1.274663e-03 + 4465 1.112388e-03 5.462215e-04 7.151530e-04 4.628496e-04 3.206685e-04 + 4466 1.853812e-03 1.881428e-04 1.262101e-03 1.013039e-03 1.284088e-03 + 4467 2.308377e-03 3.372964e-03 6.393592e-04 2.266055e-03 7.368173e-04 + 4468 2.277751e-03 1.619317e-03 7.256435e-04 5.344455e-04 1.380962e-03 + 4469 1.299708e-03 5.614508e-04 4.642633e-04 6.065038e-04 9.264521e-04 + 4470 2.403251e-03 1.849193e-03 2.457952e-03 1.234097e-03 2.057947e-03 + 4471 2.694685e-03 1.589935e-03 3.069930e-03 1.565047e-03 1.619810e-03 + 4472 7.723273e-04 4.121604e-04 9.110163e-04 3.878419e-04 6.322795e-04 + 4473 1.281603e-03 2.287737e-03 7.601695e-04 7.124361e-04 1.164489e-03 + 4474 1.174016e-03 6.510566e-04 2.923016e-04 7.199316e-04 1.462317e-03 + 4475 5.252659e-04 3.749499e-04 1.179799e-03 1.365664e-03 5.614554e-04 + 4476 1.080526e-03 1.207964e-03 9.119719e-04 9.161443e-04 1.008990e-03 + 4477 1.320969e-03 1.040668e-03 9.861010e-04 5.804437e-04 1.116010e-03 + 4478 1.261701e-03 2.140205e-04 5.522466e-04 1.236988e-03 2.130168e-03 + 4479 6.979361e-04 6.011429e-04 2.010941e-04 9.850709e-04 8.833823e-04 + 4480 9.415129e-04 2.731824e-04 1.017381e-03 8.272836e-04 1.563288e-04 + 4481 1.149482e+00 1.210700e+00 1.287096e+00 1.218200e+00 1.017529e+00 + 4482 2.155470e+02 2.125691e+02 2.140339e+02 2.135782e+02 2.097195e+02 + 4483 3.378838e+02 3.343242e+02 3.349027e+02 3.358262e+02 3.304917e+02 + 4484 1.404401e+01 1.391529e+01 1.378773e+01 1.382598e+01 1.379235e+01 + 4485 3.453482e-02 4.740787e-02 3.205930e-02 3.632350e-02 3.969575e-02 + 4486 2.405790e-02 1.631061e-02 2.123550e-02 2.229105e-02 2.781831e-02 + 4487 9.923306e-02 1.059314e-01 9.811659e-02 1.164957e-01 1.121399e-01 + 4488 3.210091e-01 3.586638e-01 3.481531e-01 3.756579e-01 3.858588e-01 + 4489 5.776231e-02 6.466143e-02 4.617686e-02 4.949676e-02 6.225061e-02 + 4490 1.755574e-02 1.931361e-02 1.285725e-02 2.411532e-02 1.649285e-02 + 4491 1.134439e-02 8.476718e-03 1.889555e-02 9.911793e-03 9.788203e-03 + 4492 1.163040e-02 1.103264e-02 7.260084e-03 1.307173e-02 1.019341e-02 + 4493 1.824505e-02 1.671952e-02 2.918187e-02 1.587619e-02 2.073748e-02 + 4494 5.722709e-03 5.778962e-03 2.454887e-03 5.692239e-03 6.323104e-03 + 4495 7.124954e-03 5.739425e-03 7.037910e-03 1.012921e-02 6.512802e-03 + 4496 6.140255e-03 4.763128e-03 8.902622e-03 5.611450e-03 7.075000e-03 + 4497 9.403264e-03 9.152027e-03 8.579700e-03 8.658080e-03 4.229324e-03 + 4498 1.031154e-02 7.646751e-03 9.968278e-03 1.140280e-02 1.113060e-02 + 4499 3.647651e-03 1.288404e-03 2.632237e-03 3.256094e-03 5.819844e-03 + 4500 4.970748e-03 8.194871e-03 4.636312e-03 6.874746e-03 5.042434e-03 + 4501 4.371040e-03 2.892322e-03 7.284984e-03 3.860949e-03 7.690487e-03 + 4502 5.419854e-03 5.480876e-03 7.459990e-03 5.829068e-03 1.875186e-03 + 4503 4.070378e-03 7.054031e-03 2.461196e-03 2.013224e-03 4.983940e-03 + 4504 2.780896e-03 4.919359e-03 2.054592e-03 2.906171e-03 4.126619e-03 + 4505 4.154645e-03 2.847392e-03 4.530802e-03 8.012382e-03 2.842867e-03 + 4506 2.776046e-03 2.592192e-03 3.205795e-03 1.205468e-03 2.537367e-03 + 4507 2.816742e-03 2.529063e-03 2.990410e-03 2.844399e-03 3.377743e-03 + 4508 5.002214e-03 2.708270e-03 1.539859e-03 4.788400e-03 3.291622e-03 + 4509 3.171681e-03 5.588158e-03 3.290085e-03 1.107799e-03 5.889250e-03 + 4510 6.396004e-03 2.767338e-03 1.195608e-03 5.449243e-03 3.017867e-03 + 4511 1.069132e-03 1.266130e-03 2.314949e-03 1.201108e-03 1.462608e-03 + 4512 2.506810e-03 2.551596e-03 2.755856e-03 4.319468e-03 5.447237e-03 + 4513 1.033698e-03 2.272699e-03 3.527870e-03 1.133458e-03 9.678114e-04 + 4514 3.190617e-03 4.418384e-03 4.434482e-03 4.180225e-03 3.301625e-03 + 4515 3.952550e-03 2.475679e-03 4.114974e-03 2.338218e-03 3.365659e-03 + 4516 2.465070e-03 3.067617e-03 1.872621e-03 1.148519e-03 1.264013e-03 + 4517 3.290368e-03 1.746186e-03 3.450700e-03 2.391113e-03 2.908338e-03 + 4518 3.777921e-03 3.175759e-03 6.247645e-03 2.243663e-03 3.224849e-03 + 4519 1.749301e-03 3.338494e-03 3.286688e-03 3.677707e-03 2.890027e-03 + 4520 1.318843e-03 2.586202e-03 3.368972e-03 8.207557e-04 2.112498e-03 + 4521 3.021058e-03 3.193031e-03 1.623289e-03 1.420379e-03 1.698489e-03 + 4522 1.563746e-03 3.329615e-03 3.993997e-03 3.288597e-03 3.973763e-03 + 4523 1.728551e-03 1.768810e-03 3.886516e-03 1.097128e-03 1.007382e-03 + 4524 5.117331e-04 3.405330e-03 1.883746e-03 8.134658e-04 1.521625e-03 + 4525 2.030255e-03 7.960402e-04 8.013194e-04 3.643685e-03 4.240250e-04 + 4526 9.250299e-04 8.357110e-04 1.463083e-03 5.366113e-04 8.263458e-04 + 4527 3.571284e-03 1.307405e-03 4.446520e-04 1.042212e-03 1.975431e-03 + 4528 3.903158e-04 1.114875e-03 1.135097e-03 6.323330e-04 3.082065e-04 + 4529 8.052757e-02 8.009829e-02 9.006801e-02 7.868014e-02 7.920550e-02 + 4530 4.339723e-01 4.251307e-01 4.621643e-01 4.504772e-01 4.173456e-01 + 4531 7.379006e-02 7.574788e-02 8.458966e-02 8.634040e-02 7.663588e-02 + 4532 5.556365e-04 7.921724e-04 1.692898e-03 8.006051e-04 4.186829e-04 + 4533 7.456334e-04 2.110143e-03 3.345422e-03 1.034735e-03 1.505630e-03 + 4534 8.468365e-04 1.601241e-03 4.665143e-04 7.247024e-04 3.185309e-04 + 4535 1.556797e-03 3.710574e-03 4.174972e-03 2.137000e-03 1.710389e-03 + 4536 1.115078e-03 1.201083e-03 2.509733e-03 9.967636e-04 8.492517e-04 + 4537 1.449279e-03 1.619576e-03 9.998001e-04 7.891636e-04 1.265989e-03 + 4538 2.402443e-03 1.506293e-03 3.429750e-03 2.483205e-03 1.841836e-03 + 4539 1.187709e-03 1.364058e-03 9.366620e-04 3.174854e-04 1.716132e-04 + 4540 8.806168e-04 1.108830e-03 1.001936e-03 2.798982e-03 8.771937e-04 + 4541 7.174035e-04 1.489520e-03 5.577395e-04 4.292985e-04 1.637631e-03 + 4542 3.967971e-03 1.707339e-03 2.147461e-03 2.008998e-03 2.509712e-03 + 4543 1.673414e-03 1.672935e-03 1.650152e-03 1.588549e-03 2.305048e-03 + 4544 2.065085e-03 6.717921e-04 8.899197e-04 9.684531e-04 1.079826e-03 + 4545 4.208635e-04 1.210864e-03 2.025806e-03 1.605205e-03 1.227237e-03 + 4546 1.562999e-03 7.966446e-04 1.030395e-03 2.502691e-03 5.751787e-04 + 4547 1.024118e-03 1.086252e-03 1.708456e-03 9.906558e-04 1.803769e-03 + 4548 1.488189e-03 1.248969e-03 1.807249e-03 1.106183e-03 8.959904e-04 + 4549 9.072863e-04 8.364799e-04 1.057132e-03 1.438120e-03 1.484520e-03 + 4550 8.528770e-04 2.579597e-04 1.212770e-03 2.221615e-04 8.446321e-04 + 4551 2.355927e-03 2.336941e-03 2.826501e-03 1.525449e-03 2.121643e-03 + 4552 1.088845e-03 1.407728e-03 1.771262e-03 6.782573e-04 8.284579e-04 + 4553 2.295142e-03 1.406683e-03 3.749865e-03 2.697733e-03 1.121637e-03 + 4554 1.701504e-03 8.946457e-04 7.895819e-04 5.279417e-04 7.568046e-04 + 4555 6.446348e-04 4.297828e-04 6.933653e-04 4.648661e-04 6.770395e-04 + 4556 1.207744e-03 1.367924e-03 1.366729e-03 1.767322e-03 1.167030e-03 + 4557 1.023422e-03 7.979222e-04 7.610624e-04 1.307945e-03 3.110687e-04 + 4558 2.883706e-03 6.484885e-04 1.440481e-03 1.536961e-03 1.674732e-03 + 4559 7.039112e-04 4.159368e-04 3.474491e-04 1.250085e-03 3.637164e-04 + 4560 1.284997e-03 6.197772e-04 1.499379e-03 1.029976e-03 1.592477e-03 + 4561 1.017206e-03 7.009727e-04 1.547104e-03 1.193538e-03 1.289712e-03 + 4562 7.150143e-04 7.736590e-04 1.036535e-03 4.202393e-04 2.283190e-04 + 4563 5.186250e-04 6.881350e-04 6.049192e-04 1.041998e-03 6.793470e-04 + 4564 1.686979e-03 2.709325e-03 1.120052e-03 1.183353e-03 7.250187e-04 + 4565 1.799526e-03 1.755007e-03 8.921484e-04 7.814545e-04 8.434005e-04 + 4566 2.737177e-03 9.223199e-04 9.462600e-04 6.857061e-04 7.489290e-04 + 4567 1.768761e-03 1.063639e-03 2.298368e-03 6.114356e-04 2.343969e-03 + 4568 8.022675e-04 1.718091e-03 1.188213e-03 1.459383e-03 1.343635e-03 + 4569 5.420607e-04 9.522284e-04 5.777613e-04 8.772161e-04 6.025260e-04 + 4570 9.601751e-04 1.434893e-03 1.254014e-03 8.448859e-04 8.628029e-04 + 4571 4.997781e-04 5.241054e-04 9.055242e-04 9.254062e-04 7.714156e-04 + 4572 1.139746e-03 8.972106e-04 6.410488e-04 7.009419e-04 1.155856e-03 + 4573 3.342165e-03 9.829053e-04 2.571169e-03 3.193245e-03 1.317273e-03 + 4574 4.502195e-03 3.780480e-03 4.085223e-03 3.749275e-03 3.392323e-03 + 4575 1.120753e-03 1.591097e-03 5.842256e-04 1.194462e-03 1.085441e-03 + 4576 1.158320e-03 1.905039e-03 1.523463e-03 1.238787e-03 9.834296e-04 + 4577 1.470407e-03 2.573343e-03 2.319211e-03 2.119486e-03 2.102456e-03 + 4578 1.172497e-03 9.658129e-04 1.959563e-03 9.752677e-04 1.503429e-03 + 4579 1.832461e-03 2.132768e-03 2.078371e-03 2.706468e-03 1.357904e-03 + 4580 8.200518e-03 6.539881e-03 1.037281e-02 1.000869e-02 7.687715e-03 + 4581 2.411321e-03 2.374665e-03 3.159748e-03 2.372947e-03 1.622681e-03 + 4582 4.557924e-04 1.059494e-03 7.788034e-04 1.411820e-03 8.384451e-04 + 4583 7.280538e-04 1.366025e-03 6.289998e-04 2.839257e-03 2.234628e-04 + 4584 1.240296e-03 7.550203e-04 2.371938e-03 1.452488e-03 1.091768e-03 + 4585 9.587879e-04 2.210916e-03 4.760331e-03 2.311503e-03 2.950585e-03 + 4586 4.471425e-03 5.177074e-03 1.186491e-02 6.620492e-03 3.378461e-03 + 4587 2.558579e-03 1.721958e-03 3.373022e-03 3.062661e-03 6.618554e-04 + 4588 2.061670e-03 1.868884e-03 2.235565e-03 1.296464e-03 1.472872e-03 + 4589 6.897075e-04 1.581186e-03 5.418546e-04 8.587971e-04 2.471855e-04 + 4590 9.150157e-04 5.458534e-04 1.156642e-03 2.980943e-04 1.226832e-03 + 4591 3.529221e-04 1.056370e-03 8.653451e-04 1.531799e-03 7.233119e-04 + 4592 1.700778e-03 1.184018e-03 1.172284e-03 4.924721e-04 1.720203e-03 + 4593 9.134416e-04 4.160412e-04 7.266223e-04 7.197251e-04 7.129756e-04 + 4594 3.614339e-04 1.768713e-03 1.697726e-03 6.701564e-04 1.123790e-03 + 4595 8.039852e-04 7.332052e-04 1.495201e-03 3.282011e-04 6.882565e-04 + 4596 1.524729e-03 8.339595e-04 2.212687e-03 7.092966e-04 1.811917e-03 + 4597 4.305410e-04 6.642105e-04 1.402146e-03 4.693214e-04 6.101569e-04 + 4598 2.230342e-03 1.869233e-03 2.265791e-03 1.784430e-03 9.148812e-04 + 4599 3.889624e-04 9.721882e-04 7.955373e-04 1.491097e-03 6.305727e-04 + 4600 7.857877e-04 8.733896e-04 1.106097e-03 1.593858e-03 7.709000e-04 + 4601 9.797327e-04 1.048902e-03 1.073185e-03 1.440761e-03 1.514452e-03 + 4602 1.865050e-04 5.440956e-04 4.631040e-04 1.025983e-03 5.305158e-04 + 4603 1.007529e-03 2.033134e-03 2.509411e-03 2.297866e-03 1.828340e-03 + 4604 4.004327e-04 6.479643e-04 1.032533e-03 6.724829e-04 9.732906e-04 + 4605 4.229054e-04 7.349461e-04 1.119321e-03 9.839131e-04 2.076743e-03 + 4606 6.446308e-04 4.030862e-04 1.448707e-03 9.440407e-04 1.291417e-03 + 4607 2.456704e-04 2.157400e-04 4.926407e-04 5.482847e-04 6.225849e-04 + 4608 7.551070e-04 3.596304e-04 9.694239e-04 8.347835e-04 4.881258e-04 + 4609 1.342154e+00 1.235704e+00 1.342746e+00 1.258210e+00 1.278970e+00 + 4610 2.159626e+02 2.130228e+02 2.127694e+02 2.136795e+02 2.105989e+02 + 4611 3.382088e+02 3.344971e+02 3.344848e+02 3.355572e+02 3.314487e+02 + 4612 1.370282e+01 1.371391e+01 1.368183e+01 1.361620e+01 1.370987e+01 + 4613 6.124986e-02 4.206211e-02 2.803157e-02 3.705908e-02 4.552360e-02 + 4614 1.868463e-02 1.279562e-02 2.177371e-02 2.503123e-02 1.936419e-02 + 4615 1.142859e-01 1.355620e-01 1.218484e-01 1.282674e-01 1.143860e-01 + 4616 3.146244e-01 3.548822e-01 3.463902e-01 3.971260e-01 3.750733e-01 + 4617 5.968423e-02 6.545717e-02 7.074398e-02 8.079709e-02 6.749461e-02 + 4618 3.009651e-02 2.321785e-02 1.956494e-02 2.289002e-02 1.881601e-02 + 4619 1.235703e-02 1.160720e-02 1.538457e-02 9.702182e-03 1.354947e-02 + 4620 1.097162e-02 1.597238e-02 1.794051e-02 1.099397e-02 7.022503e-03 + 4621 2.700312e-02 2.131901e-02 2.198675e-02 2.386256e-02 2.545528e-02 + 4622 1.032187e-02 1.107653e-02 1.369788e-02 9.367406e-03 5.968728e-03 + 4623 1.362059e-02 6.595341e-03 8.234741e-03 8.105924e-03 1.149479e-02 + 4624 2.785167e-03 5.699469e-03 5.699109e-03 5.345253e-03 4.342394e-03 + 4625 8.538716e-03 8.616953e-03 1.018506e-02 7.615377e-03 9.938377e-03 + 4626 6.998032e-03 5.249446e-03 5.706896e-03 1.075307e-02 8.456927e-03 + 4627 4.015917e-03 7.469435e-03 7.994685e-03 3.425536e-03 6.407235e-03 + 4628 6.789046e-03 8.347603e-03 5.367151e-03 7.124640e-03 5.384606e-03 + 4629 4.467706e-03 4.061310e-03 3.703048e-03 4.972941e-03 3.458177e-03 + 4630 6.492912e-03 6.835266e-03 7.361242e-03 3.964351e-03 7.550621e-03 + 4631 2.655907e-03 1.818282e-03 2.321174e-03 3.438752e-03 2.131934e-03 + 4632 7.893733e-03 6.505311e-03 1.239775e-02 1.206537e-02 8.646060e-03 + 4633 4.863196e-03 3.384346e-03 4.612953e-03 3.414816e-03 4.254413e-03 + 4634 2.468045e-03 3.920516e-03 2.355591e-03 2.680369e-03 1.749984e-03 + 4635 3.789378e-03 1.453016e-03 4.369862e-03 4.923482e-03 2.703919e-03 + 4636 1.968687e-03 2.501527e-03 2.855489e-03 1.467101e-03 4.672411e-03 + 4637 7.656095e-03 5.364731e-03 4.963626e-03 1.181424e-02 3.152296e-03 + 4638 2.123640e-03 2.054617e-03 2.726271e-03 2.740411e-03 2.634819e-03 + 4639 3.344288e-03 4.986624e-03 3.357853e-03 3.524522e-03 3.255588e-03 + 4640 3.944577e-03 4.894056e-03 2.028861e-03 3.160965e-03 2.654373e-03 + 4641 4.686329e-03 3.487049e-03 3.086454e-03 2.954748e-03 4.419055e-03 + 4642 1.146907e-03 3.067442e-03 3.260661e-03 2.630657e-03 2.521520e-03 + 4643 2.547784e-03 2.144859e-03 4.513644e-04 1.532185e-03 2.219170e-03 + 4644 1.444122e-03 1.440092e-03 3.213795e-03 1.931367e-03 3.475050e-03 + 4645 3.900005e-03 2.102505e-03 1.773504e-03 2.092310e-03 1.266301e-03 + 4646 1.035705e-03 3.587176e-03 1.861516e-03 1.314656e-03 2.072882e-03 + 4647 1.407084e-03 8.263392e-04 2.875845e-03 1.234890e-03 3.098771e-03 + 4648 1.901865e-03 1.126057e-03 1.445220e-03 1.538155e-03 1.456307e-03 + 4649 2.615199e-03 1.820268e-03 4.345298e-03 2.288093e-03 2.673014e-03 + 4650 6.263597e-04 3.043000e-03 1.562913e-03 1.207057e-03 8.980700e-04 + 4651 4.592886e-03 3.390533e-03 2.513214e-03 2.800038e-03 3.184936e-03 + 4652 1.555208e-03 8.162869e-04 5.664660e-04 2.041194e-03 9.484714e-04 + 4653 7.507803e-03 4.265617e-03 6.165040e-03 6.748433e-03 6.499899e-03 + 4654 9.763339e-04 2.038889e-03 6.875629e-04 1.566737e-03 2.578682e-03 + 4655 3.092847e-03 1.092257e-03 1.229105e-03 1.485546e-03 7.797692e-04 + 4656 9.420412e-04 1.377348e-03 1.522708e-03 1.092251e-03 6.998022e-04 + 4657 8.238626e-02 8.962563e-02 7.962472e-02 7.720519e-02 7.655966e-02 + 4658 4.620645e-01 4.792814e-01 4.469487e-01 4.344570e-01 4.134321e-01 + 4659 8.601728e-02 9.505899e-02 8.728974e-02 7.924857e-02 8.131836e-02 + 4660 1.625665e-03 1.873013e-03 8.829668e-04 1.239903e-03 9.612705e-04 + 4661 8.727321e-04 2.153829e-03 1.245255e-03 1.227984e-03 2.402009e-03 + 4662 1.439531e-03 1.093483e-03 3.022097e-03 1.117918e-03 1.899436e-03 + 4663 3.412883e-03 3.624915e-03 1.336528e-03 2.813807e-03 2.204083e-03 + 4664 1.402571e-03 4.268817e-04 1.510444e-03 1.981921e-03 6.726058e-04 + 4665 1.356901e-03 7.922057e-04 7.923716e-04 1.432938e-03 1.191681e-03 + 4666 1.507237e-03 6.345269e-04 3.055162e-03 1.756439e-03 2.613336e-03 + 4667 6.587508e-04 9.451069e-04 1.770005e-03 2.251035e-03 6.930235e-04 + 4668 1.428801e-03 4.205674e-04 1.164721e-03 1.619412e-03 1.600689e-03 + 4669 8.026826e-04 3.231576e-03 9.200475e-04 7.842565e-04 8.670134e-04 + 4670 2.184828e-03 1.478337e-03 1.662538e-03 1.462504e-03 2.934048e-03 + 4671 5.433924e-04 1.831710e-03 7.388225e-04 5.100841e-04 8.135415e-04 + 4672 7.296324e-04 2.287723e-03 2.269219e-03 4.090419e-03 9.270672e-04 + 4673 1.033235e-03 2.205376e-04 6.019180e-04 1.111631e-03 4.110115e-04 + 4674 1.152123e-03 1.453178e-03 3.950888e-03 2.975973e-03 1.587837e-03 + 4675 1.537496e-03 6.931324e-04 1.623542e-03 1.328076e-03 3.986385e-04 + 4676 2.384822e-03 1.793618e-03 2.416954e-03 2.041780e-03 2.278968e-03 + 4677 6.524136e-04 1.531612e-03 5.290129e-04 3.177172e-04 6.008788e-04 + 4678 8.808702e-04 9.026649e-04 1.130976e-03 1.442518e-03 1.399241e-03 + 4679 2.280216e-03 6.727046e-04 1.902225e-03 3.237112e-04 7.879724e-04 + 4680 1.353391e-03 1.124033e-03 1.050407e-03 5.150431e-04 8.461441e-04 + 4681 1.764954e-03 1.185207e-03 1.408211e-03 8.836754e-04 1.245504e-03 + 4682 2.662047e-03 6.190276e-04 1.707956e-04 3.588584e-04 1.198314e-03 + 4683 8.763794e-04 1.177887e-03 1.617281e-03 1.685566e-03 3.603882e-04 + 4684 9.303947e-04 5.366684e-04 9.217186e-04 9.849039e-04 1.549956e-03 + 4685 7.134517e-04 7.273879e-04 4.419644e-04 8.574696e-04 5.121282e-04 + 4686 1.503168e-03 1.389691e-03 1.899592e-03 2.447002e-03 3.352308e-03 + 4687 5.353108e-04 2.000753e-04 8.904139e-04 3.006952e-04 3.501256e-04 + 4688 1.728092e-03 1.495485e-03 1.447516e-03 7.461378e-04 1.022404e-03 + 4689 1.680061e-04 7.966221e-04 1.211223e-03 7.232145e-04 6.865191e-04 + 4690 5.358472e-04 1.027747e-03 2.490844e-03 1.781301e-03 8.515462e-04 + 4691 1.071628e-03 3.713327e-04 1.007135e-03 5.579326e-04 3.253891e-04 + 4692 7.223435e-04 1.367272e-03 1.637586e-03 9.155049e-04 9.194612e-04 + 4693 1.896984e-03 1.254805e-03 1.039911e-03 7.843071e-04 8.018874e-04 + 4694 6.559513e-04 8.797293e-04 1.419395e-03 8.869052e-04 8.989677e-04 + 4695 1.321905e-03 6.194171e-04 8.708978e-04 1.209653e-03 2.796343e-03 + 4696 6.153429e-04 7.894456e-04 1.917578e-03 2.880541e-04 5.755008e-04 + 4697 1.699019e-03 2.073351e-03 1.958470e-03 3.981893e-04 8.750769e-04 + 4698 1.656347e-03 1.186962e-03 8.861424e-04 9.018432e-04 1.125569e-03 + 4699 2.781439e-03 6.886635e-04 1.418160e-03 6.176379e-04 1.244278e-03 + 4700 2.348782e-03 6.817506e-04 1.509139e-03 3.620680e-04 1.896522e-03 + 4701 4.185164e-03 2.735875e-03 2.522283e-03 3.269059e-03 1.423611e-03 + 4702 8.237545e-03 9.127419e-03 7.225214e-03 1.062433e-02 8.970545e-03 + 4703 2.008901e-03 2.669878e-03 2.526639e-03 2.525398e-03 2.448132e-03 + 4704 2.337598e-03 5.271125e-04 1.017463e-03 1.019641e-03 2.277233e-03 + 4705 4.281105e-04 1.105221e-03 2.261013e-03 2.146503e-03 3.475399e-04 + 4706 7.323725e-04 3.014981e-04 6.118693e-04 1.434822e-03 4.181952e-04 + 4707 1.347125e-03 1.139160e-03 1.342343e-03 3.585148e-03 2.495762e-03 + 4708 5.289292e-03 5.113838e-03 5.750127e-03 6.973131e-03 5.473994e-03 + 4709 1.776191e-03 2.412800e-03 1.271004e-03 3.020490e-03 2.218076e-03 + 4710 1.457298e-03 2.561947e-03 1.919089e-03 2.589580e-03 2.302406e-03 + 4711 5.184873e-04 1.286650e-03 5.448740e-04 4.980821e-04 1.336264e-03 + 4712 4.375379e-04 1.157968e-03 1.113800e-03 9.258104e-04 1.445598e-03 + 4713 2.462516e-03 1.123339e-03 7.885152e-04 2.159103e-03 2.048947e-04 + 4714 5.729996e-03 3.624550e-03 4.386096e-03 3.555101e-03 2.444032e-03 + 4715 1.887848e-03 1.748911e-03 1.200912e-03 1.303000e-03 2.079038e-03 + 4716 3.360081e-04 1.705917e-03 1.426576e-03 6.796384e-04 5.226453e-04 + 4717 8.609730e-04 3.191523e-04 2.208514e-03 1.454485e-03 1.201445e-03 + 4718 6.609281e-04 1.254914e-03 1.390273e-03 8.712595e-04 1.143589e-03 + 4719 1.310212e-03 1.964780e-03 2.337034e-03 2.224383e-03 1.726012e-03 + 4720 1.696166e-03 1.460916e-03 1.101470e-03 2.829454e-03 1.268548e-03 + 4721 4.417648e-04 8.316406e-04 5.529006e-04 7.014955e-04 4.117119e-04 + 4722 8.031080e-04 8.714268e-04 3.274015e-04 7.725405e-04 6.476144e-04 + 4723 5.333554e-04 1.504396e-03 1.064713e-03 1.912244e-03 1.125684e-03 + 4724 5.894316e-04 3.833599e-04 8.454260e-04 9.696849e-04 1.080008e-03 + 4725 9.265877e-04 1.744969e-03 9.469459e-04 1.834407e-03 1.030732e-03 + 4726 2.433300e-03 3.153669e-03 3.344264e-03 3.533983e-03 4.364389e-03 + 4727 7.591343e-04 1.006876e-03 1.594821e-03 1.353487e-03 1.310276e-03 + 4728 3.576994e-04 4.257278e-04 1.443594e-03 6.998184e-04 1.079682e-03 + 4729 2.370804e-03 1.306495e-03 2.560368e-03 4.880345e-04 3.500134e-03 + 4730 1.106696e-03 8.583803e-04 9.149584e-04 1.737907e-03 6.279827e-04 + 4731 1.527434e-03 7.457619e-04 1.285797e-03 7.230599e-04 1.182396e-03 + 4732 7.312029e-04 1.137193e-03 5.788136e-04 3.700675e-04 4.608884e-04 + 4733 5.629060e-04 1.082314e-03 2.742948e-03 7.398883e-04 9.543218e-04 + 4734 1.022891e-03 1.417918e-03 1.258023e-03 2.243426e-04 8.074224e-04 + 4735 3.230732e-04 4.469297e-04 1.062932e-03 3.400031e-04 8.266437e-04 + 4736 7.689640e-04 9.495975e-04 5.778732e-04 1.199186e-03 1.052378e-03 + 4737 1.345571e+00 1.093399e+00 1.357385e+00 1.154333e+00 1.363558e+00 + 4738 2.166581e+02 2.125836e+02 2.126101e+02 2.143627e+02 2.119488e+02 + 4739 3.388280e+02 3.348757e+02 3.341523e+02 3.364570e+02 3.321067e+02 + 4740 1.399870e+01 1.395738e+01 1.392418e+01 1.367058e+01 1.376429e+01 + 4741 7.243724e-02 5.460094e-02 3.965579e-02 5.234079e-02 4.965323e-02 + 4742 1.441010e-02 1.800127e-02 1.185831e-02 9.916453e-03 1.583169e-02 + 4743 1.248539e-01 1.213607e-01 1.321843e-01 1.254791e-01 1.214595e-01 + 4744 3.359239e-01 3.490845e-01 3.233277e-01 3.312898e-01 3.482717e-01 + 4745 6.683261e-02 7.664508e-02 7.099777e-02 6.972904e-02 6.838272e-02 + 4746 3.146768e-02 2.824589e-02 2.321130e-02 2.630294e-02 2.520370e-02 + 4747 4.272430e-03 5.304807e-03 1.401522e-02 7.844686e-03 6.557285e-03 + 4748 1.991078e-02 1.650702e-02 1.337874e-02 1.714412e-02 1.608837e-02 + 4749 1.165012e-02 9.399083e-03 1.898149e-02 6.931393e-03 8.349098e-03 + 4750 2.182402e-02 1.766993e-02 1.896588e-02 1.657939e-02 1.364634e-02 + 4751 4.414265e-03 6.374904e-03 9.065949e-03 6.199032e-03 6.882657e-03 + 4752 9.764065e-03 1.278527e-02 9.603097e-03 1.190019e-02 8.382945e-03 + 4753 9.096027e-03 1.100610e-02 5.776878e-03 5.361861e-03 5.473068e-03 + 4754 4.675013e-03 2.656506e-03 4.351183e-03 4.605914e-03 5.291416e-03 + 4755 1.420348e-02 6.052512e-03 1.011724e-02 8.798552e-03 4.856171e-03 + 4756 2.894008e-03 5.338428e-03 5.001600e-03 3.078465e-03 7.690520e-03 + 4757 4.588957e-03 3.693294e-03 2.295395e-03 4.839854e-03 2.896398e-03 + 4758 3.957259e-03 2.815687e-03 5.935844e-03 4.535108e-03 6.557453e-03 + 4759 2.028046e-03 4.699519e-03 4.219641e-03 2.581954e-03 1.641472e-03 + 4760 4.150523e-03 5.246981e-03 8.812737e-03 5.628096e-03 4.822091e-03 + 4761 4.821740e-03 3.947681e-04 1.511633e-03 3.985971e-03 2.110089e-03 + A11 A12 A13 A14 A15 + 1 1.432905e+00 1.366792e+00 1.389860e+00 1.554640e+00 1.431247e+00 + 2 2.120610e+02 2.145449e+02 2.160178e+02 2.102721e+02 2.129807e+02 + 3 3.342058e+02 3.379545e+02 3.403431e+02 3.324430e+02 3.356791e+02 + 4 1.364775e+01 1.387569e+01 1.393770e+01 1.357374e+01 1.361393e+01 + 5 9.724625e-03 1.066866e-02 9.462726e-03 9.549251e-03 1.405454e-02 + 6 4.446641e-02 4.875972e-02 2.847394e-02 4.329771e-02 4.160790e-02 + 7 1.134415e-01 8.271951e-02 1.009161e-01 1.052122e-01 8.694228e-02 + 8 4.280965e-01 3.271583e-01 4.095166e-01 3.989179e-01 3.552461e-01 + 9 5.090743e-02 4.280192e-02 5.088201e-02 5.036584e-02 4.947626e-02 + 10 1.572377e-02 8.884688e-03 1.372147e-02 1.490241e-02 1.393842e-02 + 11 1.665709e-02 2.888535e-02 1.946317e-02 2.179376e-02 2.344239e-02 + 12 1.324163e-02 1.969102e-02 1.424484e-02 1.322406e-02 1.100015e-02 + 13 1.363155e-02 1.473025e-02 1.929748e-02 9.834857e-03 1.597678e-02 + 14 1.227781e-02 2.010352e-02 1.577457e-02 2.228793e-02 1.279814e-02 + 15 6.000985e-03 3.413247e-03 6.097172e-03 3.566244e-03 6.552148e-03 + 16 1.390532e-02 1.427675e-02 1.427515e-02 1.653732e-02 1.430868e-02 + 17 4.963647e-03 8.652506e-03 7.862360e-03 3.343332e-03 4.793623e-03 + 18 8.516462e-03 1.262960e-02 4.689151e-03 7.254991e-03 7.803369e-03 + 19 7.030128e-03 6.199715e-03 9.295154e-03 9.190073e-03 4.526949e-03 + 20 4.769220e-03 6.369774e-03 4.997273e-03 5.189283e-03 6.508152e-03 + 21 8.200820e-03 9.064137e-03 4.975161e-03 6.010379e-03 3.715550e-03 + 22 4.813011e-03 4.605582e-03 4.007392e-03 2.691060e-03 3.310507e-03 + 23 4.000524e-03 6.233022e-03 6.279180e-03 5.370502e-03 7.591334e-03 + 24 4.380641e-03 3.423337e-03 2.167599e-03 4.683103e-03 2.888870e-03 + 25 4.368505e-03 6.615264e-03 4.835260e-03 4.803824e-03 4.936004e-03 + 26 4.396917e-03 2.677487e-03 3.927166e-03 1.467686e-03 2.036373e-03 + 27 3.766247e-03 5.131765e-03 3.850465e-03 4.153157e-03 3.375128e-03 + 28 2.530516e-03 5.536789e-03 2.583530e-03 2.886226e-03 1.757804e-03 + 29 4.172342e-03 7.214624e-03 3.439192e-03 3.560366e-03 4.465815e-03 + 30 2.178996e-03 4.050156e-03 1.929684e-03 1.659839e-03 1.175537e-03 + 31 2.798815e-03 4.576668e-03 1.894157e-03 3.805422e-03 3.977333e-03 + 32 2.712898e-03 1.975299e-03 2.930368e-03 1.313813e-03 1.644047e-03 + 33 3.938452e-03 3.322844e-03 1.982457e-03 3.324406e-03 2.573267e-03 + 34 3.091242e-03 3.377007e-03 3.497962e-03 2.359020e-03 3.888780e-03 + 35 1.028774e-03 1.920553e-03 1.525803e-03 1.020626e-03 1.312062e-03 + 36 4.237521e-03 3.982909e-03 3.465279e-03 6.654830e-03 4.523413e-03 + 37 1.283458e-03 2.866458e-03 1.790499e-03 2.223353e-03 1.167478e-03 + 38 2.746663e-03 1.080288e-03 2.981851e-03 2.119270e-03 3.046094e-03 + 39 3.146794e-03 4.327890e-03 2.336061e-03 2.669946e-03 3.749144e-03 + 40 5.308702e-03 3.724515e-03 7.394179e-04 3.296395e-03 5.266800e-03 + 41 2.243737e-03 2.150488e-03 3.077953e-03 2.093996e-03 1.428077e-03 + 42 2.372683e-03 3.274710e-03 1.946163e-03 2.623768e-03 3.558106e-03 + 43 3.316910e-03 1.669116e-03 3.136771e-03 1.717513e-03 2.995428e-03 + 44 1.249262e-03 1.415002e-03 9.909442e-04 1.172663e-03 2.039730e-03 + 45 1.383361e-03 2.371826e-03 1.149574e-03 2.008721e-03 5.998632e-04 + 46 2.145695e-03 1.056138e-03 1.982880e-03 2.989645e-03 1.262476e-03 + 47 1.751166e-03 1.646796e-03 1.663855e-03 1.532841e-03 2.091451e-03 + 48 6.720468e-04 1.984675e-03 6.077243e-04 1.146017e-03 8.678110e-04 + 49 7.514882e-02 7.629709e-02 7.502750e-02 6.995930e-02 6.500747e-02 + 50 4.196063e-01 4.591158e-01 4.011856e-01 3.910782e-01 3.804237e-01 + 51 9.161660e-02 9.696312e-02 7.931509e-02 8.242198e-02 7.786745e-02 + 52 3.187166e-03 3.392489e-03 2.382398e-03 3.365431e-03 1.880473e-03 + 53 1.555921e-03 6.699311e-04 1.428766e-03 1.337042e-03 1.239023e-03 + 54 5.363740e-04 4.654159e-04 2.984384e-03 6.674371e-04 4.855300e-04 + 55 2.847610e-03 3.294298e-03 2.466776e-03 2.682607e-03 1.462002e-03 + 56 2.019308e-03 3.774240e-03 1.814421e-03 1.045220e-03 1.497137e-03 + 57 2.569967e-03 1.313214e-03 1.337898e-03 2.018869e-03 2.592122e-03 + 58 2.373512e-04 1.946360e-03 5.655972e-04 1.662368e-03 8.605820e-04 + 59 1.307311e-03 9.521587e-04 1.250260e-03 1.345855e-03 1.269752e-03 + 60 1.375577e-03 7.931400e-04 1.367720e-03 2.653162e-04 4.384074e-04 + 61 2.603466e-03 1.242141e-03 2.720703e-03 1.641644e-03 1.242916e-03 + 62 1.823947e-03 9.810314e-04 1.977901e-03 2.457993e-03 1.841878e-03 + 63 2.397683e-03 3.007173e-03 2.270276e-03 1.905953e-03 2.611127e-03 + 64 1.193152e-03 1.852785e-03 1.910444e-03 2.410839e-04 1.053085e-03 + 65 1.818905e-03 1.458848e-03 3.473662e-03 3.602413e-03 2.278375e-03 + 66 1.147733e-03 5.285743e-04 2.144000e-04 1.526678e-03 1.489598e-03 + 67 1.631536e-03 1.978838e-03 4.969206e-04 1.601752e-03 9.206250e-04 + 68 2.429480e-03 2.023215e-03 1.412200e-03 1.704213e-03 2.599373e-03 + 69 2.363506e-03 1.293583e-03 1.271174e-03 8.810030e-04 2.169547e-03 + 70 8.362949e-04 8.507022e-04 1.530546e-03 1.344360e-03 2.008185e-03 + 71 2.322884e-03 8.035060e-04 1.412110e-03 1.486577e-03 1.887267e-03 + 72 1.681899e-03 2.205300e-03 1.221632e-03 7.010332e-04 9.984077e-04 + 73 4.165729e-03 2.225222e-03 1.261394e-03 2.339521e-03 1.197547e-03 + 74 3.763801e-04 1.040276e-03 8.367469e-04 1.054994e-04 1.365031e-03 + 75 2.354800e-03 1.256423e-03 1.893743e-03 1.911635e-03 2.696605e-03 + 76 7.781537e-04 6.092692e-04 2.690738e-04 3.641534e-04 1.030871e-03 + 77 2.189700e-03 9.952441e-04 1.039160e-03 5.609772e-04 1.872344e-03 + 78 1.297953e-03 5.008432e-04 4.723718e-04 1.438382e-03 6.120937e-04 + 79 5.311659e-04 8.218373e-04 8.154492e-04 4.482314e-04 3.243168e-04 + 80 1.160261e-03 2.789450e-03 2.525365e-03 9.266836e-04 1.688310e-03 + 81 2.108179e-04 9.708115e-04 1.063224e-03 4.632503e-04 5.092021e-04 + 82 1.106807e-03 7.623021e-04 7.296972e-04 1.355329e-03 8.582249e-04 + 83 2.152990e-03 1.443784e-03 1.296722e-03 1.604131e-03 1.410958e-03 + 84 2.043887e-03 2.976671e-03 1.522898e-03 1.962491e-03 1.509085e-03 + 85 7.337691e-04 9.497913e-04 4.368211e-04 6.865990e-04 2.002364e-04 + 86 3.086106e-03 1.383230e-03 1.909722e-03 2.370612e-03 7.918165e-04 + 87 5.866919e-04 2.462353e-04 9.453122e-04 2.900802e-04 8.261861e-04 + 88 1.346244e-03 1.366846e-03 3.499387e-04 1.569363e-03 6.748040e-04 + 89 2.093925e-03 6.150263e-04 1.071324e-03 9.475227e-04 6.963788e-04 + 90 1.628667e-03 1.536595e-03 5.282189e-04 1.283639e-03 6.004361e-04 + 91 1.937324e-04 1.077117e-03 1.131634e-03 1.450492e-03 1.645842e-03 + 92 1.628497e-03 1.349166e-03 1.142573e-03 2.208108e-03 7.622248e-04 + 93 1.465959e-03 1.313068e-03 2.573189e-03 2.577660e-03 1.928064e-03 + 94 8.046140e-03 6.052754e-03 6.955876e-03 6.399158e-03 7.906964e-03 + 95 1.337955e-03 2.208235e-03 9.434974e-04 8.903189e-04 1.413370e-03 + 96 1.736123e-03 2.147471e-03 1.141816e-03 7.175404e-04 6.618492e-04 + 97 1.973983e-03 1.950451e-03 1.344267e-03 1.684575e-03 1.135581e-03 + 98 1.856604e-03 1.561443e-03 6.032203e-04 5.793499e-04 4.396646e-04 + 99 2.271010e-03 1.925720e-03 2.836234e-03 3.547840e-03 2.328867e-03 + 100 1.068888e-02 1.115015e-02 1.176824e-02 1.191083e-02 8.480717e-03 + 101 2.000314e-03 2.820808e-03 2.340093e-03 2.562838e-03 1.342792e-03 + 102 8.010649e-04 2.038972e-04 3.255243e-04 1.224468e-03 1.020738e-03 + 103 9.378486e-04 7.423140e-04 7.268452e-04 1.935846e-04 8.920074e-04 + 104 6.222996e-04 1.218945e-03 5.711732e-04 1.862487e-03 3.073426e-03 + 105 1.642550e-03 2.735005e-03 1.993772e-03 1.423644e-03 2.636193e-03 + 106 4.151645e-03 8.287676e-03 6.789265e-03 3.586359e-03 8.140125e-03 + 107 1.167068e-03 1.025206e-03 3.874548e-04 7.117783e-04 1.712863e-03 + 108 1.252750e-03 1.705692e-03 1.878303e-03 5.759120e-04 7.934945e-04 + 109 5.927305e-04 1.452917e-03 7.007846e-04 8.383001e-04 1.024145e-03 + 110 9.214623e-04 2.391045e-03 1.345210e-03 1.222242e-03 1.313248e-03 + 111 1.481880e-04 1.031367e-03 6.903620e-04 5.749528e-04 1.182890e-03 + 112 1.077033e-04 1.089267e-03 1.001638e-03 1.756161e-03 7.720905e-04 + 113 9.299262e-04 1.117071e-03 5.025715e-04 1.934484e-03 9.832860e-04 + 114 1.527761e-04 1.187591e-03 2.953662e-04 8.389720e-04 2.522506e-04 + 115 1.152435e-03 1.056227e-03 1.670616e-03 1.660742e-03 5.571892e-04 + 116 7.025698e-04 1.197485e-03 3.092347e-04 8.102787e-04 1.099739e-03 + 117 1.262433e-03 1.579353e-03 1.691888e-03 8.356526e-04 8.168895e-04 + 118 2.438090e-03 3.113163e-03 3.758032e-03 1.540063e-03 1.291735e-03 + 119 5.488633e-04 4.879956e-04 9.381833e-04 4.323708e-04 1.762040e-03 + 120 2.518209e-04 1.042241e-03 1.306718e-03 6.739740e-04 1.393435e-03 + 121 1.291613e-03 9.928524e-04 1.025244e-03 8.646214e-04 1.976493e-03 + 122 1.426117e-03 1.829674e-03 1.953152e-04 8.872283e-04 2.115270e-03 + 123 7.082158e-04 2.339735e-03 6.924651e-04 1.040734e-03 1.262421e-03 + 124 1.107963e-03 1.958178e-03 8.194306e-04 1.537639e-03 1.228606e-03 + 125 1.056565e-03 3.790408e-04 8.541346e-04 5.637278e-04 2.111022e-03 + 126 5.910316e-04 6.821334e-04 7.424883e-04 4.408146e-04 7.394619e-04 + 127 9.472251e-04 2.851645e-04 1.481069e-03 1.409920e-03 1.173664e-03 + 128 8.763001e-04 1.977151e-03 7.842442e-04 8.233456e-04 1.581826e-03 + 129 1.322933e+00 1.333198e+00 1.183324e+00 1.301138e+00 1.144761e+00 + 130 2.108586e+02 2.147847e+02 2.151469e+02 2.124647e+02 2.130721e+02 + 131 3.313262e+02 3.376984e+02 3.383668e+02 3.324105e+02 3.353687e+02 + 132 1.371669e+01 1.402489e+01 1.371833e+01 1.349968e+01 1.385976e+01 + 133 3.978195e-02 4.935017e-02 4.847743e-02 4.351057e-02 3.997334e-02 + 134 1.711084e-02 1.178506e-02 1.993266e-02 1.571450e-02 1.864051e-02 + 135 1.249221e-01 1.032700e-01 1.178785e-01 1.190897e-01 1.248399e-01 + 136 4.067808e-01 3.261452e-01 3.566947e-01 3.354163e-01 3.834359e-01 + 137 6.556539e-02 5.605312e-02 7.329180e-02 5.559249e-02 6.385024e-02 + 138 2.401499e-02 3.190759e-02 2.335982e-02 2.408290e-02 2.727023e-02 + 139 6.339426e-03 1.073187e-02 8.381646e-03 7.601770e-03 7.277139e-03 + 140 1.723249e-02 1.295259e-02 1.051444e-02 1.607224e-02 1.593611e-02 + 141 1.103797e-02 1.133795e-02 1.572242e-02 9.350530e-03 9.250411e-03 + 142 2.090861e-02 1.798815e-02 1.141126e-02 1.543446e-02 1.352824e-02 + 143 3.046018e-03 6.233485e-03 7.078331e-03 6.765452e-03 1.060151e-02 + 144 1.001589e-02 9.541805e-03 8.037232e-03 6.475735e-03 8.249046e-03 + 145 7.470225e-03 5.822482e-03 6.046267e-03 7.277451e-03 3.398196e-03 + 146 3.089219e-03 3.916172e-03 2.573172e-03 4.794261e-03 5.624124e-03 + 147 9.572238e-03 9.161345e-03 7.733943e-03 8.065133e-03 5.384794e-03 + 148 3.591156e-03 4.406194e-03 4.707939e-03 4.902041e-03 6.536606e-03 + 149 4.286523e-03 3.169101e-03 4.690820e-03 6.389627e-04 2.490753e-03 + 150 4.756152e-03 5.715046e-03 3.698003e-03 5.923210e-03 6.628519e-03 + 151 1.467025e-03 4.411079e-03 8.367889e-03 3.899785e-03 3.203025e-03 + 152 3.453054e-03 6.487830e-03 3.131362e-03 5.546657e-03 3.826823e-03 + 153 3.408113e-03 1.913539e-03 2.848232e-03 2.610918e-03 4.824443e-03 + 154 3.531017e-03 3.495126e-03 3.527470e-03 5.171025e-03 3.118303e-03 + 155 1.956226e-03 3.291308e-03 2.424018e-03 1.884329e-03 2.604326e-03 + 156 5.087504e-03 2.589287e-03 2.965323e-03 2.944042e-03 4.284142e-03 + 157 1.984674e-03 3.868403e-03 3.521754e-03 4.117980e-03 2.072135e-03 + 158 3.107853e-03 1.649247e-03 1.408269e-03 3.449258e-03 2.853836e-03 + 159 1.891332e-03 1.159758e-03 2.292088e-03 3.051706e-03 3.224756e-03 + 160 1.633278e-03 2.555592e-03 1.920739e-03 2.773472e-03 2.852820e-03 + 161 2.304715e-03 2.576788e-03 3.332060e-03 5.005943e-03 2.971621e-03 + 162 3.939521e-03 2.389575e-03 2.375945e-03 1.437661e-03 1.067858e-03 + 163 1.485722e-03 2.853264e-03 7.917881e-04 2.163645e-03 2.106787e-03 + 164 2.176373e-03 4.397109e-03 4.174120e-03 3.321831e-03 1.435799e-03 + 165 2.413341e-03 1.130094e-03 2.114690e-03 6.051633e-04 1.453874e-03 + 166 1.214355e-03 2.468801e-03 2.592624e-03 1.530595e-03 1.539049e-03 + 167 2.068209e-03 3.958340e-04 3.723358e-04 2.160036e-03 1.309909e-03 + 168 4.860951e-03 1.106301e-03 3.312363e-03 2.635644e-03 4.095174e-03 + 169 1.426351e-03 3.170092e-03 2.051606e-03 1.243955e-03 1.011510e-03 + 170 1.293107e-03 3.490297e-03 2.279198e-03 2.756809e-03 2.034460e-03 + 171 1.868568e-03 2.897809e-03 1.927512e-03 1.733492e-03 2.165152e-03 + 172 3.245093e-03 2.819079e-03 4.292881e-03 3.250805e-03 2.321026e-03 + 173 5.466734e-04 2.677001e-03 4.358978e-03 1.499075e-03 1.388889e-03 + 174 1.844229e-03 1.536780e-03 2.346785e-03 1.899544e-03 1.871045e-03 + 175 1.786858e-03 3.028812e-03 2.769341e-03 1.636327e-03 1.064222e-03 + 176 8.377064e-04 1.787883e-03 1.437539e-03 1.327960e-03 1.137220e-03 + 177 8.957884e-02 8.064258e-02 7.829740e-02 7.633094e-02 8.130923e-02 + 178 4.502775e-01 4.464655e-01 4.801707e-01 4.323816e-01 4.242845e-01 + 179 8.776411e-02 8.426076e-02 9.699576e-02 8.315656e-02 7.574886e-02 + 180 1.989778e-03 2.600694e-03 3.002075e-03 1.525894e-03 1.542515e-03 + 181 1.382113e-03 1.550417e-03 8.714179e-04 2.560529e-03 1.391977e-03 + 182 3.424768e-03 7.698854e-04 1.507746e-03 1.331895e-03 1.528745e-03 + 183 1.270904e-03 9.002588e-04 2.335500e-03 1.115095e-03 9.508140e-04 + 184 1.749351e-03 2.399311e-03 2.744708e-03 2.104509e-03 2.119385e-03 + 185 9.428343e-04 1.333712e-03 7.479861e-04 7.718384e-04 2.942516e-04 + 186 7.071369e-04 1.413288e-03 1.150327e-03 5.859780e-04 1.236814e-03 + 187 8.146986e-04 1.098171e-03 1.047640e-03 1.082431e-03 1.514815e-03 + 188 1.223469e-03 7.731335e-04 5.069038e-04 5.259256e-04 6.273978e-04 + 189 5.314955e-04 1.660584e-03 1.648309e-03 1.081489e-03 4.057154e-04 + 190 2.131681e-03 2.023330e-03 1.907982e-03 1.276040e-03 1.993349e-03 + 191 1.445663e-03 1.417313e-03 8.914459e-04 9.911829e-04 1.236403e-03 + 192 1.384525e-03 1.568370e-03 8.126751e-04 5.341889e-04 6.593027e-04 + 193 2.958166e-03 1.740815e-03 5.298489e-04 9.438200e-04 3.202588e-04 + 194 1.078840e-03 1.019256e-03 2.368296e-03 8.377836e-04 1.044243e-03 + 195 7.694251e-04 3.152626e-04 5.630315e-04 1.224533e-03 6.960616e-04 + 196 6.173841e-04 8.172081e-04 8.755957e-04 5.410621e-04 1.725903e-03 + 197 1.246498e-03 2.222161e-03 8.644024e-04 1.990655e-03 2.433034e-03 + 198 1.226880e-03 1.768176e-03 1.122903e-03 4.329269e-04 1.273520e-03 + 199 9.878331e-04 5.863199e-04 7.548900e-04 2.835485e-04 7.321717e-04 + 200 5.043400e-04 2.345595e-03 8.671401e-04 3.902775e-04 9.228953e-04 + 201 6.386294e-04 1.696148e-03 1.522779e-03 1.210056e-03 6.108542e-04 + 202 1.198274e-03 2.590886e-03 1.849363e-03 1.362980e-03 1.142166e-03 + 203 1.034397e-03 9.591910e-04 1.457068e-03 1.130641e-03 4.103982e-04 + 204 5.014782e-04 7.948374e-04 3.732267e-04 5.655532e-04 5.790311e-04 + 205 8.624223e-04 2.296923e-03 1.488195e-03 1.483377e-03 4.791071e-04 + 206 8.788795e-04 1.791160e-03 1.135497e-03 7.723513e-04 8.824321e-04 + 207 8.544565e-04 3.112854e-03 1.557458e-03 3.434154e-04 1.233958e-03 + 208 7.064446e-04 1.736911e-03 5.779174e-04 2.064534e-03 2.005504e-03 + 209 2.328956e-03 7.404099e-04 1.678104e-03 1.974316e-03 2.200258e-03 + 210 1.945653e-03 1.031952e-03 9.857572e-04 1.961315e-03 1.532916e-03 + 211 1.885319e-03 1.019782e-03 1.241356e-03 1.254573e-03 2.152001e-03 + 212 1.229194e-03 9.354842e-04 1.049669e-03 1.177446e-03 8.039163e-04 + 213 1.422055e-03 1.742351e-03 8.404912e-04 2.655921e-03 1.545565e-03 + 214 1.138744e-03 4.194872e-04 8.592181e-04 1.613853e-03 7.055692e-04 + 215 1.351210e-03 5.541031e-04 8.205039e-04 7.870595e-04 1.670695e-03 + 216 1.240247e-03 1.447217e-03 1.085400e-03 8.765874e-04 1.408011e-03 + 217 3.194227e-04 1.039435e-03 1.123106e-03 4.478250e-04 1.182635e-03 + 218 7.828793e-04 1.887680e-03 1.039279e-03 5.606045e-04 9.134218e-05 + 219 1.841740e-03 1.792472e-03 1.021378e-03 1.386029e-03 1.393759e-03 + 220 1.545018e-03 1.104995e-03 2.319316e-03 8.579046e-04 7.510458e-04 + 221 1.702591e-03 1.195887e-03 1.464910e-03 1.342049e-03 7.807221e-04 + 222 5.765345e-03 8.581732e-03 4.790620e-03 4.975360e-03 4.347309e-03 + 223 2.258913e-03 1.503886e-03 1.672892e-03 2.365654e-03 2.249112e-03 + 224 1.559641e-03 1.634132e-03 9.788343e-04 1.372872e-03 1.706009e-03 + 225 1.208327e-04 2.335734e-03 9.542572e-04 9.965235e-04 8.550080e-04 + 226 1.854083e-03 2.844667e-04 1.577858e-03 6.838417e-04 6.792559e-04 + 227 1.773441e-03 3.195357e-03 1.209945e-03 3.089886e-03 2.102787e-03 + 228 8.367556e-03 9.054817e-03 5.871685e-03 8.602142e-03 5.878084e-03 + 229 1.544462e-03 1.676399e-03 1.477369e-03 2.055560e-03 1.506600e-03 + 230 1.657997e-03 1.438390e-03 1.227156e-03 4.707037e-04 1.011965e-03 + 231 6.163463e-04 4.217859e-04 3.604194e-04 9.003288e-04 1.245882e-03 + 232 8.863470e-04 1.182416e-03 1.006823e-03 3.719799e-04 1.711105e-03 + 233 1.534843e-03 1.369812e-03 1.317195e-03 1.149917e-03 3.831486e-03 + 234 6.706262e-03 5.855810e-03 4.959959e-03 3.745096e-03 8.168903e-03 + 235 1.698459e-03 1.442689e-03 1.242680e-03 1.632432e-03 1.491483e-03 + 236 2.455121e-04 5.025871e-04 8.828961e-04 5.441127e-04 5.340330e-04 + 237 1.883778e-03 7.529984e-04 1.103332e-03 1.141209e-03 1.312285e-03 + 238 4.991505e-04 5.904194e-04 1.643149e-03 5.776103e-04 1.370109e-03 + 239 4.565850e-04 6.902184e-04 1.581706e-03 1.267365e-03 9.516310e-04 + 240 6.911071e-04 1.655143e-04 2.406461e-04 5.997205e-04 5.658501e-04 + 241 4.002933e-04 9.909809e-04 1.832096e-03 1.674358e-03 1.687227e-03 + 242 7.626938e-04 7.133201e-04 2.924666e-04 5.014165e-04 8.165864e-04 + 243 6.639158e-04 8.252494e-04 7.089929e-04 7.900318e-04 5.191177e-04 + 244 8.855419e-04 2.814435e-04 1.333484e-03 1.213681e-03 5.708699e-04 + 245 6.182700e-04 1.065076e-03 1.335529e-03 1.200280e-03 6.138924e-04 + 246 2.119985e-03 1.585421e-03 1.729192e-03 2.242437e-03 1.393126e-03 + 247 7.172566e-04 1.144192e-03 9.036032e-04 4.561619e-04 1.269552e-03 + 248 8.669135e-04 3.003519e-04 4.912316e-04 4.408621e-04 3.719834e-04 + 249 2.828266e-03 1.957100e-03 1.933605e-03 2.161399e-03 1.833922e-03 + 250 4.611749e-04 5.979347e-04 1.820215e-03 1.278253e-03 4.600024e-04 + 251 5.985869e-04 9.817256e-04 8.229871e-04 1.462712e-03 1.119026e-03 + 252 1.579957e-03 2.392884e-04 3.792185e-04 4.757548e-04 7.741712e-04 + 253 1.577784e-03 9.995768e-04 7.473099e-04 5.092666e-04 7.666507e-04 + 254 1.100544e-03 3.244795e-04 6.120683e-04 9.852710e-04 7.521078e-04 + 255 5.786656e-04 1.482678e-04 6.793771e-04 7.417734e-04 6.496481e-04 + 256 1.333962e-03 1.295849e-03 2.133676e-04 5.883566e-04 1.029299e-03 + 257 1.387411e+00 1.406838e+00 1.329396e+00 1.345263e+00 1.316825e+00 + 258 2.120835e+02 2.153913e+02 2.161434e+02 2.110617e+02 2.126200e+02 + 259 3.341769e+02 3.395179e+02 3.414358e+02 3.338884e+02 3.354997e+02 + 260 1.367321e+01 1.392732e+01 1.392734e+01 1.388779e+01 1.379011e+01 + 261 1.714111e-02 1.611620e-02 2.012450e-02 1.460187e-02 1.447307e-02 + 262 3.792692e-02 3.879437e-02 2.763386e-02 3.693106e-02 3.125022e-02 + 263 1.038055e-01 1.056724e-01 1.243757e-01 1.115191e-01 9.324908e-02 + 264 4.127268e-01 3.779906e-01 4.126482e-01 3.952343e-01 3.804927e-01 + 265 6.453364e-02 6.578903e-02 6.868004e-02 6.702326e-02 5.741394e-02 + 266 1.476101e-02 1.148748e-02 6.318224e-03 1.615812e-02 1.010520e-02 + 267 1.621726e-02 2.954641e-02 2.985099e-02 1.964399e-02 2.668625e-02 + 268 1.840606e-02 1.035573e-02 1.488948e-02 1.221735e-02 1.225579e-02 + 269 1.049296e-02 1.494414e-02 1.455248e-02 1.499926e-02 1.842142e-02 + 270 1.208124e-02 1.508935e-02 1.538089e-02 1.439448e-02 1.632792e-02 + 271 7.464692e-03 6.447858e-03 8.466526e-03 6.799659e-03 7.263635e-03 + 272 8.420856e-03 9.148205e-03 7.820800e-03 9.063839e-03 9.096611e-03 + 273 9.395467e-03 1.113261e-02 5.812818e-03 7.946551e-03 9.763564e-03 + 274 6.648179e-03 4.129325e-03 8.770317e-03 3.326479e-03 4.576185e-03 + 275 1.489649e-02 9.041673e-03 4.573134e-03 5.951006e-03 8.300213e-03 + 276 5.679678e-03 5.517570e-03 1.118326e-02 8.879837e-03 4.126134e-03 + 277 4.148122e-03 5.484330e-03 2.971235e-03 5.935859e-03 3.353538e-03 + 278 1.377913e-03 5.325976e-03 5.382753e-03 1.840204e-03 4.174521e-03 + 279 9.030295e-03 2.476407e-03 2.532161e-03 5.583400e-03 5.105737e-03 + 280 1.892067e-03 2.843552e-03 4.342289e-03 2.818483e-03 1.255638e-03 + 281 3.860047e-03 4.084958e-03 3.170167e-03 2.677986e-03 9.435634e-03 + 282 5.635727e-03 4.689231e-03 3.125891e-03 3.738793e-03 3.952727e-03 + 283 2.164074e-03 2.501695e-03 2.440896e-03 1.606131e-03 2.771258e-03 + 284 1.683742e-03 3.607839e-03 1.912539e-03 3.667175e-03 2.169218e-03 + 285 2.813577e-03 3.007457e-03 3.493360e-03 2.016553e-03 5.751854e-03 + 286 4.228880e-03 3.384407e-03 1.244129e-03 1.943604e-03 2.328234e-03 + 287 1.524240e-03 1.373065e-03 5.500436e-03 6.734354e-03 1.197684e-03 + 288 4.059579e-03 5.461030e-03 1.989059e-03 2.069848e-03 4.373666e-03 + 289 1.110415e-03 1.857221e-03 2.266079e-03 2.156286e-03 2.075031e-03 + 290 8.290637e-03 3.070033e-03 4.284415e-03 2.898064e-03 2.864096e-03 + 291 7.662110e-04 1.283811e-03 9.686594e-04 9.201976e-04 2.585188e-03 + 292 1.891287e-03 2.954842e-03 2.606891e-03 2.230980e-03 1.535130e-03 + 293 9.922544e-04 4.115417e-03 1.257981e-03 1.752454e-03 1.725052e-03 + 294 2.395283e-03 2.981879e-03 2.352761e-03 9.443101e-04 1.375038e-03 + 295 3.942196e-03 1.288061e-03 3.088443e-03 3.165068e-03 4.602273e-03 + 296 3.306121e-04 2.162170e-03 1.504305e-03 1.594869e-03 2.348380e-03 + 297 2.606445e-03 1.765348e-03 1.699381e-03 2.059172e-03 1.625062e-03 + 298 1.779010e-03 3.906241e-03 2.237165e-03 7.115144e-04 2.448895e-03 + 299 5.645912e-04 2.442397e-03 2.379930e-03 3.181712e-03 2.133022e-03 + 300 2.316121e-03 2.890681e-03 1.298388e-03 1.934079e-03 1.073546e-03 + 301 1.727981e-03 1.360894e-03 1.509339e-03 3.414499e-03 3.216939e-03 + 302 1.467414e-03 3.490579e-03 1.957978e-03 1.675868e-03 2.789242e-03 + 303 2.138917e-03 7.656667e-04 5.105204e-04 3.147128e-03 1.587682e-03 + 304 1.480370e-03 6.623008e-04 1.764280e-03 1.689426e-03 1.814374e-03 + 305 7.221771e-02 7.751195e-02 7.754118e-02 7.376205e-02 7.617616e-02 + 306 4.301886e-01 4.420625e-01 4.335269e-01 4.609649e-01 4.398853e-01 + 307 8.554277e-02 7.919043e-02 8.278697e-02 9.150720e-02 8.736348e-02 + 308 1.807341e-03 2.908991e-03 2.356271e-03 2.413564e-03 9.668282e-04 + 309 6.862841e-04 1.788160e-04 4.399837e-04 1.869575e-03 2.000518e-03 + 310 9.827153e-04 2.488179e-03 1.407434e-03 1.281754e-03 1.333880e-03 + 311 1.582934e-03 1.665224e-03 4.629422e-04 1.278277e-03 1.362598e-03 + 312 9.857422e-04 1.281257e-03 2.266778e-03 1.042570e-03 1.860134e-03 + 313 9.221007e-04 8.426794e-04 7.636184e-04 1.101072e-03 1.192430e-03 + 314 7.170705e-04 1.887075e-03 1.595460e-03 6.421578e-04 1.631881e-03 + 315 3.204102e-03 3.189357e-03 1.729964e-03 2.113599e-03 2.675980e-03 + 316 1.408113e-03 1.723628e-03 2.885839e-03 9.265811e-04 1.287225e-03 + 317 1.048966e-03 1.575362e-03 1.307662e-03 1.566561e-03 3.773721e-03 + 318 7.040235e-04 2.186672e-03 1.465956e-03 2.729175e-03 3.677814e-03 + 319 1.966719e-03 1.387189e-03 1.372956e-03 9.211274e-04 1.349155e-03 + 320 1.376394e-03 1.231121e-03 2.644618e-03 3.235872e-03 1.253222e-03 + 321 1.345023e-03 8.915238e-04 2.098131e-03 9.145080e-04 3.388874e-04 + 322 1.135952e-03 2.069997e-03 1.549988e-03 2.061540e-03 2.568001e-03 + 323 1.696844e-03 1.906555e-03 1.807105e-03 4.605689e-04 1.255184e-03 + 324 1.876906e-03 3.889159e-04 7.106222e-05 9.922086e-04 1.643562e-03 + 325 5.906340e-04 1.933896e-03 7.061714e-04 9.814805e-04 1.260470e-03 + 326 1.460375e-03 2.302358e-03 2.119714e-03 2.101295e-03 2.606650e-03 + 327 2.157380e-03 1.795677e-03 2.738435e-03 1.359711e-03 3.003870e-03 + 328 9.312343e-04 1.140405e-03 1.547725e-03 1.185176e-03 4.155460e-04 + 329 7.228200e-04 1.956334e-03 1.350331e-03 1.191452e-03 1.971584e-03 + 330 9.685525e-04 1.158343e-03 4.775721e-04 1.199907e-03 3.501442e-04 + 331 1.036683e-03 8.639561e-04 1.189324e-03 1.063389e-03 1.111016e-03 + 332 7.045520e-04 1.532837e-03 1.229881e-03 1.149238e-03 2.073244e-03 + 333 1.661566e-03 1.220132e-03 2.093449e-04 2.596642e-03 1.239773e-03 + 334 4.476771e-04 2.239217e-03 1.200931e-03 1.420200e-03 1.476703e-03 + 335 3.625111e-04 1.539365e-03 9.985291e-04 1.121811e-03 2.494336e-04 + 336 1.086018e-03 5.607089e-04 4.600341e-04 8.047916e-04 2.522461e-04 + 337 1.991542e-03 2.249977e-03 2.478358e-03 1.500629e-03 2.291376e-03 + 338 3.356605e-04 3.790523e-04 7.369316e-04 1.199365e-03 6.125215e-04 + 339 1.637240e-03 6.998845e-04 1.604121e-03 1.026489e-03 1.802603e-03 + 340 6.972142e-04 1.398849e-03 6.696466e-04 1.496475e-03 1.137107e-03 + 341 1.963830e-03 1.891172e-03 8.305770e-04 8.631884e-04 9.056021e-04 + 342 6.276996e-04 9.156285e-04 6.397197e-04 2.429268e-04 5.107411e-04 + 343 9.733292e-04 5.707112e-04 1.952773e-03 8.982186e-04 8.390358e-04 + 344 1.184993e-03 1.659017e-03 1.901140e-03 1.362380e-03 2.218070e-03 + 345 9.646232e-05 6.736152e-04 1.245767e-04 5.793361e-04 9.386048e-04 + 346 1.516027e-03 3.360086e-03 1.186188e-03 1.497243e-03 1.830262e-03 + 347 8.390932e-04 9.137651e-04 8.931514e-04 2.794075e-04 1.177055e-03 + 348 6.834677e-04 8.468045e-04 5.129444e-04 6.180629e-04 6.467058e-04 + 349 1.920835e-03 2.429471e-03 1.417553e-03 2.982051e-03 2.740146e-03 + 350 9.276177e-03 7.975137e-03 1.032831e-02 9.521359e-03 9.037218e-03 + 351 1.626077e-03 2.702355e-03 2.641969e-03 1.700684e-03 2.748901e-03 + 352 7.100477e-04 2.661700e-04 7.739486e-04 4.844506e-04 8.295802e-04 + 353 8.491407e-04 1.778317e-03 8.462061e-04 9.307141e-04 7.528540e-04 + 354 2.525532e-03 1.244404e-03 7.177032e-04 1.053809e-03 1.645923e-03 + 355 7.502946e-04 1.272293e-03 8.544762e-04 1.747557e-03 1.247831e-03 + 356 6.057702e-03 7.667615e-03 5.875383e-03 8.861669e-03 7.248938e-03 + 357 1.333332e-03 1.661367e-03 1.620647e-03 1.176406e-03 1.484444e-03 + 358 5.011463e-04 1.095902e-03 4.894671e-04 1.553251e-03 8.471206e-04 + 359 6.112140e-04 5.021456e-04 2.092989e-04 5.906762e-04 1.073982e-03 + 360 1.827002e-03 1.887445e-03 1.068811e-03 1.007545e-03 1.479552e-03 + 361 2.471358e-03 1.833640e-03 1.042276e-03 1.818771e-03 1.260245e-03 + 362 5.119516e-03 6.825755e-03 4.307214e-03 7.276594e-03 4.217384e-03 + 363 1.729496e-03 2.353951e-03 1.750401e-03 2.403148e-03 2.322098e-03 + 364 3.785545e-04 8.889909e-04 5.239943e-04 5.913337e-04 9.830317e-04 + 365 1.190475e-03 9.816822e-04 7.470986e-04 8.404912e-04 8.635553e-04 + 366 7.964145e-04 2.656099e-04 2.812276e-04 8.152306e-04 6.547558e-04 + 367 3.986082e-04 6.525234e-04 8.001169e-04 2.522262e-04 7.243526e-04 + 368 1.728396e-03 1.589199e-03 7.686334e-04 1.278882e-03 8.314456e-04 + 369 6.074519e-04 8.654320e-04 1.022313e-03 3.606853e-04 2.619035e-04 + 370 1.835937e-03 1.407053e-03 1.985709e-04 3.261571e-04 1.690461e-03 + 371 8.337679e-04 1.186501e-03 8.387741e-04 6.627722e-04 5.219117e-04 + 372 2.064286e-03 7.193881e-04 3.437751e-04 7.829624e-04 1.894215e-03 + 373 5.998044e-04 1.910519e-03 1.691548e-03 7.336942e-04 8.226416e-04 + 374 1.157405e-03 2.488104e-03 1.964856e-03 1.989047e-03 1.791502e-03 + 375 6.001355e-04 1.234231e-03 4.502086e-04 6.786139e-04 4.889440e-04 + 376 1.738201e-03 9.085587e-04 7.033465e-04 9.693355e-04 1.890646e-04 + 377 7.084612e-04 7.214645e-04 4.679022e-04 7.831822e-04 1.299425e-03 + 378 8.855989e-04 7.452070e-04 6.414805e-04 1.492046e-03 6.542706e-04 + 379 4.674921e-04 7.220036e-05 4.688347e-04 4.744299e-04 8.209948e-04 + 380 5.713507e-04 4.758942e-04 7.816497e-04 7.839342e-04 3.956130e-04 + 381 7.986367e-04 1.495676e-03 6.991000e-04 7.562283e-04 2.277371e-04 + 382 1.605815e-03 2.183039e-03 7.665675e-04 1.049029e-03 1.484532e-03 + 383 1.234718e-03 1.792077e-03 2.559462e-04 5.856501e-05 6.842240e-04 + 384 6.169310e-04 4.407401e-04 4.023256e-04 6.467021e-04 1.151206e-03 + 385 1.437995e+00 1.313186e+00 1.434018e+00 1.475746e+00 1.352283e+00 + 386 2.117704e+02 2.138803e+02 2.160706e+02 2.116021e+02 2.126318e+02 + 387 3.323442e+02 3.374830e+02 3.393124e+02 3.318214e+02 3.335912e+02 + 388 1.344545e+01 1.371167e+01 1.389829e+01 1.350800e+01 1.350691e+01 + 389 4.144743e-02 3.966920e-02 2.245015e-02 4.424313e-02 3.809043e-02 + 390 3.524014e-02 2.354410e-02 2.441541e-02 2.810354e-02 2.896724e-02 + 391 1.156943e-01 1.185810e-01 1.075142e-01 1.117014e-01 1.112076e-01 + 392 3.366402e-01 3.348243e-01 3.470624e-01 3.511436e-01 3.234436e-01 + 393 6.620576e-02 7.301782e-02 5.019943e-02 7.350831e-02 5.236230e-02 + 394 1.746236e-02 1.711113e-02 2.459406e-02 1.931973e-02 2.611860e-02 + 395 1.423549e-02 1.866003e-02 1.327994e-02 9.241589e-03 7.746209e-03 + 396 1.461553e-02 1.314423e-02 8.504738e-03 1.320057e-02 1.133369e-02 + 397 3.025688e-02 2.234073e-02 2.856881e-02 2.012566e-02 2.933086e-02 + 398 5.827659e-03 6.328594e-03 4.999175e-03 8.196608e-03 6.855675e-03 + 399 5.484651e-03 1.209621e-02 1.012553e-02 8.934274e-03 7.089673e-03 + 400 1.640949e-02 1.002060e-02 7.973864e-03 8.867935e-03 1.227971e-02 + 401 2.598287e-03 2.126952e-03 3.901423e-03 5.542006e-03 3.098580e-03 + 402 1.472062e-02 1.398263e-02 1.263675e-02 1.276077e-02 1.410972e-02 + 403 1.855997e-03 2.193558e-03 1.324215e-03 1.672774e-03 1.871976e-03 + 404 7.946074e-03 6.461388e-03 1.003841e-02 6.848033e-03 5.078395e-03 + 405 1.047415e-03 2.621421e-03 2.132555e-03 5.295813e-03 3.916932e-03 + 406 8.070374e-03 6.393491e-03 4.765818e-03 3.363168e-03 8.397076e-03 + 407 2.034622e-03 5.071376e-03 4.041356e-03 4.744761e-03 2.638276e-03 + 408 5.087145e-03 9.985822e-03 5.827470e-03 4.549624e-03 4.106285e-03 + 409 2.609815e-03 1.702290e-03 1.392731e-03 2.067273e-03 2.965112e-03 + 410 4.167272e-03 5.490403e-03 6.065672e-03 4.753084e-03 5.063474e-03 + 411 3.467241e-03 3.846890e-03 2.935723e-03 2.305135e-03 4.243142e-03 + 412 2.656602e-03 3.179056e-03 2.484031e-03 2.995085e-03 2.961120e-03 + 413 3.057540e-03 7.841062e-03 1.505273e-03 3.003639e-03 2.768816e-03 + 414 3.093143e-03 4.556761e-03 5.257316e-03 1.771552e-03 4.322555e-03 + 415 1.296175e-03 2.609114e-03 1.832740e-03 2.352060e-03 3.772198e-03 + 416 1.172418e-03 1.282289e-03 1.462045e-03 1.980952e-03 1.635010e-03 + 417 3.627774e-03 2.174585e-03 3.633553e-03 2.746763e-03 4.202638e-03 + 418 2.910379e-03 4.027827e-03 2.490295e-03 3.640900e-03 3.917010e-03 + 419 1.621053e-03 1.210153e-03 1.818413e-03 2.857871e-03 6.747141e-04 + 420 1.461037e-03 2.984603e-03 2.151211e-03 3.866874e-03 2.194142e-03 + 421 2.077555e-03 2.749885e-03 2.565910e-03 2.544153e-03 2.240536e-03 + 422 2.375851e-03 3.303160e-03 1.532631e-03 2.306858e-03 3.023580e-03 + 423 2.101801e-03 1.730722e-03 5.212423e-03 4.151209e-03 5.037637e-03 + 424 1.283952e-03 1.800071e-03 1.402669e-03 1.454222e-03 2.044553e-03 + 425 1.785453e-03 8.227429e-04 6.897815e-03 6.278958e-04 3.420931e-03 + 426 7.801577e-04 3.952609e-03 2.403747e-03 1.418212e-03 1.484232e-03 + 427 3.228279e-03 1.841411e-03 1.713479e-03 2.266104e-03 1.235074e-03 + 428 1.263975e-03 1.974928e-03 3.109416e-03 1.764228e-03 8.880480e-04 + 429 1.953604e-03 1.014219e-03 1.420805e-03 2.077054e-03 3.332664e-03 + 430 9.239616e-04 2.336755e-03 1.775078e-03 6.878940e-04 3.713240e-04 + 431 2.690271e-03 1.617819e-03 1.321282e-03 1.915875e-03 3.633632e-03 + 432 1.101351e-03 1.556886e-03 1.360150e-03 7.843835e-04 9.019104e-04 + 433 8.047850e-02 7.218813e-02 8.430407e-02 8.072757e-02 7.075484e-02 + 434 4.361538e-01 4.133364e-01 4.534839e-01 4.136852e-01 4.092180e-01 + 435 7.962896e-02 8.530074e-02 9.151128e-02 7.949295e-02 7.451753e-02 + 436 1.259177e-03 1.637169e-03 2.698526e-03 1.760580e-03 3.235371e-03 + 437 7.856965e-04 1.496526e-03 3.181397e-04 1.151925e-03 1.067206e-03 + 438 1.535296e-03 1.659171e-03 3.875955e-03 1.970937e-03 3.224429e-03 + 439 7.424648e-04 2.720757e-04 4.641895e-04 6.093564e-04 5.305915e-04 + 440 1.290123e-03 1.362316e-03 1.487044e-03 1.503794e-03 1.154282e-03 + 441 1.471776e-03 1.388626e-03 1.474334e-03 6.915733e-04 3.136256e-03 + 442 2.291513e-03 3.224133e-04 1.238248e-03 1.173394e-03 4.376610e-04 + 443 1.513298e-03 1.812268e-03 7.750292e-04 1.262319e-03 1.979533e-03 + 444 1.837139e-03 3.263498e-03 1.204110e-03 1.419866e-03 3.145775e-04 + 445 1.646299e-03 6.622068e-04 1.367238e-03 1.648642e-03 1.518613e-03 + 446 2.638139e-03 1.741785e-03 2.598071e-03 8.739879e-04 5.900385e-04 + 447 2.549377e-03 2.014643e-03 1.602782e-03 3.809932e-03 1.709305e-03 + 448 9.378273e-04 6.269136e-04 1.244807e-03 5.528598e-04 1.238939e-03 + 449 3.294418e-03 8.797297e-04 8.888933e-04 1.821098e-03 2.212045e-03 + 450 1.265880e-03 1.461229e-03 2.783954e-04 1.497264e-03 1.488776e-03 + 451 9.945104e-04 8.084751e-04 6.188407e-04 6.860276e-04 1.421898e-03 + 452 7.803081e-04 1.166781e-03 1.130068e-03 1.167817e-03 1.336233e-03 + 453 1.182679e-03 1.491313e-03 1.269089e-03 1.333399e-03 1.059577e-03 + 454 1.736042e-03 2.136866e-03 2.230869e-03 8.406555e-04 1.071469e-03 + 455 1.015445e-03 1.012555e-03 1.426381e-03 5.402946e-04 1.915884e-03 + 456 1.419348e-03 4.942399e-04 9.370488e-04 6.148424e-04 6.026405e-04 + 457 1.170827e-03 1.358920e-03 8.295544e-04 2.207629e-03 1.737392e-03 + 458 7.286234e-04 1.733639e-03 4.715522e-04 8.703075e-04 1.293562e-03 + 459 4.658847e-04 4.234144e-04 4.009683e-04 5.766347e-04 3.702905e-04 + 460 8.831918e-04 1.001158e-03 1.380991e-03 8.100974e-04 1.432105e-03 + 461 7.668454e-04 5.102105e-04 5.332868e-04 7.079901e-04 1.324838e-03 + 462 9.013655e-04 1.275127e-03 1.873870e-03 9.683145e-04 1.616956e-03 + 463 4.317149e-04 1.529966e-03 8.414744e-04 1.495068e-03 3.307125e-04 + 464 9.524243e-04 1.841353e-04 3.630028e-04 3.479032e-04 5.781076e-04 + 465 4.748446e-04 1.649533e-03 1.266242e-03 1.002336e-03 9.066864e-04 + 466 1.074454e-03 1.668213e-03 6.090963e-04 1.920865e-03 1.143349e-03 + 467 1.109715e-03 8.298302e-04 1.367644e-03 1.428394e-03 1.034474e-03 + 468 1.821662e-03 5.500989e-04 9.954737e-04 6.512361e-04 2.914088e-04 + 469 1.536008e-03 9.724151e-04 1.153845e-03 6.549282e-04 1.367905e-03 + 470 2.573222e-03 8.005837e-04 1.732575e-03 2.044458e-03 2.376436e-03 + 471 1.476120e-03 7.960199e-04 7.904692e-04 5.794608e-04 1.301570e-03 + 472 1.724835e-03 1.263725e-03 1.521135e-03 6.336818e-04 2.151658e-03 + 473 4.287537e-04 1.172236e-03 6.104391e-04 1.402167e-03 1.302416e-03 + 474 5.246326e-04 3.451655e-03 1.561302e-03 3.163593e-03 1.988035e-03 + 475 7.817031e-04 6.639703e-04 7.849034e-04 1.329089e-03 1.052155e-03 + 476 6.361047e-04 1.269060e-03 1.482714e-03 1.385186e-03 1.173317e-03 + 477 7.601207e-04 3.009781e-03 1.795807e-03 3.524159e-03 1.613863e-03 + 478 5.252096e-03 1.006829e-02 7.780169e-03 1.047136e-02 6.339815e-03 + 479 1.893805e-03 3.230546e-03 2.760872e-03 4.464208e-03 2.824498e-03 + 480 4.997717e-04 7.360717e-04 1.534864e-03 3.870711e-04 6.143868e-04 + 481 6.361843e-04 6.485707e-04 3.005127e-04 1.178818e-03 4.271037e-04 + 482 1.370694e-03 1.306733e-03 1.287981e-03 6.098248e-04 7.094450e-04 + 483 2.155313e-03 2.937361e-03 2.203605e-03 1.783292e-03 2.249709e-03 + 484 9.414705e-03 8.377831e-03 1.003276e-02 7.499374e-03 1.077903e-02 + 485 4.223134e-03 4.252889e-03 2.577000e-03 2.783683e-03 3.509566e-03 + 486 5.519270e-04 1.281965e-03 4.939050e-04 2.014999e-04 5.699536e-04 + 487 2.114784e-03 1.485574e-03 1.841041e-03 1.852952e-03 7.111077e-04 + 488 8.907614e-04 1.094750e-03 6.073911e-04 1.478870e-04 8.246584e-04 + 489 1.341503e-03 1.760145e-03 2.902986e-03 1.625337e-03 2.049151e-03 + 490 4.149320e-03 3.827477e-03 4.028372e-03 2.253907e-03 4.718295e-03 + 491 1.929219e-03 3.212475e-03 1.638391e-03 1.817028e-03 2.246627e-03 + 492 1.302324e-03 7.367311e-04 6.093255e-04 3.881549e-04 5.661393e-04 + 493 2.025816e-03 1.733961e-03 1.172451e-03 1.207577e-03 1.873364e-03 + 494 9.981512e-04 3.617247e-04 1.057655e-03 3.740189e-04 1.530616e-03 + 495 1.026912e-03 1.342333e-03 2.770189e-04 5.565560e-04 1.741443e-03 + 496 1.313062e-03 1.378583e-03 9.909698e-04 1.312691e-03 1.088585e-03 + 497 3.943251e-04 1.073823e-03 2.759356e-04 1.572855e-03 6.208421e-04 + 498 5.438341e-04 1.664976e-03 1.341693e-03 2.148647e-03 8.543144e-04 + 499 1.218028e-03 1.223752e-03 5.925965e-04 1.267764e-03 4.259212e-04 + 500 8.203711e-04 8.707308e-04 1.289794e-03 7.632431e-04 3.996089e-04 + 501 2.098900e-03 1.719542e-03 6.265218e-04 9.098609e-04 6.829186e-04 + 502 4.883173e-03 1.826374e-03 1.977732e-03 2.347135e-03 1.353001e-03 + 503 1.745243e-03 6.782281e-04 3.683917e-04 6.760270e-04 1.465704e-03 + 504 2.321860e-03 3.003986e-04 6.231562e-04 4.182405e-04 1.547497e-03 + 505 9.667022e-04 8.172212e-04 7.475669e-04 3.065021e-04 6.158343e-04 + 506 5.516490e-04 7.342804e-04 1.231821e-03 6.455588e-04 1.850869e-03 + 507 2.006537e-03 1.694075e-03 1.582072e-03 1.396460e-03 1.552865e-03 + 508 6.222381e-04 1.146670e-03 6.092317e-04 7.819500e-04 9.942847e-04 + 509 4.629137e-04 2.146784e-03 1.625232e-03 1.379894e-03 1.010402e-03 + 510 7.128196e-04 1.891980e-03 1.454505e-03 2.168814e-04 8.024185e-04 + 511 9.857559e-04 1.743879e-03 1.104790e-03 1.272944e-03 8.370786e-04 + 512 4.401391e-04 3.687984e-03 4.367890e-05 1.054311e-03 1.554598e-03 + 513 1.320006e+00 1.562543e+00 1.304446e+00 1.349618e+00 1.376888e+00 + 514 2.114169e+02 2.148604e+02 2.163868e+02 2.116383e+02 2.127136e+02 + 515 3.334280e+02 3.381500e+02 3.405426e+02 3.338744e+02 3.352850e+02 + 516 1.356323e+01 1.362642e+01 1.374874e+01 1.367001e+01 1.360010e+01 + 517 4.519985e-02 5.797342e-02 3.859318e-02 2.786141e-02 3.274823e-02 + 518 2.690553e-02 2.886995e-02 2.192319e-02 2.805413e-02 1.637045e-02 + 519 1.098352e-01 1.008278e-01 1.148781e-01 9.892182e-02 1.332575e-01 + 520 3.401746e-01 3.410035e-01 3.600186e-01 3.544518e-01 3.850226e-01 + 521 6.275169e-02 5.747675e-02 6.572421e-02 5.856206e-02 7.150094e-02 + 522 2.155244e-02 2.907969e-02 2.463309e-02 2.350216e-02 2.574135e-02 + 523 1.213632e-02 1.985327e-02 1.245618e-02 8.441172e-03 1.255904e-02 + 524 9.293009e-03 9.661338e-03 1.194042e-02 1.297295e-02 1.585461e-02 + 525 2.672156e-02 2.775179e-02 2.682823e-02 2.637856e-02 1.938904e-02 + 526 9.633312e-03 8.204807e-03 1.183664e-02 8.922080e-03 1.122058e-02 + 527 7.876753e-03 9.668818e-03 7.301882e-03 9.495366e-03 1.112430e-02 + 528 5.436091e-03 1.008667e-02 1.226417e-02 5.683894e-03 7.065365e-03 + 529 1.003567e-02 3.271276e-03 3.355602e-03 6.038638e-03 5.839768e-03 + 530 7.265178e-03 1.369600e-02 1.118037e-02 1.060457e-02 1.097900e-02 + 531 3.618257e-03 3.762734e-03 3.536326e-03 5.098703e-03 2.599871e-03 + 532 4.815374e-03 6.419234e-03 3.761625e-03 5.388916e-03 4.083353e-03 + 533 4.247748e-03 6.844451e-03 5.131052e-03 4.820583e-03 7.692168e-03 + 534 4.466509e-03 5.209920e-03 4.765373e-03 4.773088e-03 2.555801e-03 + 535 4.107281e-03 5.853015e-03 4.207599e-03 5.224808e-03 8.664744e-03 + 536 4.653150e-03 2.241045e-03 2.555117e-03 3.991542e-03 2.232712e-03 + 537 3.775634e-03 4.472786e-03 4.414339e-03 8.022304e-03 4.540269e-03 + 538 1.816239e-03 2.119134e-03 4.075867e-03 7.040245e-04 3.057100e-03 + 539 2.414781e-03 3.683364e-03 5.270549e-03 4.911073e-03 4.963628e-03 + 540 4.107398e-03 3.963126e-03 4.112845e-03 3.023205e-03 2.778597e-03 + 541 2.637444e-03 3.504824e-03 2.594971e-03 2.446881e-03 4.815604e-03 + 542 2.296494e-03 3.647517e-03 3.387887e-03 1.702142e-03 1.702993e-03 + 543 3.176946e-03 3.446424e-03 3.706711e-03 1.677489e-03 4.228125e-03 + 544 3.185857e-03 5.197038e-03 1.660213e-03 3.637835e-03 2.698661e-03 + 545 3.321735e-03 3.129351e-03 4.971745e-03 3.146793e-03 4.222520e-03 + 546 1.296619e-03 1.423611e-03 8.986319e-04 8.861209e-04 8.242819e-04 + 547 4.598282e-03 3.165825e-03 2.575202e-03 2.651999e-03 1.621754e-03 + 548 1.619664e-03 1.224451e-03 2.464964e-03 2.011760e-03 1.903983e-03 + 549 3.069177e-03 1.956313e-03 1.723326e-03 2.632138e-03 1.490310e-03 + 550 1.545634e-03 4.351046e-03 3.790252e-03 2.158726e-03 1.604242e-03 + 551 1.320542e-03 4.552100e-03 1.254692e-03 1.571136e-03 1.229837e-03 + 552 3.721724e-03 6.196582e-04 2.019265e-03 2.859601e-03 1.914715e-03 + 553 2.855541e-03 1.386065e-03 1.882243e-03 2.173187e-03 2.562537e-03 + 554 1.164867e-03 2.707201e-03 1.189232e-03 3.238324e-03 1.272168e-03 + 555 7.038576e-04 1.233486e-03 1.152841e-03 9.075858e-04 8.011046e-04 + 556 1.356192e-03 1.858210e-03 1.406698e-03 2.321699e-03 4.967207e-03 + 557 2.873198e-03 4.421276e-03 3.849802e-03 1.407862e-03 1.612157e-03 + 558 1.151508e-03 2.140128e-03 1.123048e-03 2.673812e-03 2.865456e-03 + 559 2.808891e-03 5.476948e-04 3.935999e-03 2.376612e-03 1.717120e-03 + 560 1.269519e-03 3.954644e-03 1.374140e-03 4.525228e-03 2.428699e-03 + 561 7.019805e-02 7.317130e-02 7.327624e-02 6.782280e-02 6.860814e-02 + 562 3.943560e-01 4.316334e-01 3.983419e-01 3.879747e-01 3.811828e-01 + 563 7.691770e-02 7.947948e-02 7.727998e-02 6.597323e-02 7.051412e-02 + 564 9.276397e-04 1.603454e-03 1.010182e-03 1.367961e-03 9.680438e-04 + 565 1.024285e-03 3.649496e-03 2.290181e-03 3.654079e-03 2.702004e-03 + 566 8.666713e-04 1.428914e-03 9.684811e-04 9.071804e-04 6.670925e-04 + 567 2.206053e-03 2.937739e-03 3.400919e-03 2.387616e-03 1.287251e-03 + 568 1.355987e-03 1.997110e-03 5.894945e-04 1.512580e-03 1.286152e-03 + 569 1.260639e-03 1.776350e-03 1.961479e-03 2.144299e-03 1.420381e-03 + 570 1.142304e-03 1.253545e-03 4.975755e-04 4.728547e-04 2.649307e-03 + 571 1.729996e-03 2.613330e-03 1.532478e-03 6.790432e-04 2.276452e-03 + 572 1.701128e-03 1.175773e-03 1.206577e-03 1.614251e-03 1.671568e-03 + 573 8.177159e-04 8.148489e-04 6.280476e-04 4.270643e-04 6.286660e-04 + 574 3.222597e-03 2.332976e-03 1.489020e-03 1.701975e-03 1.452718e-03 + 575 1.785509e-03 2.127609e-03 2.905436e-03 7.079701e-04 6.888284e-04 + 576 5.947726e-04 1.897957e-04 3.930132e-04 1.530622e-03 9.243293e-04 + 577 1.088681e-03 2.689438e-03 6.846224e-04 4.101312e-04 8.802017e-04 + 578 1.814578e-03 1.241337e-03 9.767956e-04 2.370633e-03 2.481969e-03 + 579 2.499863e-03 2.936609e-03 1.665744e-03 1.596502e-03 1.826736e-03 + 580 1.645694e-03 1.438310e-03 2.388737e-03 1.406331e-03 1.061742e-03 + 581 6.879245e-04 1.131869e-03 1.281363e-03 1.304460e-03 3.557372e-04 + 582 2.103964e-03 1.847360e-03 1.011559e-03 1.443018e-03 9.424574e-04 + 583 1.816357e-04 4.575464e-04 1.907001e-03 1.064756e-03 1.434760e-03 + 584 1.019484e-03 7.482391e-04 1.903093e-03 1.292140e-03 8.810793e-04 + 585 1.595152e-04 1.684571e-03 4.777638e-04 8.361663e-04 4.910451e-04 + 586 1.004685e-03 1.084328e-03 2.317895e-03 1.653161e-03 6.105355e-04 + 587 6.201370e-04 6.025796e-04 3.492307e-04 2.024322e-03 1.538724e-03 + 588 1.401258e-03 1.440945e-03 6.190807e-04 5.280761e-04 1.138492e-03 + 589 1.850899e-03 7.563776e-04 7.443911e-04 8.638837e-04 5.816905e-04 + 590 6.618518e-04 1.025500e-03 2.487982e-03 2.504689e-03 6.992039e-04 + 591 1.119741e-03 1.810534e-03 1.038960e-03 3.158853e-04 6.552773e-04 + 592 1.025956e-03 4.679718e-04 1.733516e-03 1.104806e-03 1.099515e-03 + 593 2.171753e-03 1.293456e-03 1.438860e-03 1.066003e-03 1.019789e-03 + 594 4.826965e-04 8.157678e-04 1.209869e-03 8.478777e-04 7.291696e-04 + 595 5.277938e-04 6.037708e-04 1.049332e-03 4.054773e-04 1.354174e-03 + 596 1.370459e-03 8.482983e-04 1.012977e-03 7.588222e-04 1.271990e-03 + 597 8.234788e-04 5.951815e-04 1.104216e-03 6.399793e-04 9.470366e-04 + 598 1.686303e-03 1.101101e-03 9.383758e-04 1.660288e-03 1.723334e-03 + 599 1.654646e-03 9.046680e-04 2.148418e-03 1.054590e-03 7.391274e-04 + 600 1.485429e-03 8.590285e-04 1.841201e-03 1.030913e-03 1.919630e-04 + 601 6.935658e-04 7.274896e-04 1.873106e-03 2.100952e-03 1.479764e-03 + 602 1.251992e-03 2.727753e-03 2.090667e-03 1.584942e-03 2.296591e-03 + 603 8.794473e-04 3.976048e-04 1.146650e-03 7.789121e-04 3.913688e-04 + 604 1.190092e-03 1.408729e-03 1.467731e-03 1.059641e-03 8.015123e-04 + 605 1.304476e-03 1.434367e-03 1.850308e-03 6.907756e-04 1.753167e-03 + 606 9.231044e-03 8.840840e-03 8.108076e-03 8.630775e-03 9.428441e-03 + 607 2.205930e-03 1.723097e-03 1.515410e-03 1.839658e-03 2.443351e-03 + 608 7.785443e-04 6.244970e-04 8.829846e-04 1.123337e-03 9.046742e-04 + 609 1.482939e-03 1.072205e-03 2.010640e-03 1.598742e-03 1.755818e-03 + 610 9.749539e-04 7.499996e-04 2.163429e-03 1.512944e-03 1.016015e-03 + 611 1.558767e-03 2.269203e-03 1.364340e-03 1.511188e-03 2.215188e-03 + 612 9.713549e-03 9.547942e-03 9.216984e-03 7.682679e-03 9.635954e-03 + 613 1.868032e-03 2.459755e-03 1.669211e-03 1.355564e-03 1.177887e-03 + 614 4.558805e-04 1.761403e-03 8.969149e-04 8.549520e-04 2.302136e-03 + 615 1.944222e-03 1.176527e-03 1.609210e-03 8.918212e-04 1.019511e-03 + 616 7.467362e-04 3.877833e-04 6.138483e-04 4.288770e-04 4.551428e-04 + 617 1.935818e-03 2.127912e-03 2.193439e-03 2.429282e-03 2.189732e-03 + 618 5.192040e-03 6.852395e-03 5.877858e-03 5.536517e-03 7.294363e-03 + 619 1.885389e-03 2.244118e-03 2.252864e-03 1.674894e-03 2.088854e-03 + 620 2.884283e-04 6.275059e-04 1.230384e-03 2.307301e-04 3.518682e-04 + 621 2.936220e-04 4.503992e-04 5.768035e-04 1.017844e-03 3.196990e-04 + 622 1.221364e-03 1.276148e-03 1.241504e-03 5.406419e-04 6.840750e-04 + 623 5.047133e-04 9.608939e-04 2.984342e-04 4.313695e-04 1.178003e-03 + 624 1.875868e-03 1.597538e-03 6.105229e-04 4.449085e-04 6.630357e-04 + 625 5.897638e-04 6.780281e-04 1.271196e-03 7.405679e-04 1.816933e-03 + 626 1.242205e-03 1.711024e-03 1.021000e-03 7.713314e-04 1.583483e-03 + 627 2.392027e-03 9.828596e-04 3.673560e-04 1.086965e-03 8.218165e-04 + 628 1.166883e-03 6.717802e-04 1.705639e-03 3.566197e-04 9.946732e-04 + 629 7.944021e-04 6.417660e-04 1.064012e-03 5.645805e-04 1.038032e-03 + 630 3.541336e-03 1.780791e-03 2.594764e-03 2.845979e-03 9.835056e-04 + 631 2.045193e-03 1.649679e-03 7.692664e-04 6.455495e-04 1.779911e-03 + 632 7.190322e-04 1.498504e-03 5.031432e-04 6.788279e-04 3.364842e-04 + 633 1.835205e-03 2.459235e-03 3.203381e-03 1.629913e-03 1.553380e-03 + 634 1.154061e-03 1.157313e-03 2.289049e-03 5.736013e-04 7.950243e-04 + 635 4.920396e-04 1.545395e-03 7.579774e-04 5.464584e-04 4.576571e-04 + 636 1.271141e-03 1.295092e-03 6.654961e-04 1.261441e-03 5.881509e-04 + 637 1.316561e-03 7.958213e-04 1.340490e-04 1.501198e-03 8.771200e-04 + 638 7.252375e-04 1.928283e-03 1.103202e-03 8.867714e-04 1.232595e-03 + 639 7.683965e-04 1.755774e-03 1.227452e-03 3.907830e-04 5.185651e-04 + 640 9.045834e-04 5.965652e-04 1.183555e-04 1.972493e-04 1.386278e-04 + 641 1.303497e+00 1.134002e+00 1.240486e+00 1.178583e+00 1.265264e+00 + 642 2.110456e+02 2.157416e+02 2.166029e+02 2.122325e+02 2.140283e+02 + 643 3.313594e+02 3.374027e+02 3.388335e+02 3.324722e+02 3.359755e+02 + 644 1.362928e+01 1.371705e+01 1.389605e+01 1.358119e+01 1.380522e+01 + 645 1.720857e-02 2.213510e-02 1.619806e-02 1.786044e-02 2.395492e-02 + 646 3.640259e-02 3.774421e-02 3.401930e-02 3.355769e-02 4.585061e-02 + 647 1.148823e-01 1.177926e-01 1.215595e-01 1.273059e-01 1.325400e-01 + 648 3.664793e-01 3.047156e-01 3.474404e-01 3.277314e-01 3.775568e-01 + 649 7.335237e-02 6.372590e-02 6.519076e-02 7.068736e-02 8.013510e-02 + 650 6.501920e-03 1.355200e-02 9.927682e-03 8.897289e-03 1.513552e-02 + 651 3.100961e-02 1.990382e-02 2.245692e-02 2.557596e-02 1.696373e-02 + 652 8.303820e-03 1.519900e-02 9.232814e-03 7.697810e-03 1.172187e-02 + 653 9.215665e-03 1.507319e-02 9.780737e-03 1.164589e-02 1.004130e-02 + 654 1.028867e-02 1.622448e-02 8.849194e-03 1.131219e-02 1.182347e-02 + 655 8.310138e-03 9.738050e-03 9.702585e-03 5.259645e-03 6.606647e-03 + 656 6.463769e-03 1.432073e-02 5.829976e-03 7.493365e-03 6.586442e-03 + 657 5.075225e-03 4.261104e-03 8.667161e-03 5.458893e-03 8.855088e-03 + 658 6.763174e-03 6.471590e-03 3.261401e-03 5.324140e-03 3.901357e-03 + 659 6.457362e-03 7.249701e-03 1.157450e-02 1.012242e-02 7.574265e-03 + 660 6.688814e-03 6.640782e-03 4.024384e-03 4.846321e-03 8.825390e-03 + 661 1.429299e-03 3.491056e-03 5.235833e-03 2.707951e-03 3.977063e-03 + 662 5.013135e-03 4.606383e-03 3.033848e-03 4.650599e-03 4.083480e-03 + 663 5.543586e-03 3.568029e-03 3.993848e-03 4.752637e-03 3.551289e-03 + 664 4.201764e-03 4.941302e-03 2.785587e-03 3.964792e-03 3.722685e-03 + 665 6.371754e-03 1.964546e-03 3.025673e-03 5.368924e-03 3.475397e-03 + 666 2.146852e-03 3.249926e-03 2.702739e-03 3.907982e-03 2.727615e-03 + 667 3.251803e-03 4.511833e-03 2.641395e-03 1.042862e-03 1.751824e-03 + 668 3.735081e-03 2.432946e-03 2.771124e-03 3.422984e-03 3.373314e-03 + 669 4.299511e-03 6.673549e-03 2.864685e-03 2.840818e-03 2.311185e-03 + 670 2.284655e-03 3.989455e-03 3.395613e-03 2.362047e-03 2.687605e-03 + 671 2.399042e-03 2.520585e-03 1.231955e-03 1.857495e-03 2.775478e-03 + 672 2.668258e-03 3.001382e-03 4.293927e-03 5.355994e-03 4.303043e-03 + 673 2.246042e-03 2.847134e-03 2.018633e-03 3.343068e-03 2.522757e-03 + 674 2.952030e-03 2.455696e-03 3.000780e-03 2.881482e-03 3.405629e-03 + 675 1.879906e-03 1.734700e-03 2.124255e-03 3.988620e-03 2.009322e-03 + 676 1.684104e-03 2.901589e-03 2.215262e-03 1.015697e-03 2.342363e-03 + 677 6.073985e-03 1.640968e-03 2.416243e-03 4.229728e-03 5.810043e-03 + 678 2.032493e-03 9.807606e-04 1.620943e-03 2.865850e-03 1.122697e-03 + 679 1.789348e-03 4.560448e-03 1.122874e-03 2.284734e-03 3.499400e-03 + 680 3.945188e-03 1.402924e-03 1.963820e-03 2.529354e-03 2.951937e-03 + 681 3.384221e-03 1.657935e-03 1.529582e-03 5.508964e-03 2.712785e-03 + 682 2.813896e-04 1.681584e-03 1.035554e-03 7.338403e-04 1.194368e-03 + 683 1.919758e-03 3.659950e-03 2.769467e-03 1.867252e-03 2.402281e-03 + 684 4.024847e-03 1.720074e-03 1.875751e-03 2.690823e-03 1.650226e-03 + 685 7.833471e-04 3.749697e-03 1.022398e-03 1.191864e-03 1.874178e-04 + 686 1.930944e-03 1.512760e-03 1.737660e-03 1.132934e-03 1.304510e-03 + 687 1.907467e-03 2.059189e-03 2.630455e-03 1.998974e-03 2.354994e-03 + 688 3.162164e-03 1.232487e-03 6.995474e-04 2.564361e-03 1.269234e-03 + 689 7.062335e-02 8.042014e-02 7.840271e-02 7.011654e-02 8.287340e-02 + 690 4.160141e-01 4.360914e-01 4.344828e-01 4.176084e-01 4.212636e-01 + 691 8.113296e-02 8.761142e-02 8.307216e-02 8.601793e-02 8.223674e-02 + 692 1.322276e-03 2.338515e-03 1.522904e-03 2.134669e-03 6.996223e-04 + 693 2.727556e-03 7.775263e-04 2.465404e-03 1.584736e-03 1.000240e-03 + 694 6.283998e-04 3.606664e-03 2.676542e-03 1.401377e-03 1.295705e-03 + 695 1.283082e-03 1.579271e-03 2.361071e-03 6.385924e-04 6.161860e-04 + 696 5.469887e-04 2.629351e-03 1.955185e-03 1.802076e-03 1.440291e-03 + 697 7.072273e-04 1.601665e-03 1.158722e-03 1.130964e-03 2.540882e-03 + 698 9.447777e-04 7.868470e-04 9.269976e-04 1.257859e-03 9.001011e-04 + 699 1.278521e-03 8.507285e-04 8.759896e-04 4.851385e-04 1.165060e-03 + 700 2.495534e-03 6.181992e-04 8.367596e-04 2.646717e-03 1.089061e-03 + 701 5.756220e-05 1.142430e-03 1.265111e-03 4.700691e-04 1.693295e-03 + 702 1.870394e-03 9.149973e-04 7.125988e-04 2.384996e-03 5.821681e-04 + 703 8.770538e-04 5.969920e-04 1.266356e-03 1.260406e-03 1.079499e-03 + 704 9.120734e-04 1.264811e-03 1.209399e-03 2.477147e-03 2.579594e-03 + 705 1.322364e-03 1.746584e-03 4.155566e-04 2.792532e-04 1.610096e-03 + 706 5.623408e-04 7.974571e-04 1.143582e-03 8.089763e-04 1.589670e-03 + 707 1.355476e-03 3.876741e-04 1.555435e-03 1.334202e-03 1.437790e-03 + 708 9.762171e-04 1.550702e-03 2.112445e-03 1.540023e-03 1.807592e-03 + 709 8.408652e-04 5.212515e-04 2.114287e-03 6.132357e-04 1.413562e-03 + 710 3.562428e-04 9.286793e-04 1.980832e-03 1.192188e-03 1.996422e-03 + 711 1.669647e-03 3.741354e-04 7.237368e-04 4.964112e-04 1.956961e-03 + 712 2.691030e-04 9.482660e-04 1.140147e-03 7.991428e-04 1.792441e-03 + 713 2.745509e-04 4.985048e-04 1.679602e-03 1.223285e-03 5.082170e-04 + 714 2.050858e-03 1.187556e-03 8.481663e-04 5.222053e-04 5.251282e-04 + 715 9.279359e-04 1.080035e-03 1.536921e-03 5.475345e-04 1.215479e-03 + 716 1.688524e-03 3.485845e-03 1.956067e-03 1.689187e-03 1.299136e-03 + 717 1.499498e-03 9.731744e-04 3.232078e-04 6.554975e-04 5.312704e-04 + 718 7.684167e-04 9.159301e-04 1.093280e-03 2.426492e-03 1.116951e-03 + 719 2.482525e-03 2.836875e-03 1.815887e-03 9.882081e-04 2.799925e-03 + 720 6.336880e-04 1.805682e-03 3.145121e-03 9.945763e-04 1.177479e-03 + 721 1.218068e-03 9.389963e-04 1.591741e-03 8.795899e-04 1.273372e-03 + 722 1.383077e-03 2.140580e-03 2.766580e-03 1.559834e-03 2.141242e-03 + 723 1.168476e-03 1.483465e-03 1.439043e-03 8.112422e-04 2.266776e-03 + 724 1.734944e-03 1.287865e-03 9.125177e-04 9.657941e-04 1.964977e-03 + 725 7.898756e-04 1.452532e-03 3.572968e-04 2.279240e-03 6.587013e-04 + 726 1.271486e-03 3.525851e-04 7.288145e-04 1.235134e-03 1.444368e-03 + 727 8.838027e-05 4.441041e-04 6.615973e-04 7.451329e-04 1.196254e-03 + 728 1.142701e-03 7.441076e-04 1.042544e-03 7.674160e-04 9.730703e-04 + 729 2.075623e-03 1.032940e-03 1.263542e-03 6.768613e-04 1.274493e-03 + 730 2.919620e-04 5.951376e-04 5.491560e-04 1.376379e-03 1.384107e-03 + 731 3.121866e-04 3.007121e-03 2.245243e-04 3.228360e-04 4.282798e-04 + 732 1.480726e-03 2.849312e-03 1.674155e-03 9.698870e-04 7.896097e-04 + 733 3.879369e-03 2.454334e-03 2.120981e-03 2.394874e-03 4.543363e-03 + 734 1.052163e-02 7.287106e-03 1.136693e-02 9.365335e-03 1.322173e-02 + 735 2.483360e-03 3.117975e-03 3.768303e-03 2.497837e-03 2.528456e-03 + 736 6.076839e-04 4.866257e-04 7.016718e-04 1.062738e-03 1.088200e-03 + 737 5.349450e-04 4.627820e-04 3.004900e-04 9.665663e-04 8.891375e-04 + 738 1.038411e-03 8.038295e-04 1.382995e-03 9.760968e-04 7.426797e-04 + 739 1.731856e-03 2.838238e-03 2.381780e-03 1.710542e-03 1.740647e-03 + 740 7.084519e-03 1.056940e-02 1.136795e-02 7.733841e-03 1.034723e-02 + 741 1.104424e-03 2.999463e-03 2.149883e-03 1.686150e-03 2.221993e-03 + 742 7.069989e-04 3.949164e-04 6.377140e-04 1.734229e-03 9.221176e-04 + 743 1.355064e-03 1.725347e-03 1.451509e-03 1.574165e-03 9.399540e-04 + 744 1.855620e-03 1.422449e-03 1.138224e-03 1.868837e-03 5.128054e-04 + 745 1.432008e-03 1.467086e-03 2.198425e-03 1.381325e-03 1.133658e-03 + 746 4.569846e-03 4.744328e-03 3.850122e-03 2.989810e-03 1.737683e-03 + 747 1.048253e-03 1.242453e-03 9.415396e-04 3.188715e-03 7.263300e-04 + 748 1.520901e-04 1.092955e-03 6.924102e-04 1.394717e-03 7.398395e-04 + 749 1.408750e-03 1.195595e-03 4.524635e-04 9.256649e-04 7.173381e-04 + 750 2.432567e-03 1.851002e-03 1.216383e-03 9.329313e-04 1.191625e-03 + 751 4.320810e-04 7.603698e-04 7.151043e-04 1.115063e-03 8.423217e-04 + 752 6.821309e-04 3.152256e-04 6.779015e-04 1.004010e-03 6.822799e-04 + 753 1.792385e-03 6.476526e-04 1.968227e-03 1.014764e-03 1.162781e-03 + 754 5.130783e-04 1.562673e-04 2.871130e-04 7.630229e-04 9.490539e-04 + 755 1.420978e-03 2.058277e-03 1.010258e-03 1.225026e-03 2.318240e-03 + 756 3.103465e-04 7.507689e-05 1.209041e-03 3.002925e-04 4.152357e-04 + 757 8.689844e-04 6.969691e-04 7.414604e-04 9.852746e-04 1.477345e-03 + 758 8.994131e-04 2.279375e-03 1.612034e-03 3.476607e-03 1.185260e-03 + 759 4.948658e-04 1.803421e-03 1.341552e-03 1.176213e-03 3.316859e-03 + 760 9.895334e-04 7.359252e-04 1.350531e-03 1.086313e-03 4.128157e-04 + 761 4.161505e-04 5.624942e-04 2.387751e-04 5.358697e-04 3.995377e-04 + 762 1.152465e-03 6.157052e-04 1.019184e-03 1.484706e-03 9.009427e-04 + 763 1.292764e-03 9.671417e-04 4.176631e-04 1.796775e-03 1.243072e-04 + 764 7.771967e-04 3.043151e-04 6.161177e-04 2.123228e-03 1.352373e-03 + 765 3.919178e-04 4.838957e-04 4.817682e-04 2.135526e-03 1.234730e-03 + 766 1.238985e-03 1.856889e-04 3.063277e-04 3.824030e-04 1.073189e-03 + 767 1.168224e-03 1.327249e-03 1.792140e-03 4.832465e-04 1.016748e-03 + 768 1.234116e-03 1.471578e-03 8.980982e-04 1.089503e-03 7.314121e-04 + 769 1.361310e+00 1.319346e+00 1.455334e+00 1.380460e+00 1.259495e+00 + 770 2.118276e+02 2.151849e+02 2.165444e+02 2.122302e+02 2.143610e+02 + 771 3.315513e+02 3.379774e+02 3.387085e+02 3.320865e+02 3.342661e+02 + 772 1.378949e+01 1.398609e+01 1.405014e+01 1.385631e+01 1.353781e+01 + 773 2.871944e-02 3.536587e-02 2.316048e-02 2.897218e-02 3.098922e-02 + 774 2.080018e-02 3.096408e-02 2.465287e-02 1.991555e-02 2.591024e-02 + 775 1.124372e-01 8.532376e-02 9.858480e-02 8.900052e-02 9.872259e-02 + 776 3.987532e-01 3.402100e-01 3.898352e-01 3.186565e-01 3.578189e-01 + 777 6.941714e-02 5.188011e-02 5.593527e-02 5.466753e-02 5.828678e-02 + 778 1.360603e-02 2.051598e-02 1.530437e-02 1.109478e-02 1.550059e-02 + 779 1.414296e-02 1.440639e-02 1.149169e-02 1.876531e-02 1.091217e-02 + 780 8.038503e-03 1.288663e-02 8.592559e-03 5.973686e-03 6.523318e-03 + 781 2.824780e-02 3.339228e-02 3.235402e-02 3.629841e-02 4.116025e-02 + 782 3.737679e-03 5.209377e-03 3.028288e-03 4.841755e-03 2.945018e-03 + 783 5.563436e-03 7.576248e-03 9.124473e-03 9.119125e-03 1.529964e-02 + 784 7.395531e-03 9.695634e-03 5.243136e-03 4.454041e-03 4.607827e-03 + 785 4.245289e-03 5.195528e-03 6.110387e-03 8.196819e-03 6.512748e-03 + 786 8.575739e-03 4.334369e-03 9.697399e-03 9.085149e-03 7.775766e-03 + 787 4.672993e-03 9.664235e-03 1.349102e-03 3.038638e-03 3.122585e-03 + 788 3.289809e-03 2.151631e-03 4.695887e-03 5.385025e-03 3.761747e-03 + 789 4.990226e-03 6.788013e-03 4.658857e-03 3.848777e-03 6.728579e-03 + 790 3.810202e-03 2.982812e-03 4.563501e-03 4.243632e-03 6.256017e-03 + 791 4.984100e-03 8.313096e-03 4.351435e-03 7.448080e-03 2.911849e-03 + 792 3.059980e-03 5.961654e-03 4.379072e-03 5.294058e-03 3.667995e-03 + 793 3.333717e-03 4.281421e-03 2.735037e-03 3.306185e-03 3.778291e-03 + 794 4.686575e-03 3.829099e-03 4.272485e-03 4.728628e-03 3.380404e-03 + 795 7.309982e-04 1.170560e-03 9.563956e-04 1.552869e-03 2.623791e-03 + 796 3.581419e-03 5.769695e-03 5.002265e-03 3.032741e-03 4.040927e-03 + 797 1.562364e-03 6.605058e-04 3.036662e-03 1.733786e-03 4.527705e-04 + 798 2.841716e-03 5.067965e-03 2.301828e-03 2.744957e-03 2.040520e-03 + 799 2.191069e-03 2.575362e-03 1.806851e-03 3.810880e-03 5.188344e-03 + 800 2.477606e-03 2.075093e-03 1.954051e-03 1.296847e-03 1.189788e-03 + 801 2.253893e-03 4.605731e-03 3.819088e-03 3.832905e-03 2.629240e-03 + 802 1.901527e-03 7.300064e-04 7.499992e-04 1.431944e-03 1.542021e-03 + 803 4.091690e-03 2.487350e-03 2.858795e-03 1.409282e-03 1.765057e-03 + 804 1.766205e-03 1.437254e-03 2.405848e-03 2.267035e-03 2.295540e-03 + 805 1.638124e-03 2.660576e-03 1.862608e-03 1.615300e-03 3.469617e-03 + 806 2.247346e-03 1.386292e-03 2.829676e-03 1.270220e-03 1.904309e-03 + 807 3.761162e-03 6.868966e-03 1.752480e-03 4.307824e-03 1.826009e-03 + 808 1.823670e-03 1.162812e-03 8.603865e-04 4.775765e-04 1.175067e-03 + 809 3.262174e-03 5.228031e-03 2.134264e-03 3.475538e-03 2.732837e-03 + 810 1.161307e-03 1.989237e-03 2.531002e-03 1.382036e-03 3.067958e-03 + 811 1.930192e-03 1.847994e-03 2.072665e-03 3.098589e-03 3.165661e-03 + 812 1.298525e-03 6.265355e-04 1.473439e-03 7.458966e-04 1.267768e-03 + 813 1.227477e-03 4.847820e-03 2.483196e-03 2.858315e-03 3.149303e-03 + 814 3.083084e-03 1.191310e-03 1.897939e-03 3.205187e-03 2.936794e-03 + 815 9.222831e-04 4.723514e-03 1.114988e-03 1.315484e-03 1.273602e-03 + 816 1.786294e-03 3.560086e-03 3.230726e-03 1.679577e-03 1.797621e-03 + 817 6.909663e-02 8.640507e-02 6.521451e-02 6.953705e-02 7.461017e-02 + 818 4.177738e-01 4.602379e-01 4.084372e-01 3.872751e-01 4.195996e-01 + 819 8.732815e-02 9.111563e-02 8.239216e-02 7.129030e-02 8.070742e-02 + 820 1.768953e-03 2.764488e-03 1.444248e-03 1.223396e-03 1.325354e-03 + 821 8.849774e-04 7.009725e-04 2.024015e-03 1.326102e-03 1.624833e-03 + 822 9.933759e-04 1.437262e-03 9.887927e-04 2.118437e-03 1.285170e-03 + 823 7.974982e-04 1.616063e-03 3.563302e-03 1.981497e-03 1.254243e-03 + 824 7.056558e-04 1.076192e-03 1.850193e-03 1.998321e-03 8.656185e-04 + 825 1.208676e-03 8.391207e-04 1.275195e-03 1.015949e-03 1.869044e-03 + 826 1.087620e-03 1.658989e-03 1.316244e-03 1.432832e-03 1.728651e-03 + 827 9.616805e-04 1.115562e-03 7.297994e-04 1.058451e-03 2.370312e-03 + 828 6.235225e-04 1.514659e-03 1.288507e-03 1.156423e-03 1.103323e-03 + 829 1.039792e-03 9.966345e-04 1.401552e-03 1.352503e-03 1.224818e-03 + 830 7.377220e-04 1.385432e-03 5.504908e-04 1.854607e-03 1.043216e-03 + 831 1.685478e-03 6.872223e-04 1.049391e-03 1.059300e-03 1.438947e-03 + 832 8.783353e-04 9.907646e-04 1.413497e-03 1.068222e-03 6.507518e-04 + 833 2.100438e-03 4.931617e-04 4.532281e-04 1.768335e-03 1.782965e-03 + 834 6.061009e-04 9.190225e-04 6.236880e-04 9.084419e-04 2.276440e-04 + 835 1.653466e-03 2.789656e-04 7.004976e-04 1.896140e-03 2.013571e-03 + 836 1.267721e-03 1.347771e-03 1.080639e-03 2.104228e-03 1.026077e-03 + 837 7.930773e-04 1.911555e-04 1.089913e-03 9.371617e-04 9.979206e-04 + 838 1.125616e-03 2.403909e-03 1.789036e-03 2.552163e-03 1.184465e-03 + 839 9.155710e-04 1.271489e-03 1.464301e-03 1.011665e-03 4.110951e-04 + 840 1.415853e-03 7.036690e-04 3.722111e-04 2.847901e-04 5.240719e-04 + 841 1.158318e-03 5.694056e-04 1.306661e-03 8.826566e-04 1.612293e-03 + 842 2.052389e-03 2.238317e-03 7.454512e-04 2.107533e-03 1.873432e-03 + 843 1.243127e-03 7.915002e-04 1.355543e-03 9.874619e-04 2.787220e-04 + 844 3.457199e-03 2.466493e-03 1.347942e-03 1.781853e-03 1.450872e-03 + 845 1.897604e-03 1.115213e-03 5.702739e-04 1.148704e-03 1.088547e-03 + 846 1.829086e-03 2.080011e-03 1.474253e-03 1.818204e-03 4.846960e-04 + 847 7.367831e-04 6.781380e-04 1.104071e-03 3.017898e-04 9.822433e-04 + 848 4.472270e-04 9.063122e-04 1.202633e-03 6.498670e-04 6.433867e-04 + 849 2.045951e-03 9.274637e-04 1.994162e-03 3.119365e-03 4.446550e-04 + 850 1.022612e-03 3.234903e-04 2.080339e-03 2.557891e-04 1.781613e-03 + 851 2.893536e-04 5.954424e-04 9.010452e-04 3.719913e-04 9.637535e-04 + 852 1.186893e-03 9.078866e-04 1.253946e-03 1.851703e-03 7.162066e-04 + 853 8.285876e-04 5.946166e-04 3.314536e-04 3.401495e-04 7.787999e-04 + 854 1.435688e-03 1.511538e-03 5.684532e-04 9.640977e-04 9.367045e-04 + 855 6.538007e-04 7.172579e-04 1.128179e-03 6.658571e-04 1.245057e-03 + 856 6.799178e-04 4.873986e-04 2.616965e-04 2.850672e-04 3.250945e-04 + 857 7.389765e-04 1.469658e-03 1.303470e-03 7.614110e-04 1.118279e-03 + 858 8.346015e-04 1.171751e-03 5.119961e-04 1.349659e-03 1.213564e-03 + 859 2.061097e-03 1.607317e-03 6.126412e-04 1.767648e-03 9.564726e-04 + 860 7.899131e-04 1.022052e-03 3.231557e-04 1.461385e-03 2.061530e-04 + 861 4.200962e-03 3.929339e-03 2.044249e-03 3.784209e-03 1.631959e-03 + 862 1.102294e-02 9.211462e-03 6.657983e-03 8.769296e-03 8.123596e-03 + 863 2.609027e-03 2.990066e-03 1.576902e-03 2.575584e-03 2.058020e-03 + 864 3.914745e-04 7.248368e-04 9.694015e-04 1.580728e-03 1.341948e-03 + 865 3.860499e-04 1.828520e-04 3.383740e-04 6.210885e-04 5.696466e-04 + 866 2.443274e-03 1.181238e-03 9.959083e-04 1.295886e-03 1.391663e-03 + 867 1.239504e-03 1.947767e-03 1.616384e-03 9.843075e-04 7.400401e-04 + 868 9.321786e-03 1.226871e-02 1.125557e-02 1.071732e-02 7.064053e-03 + 869 2.224891e-03 2.266626e-03 2.695081e-03 2.047801e-03 1.340231e-03 + 870 1.637973e-03 8.290227e-04 1.694486e-03 1.660192e-03 1.022638e-03 + 871 6.982493e-04 6.127080e-04 6.882708e-04 1.078338e-03 1.247992e-03 + 872 8.634305e-04 9.552597e-04 1.255296e-03 6.777806e-04 8.750140e-04 + 873 1.088237e-03 1.945423e-03 1.781947e-03 1.646686e-03 3.565088e-03 + 874 7.403494e-03 5.996619e-03 5.785806e-03 6.060519e-03 9.164124e-03 + 875 1.504373e-03 1.271453e-03 1.644287e-03 2.201864e-03 2.478988e-03 + 876 1.164995e-03 9.335328e-04 5.120333e-04 1.151899e-03 8.462101e-04 + 877 6.193315e-04 3.819668e-04 3.856499e-04 7.368496e-04 3.113465e-04 + 878 1.333086e-03 7.947325e-04 4.334658e-04 7.963468e-04 5.603050e-04 + 879 2.554538e-03 1.442010e-03 1.888753e-03 1.115028e-03 2.620075e-03 + 880 1.382347e-03 5.495327e-04 8.181866e-04 8.682699e-04 1.364906e-03 + 881 8.964961e-04 1.173561e-03 9.338101e-04 6.192133e-04 1.236823e-03 + 882 1.008937e-03 2.258979e-03 1.119164e-03 1.665845e-03 4.318014e-04 + 883 1.240890e-03 4.512849e-04 1.215685e-03 8.907597e-04 8.368159e-04 + 884 2.227863e-03 1.221416e-03 8.391891e-04 1.948829e-03 2.639628e-03 + 885 1.027020e-03 8.120816e-04 2.507852e-04 1.066645e-03 8.091452e-04 + 886 2.019822e-03 2.020400e-03 5.925229e-04 1.923709e-03 1.464265e-03 + 887 2.358953e-03 1.263338e-03 1.328292e-03 2.563846e-03 2.616039e-03 + 888 3.953100e-04 1.724097e-03 1.479430e-03 3.231891e-04 1.003704e-03 + 889 9.303066e-04 1.798476e-03 1.562156e-03 4.306801e-04 8.861804e-04 + 890 2.024495e-03 6.031660e-04 9.396493e-04 1.019885e-03 7.804397e-04 + 891 1.476900e-03 1.476008e-03 9.791309e-04 9.730173e-04 9.888602e-04 + 892 6.516511e-04 8.051286e-04 3.392944e-04 2.324692e-04 5.732802e-04 + 893 1.034750e-03 1.174583e-03 2.443846e-03 2.322774e-04 9.435892e-04 + 894 1.519531e-03 1.223008e-03 1.017656e-03 1.215694e-03 7.320979e-04 + 895 1.503396e-03 1.541136e-03 9.980613e-04 6.875397e-04 1.481744e-03 + 896 3.316010e-04 3.565927e-03 4.065104e-04 1.078834e-03 4.823997e-04 + 897 1.490874e+00 1.308850e+00 1.409691e+00 1.414183e+00 1.291191e+00 + 898 2.139085e+02 2.160636e+02 2.177449e+02 2.133071e+02 2.132782e+02 + 899 3.345833e+02 3.384478e+02 3.412318e+02 3.339772e+02 3.354230e+02 + 900 1.368716e+01 1.400930e+01 1.415415e+01 1.381049e+01 1.401934e+01 + 901 4.505307e-02 5.967755e-02 5.385208e-02 3.482073e-02 3.046511e-02 + 902 1.929861e-02 8.914025e-03 1.885134e-02 9.933189e-03 1.416053e-02 + 903 1.125235e-01 1.253392e-01 1.218149e-01 1.207305e-01 9.899256e-02 + 904 3.232184e-01 3.312457e-01 3.536957e-01 3.289423e-01 2.822173e-01 + 905 6.629826e-02 6.684599e-02 6.569302e-02 6.992306e-02 5.685849e-02 + 906 1.847046e-02 3.162985e-02 2.272137e-02 1.923690e-02 2.117644e-02 + 907 8.911237e-03 2.806190e-03 5.998707e-03 8.395316e-03 1.019364e-02 + 908 1.315369e-02 2.447423e-02 1.487565e-02 1.941788e-02 2.043772e-02 + 909 1.895163e-02 9.300555e-03 1.026887e-02 1.013027e-02 8.428240e-03 + 910 1.592427e-02 1.528535e-02 1.184993e-02 1.610655e-02 9.793556e-03 + 911 9.393723e-03 6.870400e-03 1.327431e-02 9.625369e-03 1.710164e-02 + 912 3.363563e-03 3.707091e-03 6.211822e-03 6.714219e-03 4.004490e-03 + 913 7.284305e-03 1.291509e-02 7.317856e-03 9.116511e-03 3.946457e-03 + 914 2.787760e-03 4.576959e-03 5.215751e-03 2.317440e-03 3.821881e-03 + 915 9.170008e-03 8.548773e-03 9.256050e-03 6.663424e-03 7.702540e-03 + 916 6.365820e-03 7.216721e-03 4.001666e-03 9.071902e-03 4.409490e-03 + 917 2.337286e-03 5.709365e-03 4.171442e-03 1.705224e-03 4.259173e-03 + 918 5.818327e-03 4.788791e-03 8.575808e-03 7.821037e-03 3.137759e-03 + 919 5.956836e-03 8.604160e-03 2.765398e-03 6.050606e-03 3.728101e-03 + 920 4.112075e-03 4.927830e-03 4.673534e-03 4.761108e-03 5.546441e-03 + 921 2.698387e-03 5.299125e-03 2.306504e-03 2.353267e-03 3.880905e-03 + 922 7.213293e-03 4.228913e-03 3.136244e-03 3.868207e-03 2.853524e-03 + 923 2.698296e-03 6.764644e-03 8.196112e-03 3.030938e-03 2.917666e-03 + 924 3.064109e-03 1.818593e-03 2.244111e-03 1.687536e-03 2.880362e-03 + 925 3.435905e-03 2.810484e-03 5.833063e-03 7.516233e-03 5.044465e-03 + 926 2.789698e-03 3.033900e-03 5.198488e-03 9.249308e-04 3.365698e-03 + 927 4.564690e-03 6.712643e-03 5.984143e-03 6.861033e-03 5.935249e-03 + 928 2.342402e-03 1.953364e-03 2.145447e-03 1.953287e-03 2.086726e-03 + 929 4.439526e-04 1.164551e-03 1.018404e-03 1.256856e-03 7.475404e-04 + 930 3.084430e-03 3.086048e-03 3.576618e-03 1.912911e-03 2.231572e-03 + 931 4.077581e-03 2.282159e-03 5.427092e-03 3.729703e-03 2.545418e-03 + 932 1.098843e-03 2.032516e-03 3.402162e-04 1.990411e-03 1.737095e-03 + 933 1.129574e-03 2.728781e-03 4.908080e-03 2.208058e-03 2.170228e-03 + 934 3.356540e-03 2.739898e-03 1.078935e-03 1.743585e-03 2.702123e-03 + 935 2.787448e-03 1.223269e-03 2.262272e-03 7.609040e-04 6.435337e-04 + 936 1.637704e-03 2.454305e-03 4.845072e-04 1.924685e-03 1.122577e-03 + 937 3.144094e-03 1.558177e-03 3.207133e-03 1.845053e-03 2.639540e-03 + 938 1.934890e-03 3.481881e-03 1.579614e-03 2.875702e-03 2.304377e-03 + 939 9.253716e-04 1.201616e-03 1.960450e-03 1.979469e-03 2.565305e-03 + 940 2.062577e-03 1.121294e-03 9.355315e-04 3.609264e-04 1.532835e-03 + 941 1.238099e-03 2.865542e-03 9.362003e-04 2.949513e-03 8.649220e-04 + 942 1.807483e-03 1.511006e-03 2.489360e-03 1.761922e-03 3.047163e-03 + 943 7.264435e-04 6.971558e-04 2.994362e-04 1.210025e-03 1.436741e-03 + 944 4.217141e-04 1.125927e-03 1.009640e-03 1.470706e-03 1.038864e-03 + 945 8.065108e-02 8.088649e-02 8.188302e-02 8.586786e-02 7.895571e-02 + 946 4.185086e-01 4.235657e-01 4.014726e-01 4.170489e-01 4.010287e-01 + 947 8.373804e-02 8.009041e-02 8.066422e-02 7.273814e-02 7.772422e-02 + 948 1.639693e-03 2.257849e-03 1.981999e-03 2.265460e-03 8.608039e-04 + 949 2.871470e-03 1.847765e-03 1.452018e-03 1.749936e-03 3.308433e-03 + 950 8.783439e-04 6.439535e-04 1.163469e-03 1.409782e-03 6.661721e-04 + 951 1.576345e-03 2.074021e-03 6.177931e-04 1.240259e-03 1.328982e-03 + 952 6.714933e-04 1.477973e-03 2.388358e-03 1.987983e-03 1.742338e-03 + 953 1.154161e-03 9.779305e-04 1.375446e-03 7.893948e-04 2.177741e-03 + 954 1.432436e-03 6.729233e-04 1.727076e-03 3.757569e-03 1.588182e-03 + 955 1.042801e-03 1.472282e-03 9.672636e-04 1.762657e-03 1.328770e-03 + 956 1.178680e-03 3.272843e-03 1.976795e-03 2.808730e-03 1.917406e-03 + 957 2.634618e-03 9.651221e-04 1.200740e-03 5.607998e-04 1.514850e-03 + 958 1.138080e-03 1.348103e-03 9.374279e-04 1.117909e-03 7.309440e-04 + 959 1.694662e-03 1.080819e-03 3.073363e-03 1.436639e-03 1.716412e-03 + 960 2.347181e-03 2.087642e-03 4.360719e-04 1.666336e-03 3.833366e-04 + 961 1.304433e-03 7.902947e-04 8.231109e-04 7.482636e-04 8.096719e-04 + 962 1.918790e-03 1.163998e-03 1.435996e-03 1.220049e-03 8.919378e-04 + 963 1.142526e-03 2.348570e-03 7.511009e-04 1.275549e-03 1.726310e-03 + 964 9.651618e-04 1.603800e-03 1.068724e-03 1.555298e-03 1.840453e-03 + 965 1.459557e-03 1.586799e-03 1.923175e-03 1.143625e-03 1.036448e-03 + 966 5.976656e-04 5.618868e-04 1.150802e-03 2.741112e-04 8.012519e-04 + 967 8.707839e-04 1.061875e-03 8.196618e-04 8.218232e-04 2.033710e-03 + 968 1.762950e-03 2.060247e-03 8.385239e-04 2.636247e-03 2.168608e-03 + 969 3.911527e-04 1.126844e-03 1.150250e-03 4.158441e-04 1.930692e-03 + 970 1.379191e-03 5.347806e-04 6.860331e-04 1.184101e-03 9.360174e-04 + 971 1.503093e-03 1.622128e-03 1.075712e-03 1.176481e-03 2.665402e-04 + 972 8.872155e-04 1.306412e-03 3.619282e-04 7.793562e-04 1.188142e-03 + 973 6.433804e-04 3.557290e-04 1.131185e-03 1.101507e-03 4.985195e-04 + 974 6.011064e-04 1.310664e-03 9.252529e-05 5.417362e-04 7.835012e-04 + 975 9.970767e-04 1.036738e-03 2.016046e-03 8.690365e-04 1.879618e-03 + 976 9.985988e-04 1.470211e-03 8.752714e-04 3.640069e-04 5.811948e-04 + 977 9.237624e-04 8.361813e-04 8.201480e-04 3.131057e-04 7.844694e-04 + 978 1.135335e-03 9.484703e-04 8.087324e-04 5.686790e-04 3.242672e-04 + 979 1.468638e-03 9.595831e-05 8.218457e-04 9.087179e-04 1.382065e-03 + 980 2.768300e-03 2.061852e-03 1.111524e-03 1.598752e-03 3.139012e-03 + 981 5.678557e-04 6.478923e-04 6.555670e-04 1.991581e-03 1.067464e-03 + 982 6.909608e-04 1.751941e-03 4.192457e-04 7.385913e-04 9.982630e-04 + 983 1.060174e-03 3.070305e-03 8.195576e-04 1.128643e-03 3.068812e-03 + 984 1.040934e-03 2.494499e-03 2.691931e-04 2.022375e-04 1.104901e-03 + 985 1.503600e-03 2.957594e-03 5.565851e-04 3.451104e-03 2.093012e-03 + 986 1.348392e-03 8.946649e-04 1.166796e-03 1.021024e-03 1.358277e-03 + 987 1.547522e-03 7.970578e-04 3.548479e-04 8.448430e-04 8.485739e-04 + 988 1.109568e-03 1.392242e-03 1.438752e-03 2.170590e-03 1.853560e-03 + 989 1.549956e-03 1.515820e-03 2.361775e-03 1.969907e-03 2.053180e-03 + 990 1.746272e-03 6.217490e-03 6.496938e-03 6.906588e-03 5.020166e-03 + 991 2.157345e-03 1.576537e-03 2.945364e-03 3.304256e-03 4.303139e-03 + 992 8.401860e-04 3.206256e-04 6.269457e-04 1.065456e-03 1.656234e-03 + 993 2.904594e-03 1.856729e-03 1.074596e-03 1.980347e-03 4.422954e-03 + 994 7.263290e-04 8.073019e-04 6.873101e-04 4.953462e-04 1.801960e-03 + 995 2.349140e-03 3.694919e-03 1.791512e-03 3.564687e-03 5.266008e-03 + 996 7.054669e-03 1.241228e-02 7.825969e-03 8.029252e-03 1.117482e-02 + 997 1.878900e-03 3.979547e-03 2.548779e-03 2.428893e-03 3.943413e-03 + 998 8.777942e-04 1.098117e-03 2.241278e-03 9.733239e-04 2.483933e-03 + 999 6.029146e-04 1.682135e-03 9.793508e-04 2.000385e-04 1.018884e-03 + 1000 1.360995e-03 1.548776e-03 1.191427e-03 6.539317e-04 1.666316e-03 + 1001 1.211009e-03 2.038595e-03 1.035287e-03 1.386129e-03 7.765695e-04 + 1002 5.253674e-03 7.277996e-03 3.520888e-03 4.834255e-03 3.261207e-03 + 1003 1.304371e-03 2.255361e-03 1.271418e-03 1.201534e-03 1.855139e-03 + 1004 9.124616e-04 5.486949e-04 1.208647e-03 4.855459e-04 3.921625e-04 + 1005 9.631178e-04 1.070487e-03 1.026071e-03 4.855169e-04 7.182546e-04 + 1006 1.346934e-03 2.673622e-04 1.072410e-03 1.715951e-03 1.491976e-03 + 1007 1.455475e-03 5.558120e-04 7.646790e-04 5.453112e-04 6.609525e-04 + 1008 6.610665e-04 3.649794e-04 1.687358e-03 1.090992e-03 4.618059e-04 + 1009 6.520701e-04 3.320974e-04 1.597608e-03 1.350713e-04 5.979443e-04 + 1010 1.529710e-03 1.045171e-03 9.262437e-04 8.059025e-04 3.662730e-04 + 1011 9.816776e-04 1.385847e-03 1.791606e-03 6.313922e-04 4.515084e-04 + 1012 1.053322e-03 1.399856e-03 1.260835e-03 1.432965e-03 1.342615e-03 + 1013 3.676654e-04 1.293683e-04 8.850812e-04 1.443704e-03 6.517451e-04 + 1014 1.376582e-03 1.980288e-03 1.604310e-03 1.838031e-03 1.827788e-03 + 1015 2.130500e-03 9.008206e-04 4.396448e-04 7.309524e-04 1.121682e-03 + 1016 9.303920e-04 9.714928e-04 7.233574e-04 5.778026e-04 4.403080e-04 + 1017 2.280512e-03 1.286512e-03 1.315506e-03 7.934295e-04 2.549041e-03 + 1018 8.213897e-04 1.153605e-03 2.820525e-04 5.739859e-04 7.594896e-04 + 1019 1.081310e-03 8.750685e-04 7.287053e-04 1.953357e-03 3.088535e-04 + 1020 3.518540e-04 3.131343e-04 7.622812e-04 7.458223e-04 3.786830e-04 + 1021 7.446563e-04 3.361605e-03 2.346279e-03 1.159615e-03 1.536478e-03 + 1022 7.348347e-04 9.892998e-04 1.092517e-03 5.600906e-04 8.767005e-04 + 1023 1.260837e-03 8.456471e-04 9.739207e-04 4.352954e-04 1.566073e-03 + 1024 2.899070e-04 3.366988e-04 1.187439e-03 5.754799e-04 1.380589e-03 + 1025 1.370420e+00 1.417660e+00 1.317795e+00 1.441877e+00 1.353037e+00 + 1026 2.106252e+02 2.161455e+02 2.158782e+02 2.132229e+02 2.133622e+02 + 1027 3.326870e+02 3.410435e+02 3.402827e+02 3.348204e+02 3.359074e+02 + 1028 1.348443e+01 1.426084e+01 1.406378e+01 1.370605e+01 1.372645e+01 + 1029 4.142656e-02 4.233051e-02 3.241999e-02 4.828680e-02 3.891901e-02 + 1030 2.876325e-02 2.377867e-02 2.375319e-02 2.155721e-02 1.994624e-02 + 1031 1.082197e-01 9.516930e-02 9.752476e-02 1.036666e-01 1.037887e-01 + 1032 4.074346e-01 3.817003e-01 3.884445e-01 3.918656e-01 3.630564e-01 + 1033 5.024349e-02 5.785535e-02 5.268725e-02 5.239673e-02 6.388994e-02 + 1034 3.075646e-02 3.889729e-02 2.816625e-02 2.858912e-02 2.593956e-02 + 1035 9.617135e-03 6.597767e-03 9.276053e-03 1.016626e-02 1.072199e-02 + 1036 2.457567e-02 2.117577e-02 1.533082e-02 2.026744e-02 2.124058e-02 + 1037 8.769333e-03 1.109285e-02 1.180683e-02 9.840206e-03 4.747897e-03 + 1038 2.547066e-02 1.925156e-02 1.332066e-02 1.570768e-02 2.136055e-02 + 1039 7.131235e-03 1.137752e-02 8.571595e-03 7.703324e-03 9.442632e-03 + 1040 1.092405e-02 5.229514e-03 7.599342e-03 1.228091e-02 8.321435e-03 + 1041 6.017050e-03 7.044899e-03 5.213363e-03 7.536270e-03 1.169674e-02 + 1042 4.925013e-03 7.687506e-03 2.350587e-03 1.773179e-03 4.777877e-03 + 1043 1.026528e-02 3.345359e-03 1.458941e-02 1.240230e-02 9.832883e-03 + 1044 4.384191e-03 1.059674e-02 2.535929e-03 5.978533e-03 8.964904e-03 + 1045 6.188012e-03 1.578316e-03 7.642817e-03 3.542027e-03 3.605133e-03 + 1046 3.506002e-03 6.707442e-03 2.102583e-03 2.979461e-03 2.730456e-03 + 1047 3.446743e-03 4.845751e-03 2.694338e-03 5.487306e-03 8.336740e-03 + 1048 6.802796e-03 1.051181e-02 7.324245e-03 5.677772e-03 3.183857e-03 + 1049 2.376232e-03 2.274512e-03 1.690719e-03 2.298264e-03 1.247363e-03 + 1050 3.392563e-03 1.517877e-03 3.902405e-03 4.281889e-03 3.686235e-03 + 1051 4.933459e-03 5.136471e-03 3.048049e-03 3.186232e-03 4.716026e-03 + 1052 2.812122e-03 2.524992e-03 3.802310e-03 5.862429e-03 3.460224e-03 + 1053 1.970176e-03 3.855380e-03 3.756244e-03 3.431020e-03 1.439753e-03 + 1054 4.731575e-03 2.762365e-03 2.646117e-03 5.928194e-04 3.900024e-03 + 1055 8.477432e-04 7.769214e-04 3.491954e-03 4.155657e-03 2.924626e-03 + 1056 2.968181e-03 6.884704e-03 3.468883e-03 2.304523e-03 2.821431e-03 + 1057 3.208347e-03 1.027646e-03 2.546858e-03 4.452955e-03 2.285527e-03 + 1058 1.978423e-03 1.294524e-03 2.723033e-03 1.287229e-03 1.725872e-03 + 1059 3.726438e-03 3.214570e-03 3.039483e-03 2.563089e-03 2.624782e-03 + 1060 2.587668e-03 3.563925e-03 1.581405e-03 5.235499e-03 3.331971e-03 + 1061 8.669754e-04 1.121441e-03 2.142451e-03 1.592765e-03 1.726826e-03 + 1062 3.373080e-03 3.184397e-03 2.935059e-03 3.517227e-03 6.636505e-03 + 1063 1.333272e-03 3.107120e-03 2.880575e-03 3.106461e-03 1.645259e-03 + 1064 3.152279e-03 1.534733e-03 1.455803e-03 1.830096e-03 4.613685e-03 + 1065 1.476793e-03 2.252975e-03 2.613691e-03 2.427164e-03 2.328911e-03 + 1066 2.630651e-03 6.998186e-03 2.275600e-03 1.262167e-03 4.665986e-04 + 1067 4.349281e-04 1.258792e-03 2.480096e-03 1.125098e-03 3.607027e-03 + 1068 2.604854e-03 1.529293e-03 2.275812e-03 2.217320e-03 1.215835e-03 + 1069 1.253070e-03 4.187881e-03 1.086973e-03 1.527820e-03 2.291687e-03 + 1070 1.583590e-03 1.038180e-03 1.857972e-03 2.529288e-03 2.561984e-03 + 1071 2.102806e-03 1.941051e-03 2.821319e-03 8.169885e-04 1.915872e-03 + 1072 1.129018e-03 2.564179e-03 1.790986e-03 1.304935e-03 2.236317e-03 + 1073 8.581326e-02 8.204511e-02 7.878780e-02 7.419060e-02 8.511579e-02 + 1074 4.364755e-01 4.497808e-01 4.455711e-01 4.273527e-01 4.846994e-01 + 1075 7.517720e-02 7.962294e-02 7.655630e-02 7.950442e-02 9.268195e-02 + 1076 2.013048e-03 2.642896e-03 2.320851e-03 2.020442e-03 2.271481e-03 + 1077 1.380146e-03 2.071263e-03 1.155352e-03 1.902414e-03 1.482503e-03 + 1078 4.862348e-04 1.346683e-03 3.375457e-04 9.596923e-04 7.696117e-04 + 1079 9.097674e-04 1.324073e-03 9.975733e-04 8.511289e-04 4.519614e-04 + 1080 2.068335e-03 1.471163e-03 1.794501e-03 3.828932e-03 3.307569e-03 + 1081 1.310940e-03 1.582934e-03 1.996404e-03 3.227302e-03 1.918947e-03 + 1082 3.711898e-04 6.763341e-04 1.149771e-03 4.316987e-04 8.805102e-04 + 1083 1.563478e-03 1.717774e-03 5.690688e-04 1.935858e-03 1.574191e-03 + 1084 7.275409e-04 1.492520e-03 2.174492e-03 1.884760e-03 1.421624e-03 + 1085 1.076615e-03 5.653187e-04 9.620515e-04 1.088757e-03 7.829722e-04 + 1086 1.832181e-03 1.416948e-03 1.284596e-03 1.033977e-03 2.170404e-03 + 1087 9.356911e-04 5.615714e-04 1.302516e-03 2.600159e-03 5.125486e-04 + 1088 1.781621e-03 6.258593e-04 6.100574e-04 1.770611e-03 2.524402e-03 + 1089 1.093091e-03 2.021410e-03 9.299906e-04 5.925282e-04 5.656714e-04 + 1090 1.837338e-03 4.215992e-04 8.869457e-04 6.582798e-04 7.300016e-04 + 1091 9.255365e-04 2.230129e-03 2.195037e-03 2.599776e-03 1.529042e-03 + 1092 8.877571e-04 2.905040e-04 3.335801e-04 2.811691e-04 8.254082e-04 + 1093 4.408592e-04 1.818931e-03 5.859802e-04 1.718901e-03 9.379884e-04 + 1094 1.730804e-03 2.470423e-03 8.032636e-04 1.053630e-03 1.412602e-03 + 1095 4.682282e-04 1.367473e-03 1.012423e-03 5.535118e-04 3.484934e-04 + 1096 1.554077e-03 2.374658e-03 1.457174e-03 8.703783e-04 1.008975e-03 + 1097 2.226588e-04 9.786727e-04 1.502824e-03 1.293613e-03 1.921048e-03 + 1098 1.262156e-03 1.098265e-03 1.012004e-03 6.577014e-04 3.393346e-04 + 1099 1.167396e-03 1.588912e-03 1.696244e-03 5.589985e-04 2.130993e-03 + 1100 5.180665e-04 4.522198e-04 5.886138e-04 6.884374e-04 6.915423e-04 + 1101 1.395979e-03 1.750980e-03 8.006829e-04 1.289625e-03 2.846213e-03 + 1102 1.924046e-03 1.140661e-03 1.242902e-03 5.213609e-04 6.991407e-04 + 1103 2.039641e-03 5.225401e-04 4.667150e-04 1.395172e-03 1.611489e-03 + 1104 8.542857e-04 8.569584e-04 1.187358e-03 7.042753e-04 6.613594e-04 + 1105 1.313320e-03 1.034344e-03 2.212506e-03 1.073701e-03 5.180730e-04 + 1106 1.903033e-03 1.387526e-03 1.742626e-03 2.711453e-03 9.146720e-04 + 1107 9.180343e-04 5.176795e-04 9.644865e-04 1.064685e-03 1.394105e-04 + 1108 1.921039e-03 1.499533e-03 7.550213e-04 4.024517e-04 1.451124e-03 + 1109 7.701403e-04 2.777476e-04 1.139060e-03 7.033773e-04 3.238820e-04 + 1110 1.210763e-03 1.960249e-03 4.639307e-04 2.481442e-03 1.955010e-03 + 1111 1.600163e-03 1.373672e-03 8.432164e-04 5.795789e-04 4.641531e-04 + 1112 1.107559e-03 1.168316e-03 9.348744e-04 9.993230e-04 6.769778e-04 + 1113 1.431897e-03 1.194160e-03 1.278599e-03 7.172317e-04 1.982078e-03 + 1114 2.474737e-03 3.084638e-03 1.251382e-03 1.639573e-03 4.209359e-04 + 1115 8.286707e-04 3.223290e-04 5.481530e-04 1.806547e-03 1.181191e-03 + 1116 2.091348e-03 2.004995e-03 1.495543e-03 1.330760e-03 1.284148e-03 + 1117 3.515956e-03 4.216344e-03 3.579222e-03 2.122927e-03 4.155146e-03 + 1118 4.473385e-03 9.085808e-03 7.351811e-03 7.997241e-03 8.019594e-03 + 1119 2.049887e-03 1.897921e-03 2.279044e-03 2.207635e-03 1.795743e-03 + 1120 6.581997e-04 1.737290e-03 1.650111e-03 1.796252e-03 4.002115e-04 + 1121 3.853841e-04 9.820954e-04 5.779510e-04 3.305211e-04 5.862447e-04 + 1122 1.886118e-03 2.471533e-03 3.483856e-03 1.938562e-03 1.891322e-03 + 1123 3.162792e-03 3.912524e-03 3.432052e-03 2.923391e-03 1.888734e-03 + 1124 1.112300e-02 1.062565e-02 8.466634e-03 9.664529e-03 8.899026e-03 + 1125 4.394246e-03 1.546651e-03 2.548348e-03 2.734157e-03 1.512044e-03 + 1126 4.173183e-04 8.205632e-04 9.611505e-04 7.565290e-04 4.818722e-04 + 1127 7.209960e-04 4.779555e-04 5.965001e-04 1.496323e-03 1.007068e-03 + 1128 1.273907e-03 1.305234e-03 5.634140e-04 1.127003e-03 1.084418e-03 + 1129 2.468455e-03 2.443796e-03 1.892186e-03 8.556127e-04 1.083971e-03 + 1130 2.762292e-03 4.310797e-03 2.779562e-03 3.389741e-03 3.163312e-03 + 1131 1.848301e-03 1.831268e-03 2.024675e-03 8.787306e-04 1.565823e-03 + 1132 5.173104e-04 9.786023e-04 1.829755e-04 2.050329e-04 5.052688e-04 + 1133 2.074936e-03 2.199080e-03 6.094062e-04 2.983608e-03 1.777924e-03 + 1134 5.834533e-04 2.784877e-04 2.710067e-04 7.985979e-04 3.236457e-04 + 1135 1.893573e-03 1.194198e-03 7.942074e-04 8.083271e-04 1.431612e-03 + 1136 1.101979e-03 4.767321e-04 3.449482e-04 1.663812e-04 5.796525e-04 + 1137 1.350370e-03 3.407998e-04 1.166032e-03 1.019653e-03 7.071914e-04 + 1138 1.122410e-03 3.230619e-03 2.796602e-04 1.491202e-03 1.218389e-03 + 1139 2.256410e-04 1.343999e-03 3.217096e-04 2.550283e-04 1.450470e-03 + 1140 9.345044e-04 1.548877e-03 6.363287e-04 8.059823e-04 2.659635e-03 + 1141 1.144646e-03 1.446230e-03 1.952927e-03 1.718270e-03 1.061701e-03 + 1142 3.263522e-03 4.197816e-04 3.594382e-03 5.682170e-04 1.395490e-03 + 1143 8.479389e-04 8.594588e-04 1.164304e-03 3.922323e-04 6.172464e-04 + 1144 1.373875e-03 1.718199e-03 3.060614e-04 1.426188e-03 1.099714e-03 + 1145 1.131741e-03 1.904311e-03 1.452541e-03 3.016347e-04 8.878567e-04 + 1146 2.242547e-03 1.054950e-03 4.906059e-04 1.793635e-03 1.158608e-03 + 1147 6.065098e-04 1.889921e-03 1.410993e-03 1.810635e-03 1.969107e-03 + 1148 2.390120e-04 1.312801e-03 5.250171e-04 1.417947e-03 6.757116e-04 + 1149 1.393012e-03 5.224757e-04 1.527515e-03 4.501197e-04 1.200504e-03 + 1150 1.020756e-04 6.089389e-04 2.929907e-04 4.116749e-04 4.700974e-04 + 1151 3.537027e-04 1.271248e-03 1.358455e-03 1.271135e-03 8.541614e-04 + 1152 1.222130e-03 1.521293e-03 1.216666e-03 1.420628e-03 2.376854e-03 + 1153 1.346950e+00 1.367711e+00 1.409514e+00 1.349086e+00 1.356158e+00 + 1154 2.112705e+02 2.134566e+02 2.148162e+02 2.125356e+02 2.128200e+02 + 1155 3.322339e+02 3.364924e+02 3.389682e+02 3.346486e+02 3.347052e+02 + 1156 1.346897e+01 1.374962e+01 1.373303e+01 1.374147e+01 1.357840e+01 + 1157 4.626959e-02 4.303309e-02 5.182725e-02 4.672340e-02 3.812188e-02 + 1158 2.594407e-02 2.721525e-02 2.782655e-02 2.056888e-02 2.194784e-02 + 1159 9.153352e-02 8.423405e-02 1.218884e-01 1.110791e-01 8.660910e-02 + 1160 3.711368e-01 3.139602e-01 4.356675e-01 3.651676e-01 3.304338e-01 + 1161 6.401155e-02 4.367980e-02 6.847258e-02 5.430578e-02 5.952321e-02 + 1162 2.333639e-02 2.368463e-02 2.234211e-02 2.663069e-02 2.124515e-02 + 1163 1.177590e-02 1.233897e-02 1.003773e-02 1.376767e-02 1.496996e-02 + 1164 9.684949e-03 1.141795e-02 1.590695e-02 1.224839e-02 9.028100e-03 + 1165 1.811063e-02 1.912447e-02 1.961653e-02 1.152302e-02 2.337985e-02 + 1166 7.322961e-03 6.021262e-03 6.527517e-03 1.057900e-02 5.282510e-03 + 1167 1.027842e-02 1.236323e-02 1.435212e-02 8.588893e-03 1.360460e-02 + 1168 8.044255e-03 8.641256e-03 8.969919e-03 1.347583e-02 6.095323e-03 + 1169 8.377085e-03 7.163658e-03 2.806608e-03 3.006227e-03 6.790806e-03 + 1170 4.881536e-03 9.626128e-03 1.368061e-02 8.697402e-03 8.346807e-03 + 1171 1.204119e-02 1.108890e-02 7.735906e-03 1.087929e-02 8.181273e-03 + 1172 3.744840e-03 5.405609e-03 6.997058e-03 5.031233e-03 5.247817e-03 + 1173 4.383798e-03 7.664838e-03 4.799848e-03 6.480402e-03 5.662129e-03 + 1174 3.192697e-03 1.809523e-03 2.955032e-03 1.311866e-03 3.839554e-03 + 1175 5.946170e-03 1.158338e-02 6.546749e-03 6.850590e-03 4.722313e-03 + 1176 3.808944e-03 4.308735e-03 1.074352e-03 4.132616e-03 3.979685e-03 + 1177 3.926640e-03 2.368471e-03 3.501731e-03 1.855444e-03 1.450161e-03 + 1178 4.787964e-03 6.572817e-03 3.313850e-03 4.424110e-03 6.937523e-03 + 1179 5.242376e-03 4.425068e-03 2.555385e-03 1.282452e-03 4.467813e-03 + 1180 7.393813e-03 3.409324e-03 3.335357e-03 4.991530e-03 4.999270e-03 + 1181 3.311968e-03 4.691747e-03 4.841878e-03 2.891864e-03 5.036123e-03 + 1182 3.020881e-03 2.815352e-03 2.197725e-03 4.520322e-03 2.305545e-03 + 1183 3.037307e-03 4.620462e-03 4.025619e-03 1.575736e-03 2.404094e-03 + 1184 1.474475e-03 7.347278e-04 2.497122e-03 2.382792e-03 1.928886e-03 + 1185 2.243288e-03 3.364628e-03 3.318631e-03 2.863413e-03 3.536759e-03 + 1186 5.128704e-03 1.740655e-03 1.578268e-03 1.481161e-03 2.135699e-03 + 1187 5.232454e-04 3.091776e-04 1.666475e-03 2.788888e-03 7.822552e-04 + 1188 1.754972e-03 4.070945e-03 3.608107e-03 5.059535e-03 1.993346e-03 + 1189 3.535015e-03 4.941516e-04 4.180297e-03 1.321375e-03 3.548366e-03 + 1190 1.213684e-03 2.472487e-03 7.204482e-04 2.683729e-03 1.128547e-03 + 1191 2.213197e-03 1.768234e-03 3.808324e-03 3.606776e-03 3.996507e-03 + 1192 1.331917e-03 2.204522e-03 2.317203e-03 5.905575e-04 1.618003e-03 + 1193 2.305511e-03 3.769926e-03 2.690635e-03 1.459571e-03 2.516492e-03 + 1194 2.010845e-03 1.108127e-03 3.550891e-03 2.632103e-03 2.158521e-03 + 1195 1.257529e-03 3.445721e-03 1.399653e-03 1.017009e-03 2.363751e-03 + 1196 1.222557e-03 1.465393e-03 3.192618e-03 2.104298e-03 3.479753e-04 + 1197 9.322255e-04 1.284644e-03 5.248060e-04 1.038254e-03 1.981521e-03 + 1198 4.986165e-04 9.423569e-04 1.848341e-03 2.254246e-03 5.746794e-04 + 1199 1.975568e-03 2.291069e-03 1.204583e-03 5.145251e-04 1.746635e-03 + 1200 1.827558e-03 5.440116e-04 3.106582e-03 2.348999e-03 1.546211e-03 + 1201 8.505957e-02 8.329773e-02 7.676085e-02 7.923955e-02 7.445322e-02 + 1202 4.574810e-01 4.393297e-01 4.554098e-01 4.326508e-01 4.201607e-01 + 1203 8.468680e-02 8.940981e-02 9.379375e-02 8.426251e-02 8.032198e-02 + 1204 2.552364e-03 4.808033e-03 2.194394e-03 2.864165e-03 1.738755e-03 + 1205 9.497689e-04 1.235534e-03 8.058073e-04 8.179081e-04 1.104296e-03 + 1206 3.344026e-03 1.364534e-03 3.088636e-03 1.116408e-03 2.104284e-03 + 1207 6.099437e-04 1.235835e-03 1.068336e-03 2.196150e-03 1.174186e-03 + 1208 8.971910e-04 7.625424e-04 1.555800e-03 1.775742e-03 7.614601e-04 + 1209 5.007099e-04 8.209727e-04 5.353050e-04 1.370036e-03 1.316914e-03 + 1210 1.551646e-03 2.155732e-03 1.793239e-03 2.940180e-03 3.577440e-03 + 1211 1.156290e-03 1.797426e-03 9.537031e-04 2.431694e-03 1.014927e-03 + 1212 9.354050e-04 1.594313e-03 8.969456e-04 1.273881e-03 1.919162e-03 + 1213 1.849272e-03 2.366830e-03 1.901861e-03 1.311078e-03 2.589577e-03 + 1214 1.043449e-03 5.186106e-04 7.296025e-04 6.187955e-04 1.312593e-03 + 1215 1.258071e-03 8.663514e-04 5.257435e-04 9.876724e-04 5.510726e-04 + 1216 8.303593e-04 1.795877e-03 1.088083e-03 1.583233e-03 1.677168e-03 + 1217 1.386903e-03 1.024195e-03 2.259668e-03 1.383463e-03 2.176276e-03 + 1218 9.685985e-04 7.742860e-04 3.114802e-03 9.910442e-04 1.014556e-03 + 1219 1.674519e-03 2.282495e-03 2.324553e-03 8.582477e-04 2.466095e-03 + 1220 9.348831e-04 1.371101e-03 7.221089e-04 5.463307e-04 1.436788e-03 + 1221 1.265316e-03 1.005660e-03 4.850216e-04 7.106077e-04 2.692494e-04 + 1222 2.422434e-03 1.879814e-03 1.218012e-03 1.233029e-03 2.247492e-03 + 1223 7.500827e-04 1.304083e-03 1.463147e-03 1.191404e-03 5.977740e-04 + 1224 8.787843e-04 1.209565e-03 3.036473e-04 2.108468e-04 7.818629e-04 + 1225 1.049999e-03 1.580514e-03 4.487669e-04 5.214353e-04 5.542414e-04 + 1226 1.263388e-03 2.619746e-03 1.315821e-03 2.218105e-03 1.440943e-03 + 1227 1.308294e-03 6.774302e-04 3.970278e-04 1.019179e-03 3.290057e-04 + 1228 7.692884e-04 8.126831e-04 7.800163e-04 8.579582e-04 7.336889e-04 + 1229 1.131005e-03 1.304589e-03 7.892231e-04 1.281552e-03 1.157426e-03 + 1230 6.961810e-04 6.822235e-04 7.809447e-04 1.378776e-03 1.399740e-03 + 1231 5.327722e-04 8.941432e-04 3.493921e-04 2.336584e-03 1.174323e-03 + 1232 1.517829e-03 1.103141e-03 8.852069e-04 1.889762e-03 1.777002e-03 + 1233 2.099724e-03 1.409386e-03 1.450145e-03 1.953795e-03 1.104408e-03 + 1234 1.673332e-03 1.773012e-03 1.003294e-03 1.042292e-03 1.286838e-03 + 1235 1.047528e-03 5.596861e-04 8.791827e-04 1.362021e-03 6.726742e-04 + 1236 1.046505e-03 8.735113e-04 1.325102e-03 1.760606e-03 7.920632e-04 + 1237 1.098170e-03 5.808982e-04 1.984755e-03 1.287183e-03 1.071439e-03 + 1238 6.013594e-04 8.568260e-04 5.741073e-04 3.506033e-04 1.192932e-03 + 1239 6.973935e-04 1.047684e-03 6.386790e-04 8.799940e-04 1.460617e-03 + 1240 6.681703e-04 5.589541e-04 6.662839e-04 1.069455e-03 1.058554e-03 + 1241 1.267291e-03 7.108373e-04 1.617799e-03 1.144655e-03 1.574964e-03 + 1242 1.150081e-03 1.906318e-03 8.092583e-04 1.399417e-03 3.155345e-04 + 1243 2.712172e-04 7.213507e-04 4.633966e-04 2.795869e-04 5.192447e-04 + 1244 1.218709e-03 1.483986e-03 1.044662e-03 4.162986e-04 9.342914e-04 + 1245 1.038852e-03 1.413341e-03 1.459965e-03 1.240369e-03 1.279430e-03 + 1246 7.773168e-03 5.879531e-03 5.980434e-03 7.848837e-03 6.807995e-03 + 1247 2.772149e-03 1.968846e-03 3.708069e-03 2.540363e-03 4.050476e-03 + 1248 1.479259e-03 6.535365e-04 4.512175e-04 8.512764e-04 2.948199e-03 + 1249 9.207110e-04 6.067384e-04 7.981277e-04 9.207971e-04 1.234842e-03 + 1250 8.299211e-04 8.395241e-04 1.141804e-03 6.750991e-04 4.122646e-04 + 1251 2.785887e-03 3.212661e-03 2.929041e-03 2.355531e-03 3.405106e-03 + 1252 1.062815e-02 7.234233e-03 7.326472e-03 7.038406e-03 8.756407e-03 + 1253 3.170187e-03 1.735042e-03 2.034778e-03 1.588123e-03 2.291951e-03 + 1254 2.278233e-03 1.044177e-03 1.476860e-03 9.427444e-04 1.007876e-03 + 1255 2.268186e-03 5.255756e-04 8.768710e-04 4.000040e-04 1.448895e-03 + 1256 2.960326e-04 4.985396e-04 2.984554e-04 1.037380e-03 4.430451e-04 + 1257 2.294133e-03 1.136191e-03 1.390514e-03 9.780045e-04 1.496442e-03 + 1258 4.249922e-03 3.761871e-03 2.402790e-03 4.672192e-03 4.758540e-03 + 1259 7.615905e-04 8.118720e-04 6.336933e-04 9.577514e-04 1.372466e-03 + 1260 2.951619e-03 2.236046e-03 3.213443e-03 2.241566e-03 3.122225e-03 + 1261 7.040909e-04 5.694758e-04 6.458273e-04 6.459333e-04 1.633249e-04 + 1262 2.278577e-03 1.658567e-03 5.533034e-04 1.487814e-03 9.622461e-04 + 1263 1.659853e-03 2.772404e-04 9.459494e-04 6.032960e-04 4.333213e-04 + 1264 1.073226e-03 1.590594e-03 1.284706e-03 7.303743e-04 1.734493e-03 + 1265 5.853265e-04 8.137257e-04 5.053976e-04 1.429567e-03 2.434791e-03 + 1266 1.216651e-03 1.086765e-04 2.616241e-04 7.402991e-04 8.173165e-04 + 1267 5.964938e-04 4.108950e-04 7.451778e-04 9.292138e-04 9.553602e-04 + 1268 9.194070e-04 1.571251e-03 1.880042e-03 1.605549e-03 9.903370e-04 + 1269 5.899101e-04 2.060713e-03 1.743079e-03 1.293133e-03 2.332365e-03 + 1270 2.285758e-03 5.435022e-03 2.795343e-03 2.311561e-03 4.010252e-03 + 1271 1.489682e-03 3.179497e-03 6.737594e-04 1.544821e-03 1.481527e-03 + 1272 4.604390e-04 1.554198e-03 1.498620e-03 1.903147e-04 7.168204e-04 + 1273 1.560779e-03 2.258065e-03 1.661117e-03 2.430242e-03 7.396798e-04 + 1274 3.985430e-04 1.139865e-03 9.935718e-04 1.010835e-03 4.946997e-04 + 1275 2.352137e-03 2.816749e-03 1.640459e-03 9.056306e-04 2.587562e-03 + 1276 1.138380e-03 6.232394e-04 3.762654e-04 6.183892e-04 5.505016e-04 + 1277 1.924786e-03 1.340616e-03 1.570404e-03 9.137057e-04 1.180122e-03 + 1278 4.958955e-04 5.344616e-04 5.391451e-04 8.082086e-04 1.234014e-03 + 1279 2.120457e-03 1.424670e-03 1.873885e-03 2.804967e-03 1.684955e-03 + 1280 1.231192e-03 4.609029e-04 9.612049e-04 1.937242e-03 2.328715e-03 + 1281 1.271642e+00 1.142652e+00 1.381481e+00 1.284125e+00 1.539914e+00 + 1282 2.101666e+02 2.134224e+02 2.144760e+02 2.116507e+02 2.130485e+02 + 1283 3.319395e+02 3.368437e+02 3.372725e+02 3.338205e+02 3.347304e+02 + 1284 1.365076e+01 1.376969e+01 1.365744e+01 1.379791e+01 1.382095e+01 + 1285 3.264473e-02 3.338321e-02 3.345548e-02 2.194618e-02 2.336574e-02 + 1286 3.548831e-02 4.179893e-02 3.496887e-02 3.011610e-02 4.259450e-02 + 1287 1.391595e-01 1.128398e-01 1.214967e-01 1.160721e-01 1.162310e-01 + 1288 3.910513e-01 3.108252e-01 3.729456e-01 3.495436e-01 3.503141e-01 + 1289 6.368720e-02 6.871926e-02 6.112960e-02 7.615472e-02 6.706136e-02 + 1290 1.979157e-02 2.133782e-02 2.317464e-02 1.867327e-02 1.850609e-02 + 1291 1.075723e-02 1.680176e-02 1.616482e-02 1.992305e-02 1.779723e-02 + 1292 1.275700e-02 1.238725e-02 1.011139e-02 8.981150e-03 1.317111e-02 + 1293 1.816858e-02 3.864394e-02 2.514416e-02 2.645154e-02 2.854088e-02 + 1294 9.385686e-03 1.045288e-02 9.806150e-03 8.163506e-03 8.716272e-03 + 1295 9.401372e-03 7.841027e-03 7.558056e-03 7.876879e-03 7.273696e-03 + 1296 3.354973e-03 1.070120e-02 9.416413e-03 9.016405e-03 7.552770e-03 + 1297 7.963825e-03 1.203403e-02 6.121475e-03 7.988004e-03 7.168122e-03 + 1298 1.073606e-02 9.879843e-03 1.271501e-02 6.843469e-03 6.908315e-03 + 1299 5.445785e-03 2.995231e-03 3.748646e-03 2.708938e-03 3.045511e-03 + 1300 2.161688e-03 4.838077e-03 6.398281e-03 4.727899e-03 4.233490e-03 + 1301 7.725657e-03 4.721725e-03 6.188269e-03 6.877447e-03 7.458220e-03 + 1302 3.129613e-03 2.689087e-03 1.728937e-03 2.611973e-03 3.341797e-03 + 1303 2.448156e-03 6.999206e-03 5.523608e-03 4.740230e-03 3.597701e-03 + 1304 7.202538e-03 2.670817e-03 3.936728e-03 4.637435e-03 3.716970e-03 + 1305 1.771131e-03 4.163618e-03 5.155797e-03 3.616956e-03 5.218383e-03 + 1306 2.531532e-03 2.872664e-03 1.814650e-03 2.133944e-03 4.422443e-03 + 1307 3.056572e-03 3.913763e-03 3.030187e-03 3.934440e-03 1.683407e-03 + 1308 3.229591e-03 4.951533e-03 3.445986e-03 3.211360e-03 3.928249e-03 + 1309 1.593352e-03 3.200579e-03 3.459730e-03 1.341569e-03 3.141030e-03 + 1310 3.020167e-03 4.848202e-03 2.991131e-03 2.505419e-03 2.106866e-03 + 1311 2.931686e-03 4.304293e-03 5.026590e-03 3.262964e-03 4.479153e-03 + 1312 1.956314e-03 1.221833e-03 2.491669e-03 1.222581e-03 3.570234e-04 + 1313 3.524099e-03 6.298132e-03 2.541946e-03 5.481070e-03 5.144325e-03 + 1314 2.119950e-03 1.482308e-03 1.112687e-03 8.240085e-04 7.465293e-04 + 1315 5.738483e-03 4.214012e-03 3.881393e-03 4.911092e-03 1.791865e-03 + 1316 2.496864e-03 2.116482e-03 5.296076e-03 2.995841e-03 3.584678e-03 + 1317 3.513757e-03 1.230138e-03 1.684225e-03 2.019914e-03 2.686534e-03 + 1318 2.193473e-03 1.927921e-03 1.612154e-03 1.209215e-03 1.114053e-03 + 1319 2.303849e-03 2.210491e-03 1.168247e-03 1.570274e-03 1.533387e-03 + 1320 3.449656e-03 2.678075e-03 2.204068e-03 1.534586e-03 2.814962e-03 + 1321 3.848747e-04 2.860330e-03 1.343239e-03 8.528900e-04 1.935509e-03 + 1322 1.615982e-03 3.821653e-03 2.067056e-03 6.832551e-04 1.846223e-03 + 1323 2.401398e-03 3.140540e-03 1.006343e-03 2.918928e-03 1.834415e-03 + 1324 1.844215e-03 1.119947e-03 3.505320e-03 1.774815e-03 1.981246e-03 + 1325 4.658512e-04 8.287072e-04 1.328031e-03 1.365809e-03 1.431869e-03 + 1326 2.710744e-03 4.716560e-03 2.403964e-03 1.939355e-03 1.954127e-03 + 1327 3.137967e-03 1.866894e-03 2.334825e-03 2.231641e-03 2.126043e-03 + 1328 3.216461e-03 2.466624e-03 1.203816e-03 1.299328e-03 1.987921e-03 + 1329 7.316909e-02 7.880317e-02 8.595274e-02 8.039759e-02 7.681367e-02 + 1330 4.255637e-01 4.263169e-01 4.556688e-01 4.360224e-01 4.291206e-01 + 1331 8.067079e-02 7.679405e-02 8.469617e-02 8.605542e-02 8.260161e-02 + 1332 1.669909e-03 2.229540e-03 3.117818e-03 3.301475e-03 1.683233e-03 + 1333 1.366689e-03 1.573860e-03 8.220145e-04 9.846518e-04 1.699938e-03 + 1334 8.848184e-04 1.652651e-03 9.947110e-04 7.404647e-04 2.008424e-03 + 1335 1.826457e-03 6.961578e-04 2.337831e-03 1.298530e-03 1.029635e-03 + 1336 2.411481e-03 2.990712e-03 4.897205e-04 7.818341e-04 2.304090e-03 + 1337 6.847808e-04 1.413063e-03 2.072423e-03 1.262535e-03 2.893761e-03 + 1338 9.285378e-04 1.133590e-03 4.270356e-04 1.962835e-03 2.397426e-03 + 1339 2.320102e-03 1.662750e-03 1.424670e-03 1.619816e-03 1.203043e-03 + 1340 1.131726e-03 6.348223e-04 7.667408e-04 2.464168e-03 2.319656e-03 + 1341 2.384644e-03 1.576104e-03 2.125740e-03 2.228408e-03 3.775855e-03 + 1342 7.910437e-04 3.335509e-03 1.070185e-03 2.114723e-03 1.235085e-03 + 1343 1.074118e-03 3.462589e-03 2.026115e-03 2.129706e-03 2.629087e-03 + 1344 9.961168e-04 2.277378e-03 1.384063e-03 7.427907e-04 8.194173e-04 + 1345 1.295382e-03 6.544399e-04 1.315032e-03 1.290333e-03 1.719463e-03 + 1346 2.979205e-03 6.237963e-04 1.525267e-03 1.080654e-03 6.102420e-04 + 1347 1.463827e-03 2.055704e-03 3.039911e-03 2.847811e-03 2.210140e-03 + 1348 1.141041e-03 7.722796e-04 1.983007e-03 1.414522e-04 2.303771e-04 + 1349 1.423632e-03 2.377058e-03 1.960921e-03 3.470077e-04 9.902687e-04 + 1350 6.132275e-04 1.310145e-03 7.191192e-04 8.744466e-04 1.576927e-03 + 1351 1.759009e-03 8.665936e-04 1.824679e-03 1.195570e-03 2.700777e-03 + 1352 8.406256e-04 7.354471e-04 4.931546e-04 4.806594e-04 1.925366e-03 + 1353 8.468728e-04 1.777272e-03 2.061472e-03 2.357799e-03 2.211767e-03 + 1354 1.753841e-03 1.013367e-03 1.319770e-03 5.459079e-04 8.987109e-04 + 1355 8.098366e-04 5.527712e-04 8.905931e-05 5.343706e-04 4.479514e-04 + 1356 7.917813e-04 2.681831e-03 1.248011e-03 1.632434e-03 1.630529e-03 + 1357 1.644763e-03 2.664307e-03 9.950641e-04 1.392244e-03 1.238808e-03 + 1358 3.396224e-04 1.214405e-03 2.917745e-04 7.599622e-04 6.937125e-04 + 1359 1.273118e-03 7.179036e-04 5.976011e-04 9.523139e-04 9.033210e-04 + 1360 1.118559e-03 1.370072e-03 1.430795e-03 9.161992e-04 3.060111e-03 + 1361 7.444659e-04 1.140685e-03 1.135157e-03 6.577312e-04 8.794331e-04 + 1362 4.345157e-04 7.976198e-04 6.295675e-04 6.352489e-04 2.336537e-03 + 1363 1.092570e-03 1.049357e-03 2.694126e-03 1.609432e-03 4.696902e-04 + 1364 5.492820e-04 1.514714e-03 8.477154e-04 1.090399e-03 1.454207e-03 + 1365 2.367851e-04 1.273808e-03 1.106007e-03 1.404162e-03 1.574811e-03 + 1366 8.318418e-04 4.083548e-04 1.050119e-03 2.428081e-03 4.368004e-04 + 1367 1.448618e-03 1.218184e-03 9.370295e-04 4.584372e-04 4.340464e-04 + 1368 1.283268e-03 2.005135e-04 1.134351e-03 8.633569e-04 4.120248e-04 + 1369 1.963687e-03 2.209023e-03 1.735922e-03 9.685330e-04 1.378051e-03 + 1370 6.479869e-04 1.873145e-03 9.552678e-04 5.694160e-04 1.277800e-03 + 1371 1.133466e-03 1.001985e-03 8.502048e-04 1.126059e-03 7.728291e-04 + 1372 3.764465e-04 3.655410e-04 3.036499e-04 7.825770e-04 5.413807e-04 + 1373 1.954467e-03 2.142004e-03 2.246544e-03 8.789789e-04 2.140755e-03 + 1374 5.905070e-03 4.059740e-03 9.527160e-03 5.897547e-03 5.804329e-03 + 1375 2.083415e-03 1.848982e-03 2.544213e-03 2.019979e-03 2.274562e-03 + 1376 3.788906e-04 7.942773e-04 1.309858e-03 6.127502e-04 1.615224e-03 + 1377 1.466557e-03 8.331885e-04 2.296804e-03 2.308836e-03 2.602110e-03 + 1378 7.397265e-04 8.246300e-04 9.814258e-04 8.779765e-04 5.867159e-04 + 1379 3.423257e-03 5.442687e-03 3.818898e-03 3.634290e-03 2.532856e-03 + 1380 7.714727e-03 6.861190e-03 4.897272e-03 7.308877e-03 5.063585e-03 + 1381 2.699026e-03 1.840695e-03 1.767358e-03 2.183053e-03 1.757384e-03 + 1382 1.043065e-03 1.008163e-03 1.260175e-03 1.612064e-03 5.294930e-04 + 1383 4.671706e-04 6.311569e-04 1.772401e-04 4.072355e-04 4.036953e-04 + 1384 5.135060e-04 1.420984e-03 7.747701e-04 1.219799e-03 8.942128e-04 + 1385 2.379631e-03 2.403363e-03 2.362056e-03 2.211863e-03 2.129958e-03 + 1386 2.947969e-03 4.575872e-03 5.397339e-03 2.574927e-03 6.234342e-03 + 1387 7.862439e-04 1.596488e-03 1.018200e-03 7.693569e-04 1.951932e-03 + 1388 8.078400e-04 1.064440e-03 3.308061e-03 1.190345e-03 1.086414e-03 + 1389 1.212160e-03 9.798494e-04 1.513718e-03 2.072655e-03 1.513211e-03 + 1390 1.734446e-03 1.292451e-03 2.063505e-03 3.567245e-04 1.652744e-03 + 1391 2.422904e-03 9.772100e-04 5.524897e-04 8.038484e-04 1.029907e-03 + 1392 1.527162e-03 9.487087e-04 4.720110e-04 7.984642e-04 1.014098e-03 + 1393 6.259715e-04 1.618065e-03 7.271041e-04 9.264292e-04 1.103537e-03 + 1394 9.301115e-04 9.894418e-04 4.058390e-04 1.247477e-03 1.062197e-03 + 1395 1.787525e-04 1.108566e-03 9.926850e-04 7.466950e-04 9.739898e-04 + 1396 1.213060e-03 1.713552e-03 1.154935e-03 9.408803e-04 1.899679e-03 + 1397 5.766831e-04 1.181351e-03 1.296306e-03 6.006974e-04 1.586185e-03 + 1398 1.605846e-03 2.547506e-03 3.091721e-03 2.771149e-03 3.343863e-03 + 1399 3.579605e-04 8.195740e-04 8.642517e-04 1.458797e-03 1.005037e-03 + 1400 9.026292e-04 1.288589e-03 1.170963e-03 3.903552e-04 7.715618e-04 + 1401 4.048829e-04 1.670722e-03 3.308460e-03 6.144822e-04 1.629465e-03 + 1402 1.128984e-03 5.812771e-04 1.917812e-03 5.263239e-04 1.551327e-03 + 1403 1.588884e-03 1.872889e-03 1.050791e-03 1.067436e-03 1.262943e-03 + 1404 5.149880e-04 2.034551e-03 1.246264e-03 5.918268e-04 1.004006e-03 + 1405 8.700140e-04 1.221655e-03 1.170640e-03 2.041425e-03 1.945134e-03 + 1406 7.573871e-04 4.753980e-04 1.688905e-03 5.115225e-04 1.239377e-03 + 1407 1.671215e-04 2.301657e-03 3.154373e-04 6.731397e-04 5.298831e-04 + 1408 9.801334e-04 8.142993e-04 6.701537e-04 2.867105e-03 1.578386e-04 + 1409 1.328888e+00 1.235447e+00 1.295329e+00 1.262601e+00 1.189895e+00 + 1410 2.118321e+02 2.150875e+02 2.164682e+02 2.110807e+02 2.136404e+02 + 1411 3.317351e+02 3.377349e+02 3.395764e+02 3.313268e+02 3.358414e+02 + 1412 1.373575e+01 1.377380e+01 1.421366e+01 1.360722e+01 1.377662e+01 + 1413 4.668227e-02 5.348667e-02 3.112296e-02 4.389122e-02 4.938332e-02 + 1414 1.418590e-02 7.373762e-03 6.727237e-03 1.186097e-02 9.209663e-03 + 1415 1.154306e-01 1.173649e-01 1.318641e-01 1.228149e-01 1.279702e-01 + 1416 3.481631e-01 2.996919e-01 2.982602e-01 3.476964e-01 3.289446e-01 + 1417 6.161265e-02 7.416583e-02 6.678173e-02 8.379914e-02 6.717970e-02 + 1418 2.980671e-02 2.299586e-02 2.570202e-02 1.992304e-02 2.983366e-02 + 1419 8.674214e-03 1.192857e-02 1.018902e-02 8.084076e-03 8.708159e-03 + 1420 1.344997e-02 1.274347e-02 1.529313e-02 1.791936e-02 1.277169e-02 + 1421 1.004887e-02 1.276993e-02 8.050529e-03 6.727932e-03 9.781394e-03 + 1422 1.343008e-02 1.635944e-02 1.821026e-02 1.452290e-02 1.929649e-02 + 1423 1.047865e-02 9.720927e-03 6.472083e-03 1.018809e-02 8.951663e-03 + 1424 9.127809e-03 1.070137e-02 9.267864e-03 9.073643e-03 7.614770e-03 + 1425 4.974538e-03 4.928281e-03 4.867902e-03 5.763401e-03 4.515920e-03 + 1426 3.487689e-03 2.103730e-03 3.346636e-03 6.169306e-03 3.722389e-03 + 1427 8.124565e-03 1.313740e-02 9.812384e-03 9.035078e-03 7.977376e-03 + 1428 7.433262e-03 4.016048e-03 7.316125e-03 8.984235e-03 6.807595e-03 + 1429 1.054959e-02 1.254067e-02 5.126288e-03 6.034513e-03 5.761107e-03 + 1430 2.436186e-03 2.275151e-03 6.914536e-03 2.928702e-03 3.442946e-03 + 1431 2.847835e-03 9.013636e-03 3.012227e-03 7.284744e-03 6.202461e-03 + 1432 5.629598e-03 2.805645e-03 4.489882e-03 4.592789e-03 2.835553e-03 + 1433 1.554372e-03 3.021931e-03 5.413435e-03 2.903742e-03 2.406831e-03 + 1434 2.532602e-03 2.346604e-03 2.439808e-03 1.453066e-03 2.840307e-03 + 1435 5.131615e-03 6.296751e-03 3.135132e-03 6.783612e-03 6.692494e-03 + 1436 2.534259e-03 2.566276e-03 3.031056e-03 2.045293e-03 3.316962e-03 + 1437 9.925912e-04 1.537257e-03 4.357248e-04 1.952454e-03 8.093594e-04 + 1438 2.532546e-03 5.601947e-03 4.939099e-03 2.832423e-03 2.989255e-03 + 1439 2.740929e-03 1.743120e-03 7.695647e-04 1.018899e-03 2.957604e-03 + 1440 2.170184e-03 2.464945e-03 4.632129e-03 4.569069e-03 4.122783e-03 + 1441 3.268816e-03 2.759590e-03 3.559524e-03 8.583804e-04 9.553271e-04 + 1442 2.601049e-03 1.098849e-03 3.987801e-03 2.137089e-03 3.900288e-03 + 1443 1.742188e-03 3.602783e-03 2.920817e-03 2.940424e-03 4.978610e-03 + 1444 2.707816e-03 1.535410e-03 1.999514e-03 2.247638e-03 1.100877e-03 + 1445 1.317434e-03 2.416407e-03 2.207542e-03 3.664643e-03 1.754864e-03 + 1446 2.412131e-03 1.495656e-03 1.013652e-03 3.445700e-03 1.813633e-03 + 1447 3.572746e-03 4.362142e-03 4.493639e-03 5.269772e-03 1.982998e-03 + 1448 3.545395e-03 8.983808e-04 1.620272e-03 2.680600e-03 1.290991e-03 + 1449 9.967421e-04 4.068470e-04 4.895046e-04 3.057625e-03 2.493479e-03 + 1450 1.859766e-03 4.466548e-03 2.624954e-03 2.562261e-03 1.907948e-03 + 1451 8.763918e-04 1.019024e-03 1.095461e-03 7.271089e-04 8.126100e-04 + 1452 1.408257e-03 2.389502e-03 1.143237e-03 1.271446e-03 2.754680e-03 + 1453 2.798811e-03 1.858103e-03 2.276455e-03 1.726022e-03 3.855661e-03 + 1454 1.555378e-03 2.237525e-03 1.763066e-03 1.938667e-03 1.973632e-03 + 1455 1.190820e-03 4.015577e-03 1.283124e-03 1.153110e-03 7.512255e-04 + 1456 1.379815e-03 2.898012e-03 3.750601e-03 1.592099e-03 1.300921e-03 + 1457 7.277767e-02 8.502237e-02 7.730930e-02 6.357540e-02 7.542162e-02 + 1458 3.853460e-01 4.184314e-01 4.062864e-01 3.547256e-01 3.861442e-01 + 1459 6.844115e-02 8.061173e-02 7.966664e-02 6.758132e-02 7.216291e-02 + 1460 2.642920e-03 9.463853e-04 8.254735e-04 9.694050e-04 1.090406e-03 + 1461 2.416256e-03 1.937731e-03 1.685767e-03 2.143850e-03 2.101815e-03 + 1462 1.754856e-03 1.453798e-03 1.520627e-03 2.388012e-03 1.114525e-03 + 1463 1.504999e-03 1.148218e-03 1.849231e-03 2.024149e-03 3.167276e-03 + 1464 1.037777e-03 1.979565e-03 3.326530e-03 1.255905e-03 1.361090e-03 + 1465 1.139805e-03 8.490078e-04 8.103195e-04 5.909797e-04 2.062766e-03 + 1466 6.844175e-04 1.410115e-03 6.000392e-04 8.162374e-04 8.491289e-04 + 1467 3.228354e-03 2.442421e-03 2.879200e-03 2.631575e-03 2.325233e-03 + 1468 5.540858e-04 1.051996e-03 7.313099e-04 3.412105e-04 3.140805e-04 + 1469 2.022972e-03 4.754661e-04 4.675681e-04 1.255345e-03 8.756012e-04 + 1470 9.335271e-04 3.751499e-03 2.482468e-03 2.368460e-03 1.192912e-03 + 1471 1.110918e-03 2.918019e-03 6.586134e-04 5.298607e-04 1.105073e-03 + 1472 2.712336e-03 2.909541e-03 9.965395e-04 1.304468e-03 1.231729e-03 + 1473 1.124372e-03 2.926474e-03 2.121171e-03 1.197637e-03 1.482010e-03 + 1474 1.501975e-03 2.398461e-03 1.516910e-03 1.781685e-03 8.879810e-04 + 1475 9.736394e-04 4.010843e-04 1.649063e-03 1.051976e-03 3.228915e-04 + 1476 8.499678e-04 1.409637e-03 2.047727e-03 2.922821e-03 1.619207e-03 + 1477 5.529915e-04 3.863007e-04 1.441099e-03 4.879534e-04 1.315136e-03 + 1478 1.848946e-03 8.582220e-04 3.956607e-04 9.277268e-04 1.201529e-03 + 1479 2.921923e-03 2.017148e-03 3.588694e-03 1.427910e-03 1.437848e-03 + 1480 2.220868e-03 4.954547e-04 8.218069e-04 8.279479e-04 1.097310e-03 + 1481 1.900755e-03 9.650353e-04 1.472396e-03 1.210953e-03 2.159440e-04 + 1482 1.196842e-03 1.283281e-03 7.614776e-04 8.098420e-04 1.028797e-03 + 1483 1.167399e-03 2.096054e-03 1.387966e-03 2.838119e-04 2.141387e-03 + 1484 9.923097e-04 6.790923e-04 1.609418e-04 8.214381e-04 1.276707e-03 + 1485 1.151866e-03 1.385443e-03 2.093526e-03 8.557085e-04 1.782374e-03 + 1486 1.512866e-03 2.111938e-03 1.812431e-03 2.365991e-03 2.644321e-03 + 1487 1.862688e-03 2.379276e-03 1.435659e-03 1.073536e-03 2.054851e-03 + 1488 1.100708e-03 1.912032e-03 1.146740e-03 5.853481e-04 1.005943e-03 + 1489 4.147401e-04 7.454177e-04 6.594529e-04 1.164604e-03 9.676979e-04 + 1490 1.827001e-03 8.162324e-04 1.262241e-03 4.388008e-04 8.412439e-04 + 1491 8.381510e-04 1.010255e-03 1.194412e-03 6.577871e-04 1.357856e-03 + 1492 1.779019e-03 2.598123e-03 1.433963e-03 7.698979e-04 1.598206e-03 + 1493 9.291778e-04 2.434310e-03 7.117338e-04 1.566041e-03 4.999387e-04 + 1494 7.652533e-04 1.707939e-03 6.257577e-04 3.069542e-04 4.788541e-04 + 1495 1.057719e-03 6.097040e-04 1.434975e-03 1.036884e-03 2.759140e-03 + 1496 9.520614e-04 4.797045e-04 6.915764e-04 7.835690e-04 7.832476e-05 + 1497 2.790427e-04 8.620559e-04 6.146673e-04 5.234708e-04 6.235879e-04 + 1498 1.074355e-03 1.485528e-03 8.897310e-04 1.443175e-03 5.649136e-04 + 1499 6.394840e-04 4.426070e-04 4.393221e-04 1.167140e-03 7.544137e-04 + 1500 2.023578e-03 1.243484e-03 9.908438e-04 8.103351e-04 1.611070e-03 + 1501 1.824091e-03 1.689859e-03 1.445555e-03 1.093903e-03 9.262518e-04 + 1502 5.612283e-03 5.548055e-03 5.223865e-03 4.744049e-03 7.873128e-03 + 1503 1.858272e-03 1.674887e-03 1.491011e-03 2.525365e-03 1.988005e-03 + 1504 4.386866e-04 4.870084e-04 4.332297e-04 4.351986e-04 7.609687e-04 + 1505 1.484224e-03 4.369799e-04 1.389663e-03 1.011056e-03 5.839661e-04 + 1506 6.326113e-04 7.825012e-04 3.610367e-04 2.163805e-03 1.242782e-03 + 1507 3.150944e-03 1.589944e-03 2.735272e-03 3.732116e-03 5.614249e-03 + 1508 9.075937e-03 7.739636e-03 1.182049e-02 9.484371e-03 1.146814e-02 + 1509 1.433161e-03 1.752587e-03 2.259331e-03 1.846392e-03 2.584419e-03 + 1510 1.444720e-03 3.763124e-04 1.451300e-03 5.386089e-04 3.670706e-04 + 1511 1.035601e-03 8.721337e-04 1.165621e-03 5.089371e-04 5.110361e-04 + 1512 1.283053e-03 2.475178e-03 1.083657e-03 7.665044e-04 1.276466e-03 + 1513 1.602628e-03 3.608559e-03 1.721819e-03 1.842466e-03 1.628553e-03 + 1514 6.229046e-03 9.123014e-03 5.301963e-03 5.125718e-03 4.725686e-03 + 1515 2.814826e-03 3.046638e-03 4.139934e-03 2.454339e-03 1.244834e-03 + 1516 5.588470e-04 1.306284e-03 1.486634e-03 5.844956e-04 1.136258e-03 + 1517 9.802847e-04 1.304204e-03 1.332310e-03 8.000946e-04 8.535288e-04 + 1518 8.919996e-04 4.090032e-04 8.298075e-04 4.909015e-04 7.166687e-04 + 1519 6.658050e-04 1.022905e-03 1.747707e-03 3.677435e-04 3.250266e-04 + 1520 3.828261e-04 8.407826e-04 4.401565e-04 2.880309e-04 3.971756e-04 + 1521 5.078089e-04 4.682596e-04 1.757083e-03 8.763268e-04 2.269584e-04 + 1522 1.362607e-03 1.056899e-03 2.691587e-04 5.737206e-04 1.897795e-03 + 1523 1.086600e-03 1.003394e-03 8.461420e-04 9.245349e-05 6.470655e-04 + 1524 1.307013e-03 1.444122e-04 1.432092e-03 5.619367e-04 9.074970e-04 + 1525 4.861372e-04 1.218018e-03 9.063158e-04 1.004961e-03 9.981016e-04 + 1526 3.834615e-03 1.810643e-03 1.515256e-03 1.383307e-03 1.010750e-03 + 1527 9.274801e-04 1.669125e-03 1.114597e-03 1.231949e-03 1.493793e-03 + 1528 5.048039e-04 1.550535e-03 4.209286e-04 4.481326e-04 1.921106e-03 + 1529 1.907886e-04 7.109485e-04 6.769485e-04 8.121448e-04 5.575980e-04 + 1530 3.925284e-04 1.433295e-03 1.406914e-03 1.156429e-03 1.334091e-03 + 1531 3.469712e-04 1.483911e-03 1.638586e-03 1.284558e-03 5.682013e-04 + 1532 1.711271e-03 1.586232e-03 7.966807e-04 5.507807e-04 6.697538e-04 + 1533 1.982909e-03 2.238082e-03 8.461326e-04 6.937578e-04 1.626520e-03 + 1534 1.789491e-03 1.437930e-03 6.607899e-04 7.029058e-04 1.367906e-03 + 1535 1.120603e-03 1.479385e-03 1.864915e-03 1.346813e-03 1.992177e-03 + 1536 6.680765e-04 1.254422e-03 6.063957e-04 1.834234e-03 2.802866e-03 + 1537 1.362523e+00 1.211454e+00 1.312378e+00 1.351896e+00 1.292854e+00 + 1538 2.120684e+02 2.137874e+02 2.157954e+02 2.112356e+02 2.129696e+02 + 1539 3.338299e+02 3.374067e+02 3.396187e+02 3.328368e+02 3.351759e+02 + 1540 1.363661e+01 1.378897e+01 1.405032e+01 1.338599e+01 1.358517e+01 + 1541 9.919248e-03 1.454239e-02 4.746941e-03 2.040471e-02 9.902314e-03 + 1542 3.693895e-02 5.485356e-02 4.509517e-02 3.841571e-02 3.549749e-02 + 1543 1.123896e-01 8.368863e-02 9.812651e-02 9.187596e-02 9.466805e-02 + 1544 4.312939e-01 3.469310e-01 4.068139e-01 3.711645e-01 4.133642e-01 + 1545 6.365726e-02 4.959491e-02 4.799073e-02 4.591958e-02 5.618429e-02 + 1546 1.479251e-02 9.283850e-03 6.714223e-03 1.302381e-02 8.610399e-03 + 1547 2.536421e-02 2.891662e-02 4.235190e-02 2.245355e-02 3.000787e-02 + 1548 1.143492e-02 1.935649e-02 1.048150e-02 1.429197e-02 1.591580e-02 + 1549 9.420906e-03 7.283179e-03 1.023878e-02 7.867162e-03 6.774381e-03 + 1550 1.103642e-02 1.749100e-02 1.341073e-02 1.627610e-02 1.507656e-02 + 1551 1.236158e-02 1.006563e-02 1.152803e-02 5.269140e-03 1.186822e-02 + 1552 7.179692e-03 1.170548e-02 7.562846e-03 1.364954e-02 9.487179e-03 + 1553 7.364973e-03 7.008878e-03 5.893456e-03 5.615162e-03 9.127012e-03 + 1554 4.341421e-03 4.378840e-03 6.537385e-03 4.935676e-03 4.529487e-03 + 1555 8.595505e-03 9.456947e-03 7.571850e-03 9.923107e-03 6.594846e-03 + 1556 6.383733e-03 4.837742e-03 4.880922e-03 3.803800e-03 3.475427e-03 + 1557 8.843003e-03 4.400048e-03 5.062602e-03 5.406503e-03 6.468828e-03 + 1558 3.342479e-03 9.268024e-03 2.582876e-03 3.091736e-03 3.562047e-03 + 1559 6.565343e-03 2.814581e-04 3.319575e-03 3.663962e-03 3.942320e-03 + 1560 5.156604e-03 1.041358e-02 4.920639e-03 4.882572e-03 7.643773e-03 + 1561 4.163685e-03 2.142366e-03 3.089456e-03 4.036340e-03 1.407387e-03 + 1562 3.325172e-03 3.160779e-03 4.755220e-03 3.425489e-03 5.417703e-03 + 1563 1.750252e-03 1.476837e-03 1.371843e-03 2.827036e-03 1.973404e-03 + 1564 5.005743e-03 9.068563e-03 7.809460e-03 6.649966e-03 4.519440e-03 + 1565 3.000849e-03 8.997838e-04 5.088265e-03 1.740982e-03 4.003583e-03 + 1566 3.737032e-03 5.122376e-03 4.796945e-03 3.556129e-03 3.130898e-03 + 1567 3.743572e-03 2.101529e-03 1.353658e-03 2.740347e-03 1.523165e-03 + 1568 3.983172e-03 4.189204e-03 6.107023e-03 4.556663e-03 5.630684e-03 + 1569 2.209040e-03 1.077868e-03 2.955874e-03 2.418428e-03 7.963615e-04 + 1570 3.606735e-03 4.040913e-03 2.884417e-03 2.190741e-03 3.110426e-03 + 1571 5.316523e-03 2.499385e-03 2.839032e-03 2.520808e-03 3.679123e-03 + 1572 4.654771e-03 6.468704e-03 3.892047e-03 3.213806e-03 4.055495e-03 + 1573 1.690807e-03 2.488465e-03 3.392075e-03 1.487961e-03 1.105469e-03 + 1574 5.156040e-03 3.665615e-03 1.674096e-03 3.282043e-03 2.107117e-03 + 1575 1.455864e-03 4.580009e-04 2.044263e-03 7.811143e-04 1.716772e-03 + 1576 3.572105e-03 5.062552e-03 4.008595e-03 4.896982e-03 3.515151e-03 + 1577 2.490337e-03 9.304906e-04 1.730276e-03 1.966976e-04 8.912332e-04 + 1578 1.803622e-03 3.955635e-03 2.222838e-03 3.372801e-03 1.741991e-03 + 1579 7.697108e-04 1.105570e-03 7.596852e-04 1.771785e-03 2.351676e-03 + 1580 9.472649e-04 2.255776e-03 4.184523e-03 1.683889e-03 1.232182e-03 + 1581 1.409160e-03 2.820830e-03 5.015401e-04 1.583681e-03 1.408789e-03 + 1582 2.336968e-03 1.412811e-03 1.774991e-03 8.077245e-04 2.128108e-03 + 1583 5.395200e-04 1.257934e-03 2.421975e-03 2.310574e-03 3.134024e-03 + 1584 1.290235e-03 1.956878e-03 4.224252e-04 1.366556e-04 1.739226e-03 + 1585 8.157361e-02 8.895269e-02 8.545693e-02 8.497515e-02 8.159644e-02 + 1586 4.351048e-01 4.527913e-01 4.334859e-01 4.433629e-01 4.442319e-01 + 1587 8.263772e-02 9.266374e-02 8.538840e-02 8.792359e-02 8.077499e-02 + 1588 1.956930e-03 3.039533e-03 8.929631e-04 1.340439e-03 1.563159e-03 + 1589 9.441367e-04 4.012251e-04 1.571511e-03 1.461513e-03 2.718974e-03 + 1590 1.692696e-03 2.171989e-03 2.830783e-03 1.478858e-03 1.509415e-03 + 1591 1.351145e-03 1.595746e-03 8.560243e-04 1.611329e-03 1.279964e-03 + 1592 2.364352e-03 2.319835e-03 4.700578e-03 3.022099e-03 4.695097e-03 + 1593 1.454347e-03 1.343530e-03 1.733361e-03 8.343492e-04 1.106441e-03 + 1594 1.183232e-03 9.945270e-04 5.477965e-04 1.130973e-03 1.805038e-03 + 1595 1.228852e-03 1.522008e-03 1.417070e-03 1.325202e-03 1.926540e-03 + 1596 3.199344e-04 1.804279e-03 9.805311e-04 6.819630e-04 3.332083e-04 + 1597 3.140362e-03 3.792082e-03 2.453798e-03 2.552075e-03 1.596674e-03 + 1598 3.281465e-04 1.501244e-03 4.203420e-04 6.039752e-04 1.163164e-04 + 1599 2.893246e-03 2.157063e-03 2.431753e-03 1.095891e-03 1.165906e-03 + 1600 6.589012e-04 1.465311e-03 9.851198e-04 1.569845e-03 1.279713e-03 + 1601 4.684324e-04 1.088126e-03 6.996594e-04 1.122474e-03 6.427061e-04 + 1602 1.829933e-03 8.958054e-04 3.479261e-03 1.612452e-03 1.900050e-03 + 1603 6.589000e-04 2.063757e-03 1.271936e-03 1.377465e-03 1.521865e-03 + 1604 1.190967e-03 1.945272e-03 9.497054e-04 1.695504e-03 1.998995e-03 + 1605 1.234040e-03 2.394000e-03 2.896908e-03 1.376775e-03 8.170904e-04 + 1606 3.209346e-03 8.103478e-04 1.602070e-04 1.676147e-03 1.147588e-03 + 1607 3.487716e-04 7.045181e-04 4.777113e-04 1.168616e-03 2.770863e-04 + 1608 7.093355e-04 4.765613e-04 1.765944e-03 6.808299e-04 4.650515e-04 + 1609 1.071370e-03 1.466825e-03 1.100404e-03 2.327345e-03 2.620932e-03 + 1610 5.635064e-04 3.750645e-04 2.922892e-03 6.682261e-04 1.108718e-03 + 1611 1.432420e-03 1.423018e-03 1.569087e-03 2.457283e-03 1.475053e-03 + 1612 1.227373e-03 1.502230e-03 1.660575e-03 1.906051e-03 3.800289e-04 + 1613 1.441032e-03 1.261013e-03 2.817699e-03 1.002673e-03 7.703981e-04 + 1614 1.121976e-03 2.098586e-03 1.096739e-03 9.226692e-04 4.886156e-04 + 1615 6.482067e-04 8.008889e-04 1.496983e-03 4.357018e-04 1.472750e-03 + 1616 1.076503e-03 2.458589e-03 2.000709e-03 1.410734e-03 1.645666e-03 + 1617 9.830287e-04 1.746297e-03 2.201864e-03 8.966925e-04 1.328887e-03 + 1618 1.900911e-03 2.643620e-03 3.411201e-03 3.317599e-03 4.425006e-03 + 1619 5.420550e-04 9.386890e-04 1.250837e-03 7.482185e-04 2.351348e-04 + 1620 2.006469e-03 9.671708e-04 1.954075e-03 1.299106e-03 1.064581e-03 + 1621 8.865781e-04 4.397186e-04 1.206125e-03 1.555412e-03 9.101179e-04 + 1622 1.225175e-03 2.227693e-04 1.041527e-03 1.559626e-03 1.121791e-03 + 1623 1.565350e-03 1.056921e-03 1.159028e-03 1.673279e-03 6.207182e-04 + 1624 1.220147e-03 2.069473e-03 1.482065e-03 5.523947e-04 8.495387e-04 + 1625 9.186967e-04 4.994028e-04 2.733580e-03 1.051039e-03 1.032436e-03 + 1626 5.889175e-04 6.472135e-04 9.827201e-04 8.487715e-04 1.034554e-03 + 1627 1.742663e-03 4.895457e-04 5.701352e-04 7.323996e-04 3.345114e-04 + 1628 1.862718e-03 1.135163e-03 1.041847e-03 5.123074e-04 1.138722e-03 + 1629 3.209406e-03 1.399367e-03 8.344261e-04 8.855137e-04 2.088820e-03 + 1630 9.381398e-03 6.624623e-03 5.389851e-03 4.936758e-03 6.627292e-03 + 1631 3.431675e-03 3.152561e-03 1.418973e-03 1.862654e-03 1.543659e-03 + 1632 1.094303e-03 8.483292e-04 7.678124e-04 5.608671e-04 7.507719e-04 + 1633 1.700218e-03 1.090193e-03 1.025591e-03 5.748588e-04 4.363988e-04 + 1634 8.265671e-04 1.621449e-03 2.091318e-03 7.923151e-04 3.796139e-04 + 1635 2.057866e-03 2.219932e-03 3.784596e-03 2.085096e-03 3.648772e-03 + 1636 5.934094e-03 4.129877e-03 7.628337e-03 7.821475e-03 9.674155e-03 + 1637 1.571594e-03 7.020613e-04 3.027555e-03 4.037299e-03 1.792328e-03 + 1638 6.124945e-04 1.408853e-03 4.867652e-04 9.705656e-04 3.638438e-04 + 1639 2.131156e-03 4.335951e-03 1.328099e-03 1.930153e-03 2.439314e-03 + 1640 8.967213e-04 1.675079e-03 1.757306e-03 1.617148e-03 1.472033e-03 + 1641 2.832715e-03 1.922316e-03 2.567991e-03 1.657804e-03 1.712282e-03 + 1642 6.739784e-03 5.363538e-03 5.846823e-03 4.210309e-03 4.627485e-03 + 1643 1.400437e-03 1.327084e-03 1.323288e-03 7.618672e-04 1.076490e-03 + 1644 1.801444e-03 1.176085e-03 9.796211e-04 8.942609e-04 1.777241e-03 + 1645 2.530975e-03 1.357413e-03 2.375693e-03 2.396461e-03 1.630033e-03 + 1646 9.029912e-04 1.383828e-03 1.062099e-03 4.732568e-04 7.438227e-04 + 1647 1.827312e-03 9.433721e-04 1.355005e-03 1.691389e-03 2.184128e-03 + 1648 1.463452e-03 2.324082e-03 1.634809e-03 3.379106e-03 1.960888e-03 + 1649 2.845473e-04 1.080724e-03 1.443765e-03 6.822464e-04 1.845087e-03 + 1650 7.967284e-04 9.508073e-04 1.264043e-03 1.160388e-03 4.783475e-04 + 1651 7.497978e-04 8.004295e-04 8.780476e-04 1.040917e-03 1.335206e-03 + 1652 6.159328e-04 9.142730e-04 1.659028e-03 1.309297e-03 6.670612e-04 + 1653 2.588475e-03 6.376108e-04 3.684507e-04 1.767292e-03 1.215587e-03 + 1654 2.545607e-03 2.677886e-03 2.768059e-03 3.144792e-03 2.805129e-03 + 1655 7.817058e-04 1.355879e-03 1.062166e-03 1.287448e-03 1.041542e-03 + 1656 6.147207e-04 2.957390e-04 6.925113e-04 7.934850e-04 8.214199e-04 + 1657 8.473434e-04 5.770309e-04 9.033134e-04 8.051494e-04 1.470273e-03 + 1658 9.474938e-04 1.513065e-03 3.951159e-04 1.247953e-03 1.568728e-03 + 1659 5.412182e-04 6.172534e-04 4.370059e-04 1.735244e-04 1.921033e-03 + 1660 9.938242e-04 1.524106e-03 5.197703e-04 1.544312e-03 2.152342e-03 + 1661 7.082589e-04 6.741304e-04 8.704653e-04 2.345027e-03 8.468600e-04 + 1662 3.502049e-04 1.273818e-03 1.768828e-03 1.386561e-03 8.821790e-04 + 1663 8.922200e-04 7.771737e-04 1.230663e-03 1.519167e-03 3.820309e-04 + 1664 4.558481e-04 8.058657e-05 2.779724e-04 2.654250e-03 1.012340e-03 + 1665 1.301655e+00 1.403797e+00 1.251074e+00 1.388473e+00 1.435004e+00 + 1666 2.099822e+02 2.146593e+02 2.145779e+02 2.117068e+02 2.128580e+02 + 1667 3.329727e+02 3.380856e+02 3.396812e+02 3.335089e+02 3.364660e+02 + 1668 1.352025e+01 1.369481e+01 1.393158e+01 1.355350e+01 1.378711e+01 + 1669 1.310836e-02 9.985016e-03 8.572837e-03 1.309986e-02 1.040663e-02 + 1670 3.773260e-02 3.523922e-02 4.100281e-02 4.364328e-02 3.817065e-02 + 1671 1.067812e-01 1.018288e-01 9.959538e-02 1.139975e-01 1.108060e-01 + 1672 4.166035e-01 3.799718e-01 4.213660e-01 3.937209e-01 3.846568e-01 + 1673 7.383948e-02 5.532988e-02 7.648561e-02 6.852769e-02 6.993620e-02 + 1674 1.610718e-02 1.265789e-02 7.322620e-03 1.671058e-02 1.015547e-02 + 1675 2.126842e-02 2.724308e-02 2.963519e-02 2.085324e-02 2.388147e-02 + 1676 1.497880e-02 1.777153e-02 1.097434e-02 1.305806e-02 1.100189e-02 + 1677 1.809161e-02 1.542164e-02 1.474032e-02 1.725218e-02 1.949701e-02 + 1678 1.476199e-02 2.328624e-02 1.684085e-02 2.051690e-02 1.553560e-02 + 1679 7.487529e-03 5.781941e-03 8.100296e-03 5.529917e-03 4.295045e-03 + 1680 1.005984e-02 1.281163e-02 9.318563e-03 1.334396e-02 1.123090e-02 + 1681 5.394682e-03 1.010370e-02 1.061495e-02 5.866018e-03 7.019423e-03 + 1682 7.490160e-03 7.178806e-03 2.554922e-03 7.517366e-03 4.616495e-03 + 1683 9.071793e-03 5.829146e-03 1.173991e-02 6.603122e-03 7.631205e-03 + 1684 5.698028e-03 5.794730e-03 3.953296e-03 5.811716e-03 4.167971e-03 + 1685 3.656838e-03 5.523616e-03 5.280825e-03 1.727005e-03 4.581503e-03 + 1686 3.096078e-03 6.617926e-03 2.187669e-03 5.077283e-03 3.343843e-03 + 1687 8.030205e-03 6.377491e-03 7.352765e-03 4.527738e-03 7.770889e-03 + 1688 8.830105e-04 5.883546e-03 2.276147e-03 2.551198e-03 1.513241e-03 + 1689 2.859489e-03 3.648662e-03 3.720041e-03 4.221820e-03 5.293576e-03 + 1690 5.292949e-03 4.489138e-03 8.204944e-03 4.810538e-03 4.636451e-03 + 1691 1.571312e-03 1.478773e-03 1.292914e-03 1.960948e-03 1.552103e-03 + 1692 3.758153e-03 3.429361e-03 3.989440e-03 2.202572e-03 5.588206e-03 + 1693 2.592135e-03 1.718643e-03 3.701975e-03 2.943145e-03 1.796427e-03 + 1694 3.500540e-03 4.783402e-03 3.226085e-03 2.857521e-03 2.115804e-03 + 1695 3.850327e-03 8.718828e-04 5.195419e-03 4.368238e-03 6.541210e-03 + 1696 1.611180e-03 6.591755e-03 2.008611e-03 3.036631e-03 2.159049e-03 + 1697 1.153758e-03 2.258273e-03 1.522754e-03 1.572799e-03 1.353350e-03 + 1698 7.276166e-03 5.180214e-03 4.155637e-03 2.656149e-03 5.625717e-03 + 1699 4.119877e-04 2.509851e-03 1.551914e-03 3.265985e-03 8.895356e-04 + 1700 3.518333e-03 2.481633e-03 2.045664e-03 2.144112e-03 9.115488e-04 + 1701 2.777289e-03 4.236866e-03 1.622964e-03 1.455787e-03 1.861378e-03 + 1702 6.442459e-04 3.692559e-03 1.246173e-03 2.334958e-03 1.551571e-03 + 1703 5.391598e-03 2.202210e-03 3.685164e-03 4.337047e-03 3.276958e-03 + 1704 5.372939e-04 1.910306e-03 7.291157e-04 1.051380e-03 1.461710e-03 + 1705 2.483745e-03 1.335213e-03 1.399391e-03 2.565460e-03 2.589239e-03 + 1706 2.221103e-03 4.834159e-03 2.891467e-03 2.835928e-03 1.390022e-03 + 1707 2.590299e-03 4.203607e-03 3.027380e-03 4.670314e-03 4.554686e-03 + 1708 1.704428e-03 3.452445e-03 1.284712e-03 3.398933e-03 7.950253e-04 + 1709 1.750150e-03 2.097668e-03 1.888358e-03 3.714391e-03 3.042195e-03 + 1710 2.768715e-03 2.885525e-03 3.436955e-03 1.473088e-03 2.222881e-03 + 1711 8.222002e-04 1.237789e-03 1.693734e-03 2.520594e-03 1.243944e-03 + 1712 2.759475e-03 3.284064e-03 1.005228e-03 2.047256e-03 2.259178e-03 + 1713 7.431508e-02 6.829910e-02 8.092867e-02 8.457013e-02 8.106667e-02 + 1714 4.129507e-01 4.115778e-01 4.396226e-01 4.370930e-01 4.407384e-01 + 1715 7.737628e-02 7.939474e-02 8.562555e-02 8.318738e-02 8.104999e-02 + 1716 2.035882e-03 3.627697e-03 1.678932e-03 1.692009e-03 3.389389e-03 + 1717 9.836196e-04 5.749243e-04 1.880552e-03 1.225080e-03 2.010362e-03 + 1718 8.845162e-04 7.361117e-04 6.178935e-04 7.353453e-04 5.376353e-04 + 1719 1.739276e-03 1.509418e-03 1.849626e-03 3.619651e-03 3.224592e-03 + 1720 9.600150e-04 4.402996e-03 1.179330e-03 1.213362e-03 1.663659e-03 + 1721 9.555776e-04 1.673427e-03 2.291083e-03 1.545506e-03 1.283637e-03 + 1722 3.403777e-03 2.986109e-03 1.658788e-03 3.316603e-03 3.914449e-03 + 1723 2.271423e-03 1.792564e-03 2.213908e-03 1.664329e-03 2.008838e-03 + 1724 1.794393e-03 2.577989e-03 1.613646e-03 1.696814e-03 1.792875e-03 + 1725 6.246143e-04 1.168744e-03 7.036807e-04 1.142908e-03 8.283575e-04 + 1726 9.019094e-04 3.183220e-03 2.217873e-03 1.752133e-03 6.568040e-04 + 1727 8.843577e-04 1.099723e-03 3.620069e-04 1.513141e-03 4.823539e-04 + 1728 1.402002e-03 1.425222e-03 3.364212e-03 3.053924e-03 3.252369e-03 + 1729 6.705356e-04 1.589552e-03 1.286905e-03 1.361466e-03 1.919037e-03 + 1730 3.280437e-04 1.928637e-03 2.148484e-03 7.948440e-04 6.329732e-04 + 1731 3.127361e-03 1.053686e-03 9.449876e-04 4.308462e-04 1.503694e-03 + 1732 2.038568e-03 1.689412e-03 1.231522e-03 1.054603e-03 1.332156e-03 + 1733 1.238627e-03 1.062436e-03 4.611151e-04 5.963227e-04 4.993778e-04 + 1734 1.789176e-03 1.976091e-03 1.510750e-03 1.227991e-03 1.619899e-03 + 1735 1.855852e-03 2.473529e-03 1.973264e-03 3.238144e-03 3.300865e-03 + 1736 8.469372e-04 1.698009e-03 1.521199e-03 2.157994e-03 4.006057e-04 + 1737 1.675109e-03 3.120085e-03 1.089367e-03 1.360315e-03 1.801847e-03 + 1738 2.531049e-04 1.224637e-03 1.514037e-03 4.940889e-04 2.287227e-03 + 1739 9.804877e-04 6.130891e-04 8.081328e-04 1.018114e-03 1.155156e-03 + 1740 7.118554e-04 2.347135e-03 2.596380e-03 1.812692e-03 1.739007e-03 + 1741 4.052230e-04 1.109175e-03 5.235015e-04 3.414527e-04 9.026835e-04 + 1742 1.393362e-03 1.331339e-03 1.353100e-03 1.581199e-03 1.238423e-03 + 1743 1.172535e-03 1.464193e-03 1.530701e-04 6.704287e-04 1.155911e-03 + 1744 2.964626e-04 9.696576e-04 6.195566e-04 1.124694e-03 9.304263e-04 + 1745 1.241844e-03 6.748778e-04 7.077982e-04 6.615513e-04 7.700324e-04 + 1746 1.697100e-03 1.640329e-03 2.159778e-03 2.640222e-03 1.573160e-03 + 1747 1.351308e-03 1.279452e-03 6.138268e-04 4.938832e-04 1.644285e-03 + 1748 1.768643e-03 3.071177e-04 1.101034e-03 5.464193e-04 1.432219e-03 + 1749 5.214655e-04 9.340277e-04 1.010295e-03 7.739230e-04 5.467520e-04 + 1750 3.399114e-03 1.821033e-03 1.607932e-03 1.246792e-03 2.467117e-03 + 1751 8.262155e-04 1.154210e-03 1.640414e-03 4.454127e-04 6.143259e-04 + 1752 3.614120e-04 8.962325e-04 1.593952e-03 4.107635e-04 5.297327e-04 + 1753 3.697399e-04 8.309126e-04 8.836947e-04 7.677153e-04 1.445264e-03 + 1754 1.316393e-03 1.426018e-03 7.101424e-04 7.876883e-04 6.900839e-04 + 1755 7.302101e-04 9.775300e-04 1.362752e-03 1.043869e-03 1.029386e-03 + 1756 9.377673e-04 6.500233e-04 8.227928e-04 8.546858e-04 2.566918e-04 + 1757 1.917969e-03 1.395818e-03 1.311230e-03 1.252808e-03 3.045540e-03 + 1758 3.697724e-03 4.018246e-03 4.586886e-03 4.049229e-03 3.020013e-03 + 1759 1.304692e-03 2.238986e-03 1.132529e-03 1.251608e-03 1.719119e-03 + 1760 1.163061e-03 1.149945e-03 7.811931e-04 5.431649e-04 3.407250e-04 + 1761 9.804413e-04 1.682333e-03 1.392623e-03 1.329139e-03 9.655899e-04 + 1762 1.095038e-03 1.810273e-03 1.241319e-03 1.177754e-03 6.185683e-04 + 1763 1.358430e-03 2.450056e-03 1.542538e-03 2.901704e-03 1.885916e-03 + 1764 8.066816e-03 8.435277e-03 8.265730e-03 6.517907e-03 1.329280e-02 + 1765 3.075796e-03 1.793068e-03 2.699539e-03 2.231604e-03 4.156822e-03 + 1766 6.339023e-04 2.728453e-03 2.095909e-03 1.340587e-03 1.426642e-03 + 1767 1.584045e-03 2.610383e-03 9.524074e-04 1.699999e-03 2.242893e-03 + 1768 5.600157e-04 4.329774e-04 1.218026e-03 7.662486e-04 6.570850e-04 + 1769 1.781966e-03 2.155495e-03 1.618070e-03 1.424644e-03 7.335905e-04 + 1770 5.604116e-03 3.088416e-03 5.464838e-03 3.914307e-03 3.467652e-03 + 1771 1.942423e-03 1.534169e-03 1.213468e-03 1.748068e-03 1.568352e-03 + 1772 3.256876e-04 5.540677e-04 1.214496e-03 9.794435e-04 1.100971e-03 + 1773 1.314671e-04 4.595924e-04 1.373223e-04 8.958346e-04 8.977668e-04 + 1774 5.648866e-04 6.175125e-04 3.588704e-04 5.710675e-04 9.193000e-04 + 1775 1.048468e-03 1.000011e-03 1.872976e-03 5.801773e-04 4.436877e-04 + 1776 9.123097e-05 6.369704e-04 1.056662e-03 1.226502e-03 7.602747e-04 + 1777 9.212284e-04 6.583881e-04 4.132533e-04 4.319340e-04 1.430882e-03 + 1778 1.010782e-03 5.071311e-04 3.632081e-04 6.274318e-04 7.742908e-04 + 1779 1.440132e-03 1.379064e-03 8.592914e-04 3.087297e-04 5.860302e-04 + 1780 2.998768e-03 1.755690e-03 2.420301e-03 1.556237e-03 1.466945e-03 + 1781 2.718016e-03 1.957138e-03 2.191336e-03 7.406390e-04 1.449828e-03 + 1782 3.234444e-03 1.972043e-03 2.080360e-03 1.812441e-03 1.095480e-03 + 1783 2.436590e-03 2.379085e-03 4.626823e-04 3.089811e-03 2.516627e-03 + 1784 9.715939e-04 1.418408e-03 9.542248e-04 1.079085e-03 1.568958e-03 + 1785 1.743677e-03 2.192913e-03 1.276402e-03 1.215662e-03 1.206774e-03 + 1786 2.707050e-04 2.024713e-03 2.435063e-03 4.178326e-04 4.928288e-04 + 1787 1.795199e-03 8.091553e-04 4.953761e-04 1.130495e-03 7.799305e-04 + 1788 2.579074e-04 6.153539e-04 9.379854e-04 5.325238e-04 3.795831e-04 + 1789 1.037839e-03 1.089813e-03 1.035792e-03 8.721904e-04 1.663616e-03 + 1790 2.212547e-04 6.890520e-04 1.555858e-03 7.378847e-04 5.717055e-04 + 1791 9.324373e-04 2.829179e-04 7.987569e-04 1.760375e-03 8.213710e-04 + 1792 2.144103e-03 7.815688e-04 1.303601e-03 4.477132e-04 4.811782e-04 + 1793 1.333947e+00 1.170912e+00 1.220512e+00 1.349958e+00 1.253196e+00 + 1794 2.126113e+02 2.162017e+02 2.159898e+02 2.119547e+02 2.128386e+02 + 1795 3.317975e+02 3.392747e+02 3.392729e+02 3.325790e+02 3.339078e+02 + 1796 1.350921e+01 1.401908e+01 1.388313e+01 1.351045e+01 1.368207e+01 + 1797 5.017944e-02 4.406204e-02 4.299604e-02 4.284767e-02 4.132243e-02 + 1798 2.338809e-02 2.396697e-02 1.783545e-02 2.412140e-02 2.204437e-02 + 1799 9.669624e-02 1.119242e-01 1.164608e-01 8.693994e-02 1.096962e-01 + 1800 3.613014e-01 3.100772e-01 3.348910e-01 3.130677e-01 3.435982e-01 + 1801 6.134749e-02 5.436615e-02 5.628181e-02 7.022980e-02 5.459233e-02 + 1802 1.500919e-02 2.296452e-02 1.660200e-02 1.257682e-02 1.633258e-02 + 1803 1.750994e-02 1.985114e-02 1.679049e-02 1.772384e-02 1.380428e-02 + 1804 9.019804e-03 1.123857e-02 1.114193e-02 7.005544e-03 1.030356e-02 + 1805 1.589760e-02 1.551292e-02 1.047031e-02 1.781852e-02 1.912155e-02 + 1806 6.936049e-03 7.434544e-03 8.074667e-03 6.041518e-03 5.964631e-03 + 1807 7.468194e-03 7.806216e-03 6.954243e-03 6.148170e-03 8.908973e-03 + 1808 6.435870e-03 9.503325e-03 8.648096e-03 9.743826e-03 4.560840e-03 + 1809 5.111397e-03 3.577939e-03 8.527825e-03 5.081412e-03 6.352987e-03 + 1810 6.007730e-03 6.491757e-03 3.604058e-03 5.254196e-03 4.072869e-03 + 1811 1.000615e-02 5.481600e-03 6.156156e-03 8.193022e-03 7.835661e-03 + 1812 3.137728e-03 3.100698e-03 2.636814e-03 2.842448e-03 2.924011e-03 + 1813 1.087645e-02 5.546041e-03 4.416162e-03 4.281772e-03 6.184192e-03 + 1814 2.714985e-03 3.539689e-03 2.025664e-03 2.555226e-03 8.778633e-03 + 1815 2.617473e-03 3.800923e-03 7.695867e-03 6.449780e-03 3.592150e-03 + 1816 4.447437e-03 5.391729e-03 3.143474e-03 3.023466e-03 3.647048e-03 + 1817 4.025232e-03 4.032387e-03 4.010335e-03 2.985720e-03 3.316910e-03 + 1818 4.594220e-03 2.849802e-03 3.583431e-03 3.400965e-03 2.642151e-03 + 1819 2.789977e-03 2.464440e-03 1.119902e-03 1.656747e-03 1.277742e-03 + 1820 3.942806e-03 2.060156e-03 2.933502e-03 2.628965e-03 3.131258e-03 + 1821 5.759418e-03 4.534462e-03 2.982359e-03 4.593237e-03 1.928773e-03 + 1822 1.585571e-03 1.501731e-03 2.247435e-03 2.465309e-03 3.730870e-03 + 1823 2.818356e-03 4.506469e-03 2.007009e-03 8.653395e-04 1.952994e-03 + 1824 2.354111e-03 4.428811e-03 3.137609e-03 2.971461e-03 2.165320e-03 + 1825 1.662615e-03 1.228869e-03 1.926704e-03 1.410366e-03 2.558561e-03 + 1826 4.000323e-03 2.652762e-03 1.466162e-03 2.481166e-03 3.680709e-03 + 1827 5.881140e-03 1.725082e-03 2.832133e-03 2.678227e-03 2.038314e-03 + 1828 2.032096e-03 4.295407e-03 1.091577e-03 2.663179e-03 3.181957e-03 + 1829 1.143851e-03 1.169759e-03 1.114619e-03 2.015317e-03 6.676162e-04 + 1830 3.788609e-03 4.265562e-03 1.275906e-03 2.067968e-03 1.382800e-03 + 1831 3.345180e-03 3.719797e-03 3.857732e-03 3.817768e-03 2.375468e-03 + 1832 1.586314e-03 4.686723e-03 9.218412e-04 1.562617e-03 1.600338e-03 + 1833 1.150021e-03 1.164210e-03 2.923354e-03 1.022847e-03 2.026814e-03 + 1834 1.265228e-03 3.749274e-03 1.103368e-03 2.019429e-03 1.678833e-03 + 1835 2.205563e-03 1.732983e-03 5.616759e-04 3.716065e-04 1.387246e-03 + 1836 1.833645e-03 3.882874e-03 3.054135e-03 3.988724e-03 8.426914e-04 + 1837 1.025641e-03 9.394525e-04 5.388664e-04 4.722565e-04 3.141581e-03 + 1838 3.125980e-03 1.719480e-03 2.784376e-03 2.288854e-03 1.474760e-03 + 1839 3.783528e-03 3.144646e-03 2.955888e-03 2.059334e-03 2.071471e-03 + 1840 9.588111e-04 1.062228e-03 7.977864e-04 4.394647e-04 5.727980e-04 + 1841 7.680552e-02 7.927130e-02 8.210395e-02 8.156596e-02 7.963122e-02 + 1842 3.915729e-01 3.984228e-01 4.183378e-01 4.340330e-01 4.301130e-01 + 1843 7.568736e-02 7.438769e-02 8.165300e-02 8.471933e-02 8.605603e-02 + 1844 5.193561e-04 3.233241e-04 1.251139e-03 3.661243e-04 7.357428e-04 + 1845 7.488985e-04 2.221221e-03 7.675058e-04 2.002654e-03 9.411187e-04 + 1846 1.550790e-03 1.561701e-03 1.326896e-03 1.206963e-03 2.637338e-03 + 1847 2.917742e-04 1.077838e-03 2.166430e-03 3.356679e-04 1.879531e-03 + 1848 1.937889e-03 1.059211e-03 1.748275e-03 2.490210e-03 2.087604e-03 + 1849 2.356444e-04 3.739916e-04 6.571880e-04 4.793019e-04 7.879430e-04 + 1850 1.360779e-03 7.501477e-04 2.643188e-03 1.210582e-03 1.748612e-03 + 1851 4.096381e-03 1.202469e-03 2.222906e-03 3.455541e-03 1.561726e-03 + 1852 1.181519e-03 4.793846e-04 1.001435e-03 8.574364e-04 7.739181e-04 + 1853 6.560042e-04 8.722817e-04 1.987641e-03 1.259350e-03 1.166626e-03 + 1854 1.076494e-03 6.244556e-04 8.542996e-04 1.098265e-03 9.787988e-04 + 1855 1.775934e-03 1.088203e-03 1.487951e-03 2.114768e-03 2.274722e-03 + 1856 1.499000e-03 1.870225e-03 3.053577e-04 1.724235e-03 9.479064e-04 + 1857 4.532622e-04 3.740960e-04 1.605197e-03 1.009779e-03 1.137865e-03 + 1858 1.618021e-03 1.310034e-03 1.574352e-03 1.479000e-03 1.332982e-03 + 1859 2.037150e-03 2.061819e-03 8.330626e-04 1.191934e-03 1.211859e-03 + 1860 1.576262e-03 1.918728e-03 5.995399e-04 3.998446e-04 5.456658e-04 + 1861 1.232698e-03 1.002903e-03 4.025331e-04 8.779309e-04 8.605276e-04 + 1862 6.669751e-04 1.957879e-03 1.989390e-03 1.112470e-03 7.179926e-04 + 1863 6.498553e-04 1.711461e-03 1.152561e-03 1.293873e-03 2.329734e-03 + 1864 1.151325e-03 5.861145e-04 1.224292e-03 2.957911e-03 4.339289e-04 + 1865 7.508315e-04 2.723685e-04 1.066977e-03 7.224791e-04 1.031538e-03 + 1866 1.597948e-03 2.046951e-03 2.213029e-03 1.009521e-03 2.956574e-03 + 1867 1.727377e-03 1.117811e-03 3.220165e-03 4.238247e-04 1.869019e-03 + 1868 1.662980e-03 7.302218e-04 1.517829e-03 5.710391e-04 8.967019e-04 + 1869 1.886799e-03 2.352616e-03 6.943894e-04 7.033446e-04 1.685058e-03 + 1870 1.329515e-03 1.020073e-03 8.675547e-04 7.429463e-04 1.572047e-03 + 1871 2.820562e-03 6.966680e-04 1.328206e-03 1.554767e-03 2.507698e-03 + 1872 6.501994e-04 6.969631e-04 1.027292e-03 5.825763e-04 2.459452e-03 + 1873 4.065433e-04 1.034861e-03 1.185321e-03 9.151276e-04 1.153521e-03 + 1874 1.489394e-03 1.887122e-03 1.731581e-03 1.726001e-03 2.408600e-03 + 1875 1.198507e-03 6.452782e-04 2.003284e-03 1.189239e-03 1.804540e-03 + 1876 5.857109e-04 1.015668e-03 1.693627e-03 7.048782e-04 2.560843e-04 + 1877 1.928125e-03 4.235229e-04 8.654268e-04 6.778793e-04 5.719162e-04 + 1878 1.846890e-03 1.262046e-03 1.469581e-03 6.485079e-04 1.925402e-03 + 1879 1.277915e-03 1.738070e-03 9.803463e-04 1.798075e-03 1.395176e-03 + 1880 9.368933e-04 1.085776e-03 7.935656e-04 5.681999e-04 1.708988e-03 + 1881 2.388090e-03 2.096895e-03 2.288031e-03 1.699863e-03 2.018944e-03 + 1882 1.542593e-03 2.695439e-04 9.989880e-04 6.537063e-04 8.614517e-04 + 1883 3.088375e-03 4.338602e-04 6.390357e-04 8.524533e-04 1.227870e-03 + 1884 4.696847e-04 1.490727e-03 1.536005e-03 1.302246e-03 1.990215e-03 + 1885 2.197595e-03 2.322692e-03 2.419819e-03 1.645491e-03 2.623402e-03 + 1886 6.249212e-03 8.615848e-03 5.146522e-03 5.275550e-03 6.094835e-03 + 1887 1.798896e-03 2.991071e-03 2.808407e-03 2.672296e-03 1.838903e-03 + 1888 7.051114e-04 1.438867e-03 3.231077e-04 6.501143e-04 3.437779e-04 + 1889 1.385915e-03 9.180343e-04 4.175032e-04 6.659723e-04 6.290040e-04 + 1890 9.510078e-04 1.067410e-03 5.649301e-04 8.051538e-04 7.882109e-04 + 1891 1.015860e-03 1.277539e-03 1.796582e-03 2.282044e-03 1.222540e-03 + 1892 3.685099e-03 8.176814e-03 7.842276e-03 8.516896e-03 8.749955e-03 + 1893 1.908297e-03 4.990749e-03 3.000376e-03 2.653842e-03 2.092397e-03 + 1894 1.081469e-03 1.558261e-03 1.283248e-03 7.360269e-04 1.223143e-03 + 1895 1.090810e-03 2.034818e-03 3.445448e-03 1.480564e-03 1.883449e-03 + 1896 7.650233e-04 6.756007e-04 1.335675e-03 4.712723e-04 5.808173e-04 + 1897 1.117567e-03 8.647224e-04 9.910918e-04 1.540794e-03 1.067151e-03 + 1898 7.433840e-03 3.652465e-03 6.701112e-03 5.083337e-03 5.115787e-03 + 1899 9.951432e-04 1.169227e-03 3.032878e-03 2.312241e-03 1.198676e-03 + 1900 3.554254e-04 1.518161e-04 1.466229e-04 4.183042e-04 5.057862e-04 + 1901 8.096224e-04 7.209308e-04 1.092185e-03 2.090940e-03 8.107501e-04 + 1902 8.368350e-04 8.409225e-04 2.170198e-03 5.892817e-04 4.836289e-04 + 1903 1.324275e-03 2.639685e-03 1.371726e-03 1.465300e-03 2.028527e-03 + 1904 6.059362e-04 6.708155e-04 6.657851e-04 8.337553e-04 4.914846e-04 + 1905 7.351690e-04 8.327229e-04 1.182065e-03 1.177475e-03 5.761894e-04 + 1906 5.831308e-04 1.401369e-03 8.711420e-04 7.178692e-04 3.614417e-04 + 1907 4.368923e-04 1.061684e-03 5.693254e-04 1.629233e-04 1.245329e-03 + 1908 7.698461e-04 1.094029e-03 1.886701e-03 7.998477e-04 1.351903e-03 + 1909 8.402625e-04 2.277312e-03 5.692463e-04 4.096804e-04 6.247337e-04 + 1910 2.042419e-03 1.132445e-03 3.343588e-03 1.395137e-03 8.965080e-04 + 1911 1.422615e-03 1.471796e-03 1.839716e-03 1.032369e-03 1.548127e-03 + 1912 1.277071e-03 9.177860e-04 2.030506e-03 1.489695e-03 1.249884e-03 + 1913 1.802245e-04 4.359867e-04 7.890849e-04 3.782190e-04 5.059023e-04 + 1914 1.506548e-03 1.741604e-03 1.472127e-03 1.103115e-03 1.656146e-03 + 1915 2.132187e-03 7.709745e-04 1.201637e-03 1.733393e-03 1.684238e-03 + 1916 2.097844e-03 8.528878e-04 1.132572e-03 5.753901e-04 1.569704e-03 + 1917 8.158872e-04 7.307724e-04 1.039304e-03 1.185876e-03 1.068041e-03 + 1918 5.205981e-04 1.620264e-03 3.833057e-04 7.408385e-04 5.700239e-04 + 1919 1.427656e-03 5.990392e-04 1.675883e-03 7.011447e-04 3.760552e-04 + 1920 4.395340e-04 5.635549e-04 1.456101e-04 7.798745e-04 5.111861e-04 + 1921 1.362130e+00 1.363653e+00 1.302114e+00 1.322200e+00 1.347981e+00 + 1922 2.111344e+02 2.157663e+02 2.166547e+02 2.108941e+02 2.136163e+02 + 1923 3.328544e+02 3.396086e+02 3.415618e+02 3.332266e+02 3.374443e+02 + 1924 1.352488e+01 1.386910e+01 1.383119e+01 1.365455e+01 1.378062e+01 + 1925 2.088136e-02 2.343165e-02 1.838570e-02 1.719755e-02 2.193070e-02 + 1926 4.544330e-02 2.457878e-02 2.839078e-02 4.023671e-02 2.481759e-02 + 1927 1.099368e-01 9.940427e-02 1.119691e-01 1.007118e-01 1.102029e-01 + 1928 3.972574e-01 3.371812e-01 3.380728e-01 3.659411e-01 3.408174e-01 + 1929 5.580340e-02 4.841090e-02 4.450494e-02 4.438839e-02 5.255406e-02 + 1930 2.151884e-02 9.987471e-03 1.762611e-02 1.669765e-02 2.424798e-02 + 1931 1.601338e-02 3.085059e-02 2.052033e-02 2.140757e-02 1.274170e-02 + 1932 1.234591e-02 8.636601e-03 1.256427e-02 1.280424e-02 1.411299e-02 + 1933 2.180282e-02 2.011819e-02 1.893067e-02 1.641053e-02 2.068826e-02 + 1934 8.551473e-03 9.399841e-03 1.095699e-02 1.280048e-02 7.136202e-03 + 1935 1.406468e-02 1.271674e-02 1.056413e-02 7.031329e-03 1.617930e-02 + 1936 6.648041e-03 1.521571e-02 7.360470e-03 8.251500e-03 5.917705e-03 + 1937 3.797613e-03 5.276785e-03 8.211697e-03 4.780868e-03 6.867357e-03 + 1938 1.567995e-02 1.204369e-02 1.241001e-02 1.601603e-02 1.310109e-02 + 1939 4.272954e-03 2.255919e-03 2.786498e-03 4.013618e-03 3.620942e-03 + 1940 3.293998e-03 7.906072e-03 8.121052e-03 5.790910e-03 3.512810e-03 + 1941 1.222046e-02 5.106098e-03 6.914300e-03 9.857002e-03 1.501684e-02 + 1942 2.722959e-03 5.082081e-03 3.456048e-03 2.760012e-03 2.929594e-03 + 1943 5.896090e-03 4.701733e-03 7.326060e-03 4.305913e-03 4.460872e-03 + 1944 4.480005e-03 4.797282e-03 8.519766e-03 3.101767e-03 3.160436e-03 + 1945 3.359633e-03 2.725933e-03 2.268091e-03 4.250250e-03 3.575428e-03 + 1946 4.481276e-03 4.105747e-03 4.345827e-03 4.841549e-03 3.802780e-03 + 1947 5.664742e-03 5.270799e-03 2.561340e-03 4.317977e-03 5.310962e-03 + 1948 2.473396e-03 2.769156e-03 2.848766e-03 2.002079e-03 3.849009e-03 + 1949 1.822549e-03 1.333734e-03 1.775031e-03 2.504494e-03 2.645337e-03 + 1950 2.123992e-03 2.774899e-03 2.954960e-03 3.682601e-03 9.763052e-04 + 1951 3.029841e-03 2.362349e-03 1.937292e-03 4.903739e-03 5.651940e-03 + 1952 3.064471e-03 2.933058e-03 3.055190e-03 4.906151e-03 2.859763e-03 + 1953 5.178961e-03 3.109802e-03 3.456998e-03 3.693602e-03 2.924058e-03 + 1954 4.660817e-03 7.609127e-03 4.227919e-03 4.488803e-03 4.040646e-03 + 1955 4.889954e-03 1.628662e-03 1.860955e-03 2.642666e-03 2.826268e-03 + 1956 6.900121e-04 9.659981e-04 2.399394e-03 2.396469e-03 1.622204e-03 + 1957 3.930251e-03 2.971220e-03 1.731411e-03 3.415591e-03 1.577764e-03 + 1958 2.973197e-03 2.925796e-03 2.191357e-03 5.373794e-03 2.295572e-03 + 1959 1.255930e-03 3.739055e-03 2.555899e-03 1.194776e-03 1.999467e-03 + 1960 3.952713e-03 1.743182e-03 2.426830e-03 2.771706e-03 6.458350e-03 + 1961 1.748634e-03 1.160099e-03 9.471492e-04 1.155229e-03 1.386245e-03 + 1962 9.688871e-04 3.082368e-03 1.916947e-03 3.038460e-03 7.447510e-04 + 1963 9.306464e-04 3.119943e-03 5.024859e-04 3.310573e-04 1.262921e-03 + 1964 2.927639e-03 6.096374e-04 3.237674e-03 1.888591e-03 2.478530e-03 + 1965 1.197314e-03 2.764215e-03 7.060069e-04 2.073523e-03 1.367217e-03 + 1966 1.401558e-03 2.062168e-03 2.648631e-03 2.733961e-03 2.476478e-03 + 1967 1.489147e-03 1.925592e-03 7.852366e-04 1.429817e-03 1.461755e-03 + 1968 1.033717e-03 1.995050e-03 9.999032e-04 1.279655e-03 2.176329e-03 + 1969 7.484117e-02 7.751022e-02 7.997903e-02 7.325594e-02 7.906490e-02 + 1970 4.074507e-01 4.083398e-01 4.213237e-01 4.267780e-01 4.326962e-01 + 1971 8.090711e-02 8.146089e-02 8.676512e-02 8.102794e-02 8.184653e-02 + 1972 1.055974e-03 1.068419e-03 9.294387e-04 6.858311e-04 1.340557e-03 + 1973 1.069852e-03 3.360041e-03 1.441013e-03 1.580679e-03 9.894271e-04 + 1974 2.094861e-03 1.651019e-03 2.136329e-03 3.833311e-03 1.354491e-03 + 1975 3.888595e-03 1.646830e-03 1.029051e-03 1.090574e-03 1.385001e-03 + 1976 2.462653e-03 1.875525e-03 5.762321e-04 1.914235e-03 1.243576e-03 + 1977 6.554589e-04 1.576059e-03 5.169793e-04 1.698321e-03 1.901954e-03 + 1978 1.978004e-03 1.287402e-03 3.124605e-03 1.657673e-03 1.162138e-03 + 1979 1.823230e-03 4.379700e-04 1.225631e-03 9.937263e-04 2.211059e-03 + 1980 3.308423e-04 1.290677e-03 1.301250e-04 7.661322e-04 1.011199e-03 + 1981 1.221580e-03 5.827272e-04 2.034820e-03 1.282797e-03 1.334972e-04 + 1982 1.496465e-03 1.114876e-03 1.053218e-03 8.768157e-04 1.173356e-03 + 1983 7.079042e-04 1.533597e-03 8.793346e-04 1.879636e-03 1.402323e-03 + 1984 1.892639e-03 2.380095e-03 1.114211e-03 1.461570e-03 1.110491e-03 + 1985 1.416878e-03 1.847660e-03 1.038896e-03 6.194478e-04 1.108090e-03 + 1986 2.060954e-03 2.648318e-03 1.584351e-03 3.984385e-03 1.444007e-03 + 1987 8.274923e-04 1.117567e-03 1.020310e-03 1.610075e-03 2.229249e-03 + 1988 1.118966e-03 2.614122e-03 1.158589e-03 1.586865e-03 8.576657e-04 + 1989 7.615213e-04 6.767109e-04 1.050995e-03 7.675431e-04 8.238269e-04 + 1990 1.546158e-03 2.167670e-03 1.212656e-03 2.540703e-03 1.826036e-03 + 1991 9.195873e-04 1.129463e-03 1.529519e-03 2.160567e-03 4.779233e-04 + 1992 1.900281e-03 1.342171e-03 1.509560e-03 1.890361e-03 1.514398e-03 + 1993 1.782183e-03 7.886354e-04 7.784839e-04 1.527250e-03 1.217690e-03 + 1994 1.107809e-03 2.714839e-03 1.140385e-03 2.088698e-03 2.637297e-03 + 1995 6.806410e-04 3.415407e-04 7.230124e-04 5.513782e-04 7.567756e-04 + 1996 3.102962e-03 2.602212e-03 1.583844e-03 2.284532e-03 3.855497e-03 + 1997 1.264053e-03 1.261668e-03 8.037603e-04 7.526280e-04 2.234411e-03 + 1998 1.897905e-03 7.852799e-04 1.829650e-03 1.454064e-03 1.884143e-03 + 1999 1.253548e-03 1.886228e-03 1.473473e-03 1.513281e-03 8.766767e-04 + 2000 1.863541e-03 9.755771e-04 8.618452e-04 1.151639e-03 1.433211e-03 + 2001 5.432710e-04 4.935025e-04 2.136414e-04 1.474042e-03 6.725409e-04 + 2002 1.728173e-03 2.007187e-03 2.154237e-03 1.740554e-03 1.019022e-03 + 2003 7.155797e-04 4.309648e-04 1.110602e-03 8.082919e-04 6.676955e-04 + 2004 9.155988e-04 1.701450e-03 6.991359e-04 6.577642e-04 4.316127e-04 + 2005 5.674406e-04 8.981566e-04 4.890621e-04 9.987287e-04 1.055174e-03 + 2006 7.859875e-04 2.211408e-03 8.132678e-04 1.667426e-03 1.320010e-03 + 2007 5.228287e-04 4.653829e-04 9.871685e-04 1.123503e-03 1.696815e-03 + 2008 7.603090e-04 1.354425e-03 1.327448e-03 1.375645e-03 2.318296e-03 + 2009 1.066249e-03 2.975235e-03 2.364527e-03 2.698855e-03 1.170951e-03 + 2010 7.333578e-04 2.594960e-03 9.205908e-04 1.389543e-03 5.554313e-04 + 2011 8.931708e-05 1.298146e-03 1.321034e-03 2.007421e-03 1.422510e-03 + 2012 1.884828e-03 1.241474e-03 1.352014e-03 1.854592e-03 1.921201e-03 + 2013 7.077760e-04 2.008126e-03 1.775700e-03 1.828116e-03 1.348676e-03 + 2014 4.389547e-03 7.373682e-03 3.648917e-03 4.697497e-03 1.954280e-03 + 2015 2.655057e-03 1.916294e-03 1.910058e-03 2.601323e-03 1.103302e-03 + 2016 6.280723e-04 5.430818e-04 8.621863e-04 1.278166e-03 4.136527e-04 + 2017 2.321745e-03 3.753762e-03 1.967233e-03 1.299167e-03 1.106053e-03 + 2018 1.195299e-03 1.619743e-03 1.451221e-03 2.985036e-04 1.903209e-03 + 2019 1.289094e-03 2.966815e-03 3.134989e-03 1.966444e-03 2.448474e-03 + 2020 1.065247e-02 9.845411e-03 8.347047e-03 6.570659e-03 1.197180e-02 + 2021 1.241480e-03 2.951602e-03 2.776200e-03 1.422944e-03 3.815176e-03 + 2022 4.850903e-04 7.788349e-04 1.236136e-03 1.298929e-03 1.177769e-03 + 2023 1.877873e-03 1.942344e-03 9.568808e-04 1.426614e-03 1.434793e-03 + 2024 4.961146e-04 2.500191e-03 7.091501e-04 1.075944e-03 4.036551e-04 + 2025 3.179644e-03 1.430242e-03 2.359068e-03 2.711222e-03 2.652137e-03 + 2026 1.049898e-02 6.393505e-03 7.229668e-03 1.061839e-02 8.880886e-03 + 2027 2.218258e-03 1.150193e-03 1.291810e-03 3.087447e-03 1.610757e-03 + 2028 6.816530e-04 1.740223e-03 7.272295e-04 9.594771e-04 8.958113e-04 + 2029 1.189089e-03 1.631341e-03 1.361303e-03 3.113248e-03 1.518126e-03 + 2030 8.343259e-04 3.431642e-04 2.904641e-04 8.514903e-04 1.631620e-03 + 2031 9.130990e-04 1.183774e-03 1.305583e-03 7.884624e-04 3.501326e-04 + 2032 9.114956e-04 7.802966e-04 4.039586e-04 6.548712e-04 2.694450e-04 + 2033 1.076515e-03 1.283058e-03 6.145775e-04 2.050411e-03 1.024618e-03 + 2034 5.924537e-04 1.067057e-03 4.634811e-04 7.691229e-04 5.113777e-04 + 2035 8.679548e-04 2.208997e-04 3.951768e-04 6.369010e-04 2.089700e-04 + 2036 7.437481e-04 2.010209e-03 9.263469e-04 1.372973e-03 9.285307e-04 + 2037 7.571166e-04 6.459346e-04 1.890715e-03 2.115122e-03 4.074635e-04 + 2038 8.366966e-04 2.738425e-03 1.558746e-03 1.141024e-03 1.156551e-03 + 2039 5.091329e-04 1.966777e-03 7.580349e-04 3.254919e-03 6.598956e-04 + 2040 1.223847e-03 1.112731e-03 1.033604e-03 1.119639e-03 1.089733e-03 + 2041 7.020620e-04 4.669742e-04 1.269577e-03 9.953569e-04 8.108192e-04 + 2042 7.663783e-04 1.943601e-03 1.903316e-03 9.705610e-04 3.595138e-04 + 2043 1.072705e-03 7.376169e-04 1.611025e-03 3.680460e-04 8.260441e-04 + 2044 1.249385e-03 7.182777e-04 1.105154e-03 9.612845e-04 2.296663e-04 + 2045 6.522485e-04 1.513560e-03 4.223109e-04 4.952147e-04 1.038566e-03 + 2046 9.191214e-04 1.418379e-03 7.325496e-04 1.373903e-03 3.541838e-04 + 2047 1.381907e-03 7.077069e-04 8.162437e-04 9.496858e-04 1.746752e-03 + 2048 3.769295e-04 5.426459e-04 3.119773e-04 9.645979e-04 8.280464e-04 + 2049 1.365900e+00 1.341300e+00 1.323707e+00 1.224974e+00 1.307217e+00 + 2050 2.113863e+02 2.152170e+02 2.160911e+02 2.115081e+02 2.130230e+02 + 2051 3.336775e+02 3.392450e+02 3.408420e+02 3.331665e+02 3.350976e+02 + 2052 1.374048e+01 1.403469e+01 1.403106e+01 1.362484e+01 1.376708e+01 + 2053 4.517386e-02 4.591921e-02 4.077743e-02 5.874564e-02 3.835990e-02 + 2054 1.207266e-02 1.147900e-02 1.188249e-02 1.267070e-02 1.435153e-02 + 2055 1.099446e-01 1.008978e-01 1.060797e-01 9.134459e-02 1.083071e-01 + 2056 4.105828e-01 3.697542e-01 4.462187e-01 3.726319e-01 3.914368e-01 + 2057 6.340952e-02 5.054470e-02 6.962372e-02 5.330278e-02 5.797090e-02 + 2058 2.610562e-02 3.060464e-02 3.383248e-02 2.474873e-02 2.698299e-02 + 2059 5.856400e-03 6.351228e-03 9.464973e-03 8.740645e-03 7.841607e-03 + 2060 1.845934e-02 1.810539e-02 1.378959e-02 1.730871e-02 1.624247e-02 + 2061 8.862491e-03 1.467505e-02 1.458609e-02 1.198552e-02 1.282872e-02 + 2062 1.229935e-02 1.146440e-02 9.650173e-03 1.232004e-02 1.158640e-02 + 2063 7.813789e-03 1.265333e-02 1.416285e-02 9.250497e-03 1.050606e-02 + 2064 8.599376e-03 6.570137e-03 6.493145e-03 7.517651e-03 9.245646e-03 + 2065 4.521197e-03 1.072636e-02 7.404440e-03 5.351361e-03 7.137880e-03 + 2066 6.715241e-03 5.829711e-03 3.469148e-03 3.927636e-03 5.481242e-03 + 2067 1.180775e-02 1.521541e-02 1.197566e-02 1.099174e-02 1.235444e-02 + 2068 3.627986e-03 8.282972e-03 3.706431e-03 4.782621e-03 3.728912e-03 + 2069 6.779583e-03 5.595451e-03 8.838936e-03 6.349263e-03 8.047388e-03 + 2070 3.919082e-03 7.545995e-03 2.621598e-03 1.320980e-03 2.985394e-03 + 2071 5.346216e-03 2.677340e-03 5.024376e-03 6.246768e-03 7.591370e-03 + 2072 5.044514e-03 6.973514e-03 4.764580e-03 3.343839e-03 6.702728e-03 + 2073 2.971714e-03 3.642805e-03 3.766998e-03 3.926000e-03 3.076073e-03 + 2074 5.246267e-03 5.633268e-03 2.822819e-03 4.112778e-03 5.281444e-03 + 2075 2.036531e-03 2.718031e-03 3.473170e-03 3.401392e-03 2.626403e-03 + 2076 4.271760e-03 4.978189e-03 1.898766e-03 2.713465e-03 4.098576e-03 + 2077 2.313439e-03 2.987905e-03 5.571985e-03 3.215537e-03 9.891951e-04 + 2078 2.253665e-03 2.149535e-03 3.111587e-03 5.053148e-03 3.301516e-03 + 2079 3.055843e-03 1.535395e-03 1.418828e-03 1.407497e-03 2.494514e-03 + 2080 2.960140e-03 3.917501e-03 3.430978e-03 3.233240e-03 3.170035e-03 + 2081 1.666231e-03 8.958805e-04 1.722508e-03 6.238546e-04 2.681422e-03 + 2082 3.401639e-03 6.533018e-03 4.142870e-03 3.676248e-03 2.539523e-03 + 2083 1.110047e-03 2.644562e-03 1.847289e-03 1.423671e-03 2.341916e-03 + 2084 3.375292e-03 4.468621e-03 4.724634e-03 1.662241e-03 5.266993e-03 + 2085 1.699887e-03 2.154278e-03 3.057287e-03 3.241786e-03 1.144260e-03 + 2086 2.156654e-03 1.423926e-03 2.191930e-03 2.002717e-03 3.704887e-03 + 2087 5.434759e-03 3.502868e-03 3.028677e-03 2.102079e-03 3.644264e-03 + 2088 2.171784e-03 2.278166e-03 1.928868e-03 2.533997e-03 5.607168e-03 + 2089 4.023152e-03 2.170004e-03 3.094029e-03 7.450689e-04 1.391308e-03 + 2090 1.547174e-03 2.042444e-03 1.067762e-03 2.982852e-03 2.170921e-03 + 2091 1.631106e-03 1.625108e-03 1.426769e-03 9.846636e-04 1.911649e-03 + 2092 1.033942e-03 7.026326e-04 2.779996e-03 1.402022e-03 1.736318e-03 + 2093 1.185685e-03 1.137962e-03 8.267474e-04 2.345226e-03 1.995878e-03 + 2094 2.474922e-03 4.266695e-03 3.092592e-03 2.521238e-03 2.427007e-03 + 2095 2.290080e-03 2.985657e-03 1.691280e-03 1.821075e-03 2.078221e-03 + 2096 1.129694e-03 8.942027e-04 9.569503e-04 8.743833e-04 5.593319e-04 + 2097 7.173690e-02 7.734927e-02 8.284871e-02 8.099414e-02 7.679079e-02 + 2098 3.997236e-01 4.357994e-01 4.393479e-01 4.087340e-01 4.152604e-01 + 2099 8.045979e-02 8.917475e-02 8.401426e-02 8.200807e-02 8.431037e-02 + 2100 1.989070e-03 1.973317e-03 2.272603e-03 1.537819e-03 1.099476e-03 + 2101 6.997355e-04 1.458013e-03 8.129706e-04 9.605376e-04 1.891905e-03 + 2102 2.082438e-03 1.445275e-03 1.930966e-03 1.770169e-03 1.607216e-03 + 2103 1.834191e-03 1.876693e-03 1.509904e-03 9.290267e-04 2.767561e-04 + 2104 1.536950e-03 1.823637e-03 1.791101e-03 2.679659e-03 1.562192e-03 + 2105 1.619575e-03 2.305676e-03 1.034141e-03 2.094952e-03 2.936555e-03 + 2106 1.655724e-03 1.584780e-03 1.629592e-03 1.070941e-03 1.558154e-03 + 2107 1.240564e-03 3.647226e-03 4.047889e-04 1.300673e-03 1.949092e-03 + 2108 8.234228e-04 1.510499e-03 1.643124e-03 1.602001e-03 1.732318e-03 + 2109 1.061745e-03 2.267653e-03 1.967525e-03 1.931423e-03 1.414503e-03 + 2110 2.098634e-03 7.530824e-04 1.278415e-03 8.839177e-04 7.875873e-04 + 2111 3.646495e-03 1.004876e-03 1.511456e-03 8.700469e-04 1.558462e-03 + 2112 5.180779e-04 6.279945e-04 5.929934e-04 1.299722e-03 4.048054e-04 + 2113 2.784781e-03 8.255894e-04 1.036406e-03 1.575105e-03 1.623004e-03 + 2114 1.984444e-03 1.447848e-03 2.241861e-03 1.246431e-03 1.360557e-03 + 2115 1.216550e-03 1.643400e-03 2.066600e-03 2.066761e-03 2.066785e-03 + 2116 1.738296e-03 7.762623e-04 5.711506e-04 8.528034e-04 2.023885e-03 + 2117 1.330502e-03 1.573610e-03 1.776066e-03 3.089589e-03 1.826693e-03 + 2118 1.155011e-03 6.284468e-04 1.123248e-03 8.138741e-04 1.122896e-04 + 2119 6.195016e-04 4.686760e-04 5.947888e-04 1.338940e-03 1.622575e-03 + 2120 2.149814e-03 1.728372e-03 3.148414e-03 1.626182e-03 7.278219e-04 + 2121 1.027361e-03 1.321120e-03 1.343649e-03 1.469363e-03 1.501220e-03 + 2122 1.101030e-03 1.111059e-03 2.791421e-04 7.296683e-04 1.290460e-03 + 2123 9.968283e-04 4.070406e-04 1.709310e-04 3.266416e-04 1.848939e-03 + 2124 1.476793e-03 1.644811e-03 1.827639e-03 1.717668e-03 2.340438e-03 + 2125 2.638077e-03 5.839060e-04 5.700923e-04 1.234449e-03 1.175780e-03 + 2126 2.409290e-03 2.599636e-03 2.098015e-03 1.643945e-03 7.087827e-04 + 2127 2.326601e-03 1.648840e-03 1.091275e-03 2.226206e-03 1.289089e-03 + 2128 4.256085e-04 8.781323e-04 2.645141e-04 8.672181e-04 1.451282e-03 + 2129 2.082903e-03 1.656862e-03 1.655782e-03 3.673855e-03 1.998478e-03 + 2130 1.900814e-03 1.377267e-03 2.893278e-03 1.371726e-03 2.855492e-03 + 2131 1.482207e-03 1.004489e-03 5.294511e-04 1.083138e-03 9.547845e-04 + 2132 2.020612e-03 1.253579e-03 2.566379e-03 6.786874e-04 6.792671e-04 + 2133 9.158043e-04 1.908532e-03 3.125242e-03 7.895370e-04 1.675466e-03 + 2134 2.477028e-03 3.866701e-03 1.372218e-03 1.394439e-03 1.528325e-04 + 2135 1.034246e-03 2.568588e-03 1.184284e-03 8.378658e-04 1.049889e-03 + 2136 6.580092e-04 3.013265e-04 2.711952e-04 1.695891e-03 1.342309e-03 + 2137 1.125988e-03 1.405618e-03 1.009055e-03 1.376672e-03 3.737044e-04 + 2138 2.042266e-03 9.988568e-04 7.131762e-04 1.154290e-03 1.801868e-03 + 2139 7.507590e-04 5.015503e-04 3.286238e-04 1.019767e-03 1.648138e-04 + 2140 2.091724e-03 5.253815e-04 1.472988e-03 7.992343e-04 2.181371e-03 + 2141 2.502990e-03 1.454696e-03 2.204465e-03 1.904610e-03 2.143804e-03 + 2142 7.202690e-03 1.020785e-02 1.041630e-02 8.090830e-03 1.003115e-02 + 2143 1.917360e-03 3.388722e-03 2.102787e-03 2.551099e-03 2.581783e-03 + 2144 7.854845e-04 2.245082e-03 2.310149e-03 2.750939e-03 1.485582e-03 + 2145 1.194354e-03 1.867408e-03 4.515589e-04 8.555061e-04 1.641313e-03 + 2146 8.952660e-04 1.165917e-03 1.343995e-03 7.197768e-04 1.972321e-03 + 2147 2.777251e-03 2.065700e-03 1.341906e-03 1.310464e-03 1.877888e-03 + 2148 9.529838e-03 6.174311e-03 8.238448e-03 7.124960e-03 9.081632e-03 + 2149 2.807875e-03 1.638706e-03 2.567749e-03 3.416284e-03 1.841241e-03 + 2150 2.177194e-03 4.215571e-04 2.454761e-03 3.242872e-03 1.286377e-03 + 2151 1.110845e-03 1.102341e-03 1.510343e-03 1.363446e-03 1.044224e-03 + 2152 8.074893e-04 8.745868e-04 1.804012e-03 2.768442e-04 5.927151e-04 + 2153 1.397049e-03 8.776508e-04 2.641291e-03 1.665614e-03 9.227897e-04 + 2154 4.830434e-03 4.252876e-03 4.830078e-03 6.864759e-03 5.861797e-03 + 2155 1.347338e-03 2.358703e-03 1.576020e-03 3.005419e-03 2.158329e-03 + 2156 1.182355e-03 1.347202e-03 8.533969e-04 7.250715e-04 4.575899e-04 + 2157 6.890566e-04 1.521548e-03 1.322796e-03 1.305080e-03 7.857877e-04 + 2158 4.516320e-04 4.479268e-04 1.318141e-03 4.672150e-04 8.889069e-04 + 2159 2.405871e-03 3.812198e-04 3.618231e-03 9.800700e-04 5.398957e-04 + 2160 3.161832e-03 1.343795e-03 2.650024e-03 1.380729e-03 2.162204e-03 + 2161 1.769743e-03 1.073343e-03 8.317642e-04 8.515688e-04 1.625866e-03 + 2162 8.945918e-04 9.716483e-04 8.712432e-04 2.037189e-03 1.671218e-03 + 2163 6.217291e-04 1.322035e-03 9.246764e-04 6.694174e-04 3.688099e-04 + 2164 1.260361e-03 1.656520e-03 8.985187e-04 1.803054e-03 1.410479e-03 + 2165 1.169536e-03 3.656651e-03 2.352716e-03 2.140599e-03 1.888697e-03 + 2166 5.305390e-04 7.108197e-04 2.720359e-03 1.703842e-03 2.878353e-03 + 2167 1.494301e-03 2.462338e-03 2.414188e-04 1.007434e-03 1.183552e-03 + 2168 9.632580e-04 9.438583e-04 1.472856e-03 1.409021e-03 1.613498e-03 + 2169 8.479275e-04 1.184154e-03 9.392187e-04 7.377919e-04 2.081757e-03 + 2170 1.067394e-03 1.488789e-03 1.708439e-03 2.367764e-03 1.140905e-03 + 2171 1.498599e-03 1.032513e-03 1.020579e-03 1.376922e-04 7.756643e-04 + 2172 8.266916e-04 7.787991e-04 1.166060e-03 9.985190e-04 6.537585e-04 + 2173 7.854757e-04 4.824343e-04 4.032874e-04 3.609687e-04 6.614414e-04 + 2174 7.804163e-04 1.012788e-03 9.727551e-04 8.641358e-04 1.074004e-03 + 2175 1.329004e-03 9.357528e-04 7.594764e-04 8.858681e-04 2.932415e-04 + 2176 1.842248e-03 5.428287e-04 3.354533e-04 1.116784e-03 7.750634e-04 + 2177 1.262114e+00 1.270262e+00 1.319719e+00 1.187853e+00 1.237176e+00 + 2178 2.109941e+02 2.156446e+02 2.156404e+02 2.121550e+02 2.133708e+02 + 2179 3.324284e+02 3.396989e+02 3.399731e+02 3.343208e+02 3.356440e+02 + 2180 1.376084e+01 1.396152e+01 1.400339e+01 1.374963e+01 1.372599e+01 + 2181 1.435546e-02 2.183808e-02 1.541447e-02 2.074791e-02 1.510207e-02 + 2182 2.313459e-02 4.041269e-02 3.248858e-02 3.090030e-02 3.217411e-02 + 2183 1.240463e-01 1.078661e-01 1.132169e-01 1.138340e-01 9.888471e-02 + 2184 4.113172e-01 3.429470e-01 4.158235e-01 3.788627e-01 3.726316e-01 + 2185 7.190175e-02 5.555679e-02 5.645600e-02 5.867005e-02 6.042607e-02 + 2186 1.705618e-02 1.914727e-02 1.745796e-02 1.658927e-02 1.952857e-02 + 2187 1.378596e-02 2.382502e-02 2.143047e-02 2.452721e-02 1.772849e-02 + 2188 1.945760e-02 1.253587e-02 1.592132e-02 1.091635e-02 1.876075e-02 + 2189 1.316425e-02 2.212670e-02 2.477063e-02 1.445031e-02 2.525257e-02 + 2190 1.377053e-02 1.512663e-02 1.063431e-02 1.352696e-02 1.159147e-02 + 2191 7.612909e-03 1.580517e-02 7.535099e-03 8.449373e-03 1.138107e-02 + 2192 8.969424e-03 5.294410e-03 8.243034e-03 7.291895e-03 5.389085e-03 + 2193 6.775744e-03 7.261458e-03 7.985911e-03 5.643114e-03 8.352698e-03 + 2194 9.737666e-03 1.272670e-02 1.027861e-02 8.914310e-03 8.181759e-03 + 2195 5.455729e-03 5.042720e-03 3.107488e-03 3.621292e-03 3.093591e-03 + 2196 2.756010e-03 4.292418e-03 7.292170e-03 6.902025e-03 4.722888e-03 + 2197 5.671444e-03 7.763889e-03 4.784201e-03 4.972591e-03 5.483759e-03 + 2198 5.226651e-03 6.624946e-03 1.074790e-02 6.326013e-03 6.841785e-03 + 2199 3.177865e-03 4.825941e-03 3.903914e-03 3.492288e-03 8.028478e-03 + 2200 1.949568e-03 2.139354e-03 2.991867e-03 1.636115e-03 1.724068e-03 + 2201 5.728720e-03 3.485063e-03 4.022198e-03 5.074638e-03 5.347759e-03 + 2202 1.583217e-03 2.838285e-03 1.317280e-03 2.259115e-03 2.311455e-03 + 2203 3.996036e-03 3.862786e-03 5.963263e-03 3.152671e-03 3.311250e-03 + 2204 2.045397e-03 3.541537e-03 2.951393e-03 3.984956e-03 2.920972e-03 + 2205 4.265657e-03 2.912160e-03 2.705882e-03 2.439777e-03 5.045125e-03 + 2206 2.320149e-03 2.816150e-03 2.498753e-03 3.664640e-03 2.868551e-03 + 2207 4.182277e-03 2.304388e-03 3.981108e-03 3.146659e-03 4.303235e-03 + 2208 7.108838e-04 1.580163e-03 2.243026e-03 2.142102e-03 1.183235e-03 + 2209 6.774997e-03 4.296923e-03 3.979718e-03 5.541006e-03 4.404427e-03 + 2210 1.083404e-03 2.137235e-03 1.971944e-03 1.782277e-03 1.756267e-03 + 2211 2.541057e-03 3.223809e-03 5.242886e-03 1.915818e-03 1.988564e-03 + 2212 2.365275e-03 4.260108e-03 3.448808e-03 3.229155e-03 1.706607e-03 + 2213 9.781209e-04 8.544420e-04 1.289430e-03 1.716151e-03 1.673366e-03 + 2214 2.780537e-03 2.450948e-03 2.299884e-03 1.892462e-03 1.256753e-03 + 2215 2.058559e-03 2.514401e-03 1.572537e-03 2.731615e-03 3.556030e-03 + 2216 5.172948e-03 1.170856e-03 2.070633e-03 4.255331e-03 4.000273e-03 + 2217 2.813723e-03 1.861623e-03 2.570725e-03 2.427560e-03 2.444676e-03 + 2218 1.656536e-03 4.487251e-04 1.242056e-03 3.280141e-03 1.174499e-03 + 2219 1.562540e-03 1.887943e-03 2.081089e-03 1.208956e-03 3.286157e-03 + 2220 3.371627e-03 2.188085e-03 2.901601e-03 1.423181e-03 1.820886e-03 + 2221 1.123171e-03 1.344553e-03 2.079760e-03 1.392833e-03 1.909489e-03 + 2222 8.516695e-04 1.506912e-03 2.076612e-03 1.593326e-03 8.269879e-04 + 2223 2.249454e-03 4.586579e-03 2.504714e-03 2.206693e-03 1.835890e-03 + 2224 4.541417e-03 2.067744e-03 3.062213e-03 1.337054e-03 1.266329e-03 + 2225 8.007895e-02 7.299173e-02 7.884416e-02 6.630861e-02 6.524700e-02 + 2226 4.201798e-01 4.155097e-01 4.308637e-01 3.722274e-01 3.719880e-01 + 2227 8.565271e-02 8.352532e-02 8.899210e-02 6.994758e-02 7.256374e-02 + 2228 8.924119e-04 3.256577e-04 9.541029e-04 1.971193e-03 3.439808e-04 + 2229 1.643306e-03 1.093012e-03 1.503585e-03 1.455356e-03 1.462325e-03 + 2230 7.882635e-04 9.059719e-04 1.708523e-03 1.115301e-03 1.686862e-03 + 2231 1.385299e-03 4.195781e-03 3.352788e-03 1.586582e-03 1.233354e-03 + 2232 1.695784e-03 2.495517e-03 2.933563e-03 2.027046e-03 2.690629e-03 + 2233 3.467257e-03 3.106524e-03 1.063579e-03 1.143726e-03 1.499506e-03 + 2234 1.746114e-03 1.245076e-03 7.694850e-04 1.225975e-03 1.387172e-03 + 2235 1.600648e-03 1.575380e-03 8.581483e-04 2.403622e-03 2.159350e-03 + 2236 2.007623e-03 2.445778e-03 1.112310e-03 1.269748e-03 7.808994e-04 + 2237 5.262723e-04 1.163226e-03 1.396206e-03 1.672277e-03 9.039196e-04 + 2238 2.658961e-03 2.492562e-04 7.437030e-04 1.232730e-03 4.534113e-04 + 2239 1.922155e-03 1.491931e-03 1.711548e-03 2.209206e-03 1.500686e-03 + 2240 1.264496e-03 1.675022e-03 1.318410e-03 8.609653e-04 1.095695e-03 + 2241 2.403177e-03 1.863930e-03 3.136789e-03 1.472898e-03 1.049503e-03 + 2242 2.413516e-03 1.313451e-03 1.960682e-03 1.175419e-03 7.760021e-04 + 2243 1.337972e-03 7.130439e-04 1.193969e-03 1.122139e-03 1.509311e-03 + 2244 1.780852e-03 2.604288e-03 1.532870e-03 1.921047e-03 4.797896e-03 + 2245 8.747268e-04 1.351706e-03 4.059096e-04 7.804724e-04 2.418146e-04 + 2246 1.233014e-03 1.953723e-03 1.570212e-03 1.448749e-03 1.376272e-03 + 2247 9.674416e-04 1.263095e-03 1.571332e-03 1.021050e-03 2.157734e-03 + 2248 1.232173e-03 1.060610e-03 2.443996e-04 5.892413e-04 9.898760e-04 + 2249 6.341496e-04 5.185385e-04 7.807116e-04 1.503420e-03 1.573085e-03 + 2250 1.208145e-03 2.246369e-03 1.736127e-03 1.894549e-03 8.729695e-04 + 2251 5.294538e-04 9.827070e-04 9.277128e-04 7.612058e-04 1.378204e-03 + 2252 9.138066e-04 2.231758e-03 8.294100e-04 1.939202e-03 1.428500e-03 + 2253 5.054716e-04 4.758064e-05 1.218982e-03 2.825533e-04 2.153079e-03 + 2254 2.005257e-03 1.652853e-03 6.686781e-04 1.772003e-03 1.271678e-03 + 2255 2.215407e-03 7.963251e-04 1.646065e-03 1.354482e-03 5.937619e-04 + 2256 1.543856e-03 1.388972e-03 2.133850e-03 2.227777e-03 8.339160e-04 + 2257 1.423753e-03 7.169693e-04 8.054928e-04 6.887042e-04 7.305111e-04 + 2258 1.735537e-03 2.711575e-04 8.464732e-04 9.735596e-04 7.097861e-04 + 2259 1.990041e-03 4.762794e-04 4.174406e-04 6.342297e-04 4.846187e-04 + 2260 3.671558e-03 1.291696e-03 1.490212e-03 2.264276e-03 1.257452e-03 + 2261 7.490613e-04 1.088077e-03 1.178677e-03 6.865810e-04 8.292887e-04 + 2262 9.032180e-04 8.009425e-04 1.838163e-03 6.070345e-04 1.049254e-03 + 2263 1.494887e-03 6.373305e-04 1.030019e-03 5.786718e-04 1.155101e-03 + 2264 7.113390e-04 2.910866e-04 1.429388e-03 1.330163e-03 1.388033e-03 + 2265 1.845365e-03 2.414657e-03 1.124293e-03 1.363466e-03 9.206100e-04 + 2266 1.085469e-03 1.119247e-03 4.405908e-04 1.060788e-03 4.761945e-04 + 2267 3.583720e-04 2.034135e-03 9.119450e-04 1.504389e-03 1.105356e-03 + 2268 8.545311e-04 2.548778e-04 6.552828e-04 1.937763e-03 5.769213e-04 + 2269 1.339116e-03 7.750130e-04 1.438188e-03 1.948953e-03 1.160931e-03 + 2270 7.337254e-03 5.148351e-03 7.538528e-03 8.734061e-03 3.175181e-03 + 2271 1.605042e-03 2.238814e-03 1.430923e-03 1.416602e-03 1.414161e-03 + 2272 6.371985e-04 1.083885e-03 1.250942e-03 7.039134e-04 4.944496e-04 + 2273 6.603240e-04 8.472234e-04 1.058124e-03 2.261258e-04 7.981412e-04 + 2274 1.791803e-04 7.060335e-04 1.094338e-03 9.103413e-04 1.361538e-03 + 2275 1.712572e-03 2.846816e-03 1.710023e-03 3.036184e-03 3.498968e-03 + 2276 5.472515e-03 4.639446e-03 9.284589e-03 7.433841e-03 8.431541e-03 + 2277 1.046105e-03 1.453749e-03 2.118490e-03 1.268099e-03 1.698657e-03 + 2278 1.705495e-03 9.311019e-04 1.646360e-03 1.321108e-03 1.511410e-03 + 2279 5.083490e-04 1.174008e-03 7.155324e-04 6.054567e-04 6.730092e-04 + 2280 1.117117e-03 9.683016e-04 8.698929e-04 6.590666e-04 8.710542e-04 + 2281 1.069132e-03 3.415663e-03 1.334530e-03 2.090205e-03 3.980509e-03 + 2282 4.832651e-03 9.167320e-03 4.916843e-03 8.371377e-03 8.288153e-03 + 2283 9.728989e-04 3.036003e-03 7.858534e-04 1.981347e-03 1.362157e-03 + 2284 5.860432e-04 1.239066e-03 5.160731e-04 3.366242e-04 4.790491e-04 + 2285 1.268331e-03 1.033276e-03 4.334898e-04 2.943890e-04 7.712464e-04 + 2286 1.030295e-03 1.164571e-03 5.158404e-04 7.356060e-04 6.768040e-04 + 2287 1.609587e-03 1.264949e-03 1.837717e-03 1.295639e-03 1.428930e-03 + 2288 1.263201e-03 5.716000e-04 2.380925e-03 7.770052e-04 1.433861e-03 + 2289 5.862270e-04 4.261445e-04 2.847494e-04 1.046685e-03 1.432370e-03 + 2290 9.947178e-04 1.077739e-03 1.209076e-03 6.036755e-04 5.515435e-04 + 2291 5.338184e-04 6.262848e-04 3.817175e-04 1.456560e-04 2.399516e-03 + 2292 1.443351e-03 9.049375e-04 1.966800e-03 1.228394e-03 2.699705e-03 + 2293 7.631697e-04 1.083749e-03 3.237200e-03 1.488211e-03 1.507510e-03 + 2294 1.183212e-03 9.895208e-04 1.626871e-03 2.806883e-03 2.013056e-03 + 2295 4.333995e-04 7.950766e-04 4.088003e-04 6.602854e-04 3.559602e-04 + 2296 8.119005e-04 1.250814e-03 4.547677e-04 8.313174e-04 1.248081e-03 + 2297 4.082167e-04 7.268622e-04 1.085458e-03 7.479366e-04 1.283170e-03 + 2298 4.872052e-04 1.775958e-03 9.629260e-04 6.010815e-04 1.546273e-03 + 2299 1.833968e-03 6.235379e-04 5.817923e-04 2.013600e-03 5.222950e-04 + 2300 9.575915e-04 3.015014e-04 6.739554e-04 4.292740e-04 3.756138e-04 + 2301 8.653692e-04 1.286404e-03 1.921747e-03 1.054099e-03 1.137012e-03 + 2302 1.466289e-03 9.321092e-04 5.590265e-04 5.091761e-04 4.897579e-04 + 2303 4.405895e-04 1.152921e-03 5.887265e-04 1.693829e-03 2.281217e-03 + 2304 7.105851e-04 6.070157e-04 4.517663e-04 6.247431e-04 1.187709e-03 + 2305 1.099475e+00 1.257681e+00 1.283935e+00 1.163787e+00 1.284624e+00 + 2306 2.122425e+02 2.156319e+02 2.161813e+02 2.114683e+02 2.144644e+02 + 2307 3.331235e+02 3.390106e+02 3.392896e+02 3.310071e+02 3.366404e+02 + 2308 1.394868e+01 1.391471e+01 1.387282e+01 1.353064e+01 1.380256e+01 + 2309 9.224961e-03 2.334363e-02 2.412889e-02 2.048502e-02 1.985272e-02 + 2310 4.173616e-02 4.761811e-02 2.708334e-02 3.433745e-02 4.177523e-02 + 2311 9.578797e-02 8.982365e-02 1.203039e-01 1.131881e-01 1.119950e-01 + 2312 3.354472e-01 2.728037e-01 3.698542e-01 3.383882e-01 3.497168e-01 + 2313 5.394491e-02 5.268960e-02 6.727689e-02 5.956370e-02 6.247036e-02 + 2314 1.513296e-02 9.351627e-03 1.270293e-02 1.069047e-02 1.396704e-02 + 2315 2.331156e-02 2.785161e-02 2.553059e-02 1.786453e-02 1.220818e-02 + 2316 1.117923e-02 9.485578e-03 9.456630e-03 1.253085e-02 1.696419e-02 + 2317 7.567535e-03 1.931076e-02 1.166595e-02 1.636082e-02 7.556999e-03 + 2318 1.547733e-02 1.663006e-02 1.194721e-02 1.060438e-02 1.150197e-02 + 2319 4.124488e-03 9.550868e-03 6.458398e-03 1.055589e-02 1.118533e-02 + 2320 7.841437e-03 7.139212e-03 7.121791e-03 5.522176e-03 6.232653e-03 + 2321 6.336537e-03 8.056237e-03 5.708590e-03 6.652378e-03 1.078726e-02 + 2322 4.130603e-03 2.303375e-03 5.572996e-03 4.534351e-03 4.086650e-03 + 2323 5.480015e-03 1.264907e-02 8.704730e-03 1.316708e-02 1.086995e-02 + 2324 7.136215e-03 5.439701e-03 5.764111e-03 5.043299e-03 6.407543e-03 + 2325 2.432948e-03 4.333915e-03 7.351862e-04 3.222415e-03 2.390905e-03 + 2326 2.660876e-03 5.935556e-03 4.811522e-03 3.942212e-03 3.472203e-03 + 2327 6.164848e-03 3.945197e-03 4.538989e-03 4.270534e-03 3.898888e-03 + 2328 1.714994e-03 5.692062e-03 3.153253e-03 2.611368e-03 3.808370e-03 + 2329 4.983089e-03 6.220658e-03 6.638415e-03 4.313503e-03 2.845526e-03 + 2330 2.334352e-03 4.324234e-03 1.743356e-03 3.112662e-03 3.238317e-03 + 2331 3.557753e-03 3.180107e-03 7.433011e-03 2.955764e-03 5.120876e-03 + 2332 1.506032e-03 1.851664e-03 2.673017e-03 1.099969e-03 1.754844e-03 + 2333 6.198583e-03 3.920289e-03 4.202059e-03 5.466783e-03 4.968128e-03 + 2334 1.775998e-03 1.788765e-03 2.712143e-03 1.930639e-03 1.686016e-03 + 2335 3.465429e-03 3.321727e-03 2.151908e-03 9.251835e-04 1.477781e-03 + 2336 3.373572e-03 1.891971e-03 1.888797e-03 3.751311e-03 2.724425e-03 + 2337 1.261533e-03 4.241473e-03 3.235091e-03 2.813603e-03 1.833649e-03 + 2338 1.159322e-03 8.024331e-04 1.600232e-03 9.978014e-04 1.932930e-03 + 2339 3.272351e-03 2.354861e-03 1.074343e-03 4.370415e-03 2.793935e-03 + 2340 1.143024e-03 1.926285e-03 1.388795e-03 1.062236e-03 1.342332e-03 + 2341 1.707112e-03 4.854790e-04 3.029753e-03 6.379479e-04 2.589384e-03 + 2342 1.146213e-03 3.024806e-03 9.588358e-04 2.000290e-03 1.095049e-03 + 2343 2.049903e-03 3.962768e-03 1.822713e-03 2.305886e-03 2.683996e-03 + 2344 4.288566e-03 2.572020e-03 5.457608e-03 3.395773e-03 6.128252e-03 + 2345 5.783170e-04 1.714958e-03 8.866331e-04 1.272407e-03 6.665103e-04 + 2346 3.169229e-03 2.602162e-03 2.527522e-03 2.368187e-03 1.602303e-03 + 2347 1.929469e-03 1.739162e-03 3.067183e-03 2.891433e-03 1.284062e-03 + 2348 1.622912e-03 7.153883e-04 1.484584e-04 7.649656e-04 6.034047e-04 + 2349 2.290327e-03 6.883536e-03 2.426014e-03 2.846819e-03 2.182861e-03 + 2350 7.770644e-04 4.635425e-04 1.658644e-03 1.309057e-03 9.449483e-04 + 2351 1.285358e-03 1.935483e-03 4.776592e-04 1.975757e-04 1.091322e-03 + 2352 1.430103e-03 3.189414e-03 1.200649e-03 1.572781e-03 1.845496e-03 + 2353 7.681769e-02 8.091047e-02 7.758359e-02 7.065221e-02 8.161623e-02 + 2354 4.281148e-01 4.340465e-01 4.354491e-01 3.966500e-01 4.164856e-01 + 2355 7.493165e-02 7.701696e-02 7.762046e-02 7.311176e-02 7.189689e-02 + 2356 4.360023e-04 3.546780e-04 2.142699e-03 3.923532e-04 8.340235e-04 + 2357 3.038617e-03 3.247366e-03 1.737613e-03 2.707599e-03 3.876457e-03 + 2358 7.216237e-04 1.207624e-03 3.076040e-03 5.979491e-04 1.695139e-03 + 2359 1.475912e-03 1.453379e-03 1.807018e-03 9.329789e-04 2.534223e-03 + 2360 1.510983e-03 2.010507e-03 1.130070e-03 2.517473e-03 1.851369e-03 + 2361 1.613185e-03 4.217593e-03 2.026367e-03 3.083550e-03 3.122634e-03 + 2362 1.533024e-03 4.114201e-04 7.548635e-04 2.228946e-03 5.772368e-04 + 2363 9.706638e-04 8.137960e-04 1.130640e-03 2.004223e-03 1.933166e-03 + 2364 8.051378e-04 7.851899e-04 3.190752e-04 1.130721e-03 1.371045e-04 + 2365 8.460373e-04 2.116912e-03 1.698365e-03 1.242820e-03 3.172873e-03 + 2366 1.238870e-03 1.748850e-03 7.563695e-04 1.040277e-03 1.571021e-03 + 2367 2.393007e-03 1.533104e-03 5.614390e-04 2.007075e-03 2.292855e-03 + 2368 4.444693e-04 2.272858e-03 1.805490e-03 8.091728e-04 1.597967e-03 + 2369 1.008511e-03 2.753065e-04 8.748315e-04 1.047820e-03 6.088057e-04 + 2370 1.395490e-03 2.077544e-03 2.224944e-03 1.730865e-03 1.684553e-03 + 2371 1.125132e-03 1.958704e-03 1.025916e-03 6.045161e-04 2.474397e-03 + 2372 6.973274e-04 9.049303e-04 4.361969e-04 7.359285e-04 1.311664e-03 + 2373 1.920346e-03 1.775152e-03 1.514333e-03 9.970459e-04 1.175308e-03 + 2374 1.089962e-03 3.111506e-03 1.126359e-03 8.906797e-04 1.511128e-03 + 2375 3.685230e-04 1.696170e-03 9.616632e-04 4.337633e-04 3.052223e-04 + 2376 1.676673e-03 3.032486e-03 6.385420e-04 5.435284e-04 1.745986e-03 + 2377 1.065135e-03 1.238212e-03 1.730492e-04 2.743577e-03 4.388475e-04 + 2378 4.554781e-04 8.645571e-04 1.317632e-03 4.080714e-04 6.321748e-04 + 2379 1.187478e-03 3.441604e-03 2.240196e-03 1.463336e-03 1.421399e-03 + 2380 2.517546e-04 4.232965e-04 1.467823e-04 2.727376e-04 6.395884e-04 + 2381 1.397270e-03 1.085164e-03 9.867065e-04 6.697331e-04 6.451980e-04 + 2382 5.399212e-04 4.777794e-04 9.332473e-04 7.328162e-04 4.219771e-04 + 2383 9.212831e-04 2.561537e-03 1.580364e-03 1.622350e-03 2.394321e-03 + 2384 7.528792e-04 8.157951e-04 1.682259e-03 6.747094e-04 1.695727e-03 + 2385 9.376329e-04 1.292886e-03 1.165230e-03 8.752664e-04 1.876200e-03 + 2386 1.411676e-03 2.502804e-03 1.288677e-03 2.634165e-03 1.602378e-03 + 2387 8.971569e-04 7.235773e-04 1.048107e-03 1.075419e-03 1.422713e-03 + 2388 9.880716e-04 4.871596e-04 9.801597e-04 7.207401e-04 8.422945e-04 + 2389 1.039969e-03 8.675155e-04 1.189265e-03 1.889367e-04 1.376342e-03 + 2390 1.578905e-03 7.727688e-04 1.559747e-03 2.112866e-03 3.464474e-03 + 2391 1.645301e-03 8.903568e-04 3.016213e-04 6.006119e-04 1.072172e-03 + 2392 3.504475e-03 3.514747e-04 7.081097e-04 1.094777e-03 1.751874e-03 + 2393 1.063904e-03 1.728106e-03 6.661035e-04 1.068899e-03 1.254852e-03 + 2394 9.397469e-04 8.901281e-04 2.132709e-03 7.254828e-04 8.136051e-04 + 2395 9.163139e-04 8.095553e-04 5.325835e-04 8.899917e-04 1.503537e-03 + 2396 3.390603e-04 4.898288e-04 6.329675e-04 1.207196e-03 2.062204e-03 + 2397 2.369969e-03 2.544248e-03 2.410826e-03 1.694129e-03 3.575687e-03 + 2398 1.041922e-02 7.287239e-03 4.538187e-03 9.451606e-03 7.285016e-03 + 2399 1.225986e-03 1.169684e-03 8.115336e-04 1.122454e-03 1.112633e-03 + 2400 1.347319e-03 6.097379e-04 1.227084e-03 7.317410e-04 1.269392e-03 + 2401 1.466707e-03 1.932681e-03 8.012204e-04 1.124973e-03 1.446834e-03 + 2402 8.307291e-04 8.394026e-04 8.456653e-05 1.771611e-03 3.850878e-04 + 2403 2.599549e-03 1.570946e-03 2.837484e-03 2.671666e-03 1.387290e-03 + 2404 8.118619e-03 6.447645e-03 9.890064e-03 1.177486e-02 7.492492e-03 + 2405 1.442569e-03 2.666965e-03 1.738036e-03 2.850309e-03 1.509063e-03 + 2406 2.660095e-03 1.626897e-03 3.477845e-04 1.362147e-03 1.447146e-03 + 2407 9.500674e-04 1.247015e-04 1.949895e-03 1.211389e-03 1.336753e-03 + 2408 3.869340e-04 9.291275e-04 4.083797e-04 1.574492e-03 4.900958e-04 + 2409 1.738705e-03 3.352075e-03 7.350807e-04 1.245728e-03 1.962441e-03 + 2410 5.670345e-03 6.926410e-03 2.310695e-03 4.918143e-03 6.525567e-03 + 2411 2.090808e-03 3.338885e-03 1.764432e-03 1.749992e-03 2.923571e-03 + 2412 5.453389e-04 1.313424e-03 3.503756e-04 7.413747e-04 6.444363e-04 + 2413 1.304623e-03 1.547955e-03 1.067754e-03 7.740698e-04 7.258107e-04 + 2414 1.003886e-03 3.729108e-04 8.109830e-04 1.205430e-04 2.263624e-03 + 2415 1.016634e-03 7.870779e-04 7.373310e-04 1.144911e-03 1.012812e-03 + 2416 7.941927e-04 4.542045e-04 1.928284e-03 6.279979e-04 1.011904e-03 + 2417 2.441676e-03 2.740648e-03 1.055710e-03 1.831024e-03 1.172190e-03 + 2418 9.862438e-04 1.079719e-03 2.684855e-04 4.789750e-04 6.648319e-04 + 2419 1.780172e-03 1.156672e-03 2.202207e-03 1.750480e-03 2.321582e-03 + 2420 4.747564e-04 2.479063e-04 1.528343e-03 1.061200e-03 1.335095e-03 + 2421 1.768206e-03 1.841268e-03 1.405611e-03 8.852294e-04 3.780160e-04 + 2422 3.275880e-03 3.329294e-03 1.938551e-03 6.341259e-04 1.023720e-03 + 2423 1.965562e-03 2.000066e-03 9.643970e-04 3.162727e-04 1.385469e-03 + 2424 1.521458e-03 1.138769e-03 1.413428e-03 7.705224e-04 1.441334e-03 + 2425 1.055407e-03 4.780055e-04 1.397095e-03 5.225815e-04 2.982498e-04 + 2426 7.241244e-04 5.754626e-04 3.019279e-04 1.025019e-03 4.991965e-04 + 2427 5.678434e-04 4.048527e-04 1.075020e-03 3.582009e-04 1.178713e-03 + 2428 8.788318e-04 6.445465e-04 4.882669e-04 9.357311e-04 1.397001e-04 + 2429 6.176374e-04 6.920834e-04 7.463419e-04 3.653117e-04 1.368794e-03 + 2430 1.767394e-03 6.648229e-04 1.642228e-03 1.377220e-03 1.060473e-03 + 2431 1.641583e-03 9.785218e-04 5.746411e-04 8.700526e-04 1.015823e-03 + 2432 7.938616e-05 1.216130e-03 9.389693e-04 1.300018e-03 7.458381e-04 + 2433 1.305149e+00 1.314206e+00 1.477383e+00 1.422451e+00 1.358449e+00 + 2434 2.122531e+02 2.141229e+02 2.156143e+02 2.120158e+02 2.138890e+02 + 2435 3.341070e+02 3.371496e+02 3.395916e+02 3.339083e+02 3.367986e+02 + 2436 1.379827e+01 1.369254e+01 1.372025e+01 1.356488e+01 1.378287e+01 + 2437 1.179267e-02 2.004752e-02 1.714739e-02 2.022786e-02 1.930408e-02 + 2438 4.000264e-02 4.913252e-02 3.585846e-02 4.109276e-02 4.723564e-02 + 2439 1.000838e-01 9.264439e-02 1.132899e-01 8.840991e-02 1.006360e-01 + 2440 3.569108e-01 3.128948e-01 3.787490e-01 3.481010e-01 3.414134e-01 + 2441 5.638545e-02 5.432553e-02 5.479692e-02 4.719134e-02 6.517392e-02 + 2442 1.518703e-02 9.860689e-03 1.639560e-02 1.330785e-02 1.023404e-02 + 2443 1.909836e-02 2.974433e-02 1.743349e-02 2.098496e-02 2.378304e-02 + 2444 1.184010e-02 1.593762e-02 1.326344e-02 8.093092e-03 1.240889e-02 + 2445 2.336117e-02 2.264357e-02 2.190302e-02 3.081051e-02 2.608283e-02 + 2446 1.198885e-02 8.603339e-03 7.677406e-03 1.155499e-02 1.440172e-02 + 2447 4.859641e-03 9.045352e-03 9.717838e-03 7.915117e-03 5.886275e-03 + 2448 9.617236e-03 1.400684e-02 6.986643e-03 7.468174e-03 1.137760e-02 + 2449 1.072652e-02 5.515645e-03 5.480560e-03 6.379448e-03 4.235267e-03 + 2450 3.619690e-03 4.663904e-03 7.034211e-03 1.033029e-02 1.017589e-02 + 2451 4.390462e-03 8.402246e-03 5.738969e-03 6.885387e-03 5.572821e-03 + 2452 4.905967e-03 4.244041e-03 4.025333e-03 5.419963e-03 8.725978e-03 + 2453 6.259612e-03 6.285487e-03 8.277669e-03 4.991519e-03 3.075527e-03 + 2454 4.515488e-03 6.166032e-03 2.056543e-03 2.719177e-03 5.302162e-03 + 2455 5.044185e-03 5.322224e-03 7.021336e-03 5.644622e-03 5.408718e-03 + 2456 3.611702e-03 2.777254e-03 3.000837e-03 4.566510e-03 3.371524e-03 + 2457 3.087339e-03 2.940896e-03 3.689854e-03 3.065220e-03 3.519742e-03 + 2458 4.056281e-03 3.115258e-03 4.545522e-03 2.808869e-03 3.368120e-03 + 2459 3.386493e-03 4.259147e-03 4.759456e-03 7.371260e-03 5.588197e-03 + 2460 2.385248e-03 3.491546e-03 3.048454e-03 1.776296e-03 2.288793e-03 + 2461 2.504798e-03 2.116799e-03 2.215873e-03 2.910533e-03 3.288604e-03 + 2462 1.654180e-03 2.411496e-03 2.669770e-03 2.496722e-03 2.725671e-03 + 2463 3.710899e-03 3.554444e-03 3.352059e-03 4.885888e-03 4.458034e-03 + 2464 3.275362e-03 6.023181e-03 3.810422e-03 2.262000e-03 1.442079e-03 + 2465 2.508907e-03 2.186865e-03 6.613438e-04 7.286057e-04 2.891404e-03 + 2466 4.597808e-03 1.689114e-03 3.908712e-03 4.446436e-03 3.300589e-03 + 2467 1.629174e-03 2.566020e-03 1.759553e-03 2.933757e-03 2.877823e-03 + 2468 1.539143e-03 1.660467e-03 8.984574e-04 1.917453e-03 1.882203e-03 + 2469 1.369548e-03 2.061623e-03 2.667814e-03 1.907326e-03 1.303712e-03 + 2470 3.452337e-03 2.524013e-03 2.529330e-03 3.228154e-03 1.786073e-03 + 2471 4.065069e-03 8.607489e-04 2.586543e-03 1.893893e-03 3.142314e-03 + 2472 4.429950e-03 7.590980e-03 3.351298e-03 5.772675e-03 2.208342e-03 + 2473 7.940549e-04 1.052077e-03 2.225304e-03 1.009605e-03 3.730791e-04 + 2474 4.745861e-03 4.093856e-03 2.009709e-03 3.204591e-03 5.314399e-03 + 2475 1.346482e-03 9.307392e-04 9.824692e-04 9.901634e-04 1.834988e-03 + 2476 1.079143e-03 2.990483e-03 9.450761e-04 1.128983e-03 1.073346e-03 + 2477 3.534339e-03 2.802886e-03 3.303415e-03 3.712485e-03 3.080651e-03 + 2478 4.649602e-04 2.582356e-03 1.393817e-03 1.698204e-03 1.096778e-03 + 2479 1.582649e-03 1.354089e-03 1.559238e-03 2.870125e-03 1.490758e-03 + 2480 2.462632e-03 3.411865e-03 1.575010e-03 1.449156e-03 1.568240e-03 + 2481 8.178694e-02 7.210477e-02 7.389509e-02 7.678975e-02 7.625962e-02 + 2482 4.374266e-01 4.128374e-01 4.068231e-01 4.231292e-01 4.188614e-01 + 2483 8.655187e-02 7.427037e-02 7.177482e-02 7.937674e-02 7.765778e-02 + 2484 2.546379e-03 1.426279e-03 2.125060e-04 9.139152e-04 2.246111e-04 + 2485 2.407778e-03 3.594222e-03 3.566418e-03 2.355086e-03 4.009229e-03 + 2486 2.073572e-04 1.542355e-03 5.583930e-04 1.029985e-03 2.989969e-03 + 2487 2.901326e-03 2.203474e-03 1.637696e-03 7.505242e-04 1.570182e-03 + 2488 3.601774e-03 1.394272e-03 3.106756e-03 2.371527e-03 1.465584e-03 + 2489 1.789501e-03 1.389062e-03 6.754933e-04 6.671173e-04 9.653821e-04 + 2490 3.310207e-03 1.410869e-03 1.288256e-03 1.520903e-03 2.770135e-03 + 2491 2.153164e-03 1.390239e-03 2.433641e-03 1.956504e-03 4.171825e-03 + 2492 1.610963e-03 9.283518e-04 1.696176e-03 1.352577e-03 1.096393e-03 + 2493 7.382322e-04 1.464869e-03 1.485598e-03 1.270881e-03 8.022776e-04 + 2494 1.808134e-03 1.371899e-03 2.255418e-03 2.473401e-03 1.304408e-03 + 2495 1.060666e-03 9.306870e-04 9.332230e-04 7.957575e-04 4.391136e-04 + 2496 1.080569e-03 1.057223e-03 6.747786e-04 6.865178e-04 1.196758e-03 + 2497 2.736590e-03 1.699766e-03 1.447343e-03 2.620628e-03 1.757890e-03 + 2498 1.262241e-03 9.440911e-04 1.451010e-03 3.163394e-03 2.383977e-03 + 2499 2.646192e-03 1.094726e-03 1.402434e-03 1.474483e-03 1.588644e-03 + 2500 1.251920e-03 1.393129e-03 3.311949e-04 7.883981e-04 6.966737e-04 + 2501 2.769697e-03 2.071726e-03 1.326576e-03 1.101718e-03 2.339131e-03 + 2502 1.084179e-03 5.281053e-04 8.535730e-04 5.189264e-04 5.480234e-04 + 2503 1.644062e-03 1.966753e-03 5.730933e-04 1.483834e-03 9.715845e-04 + 2504 2.724980e-03 2.179734e-03 2.272438e-03 1.853201e-03 1.256382e-03 + 2505 3.538798e-04 8.537782e-04 7.673350e-04 3.741815e-04 5.328596e-04 + 2506 1.486917e-03 1.425783e-03 3.013093e-03 1.623344e-03 1.076007e-03 + 2507 1.437194e-03 6.480531e-04 8.958490e-04 7.123609e-04 9.698017e-04 + 2508 1.330933e-03 3.837412e-03 8.910641e-04 7.759935e-04 6.360474e-04 + 2509 6.856079e-04 9.165596e-04 1.899964e-03 1.693002e-03 8.705533e-04 + 2510 1.144499e-03 7.431461e-04 3.590270e-04 8.565351e-04 5.157792e-04 + 2511 1.953912e-03 1.001059e-03 2.236466e-03 2.990580e-03 8.530607e-04 + 2512 1.643558e-03 1.560570e-03 4.320074e-04 7.435253e-04 1.769032e-03 + 2513 1.057670e-03 8.850430e-04 1.123754e-03 5.670688e-04 5.591689e-04 + 2514 6.659422e-04 9.158933e-04 1.495816e-03 1.767383e-03 1.399501e-03 + 2515 9.238244e-04 5.568256e-04 1.082082e-03 1.591540e-03 1.093941e-03 + 2516 1.933609e-04 1.312450e-03 3.225413e-04 5.285208e-04 5.048627e-04 + 2517 2.140128e-03 8.906509e-04 1.417070e-03 1.602812e-03 1.011440e-03 + 2518 2.282607e-04 3.368687e-04 4.815231e-04 2.746493e-04 2.948842e-04 + 2519 1.357099e-03 2.321129e-03 2.073137e-03 2.275887e-03 1.496872e-03 + 2520 6.975876e-04 1.223153e-03 8.192106e-04 2.482308e-03 5.284941e-04 + 2521 8.528393e-04 3.329850e-04 1.322420e-03 1.489377e-03 1.234511e-03 + 2522 1.583587e-03 1.467491e-03 1.587545e-03 1.759346e-03 1.826246e-03 + 2523 7.641460e-04 1.080146e-03 1.478958e-03 3.452262e-04 9.507243e-04 + 2524 1.314430e-03 2.119195e-03 1.992518e-03 1.038173e-03 1.643876e-03 + 2525 2.627513e-03 1.870865e-03 1.764894e-03 2.518160e-03 3.087079e-03 + 2526 8.240439e-03 9.471599e-03 6.072488e-03 7.169157e-03 7.558158e-03 + 2527 8.918669e-04 2.197963e-03 1.228114e-03 1.038760e-03 1.179541e-03 + 2528 9.685459e-04 1.291706e-03 1.099107e-03 2.085698e-03 1.079666e-03 + 2529 1.047284e-03 1.285725e-03 9.239312e-04 1.139230e-03 1.686822e-03 + 2530 7.461421e-04 1.305927e-04 6.872717e-04 3.490690e-04 5.572580e-04 + 2531 1.613852e-03 3.122379e-03 2.279074e-03 1.170460e-03 2.484600e-03 + 2532 5.840160e-03 7.665809e-03 1.001960e-02 8.767747e-03 1.098369e-02 + 2533 1.948679e-03 3.071571e-03 4.161843e-03 2.837737e-03 1.995574e-03 + 2534 3.294841e-03 2.570188e-03 1.792974e-03 2.356811e-03 1.586011e-03 + 2535 2.153041e-03 1.252036e-03 7.554784e-04 4.652093e-04 1.216898e-03 + 2536 8.881577e-04 1.299573e-03 1.315402e-03 3.788856e-04 3.750726e-04 + 2537 1.529166e-03 1.257420e-03 1.035599e-03 1.732939e-03 2.016013e-03 + 2538 4.648682e-03 4.041223e-03 3.549107e-03 3.245000e-03 5.537877e-03 + 2539 7.512525e-04 1.409692e-03 8.957155e-04 8.848740e-04 1.176386e-03 + 2540 6.916895e-04 6.950805e-04 8.719313e-04 4.103604e-04 9.373796e-04 + 2541 1.800330e-03 7.213232e-04 9.828578e-04 4.331665e-04 1.432060e-03 + 2542 2.884615e-04 5.841777e-04 8.864223e-04 1.316963e-03 5.447607e-04 + 2543 7.846600e-04 9.700962e-04 1.115380e-03 1.247603e-03 1.059598e-03 + 2544 9.820614e-04 4.873493e-04 4.308967e-04 6.178642e-04 5.175681e-04 + 2545 9.566672e-04 1.076601e-03 1.053909e-03 7.082922e-04 2.122174e-03 + 2546 2.715018e-03 6.389970e-04 2.251675e-03 3.861016e-04 5.813899e-04 + 2547 7.553201e-04 1.145130e-03 1.555700e-03 9.822451e-04 2.247236e-03 + 2548 8.436410e-04 7.539248e-04 5.681328e-04 1.175502e-03 8.842735e-04 + 2549 4.940868e-04 8.645619e-04 6.326087e-04 5.874205e-04 5.173797e-04 + 2550 2.506402e-03 1.060422e-03 2.435045e-03 1.539095e-03 2.061711e-03 + 2551 2.445413e-03 1.138589e-03 2.468625e-04 1.260516e-03 1.128959e-03 + 2552 8.931893e-04 1.721153e-03 6.693066e-04 8.816162e-04 9.851810e-04 + 2553 3.635783e-04 4.554824e-04 4.680780e-04 4.582883e-04 6.031947e-04 + 2554 6.333690e-04 5.942285e-04 7.052800e-04 7.526931e-04 4.802453e-04 + 2555 1.538616e-03 1.758381e-03 1.147295e-03 6.939526e-04 1.219364e-03 + 2556 6.758295e-04 4.803844e-04 1.301662e-03 2.754995e-04 6.675942e-04 + 2557 1.277985e-03 1.963344e-03 2.235370e-03 1.571442e-03 7.496747e-04 + 2558 5.672985e-04 9.751094e-04 1.116846e-03 6.822516e-04 8.795022e-04 + 2559 2.281144e-03 1.216159e-03 1.395040e-03 2.112583e-03 1.168308e-03 + 2560 3.367082e-04 2.706939e-04 2.511094e-04 4.650508e-04 4.480230e-04 + 2561 1.260617e+00 1.449174e+00 1.446727e+00 1.453115e+00 1.323589e+00 + 2562 2.108650e+02 2.150989e+02 2.160018e+02 2.117898e+02 2.127246e+02 + 2563 3.322697e+02 3.385063e+02 3.405005e+02 3.342913e+02 3.356197e+02 + 2564 1.356888e+01 1.382001e+01 1.401360e+01 1.363726e+01 1.384618e+01 + 2565 3.861413e-02 4.956174e-02 3.651196e-02 3.517616e-02 5.894848e-02 + 2566 2.423141e-02 2.482882e-02 1.814836e-02 1.765777e-02 2.606430e-02 + 2567 9.268398e-02 7.822006e-02 1.109612e-01 9.750607e-02 8.120009e-02 + 2568 3.758006e-01 3.187540e-01 4.029896e-01 3.808123e-01 3.554174e-01 + 2569 6.186380e-02 5.031023e-02 7.006892e-02 5.670803e-02 5.835868e-02 + 2570 1.518165e-02 3.762685e-02 1.743002e-02 2.159366e-02 2.397749e-02 + 2571 1.656362e-02 6.367602e-03 1.225264e-02 9.188500e-03 6.897098e-03 + 2572 1.496260e-02 2.193086e-02 1.915780e-02 2.111385e-02 2.373918e-02 + 2573 2.190002e-02 1.273581e-02 1.608968e-02 1.105157e-02 9.077041e-03 + 2574 1.416042e-02 1.431306e-02 1.446379e-02 1.534514e-02 1.221632e-02 + 2575 1.626931e-02 1.460758e-02 8.267578e-03 7.560371e-03 1.121743e-02 + 2576 5.626846e-03 1.064686e-02 1.223282e-02 1.030626e-02 1.075145e-02 + 2577 7.900242e-03 6.881230e-03 5.379867e-03 3.655724e-03 2.464582e-03 + 2578 4.981081e-03 4.692086e-03 4.616246e-03 4.344393e-03 5.845404e-03 + 2579 8.267898e-03 6.256910e-03 8.966716e-03 1.218207e-02 6.625412e-03 + 2580 5.433407e-03 5.767616e-03 4.647448e-03 4.313151e-03 7.065109e-03 + 2581 5.680121e-03 5.257246e-03 5.752992e-03 4.920979e-03 7.651615e-03 + 2582 6.162845e-03 4.406360e-03 2.840521e-03 4.298580e-03 4.553901e-03 + 2583 3.206280e-03 4.416882e-03 7.380103e-03 5.726472e-03 6.591199e-03 + 2584 6.326493e-03 5.763779e-03 5.227401e-03 2.246856e-03 2.488988e-03 + 2585 5.106340e-03 1.694987e-03 1.711073e-03 3.179871e-03 6.042663e-03 + 2586 3.304178e-03 5.727038e-03 7.475663e-03 3.764116e-03 3.446883e-03 + 2587 1.759998e-03 3.214746e-03 1.482792e-03 3.340827e-03 1.754797e-03 + 2588 3.609518e-03 1.871099e-03 5.172775e-03 1.328867e-03 3.598554e-03 + 2589 3.034207e-03 4.938420e-03 5.343088e-03 7.142921e-03 3.384299e-03 + 2590 2.476077e-03 2.557224e-03 3.484287e-03 2.631711e-03 2.440896e-03 + 2591 2.462411e-03 6.308169e-03 3.564823e-03 3.399654e-03 2.688494e-03 + 2592 3.034526e-03 2.379666e-03 4.176861e-03 2.783566e-03 2.284453e-03 + 2593 2.971516e-03 7.718984e-03 4.704245e-03 4.503009e-03 5.964035e-03 + 2594 3.149358e-03 1.386323e-04 2.050024e-03 1.481998e-03 1.338075e-03 + 2595 2.168147e-03 3.466934e-03 3.216672e-03 1.919309e-03 1.799754e-03 + 2596 2.609290e-03 1.888441e-03 1.994389e-03 2.065597e-03 2.877187e-03 + 2597 2.126050e-03 1.466067e-03 4.478615e-03 2.539010e-03 1.791686e-03 + 2598 6.066111e-03 1.948147e-03 3.828268e-03 1.641687e-03 2.816707e-03 + 2599 2.387957e-03 1.654404e-03 3.527153e-03 3.808365e-03 3.035017e-03 + 2600 1.926493e-03 3.275237e-03 1.050826e-03 3.678093e-03 2.443620e-03 + 2601 2.685806e-03 6.922635e-04 4.684828e-04 7.538768e-04 2.667457e-03 + 2602 2.566691e-03 3.661298e-03 2.977399e-03 2.745628e-03 2.212804e-03 + 2603 1.768257e-03 2.137811e-03 7.937188e-04 1.033064e-03 2.092966e-03 + 2604 1.785235e-03 3.236508e-03 2.703191e-03 2.580052e-03 2.185584e-04 + 2605 1.120152e-03 7.427629e-04 7.092714e-04 7.341554e-04 2.114775e-03 + 2606 1.891612e-03 2.106258e-03 3.148838e-03 2.557865e-03 2.793811e-03 + 2607 1.220279e-03 1.634978e-03 4.404907e-04 5.455163e-04 1.555372e-03 + 2608 2.282048e-03 2.288858e-03 2.379272e-03 1.558628e-03 1.214217e-03 + 2609 7.252220e-02 8.161486e-02 8.073211e-02 7.754779e-02 6.923198e-02 + 2610 4.214453e-01 4.115640e-01 4.341277e-01 4.056350e-01 3.988462e-01 + 2611 8.038292e-02 7.672648e-02 8.548882e-02 6.997269e-02 7.009388e-02 + 2612 1.500237e-03 1.525412e-03 2.425630e-03 5.445366e-03 1.962677e-03 + 2613 1.308185e-03 3.240067e-03 1.058868e-03 5.923570e-04 1.382031e-03 + 2614 6.833694e-04 1.234539e-03 6.576263e-04 6.365210e-04 5.473536e-04 + 2615 1.949447e-03 1.489625e-03 2.072796e-03 2.567516e-03 2.217549e-03 + 2616 1.356042e-03 1.287208e-03 1.002106e-03 1.147859e-03 9.197094e-04 + 2617 1.125179e-03 2.438289e-03 2.046956e-03 2.144923e-03 1.031620e-03 + 2618 4.056145e-04 7.318305e-04 8.600974e-04 8.090431e-04 7.400967e-04 + 2619 2.558325e-03 8.304459e-04 2.050869e-03 1.318060e-03 2.809497e-03 + 2620 4.909081e-04 9.087560e-04 8.054082e-04 9.108349e-04 8.592557e-04 + 2621 2.248595e-03 1.935252e-03 1.459963e-03 1.691126e-03 7.501537e-04 + 2622 4.859247e-04 1.038149e-03 1.442243e-03 1.703532e-03 2.642515e-03 + 2623 2.154361e-04 5.919842e-04 7.903797e-04 4.769537e-04 3.323132e-04 + 2624 1.915980e-03 6.004675e-04 1.406181e-03 2.037382e-03 2.340312e-03 + 2625 9.308523e-04 9.597355e-04 9.723228e-04 6.748517e-04 2.408589e-04 + 2626 5.735088e-04 6.975484e-04 1.054676e-03 2.551799e-03 1.237185e-03 + 2627 1.445345e-03 1.833878e-03 9.894901e-04 1.995606e-03 1.902471e-03 + 2628 1.009725e-03 6.268409e-04 3.416313e-04 1.309326e-03 8.261917e-05 + 2629 7.701353e-04 1.866194e-04 7.709992e-04 1.030064e-03 1.167028e-03 + 2630 6.011821e-04 1.800384e-03 5.302466e-04 1.630985e-03 1.538620e-03 + 2631 1.995708e-03 1.998481e-03 1.211202e-03 4.998968e-04 2.677024e-03 + 2632 1.464768e-03 6.094757e-04 1.414810e-03 8.143729e-04 1.257055e-03 + 2633 1.117228e-03 7.465749e-04 1.798846e-03 8.748470e-04 2.628748e-04 + 2634 7.963305e-04 4.261389e-04 1.225564e-03 1.338468e-03 1.196602e-03 + 2635 1.023963e-03 7.463122e-04 1.664731e-03 8.880639e-04 2.334483e-04 + 2636 2.155369e-03 2.272751e-03 1.289669e-03 1.360390e-03 1.589553e-03 + 2637 6.998718e-04 1.384637e-03 2.385825e-03 1.783734e-03 5.565392e-04 + 2638 1.365910e-03 1.828411e-03 6.251779e-04 1.868286e-03 1.225725e-03 + 2639 1.886850e-04 1.136078e-03 4.363294e-04 1.366717e-03 2.272578e-04 + 2640 6.855217e-04 6.786058e-04 9.588591e-04 8.276697e-04 1.563758e-03 + 2641 1.170695e-03 1.456516e-03 8.359810e-04 8.015893e-04 7.195128e-04 + 2642 4.128804e-03 2.429485e-03 2.598551e-03 1.972759e-03 2.495388e-03 + 2643 2.351977e-03 1.949511e-03 1.732625e-03 3.609336e-04 7.981291e-04 + 2644 1.257361e-03 1.321811e-03 3.223923e-03 9.246373e-04 1.168570e-03 + 2645 1.256245e-03 7.955363e-04 5.491741e-04 9.064826e-04 8.330502e-04 + 2646 5.047222e-04 1.150264e-03 9.849414e-04 3.166273e-04 1.884321e-03 + 2647 1.188409e-03 1.473699e-03 1.732463e-03 8.901483e-04 1.257566e-03 + 2648 7.612303e-04 6.445343e-04 1.793037e-03 1.528592e-03 6.885572e-04 + 2649 8.617985e-04 1.946752e-03 4.704173e-04 1.324985e-03 8.817135e-04 + 2650 2.515206e-03 2.937037e-04 1.436833e-03 1.495710e-03 1.138686e-03 + 2651 6.516026e-04 1.102933e-03 1.124622e-03 5.863242e-04 5.873634e-04 + 2652 1.649190e-03 5.145750e-04 7.292122e-04 7.215901e-04 6.914305e-04 + 2653 2.195853e-03 1.664919e-03 2.580847e-03 1.783392e-03 1.786088e-03 + 2654 7.206156e-03 4.762300e-03 9.244967e-03 6.429757e-03 6.726987e-03 + 2655 1.718238e-03 2.090230e-03 2.643715e-03 2.710856e-03 1.991602e-03 + 2656 7.877774e-04 8.496973e-04 3.278745e-04 1.342792e-03 2.432636e-03 + 2657 2.056035e-03 1.536504e-03 1.381938e-03 1.053258e-03 4.176286e-04 + 2658 5.571542e-04 9.712769e-04 5.466208e-04 1.234040e-03 8.301243e-04 + 2659 1.376728e-03 3.024117e-03 1.610345e-03 1.914300e-03 2.058536e-03 + 2660 6.303681e-03 6.276008e-03 5.268060e-03 8.179667e-03 7.990408e-03 + 2661 2.692396e-03 2.580847e-03 3.594978e-03 2.908391e-03 2.786831e-03 + 2662 1.325862e-03 8.837548e-04 5.297446e-04 1.153209e-03 6.410009e-04 + 2663 1.267033e-03 1.073104e-03 1.244875e-03 2.552574e-03 1.037958e-03 + 2664 2.957570e-04 1.513877e-03 3.183810e-04 8.968764e-04 7.743740e-04 + 2665 1.521107e-03 1.887595e-03 1.453036e-03 1.265514e-03 2.532149e-03 + 2666 5.093496e-03 4.240611e-03 5.976762e-03 4.583658e-03 5.417985e-03 + 2667 2.486236e-03 1.106283e-03 1.612631e-03 1.767085e-03 2.831746e-03 + 2668 1.612205e-03 5.729094e-04 6.981893e-04 5.380917e-04 1.387659e-03 + 2669 1.764397e-03 8.486526e-04 9.125785e-04 1.000543e-03 5.137646e-04 + 2670 6.829747e-04 1.186113e-03 2.114849e-03 4.117762e-04 1.423746e-03 + 2671 1.972554e-03 8.382388e-04 1.241752e-03 3.970302e-04 5.452685e-04 + 2672 3.215439e-04 6.186446e-04 1.317621e-03 1.005695e-03 1.264630e-03 + 2673 7.954676e-04 5.060539e-04 4.597016e-04 1.073923e-03 1.924915e-03 + 2674 7.043339e-04 7.396763e-04 9.166277e-04 4.155172e-04 1.460204e-03 + 2675 7.897460e-04 8.575647e-04 1.361749e-03 4.225976e-04 4.579893e-04 + 2676 9.080326e-04 7.753749e-04 1.922926e-03 4.366049e-04 1.412450e-03 + 2677 1.226591e-03 7.866803e-04 1.392986e-03 9.444799e-04 1.450055e-03 + 2678 2.320396e-03 7.442083e-04 1.575804e-03 1.103001e-03 3.186255e-03 + 2679 1.009432e-03 2.576389e-03 9.067688e-04 8.375382e-04 1.232943e-03 + 2680 1.506128e-03 2.943034e-03 4.699018e-04 7.553649e-04 1.195370e-03 + 2681 1.009315e-03 7.207768e-04 5.487313e-04 8.673576e-04 2.244529e-03 + 2682 6.829350e-04 9.543431e-04 3.021941e-04 2.182260e-04 8.272919e-04 + 2683 1.155964e-03 2.656464e-03 1.379043e-03 6.349331e-04 1.736148e-03 + 2684 1.820568e-03 1.335461e-03 1.479239e-03 2.171245e-04 5.374743e-04 + 2685 1.316816e-03 1.444323e-04 1.687902e-03 9.312064e-04 3.672265e-04 + 2686 8.176373e-04 1.766646e-03 1.685655e-03 5.152801e-04 1.265295e-03 + 2687 6.483266e-04 1.197977e-04 3.108639e-04 6.126807e-04 4.634298e-04 + 2688 9.252049e-04 1.010894e-03 8.034139e-04 2.886436e-04 2.363023e-03 + 2689 1.129851e+00 1.146129e+00 1.193175e+00 1.237258e+00 1.136469e+00 + 2690 2.107751e+02 2.154053e+02 2.165633e+02 2.128866e+02 2.132100e+02 + 2691 3.317159e+02 3.389630e+02 3.408121e+02 3.340416e+02 3.347343e+02 + 2692 1.368925e+01 1.384686e+01 1.406790e+01 1.384153e+01 1.378633e+01 + 2693 5.196720e-02 6.369166e-02 3.892554e-02 3.887630e-02 6.662468e-02 + 2694 1.235752e-02 2.108358e-02 1.357371e-02 1.435331e-02 1.672009e-02 + 2695 1.040295e-01 9.971931e-02 1.277752e-01 1.069932e-01 1.038430e-01 + 2696 3.472216e-01 3.181150e-01 3.825721e-01 3.333432e-01 3.244588e-01 + 2697 5.161349e-02 4.994804e-02 5.513002e-02 5.284276e-02 5.972469e-02 + 2698 2.351999e-02 3.568722e-02 3.043659e-02 2.113361e-02 2.256292e-02 + 2699 1.157648e-02 7.106772e-03 8.395902e-03 9.916363e-03 8.201196e-03 + 2700 1.293334e-02 2.188682e-02 1.501620e-02 1.268600e-02 1.422253e-02 + 2701 1.152723e-02 6.635454e-03 8.361646e-03 1.318134e-02 9.305953e-03 + 2702 1.198804e-02 1.179074e-02 1.323538e-02 1.095515e-02 9.887961e-03 + 2703 1.089436e-02 1.511566e-02 7.976391e-03 1.251379e-02 1.071423e-02 + 2704 6.455578e-03 5.553024e-03 8.778025e-03 4.726585e-03 4.591137e-03 + 2705 6.377392e-03 4.979231e-03 2.605089e-03 4.128941e-03 6.542819e-03 + 2706 4.868732e-03 4.777729e-03 6.394012e-03 6.483860e-03 4.189928e-03 + 2707 6.314966e-03 7.120438e-03 7.507905e-03 5.405191e-03 5.995505e-03 + 2708 4.364613e-03 4.980153e-03 3.113914e-03 5.201121e-03 5.691571e-03 + 2709 4.129656e-03 3.061053e-03 6.561177e-03 2.610840e-03 4.507515e-03 + 2710 3.412102e-03 6.441467e-03 4.253963e-03 5.916300e-03 3.275395e-03 + 2711 2.651480e-03 1.471487e-03 2.064054e-03 1.623867e-03 3.654955e-03 + 2712 4.505045e-03 7.725291e-03 6.909363e-03 4.989369e-03 4.715715e-03 + 2713 1.888209e-03 1.417550e-03 3.109213e-03 2.130197e-03 7.190469e-04 + 2714 4.397944e-03 4.884377e-03 6.612040e-03 3.489602e-03 5.183356e-03 + 2715 2.989252e-03 3.476272e-03 3.616968e-03 4.867932e-03 2.021026e-03 + 2716 1.495066e-03 6.950160e-04 3.337629e-03 1.160588e-03 2.106235e-03 + 2717 4.784768e-03 4.708340e-03 5.750827e-03 5.185014e-03 5.349753e-03 + 2718 2.881781e-03 1.624707e-03 1.389947e-03 3.597464e-03 2.334700e-03 + 2719 4.551672e-03 5.635998e-03 3.737573e-03 3.339594e-03 3.011676e-03 + 2720 2.831559e-03 4.363715e-03 2.793801e-03 2.888390e-03 3.678891e-03 + 2721 6.666811e-03 5.257121e-03 3.039649e-03 3.607766e-03 4.123428e-03 + 2722 3.442324e-03 1.364980e-03 2.008935e-03 1.887655e-03 3.354693e-03 + 2723 1.223326e-03 1.129526e-03 1.274721e-03 8.726490e-04 8.427574e-04 + 2724 5.215919e-03 2.963217e-03 4.046300e-03 3.416634e-03 4.612588e-03 + 2725 2.125583e-03 8.355006e-04 2.134939e-03 1.755451e-03 3.013955e-04 + 2726 4.534476e-03 3.907596e-03 3.556743e-03 4.360097e-03 3.856300e-03 + 2727 1.849547e-03 3.536599e-03 1.571194e-03 1.527624e-03 3.218046e-03 + 2728 2.360019e-03 2.282707e-03 1.623757e-03 1.806656e-03 2.801537e-03 + 2729 3.796177e-03 4.952699e-03 5.136025e-04 2.350568e-03 1.940033e-03 + 2730 2.879470e-03 9.380843e-04 2.362000e-03 6.529500e-04 1.030436e-03 + 2731 1.504851e-03 2.409413e-03 8.982943e-04 1.720436e-03 3.528920e-03 + 2732 2.044829e-03 3.672180e-04 2.790818e-03 9.884385e-04 9.777358e-04 + 2733 1.232097e-03 4.706671e-03 2.674431e-03 2.215195e-03 5.905924e-04 + 2734 2.590742e-03 1.176435e-03 2.816273e-03 1.945879e-03 2.264323e-03 + 2735 6.655974e-04 8.954857e-04 1.532009e-03 1.161708e-03 1.625630e-04 + 2736 1.581672e-03 1.752301e-03 4.386491e-04 1.190817e-03 2.445016e-03 + 2737 7.713800e-02 7.751283e-02 8.272631e-02 7.782068e-02 8.695617e-02 + 2738 4.167086e-01 4.063406e-01 4.291890e-01 4.144262e-01 4.385441e-01 + 2739 8.159484e-02 7.270244e-02 7.406747e-02 7.289376e-02 7.474236e-02 + 2740 7.197277e-04 1.330798e-03 2.942238e-03 6.892739e-04 1.794190e-03 + 2741 1.426929e-03 1.423493e-03 2.071404e-03 3.184845e-03 1.629175e-03 + 2742 1.925672e-03 2.669044e-03 2.144052e-03 1.463280e-03 9.910528e-04 + 2743 1.137756e-03 1.768776e-03 1.661654e-03 1.370541e-03 2.235160e-03 + 2744 4.015656e-03 2.670352e-03 1.486802e-03 2.910045e-03 1.911329e-03 + 2745 2.482952e-03 2.044538e-03 6.080123e-04 1.191291e-03 7.560048e-04 + 2746 1.365011e-03 2.403894e-03 1.227187e-03 1.579620e-03 1.156924e-03 + 2747 7.866122e-04 2.932440e-03 1.404602e-03 5.472887e-04 6.745393e-04 + 2748 1.580239e-03 2.127068e-03 1.730783e-03 2.108492e-03 1.531846e-03 + 2749 1.102761e-03 2.403995e-03 9.134783e-04 1.210029e-03 1.055808e-03 + 2750 8.619613e-04 2.716244e-03 1.744776e-03 7.790183e-04 1.592683e-03 + 2751 1.211970e-03 2.829951e-03 2.597561e-03 1.170718e-03 7.255663e-04 + 2752 8.552253e-04 9.055055e-04 2.128779e-03 8.847877e-04 1.165389e-03 + 2753 4.397108e-04 6.952200e-04 1.450484e-03 3.979191e-04 7.728659e-04 + 2754 1.321197e-03 5.876829e-04 1.604303e-03 6.271424e-04 7.966730e-04 + 2755 1.615857e-03 7.171811e-04 1.319479e-03 1.109641e-03 7.220907e-04 + 2756 2.323578e-03 4.091621e-04 8.046209e-04 6.951299e-04 1.052588e-03 + 2757 6.255049e-04 4.763351e-04 6.433645e-04 1.180286e-03 1.231924e-03 + 2758 2.401606e-03 1.891684e-03 3.365268e-03 1.865480e-03 2.213752e-03 + 2759 3.586895e-04 8.586712e-04 1.672464e-03 6.056814e-04 2.639439e-04 + 2760 2.037565e-03 1.543459e-03 2.408176e-03 1.788788e-03 8.511872e-04 + 2761 7.381184e-04 6.454785e-04 7.532357e-04 3.264449e-04 4.994538e-04 + 2762 2.022236e-03 5.553709e-04 8.827671e-04 7.504717e-04 8.965327e-04 + 2763 1.146719e-03 9.191187e-04 3.858381e-04 8.115912e-04 2.631033e-04 + 2764 1.383629e-03 1.564438e-03 1.583942e-03 3.181964e-03 1.895806e-03 + 2765 7.055126e-04 5.819061e-04 8.178204e-04 5.460964e-04 8.314511e-04 + 2766 5.788650e-04 1.032481e-03 3.232000e-04 8.733405e-04 8.777700e-04 + 2767 2.153837e-03 7.649808e-04 7.125325e-04 2.388005e-03 8.750562e-04 + 2768 9.700344e-04 1.207657e-03 5.080424e-04 1.851654e-03 4.898144e-04 + 2769 4.973651e-04 5.805343e-04 1.135910e-03 2.203943e-03 1.740091e-03 + 2770 1.763044e-03 1.066000e-03 1.441371e-03 2.287584e-03 1.318778e-03 + 2771 6.494173e-04 1.115172e-03 5.692626e-04 6.561074e-04 7.667034e-04 + 2772 1.963435e-03 5.617063e-04 1.006601e-03 9.505304e-04 2.073655e-03 + 2773 1.135390e-03 1.383068e-03 1.228397e-03 7.517514e-04 7.475886e-04 + 2774 5.263598e-04 1.272436e-03 3.033141e-03 1.918299e-03 1.356331e-03 + 2775 1.270803e-03 5.378149e-04 3.778283e-04 2.073227e-04 2.258735e-04 + 2776 1.093681e-03 2.531159e-03 6.003812e-04 9.746232e-04 1.818858e-03 + 2777 1.279816e-03 2.037551e-03 1.205626e-03 1.689182e-03 4.325497e-04 + 2778 2.010907e-03 3.659830e-03 1.700634e-03 3.261452e-03 1.599864e-03 + 2779 2.908356e-04 8.237394e-04 5.405095e-04 3.286780e-04 6.011794e-04 + 2780 3.799279e-04 9.712951e-04 1.231431e-03 3.364182e-04 6.130076e-04 + 2781 1.657902e-03 9.948720e-04 2.802720e-03 9.759084e-04 2.295104e-03 + 2782 7.217241e-03 7.406769e-03 1.022446e-02 4.977764e-03 9.620435e-03 + 2783 3.481574e-03 4.170617e-03 3.015950e-03 2.262605e-03 3.063750e-03 + 2784 2.879617e-04 8.711830e-04 9.679626e-04 5.963485e-04 6.543374e-04 + 2785 2.353034e-03 2.345629e-03 1.023368e-03 6.022251e-04 1.411372e-03 + 2786 2.000673e-03 2.145422e-03 7.303005e-04 9.565314e-04 1.262458e-03 + 2787 2.391197e-03 2.236674e-03 1.954544e-03 2.733400e-03 1.862259e-03 + 2788 1.159545e-02 9.352961e-03 7.710367e-03 9.110850e-03 9.473063e-03 + 2789 3.337496e-03 2.116463e-03 1.273756e-03 2.798649e-03 3.264231e-03 + 2790 1.483239e-03 1.771772e-03 9.599428e-04 1.407059e-03 1.648409e-03 + 2791 2.340651e-04 9.154437e-04 2.943560e-04 1.077676e-03 1.391656e-03 + 2792 3.593425e-04 5.867154e-04 7.105292e-04 7.964936e-04 7.993520e-04 + 2793 2.183661e-03 2.732431e-03 3.239282e-03 1.716340e-03 2.637883e-03 + 2794 4.104228e-03 6.569056e-03 7.699812e-03 4.480408e-03 1.035629e-02 + 2795 2.030602e-03 2.215855e-03 1.149791e-03 1.146720e-03 4.261186e-03 + 2796 7.750827e-04 7.563229e-04 2.267615e-03 5.924139e-04 9.869582e-04 + 2797 5.345609e-04 5.565360e-04 5.672021e-04 1.373656e-03 6.525472e-04 + 2798 3.538392e-04 1.823890e-03 1.269563e-03 4.689074e-04 1.647940e-03 + 2799 1.144807e-03 6.437900e-04 1.466865e-03 1.383477e-03 7.163073e-04 + 2800 4.753393e-04 1.678471e-03 1.059815e-03 1.755841e-03 1.172830e-03 + 2801 4.626999e-04 3.416837e-04 1.504442e-04 1.911604e-03 3.769537e-04 + 2802 1.095595e-03 1.491223e-03 8.351547e-04 2.578274e-03 9.393026e-04 + 2803 4.109245e-04 9.945164e-04 9.818155e-04 1.049094e-03 6.817933e-04 + 2804 9.744383e-04 1.667796e-03 1.871011e-03 5.255265e-04 1.401286e-03 + 2805 6.506889e-04 5.198643e-04 6.674193e-04 3.723815e-04 1.050751e-03 + 2806 1.437113e-03 1.622075e-03 1.949172e-03 2.949602e-03 2.559139e-03 + 2807 3.186670e-04 1.316965e-03 2.057643e-04 1.223224e-03 4.090695e-04 + 2808 1.262448e-03 1.143394e-03 1.016081e-03 9.663648e-04 4.332643e-04 + 2809 5.734088e-04 6.201167e-04 9.614485e-04 5.179837e-04 1.663832e-03 + 2810 1.763067e-03 4.483693e-04 6.708216e-04 1.075222e-03 1.071953e-03 + 2811 4.160095e-04 9.033242e-04 2.277880e-03 3.908015e-04 6.553716e-04 + 2812 3.764538e-04 9.364673e-04 1.186162e-03 8.992820e-04 1.183461e-03 + 2813 6.665842e-04 7.733748e-04 2.715293e-04 1.533478e-04 7.875049e-04 + 2814 6.272744e-04 2.322965e-04 1.167015e-03 4.908606e-04 1.088177e-03 + 2815 6.504700e-04 1.499358e-03 4.228710e-04 7.904399e-04 1.104861e-04 + 2816 1.305427e-04 4.665422e-04 6.551912e-04 1.316343e-03 5.171035e-04 + 2817 1.369218e+00 1.411210e+00 1.319510e+00 1.598576e+00 1.575562e+00 + 2818 2.133320e+02 2.167401e+02 2.158975e+02 2.117350e+02 2.146477e+02 + 2819 3.335013e+02 3.414205e+02 3.389204e+02 3.326462e+02 3.369419e+02 + 2820 1.348664e+01 1.398958e+01 1.372096e+01 1.380188e+01 1.366650e+01 + 2821 2.194525e-02 1.179983e-02 1.743474e-02 1.466869e-02 1.953609e-02 + 2822 4.461726e-02 4.464722e-02 2.755781e-02 5.151286e-02 3.815227e-02 + 2823 1.126716e-01 8.558890e-02 1.199218e-01 1.074495e-01 1.005351e-01 + 2824 4.003263e-01 3.290539e-01 3.834671e-01 3.910449e-01 3.441188e-01 + 2825 6.750841e-02 4.837757e-02 6.476430e-02 5.895130e-02 5.968026e-02 + 2826 2.283951e-02 1.388944e-02 1.822837e-02 1.411675e-02 1.305300e-02 + 2827 1.231230e-02 2.798334e-02 1.743524e-02 2.040814e-02 2.366751e-02 + 2828 1.247457e-02 9.453132e-03 1.422349e-02 1.205285e-02 8.604746e-03 + 2829 1.890311e-02 2.011990e-02 1.891844e-02 2.064960e-02 2.270774e-02 + 2830 1.295317e-02 1.116289e-02 1.754224e-02 8.531599e-03 6.777350e-03 + 2831 1.439062e-02 1.002151e-02 1.064385e-02 1.492965e-02 8.721994e-03 + 2832 4.571533e-03 9.286393e-03 1.412673e-02 4.755656e-03 9.821280e-03 + 2833 7.371861e-03 4.993453e-03 4.910711e-03 7.943425e-03 8.812657e-03 + 2834 8.154607e-03 1.038079e-02 8.723032e-03 4.432155e-03 5.959017e-03 + 2835 8.111308e-03 6.721399e-03 7.255126e-03 1.222794e-02 5.700532e-03 + 2836 3.910083e-03 3.265514e-03 4.409097e-03 3.260006e-03 4.413980e-03 + 2837 5.945426e-03 6.062762e-03 5.906428e-03 7.623170e-03 4.294134e-03 + 2838 5.367000e-03 8.065865e-03 4.992647e-03 4.716140e-03 3.683512e-03 + 2839 3.667416e-03 4.128994e-03 3.185333e-03 2.110327e-03 2.871252e-03 + 2840 4.664586e-03 7.349504e-03 5.405551e-03 8.577034e-03 4.437027e-03 + 2841 2.771814e-03 4.216885e-03 1.950547e-03 5.521997e-03 4.486104e-03 + 2842 5.692594e-03 4.889209e-03 5.429056e-03 3.032084e-03 4.846283e-03 + 2843 2.501330e-03 1.994850e-03 3.763443e-03 1.512705e-03 2.426693e-03 + 2844 2.941522e-03 8.093725e-03 4.481368e-03 5.074092e-03 3.755321e-03 + 2845 1.399917e-03 1.355223e-03 8.027788e-04 2.870020e-03 3.607235e-03 + 2846 7.551521e-03 7.193327e-03 5.788471e-03 7.138324e-03 6.864302e-03 + 2847 1.789586e-03 9.845324e-04 2.151002e-03 1.194665e-03 1.970316e-03 + 2848 5.745378e-03 3.700113e-03 5.666002e-03 5.845998e-03 7.368532e-03 + 2849 2.088106e-03 3.608303e-03 1.930050e-03 2.384287e-03 2.076709e-03 + 2850 3.696661e-03 1.374257e-03 4.552803e-03 2.753311e-03 5.635492e-03 + 2851 2.216523e-03 1.937119e-03 9.191050e-04 1.028764e-03 1.044244e-03 + 2852 2.983383e-03 1.704988e-03 3.534558e-03 2.542370e-03 2.743045e-03 + 2853 3.275752e-03 3.321671e-03 3.492018e-04 3.552577e-03 1.705182e-03 + 2854 3.156209e-03 3.700307e-03 2.889898e-03 5.924021e-03 2.586301e-03 + 2855 4.319131e-03 2.394333e-03 2.156507e-03 3.911055e-03 2.647649e-03 + 2856 1.461422e-03 3.374690e-03 2.582028e-03 1.599150e-03 1.720223e-03 + 2857 1.742671e-03 2.174146e-03 1.929579e-03 1.802162e-03 6.316906e-04 + 2858 3.403317e-03 1.939769e-03 1.543723e-03 3.886566e-03 3.292741e-03 + 2859 1.035450e-03 1.193097e-03 1.918087e-03 9.459495e-04 5.776635e-04 + 2860 2.861123e-03 1.265741e-03 2.144409e-03 1.897757e-03 1.784069e-03 + 2861 1.606777e-03 2.208559e-03 1.111984e-03 1.731894e-03 2.294407e-03 + 2862 3.817052e-04 1.162888e-03 2.488645e-03 1.825119e-03 6.181206e-04 + 2863 1.646393e-03 3.359042e-03 2.173081e-03 3.040926e-03 3.445355e-03 + 2864 1.819044e-03 1.224395e-03 3.874845e-03 1.608378e-03 7.754617e-04 + 2865 7.555369e-02 7.217451e-02 8.389470e-02 7.275370e-02 7.768002e-02 + 2866 3.973676e-01 4.018429e-01 4.368584e-01 4.213171e-01 4.271551e-01 + 2867 7.586323e-02 7.629985e-02 7.882468e-02 7.953508e-02 7.887424e-02 + 2868 2.218207e-03 8.667513e-04 1.686477e-03 1.949447e-03 6.865118e-04 + 2869 3.591840e-03 2.497271e-03 8.776669e-04 2.341910e-03 2.143620e-03 + 2870 3.817151e-04 9.545245e-04 9.461421e-04 7.386007e-04 7.779280e-04 + 2871 1.203763e-03 7.350995e-04 6.595098e-04 1.038926e-03 5.920247e-04 + 2872 3.952491e-03 2.860744e-03 1.485457e-03 1.593939e-03 1.785857e-03 + 2873 1.557258e-03 6.936638e-04 9.529580e-04 2.012066e-03 9.957199e-04 + 2874 2.632661e-03 1.869038e-03 7.522992e-04 9.255767e-04 1.601381e-03 + 2875 1.917289e-03 1.935389e-03 1.426893e-03 1.481979e-03 2.686718e-03 + 2876 1.266268e-03 7.407785e-04 1.204804e-03 1.157941e-03 1.016692e-03 + 2877 1.542632e-03 2.362872e-03 1.378530e-03 2.767440e-03 3.303801e-04 + 2878 1.356325e-03 1.365576e-03 1.195085e-03 1.311847e-03 8.068947e-04 + 2879 1.597678e-03 4.981231e-04 1.955987e-03 1.823058e-03 1.634709e-03 + 2880 1.639269e-03 2.259252e-03 5.100433e-04 4.088254e-04 5.040790e-04 + 2881 8.664831e-04 8.592766e-04 2.897544e-03 1.789855e-03 1.505634e-03 + 2882 8.059729e-04 1.017880e-03 3.241504e-04 3.164418e-04 9.359448e-05 + 2883 2.363735e-03 1.928564e-03 2.648675e-03 3.067777e-03 1.961935e-03 + 2884 5.548503e-04 3.713677e-04 1.718354e-03 4.987673e-04 4.815086e-04 + 2885 1.380045e-03 2.449455e-03 9.740464e-04 2.150506e-03 1.534683e-03 + 2886 2.313510e-03 8.398732e-04 1.137352e-03 8.207165e-04 4.079419e-04 + 2887 2.540213e-03 6.966139e-04 1.934687e-03 2.029771e-03 1.800586e-03 + 2888 1.346932e-03 2.102608e-03 1.626947e-03 1.299980e-03 2.008752e-03 + 2889 1.110284e-03 4.317125e-04 5.644982e-05 7.107577e-04 3.367625e-04 + 2890 2.496070e-03 2.542515e-03 2.050985e-03 4.291305e-03 1.693060e-03 + 2891 7.976730e-04 1.264011e-03 5.203448e-04 1.219610e-03 9.543012e-04 + 2892 8.463830e-04 1.568564e-03 1.064815e-03 1.639797e-03 6.772273e-04 + 2893 7.749720e-04 1.923355e-03 5.631091e-04 1.067333e-03 1.155867e-03 + 2894 9.454160e-04 4.512432e-04 1.643695e-03 1.071208e-03 6.040186e-04 + 2895 6.208515e-04 3.172936e-04 1.268650e-03 2.843573e-04 2.942110e-04 + 2896 4.484226e-05 9.124473e-04 9.432173e-04 1.107034e-03 1.477118e-03 + 2897 8.221890e-04 4.059864e-04 5.941224e-04 1.745993e-03 6.530312e-04 + 2898 1.546144e-03 6.675033e-04 1.266111e-03 1.219895e-03 3.085326e-03 + 2899 2.180651e-04 6.968268e-04 1.440238e-03 1.059780e-03 1.667870e-03 + 2900 4.695240e-04 1.353206e-03 1.044008e-03 1.437181e-03 3.477691e-03 + 2901 1.149567e-03 2.327769e-03 1.145744e-03 1.625254e-03 2.204656e-03 + 2902 8.633571e-04 7.793205e-04 1.473755e-03 2.785784e-03 1.068562e-03 + 2903 7.829227e-04 1.093599e-03 6.297241e-04 4.174120e-04 5.921244e-04 + 2904 1.354545e-03 8.071274e-04 1.736168e-03 1.839612e-03 1.293380e-03 + 2905 4.598335e-04 1.121412e-03 9.755272e-04 5.605377e-04 9.533146e-04 + 2906 2.526994e-03 5.581049e-04 1.177804e-03 1.158010e-03 1.257637e-03 + 2907 6.725293e-04 6.607547e-04 5.476879e-04 5.023747e-04 1.860119e-04 + 2908 1.962661e-03 6.424626e-04 3.993480e-04 1.041949e-03 1.784594e-03 + 2909 1.663268e-03 1.800902e-03 1.761918e-03 1.658837e-03 1.800900e-03 + 2910 8.350649e-03 5.493490e-03 4.540713e-03 6.549690e-03 6.915028e-03 + 2911 1.799504e-03 1.529541e-03 1.562414e-03 6.850877e-04 2.297041e-03 + 2912 2.238359e-04 1.019964e-03 7.170450e-04 2.907264e-04 2.973564e-04 + 2913 1.493576e-03 1.770646e-03 1.827429e-03 1.322599e-03 1.515230e-03 + 2914 6.480137e-04 8.183143e-04 1.489225e-03 8.095890e-04 1.601900e-03 + 2915 2.680977e-03 2.023656e-03 2.759230e-03 2.210243e-03 2.064363e-03 + 2916 1.060554e-02 1.202098e-02 8.244628e-03 1.302191e-02 7.453888e-03 + 2917 3.194306e-03 2.848148e-03 2.218393e-03 5.098091e-03 3.196765e-03 + 2918 1.083751e-03 1.555169e-03 1.381395e-03 8.812780e-04 1.174734e-03 + 2919 9.772133e-04 6.559678e-04 3.376193e-04 1.208910e-03 8.697801e-04 + 2920 1.244670e-03 7.314162e-04 2.561828e-03 1.718340e-03 6.912402e-04 + 2921 7.351428e-04 1.349770e-03 4.207286e-04 9.580311e-04 1.237028e-03 + 2922 6.096833e-03 6.255803e-03 5.458898e-03 4.265075e-03 5.432700e-03 + 2923 2.092106e-03 3.355855e-03 3.187660e-03 2.988377e-03 1.920110e-03 + 2924 7.951862e-04 2.439547e-03 7.463702e-04 1.305126e-03 1.648820e-03 + 2925 4.177067e-04 5.068894e-04 1.785966e-03 8.026067e-04 5.190376e-04 + 2926 1.563769e-03 8.247226e-04 3.110634e-03 2.029850e-03 1.175933e-03 + 2927 9.870975e-04 5.345238e-04 3.826675e-03 8.760593e-04 1.724970e-03 + 2928 1.717643e-03 1.349453e-03 2.402262e-03 1.114013e-03 1.263502e-03 + 2929 7.649567e-04 5.863124e-04 2.155219e-03 2.800805e-04 8.720284e-04 + 2930 1.596946e-04 2.583361e-04 3.340152e-04 7.431679e-04 3.664594e-04 + 2931 8.379834e-04 1.378807e-03 1.277705e-03 4.435183e-04 3.702667e-04 + 2932 5.753196e-04 2.419533e-03 1.062713e-03 7.174314e-04 9.403998e-04 + 2933 1.875306e-03 1.014152e-03 1.329767e-03 1.106390e-03 4.249874e-04 + 2934 2.953478e-03 2.173235e-03 1.495530e-03 1.755021e-03 8.618777e-04 + 2935 1.096422e-03 1.260004e-03 2.508291e-04 2.599667e-03 1.140705e-03 + 2936 6.001074e-04 4.735923e-04 1.153790e-03 1.673557e-03 1.070927e-03 + 2937 8.580295e-04 6.023161e-04 4.857049e-04 5.485817e-04 3.772097e-04 + 2938 1.231080e-04 2.429557e-04 1.477983e-03 1.102688e-03 9.634145e-04 + 2939 1.019665e-03 5.825158e-04 5.205227e-04 3.128622e-04 9.523285e-04 + 2940 7.918450e-04 1.116483e-03 1.400981e-03 4.420289e-04 1.009491e-03 + 2941 4.342724e-04 6.584423e-04 6.695615e-04 9.168570e-04 1.052805e-03 + 2942 1.277675e-03 1.232207e-03 5.542124e-04 7.915182e-04 2.998820e-04 + 2943 7.808376e-04 4.931013e-04 3.656270e-04 1.386510e-03 7.651058e-04 + 2944 4.640018e-04 6.034919e-04 7.376207e-04 3.914492e-04 5.923830e-04 + 2945 1.251891e+00 1.333228e+00 1.251163e+00 1.034533e+00 1.167137e+00 + 2946 2.112656e+02 2.175903e+02 2.158549e+02 2.115960e+02 2.142145e+02 + 2947 3.315199e+02 3.394292e+02 3.383059e+02 3.318438e+02 3.354064e+02 + 2948 1.382343e+01 1.418358e+01 1.395970e+01 1.369894e+01 1.395010e+01 + 2949 4.323681e-02 4.443591e-02 3.888376e-02 4.518231e-02 4.245670e-02 + 2950 1.448748e-02 2.509232e-02 1.196995e-02 2.371401e-02 2.464839e-02 + 2951 1.275513e-01 9.961922e-02 1.295471e-01 1.015624e-01 1.031389e-01 + 2952 3.926742e-01 3.349952e-01 4.259241e-01 3.202468e-01 3.604922e-01 + 2953 6.255239e-02 6.002163e-02 6.344867e-02 4.950529e-02 6.429650e-02 + 2954 1.567561e-02 1.699410e-02 1.957664e-02 1.820120e-02 1.421792e-02 + 2955 1.460148e-02 1.683728e-02 1.218092e-02 1.211555e-02 1.126699e-02 + 2956 7.621873e-03 8.820894e-03 9.600127e-03 8.830255e-03 7.184263e-03 + 2957 2.363295e-02 3.556208e-02 2.750644e-02 2.801531e-02 3.080665e-02 + 2958 5.995251e-03 2.698771e-03 5.339130e-03 2.821054e-03 2.141779e-03 + 2959 5.452186e-03 1.038750e-02 7.765447e-03 9.053573e-03 1.300016e-02 + 2960 9.857498e-03 7.901343e-03 8.124865e-03 4.846513e-03 5.787303e-03 + 2961 5.155041e-03 5.837287e-03 4.713233e-03 7.536771e-03 4.063764e-03 + 2962 1.047789e-02 1.505615e-02 7.076033e-03 7.380830e-03 6.266571e-03 + 2963 2.772952e-03 3.125303e-03 6.785393e-03 4.031926e-03 4.446486e-03 + 2964 3.902470e-03 6.896437e-03 3.024606e-03 3.875916e-03 2.599618e-03 + 2965 4.061591e-03 3.034685e-03 2.916252e-03 2.470746e-03 5.951190e-03 + 2966 6.065846e-03 1.009603e-02 3.299042e-03 6.634849e-03 2.905178e-03 + 2967 3.627522e-03 6.254962e-03 5.775996e-03 4.460631e-03 5.496966e-03 + 2968 2.463310e-03 2.139403e-03 1.851678e-03 5.413813e-03 3.396674e-03 + 2969 3.454783e-03 3.579326e-03 4.994789e-03 4.135936e-03 3.215177e-03 + 2970 2.493018e-03 2.135453e-03 3.099462e-03 1.511104e-03 3.120433e-03 + 2971 5.501369e-03 3.679519e-03 5.404429e-03 4.888594e-03 7.258224e-03 + 2972 3.985476e-03 1.952489e-03 3.679904e-03 1.768801e-03 2.360297e-03 + 2973 2.103307e-03 2.495777e-03 2.034582e-03 1.649328e-03 4.100405e-03 + 2974 3.824891e-03 1.762826e-03 1.770472e-03 1.687466e-03 1.950357e-03 + 2975 2.965685e-03 6.039138e-03 6.395898e-03 7.626003e-03 3.835243e-03 + 2976 1.880391e-03 1.689683e-03 1.474436e-03 2.321981e-03 1.460405e-03 + 2977 2.993411e-03 3.778329e-03 4.819057e-03 5.333184e-03 5.070527e-03 + 2978 7.808728e-04 2.109300e-03 2.309178e-03 3.179095e-03 1.440918e-03 + 2979 2.082970e-03 2.145551e-03 1.331728e-03 2.043304e-03 2.803206e-03 + 2980 2.167492e-03 3.281397e-03 2.138364e-03 2.041477e-03 7.910990e-04 + 2981 2.056141e-03 1.374925e-03 1.080123e-03 1.974983e-03 5.041809e-03 + 2982 1.310772e-03 1.979881e-03 1.398918e-03 1.618789e-03 1.504309e-03 + 2983 4.553626e-03 4.799636e-03 3.164274e-03 2.143758e-03 3.890363e-03 + 2984 5.467979e-03 4.386337e-03 1.854490e-03 1.634701e-03 4.477822e-03 + 2985 2.545862e-03 2.360359e-03 1.339707e-03 2.175506e-03 2.402884e-03 + 2986 2.307092e-03 2.850334e-03 1.650988e-03 6.339746e-04 5.282291e-04 + 2987 1.120634e-03 1.787183e-03 1.079439e-03 1.761303e-03 2.725482e-03 + 2988 1.290034e-03 3.408984e-03 1.516933e-03 1.396741e-03 1.313192e-03 + 2989 1.560569e-03 1.677624e-03 9.085463e-04 3.285562e-03 2.667083e-03 + 2990 8.222741e-04 1.020444e-03 1.197616e-03 1.360933e-03 8.713683e-04 + 2991 1.728563e-03 2.913139e-03 2.810371e-03 4.606080e-03 9.199921e-04 + 2992 2.274759e-03 3.985569e-04 7.625478e-04 1.091098e-03 2.309650e-03 + 2993 6.999456e-02 7.705342e-02 7.435937e-02 8.637066e-02 7.791903e-02 + 2994 4.055042e-01 4.227555e-01 3.958111e-01 4.084541e-01 3.967516e-01 + 2995 7.102265e-02 7.418070e-02 6.786564e-02 6.970613e-02 7.153961e-02 + 2996 2.334279e-03 1.846189e-03 2.535844e-03 1.824970e-03 1.310856e-03 + 2997 1.491995e-03 1.587626e-03 2.028803e-03 1.656913e-03 1.034231e-03 + 2998 9.017922e-04 2.069675e-03 1.416321e-03 1.755674e-03 3.062081e-03 + 2999 1.746039e-03 8.465063e-04 1.717392e-03 1.767580e-03 8.293205e-04 + 3000 1.275612e-03 1.010312e-03 1.321070e-03 8.036945e-04 1.392418e-03 + 3001 1.789898e-03 3.047513e-03 3.542221e-04 2.414364e-03 1.048207e-03 + 3002 1.053814e-03 4.376075e-04 1.579551e-03 7.868403e-04 6.736061e-04 + 3003 9.977256e-04 1.057268e-03 8.384342e-04 8.996895e-04 1.339144e-03 + 3004 1.310806e-03 1.170434e-03 1.430541e-03 1.038545e-03 1.400797e-03 + 3005 3.779446e-04 1.170787e-03 8.668618e-04 9.415220e-04 1.717924e-03 + 3006 1.944046e-03 1.927230e-03 1.820969e-03 1.672369e-03 8.217709e-04 + 3007 2.219223e-03 7.724292e-04 2.282918e-03 2.753165e-03 1.924710e-03 + 3008 1.344058e-03 2.049063e-03 2.185087e-03 1.673816e-03 1.303044e-03 + 3009 2.210505e-03 2.315141e-03 2.286199e-03 1.984644e-03 9.692514e-04 + 3010 1.797754e-03 8.954448e-04 7.659852e-04 6.929525e-04 6.009633e-04 + 3011 1.176560e-03 1.348830e-03 6.450737e-04 6.718957e-04 1.653531e-03 + 3012 9.836048e-04 7.223030e-04 1.007713e-03 6.748629e-04 1.594266e-03 + 3013 1.114981e-03 1.961217e-03 1.904363e-03 1.961370e-03 8.210929e-04 + 3014 2.498081e-03 1.264738e-03 1.848031e-03 1.567409e-03 1.076128e-03 + 3015 8.615059e-04 1.078113e-03 1.348061e-03 1.092697e-03 1.021145e-03 + 3016 1.001907e-03 1.212648e-03 1.574734e-03 1.583127e-03 1.637022e-03 + 3017 7.763929e-04 1.133271e-03 6.119359e-04 6.621206e-04 6.226472e-04 + 3018 1.374621e-03 7.140149e-04 1.345224e-03 5.657244e-04 1.770711e-03 + 3019 5.499449e-04 1.705237e-03 6.725144e-04 1.342020e-03 1.345775e-03 + 3020 2.107079e-03 2.783607e-03 1.213730e-03 1.130296e-03 1.202636e-03 + 3021 2.741587e-03 6.019922e-04 2.741088e-03 1.998136e-03 2.391746e-03 + 3022 1.302489e-03 2.161154e-03 1.162093e-03 1.425426e-03 9.496833e-04 + 3023 5.029010e-04 1.079060e-03 5.067105e-04 7.330606e-04 7.397770e-04 + 3024 8.763681e-04 1.728406e-03 4.363253e-04 6.753898e-04 5.419814e-04 + 3025 4.405342e-04 1.311118e-03 7.801231e-04 1.861629e-03 8.132024e-04 + 3026 1.144434e-03 7.120483e-04 3.149244e-04 1.242965e-03 9.400983e-04 + 3027 9.484306e-04 8.076702e-04 1.546092e-03 1.873873e-03 2.363362e-03 + 3028 8.311581e-04 9.852867e-04 9.491556e-04 1.125112e-03 2.129868e-03 + 3029 4.434484e-04 4.567889e-04 2.712574e-04 4.673576e-04 4.537297e-04 + 3030 4.119909e-04 2.214743e-03 8.559202e-04 4.611178e-04 9.527836e-04 + 3031 1.571924e-03 4.264356e-04 1.333497e-03 4.450661e-04 9.276064e-04 + 3032 9.304535e-04 1.064056e-03 1.462088e-03 4.695299e-04 1.546055e-03 + 3033 2.984577e-04 1.044297e-03 9.701997e-04 1.463366e-03 1.816410e-03 + 3034 5.107213e-04 6.877986e-04 1.711372e-03 3.817891e-04 8.235249e-04 + 3035 3.550257e-04 2.938198e-04 9.416930e-04 6.608963e-04 7.150289e-04 + 3036 6.947547e-04 2.544300e-03 1.537034e-03 1.962795e-03 1.720201e-03 + 3037 5.984986e-04 6.133400e-04 2.301095e-03 1.832262e-03 7.816353e-04 + 3038 1.754935e-03 4.651515e-03 3.571589e-03 2.637217e-03 4.023924e-03 + 3039 1.262230e-03 8.224218e-04 1.004977e-03 1.242460e-03 1.472016e-03 + 3040 1.761189e-03 1.331640e-03 1.130839e-03 7.190905e-04 4.825490e-04 + 3041 7.452777e-04 3.269921e-04 7.269890e-04 9.351532e-04 9.305893e-04 + 3042 1.016628e-03 1.065450e-03 1.272001e-03 1.072902e-03 1.252943e-03 + 3043 3.165649e-03 1.059794e-03 2.460121e-03 2.820633e-03 3.188330e-03 + 3044 9.001109e-03 8.170937e-03 7.537828e-03 1.113611e-02 1.124594e-02 + 3045 2.525306e-03 1.689147e-03 2.243737e-03 1.887416e-03 2.328529e-03 + 3046 8.421168e-04 8.462248e-04 1.423287e-03 1.991274e-04 9.451452e-04 + 3047 1.632033e-03 1.158902e-03 1.233582e-03 8.493742e-04 2.915510e-04 + 3048 1.027045e-03 3.205986e-04 4.837820e-04 1.055106e-04 1.020288e-03 + 3049 1.222940e-03 1.467691e-03 3.634318e-03 1.594020e-03 7.996655e-04 + 3050 3.002680e-03 3.915638e-03 5.579583e-03 4.514148e-03 3.209826e-03 + 3051 1.884050e-03 2.546682e-03 1.859662e-03 2.344884e-03 8.814517e-04 + 3052 1.372918e-03 4.505722e-04 8.868036e-04 3.074974e-04 2.963693e-04 + 3053 4.867012e-04 7.099556e-04 6.194423e-04 6.951310e-04 1.189811e-03 + 3054 6.457203e-04 2.744678e-03 5.330810e-04 1.156985e-03 1.278974e-03 + 3055 5.640225e-04 1.009290e-03 1.081868e-03 9.010967e-04 4.186494e-04 + 3056 7.380816e-04 1.627820e-03 9.117244e-04 7.095335e-04 1.412866e-03 + 3057 1.220350e-03 3.453110e-04 9.139401e-04 4.106411e-04 1.131767e-03 + 3058 5.973371e-04 6.841525e-04 5.051983e-04 8.794966e-04 7.791625e-04 + 3059 1.107395e-03 2.008600e-03 9.117622e-04 1.022694e-03 3.754616e-04 + 3060 5.039059e-04 1.699161e-04 1.003368e-03 1.041228e-03 4.553975e-04 + 3061 1.185308e-03 1.022292e-03 6.767990e-04 1.286676e-03 8.548153e-04 + 3062 9.906769e-04 1.997952e-03 1.286652e-03 1.870435e-03 2.451626e-03 + 3063 1.821516e-03 1.402211e-03 1.423330e-03 1.283889e-03 1.272803e-03 + 3064 6.164254e-04 4.182901e-04 2.957971e-04 6.320295e-04 6.783646e-04 + 3065 1.026695e-03 2.313401e-03 1.421831e-03 4.214813e-04 2.062640e-03 + 3066 3.133794e-04 2.049789e-04 6.396703e-04 1.160986e-03 9.456976e-04 + 3067 1.841677e-03 1.392356e-03 7.829124e-04 1.267457e-03 1.257462e-03 + 3068 5.789451e-04 4.885594e-04 8.323667e-04 7.244611e-04 1.226726e-03 + 3069 4.478072e-04 1.094583e-03 7.514739e-04 3.271418e-04 5.495456e-04 + 3070 5.329304e-04 3.653737e-04 9.491797e-04 1.225695e-03 3.097274e-04 + 3071 3.413294e-04 1.523759e-03 5.990011e-04 1.287710e-03 3.756646e-04 + 3072 5.094228e-04 1.247916e-03 3.330503e-04 1.470775e-03 8.146703e-04 + 3073 1.405897e+00 1.376239e+00 1.333275e+00 1.250244e+00 1.305561e+00 + 3074 2.129487e+02 2.150581e+02 2.167152e+02 2.117953e+02 2.148175e+02 + 3075 3.344846e+02 3.382104e+02 3.400512e+02 3.326045e+02 3.362086e+02 + 3076 1.375056e+01 1.392424e+01 1.394997e+01 1.351569e+01 1.363691e+01 + 3077 1.475142e-02 9.193455e-03 2.213776e-02 1.794820e-02 2.173641e-02 + 3078 5.428856e-02 4.782294e-02 3.457896e-02 3.505240e-02 3.800640e-02 + 3079 1.290941e-01 1.163488e-01 1.138258e-01 1.217739e-01 1.305943e-01 + 3080 3.826219e-01 3.150618e-01 3.802110e-01 3.177153e-01 3.767320e-01 + 3081 7.608292e-02 6.790939e-02 8.334458e-02 7.594707e-02 7.518662e-02 + 3082 1.353885e-02 1.338656e-02 1.389151e-02 1.106581e-02 1.504052e-02 + 3083 1.454455e-02 1.656927e-02 2.082749e-02 2.407605e-02 1.989617e-02 + 3084 1.894631e-02 1.748176e-02 1.806975e-02 1.454753e-02 1.199589e-02 + 3085 1.055097e-02 1.167199e-02 9.218506e-03 1.711689e-02 1.480002e-02 + 3086 1.310861e-02 9.839312e-03 1.644778e-02 1.408076e-02 1.282968e-02 + 3087 5.350099e-03 7.097356e-03 6.509627e-03 6.192525e-03 8.798488e-03 + 3088 6.734173e-03 1.173211e-02 7.586732e-03 8.199449e-03 4.920584e-03 + 3089 1.031800e-02 1.035537e-02 8.431530e-03 8.000007e-03 7.120366e-03 + 3090 6.760957e-03 6.851858e-03 1.098200e-02 7.730777e-03 6.173476e-03 + 3091 5.790262e-03 9.665924e-03 6.804486e-03 5.118487e-03 7.990200e-03 + 3092 3.503855e-03 6.864685e-03 7.645450e-03 4.322187e-03 3.948273e-03 + 3093 6.232096e-03 8.210912e-03 5.013471e-03 6.773396e-03 8.540549e-03 + 3094 5.031733e-03 7.657078e-03 7.077732e-03 7.635787e-03 4.280844e-03 + 3095 1.324841e-03 2.448658e-03 3.778904e-03 1.353732e-03 2.566930e-03 + 3096 5.357379e-03 8.605758e-03 5.215860e-03 5.420942e-03 2.603131e-03 + 3097 3.010511e-03 3.380596e-03 4.872286e-03 3.828934e-03 2.936997e-03 + 3098 2.934246e-03 2.388080e-03 4.882395e-03 3.455323e-03 3.780818e-03 + 3099 1.640064e-03 2.862506e-03 1.910750e-03 2.474349e-03 3.583292e-03 + 3100 4.730409e-03 3.450873e-03 4.078214e-03 5.112104e-03 3.249741e-03 + 3101 4.007209e-03 7.224358e-03 6.695047e-03 3.476660e-03 5.664737e-03 + 3102 2.614647e-03 5.963013e-03 3.000256e-03 1.774442e-03 1.138726e-03 + 3103 2.424742e-03 4.134055e-03 6.334830e-04 3.216608e-03 1.840478e-03 + 3104 4.327282e-03 4.737559e-03 6.998109e-03 4.165674e-03 3.865226e-03 + 3105 2.996868e-03 4.197883e-03 2.448861e-03 3.395021e-03 2.707273e-03 + 3106 5.009642e-03 2.617791e-03 1.359160e-03 3.695652e-03 3.539387e-03 + 3107 2.001341e-03 6.735911e-04 3.033976e-03 2.852244e-03 8.615539e-04 + 3108 6.883635e-04 1.853067e-03 4.562805e-04 7.614027e-04 1.231545e-03 + 3109 3.969264e-03 2.045140e-03 2.633374e-03 2.890744e-03 2.546126e-03 + 3110 2.883515e-03 2.181341e-03 2.303009e-03 8.218343e-04 1.413144e-03 + 3111 5.763136e-03 9.847993e-04 2.695908e-03 4.207862e-03 2.342441e-03 + 3112 5.962814e-03 1.430542e-03 3.234077e-03 3.139184e-03 4.079272e-03 + 3113 1.281320e-03 2.072080e-03 1.947844e-03 2.112987e-03 1.759553e-03 + 3114 1.774575e-03 5.407579e-03 1.468826e-03 1.376155e-03 2.093280e-03 + 3115 1.646870e-03 3.552612e-03 3.256600e-03 2.600259e-03 3.846596e-03 + 3116 8.859035e-04 2.957302e-03 1.656637e-03 1.495673e-03 3.262954e-03 + 3117 2.343153e-03 4.132620e-03 1.649881e-03 1.661629e-03 3.308987e-03 + 3118 1.026431e-03 1.246217e-03 9.327149e-04 5.379495e-04 2.057570e-03 + 3119 3.196223e-03 5.480640e-04 3.217707e-03 4.368277e-03 1.128588e-03 + 3120 7.486884e-04 7.767046e-04 6.161700e-04 1.495654e-03 9.415498e-04 + 3121 7.747186e-02 8.658131e-02 7.429094e-02 6.617022e-02 7.290685e-02 + 3122 4.262219e-01 4.219047e-01 4.200252e-01 3.780858e-01 3.855038e-01 + 3123 8.226062e-02 7.909754e-02 7.833124e-02 6.723394e-02 7.220932e-02 + 3124 7.825073e-04 1.443007e-03 1.554478e-03 8.533960e-04 1.556209e-03 + 3125 9.053990e-04 1.360399e-03 1.151186e-03 9.962252e-04 2.052666e-03 + 3126 1.084316e-03 3.070832e-03 1.704498e-03 2.844644e-03 2.448319e-03 + 3127 2.556016e-03 1.054081e-03 8.899192e-04 1.569836e-03 2.862431e-03 + 3128 1.345786e-03 1.842252e-03 1.135435e-03 4.764012e-03 1.495522e-03 + 3129 7.417238e-04 1.325914e-03 1.925596e-03 1.769246e-03 1.039321e-03 + 3130 1.943841e-03 2.735828e-03 8.191022e-04 2.203468e-03 2.147606e-03 + 3131 1.337486e-03 8.715204e-04 2.975342e-03 7.490681e-04 2.195153e-04 + 3132 1.485194e-03 1.058238e-03 3.165629e-03 1.836525e-03 2.551060e-03 + 3133 6.782995e-04 5.977681e-04 1.439820e-03 2.194427e-03 2.533945e-03 + 3134 2.094117e-03 1.847009e-03 2.483104e-03 1.804480e-03 2.350154e-03 + 3135 6.328452e-04 1.799165e-03 6.455753e-04 8.636548e-04 4.445495e-04 + 3136 7.169098e-04 1.908415e-03 1.315639e-03 1.229980e-03 2.009071e-03 + 3137 2.552849e-03 2.365987e-03 2.636752e-03 2.713598e-03 4.102158e-03 + 3138 7.719221e-04 1.806982e-03 1.401738e-03 2.106793e-03 2.102480e-03 + 3139 2.182305e-03 1.403095e-03 2.921208e-03 2.032465e-03 2.136850e-03 + 3140 6.586228e-04 2.098700e-03 1.775999e-03 1.176412e-03 1.495677e-03 + 3141 8.241270e-04 6.709273e-04 3.773123e-04 4.289716e-04 1.658746e-04 + 3142 1.427141e-03 1.362660e-03 2.324018e-03 2.759408e-03 1.579149e-03 + 3143 2.157621e-03 1.093103e-03 1.060245e-03 1.418243e-03 1.022115e-03 + 3144 6.273637e-04 6.702641e-04 9.381446e-04 6.834676e-04 8.606097e-04 + 3145 6.920052e-04 8.283094e-04 8.145287e-04 4.110420e-04 8.304559e-04 + 3146 7.571399e-04 1.228259e-03 1.054330e-03 1.359301e-03 1.919114e-03 + 3147 1.294834e-03 1.359332e-03 8.628081e-04 5.050546e-04 5.365571e-04 + 3148 6.743343e-04 1.568251e-03 1.490299e-03 1.743984e-03 2.459299e-03 + 3149 6.842936e-04 2.638807e-03 1.330697e-03 8.431072e-04 3.100056e-04 + 3150 1.418006e-03 1.407153e-03 7.170305e-04 7.852987e-04 7.317516e-04 + 3151 1.710801e-03 2.981422e-03 6.992261e-04 2.645261e-03 1.438414e-03 + 3152 8.265383e-04 6.918188e-04 6.793808e-04 5.430373e-04 5.143122e-04 + 3153 6.082036e-04 7.950599e-04 5.659280e-04 7.373341e-04 1.945141e-03 + 3154 3.697076e-03 3.423325e-03 1.162287e-03 2.183345e-03 6.175022e-04 + 3155 8.683569e-04 2.373934e-04 5.596717e-04 3.915496e-04 4.882081e-04 + 3156 2.703697e-03 1.603103e-03 8.841952e-04 1.250799e-03 1.776346e-03 + 3157 6.424087e-04 1.774662e-04 4.753695e-04 1.884113e-04 3.002458e-04 + 3158 1.771375e-03 1.530698e-03 2.419536e-03 1.310807e-03 1.678657e-03 + 3159 1.264123e-03 5.801388e-04 7.309814e-04 9.038208e-04 1.906409e-03 + 3160 3.024122e-03 1.010667e-03 1.524047e-03 7.559031e-04 2.211303e-03 + 3161 8.085842e-04 1.565412e-03 1.015232e-03 5.657733e-04 1.870606e-03 + 3162 1.777438e-03 2.643618e-03 6.887326e-04 1.627324e-03 2.601951e-03 + 3163 1.941250e-04 5.032558e-04 1.256275e-03 1.026037e-03 8.948088e-04 + 3164 1.128191e-03 1.756505e-03 1.411284e-03 1.399222e-03 1.533983e-03 + 3165 1.408434e-03 2.293233e-03 2.207860e-03 1.029758e-03 1.416855e-03 + 3166 6.757202e-03 8.595308e-03 9.354246e-03 7.477957e-03 7.926464e-03 + 3167 1.316888e-03 2.479155e-03 1.955873e-03 2.897978e-03 2.526108e-03 + 3168 7.067681e-04 4.665229e-04 6.647129e-04 1.682464e-03 7.871077e-04 + 3169 1.170553e-03 6.228508e-04 3.883726e-04 8.350843e-04 1.283426e-04 + 3170 2.068054e-03 8.604812e-04 6.012426e-04 1.781760e-03 1.287542e-03 + 3171 1.590028e-03 2.254006e-03 3.243511e-03 2.417583e-03 2.626713e-03 + 3172 7.661888e-03 6.130257e-03 8.244614e-03 6.655148e-03 9.733489e-03 + 3173 2.269417e-03 1.389628e-03 1.097332e-03 8.579368e-04 1.255876e-03 + 3174 2.094094e-03 1.049523e-03 7.983273e-04 1.252807e-03 7.026369e-04 + 3175 1.062819e-03 1.013896e-03 3.620127e-04 3.623713e-04 5.088234e-04 + 3176 2.926914e-03 4.840317e-04 1.024658e-03 8.233575e-04 6.031381e-04 + 3177 2.249529e-04 6.975737e-04 1.339243e-03 7.595087e-04 6.715046e-04 + 3178 4.222080e-03 4.548658e-03 5.770177e-03 3.561769e-03 5.290756e-03 + 3179 1.362907e-03 5.757181e-04 1.359709e-03 2.058332e-03 5.601937e-04 + 3180 1.649335e-03 5.987771e-04 1.979772e-03 2.844128e-04 8.543320e-04 + 3181 8.413435e-04 6.555508e-04 9.563385e-04 7.414329e-04 8.985289e-04 + 3182 8.490335e-04 1.110603e-03 2.902389e-04 4.888736e-04 8.524718e-04 + 3183 1.237179e-03 8.755142e-04 1.955396e-03 6.238693e-04 4.453576e-04 + 3184 2.085726e-03 7.196081e-04 1.156414e-03 1.014968e-03 4.078814e-04 + 3185 1.336484e-03 1.264974e-03 2.512668e-03 1.848987e-03 1.483788e-03 + 3186 5.704228e-04 1.203468e-03 1.719799e-03 1.007297e-03 1.370718e-03 + 3187 6.077470e-04 1.682759e-04 1.247368e-03 2.508025e-03 1.177679e-03 + 3188 5.578607e-04 5.393206e-04 5.148268e-04 2.543853e-04 1.569799e-03 + 3189 8.546257e-04 7.357925e-04 7.993708e-04 5.217184e-04 3.817520e-04 + 3190 6.925135e-04 1.034437e-03 8.261465e-04 1.578176e-03 1.283129e-03 + 3191 1.276274e-03 1.477544e-03 6.216059e-04 1.003110e-03 5.691668e-04 + 3192 1.363998e-03 7.459682e-04 7.833688e-04 9.620091e-04 2.931464e-04 + 3193 1.069984e-03 9.606282e-04 8.229653e-04 7.684611e-04 1.812677e-03 + 3194 2.528121e-04 5.754239e-04 6.587904e-04 1.573078e-03 1.109594e-03 + 3195 4.416415e-04 3.664868e-04 1.551454e-03 5.056748e-04 1.353702e-03 + 3196 8.972369e-04 7.392708e-04 2.145575e-03 1.179872e-03 3.344018e-04 + 3197 3.156199e-04 3.192195e-04 9.959316e-04 6.781874e-04 1.901000e-04 + 3198 1.918868e-03 8.777645e-04 1.915591e-03 2.143472e-03 1.408569e-03 + 3199 6.079371e-04 2.203526e-04 4.407126e-04 7.649199e-04 1.323255e-04 + 3200 2.333132e-03 1.356657e-03 1.755048e-03 1.432984e-03 1.158497e-03 + 3201 1.130449e+00 1.226280e+00 1.293738e+00 1.240266e+00 1.173319e+00 + 3202 2.132840e+02 2.151268e+02 2.170536e+02 2.115113e+02 2.130723e+02 + 3203 3.346973e+02 3.382257e+02 3.397736e+02 3.324154e+02 3.354613e+02 + 3204 1.390225e+01 1.393640e+01 1.415104e+01 1.368929e+01 1.373647e+01 + 3205 5.743070e-02 6.557373e-02 4.662275e-02 5.743676e-02 5.368147e-02 + 3206 2.194553e-02 1.549331e-02 2.228025e-02 1.958082e-02 2.171824e-02 + 3207 1.050555e-01 1.092535e-01 1.067255e-01 8.839201e-02 1.015818e-01 + 3208 3.461461e-01 3.340969e-01 3.465483e-01 2.839045e-01 3.083743e-01 + 3209 5.957730e-02 6.385875e-02 6.313002e-02 5.610162e-02 5.446497e-02 + 3210 3.085284e-02 3.415062e-02 2.788313e-02 1.891170e-02 2.168094e-02 + 3211 4.819861e-03 5.305660e-03 5.357199e-03 1.290232e-02 1.045620e-02 + 3212 2.024863e-02 2.460653e-02 1.533081e-02 1.265248e-02 1.560312e-02 + 3213 1.229617e-02 6.357654e-03 1.063345e-02 7.810604e-03 1.965532e-02 + 3214 1.625086e-02 1.869186e-02 1.285914e-02 1.301483e-02 1.659193e-02 + 3215 1.060297e-02 6.691557e-03 1.061478e-02 1.100964e-02 1.136869e-02 + 3216 4.287161e-03 9.596676e-03 7.160212e-03 3.856020e-03 3.951930e-03 + 3217 1.090807e-02 7.837440e-03 8.380450e-03 9.982061e-03 7.849673e-03 + 3218 6.516239e-03 5.170676e-03 5.678991e-03 3.734749e-03 4.856287e-03 + 3219 1.086648e-02 8.390572e-03 9.284101e-03 8.817290e-03 7.433125e-03 + 3220 4.765264e-03 4.835874e-03 3.342501e-03 5.991679e-03 4.121691e-03 + 3221 3.717078e-03 8.791918e-03 2.762527e-03 2.241380e-03 6.122987e-03 + 3222 3.001658e-03 3.078350e-03 7.158003e-03 4.842853e-03 2.646685e-03 + 3223 4.803866e-03 6.843476e-03 1.056789e-02 3.697890e-03 5.077497e-03 + 3224 4.872581e-03 3.239314e-03 4.625318e-03 3.052404e-03 2.079128e-03 + 3225 2.357263e-03 5.423824e-03 2.754574e-03 1.953966e-03 3.090558e-03 + 3226 3.363292e-03 2.936730e-03 4.486247e-03 2.832350e-03 3.883887e-03 + 3227 4.301679e-03 4.705585e-03 3.030829e-03 5.668622e-03 3.157084e-03 + 3228 2.429294e-03 3.990184e-03 4.311065e-03 1.320813e-03 2.390178e-03 + 3229 2.763440e-03 2.075998e-03 1.080392e-03 2.438250e-03 2.927178e-03 + 3230 4.490938e-03 1.489199e-03 2.454901e-03 3.274521e-03 4.540801e-03 + 3231 1.378294e-03 5.013210e-03 5.543063e-03 1.829974e-03 2.925558e-03 + 3232 3.698978e-03 1.377090e-03 2.285106e-03 2.752981e-03 3.765549e-03 + 3233 5.864466e-04 1.167416e-03 1.942698e-03 2.035156e-03 2.106690e-03 + 3234 3.989181e-03 4.218363e-03 3.917250e-03 2.266473e-03 3.335198e-03 + 3235 2.596979e-03 5.296503e-04 1.915733e-03 2.225151e-03 2.975291e-03 + 3236 8.711140e-04 2.997432e-03 2.004733e-03 2.271562e-03 5.152550e-04 + 3237 2.822645e-03 1.844991e-03 4.402667e-03 1.936121e-03 3.428274e-03 + 3238 3.694375e-03 2.275791e-03 3.060425e-03 2.190149e-03 1.308930e-03 + 3239 1.400553e-03 1.198355e-03 2.130564e-03 2.462915e-03 2.494966e-03 + 3240 1.962419e-03 2.496598e-03 1.746463e-03 1.656162e-03 1.695773e-03 + 3241 2.320392e-03 2.229281e-03 2.789834e-03 2.750134e-03 3.225252e-03 + 3242 1.606208e-03 7.713403e-03 6.567227e-04 1.719306e-03 1.131288e-03 + 3243 1.917663e-03 2.572338e-03 1.096609e-03 1.418500e-03 2.664454e-03 + 3244 1.941817e-03 1.593409e-03 1.577308e-03 2.139636e-03 1.516733e-03 + 3245 1.229868e-03 2.758218e-03 2.283705e-03 2.594237e-03 6.749326e-04 + 3246 1.338853e-03 2.318205e-03 8.211755e-04 4.092390e-04 6.535676e-04 + 3247 9.406337e-04 2.541883e-03 6.145643e-04 1.181247e-03 3.060515e-03 + 3248 7.113059e-04 9.764232e-04 8.426675e-04 2.256194e-03 6.812372e-04 + 3249 8.062213e-02 8.409374e-02 7.863404e-02 8.449866e-02 8.083632e-02 + 3250 4.273843e-01 4.086721e-01 4.278171e-01 4.321479e-01 4.280822e-01 + 3251 8.449411e-02 7.751988e-02 7.887724e-02 7.998876e-02 8.461244e-02 + 3252 1.175726e-03 8.064324e-04 7.977232e-04 1.753790e-03 2.198269e-03 + 3253 6.769116e-04 1.138290e-03 1.050614e-03 6.011696e-04 3.446173e-04 + 3254 1.659141e-03 5.864235e-04 5.638208e-04 1.232149e-03 8.438290e-04 + 3255 2.891951e-03 2.904323e-03 2.522133e-03 9.772147e-04 2.110125e-03 + 3256 2.215813e-03 1.868631e-03 8.878311e-04 2.028881e-03 5.773296e-04 + 3257 9.353593e-04 2.391204e-03 1.763011e-03 8.918895e-04 5.663892e-04 + 3258 2.192001e-03 2.571684e-03 2.802116e-03 1.545795e-03 2.416795e-03 + 3259 1.436065e-03 1.418522e-03 2.326813e-03 2.665912e-03 1.953823e-03 + 3260 1.253628e-03 1.196044e-03 1.479657e-03 2.015988e-03 8.780383e-04 + 3261 8.118483e-04 7.208736e-04 1.975827e-03 1.068434e-03 8.869926e-04 + 3262 1.239628e-03 1.404052e-03 1.249289e-03 1.610651e-03 7.217378e-04 + 3263 2.604640e-03 8.327328e-04 2.196573e-03 1.760150e-03 8.736266e-04 + 3264 8.389978e-04 1.220528e-03 5.629308e-04 9.328799e-04 1.834739e-03 + 3265 5.017716e-04 4.958002e-04 1.655686e-03 1.343213e-03 1.420150e-03 + 3266 6.651767e-04 2.037825e-04 3.084379e-04 5.403115e-04 2.226799e-03 + 3267 3.536345e-03 3.637975e-03 3.247385e-03 3.511585e-03 4.671873e-03 + 3268 6.740426e-04 1.166613e-03 1.419322e-03 1.807421e-03 2.015220e-03 + 3269 8.853102e-04 3.407540e-03 1.778942e-03 2.517057e-03 1.011396e-03 + 3270 1.391840e-03 1.368836e-03 3.578816e-04 9.978495e-04 3.771679e-04 + 3271 2.356900e-03 8.819229e-04 1.545437e-03 2.105153e-03 9.944463e-04 + 3272 1.225217e-03 1.834182e-03 1.656744e-03 5.990152e-04 2.542397e-04 + 3273 1.707120e-03 1.451631e-03 9.709629e-04 3.562791e-04 1.315985e-03 + 3274 8.225826e-04 1.510621e-03 1.050146e-03 5.347209e-04 7.006604e-04 + 3275 9.710500e-04 7.902221e-04 2.136040e-03 1.856634e-03 1.946136e-03 + 3276 4.831080e-04 1.032151e-03 8.177161e-04 4.884820e-04 7.470947e-04 + 3277 3.337267e-04 7.269674e-04 1.996483e-03 1.165000e-03 6.970585e-04 + 3278 3.277398e-04 1.255426e-03 1.109732e-03 1.228393e-03 9.668281e-04 + 3279 1.610023e-03 1.565847e-03 1.278783e-03 7.198789e-04 2.623907e-03 + 3280 6.150746e-04 6.963594e-04 1.500341e-04 3.984496e-04 5.509588e-04 + 3281 1.834991e-03 1.852796e-03 1.772333e-03 2.483970e-03 3.097569e-03 + 3282 1.409410e-03 1.140866e-03 1.553468e-03 1.661303e-03 6.804121e-04 + 3283 3.863723e-04 7.670521e-04 6.993739e-04 9.874042e-04 4.625695e-04 + 3284 6.950835e-04 9.047464e-04 1.047727e-03 1.258113e-03 1.380181e-03 + 3285 5.845561e-04 1.853693e-03 6.872360e-04 7.973946e-04 9.306233e-04 + 3286 1.557126e-03 2.963131e-04 2.321014e-04 1.862166e-04 6.922233e-04 + 3287 1.328272e-03 1.258301e-03 2.526338e-03 9.426396e-04 2.357856e-03 + 3288 8.429962e-04 8.444349e-04 1.144306e-03 6.543657e-04 1.016953e-03 + 3289 1.077591e-04 1.022572e-03 8.740063e-04 1.106416e-03 9.759158e-04 + 3290 9.983918e-04 5.773711e-04 7.911527e-04 1.538350e-03 6.889613e-04 + 3291 3.143166e-04 1.144939e-03 1.230909e-03 8.742335e-04 1.838491e-03 + 3292 9.411917e-04 6.895085e-04 8.244307e-04 2.825024e-03 1.014735e-03 + 3293 1.481228e-03 4.202903e-03 4.444321e-03 4.109837e-03 2.174247e-03 + 3294 6.412215e-03 1.118711e-02 1.085517e-02 6.311800e-03 7.952948e-03 + 3295 2.449070e-03 1.753056e-03 1.542134e-03 1.749368e-03 1.503166e-03 + 3296 1.282044e-03 1.103737e-03 1.070334e-03 9.727281e-04 2.271385e-03 + 3297 1.066960e-03 5.726522e-04 1.996624e-03 1.933679e-03 1.212840e-03 + 3298 1.791480e-03 6.323292e-04 1.700349e-03 1.618378e-03 1.513782e-03 + 3299 4.234730e-03 2.820799e-03 4.158322e-03 3.574086e-03 2.193721e-03 + 3300 9.915767e-03 1.147704e-02 7.201495e-03 9.292636e-03 8.785523e-03 + 3301 1.174966e-03 2.462538e-03 7.405044e-04 1.506915e-03 9.007726e-04 + 3302 1.818624e-03 1.200079e-03 1.224722e-03 1.493976e-03 1.780530e-03 + 3303 1.487131e-03 4.139324e-04 1.618591e-03 8.757283e-04 1.046006e-03 + 3304 1.324497e-03 1.344212e-03 5.219411e-04 2.083982e-03 8.144578e-04 + 3305 2.574182e-03 2.676446e-03 1.772163e-03 3.505441e-03 1.847118e-03 + 3306 7.935534e-03 5.787367e-03 4.036241e-03 5.691604e-03 7.112334e-03 + 3307 3.798240e-03 1.925990e-03 1.186962e-03 2.436214e-03 2.807136e-03 + 3308 8.593279e-04 5.494025e-04 5.950757e-04 6.514603e-04 3.006788e-04 + 3309 1.118691e-04 3.606399e-04 2.144925e-04 1.033734e-03 8.575357e-04 + 3310 7.689668e-04 3.166710e-04 9.644091e-04 1.277961e-03 1.289485e-03 + 3311 2.083637e-03 5.840215e-04 1.437073e-03 6.714333e-04 2.123291e-03 + 3312 1.128520e-03 6.847117e-04 1.242063e-03 4.977846e-04 4.999917e-04 + 3313 1.286848e-03 1.957477e-03 2.356518e-03 1.725265e-04 8.035535e-04 + 3314 4.126763e-04 3.555954e-04 5.626645e-04 3.105733e-04 8.139037e-04 + 3315 8.423709e-04 8.186072e-04 1.485349e-03 4.343574e-04 9.170934e-04 + 3316 1.524791e-03 6.317980e-04 6.523323e-04 4.455690e-04 3.997405e-04 + 3317 8.334492e-04 1.689187e-03 8.523189e-04 1.110898e-03 1.247578e-03 + 3318 2.906066e-03 3.400753e-03 2.652380e-03 2.098883e-03 5.723197e-03 + 3319 9.782281e-04 1.435120e-03 7.773518e-04 8.901385e-04 1.379370e-03 + 3320 1.213422e-03 4.368897e-04 1.085105e-03 1.560158e-03 5.802039e-04 + 3321 1.704895e-04 4.343568e-04 3.605336e-05 8.467096e-04 1.805885e-03 + 3322 3.878470e-04 1.653899e-03 1.147687e-03 1.263028e-03 1.836315e-04 + 3323 5.648177e-04 5.330415e-04 1.302344e-03 6.099111e-04 8.910982e-04 + 3324 8.192514e-04 1.532149e-03 9.991994e-04 1.166280e-03 7.858160e-04 + 3325 9.413196e-04 2.927688e-04 6.527937e-04 1.858977e-04 5.683446e-04 + 3326 4.615434e-04 8.136211e-04 5.131205e-04 1.346294e-03 5.541791e-04 + 3327 5.255461e-04 3.599715e-04 5.186518e-04 3.344590e-04 8.118604e-04 + 3328 5.352004e-04 9.628436e-04 1.123815e-03 1.924996e-03 5.794625e-04 + 3329 1.261058e+00 1.193894e+00 1.432968e+00 1.305892e+00 1.291594e+00 + 3330 2.122426e+02 2.147374e+02 2.157664e+02 2.124290e+02 2.140618e+02 + 3331 3.340106e+02 3.385703e+02 3.393811e+02 3.348326e+02 3.358986e+02 + 3332 1.366552e+01 1.365778e+01 1.352561e+01 1.387185e+01 1.348660e+01 + 3333 2.218892e-02 5.093962e-02 3.756711e-02 1.905136e-02 3.851493e-02 + 3334 3.872601e-02 4.277525e-02 5.090804e-02 4.415561e-02 3.562731e-02 + 3335 9.658919e-02 1.050669e-01 9.314847e-02 8.859401e-02 8.231775e-02 + 3336 3.667074e-01 3.260946e-01 3.361021e-01 3.337708e-01 2.569554e-01 + 3337 7.488983e-02 5.953092e-02 6.863959e-02 6.919923e-02 6.271802e-02 + 3338 1.612507e-02 2.065892e-02 1.769665e-02 1.151312e-02 1.247214e-02 + 3339 1.584370e-02 1.356021e-02 1.831355e-02 1.770065e-02 1.797507e-02 + 3340 8.475283e-03 1.442963e-02 8.931587e-03 1.120231e-02 1.062736e-02 + 3341 2.770220e-02 2.323003e-02 1.948183e-02 2.191337e-02 2.592867e-02 + 3342 5.239265e-03 6.765790e-03 7.432995e-03 4.076919e-03 4.563847e-03 + 3343 1.425500e-02 1.071535e-02 1.068343e-02 1.440241e-02 1.230821e-02 + 3344 7.839963e-03 7.901070e-03 7.559376e-03 7.536690e-03 5.704038e-03 + 3345 8.487817e-03 1.154142e-02 6.488983e-03 1.170902e-02 8.958989e-03 + 3346 1.260504e-02 1.030970e-02 8.404955e-03 6.935732e-03 7.033188e-03 + 3347 3.728124e-03 3.974961e-03 4.147110e-03 3.379944e-03 2.938421e-03 + 3348 5.133049e-03 3.703505e-03 7.843853e-03 5.151486e-03 4.795535e-03 + 3349 4.481586e-03 7.023338e-03 4.752747e-03 4.246024e-03 5.468300e-03 + 3350 2.958816e-03 4.206423e-03 1.638368e-03 2.633957e-03 6.769147e-03 + 3351 7.027778e-03 7.007718e-03 7.752627e-03 5.228331e-03 4.095327e-03 + 3352 3.331908e-03 4.373551e-03 2.795119e-03 2.466746e-03 3.118853e-03 + 3353 2.940530e-03 3.711303e-03 4.559131e-03 4.625452e-03 4.489468e-03 + 3354 3.321714e-03 5.238011e-03 2.342327e-03 3.762181e-03 3.080069e-03 + 3355 1.661592e-03 2.102496e-03 3.028595e-03 2.076749e-03 2.063183e-03 + 3356 5.746575e-03 3.204836e-03 4.682011e-03 3.319321e-03 2.616495e-03 + 3357 1.136562e-03 2.246410e-03 9.500743e-04 1.452661e-03 4.419711e-03 + 3358 3.824161e-03 1.256949e-03 3.298465e-03 2.327327e-03 1.177340e-03 + 3359 3.014914e-03 2.686188e-03 3.339104e-03 9.379428e-04 2.624253e-03 + 3360 4.671911e-03 2.359123e-03 6.502217e-03 5.569768e-03 5.335864e-03 + 3361 4.217514e-03 2.569139e-03 3.844621e-03 2.534733e-03 3.162959e-03 + 3362 2.140957e-03 6.390160e-03 4.576028e-03 3.787361e-03 3.061596e-03 + 3363 2.143701e-03 9.915005e-04 4.605395e-04 2.062170e-03 4.137618e-03 + 3364 2.267861e-03 2.734096e-03 3.514669e-03 2.599465e-03 3.050336e-03 + 3365 8.889649e-04 2.808101e-03 8.690463e-04 2.254012e-03 1.006919e-03 + 3366 3.042843e-03 9.786876e-04 1.593013e-03 3.659158e-03 1.755416e-03 + 3367 2.312107e-03 2.544558e-03 1.405938e-03 1.916243e-03 2.558192e-03 + 3368 1.480296e-03 2.835080e-03 1.566068e-03 1.436726e-03 2.897835e-03 + 3369 3.519420e-03 1.371954e-03 2.189092e-03 1.847906e-03 9.998254e-04 + 3370 2.806740e-03 2.602230e-03 1.170713e-03 1.105352e-03 3.619178e-03 + 3371 8.880964e-04 3.060359e-04 1.050031e-03 3.493921e-03 2.804533e-04 + 3372 1.627711e-03 3.709960e-03 2.341041e-03 3.126779e-03 2.364714e-03 + 3373 1.543773e-03 4.257704e-03 1.594344e-03 1.510114e-03 1.026370e-03 + 3374 1.819775e-03 1.597190e-03 7.517392e-04 1.288415e-03 8.225142e-04 + 3375 7.027104e-04 1.501012e-03 3.487244e-03 4.170602e-03 1.090658e-03 + 3376 1.626306e-03 3.757801e-03 8.116036e-04 7.548477e-04 1.538184e-03 + 3377 8.438645e-02 8.489170e-02 8.493944e-02 7.700605e-02 8.301634e-02 + 3378 4.454396e-01 4.618613e-01 4.656425e-01 4.490132e-01 4.482886e-01 + 3379 7.967370e-02 8.104179e-02 8.139230e-02 7.838683e-02 8.706728e-02 + 3380 4.959186e-04 1.709919e-03 1.233436e-03 1.460486e-03 9.200808e-04 + 3381 4.105675e-04 9.259637e-04 1.523884e-03 1.543930e-03 1.754592e-03 + 3382 1.273478e-03 1.531005e-03 1.479733e-03 1.302429e-03 1.102233e-03 + 3383 6.298041e-04 1.047043e-03 1.832037e-03 9.395424e-04 3.123203e-03 + 3384 1.025617e-03 4.360633e-03 3.229620e-03 1.879610e-03 1.587849e-03 + 3385 1.624645e-03 1.149501e-03 6.977197e-04 1.595508e-03 1.071578e-03 + 3386 1.216921e-03 4.598564e-04 2.201623e-03 1.367369e-03 7.181388e-04 + 3387 8.032226e-04 2.017406e-03 1.088112e-03 3.239838e-03 1.686871e-03 + 3388 1.752526e-03 9.265316e-04 2.023668e-03 1.472783e-03 1.247330e-03 + 3389 2.392980e-03 1.940486e-03 4.516964e-03 3.418745e-03 2.166889e-03 + 3390 1.000673e-03 3.817475e-04 8.546231e-04 3.748111e-04 8.276843e-04 + 3391 3.222955e-04 6.638125e-04 1.135858e-03 8.906653e-04 5.427405e-04 + 3392 2.358108e-03 1.427317e-03 1.354421e-03 1.229782e-03 9.219677e-04 + 3393 9.440898e-04 9.085291e-04 2.985310e-03 9.225732e-04 8.674968e-04 + 3394 1.959008e-03 1.770298e-03 1.973962e-03 1.727605e-03 1.918654e-03 + 3395 4.720396e-04 1.350037e-03 1.148536e-03 5.371175e-04 1.390071e-03 + 3396 1.582638e-03 1.020825e-03 1.012398e-03 1.707528e-03 8.606128e-04 + 3397 9.303797e-04 8.728467e-04 6.337041e-04 1.227638e-03 1.345756e-03 + 3398 3.073691e-04 9.509749e-04 1.701008e-03 5.009413e-04 1.021089e-03 + 3399 1.232226e-03 1.415551e-03 1.701669e-03 1.325774e-03 1.724107e-03 + 3400 7.651032e-04 3.135141e-03 1.525305e-03 6.571551e-04 2.611061e-04 + 3401 1.541018e-03 1.135166e-03 1.237735e-03 1.355419e-03 1.846365e-03 + 3402 2.278789e-03 3.130144e-03 2.035771e-03 2.599349e-03 3.308570e-03 + 3403 1.559853e-03 1.499829e-03 5.766286e-04 1.696440e-03 6.864013e-04 + 3404 6.443990e-04 9.373088e-04 1.310041e-03 1.615057e-03 1.070151e-03 + 3405 5.258223e-04 1.711183e-03 1.351838e-03 1.344974e-03 1.329953e-03 + 3406 1.242600e-03 2.394064e-03 2.722228e-03 2.446018e-03 8.945513e-04 + 3407 1.057307e-03 1.115714e-03 3.393812e-04 1.281898e-03 1.298751e-03 + 3408 7.562407e-04 6.032488e-04 6.982384e-04 3.490204e-04 6.749219e-04 + 3409 1.273841e-03 6.431523e-04 1.787426e-03 2.054053e-03 8.019715e-04 + 3410 3.420581e-03 1.237121e-03 1.156977e-03 2.292420e-03 1.247857e-03 + 3411 8.461827e-04 6.111515e-04 1.709627e-03 1.327473e-03 1.206626e-03 + 3412 1.727696e-03 2.909533e-03 5.059526e-04 3.447390e-03 2.935268e-03 + 3413 5.139169e-04 1.309421e-03 1.471165e-03 8.397142e-04 1.051868e-03 + 3414 1.505431e-03 1.032047e-03 8.493424e-04 1.958184e-03 6.645199e-04 + 3415 1.613330e-04 1.042255e-03 1.082035e-03 1.025625e-03 6.987370e-04 + 3416 2.123802e-04 3.715523e-04 1.052837e-03 6.594521e-04 1.629730e-04 + 3417 1.638642e-03 1.199231e-03 1.135221e-03 2.984502e-03 1.353635e-03 + 3418 9.666355e-04 2.839563e-04 1.642916e-03 8.914470e-04 4.885374e-05 + 3419 7.555225e-04 1.534442e-03 6.548358e-04 2.145223e-03 5.798777e-04 + 3420 7.021664e-04 7.324436e-04 8.832230e-04 2.642546e-03 8.321501e-04 + 3421 1.738200e-03 1.512443e-03 6.793598e-04 1.358838e-03 1.556015e-03 + 3422 5.929522e-03 4.764804e-03 5.236749e-03 6.301679e-03 3.459209e-03 + 3423 1.900769e-03 1.956686e-03 1.878450e-03 2.988240e-03 5.247178e-04 + 3424 9.596364e-04 7.201192e-04 7.772183e-04 4.607889e-04 1.113892e-03 + 3425 1.423060e-03 3.484201e-04 7.316290e-04 9.302450e-04 7.960937e-04 + 3426 1.837399e-03 8.316582e-04 1.925339e-03 9.517022e-04 1.052401e-03 + 3427 1.060226e-03 3.029108e-03 1.827124e-03 1.967675e-03 2.560338e-03 + 3428 7.472496e-03 1.248913e-02 6.736751e-03 7.730266e-03 8.321911e-03 + 3429 2.955470e-03 3.434945e-03 2.063895e-03 1.370326e-03 2.547004e-03 + 3430 1.371292e-03 7.958011e-04 8.149120e-04 6.610428e-04 7.721616e-04 + 3431 1.887657e-03 1.103534e-03 2.833686e-04 8.216402e-04 2.362015e-03 + 3432 1.635076e-03 1.075405e-03 5.177161e-04 1.521109e-03 2.983625e-03 + 3433 1.571961e-03 7.815901e-04 1.031603e-03 1.989650e-03 1.435162e-03 + 3434 9.007456e-03 7.345927e-03 7.073844e-03 7.619893e-03 6.242643e-03 + 3435 3.493374e-03 2.816778e-03 2.451843e-03 2.482203e-03 1.645352e-03 + 3436 1.389392e-03 1.717385e-03 1.129517e-03 1.680476e-03 7.667120e-04 + 3437 5.768412e-04 5.123085e-04 3.248245e-04 2.306808e-04 9.414591e-04 + 3438 1.133534e-03 1.309221e-03 5.223515e-04 9.881412e-04 1.184626e-03 + 3439 1.367850e-03 2.468604e-03 1.761167e-03 2.004837e-03 2.252284e-03 + 3440 3.439350e-04 1.586307e-03 7.274895e-04 1.939977e-03 6.489910e-04 + 3441 9.049711e-04 6.408539e-04 1.952255e-03 1.150238e-03 6.206732e-04 + 3442 3.602674e-04 7.642878e-04 8.498259e-04 6.151504e-04 6.221436e-04 + 3443 9.438451e-04 1.418781e-03 1.326768e-03 1.228008e-03 1.400583e-03 + 3444 7.497973e-04 7.626473e-04 6.382917e-04 5.568769e-04 9.895336e-04 + 3445 9.785927e-04 1.348921e-03 2.828975e-04 2.963844e-04 6.818055e-04 + 3446 3.212313e-03 3.639251e-03 2.768889e-03 1.173498e-03 1.257786e-03 + 3447 6.675014e-04 1.779219e-03 5.752281e-04 1.753382e-03 2.362747e-03 + 3448 7.146108e-04 1.141521e-03 8.036789e-04 1.083715e-03 8.599152e-04 + 3449 6.264751e-04 1.382796e-03 3.434826e-04 8.144417e-04 6.282934e-04 + 3450 1.083266e-03 1.207467e-03 1.622059e-03 1.640965e-03 6.434144e-04 + 3451 6.044255e-04 9.822841e-04 4.194098e-04 2.470621e-04 6.529989e-04 + 3452 2.393551e-04 5.063692e-04 1.078242e-03 9.611173e-04 2.105827e-04 + 3453 5.859556e-04 7.878049e-04 3.589333e-04 3.786570e-04 4.801191e-04 + 3454 6.833154e-04 3.237451e-03 5.375927e-04 1.634702e-03 7.980035e-04 + 3455 1.223257e-03 3.577651e-03 1.586479e-03 1.508963e-03 1.961106e-03 + 3456 2.448491e-03 2.038936e-03 2.829905e-03 1.765277e-03 1.776824e-03 + 3457 1.370586e+00 1.508853e+00 1.483822e+00 1.347423e+00 1.369290e+00 + 3458 2.110495e+02 2.160322e+02 2.168935e+02 2.110608e+02 2.125730e+02 + 3459 3.329209e+02 3.397117e+02 3.411137e+02 3.329354e+02 3.354944e+02 + 3460 1.364066e+01 1.384165e+01 1.377764e+01 1.346405e+01 1.366143e+01 + 3461 9.886695e-03 1.408331e-02 1.525615e-02 1.312303e-02 1.255380e-02 + 3462 3.482079e-02 5.731401e-02 3.872142e-02 3.432340e-02 3.257959e-02 + 3463 9.930882e-02 8.837878e-02 1.067526e-01 1.085158e-01 9.376856e-02 + 3464 3.987826e-01 3.330226e-01 4.436955e-01 4.008514e-01 3.727780e-01 + 3465 5.262961e-02 6.002459e-02 7.204180e-02 6.135309e-02 5.822450e-02 + 3466 2.193494e-02 1.354240e-02 2.207242e-02 2.233279e-02 2.044253e-02 + 3467 1.351525e-02 2.483826e-02 1.720298e-02 1.484318e-02 1.738643e-02 + 3468 1.262975e-02 7.750757e-03 1.496212e-02 1.914442e-02 1.187740e-02 + 3469 1.321752e-02 1.811086e-02 1.401366e-02 9.175057e-03 1.357624e-02 + 3470 1.350568e-02 1.179035e-02 1.075705e-02 1.262288e-02 1.144536e-02 + 3471 7.826493e-03 6.049451e-03 1.201948e-02 6.443740e-03 6.814801e-03 + 3472 8.002694e-03 1.187340e-02 6.133205e-03 8.050850e-03 7.843690e-03 + 3473 1.080081e-02 6.642297e-03 1.005123e-02 9.063491e-03 5.431316e-03 + 3474 6.387080e-03 6.848138e-03 5.872931e-03 4.548317e-03 4.664131e-03 + 3475 7.249432e-03 1.287232e-02 1.206210e-02 1.315091e-02 8.240040e-03 + 3476 2.421744e-03 3.148846e-03 4.202581e-03 3.146624e-03 4.946995e-03 + 3477 7.627018e-03 4.962436e-03 7.064615e-03 5.884264e-03 4.055678e-03 + 3478 4.662289e-03 5.269116e-03 8.834794e-03 6.177264e-03 6.214305e-03 + 3479 3.303844e-03 5.086365e-03 3.548338e-03 2.753161e-03 4.693732e-03 + 3480 2.571756e-03 4.979620e-03 2.483915e-03 4.371246e-03 4.583966e-03 + 3481 4.833752e-03 8.056181e-03 5.912632e-03 3.453949e-03 3.983887e-03 + 3482 5.136266e-03 2.157479e-03 3.848499e-03 2.524041e-03 2.504624e-03 + 3483 2.717364e-03 4.022113e-03 2.019669e-03 4.495738e-03 2.970481e-03 + 3484 3.956195e-03 4.343083e-03 4.712676e-03 3.701241e-03 5.300334e-03 + 3485 3.263423e-03 2.743705e-03 2.301871e-03 1.168539e-03 2.761956e-03 + 3486 3.820370e-03 4.523772e-03 4.416820e-03 4.303004e-03 3.358266e-03 + 3487 3.722902e-03 1.696900e-03 5.318224e-03 2.325830e-03 1.114238e-03 + 3488 3.846789e-04 4.282242e-03 1.324766e-03 1.997551e-03 3.227071e-03 + 3489 5.662917e-03 4.301438e-03 3.583344e-03 2.101438e-03 1.447257e-03 + 3490 3.240413e-03 4.085706e-03 4.995706e-03 4.983258e-03 3.994895e-03 + 3491 2.564110e-03 1.428180e-03 3.321265e-03 3.920255e-03 1.270409e-03 + 3492 1.187911e-03 2.612970e-03 3.853864e-03 3.886374e-03 1.987200e-03 + 3493 4.741851e-03 1.478559e-03 2.728104e-03 1.515070e-03 2.892340e-03 + 3494 8.909981e-04 2.299158e-03 1.584142e-03 3.952903e-03 3.617509e-03 + 3495 6.819987e-03 1.008721e-03 1.759889e-03 2.882339e-03 4.676065e-03 + 3496 1.050078e-03 2.500209e-03 2.827211e-03 8.740560e-04 1.657674e-03 + 3497 2.844564e-03 3.639830e-03 2.473886e-03 4.637011e-03 4.207429e-03 + 3498 2.209163e-03 2.165268e-03 1.590970e-03 1.361634e-03 1.661153e-03 + 3499 1.812714e-03 1.798074e-03 1.704467e-03 2.321378e-03 2.893069e-03 + 3500 9.092632e-04 1.135554e-03 2.503490e-03 1.250683e-03 2.496997e-04 + 3501 2.289556e-03 9.933154e-04 2.093879e-03 3.096307e-03 2.840765e-03 + 3502 1.763652e-03 1.390872e-03 1.618817e-03 1.699518e-03 2.125636e-03 + 3503 1.122545e-03 1.062071e-03 1.143387e-03 7.838770e-04 1.723336e-03 + 3504 2.105986e-03 3.369425e-03 1.162660e-03 3.806256e-03 1.727245e-03 + 3505 8.065699e-02 8.208026e-02 8.370587e-02 8.023015e-02 7.646684e-02 + 3506 4.331716e-01 4.391520e-01 4.511891e-01 4.214434e-01 4.169368e-01 + 3507 8.514378e-02 8.102434e-02 8.021912e-02 7.092151e-02 7.950821e-02 + 3508 2.217609e-03 1.502300e-03 4.385155e-03 2.475344e-03 1.318386e-03 + 3509 1.337034e-03 7.737787e-04 3.047559e-04 1.611113e-03 1.007173e-03 + 3510 1.434508e-03 2.065277e-03 2.106793e-03 8.804812e-04 1.906699e-03 + 3511 1.349495e-03 3.006530e-03 1.939913e-03 2.113453e-03 4.399277e-04 + 3512 4.841106e-04 1.635706e-03 4.500524e-04 2.061022e-03 1.714428e-03 + 3513 1.608153e-03 1.759599e-03 3.093788e-03 1.962957e-03 2.725208e-04 + 3514 5.319846e-04 1.307852e-03 1.257345e-03 4.090846e-04 1.490928e-03 + 3515 1.720294e-03 2.106310e-03 1.860398e-03 1.773309e-03 1.181561e-03 + 3516 1.829617e-03 7.706939e-04 1.500643e-03 2.198236e-03 7.986538e-04 + 3517 8.881068e-04 1.458485e-03 9.045225e-04 1.797895e-04 1.170276e-03 + 3518 1.339349e-03 1.453916e-03 2.028792e-03 1.030919e-03 1.573310e-03 + 3519 9.579542e-04 4.597253e-04 1.918220e-03 1.380763e-03 7.075258e-04 + 3520 5.461097e-04 1.522003e-03 5.198563e-04 7.633656e-04 1.139044e-03 + 3521 9.458680e-04 9.642462e-04 1.064970e-03 1.426550e-03 8.027451e-05 + 3522 5.550895e-04 1.456781e-03 1.238253e-03 2.055107e-03 2.009266e-03 + 3523 5.564410e-04 6.447962e-04 8.944637e-04 5.177738e-04 6.130217e-04 + 3524 1.105968e-03 1.258731e-03 7.952293e-04 1.410540e-03 6.237984e-04 + 3525 1.602905e-03 5.620934e-04 5.893009e-04 1.508196e-03 8.980974e-04 + 3526 1.031284e-03 7.202412e-04 2.468465e-03 1.813434e-03 7.983435e-04 + 3527 9.618857e-04 1.927475e-03 4.682034e-04 1.374540e-03 1.558583e-03 + 3528 2.802534e-03 1.035189e-03 1.221942e-03 2.149957e-03 2.071366e-03 + 3529 1.627214e-03 7.508620e-04 1.396088e-03 9.010305e-04 8.010363e-04 + 3530 1.507190e-03 2.426590e-03 1.462126e-03 1.329951e-03 6.789397e-04 + 3531 2.028100e-03 1.044349e-03 7.892863e-04 1.511481e-03 2.022091e-03 + 3532 1.622789e-03 1.024361e-03 8.757785e-04 1.116627e-03 5.638747e-04 + 3533 2.549982e-03 1.987740e-03 1.205522e-03 3.176904e-03 1.880592e-03 + 3534 8.730597e-04 1.136572e-03 8.042944e-04 8.149402e-04 2.569141e-04 + 3535 9.587195e-04 5.978809e-04 6.500683e-04 7.672464e-04 8.974349e-04 + 3536 1.891611e-03 1.171388e-03 2.722235e-03 2.253429e-03 1.397304e-03 + 3537 2.041599e-03 3.653315e-04 7.330530e-04 5.818234e-04 1.203800e-03 + 3538 7.386347e-04 1.600030e-03 9.074495e-04 1.196718e-03 1.154568e-03 + 3539 6.854532e-04 1.817328e-03 2.403999e-03 4.768544e-04 1.185180e-03 + 3540 1.656448e-03 8.983814e-04 8.020066e-04 7.285563e-04 2.495836e-03 + 3541 1.751597e-03 1.454714e-03 1.034777e-03 1.069570e-03 1.206501e-03 + 3542 1.618203e-03 1.516706e-03 1.706196e-04 1.949080e-03 1.328776e-03 + 3543 1.761395e-03 1.283200e-03 1.017436e-03 1.155193e-03 1.302408e-03 + 3544 3.065036e-03 1.703763e-03 1.590163e-03 2.427098e-03 3.230413e-03 + 3545 9.711359e-04 1.614101e-03 2.040773e-03 5.587860e-04 1.422902e-03 + 3546 3.059248e-03 9.366796e-04 2.586122e-03 2.028314e-03 1.547479e-03 + 3547 8.123000e-04 4.938134e-04 5.258560e-04 9.309701e-04 1.710748e-03 + 3548 5.324117e-04 9.184893e-04 3.836863e-04 4.292464e-04 4.503495e-04 + 3549 2.382969e-03 1.580584e-03 2.214822e-03 1.800347e-03 2.599482e-03 + 3550 6.678861e-03 7.033353e-03 5.234828e-03 7.852916e-03 6.948094e-03 + 3551 2.344240e-03 1.850626e-03 1.044937e-03 1.963969e-03 3.007710e-03 + 3552 4.806708e-04 1.115256e-03 5.749701e-04 1.511797e-03 9.152654e-04 + 3553 1.090745e-03 1.883243e-03 2.292976e-03 3.429685e-03 3.653869e-03 + 3554 2.896517e-04 8.132382e-04 9.250195e-04 6.955550e-04 2.586449e-04 + 3555 1.903235e-03 4.898889e-04 2.368530e-03 2.200857e-03 1.532019e-03 + 3556 7.969587e-03 4.536719e-03 8.382730e-03 8.179587e-03 6.784042e-03 + 3557 2.111430e-03 1.832092e-03 3.026030e-03 3.140892e-03 2.945302e-03 + 3558 1.132836e-03 6.879205e-04 3.592245e-03 1.412445e-03 3.809430e-04 + 3559 2.262679e-04 2.873674e-04 1.071165e-03 1.173670e-03 2.440057e-04 + 3560 6.363095e-04 1.909965e-03 1.050536e-03 1.860126e-03 1.358838e-03 + 3561 2.418599e-03 1.659157e-03 2.150685e-03 3.247174e-03 1.941937e-03 + 3562 5.867744e-03 3.360780e-03 4.994969e-03 6.563713e-03 3.580845e-03 + 3563 5.840717e-04 1.970029e-03 1.855386e-03 2.470669e-03 1.706476e-03 + 3564 7.345426e-04 6.670600e-04 1.113364e-03 5.735795e-04 9.784043e-04 + 3565 7.376959e-04 4.848764e-04 4.857904e-04 8.999382e-04 4.559217e-04 + 3566 5.998265e-04 1.500503e-03 5.471474e-04 1.167382e-03 1.102147e-03 + 3567 1.152504e-03 5.204930e-04 2.111287e-03 1.161909e-03 1.032346e-03 + 3568 1.463287e-03 1.396477e-03 1.738207e-03 1.939788e-03 1.680345e-03 + 3569 7.677329e-04 1.687861e-03 1.478973e-03 9.283578e-04 1.064555e-03 + 3570 2.719358e-04 3.640276e-04 8.837947e-04 6.064378e-04 3.071367e-04 + 3571 7.034901e-04 1.542209e-03 1.615868e-03 1.221051e-03 1.074377e-03 + 3572 1.427400e-03 7.202493e-04 2.115253e-03 2.506292e-03 8.427372e-04 + 3573 3.900459e-04 1.176057e-03 1.421588e-03 9.635056e-04 1.579308e-03 + 3574 4.551412e-03 2.405073e-03 2.903070e-03 4.043328e-03 4.102802e-03 + 3575 3.003296e-03 1.363796e-03 8.448073e-04 9.240578e-04 2.292089e-03 + 3576 4.564497e-04 1.376448e-03 8.105451e-04 5.999962e-04 8.319870e-04 + 3577 1.175831e-03 3.941068e-04 5.926192e-04 3.964718e-04 5.577118e-04 + 3578 1.449879e-03 7.467032e-04 6.389907e-04 3.625968e-04 3.014686e-04 + 3579 1.056119e-03 8.591888e-04 2.019747e-04 6.616003e-04 5.959967e-04 + 3580 9.216925e-04 1.950540e-03 1.138970e-03 1.480263e-03 1.103364e-03 + 3581 6.036200e-04 9.785855e-04 8.615325e-04 1.111653e-03 5.223407e-04 + 3582 2.649238e-03 2.508790e-03 6.571834e-04 1.446782e-03 1.692200e-03 + 3583 4.797414e-04 9.942152e-04 4.729013e-04 1.061707e-03 3.825791e-04 + 3584 1.029348e-03 6.623792e-04 1.701018e-04 2.897160e-04 1.551714e-03 + 3585 1.194286e+00 1.255114e+00 1.394001e+00 1.246095e+00 1.367862e+00 + 3586 2.129935e+02 2.152190e+02 2.171600e+02 2.115111e+02 2.135064e+02 + 3587 3.346081e+02 3.394004e+02 3.426798e+02 3.338367e+02 3.364629e+02 + 3588 1.357370e+01 1.401489e+01 1.405432e+01 1.342348e+01 1.374147e+01 + 3589 3.656162e-02 6.470012e-02 3.538276e-02 4.275306e-02 5.949951e-02 + 3590 2.680917e-02 2.886682e-02 2.626702e-02 2.999079e-02 2.387311e-02 + 3591 1.162082e-01 1.036447e-01 1.119869e-01 1.014408e-01 1.241369e-01 + 3592 3.883097e-01 3.198216e-01 3.624104e-01 3.350495e-01 3.954921e-01 + 3593 5.553906e-02 5.553927e-02 6.513694e-02 5.855007e-02 6.270780e-02 + 3594 1.973169e-02 2.549467e-02 1.999840e-02 1.662780e-02 2.096478e-02 + 3595 1.359357e-02 1.046348e-02 1.180042e-02 9.824527e-03 1.627800e-02 + 3596 9.340472e-03 1.036936e-02 1.520647e-02 1.597912e-02 1.109924e-02 + 3597 2.057075e-02 3.106570e-02 2.409367e-02 1.908408e-02 2.169519e-02 + 3598 5.137018e-03 3.035646e-03 6.589612e-03 6.391457e-03 2.992565e-03 + 3599 7.869610e-03 1.156780e-02 9.525829e-03 9.844642e-03 1.328600e-02 + 3600 1.175316e-02 8.032884e-03 7.010708e-03 5.931650e-03 4.507533e-03 + 3601 8.282478e-03 7.781603e-03 8.963047e-03 5.674652e-03 9.065109e-03 + 3602 5.489175e-03 1.020995e-02 4.541986e-03 1.090135e-02 5.126762e-03 + 3603 5.528317e-03 1.754181e-03 5.548863e-03 2.961909e-03 5.842358e-03 + 3604 4.943817e-03 7.766891e-03 5.021073e-03 6.140442e-03 5.300949e-03 + 3605 3.749857e-03 4.053236e-03 5.973498e-03 4.917967e-03 2.890215e-03 + 3606 7.197043e-03 4.146627e-03 6.310197e-03 6.036184e-03 7.968417e-03 + 3607 1.278715e-03 2.288593e-03 2.854113e-03 2.078220e-03 1.200473e-03 + 3608 8.155998e-03 3.693750e-03 5.521246e-03 4.025839e-03 6.442710e-03 + 3609 4.794031e-03 2.804962e-03 4.299235e-03 4.898382e-03 3.098701e-03 + 3610 2.408971e-03 3.585745e-03 2.155331e-03 1.651091e-03 1.981795e-03 + 3611 4.390361e-03 2.960779e-03 3.989118e-03 4.764120e-03 4.021529e-03 + 3612 3.675777e-03 2.180093e-03 3.142662e-03 3.807868e-03 2.708568e-03 + 3613 4.019709e-03 2.228647e-03 2.832056e-03 4.600853e-03 2.762216e-03 + 3614 2.230716e-03 1.902759e-03 1.539545e-03 1.151062e-03 2.842891e-03 + 3615 3.963919e-03 6.891155e-03 3.040620e-03 3.081258e-03 2.686406e-03 + 3616 3.509549e-03 3.236270e-03 3.603985e-03 1.896649e-03 2.324049e-03 + 3617 2.993183e-03 2.318838e-03 2.980229e-03 3.251120e-03 2.653009e-03 + 3618 4.577820e-03 4.609297e-03 4.351250e-03 3.013000e-03 4.340966e-03 + 3619 1.311285e-03 2.037760e-03 5.841468e-04 1.547316e-03 2.696578e-03 + 3620 2.647018e-03 1.863016e-03 2.394175e-03 1.880181e-03 1.584283e-03 + 3621 1.448170e-03 1.077005e-03 1.224714e-03 1.361185e-03 2.132991e-03 + 3622 2.602825e-03 3.689823e-03 3.289354e-03 2.582895e-03 2.048677e-03 + 3623 1.699542e-03 6.229133e-03 9.404336e-04 5.186826e-04 3.555815e-04 + 3624 3.066639e-03 5.426568e-03 1.720419e-03 1.346149e-03 2.432506e-03 + 3625 2.229178e-03 4.309942e-03 3.112725e-03 3.097345e-03 2.976022e-03 + 3626 1.757687e-03 9.916286e-04 8.201168e-04 1.729063e-03 3.640584e-04 + 3627 2.683079e-03 2.365877e-03 6.259873e-03 2.978858e-03 3.048047e-03 + 3628 3.360790e-03 2.106948e-03 1.628527e-03 2.831207e-03 1.012315e-03 + 3629 7.379906e-04 5.236173e-03 9.405831e-04 1.567782e-03 6.291501e-04 + 3630 2.586603e-03 9.578757e-04 1.450337e-03 2.360982e-03 2.724026e-03 + 3631 1.882544e-03 1.344984e-03 1.030742e-03 3.253551e-03 9.439347e-04 + 3632 2.198455e-03 1.568457e-03 1.396076e-03 7.715810e-04 2.311938e-03 + 3633 7.618240e-02 8.182425e-02 7.964586e-02 7.594495e-02 8.004230e-02 + 3634 4.042349e-01 4.261746e-01 4.215708e-01 3.970424e-01 4.086217e-01 + 3635 7.482279e-02 8.134693e-02 7.676832e-02 7.038434e-02 7.362711e-02 + 3636 2.295395e-03 3.029870e-03 2.938915e-03 3.456093e-03 1.561406e-03 + 3637 1.301607e-03 5.731613e-04 1.339225e-03 7.220855e-04 1.241009e-03 + 3638 2.318306e-03 1.966759e-03 9.914621e-04 2.287826e-03 1.733991e-03 + 3639 6.163836e-04 1.727938e-03 1.639889e-03 1.762781e-03 2.073669e-03 + 3640 2.165326e-03 9.982653e-04 1.223952e-03 1.574762e-03 1.522104e-03 + 3641 3.118430e-03 2.609984e-03 3.671752e-03 1.804141e-03 1.673487e-03 + 3642 5.652568e-04 1.581996e-03 9.191526e-04 1.199469e-03 9.311441e-04 + 3643 1.699139e-03 1.249253e-03 2.109764e-03 1.962813e-03 1.186829e-03 + 3644 1.158297e-03 1.011265e-03 1.530695e-04 8.921894e-04 9.034443e-04 + 3645 4.987495e-04 1.482006e-03 1.034193e-03 3.305927e-03 1.484382e-03 + 3646 3.053011e-03 7.624996e-04 2.990726e-03 1.803433e-03 1.634488e-03 + 3647 1.747558e-03 2.246224e-03 2.788437e-03 9.247541e-04 1.896135e-03 + 3648 2.754282e-03 9.681886e-04 3.264998e-03 9.970411e-04 2.293530e-04 + 3649 1.560121e-03 1.115185e-03 1.484659e-03 8.157597e-04 1.994215e-03 + 3650 7.765908e-04 4.078339e-04 1.023162e-03 9.748730e-04 6.705944e-04 + 3651 1.142469e-03 2.112545e-03 1.092623e-03 1.221189e-03 1.358282e-03 + 3652 3.856809e-04 1.053148e-03 1.669146e-03 9.977942e-04 1.229896e-03 + 3653 1.981570e-03 8.636372e-04 3.382843e-04 6.007309e-04 5.956480e-04 + 3654 9.808939e-04 3.669272e-04 6.670951e-04 3.603143e-04 1.588991e-03 + 3655 8.725869e-04 1.446695e-03 1.549263e-03 2.324881e-03 1.901893e-03 + 3656 2.176194e-03 2.297009e-03 1.347018e-03 1.694397e-03 2.026010e-03 + 3657 9.833765e-04 2.030647e-03 1.605244e-03 2.055765e-03 2.681754e-03 + 3658 1.376004e-03 8.230384e-04 5.554655e-04 2.360431e-03 7.370264e-04 + 3659 1.177167e-03 1.070467e-03 4.340188e-04 1.322596e-03 1.325873e-03 + 3660 2.535394e-03 2.142825e-03 1.830886e-03 1.248618e-03 1.320363e-03 + 3661 1.068126e-03 7.880294e-04 8.618097e-04 1.472376e-03 1.190113e-04 + 3662 1.943878e-03 1.246433e-03 9.981649e-04 1.472313e-03 1.563112e-03 + 3663 1.329457e-03 1.349823e-03 1.282784e-03 1.747484e-03 5.311417e-04 + 3664 1.363384e-03 1.126246e-03 1.532315e-03 1.944131e-03 9.369550e-04 + 3665 1.051903e-03 7.282198e-04 3.551879e-04 9.184398e-04 1.019579e-03 + 3666 5.619372e-04 1.209505e-03 9.356688e-04 1.001121e-03 1.074544e-03 + 3667 1.421717e-03 2.179641e-04 1.185504e-03 1.030605e-03 8.911678e-04 + 3668 1.473478e-03 4.425653e-04 1.248639e-03 5.532564e-04 1.094900e-03 + 3669 3.653724e-04 9.077462e-04 1.331733e-03 9.866423e-04 4.197325e-04 + 3670 8.504502e-04 8.329062e-04 2.876640e-04 4.098878e-04 6.315502e-04 + 3671 9.175757e-04 7.058157e-04 2.721768e-03 2.328040e-03 6.344299e-04 + 3672 9.233032e-04 2.080137e-03 1.560167e-03 1.202623e-03 8.748517e-04 + 3673 1.008730e-03 3.066534e-03 1.103303e-03 1.084766e-03 1.022674e-03 + 3674 1.039597e-03 7.162184e-04 1.111207e-03 9.303988e-04 1.157527e-03 + 3675 4.111601e-04 1.728255e-04 4.877414e-04 5.425345e-04 1.011489e-03 + 3676 1.335227e-03 2.286485e-03 1.085677e-03 9.421284e-04 1.020178e-03 + 3677 2.299224e-03 2.374748e-03 3.075538e-03 1.500466e-03 1.707719e-03 + 3678 9.902414e-03 1.039025e-02 1.171788e-02 7.054738e-03 6.900083e-03 + 3679 1.341520e-03 1.575574e-03 2.647495e-03 1.371124e-03 1.183224e-03 + 3680 1.200349e-03 1.646333e-03 1.245105e-03 1.296049e-03 6.474469e-04 + 3681 9.481141e-04 1.187122e-03 1.468703e-03 1.349618e-03 1.218392e-03 + 3682 4.328235e-04 1.069919e-03 1.480181e-03 1.804174e-03 2.168899e-04 + 3683 2.243453e-03 2.676085e-03 2.051862e-03 2.480090e-03 2.453357e-03 + 3684 7.623319e-03 1.183951e-02 7.754794e-03 7.540817e-03 9.253646e-03 + 3685 2.131824e-03 4.104966e-03 3.158660e-03 2.096589e-03 1.618327e-03 + 3686 1.712129e-03 9.219883e-04 8.579664e-04 5.034780e-04 4.797549e-04 + 3687 1.323962e-03 1.044241e-03 1.507903e-03 2.456655e-03 1.247987e-03 + 3688 1.070960e-03 8.119917e-04 7.320470e-04 2.086520e-03 7.002531e-04 + 3689 1.883862e-03 1.645551e-03 1.754363e-03 1.563810e-03 2.393981e-03 + 3690 6.509303e-03 6.584012e-03 7.122646e-03 3.849892e-03 3.561554e-03 + 3691 2.558793e-03 3.203520e-03 2.703774e-03 1.194150e-03 1.760379e-03 + 3692 3.439491e-04 1.086169e-03 8.744665e-04 3.406637e-04 6.245070e-04 + 3693 5.813290e-04 1.423360e-03 1.605134e-04 6.254629e-04 5.946770e-04 + 3694 5.837875e-04 8.809498e-04 8.057188e-04 1.740526e-03 4.721876e-04 + 3695 7.416529e-04 4.477365e-04 6.020718e-04 9.460685e-04 2.154092e-04 + 3696 4.069359e-04 1.235481e-03 5.294008e-04 1.043056e-03 3.082182e-04 + 3697 6.048213e-04 9.510771e-04 1.698862e-03 1.556853e-03 1.346082e-03 + 3698 5.116641e-04 5.561093e-04 1.294346e-03 6.529011e-04 2.907610e-04 + 3699 1.979215e-03 3.114163e-04 7.037460e-04 2.906993e-04 5.997794e-04 + 3700 1.048738e-03 1.817903e-03 1.385001e-04 6.761697e-04 3.453443e-04 + 3701 1.977853e-03 1.787612e-03 1.257174e-03 8.578516e-04 1.703587e-03 + 3702 2.110310e-03 2.365410e-03 1.718276e-03 1.004972e-03 2.126664e-03 + 3703 1.095061e-03 9.594625e-04 5.315150e-04 7.644859e-04 1.072176e-03 + 3704 7.194475e-04 7.118026e-04 5.102993e-04 1.660492e-03 1.168613e-03 + 3705 2.050754e-04 5.946324e-04 8.271916e-04 1.250502e-03 1.703383e-03 + 3706 1.630299e-04 1.914514e-04 1.458467e-04 8.124550e-04 3.424266e-04 + 3707 2.399016e-03 2.055040e-03 8.038232e-04 1.533487e-03 1.095660e-03 + 3708 1.128784e-03 8.222186e-04 8.702740e-04 7.845696e-04 9.035936e-04 + 3709 1.416292e-03 9.345564e-04 1.978782e-03 1.721373e-03 4.501905e-04 + 3710 7.244435e-04 6.477081e-04 7.994441e-04 7.431596e-04 2.498241e-04 + 3711 4.246305e-04 5.799335e-04 1.601011e-03 7.573289e-04 6.281542e-04 + 3712 1.128201e-03 1.056277e-04 3.524878e-04 1.345923e-04 1.028671e-04 + 3713 1.152792e+00 1.186040e+00 1.317788e+00 1.273754e+00 1.327204e+00 + 3714 2.109178e+02 2.154405e+02 2.162795e+02 2.114377e+02 2.130080e+02 + 3715 3.319044e+02 3.366471e+02 3.388699e+02 3.313382e+02 3.347824e+02 + 3716 1.356464e+01 1.381081e+01 1.400735e+01 1.362507e+01 1.375470e+01 + 3717 4.823496e-02 4.304405e-02 3.862990e-02 4.641130e-02 4.137544e-02 + 3718 1.702787e-02 1.428579e-02 2.196785e-02 1.963023e-02 2.250864e-02 + 3719 1.100691e-01 9.390137e-02 1.186714e-01 1.032934e-01 1.020819e-01 + 3720 3.467561e-01 3.047391e-01 4.097798e-01 3.310696e-01 3.715099e-01 + 3721 6.314981e-02 4.882797e-02 7.373769e-02 5.729571e-02 5.634835e-02 + 3722 1.772098e-02 2.409539e-02 1.520153e-02 1.374327e-02 2.028419e-02 + 3723 1.126493e-02 1.378357e-02 1.381219e-02 1.098550e-02 1.057135e-02 + 3724 1.374268e-02 1.600550e-02 7.891259e-03 1.415376e-02 1.210426e-02 + 3725 1.326342e-02 1.935764e-02 1.865678e-02 1.620226e-02 2.484567e-02 + 3726 8.945195e-03 1.322386e-02 5.729033e-03 9.229823e-03 8.882172e-03 + 3727 5.041715e-03 5.126831e-03 8.657512e-03 7.193496e-03 9.875355e-03 + 3728 6.821185e-03 9.433215e-03 3.764212e-03 5.355655e-03 3.482234e-03 + 3729 7.457536e-03 4.356705e-03 9.688059e-03 8.135984e-03 8.336264e-03 + 3730 9.336560e-03 1.225379e-02 7.121926e-03 1.127046e-02 4.183532e-03 + 3731 2.700347e-03 2.800833e-03 4.454980e-03 3.557732e-03 3.920247e-03 + 3732 5.918159e-03 9.909755e-03 5.523414e-03 5.974260e-03 5.782928e-03 + 3733 1.464671e-03 1.504964e-03 2.424323e-03 5.067165e-03 2.417642e-03 + 3734 8.896238e-03 9.381515e-03 6.044563e-03 4.475225e-03 3.807326e-03 + 3735 1.800504e-03 1.084669e-03 1.966273e-03 1.592029e-03 5.088773e-03 + 3736 6.601133e-03 4.144180e-03 4.231170e-03 2.349197e-03 2.680735e-03 + 3737 4.089720e-03 5.165462e-03 4.032522e-03 8.461084e-03 7.656937e-03 + 3738 3.306061e-03 1.468538e-03 1.514612e-03 9.872669e-04 3.335343e-03 + 3739 3.590505e-03 3.320103e-03 4.495982e-03 5.105941e-03 3.415139e-03 + 3740 3.412631e-03 2.127476e-03 6.486395e-04 2.198258e-03 2.019556e-03 + 3741 2.678272e-03 5.421624e-03 5.182695e-03 1.464494e-03 3.873027e-03 + 3742 1.981958e-03 3.192378e-03 1.988634e-03 2.593465e-03 3.384373e-03 + 3743 2.514933e-03 1.632533e-03 2.938879e-03 2.420053e-03 1.348831e-03 + 3744 1.247598e-03 2.814943e-03 3.890519e-03 2.519265e-03 2.001574e-03 + 3745 3.470372e-03 1.739741e-03 3.186422e-03 4.739345e-03 2.685991e-03 + 3746 2.406086e-03 3.013073e-03 1.130245e-03 1.638591e-03 1.619729e-03 + 3747 3.029483e-03 3.863355e-03 4.291420e-03 4.354721e-03 1.996973e-03 + 3748 8.235496e-04 3.631705e-03 1.629412e-03 1.901602e-03 2.941303e-03 + 3749 1.426495e-03 1.750116e-03 1.683522e-03 9.608056e-04 2.216472e-03 + 3750 1.642588e-03 1.710581e-03 3.635653e-03 3.015899e-03 1.803515e-03 + 3751 2.256584e-03 1.878017e-03 1.524912e-03 9.360571e-04 9.459939e-04 + 3752 4.698674e-03 4.322767e-03 2.730537e-03 3.540586e-03 4.473567e-03 + 3753 1.913211e-03 1.296229e-03 1.544686e-03 8.550518e-04 1.356790e-03 + 3754 1.673227e-03 3.457798e-03 1.369357e-03 1.350016e-03 1.531266e-03 + 3755 2.114917e-03 8.121504e-04 2.409777e-03 1.580381e-03 1.053313e-03 + 3756 2.251020e-03 1.644388e-03 1.547418e-03 2.192873e-03 9.932284e-04 + 3757 2.723473e-03 1.544698e-03 1.737561e-03 6.272816e-03 5.081489e-03 + 3758 1.574453e-03 6.125438e-04 1.578438e-03 8.854595e-04 1.275672e-03 + 3759 9.962107e-04 3.242878e-03 3.801185e-03 3.993618e-03 1.729000e-03 + 3760 1.613670e-03 2.176950e-03 1.438081e-03 1.102683e-03 1.653848e-03 + 3761 7.717028e-02 8.422820e-02 8.572399e-02 7.923945e-02 8.399792e-02 + 3762 4.186390e-01 4.283999e-01 4.263796e-01 4.226141e-01 4.445905e-01 + 3763 7.945321e-02 8.040830e-02 7.840291e-02 7.898315e-02 8.132293e-02 + 3764 7.906210e-04 1.268030e-03 8.739118e-04 1.123187e-03 5.539845e-04 + 3765 1.345416e-03 2.815145e-03 1.201298e-03 2.175026e-03 3.572726e-03 + 3766 1.721440e-03 1.920565e-03 1.093347e-03 4.793378e-04 1.319666e-03 + 3767 2.177284e-04 8.158145e-04 1.186029e-03 1.113742e-03 8.361921e-04 + 3768 1.139195e-03 1.818687e-03 9.064019e-04 1.199216e-03 5.955291e-04 + 3769 1.715761e-03 1.666326e-03 1.128965e-03 8.987175e-04 2.778379e-03 + 3770 1.075796e-03 1.261728e-03 1.134255e-03 2.057553e-03 9.321872e-04 + 3771 1.145649e-03 1.145639e-03 2.081500e-03 9.524806e-04 7.383501e-04 + 3772 9.395567e-04 2.135993e-03 9.028574e-04 1.170138e-03 5.303602e-04 + 3773 3.302684e-04 1.042093e-03 1.263280e-03 2.773342e-04 1.192997e-03 + 3774 1.736164e-03 1.329760e-03 2.842685e-03 1.247519e-03 1.819045e-03 + 3775 2.175616e-03 7.109058e-04 3.674709e-03 2.098184e-03 2.603766e-03 + 3776 3.076172e-04 1.182397e-03 2.453980e-03 6.214664e-04 1.760158e-03 + 3777 9.702389e-04 1.643116e-03 2.045590e-03 7.249481e-04 1.747460e-03 + 3778 1.876136e-03 7.642183e-04 2.700313e-03 9.050133e-04 1.141677e-03 + 3779 1.400091e-03 2.062460e-03 2.009866e-03 1.247390e-03 6.130344e-04 + 3780 8.204906e-04 1.464097e-03 6.793893e-04 2.056610e-03 1.260228e-03 + 3781 9.675438e-04 1.528414e-03 1.534774e-03 1.527525e-03 1.025328e-03 + 3782 1.477887e-03 1.739450e-03 1.055147e-03 1.318340e-03 1.075480e-03 + 3783 6.771068e-04 1.426617e-03 4.271341e-04 1.190184e-03 6.525131e-04 + 3784 2.709342e-03 2.155134e-03 1.110955e-03 1.443521e-03 1.175916e-03 + 3785 4.994793e-04 5.699571e-04 6.618776e-04 4.771809e-04 6.845036e-04 + 3786 1.551578e-03 1.651379e-03 2.699416e-04 7.283133e-04 8.326553e-04 + 3787 1.600809e-03 2.124637e-03 7.879002e-04 7.796572e-04 8.394465e-04 + 3788 2.718090e-03 1.661892e-03 1.223896e-03 2.430278e-03 8.620406e-04 + 3789 1.019389e-03 1.373427e-03 1.084708e-03 1.124852e-03 7.064785e-04 + 3790 5.685350e-04 3.005329e-04 4.788849e-04 1.866323e-03 8.327257e-04 + 3791 1.544571e-03 2.015866e-03 7.094975e-04 3.301298e-04 2.089182e-03 + 3792 1.453093e-03 1.795215e-03 1.005686e-03 1.956943e-03 1.352181e-03 + 3793 6.589083e-04 9.386015e-04 7.454461e-04 2.253104e-04 8.699544e-04 + 3794 9.955875e-04 7.668117e-04 5.070175e-04 7.802154e-04 5.756511e-04 + 3795 2.067533e-04 4.541151e-04 3.023931e-04 4.345891e-04 9.518042e-04 + 3796 1.170662e-03 1.775238e-03 1.424229e-03 5.189489e-04 4.013968e-04 + 3797 7.028037e-04 8.331361e-04 4.749172e-04 1.423949e-04 1.192730e-03 + 3798 1.260346e-03 7.816451e-04 1.372247e-03 1.289557e-03 1.325857e-03 + 3799 1.112090e-03 6.376546e-04 3.206527e-04 1.246607e-03 2.434525e-03 + 3800 1.871041e-03 1.272158e-03 6.454169e-04 1.399379e-03 1.328691e-03 + 3801 7.377079e-04 4.623373e-04 9.527664e-05 1.029464e-03 7.204002e-04 + 3802 1.694602e-03 1.482212e-03 8.325207e-04 1.778934e-03 1.795844e-03 + 3803 8.666266e-04 1.339716e-03 1.212923e-03 7.149419e-04 1.010324e-03 + 3804 8.384256e-04 2.313717e-03 1.335501e-03 1.125359e-03 8.359611e-04 + 3805 3.974773e-03 5.429477e-03 4.261698e-03 4.906227e-03 3.362284e-03 + 3806 1.096924e-02 1.218684e-02 1.272503e-02 8.272893e-03 1.015155e-02 + 3807 1.895194e-03 2.226183e-03 1.967743e-03 1.005110e-03 1.557065e-03 + 3808 1.249014e-03 1.564972e-03 1.314283e-03 2.630087e-03 1.652962e-03 + 3809 5.881801e-04 3.124707e-04 6.792513e-04 1.085833e-03 1.159256e-03 + 3810 5.213849e-04 7.605695e-04 4.498672e-04 1.657772e-03 1.086336e-03 + 3811 2.734930e-03 3.390588e-03 2.309020e-03 3.143490e-03 2.722287e-03 + 3812 8.596930e-03 7.276854e-03 3.996303e-03 5.513810e-03 5.910040e-03 + 3813 2.166021e-03 1.590114e-03 1.349065e-03 1.487039e-03 1.565255e-03 + 3814 8.381602e-04 1.228528e-03 1.213699e-03 9.279423e-04 1.844251e-03 + 3815 1.592347e-04 1.206663e-03 2.071117e-04 1.302545e-03 6.093924e-04 + 3816 3.898718e-04 1.211876e-03 8.002696e-04 1.065193e-03 1.053123e-03 + 3817 2.190258e-03 1.559893e-03 1.127137e-03 1.508539e-03 1.930103e-03 + 3818 7.006260e-03 6.444094e-03 3.688747e-03 4.422294e-03 6.231186e-03 + 3819 1.717270e-03 2.542073e-03 1.042881e-03 1.158205e-03 1.472684e-03 + 3820 7.510584e-04 7.130623e-04 1.501426e-03 8.521754e-04 1.639939e-03 + 3821 1.292969e-03 4.865845e-04 6.679923e-04 3.545713e-04 9.181712e-04 + 3822 4.757736e-04 1.156445e-03 1.999349e-04 8.678650e-04 6.150789e-04 + 3823 1.926390e-03 5.187478e-04 5.614911e-04 7.952888e-04 7.666712e-04 + 3824 1.279573e-03 5.969610e-04 6.629507e-04 4.274303e-04 3.758651e-04 + 3825 1.020672e-04 5.627962e-04 3.581393e-04 2.392118e-04 1.298692e-03 + 3826 7.906041e-04 3.461122e-04 2.008630e-04 1.186430e-03 2.880361e-04 + 3827 1.714019e-04 4.262814e-04 3.095277e-04 5.176710e-04 5.178825e-04 + 3828 1.726692e-03 1.154947e-03 9.340705e-04 4.816424e-04 4.962602e-04 + 3829 9.830633e-04 5.954270e-04 8.379732e-04 4.511914e-04 5.413287e-04 + 3830 1.868169e-03 8.663848e-04 1.145236e-03 8.063053e-04 1.969790e-03 + 3831 1.141988e-03 6.138904e-04 7.829008e-04 8.245934e-04 1.070949e-03 + 3832 1.408368e-03 6.299966e-04 9.225138e-04 7.633480e-04 1.452783e-04 + 3833 7.377695e-04 5.754727e-04 4.191152e-04 1.938462e-04 5.587569e-04 + 3834 1.072832e-03 6.595908e-04 1.360479e-03 4.382763e-04 7.925186e-04 + 3835 7.350209e-04 1.045929e-03 5.741974e-04 8.331180e-04 1.140428e-03 + 3836 2.350844e-04 1.139121e-03 1.705665e-03 5.290468e-04 1.357333e-03 + 3837 7.823985e-04 1.711715e-03 3.255364e-04 2.823237e-04 1.138194e-03 + 3838 1.192474e-03 2.358237e-03 9.315145e-04 7.585794e-04 1.548394e-03 + 3839 5.551137e-04 1.446594e-03 3.070338e-04 8.385533e-04 4.201022e-04 + 3840 2.505469e-04 2.581255e-03 5.260800e-04 6.311737e-05 5.844613e-04 + 3841 1.226434e+00 1.275718e+00 1.412668e+00 1.284498e+00 1.205262e+00 + 3842 2.111923e+02 2.141124e+02 2.152849e+02 2.111214e+02 2.121914e+02 + 3843 3.321765e+02 3.378695e+02 3.386988e+02 3.317826e+02 3.340966e+02 + 3844 1.367324e+01 1.397881e+01 1.364764e+01 1.356752e+01 1.345532e+01 + 3845 2.383182e-02 3.488880e-02 3.350218e-02 5.229569e-02 4.534149e-02 + 3846 4.130961e-02 3.799127e-02 2.311507e-02 3.341001e-02 3.097885e-02 + 3847 1.256126e-01 9.029228e-02 1.327536e-01 1.055264e-01 1.084133e-01 + 3848 3.891990e-01 3.097380e-01 3.663169e-01 3.481378e-01 3.316924e-01 + 3849 7.551136e-02 7.611930e-02 7.326644e-02 6.279883e-02 5.690895e-02 + 3850 1.652145e-02 2.350819e-02 2.488785e-02 2.422238e-02 2.364974e-02 + 3851 2.191941e-02 1.574746e-02 1.465303e-02 1.514938e-02 1.213252e-02 + 3852 7.489690e-03 1.062149e-02 1.137400e-02 6.439396e-03 1.066021e-02 + 3853 3.702635e-02 3.584866e-02 2.174789e-02 3.561653e-02 2.756373e-02 + 3854 9.456627e-03 1.002093e-02 8.700600e-03 8.356737e-03 1.168127e-02 + 3855 1.122134e-02 1.503724e-02 7.398194e-03 7.851367e-03 4.047223e-03 + 3856 9.208956e-03 7.902518e-03 8.977272e-03 8.246213e-03 1.163618e-02 + 3857 3.178073e-03 4.037827e-03 5.424588e-03 4.070690e-03 3.034077e-03 + 3858 1.385011e-02 1.175543e-02 1.215271e-02 1.185151e-02 1.745274e-02 + 3859 3.483441e-03 3.312513e-03 1.391828e-03 3.612306e-03 2.887972e-03 + 3860 8.797678e-03 4.864430e-03 7.660629e-03 6.088373e-03 7.138125e-03 + 3861 3.480958e-03 5.581846e-03 2.392120e-03 3.685147e-03 5.752438e-03 + 3862 5.223748e-03 3.727030e-03 4.679057e-03 4.668155e-03 1.936908e-03 + 3863 2.710931e-03 7.379718e-03 4.068502e-03 2.546891e-03 7.963705e-03 + 3864 6.695610e-03 4.777463e-03 6.215195e-03 7.123708e-03 3.145704e-03 + 3865 1.863889e-03 3.037485e-03 2.928651e-03 5.646697e-03 2.145903e-03 + 3866 4.408214e-03 5.024644e-03 4.399354e-03 1.855598e-03 4.543868e-03 + 3867 3.995714e-03 1.797399e-03 3.687374e-03 3.798057e-03 2.156431e-03 + 3868 1.923827e-03 2.754941e-03 3.080699e-03 3.256162e-03 4.779270e-03 + 3869 3.392448e-03 3.018002e-03 2.891283e-03 1.597827e-03 8.626231e-04 + 3870 1.966948e-03 2.133600e-03 2.396118e-03 4.039782e-03 4.084791e-03 + 3871 4.236319e-03 5.911509e-03 2.402351e-03 1.685749e-03 1.977441e-03 + 3872 1.678837e-03 2.844094e-03 4.438436e-03 3.773404e-03 3.790761e-03 + 3873 2.047089e-03 3.276965e-03 1.682306e-03 4.576677e-03 1.218457e-03 + 3874 3.221627e-03 4.534129e-03 3.144401e-03 1.328824e-03 2.490408e-03 + 3875 1.067850e-03 2.493878e-03 1.630637e-03 2.721154e-03 1.325776e-03 + 3876 4.146806e-03 4.419650e-03 3.231976e-03 2.555553e-03 3.138070e-03 + 3877 1.466336e-03 2.068772e-03 3.320204e-03 2.370049e-03 1.060759e-03 + 3878 4.027497e-03 2.374564e-03 2.305107e-03 3.155881e-03 3.070614e-03 + 3879 5.330842e-03 5.920201e-04 1.668502e-03 3.594524e-03 3.181661e-03 + 3880 2.112227e-03 2.802440e-03 1.357317e-03 9.797593e-04 4.633302e-04 + 3881 1.012221e-03 1.143368e-03 7.404618e-04 1.407382e-03 1.660015e-03 + 3882 1.758204e-03 6.227181e-03 1.213614e-03 1.265890e-03 1.581015e-03 + 3883 1.837657e-03 2.255765e-03 1.771292e-03 2.744948e-03 2.161456e-03 + 3884 1.185121e-03 2.076843e-03 2.541812e-03 4.420238e-04 1.773609e-03 + 3885 1.856010e-03 2.013241e-03 1.287300e-03 2.386163e-03 1.703754e-03 + 3886 8.142598e-04 2.300899e-03 7.742579e-04 2.991359e-03 2.030025e-03 + 3887 1.722456e-03 4.996353e-03 1.424798e-03 2.180402e-03 9.751523e-04 + 3888 2.265835e-03 2.551111e-03 1.474099e-03 1.559075e-03 1.595326e-03 + 3889 7.906952e-02 7.007438e-02 7.866653e-02 7.271214e-02 8.521882e-02 + 3890 4.355840e-01 4.266541e-01 4.477270e-01 4.410892e-01 4.735210e-01 + 3891 7.869131e-02 7.393347e-02 8.403955e-02 7.886721e-02 8.569180e-02 + 3892 4.792467e-04 6.042011e-04 2.480513e-04 1.122540e-03 1.232832e-03 + 3893 1.978454e-03 1.913356e-03 1.522224e-03 2.479696e-03 1.537914e-03 + 3894 1.599262e-03 2.837628e-03 9.879360e-04 1.013984e-03 1.447788e-03 + 3895 1.343771e-03 6.098916e-04 1.284354e-03 5.244944e-04 1.230563e-03 + 3896 7.179849e-04 2.177697e-03 1.131224e-03 1.373448e-03 7.888832e-04 + 3897 2.074494e-03 6.665471e-04 1.154589e-03 1.856026e-03 1.848182e-03 + 3898 3.253687e-04 1.546805e-03 1.263159e-03 8.942882e-04 1.354082e-03 + 3899 1.419455e-03 1.379204e-03 1.167858e-03 1.564650e-03 7.828821e-04 + 3900 1.212989e-03 1.714043e-03 4.146246e-04 3.239917e-04 2.092932e-03 + 3901 1.145963e-03 6.747573e-04 2.382433e-03 1.599926e-03 8.842810e-04 + 3902 1.001597e-03 1.655997e-03 1.606962e-03 2.021069e-03 2.081564e-03 + 3903 9.660612e-04 5.652618e-04 1.186423e-03 9.878220e-04 9.929557e-04 + 3904 1.987502e-03 2.814489e-03 2.761794e-03 1.078250e-03 1.222307e-03 + 3905 2.760046e-03 1.991999e-03 1.560474e-03 6.357261e-04 2.140170e-03 + 3906 1.039409e-03 1.211492e-03 1.083192e-03 6.645177e-04 4.997776e-04 + 3907 2.776265e-03 1.595289e-03 1.525731e-03 1.807376e-03 2.092432e-03 + 3908 6.548791e-04 4.904422e-04 1.989489e-03 1.508397e-03 5.127472e-04 + 3909 1.403392e-03 8.893203e-04 1.515885e-03 1.338503e-03 1.044385e-03 + 3910 6.166959e-04 1.289551e-03 1.052387e-03 8.676277e-04 9.050010e-04 + 3911 8.813062e-04 1.120749e-03 7.672300e-04 1.747578e-03 1.776087e-03 + 3912 1.425028e-03 7.615553e-04 7.463246e-04 3.467680e-04 1.196054e-03 + 3913 1.310314e-03 1.226748e-03 6.657937e-04 1.150132e-03 1.444632e-03 + 3914 1.033077e-03 2.639768e-04 1.410498e-03 6.872415e-04 7.897090e-04 + 3915 7.587824e-04 1.689971e-03 5.358212e-04 9.284102e-04 1.549274e-03 + 3916 1.053715e-03 1.003141e-03 6.868338e-04 6.991379e-04 9.214925e-04 + 3917 8.606947e-04 1.401025e-03 5.218543e-04 1.659079e-03 1.116117e-03 + 3918 3.205384e-04 9.155939e-04 8.130603e-04 6.952915e-04 2.601991e-04 + 3919 2.435420e-03 1.336308e-03 2.217363e-03 3.212276e-03 1.151909e-03 + 3920 1.034183e-03 2.435495e-03 5.746494e-04 5.849046e-04 3.768995e-04 + 3921 6.690523e-04 2.783530e-03 1.513292e-03 1.329597e-03 8.770949e-04 + 3922 1.573632e-03 2.627444e-03 2.476736e-03 2.227649e-03 1.550160e-03 + 3923 8.756852e-04 1.424395e-03 3.338302e-03 1.059846e-03 5.587137e-04 + 3924 5.942086e-04 1.170707e-03 1.075703e-03 1.348363e-03 1.100729e-03 + 3925 2.062692e-03 1.744088e-03 2.073377e-03 1.647001e-03 9.289897e-04 + 3926 7.854751e-04 5.503475e-04 4.994652e-04 2.206221e-03 6.889468e-04 + 3927 1.564709e-03 1.391644e-03 7.053658e-04 6.291925e-04 8.599970e-04 + 3928 4.925244e-04 9.045865e-04 1.056924e-03 8.629964e-04 1.631200e-03 + 3929 9.143501e-04 5.095024e-04 5.431130e-04 1.025339e-03 1.019184e-03 + 3930 1.915723e-03 1.058354e-03 1.665034e-03 8.512740e-04 1.112016e-03 + 3931 1.418138e-03 2.167728e-03 1.636117e-03 1.503703e-03 9.053932e-04 + 3932 1.507713e-03 2.762906e-04 1.037680e-03 7.344302e-04 5.804755e-04 + 3933 2.025280e-03 1.053026e-03 1.908657e-03 1.471784e-03 2.274199e-03 + 3934 4.597094e-03 8.389522e-03 5.170828e-03 4.212027e-03 9.048194e-03 + 3935 1.977688e-03 1.839221e-03 1.508976e-03 9.138020e-04 1.676723e-03 + 3936 2.161379e-03 5.021473e-04 2.012651e-03 1.033032e-03 1.640127e-03 + 3937 2.722707e-03 1.182567e-03 7.796426e-04 1.143916e-03 7.594063e-04 + 3938 2.862377e-03 1.757799e-03 1.318804e-03 7.527120e-04 6.998172e-04 + 3939 2.550389e-03 1.082459e-03 2.395109e-03 4.301242e-03 3.734308e-03 + 3940 7.823203e-03 5.205500e-03 6.619102e-03 7.939361e-03 1.160392e-02 + 3941 2.425058e-03 2.188803e-03 2.513897e-03 1.647895e-03 1.417086e-03 + 3942 4.955504e-04 1.264103e-03 5.507844e-04 2.445866e-03 1.152550e-03 + 3943 3.618212e-04 8.905303e-04 6.551965e-04 8.804773e-04 5.528931e-04 + 3944 9.999496e-04 7.743197e-04 8.163938e-04 1.097426e-03 1.140062e-03 + 3945 1.823782e-03 1.251942e-03 1.900551e-03 1.061341e-03 4.342534e-04 + 3946 5.809499e-03 2.662645e-03 1.500726e-03 6.073345e-04 3.686692e-03 + 3947 2.272032e-03 3.136428e-03 1.687834e-03 1.168933e-03 6.171289e-04 + 3948 2.848967e-04 3.368433e-04 5.210916e-04 7.044913e-04 1.345257e-03 + 3949 1.259283e-03 8.460597e-04 1.169984e-03 1.210348e-03 7.915839e-04 + 3950 4.598627e-04 1.312718e-03 3.184015e-04 1.320652e-03 7.517556e-04 + 3951 7.564399e-04 2.741463e-04 1.034511e-03 9.746398e-04 1.196449e-03 + 3952 1.149617e-03 1.263665e-03 5.196395e-04 9.973833e-04 2.424887e-03 + 3953 4.338984e-04 7.879117e-04 9.104358e-04 9.700983e-04 1.051325e-03 + 3954 3.514551e-04 1.047070e-03 5.512607e-04 1.314648e-03 1.396596e-03 + 3955 1.078119e-03 3.213583e-04 1.033383e-03 1.478428e-03 9.060450e-04 + 3956 4.761083e-04 1.146639e-03 4.440414e-04 1.334880e-03 5.150239e-04 + 3957 1.035011e-03 1.337142e-03 4.188056e-04 3.022973e-04 3.829168e-04 + 3958 3.312122e-03 2.342208e-03 3.587887e-03 2.580024e-03 2.615885e-03 + 3959 1.209106e-03 8.379505e-04 1.516264e-03 1.373099e-03 8.396152e-04 + 3960 1.470061e-03 6.333401e-04 1.354059e-03 8.403505e-04 1.024809e-03 + 3961 5.231782e-04 1.871394e-03 8.010705e-04 4.842624e-04 2.263883e-04 + 3962 2.047204e-04 5.570044e-04 1.051642e-03 1.443810e-03 1.016143e-03 + 3963 1.334800e-03 6.044248e-04 6.603249e-04 6.040105e-04 2.712575e-04 + 3964 5.532994e-04 1.537163e-03 1.808564e-03 1.037946e-03 9.364568e-04 + 3965 8.089095e-04 2.908901e-04 2.139009e-04 9.953682e-04 5.270020e-04 + 3966 1.122940e-03 1.513280e-03 9.026938e-04 6.166441e-04 6.694643e-04 + 3967 3.551759e-04 2.101946e-04 4.505097e-04 1.562851e-03 6.800473e-04 + 3968 6.796099e-04 1.281056e-03 7.008156e-04 2.910803e-03 9.328467e-04 + 3969 1.216082e+00 1.280160e+00 1.209033e+00 1.191243e+00 1.285309e+00 + 3970 2.104619e+02 2.160276e+02 2.158180e+02 2.118171e+02 2.130957e+02 + 3971 3.306651e+02 3.371493e+02 3.387832e+02 3.320462e+02 3.345630e+02 + 3972 1.371217e+01 1.375769e+01 1.407030e+01 1.363686e+01 1.412897e+01 + 3973 1.661414e-02 2.567858e-02 1.713240e-02 2.095199e-02 1.619427e-02 + 3974 2.497974e-02 2.612363e-02 2.064587e-02 2.569036e-02 2.641246e-02 + 3975 1.086013e-01 1.266651e-01 1.146079e-01 1.017719e-01 1.035947e-01 + 3976 3.529625e-01 3.371199e-01 3.513286e-01 3.048662e-01 3.456414e-01 + 3977 7.100243e-02 7.236512e-02 6.808203e-02 5.925798e-02 5.716015e-02 + 3978 1.507751e-02 9.630360e-03 1.127755e-02 1.037084e-02 9.640302e-03 + 3979 1.509112e-02 2.664450e-02 1.682485e-02 2.213330e-02 2.518936e-02 + 3980 1.229037e-02 1.347145e-02 1.378248e-02 1.176522e-02 1.094598e-02 + 3981 1.383338e-02 8.978095e-03 1.101088e-02 1.329194e-02 1.692370e-02 + 3982 6.153501e-03 9.004439e-03 8.746453e-03 1.302049e-02 1.292106e-02 + 3983 1.112458e-02 8.794258e-03 6.461436e-03 7.346468e-03 6.555413e-03 + 3984 6.517443e-03 1.089391e-02 6.928987e-03 9.452006e-03 6.598578e-03 + 3985 1.068690e-02 1.298765e-02 1.095050e-02 5.703143e-03 7.707164e-03 + 3986 7.160493e-03 8.347599e-03 3.604223e-03 1.040353e-02 4.576541e-03 + 3987 4.328530e-03 4.966222e-03 7.842245e-03 3.868442e-03 1.195633e-02 + 3988 3.098138e-03 3.016316e-03 1.227723e-03 4.007316e-03 8.614114e-04 + 3989 6.077619e-03 5.522975e-03 7.974188e-03 5.219835e-03 1.129429e-02 + 3990 3.945511e-03 4.976524e-03 2.098202e-03 2.834697e-03 3.369029e-03 + 3991 3.443922e-03 4.405731e-03 5.969304e-03 3.495528e-03 2.911181e-03 + 3992 5.302062e-03 9.904676e-03 4.381304e-03 6.237625e-03 4.572371e-03 + 3993 3.558347e-03 2.867604e-03 2.460594e-03 2.366376e-03 2.496532e-03 + 3994 2.369821e-03 4.834883e-03 6.229895e-03 3.837194e-03 3.162756e-03 + 3995 4.488213e-03 2.621509e-03 1.796708e-03 3.310880e-03 1.663384e-03 + 3996 2.052586e-03 3.029556e-03 4.056789e-03 1.766709e-03 2.985705e-03 + 3997 2.550413e-03 4.439243e-03 2.676845e-03 1.992535e-03 1.456093e-03 + 3998 1.709526e-03 9.301065e-04 1.510997e-03 2.902165e-03 1.824528e-03 + 3999 4.694680e-03 5.384935e-03 2.781602e-03 7.181223e-04 2.764317e-03 + 4000 1.027649e-03 4.495018e-03 3.252627e-03 2.959084e-03 2.581998e-03 + 4001 6.959856e-03 1.008535e-02 3.699981e-03 8.066678e-03 4.241265e-03 + 4002 2.508361e-03 3.588351e-03 3.343286e-03 3.527543e-03 1.979127e-03 + 4003 2.484518e-03 5.450035e-03 2.030527e-03 2.602750e-03 3.040207e-03 + 4004 1.487008e-03 2.091799e-03 1.940398e-03 1.273660e-03 8.366075e-04 + 4005 3.848089e-03 4.021937e-03 4.168659e-03 3.477463e-03 3.771763e-03 + 4006 8.454456e-04 2.540413e-03 3.192408e-03 2.940176e-03 2.796076e-03 + 4007 3.941841e-03 2.572629e-03 2.400201e-03 1.967510e-03 2.775465e-03 + 4008 2.031898e-03 2.125041e-03 1.712535e-03 2.690895e-03 1.261758e-03 + 4009 7.856837e-04 2.454136e-03 9.931345e-04 8.625634e-04 1.498767e-03 + 4010 2.085142e-03 3.632659e-03 1.198475e-03 1.407877e-03 2.168225e-03 + 4011 6.071183e-04 3.567330e-03 1.549695e-03 1.135460e-03 6.140701e-04 + 4012 1.786347e-03 2.512289e-03 4.544047e-04 1.348262e-03 2.258886e-03 + 4013 1.389800e-03 2.199154e-03 3.000258e-03 1.236454e-03 3.006796e-03 + 4014 8.030376e-04 3.105823e-03 1.151922e-03 1.629707e-03 1.101142e-03 + 4015 1.474811e-03 5.541836e-04 5.972120e-04 4.351298e-04 1.180655e-03 + 4016 1.223158e-03 2.440571e-03 1.122859e-03 6.461449e-04 1.702422e-03 + 4017 7.659348e-02 9.011788e-02 7.776181e-02 7.978065e-02 8.427867e-02 + 4018 4.220305e-01 4.608535e-01 4.426481e-01 4.286804e-01 4.502259e-01 + 4019 7.889196e-02 8.783566e-02 8.522155e-02 8.245058e-02 8.446428e-02 + 4020 1.426473e-03 8.105287e-04 1.359990e-03 8.646552e-04 7.748317e-04 + 4021 1.383728e-03 7.343799e-04 1.173113e-03 1.606592e-03 4.205979e-03 + 4022 2.238250e-03 1.610507e-03 1.470678e-03 1.583961e-03 2.177722e-04 + 4023 7.324749e-04 1.811439e-03 8.161750e-04 2.475160e-03 1.409669e-03 + 4024 2.499922e-03 4.260633e-03 1.850874e-03 3.063404e-03 2.825041e-03 + 4025 1.232636e-03 2.261488e-03 2.840226e-03 2.005154e-03 1.309585e-03 + 4026 1.656189e-03 7.075524e-04 2.187349e-03 1.829121e-03 2.241081e-03 + 4027 2.527154e-03 1.606920e-03 2.036497e-03 3.494700e-03 1.264718e-03 + 4028 1.672001e-03 7.266291e-04 2.712652e-04 6.619378e-04 1.104511e-03 + 4029 1.785712e-03 1.760930e-03 6.465972e-04 8.354447e-04 1.852291e-03 + 4030 1.375396e-03 1.154002e-03 3.676432e-04 9.360097e-04 6.459175e-04 + 4031 1.293893e-03 3.630288e-03 1.002672e-03 1.089991e-03 8.824068e-04 + 4032 2.103506e-03 1.903488e-03 2.916063e-03 9.645479e-04 4.121512e-04 + 4033 1.507448e-03 3.383011e-03 2.894949e-03 1.982719e-03 4.144614e-03 + 4034 1.639445e-03 1.043251e-03 1.589587e-03 7.926311e-04 9.673905e-04 + 4035 7.423914e-04 2.306261e-04 9.410393e-04 3.705688e-04 5.693775e-04 + 4036 9.516973e-04 1.397278e-03 1.936621e-03 1.658236e-03 1.248707e-03 + 4037 9.767596e-04 1.221444e-03 1.132399e-03 1.081789e-03 1.469110e-03 + 4038 1.313129e-03 2.159425e-04 1.004554e-03 9.963778e-04 7.364089e-04 + 4039 7.034352e-04 1.200803e-03 1.119019e-03 1.112590e-03 1.282795e-03 + 4040 1.504924e-03 5.697770e-04 1.205204e-03 1.278781e-03 1.405688e-03 + 4041 9.857215e-04 3.150657e-04 1.623890e-04 3.171772e-04 2.669595e-04 + 4042 2.896033e-03 1.781146e-03 1.259558e-03 1.885429e-03 1.045630e-03 + 4043 1.519234e-03 4.381662e-04 5.313423e-04 1.491113e-03 6.330594e-04 + 4044 1.732217e-03 9.273035e-04 2.382887e-03 3.147758e-03 1.355592e-03 + 4045 9.847911e-04 1.922855e-03 1.307022e-03 8.092884e-04 2.887851e-04 + 4046 5.762896e-04 1.258320e-04 9.166442e-05 8.495496e-04 7.404429e-04 + 4047 5.261725e-04 1.538262e-03 1.465242e-03 1.629895e-03 7.007269e-04 + 4048 2.812635e-04 1.628822e-03 8.660868e-04 1.624311e-03 1.425414e-04 + 4049 1.821310e-03 1.944915e-03 1.914828e-03 1.360391e-03 2.774538e-03 + 4050 9.172778e-04 2.844813e-03 2.432949e-03 7.917398e-04 1.856996e-03 + 4051 2.156977e-03 1.797351e-03 1.779619e-03 2.166910e-03 1.415899e-03 + 4052 5.575147e-04 1.459846e-03 8.699081e-04 8.613196e-04 1.478036e-03 + 4053 3.833037e-04 9.472007e-04 1.067181e-03 6.610459e-04 3.069676e-04 + 4054 2.165479e-03 1.475589e-03 1.140904e-03 3.470680e-04 1.299986e-03 + 4055 2.747239e-03 1.291078e-03 2.761503e-03 1.022978e-03 2.581728e-03 + 4056 5.151463e-04 4.723247e-04 5.361972e-04 3.877324e-04 7.420623e-04 + 4057 1.233746e-03 2.171383e-03 1.470432e-03 2.591203e-03 1.405105e-03 + 4058 5.201985e-04 5.353267e-04 8.132562e-04 1.726213e-04 3.076408e-04 + 4059 1.941579e-03 1.393512e-03 2.894270e-03 1.041845e-03 1.198371e-03 + 4060 2.381072e-03 3.987003e-04 1.437624e-03 5.278340e-04 2.037274e-03 + 4061 3.343312e-03 2.027258e-03 2.780430e-03 1.851728e-03 2.949869e-03 + 4062 5.412763e-03 7.036537e-03 6.832739e-03 5.452947e-03 3.657551e-03 + 4063 2.561188e-03 2.131245e-03 1.518949e-03 2.587120e-03 1.643955e-03 + 4064 2.061235e-03 4.624919e-04 6.527302e-04 6.279576e-04 6.024603e-04 + 4065 2.103463e-03 1.791327e-03 1.968112e-03 1.394756e-03 1.312721e-03 + 4066 3.251299e-04 3.993912e-04 1.046415e-03 7.514723e-04 1.366669e-03 + 4067 2.270572e-03 2.473310e-03 3.582190e-03 2.554027e-03 2.004786e-03 + 4068 6.151908e-03 9.962525e-03 9.470122e-03 1.026820e-02 1.152121e-02 + 4069 1.593345e-03 2.762047e-03 2.203634e-03 2.228212e-03 2.144029e-03 + 4070 1.098538e-03 1.474410e-03 4.014165e-04 8.239301e-04 1.396331e-03 + 4071 9.207618e-04 2.421137e-04 8.259184e-04 1.096243e-03 7.305052e-04 + 4072 8.046154e-04 8.739671e-04 8.781666e-04 5.275097e-04 5.403693e-04 + 4073 2.414349e-03 2.834505e-03 3.325611e-03 2.346317e-03 2.846984e-03 + 4074 5.476281e-03 5.708630e-03 7.585399e-03 6.467282e-03 1.084830e-02 + 4075 1.275793e-03 1.147732e-03 1.714805e-03 2.717589e-03 2.749029e-03 + 4076 9.685173e-04 1.571555e-03 9.594714e-04 7.636744e-04 1.704017e-03 + 4077 1.113225e-03 8.311903e-04 2.683135e-04 3.667470e-04 1.009943e-03 + 4078 1.423776e-03 1.311390e-03 3.156812e-04 2.756309e-04 1.256528e-03 + 4079 3.469456e-04 1.136461e-03 1.582306e-03 1.466656e-03 1.498780e-03 + 4080 5.678613e-04 4.553266e-04 4.171924e-04 5.496517e-04 4.189619e-04 + 4081 4.803667e-04 7.167412e-04 5.145667e-04 1.725905e-03 1.182039e-03 + 4082 2.872822e-04 6.495079e-04 2.281361e-04 9.865479e-04 4.436968e-04 + 4083 1.462641e-03 2.570858e-03 1.730145e-03 2.138417e-03 4.610909e-04 + 4084 2.246963e-04 2.919640e-04 1.140720e-03 9.600985e-04 4.854542e-04 + 4085 3.001865e-03 3.813488e-04 2.901786e-03 8.020109e-04 5.849705e-04 + 4086 4.120718e-03 7.089628e-04 4.539786e-04 7.510017e-04 1.104256e-03 + 4087 1.566577e-03 2.069584e-03 1.764744e-03 1.934051e-03 3.603800e-03 + 4088 6.351022e-04 7.434953e-04 5.613590e-04 2.222723e-04 7.590649e-04 + 4089 4.086594e-04 6.862992e-04 3.916753e-04 5.092954e-04 3.486022e-04 + 4090 2.147996e-03 1.165083e-03 1.192006e-03 9.826117e-04 4.765385e-04 + 4091 9.820514e-04 1.326443e-03 9.128469e-04 5.168951e-04 7.776976e-04 + 4092 1.080609e-03 1.656094e-03 1.403949e-03 1.535466e-03 9.822404e-04 + 4093 3.892430e-04 4.577889e-04 8.071467e-04 8.759113e-04 3.469797e-04 + 4094 4.051985e-04 1.574704e-03 3.395067e-04 7.994512e-04 2.548538e-04 + 4095 1.693607e-03 3.311737e-04 1.688992e-03 1.104626e-03 9.793970e-04 + 4096 1.131906e-03 7.066022e-04 4.214942e-05 1.185915e-03 2.732707e-04 + 4097 1.328887e+00 1.379003e+00 1.302147e+00 1.342551e+00 1.451293e+00 + 4098 2.123584e+02 2.150974e+02 2.155243e+02 2.112198e+02 2.143171e+02 + 4099 3.344992e+02 3.396912e+02 3.403857e+02 3.339612e+02 3.375119e+02 + 4100 1.363821e+01 1.406737e+01 1.387646e+01 1.365855e+01 1.384858e+01 + 4101 3.800843e-02 3.365538e-02 3.572310e-02 4.060474e-02 3.470358e-02 + 4102 2.439048e-02 1.884042e-02 1.845158e-02 2.691806e-02 2.517918e-02 + 4103 1.015222e-01 8.677333e-02 1.236046e-01 1.207234e-01 1.030533e-01 + 4104 3.698405e-01 3.164243e-01 4.242823e-01 3.862652e-01 3.936376e-01 + 4105 4.805110e-02 4.164347e-02 5.290218e-02 5.223774e-02 5.244120e-02 + 4106 2.729400e-02 3.775836e-02 2.197064e-02 2.345114e-02 2.193871e-02 + 4107 1.334769e-02 6.066706e-03 1.611689e-02 1.554257e-02 1.217293e-02 + 4108 1.426653e-02 1.479976e-02 1.867624e-02 1.266374e-02 1.678510e-02 + 4109 2.434835e-02 2.015378e-02 1.582480e-02 2.185993e-02 1.485403e-02 + 4110 1.470935e-02 1.829109e-02 1.540497e-02 1.296179e-02 1.278940e-02 + 4111 7.649233e-03 1.186592e-02 8.166251e-03 9.161456e-03 9.154911e-03 + 4112 6.342896e-03 7.486569e-03 6.560563e-03 6.906948e-03 7.547874e-03 + 4113 6.333701e-03 6.095903e-03 1.133514e-02 9.128888e-03 8.583851e-03 + 4114 4.905904e-03 8.017779e-03 3.294358e-03 5.196787e-03 5.328132e-03 + 4115 8.985676e-03 6.579670e-03 1.013570e-02 6.288708e-03 4.067668e-03 + 4116 5.011479e-03 7.800528e-03 2.068727e-03 5.911342e-03 6.531247e-03 + 4117 4.166704e-03 5.858850e-03 6.475229e-03 4.727854e-03 3.543243e-03 + 4118 5.902384e-03 4.833282e-03 3.542507e-03 1.902127e-03 6.590204e-03 + 4119 6.676841e-03 7.034216e-03 5.724460e-03 6.258535e-03 4.644288e-03 + 4120 1.675113e-03 2.731640e-03 3.178948e-03 2.961712e-03 2.508876e-03 + 4121 4.729791e-03 7.883872e-03 3.807208e-03 5.537723e-03 5.784515e-03 + 4122 2.762866e-03 3.414301e-03 4.562450e-03 2.165483e-03 4.086122e-03 + 4123 3.708456e-03 8.060905e-03 6.316356e-03 6.097780e-03 4.868227e-03 + 4124 3.228194e-03 2.124843e-03 1.958046e-03 3.753912e-03 4.246853e-03 + 4125 3.021642e-03 3.917794e-03 2.481627e-03 3.540129e-03 2.991927e-03 + 4126 1.003447e-03 2.462995e-03 3.453087e-03 4.737705e-03 3.810073e-03 + 4127 5.242427e-03 3.854374e-03 2.545316e-03 1.600082e-03 2.390527e-03 + 4128 2.779266e-03 2.246739e-03 3.252286e-03 3.927370e-03 1.976842e-03 + 4129 5.276335e-03 4.438081e-03 6.522379e-03 7.340665e-03 4.553043e-03 + 4130 2.242885e-03 5.752657e-03 4.174041e-03 3.777994e-03 6.049206e-03 + 4131 3.149537e-03 2.327419e-03 4.711386e-03 3.516076e-03 7.724110e-04 + 4132 2.154621e-03 1.867457e-03 2.689313e-03 1.899128e-03 2.299113e-03 + 4133 6.000189e-04 1.666813e-03 1.808896e-03 2.001012e-03 1.169244e-03 + 4134 3.104351e-03 2.547921e-03 3.714013e-03 6.289918e-04 1.420218e-03 + 4135 7.360038e-03 3.353120e-03 3.533150e-03 7.445399e-03 7.114299e-03 + 4136 3.960313e-03 4.250450e-04 1.481704e-03 1.569858e-03 1.730045e-03 + 4137 4.778505e-03 3.856550e-03 4.033485e-03 3.555661e-03 3.111378e-03 + 4138 1.264914e-03 1.747143e-03 2.729795e-03 1.481067e-03 1.834580e-03 + 4139 8.363553e-04 1.783249e-03 5.816426e-04 1.025421e-03 9.163105e-04 + 4140 1.237590e-03 2.923380e-03 2.295731e-03 2.152679e-03 2.472222e-03 + 4141 1.628483e-03 2.333019e-03 3.495576e-04 1.346418e-03 3.180185e-03 + 4142 1.550074e-03 1.661689e-03 2.953022e-03 1.371280e-03 1.063476e-03 + 4143 1.088678e-03 3.344960e-03 1.164630e-03 2.593806e-03 1.447756e-03 + 4144 2.214699e-03 2.659613e-03 1.855489e-03 2.501930e-03 9.099594e-04 + 4145 8.493002e-02 8.808377e-02 9.021109e-02 8.585973e-02 8.631490e-02 + 4146 4.307041e-01 4.663270e-01 4.323761e-01 4.262617e-01 4.381701e-01 + 4147 7.855180e-02 8.691835e-02 7.516376e-02 7.557943e-02 7.431614e-02 + 4148 1.028541e-03 9.261558e-04 7.612631e-04 9.227222e-04 2.791364e-03 + 4149 8.170690e-04 1.713136e-03 1.230436e-03 7.919621e-04 1.704847e-03 + 4150 2.950857e-03 2.840512e-03 2.625666e-03 3.285385e-03 2.387161e-03 + 4151 4.925926e-04 2.811629e-03 2.061437e-04 4.001134e-04 3.630564e-04 + 4152 1.879017e-03 3.371339e-03 1.462932e-03 1.130740e-03 2.024070e-03 + 4153 9.331722e-04 2.470360e-03 9.904136e-04 1.350894e-03 2.582810e-04 + 4154 1.524078e-03 9.976589e-04 1.566347e-03 4.417900e-04 1.804544e-03 + 4155 2.553002e-03 2.177048e-03 2.461127e-03 2.811879e-03 3.238261e-03 + 4156 9.788470e-04 1.339048e-03 1.168633e-03 1.920383e-03 1.147110e-03 + 4157 1.226988e-03 7.844658e-04 1.196180e-03 5.391094e-04 1.105083e-03 + 4158 1.846461e-03 2.965746e-03 1.669814e-03 1.714009e-03 6.317173e-04 + 4159 3.196637e-03 1.844582e-03 2.624026e-03 1.879282e-03 3.748273e-03 + 4160 5.707737e-04 1.959918e-03 9.635194e-04 1.261399e-03 4.741173e-04 + 4161 8.284930e-04 1.209824e-03 2.358034e-03 1.532626e-03 5.745696e-04 + 4162 1.988897e-03 1.027439e-03 7.448422e-04 1.598142e-03 1.398140e-03 + 4163 2.066588e-03 3.164403e-03 1.522453e-03 2.173855e-03 1.983733e-03 + 4164 1.641252e-03 1.414700e-03 2.008486e-03 1.455238e-03 2.281932e-03 + 4165 1.898805e-03 1.501876e-03 3.696159e-03 8.414475e-04 9.457490e-04 + 4166 1.059981e-03 1.079807e-03 1.242730e-03 1.139339e-03 1.720537e-03 + 4167 2.251182e-03 3.943782e-03 1.038110e-03 3.394139e-03 1.576900e-03 + 4168 2.085207e-04 7.957474e-04 8.606425e-04 1.376536e-03 4.377025e-04 + 4169 1.462706e-03 1.052332e-03 1.398257e-03 1.879444e-03 1.012967e-03 + 4170 3.496990e-03 1.727393e-03 2.316548e-03 1.085468e-03 6.804951e-04 + 4171 3.374198e-04 7.362330e-04 1.258938e-03 1.069157e-03 1.034237e-03 + 4172 1.665895e-03 1.605322e-03 1.068653e-03 1.666524e-03 1.183901e-03 + 4173 9.457289e-04 1.585173e-03 5.798059e-04 5.607317e-04 1.017433e-03 + 4174 3.332982e-04 1.657923e-04 1.333114e-03 1.759063e-03 7.875247e-04 + 4175 1.301520e-03 1.825834e-03 1.112889e-03 1.573471e-03 9.759795e-04 + 4176 8.621380e-04 1.581397e-03 2.848817e-03 2.016557e-03 1.285087e-03 + 4177 2.116116e-03 1.208040e-03 7.087526e-04 9.265160e-04 2.292169e-03 + 4178 1.805456e-03 5.069567e-04 2.628083e-03 9.764840e-04 1.081263e-03 + 4179 2.810808e-04 9.533316e-04 1.639047e-03 7.613277e-04 1.153603e-03 + 4180 5.363583e-04 5.802152e-04 9.687316e-04 1.249638e-03 1.687515e-03 + 4181 7.149299e-04 4.812640e-04 1.614796e-03 5.774230e-04 6.587561e-04 + 4182 7.463774e-04 1.675963e-03 1.340764e-03 5.042441e-04 5.248369e-04 + 4183 4.835562e-04 2.812671e-04 6.113813e-04 2.852903e-04 1.129878e-03 + 4184 6.071784e-04 1.447548e-03 1.581294e-03 6.167703e-04 1.127540e-03 + 4185 7.863928e-04 1.472693e-03 8.752434e-04 1.326718e-03 3.391551e-04 + 4186 9.891504e-04 6.423342e-04 1.708228e-03 1.191941e-03 2.653272e-03 + 4187 8.944544e-04 3.363637e-04 1.171974e-03 1.449208e-04 8.830401e-04 + 4188 1.146069e-03 1.001053e-03 9.682381e-04 7.090350e-04 1.831271e-03 + 4189 2.503059e-03 1.712187e-03 1.468420e-03 1.098808e-03 8.903776e-04 + 4190 5.907118e-03 6.259213e-03 6.330217e-03 4.853158e-03 3.862816e-03 + 4191 1.918825e-03 2.256067e-03 2.603896e-03 2.657228e-03 1.949435e-03 + 4192 6.311303e-04 1.207010e-03 1.133729e-03 1.261722e-03 9.412279e-04 + 4193 1.197258e-03 1.438644e-03 7.310857e-04 5.744289e-04 1.352494e-03 + 4194 1.226569e-03 8.048768e-04 9.043588e-04 5.982344e-04 1.312194e-03 + 4195 2.300816e-03 2.431605e-03 2.286493e-03 4.354775e-03 3.367430e-03 + 4196 5.438135e-03 5.437593e-03 6.457366e-03 9.099976e-03 1.082019e-02 + 4197 1.339940e-03 1.833285e-03 1.700197e-03 2.158819e-03 1.539827e-03 + 4198 6.634162e-04 1.100932e-03 6.157174e-04 6.219457e-04 9.595727e-04 + 4199 1.536225e-04 1.002874e-03 6.623992e-04 7.487103e-04 9.594181e-04 + 4200 1.408375e-03 1.619853e-03 1.101500e-03 1.146430e-03 8.089472e-04 + 4201 2.875826e-03 2.220428e-03 2.672490e-03 2.234950e-03 1.974432e-03 + 4202 4.460167e-03 7.366169e-03 4.432115e-03 5.012272e-03 7.231335e-03 + 4203 1.585381e-03 1.166979e-03 3.886504e-03 1.400165e-03 1.593991e-03 + 4204 7.718471e-04 1.109368e-03 8.131960e-04 4.812386e-04 5.491536e-04 + 4205 1.170900e-03 1.288704e-03 8.765897e-04 1.125870e-03 1.146807e-03 + 4206 1.266256e-03 1.282851e-03 3.591604e-04 3.881922e-04 4.127148e-04 + 4207 1.467315e-03 1.338420e-03 1.975968e-03 1.550231e-03 1.783747e-03 + 4208 1.512466e-03 1.846156e-03 1.017707e-03 4.994606e-04 9.660866e-04 + 4209 1.805058e-03 1.921024e-03 2.635247e-04 9.238136e-04 9.197428e-04 + 4210 4.651908e-04 1.290205e-03 1.464020e-03 8.231280e-04 6.349603e-04 + 4211 6.994648e-04 3.886581e-04 2.838662e-04 3.850235e-04 1.185755e-03 + 4212 1.026698e-03 6.278032e-04 7.381506e-04 1.906349e-03 1.779689e-03 + 4213 1.543046e-03 2.129052e-03 7.324056e-04 8.342951e-04 1.609596e-03 + 4214 2.900105e-03 6.381551e-04 2.338308e-03 1.071611e-03 2.855808e-03 + 4215 2.269393e-03 8.429572e-04 1.081202e-03 4.732574e-04 1.035995e-03 + 4216 1.151695e-03 1.486068e-03 6.220772e-04 6.108261e-04 9.107634e-04 + 4217 7.159053e-04 1.177928e-03 7.060337e-04 8.709904e-04 9.881285e-04 + 4218 1.762700e-03 1.799600e-03 7.615643e-04 1.323648e-03 1.374024e-03 + 4219 5.472661e-04 7.093046e-04 5.148268e-04 3.797596e-04 4.752551e-04 + 4220 1.073773e-03 2.922111e-04 9.022153e-04 1.297794e-03 1.075081e-03 + 4221 6.879361e-04 1.369508e-03 1.335559e-03 5.785055e-04 7.614188e-04 + 4222 5.103896e-04 1.297074e-04 2.796288e-04 5.231526e-04 9.102258e-04 + 4223 1.880626e-03 1.148600e-03 3.192533e-03 1.570734e-03 2.140296e-03 + 4224 1.634010e-04 2.904111e-05 1.217116e-03 4.628908e-04 1.530207e-03 + 4225 1.401740e+00 1.365945e+00 1.397628e+00 1.247578e+00 1.289018e+00 + 4226 2.118814e+02 2.151012e+02 2.173889e+02 2.121881e+02 2.120688e+02 + 4227 3.329745e+02 3.379524e+02 3.406444e+02 3.325430e+02 3.338980e+02 + 4228 1.375284e+01 1.391741e+01 1.412862e+01 1.365981e+01 1.356955e+01 + 4229 5.414772e-02 7.568266e-02 4.773744e-02 6.065728e-02 5.748757e-02 + 4230 1.758233e-02 1.822708e-02 2.002496e-02 1.186883e-02 1.437059e-02 + 4231 1.226375e-01 1.015762e-01 1.246284e-01 9.918846e-02 1.202350e-01 + 4232 3.607374e-01 2.876944e-01 3.680727e-01 2.694716e-01 3.088032e-01 + 4233 6.919076e-02 7.554456e-02 7.259736e-02 5.371594e-02 6.170937e-02 + 4234 2.127790e-02 2.473739e-02 2.160406e-02 1.913336e-02 3.248001e-02 + 4235 7.356574e-03 4.174014e-03 1.162157e-02 1.283172e-02 6.415393e-03 + 4236 1.242727e-02 1.948432e-02 1.005493e-02 1.232240e-02 1.605520e-02 + 4237 9.425601e-03 9.875493e-03 1.126327e-02 1.256694e-02 7.901214e-03 + 4238 1.754611e-02 1.616836e-02 1.248823e-02 1.378571e-02 1.681727e-02 + 4239 3.037468e-03 8.642952e-03 1.096292e-02 4.232374e-03 6.284070e-03 + 4240 8.496258e-03 5.605056e-03 5.841278e-03 1.118717e-02 1.113936e-02 + 4241 5.957303e-03 9.646059e-03 5.766158e-03 7.230745e-03 7.881262e-03 + 4242 5.281571e-03 5.314854e-03 7.327040e-03 6.006508e-03 4.477520e-03 + 4243 9.530236e-03 9.338863e-03 9.260768e-03 7.421322e-03 9.782353e-03 + 4244 2.432972e-03 1.178214e-03 6.555690e-03 3.099083e-03 2.266057e-03 + 4245 5.907137e-03 1.274408e-02 2.388436e-03 6.044019e-03 4.210500e-03 + 4246 6.665129e-03 4.380503e-03 7.359454e-03 4.491657e-03 5.531037e-03 + 4247 5.695802e-03 6.324864e-03 2.806967e-03 7.948552e-03 4.042079e-03 + 4248 3.168193e-03 2.905521e-03 7.026614e-03 3.134032e-03 2.302350e-03 + 4249 3.342204e-03 2.525723e-03 2.472744e-03 3.438325e-03 2.666646e-03 + 4250 2.466210e-03 3.403705e-03 3.584993e-03 2.481895e-03 4.689778e-03 + 4251 5.851308e-03 5.458611e-03 5.618202e-03 3.560558e-03 3.163206e-03 + 4252 2.625378e-03 1.207179e-03 1.472692e-03 2.532905e-03 1.839736e-03 + 4253 4.898548e-03 1.069158e-02 5.118084e-03 2.117334e-03 5.412872e-03 + 4254 2.247296e-03 3.354703e-03 2.462289e-03 4.180471e-03 1.962809e-03 + 4255 2.013631e-03 5.082832e-03 1.295244e-03 1.086661e-03 2.793374e-03 + 4256 2.106873e-03 2.868334e-03 2.916278e-03 3.926546e-03 1.988522e-03 + 4257 2.165380e-03 3.768033e-03 2.546323e-03 2.708944e-03 4.755031e-03 + 4258 3.275201e-03 2.325989e-03 3.943683e-03 4.426090e-03 1.263040e-03 + 4259 1.725758e-03 3.828252e-03 3.208854e-03 1.721989e-03 3.000876e-03 + 4260 5.026858e-03 2.646716e-03 3.257258e-03 2.411610e-03 1.445227e-03 + 4261 1.274324e-03 3.800223e-03 2.562935e-03 3.189743e-03 1.293337e-03 + 4262 3.141024e-03 2.887265e-03 3.001020e-03 1.605217e-03 2.828655e-03 + 4263 2.459562e-03 1.112478e-03 1.168524e-03 2.286514e-03 2.427229e-03 + 4264 4.085297e-03 2.381592e-03 1.396076e-03 2.646869e-03 4.523487e-03 + 4265 3.591967e-03 2.846532e-03 4.633962e-03 8.958664e-04 1.634378e-03 + 4266 1.032118e-03 1.228587e-04 2.310170e-03 2.442888e-03 2.195749e-03 + 4267 2.119203e-03 4.457886e-03 3.492341e-03 2.022678e-03 3.492001e-03 + 4268 8.596302e-04 2.838402e-03 1.421252e-03 6.494407e-04 8.476147e-04 + 4269 3.532325e-03 4.065984e-03 3.356531e-03 4.157919e-03 1.532680e-03 + 4270 1.207579e-03 1.158593e-03 2.322578e-03 5.609827e-04 1.056368e-03 + 4271 7.515888e-04 1.554538e-03 2.033998e-03 4.370698e-04 1.024856e-03 + 4272 2.307261e-03 2.180499e-03 1.881803e-03 2.125044e-03 3.099152e-03 + 4273 7.852161e-02 8.870145e-02 8.104985e-02 7.080542e-02 7.910171e-02 + 4274 4.428440e-01 4.682433e-01 4.407507e-01 3.899587e-01 4.169564e-01 + 4275 8.771443e-02 9.277585e-02 8.926689e-02 7.483421e-02 6.801177e-02 + 4276 1.146603e-03 1.144791e-03 8.431384e-04 6.035857e-04 1.551696e-03 + 4277 6.010574e-04 1.271704e-03 8.286828e-04 6.330661e-04 1.357303e-03 + 4278 3.600145e-03 9.192897e-04 2.857828e-03 3.897539e-03 1.500043e-03 + 4279 2.173739e-03 2.727877e-03 9.047293e-04 8.328808e-04 7.002451e-04 + 4280 2.821861e-03 2.628780e-03 1.417690e-03 3.379248e-03 3.440564e-03 + 4281 9.788165e-04 3.515147e-04 1.730743e-03 1.447259e-03 1.904360e-03 + 4282 1.130077e-03 8.794631e-04 4.855501e-04 1.257948e-03 1.044172e-03 + 4283 3.475554e-03 8.449967e-04 1.001858e-03 1.031853e-03 3.349217e-03 + 4284 9.213589e-04 1.178058e-03 3.863471e-04 1.968733e-03 1.076623e-03 + 4285 3.333695e-03 1.594360e-03 3.307728e-03 1.758719e-03 1.537559e-03 + 4286 1.343889e-03 1.597553e-03 1.736331e-03 1.488211e-03 7.027098e-04 + 4287 6.114223e-04 8.216028e-04 1.353468e-03 1.029831e-03 1.171537e-03 + 4288 1.186375e-03 1.174172e-03 1.917445e-03 9.875227e-04 7.364817e-04 + 4289 1.267089e-03 2.555395e-03 1.612457e-03 2.206113e-03 8.111734e-04 + 4290 3.202406e-03 3.624547e-03 2.215833e-03 1.890310e-03 1.458584e-03 + 4291 1.210196e-03 1.481326e-03 1.052870e-03 9.641174e-04 7.774137e-04 + 4292 3.101574e-03 3.035127e-03 3.743316e-03 2.435243e-03 2.976100e-03 + 4293 7.801883e-04 4.122588e-04 1.285871e-03 9.989750e-04 4.175479e-04 + 4294 1.989960e-03 2.491471e-03 3.007452e-03 1.657741e-03 1.596562e-03 + 4295 1.443944e-03 1.823526e-03 3.044377e-04 1.369029e-03 1.041436e-03 + 4296 1.375324e-03 1.220749e-03 1.394309e-03 1.189476e-03 4.266921e-04 + 4297 5.772511e-04 7.674203e-04 1.469616e-03 2.758867e-03 1.354761e-03 + 4298 8.131999e-04 1.587030e-03 2.223640e-03 2.169986e-03 1.936723e-04 + 4299 2.324830e-03 1.435754e-03 7.803161e-04 1.101355e-03 1.697453e-03 + 4300 2.834558e-03 2.673048e-03 2.363382e-03 1.561198e-03 1.229261e-03 + 4301 1.367300e-03 8.893037e-04 1.547384e-03 6.611390e-04 1.096282e-03 + 4302 2.099180e-03 7.921879e-04 8.417503e-04 3.796493e-04 6.658543e-04 + 4303 3.765825e-04 1.691692e-03 1.662110e-03 1.060566e-03 1.026108e-03 + 4304 1.372852e-03 3.066929e-03 6.808961e-04 1.121490e-03 1.000660e-03 + 4305 1.525457e-03 1.210171e-03 6.513630e-04 3.560449e-03 7.284018e-04 + 4306 2.790382e-03 7.110290e-04 1.302796e-03 2.221958e-03 1.214726e-03 + 4307 8.476905e-04 1.475856e-03 9.870779e-04 1.379308e-03 1.343909e-03 + 4308 5.681918e-04 2.722932e-04 7.748489e-04 2.127832e-04 1.109882e-03 + 4309 1.550683e-03 1.655994e-03 2.743525e-03 3.245154e-04 7.564362e-04 + 4310 1.681483e-03 4.580569e-04 3.990536e-04 1.172970e-03 8.566844e-04 + 4311 7.840899e-04 2.068869e-03 1.990800e-03 9.956276e-04 2.278299e-04 + 4312 7.916868e-04 1.600143e-03 9.375415e-04 1.549284e-04 9.604853e-04 + 4313 5.560458e-04 2.146957e-03 3.227497e-04 5.763333e-04 9.352837e-04 + 4314 2.166152e-03 8.342668e-04 9.528512e-04 1.206583e-03 1.733063e-03 + 4315 3.446630e-04 2.974760e-04 4.051689e-04 1.895282e-04 3.511001e-04 + 4316 3.437211e-04 9.672513e-04 8.420351e-04 1.058490e-03 1.191751e-03 + 4317 2.423915e-03 1.447748e-03 1.644731e-03 1.966191e-03 2.114800e-03 + 4318 7.220822e-03 5.228553e-03 7.591013e-03 5.930495e-03 5.443012e-03 + 4319 2.701721e-03 2.474243e-03 2.695195e-03 2.560747e-03 1.530236e-03 + 4320 1.359053e-03 1.927397e-03 5.707907e-04 7.146857e-04 6.145394e-04 + 4321 5.675836e-04 1.092345e-03 1.270460e-03 6.633914e-04 3.061714e-04 + 4322 1.872281e-03 1.764744e-03 1.736702e-03 1.273503e-03 1.900968e-03 + 4323 1.817184e-03 3.457996e-03 2.792883e-03 1.957002e-03 3.408063e-03 + 4324 5.164888e-03 8.756392e-03 9.579684e-03 6.314147e-03 1.109108e-02 + 4325 1.465237e-03 2.719323e-03 2.922359e-03 1.998222e-03 3.403706e-03 + 4326 1.435522e-03 1.909673e-03 2.383748e-03 7.484586e-04 7.256777e-04 + 4327 5.826692e-04 1.035538e-04 4.932235e-04 7.984973e-04 1.224683e-03 + 4328 9.577712e-04 3.462512e-04 3.681578e-04 3.915352e-04 4.655677e-04 + 4329 1.012586e-03 1.314678e-03 2.355806e-03 3.365722e-03 1.343459e-03 + 4330 3.293631e-03 3.908930e-03 5.607399e-03 4.990880e-03 6.016391e-03 + 4331 1.951413e-03 3.157733e-03 1.228234e-03 1.737768e-03 3.546827e-03 + 4332 6.725797e-04 1.287487e-03 6.151198e-04 5.232247e-04 1.722922e-03 + 4333 1.195015e-03 1.746278e-03 1.004201e-03 4.808369e-04 2.336893e-03 + 4334 9.195592e-04 8.083256e-04 9.427930e-04 1.475177e-03 7.620879e-04 + 4335 1.228240e-03 4.959174e-04 8.550997e-04 6.582950e-04 5.976279e-04 + 4336 8.644355e-04 8.747955e-04 1.049683e-03 5.846381e-04 1.321600e-03 + 4337 8.773904e-04 1.028004e-03 1.043126e-03 7.345661e-04 1.290896e-03 + 4338 1.102400e-03 3.340036e-03 5.800806e-04 6.108942e-04 1.954673e-03 + 4339 6.768805e-04 1.921707e-03 4.106671e-04 7.804678e-04 1.721958e-03 + 4340 7.594217e-04 8.540837e-04 1.769186e-04 4.090545e-04 5.797511e-04 + 4341 3.415530e-03 1.183159e-03 1.139205e-03 1.043783e-03 1.533409e-03 + 4342 2.297506e-03 1.657326e-03 2.613670e-03 1.413096e-03 1.704848e-03 + 4343 8.672695e-04 1.139801e-03 1.791541e-03 5.734328e-04 1.292198e-03 + 4344 2.290977e-04 5.187756e-04 1.438933e-04 6.183293e-04 3.156349e-04 + 4345 1.792821e-03 8.530104e-04 1.739519e-03 6.729941e-04 1.587334e-03 + 4346 7.821228e-04 1.364799e-03 1.418765e-03 4.465027e-04 1.341011e-03 + 4347 4.345465e-04 6.174513e-04 4.565815e-04 1.950190e-04 1.209392e-03 + 4348 4.514608e-04 1.267948e-03 3.167278e-04 2.280030e-04 8.765790e-04 + 4349 1.976529e-03 1.920053e-04 1.031437e-03 1.297416e-03 1.522879e-03 + 4350 1.629580e-03 4.153811e-04 1.804764e-04 5.224983e-04 2.254764e-04 + 4351 9.626220e-04 1.334100e-03 1.797623e-03 1.854960e-04 9.800150e-04 + 4352 2.774641e-06 5.112537e-04 5.141826e-04 3.191701e-04 6.697266e-04 + 4353 1.377654e+00 1.384658e+00 1.418950e+00 1.358999e+00 1.278904e+00 + 4354 2.111603e+02 2.153284e+02 2.152320e+02 2.115184e+02 2.133976e+02 + 4355 3.316799e+02 3.384407e+02 3.390183e+02 3.323741e+02 3.351918e+02 + 4356 1.360505e+01 1.389231e+01 1.382355e+01 1.359312e+01 1.367217e+01 + 4357 2.373646e-02 3.757796e-02 3.223476e-02 3.255273e-02 2.056579e-02 + 4358 3.308989e-02 3.436797e-02 2.034666e-02 3.273193e-02 4.004579e-02 + 4359 1.152886e-01 9.867542e-02 1.283557e-01 1.041391e-01 1.009755e-01 + 4360 3.850656e-01 3.110321e-01 4.171975e-01 3.320011e-01 3.076489e-01 + 4361 7.469704e-02 4.750690e-02 6.446852e-02 7.243561e-02 6.234638e-02 + 4362 1.657366e-02 2.012234e-02 2.310802e-02 2.106597e-02 3.018731e-02 + 4363 2.033120e-02 2.218566e-02 8.516554e-03 1.412529e-02 8.226631e-03 + 4364 9.388196e-03 1.039101e-02 1.136219e-02 6.149825e-03 1.036301e-02 + 4365 2.034864e-02 2.739883e-02 2.261157e-02 2.408402e-02 1.980237e-02 + 4366 1.082817e-02 1.324309e-02 1.339823e-02 8.628716e-03 7.176913e-03 + 4367 7.689811e-03 1.043473e-02 7.181018e-03 7.487187e-03 8.610601e-03 + 4368 5.906492e-03 5.058654e-03 7.755337e-03 1.090111e-02 7.395557e-03 + 4369 8.873278e-03 7.030010e-03 7.809043e-03 3.606892e-03 7.019649e-03 + 4370 5.726007e-03 8.691656e-03 7.005106e-03 1.054546e-02 6.024142e-03 + 4371 7.127317e-03 3.462335e-03 4.293293e-03 4.314384e-03 5.834901e-03 + 4372 3.199501e-03 1.033476e-02 5.043274e-03 9.794654e-03 3.829608e-03 + 4373 4.091478e-03 1.882507e-03 3.485832e-03 2.424658e-03 2.762124e-03 + 4374 6.456066e-03 1.044043e-02 8.540383e-03 4.584294e-03 5.378002e-03 + 4375 2.939240e-03 4.995567e-03 4.714119e-03 3.476692e-03 3.295679e-03 + 4376 4.742299e-03 3.641039e-03 5.603393e-03 3.901785e-03 3.583356e-03 + 4377 2.816923e-03 6.006514e-03 3.882191e-03 4.068061e-03 2.920526e-03 + 4378 2.629006e-03 1.712380e-03 4.834768e-03 2.328510e-03 1.431508e-03 + 4379 3.503264e-03 2.972620e-03 1.853017e-03 1.438361e-03 4.731534e-03 + 4380 2.715299e-03 3.784705e-03 2.977657e-03 5.710424e-03 1.844001e-03 + 4381 2.374966e-03 1.524611e-03 2.651263e-03 1.067442e-03 2.444511e-03 + 4382 6.963185e-03 7.696480e-03 6.682521e-03 4.975251e-03 3.941265e-03 + 4383 1.543602e-03 2.920590e-03 1.810517e-03 1.917725e-03 2.717263e-03 + 4384 2.152901e-03 3.167605e-03 3.484722e-03 3.384669e-03 3.141693e-03 + 4385 2.394446e-03 1.515337e-03 2.651708e-03 1.943893e-03 2.666981e-03 + 4386 1.180467e-03 3.788304e-03 2.171075e-03 2.339762e-03 1.664086e-03 + 4387 2.630140e-03 1.120121e-03 2.224816e-03 2.057324e-03 5.407458e-03 + 4388 2.272655e-03 3.634907e-03 2.773294e-03 2.328992e-03 2.325784e-03 + 4389 3.001408e-03 1.459388e-03 6.283741e-03 3.499576e-03 4.037002e-03 + 4390 2.260272e-03 4.353318e-03 2.542567e-03 9.132782e-04 3.834517e-03 + 4391 1.149515e-03 2.699326e-03 9.310998e-04 1.703614e-03 2.491089e-03 + 4392 3.340883e-03 1.989172e-03 1.016050e-03 1.515914e-03 2.745543e-03 + 4393 2.945974e-03 1.427518e-03 3.972128e-03 2.777545e-03 2.841767e-03 + 4394 2.113139e-03 4.293695e-03 7.410362e-04 2.012139e-03 3.535955e-03 + 4395 2.741489e-03 2.332280e-03 2.663770e-03 1.410025e-03 7.957227e-04 + 4396 3.022549e-03 1.561165e-03 7.863329e-04 1.669751e-03 3.223053e-03 + 4397 1.742661e-03 3.170478e-03 1.296949e-03 5.916126e-04 1.315831e-03 + 4398 2.035522e-03 1.273518e-03 5.506808e-03 2.492871e-03 2.035069e-03 + 4399 1.320464e-03 3.771749e-03 1.220080e-03 5.919652e-04 2.032203e-03 + 4400 1.816767e-03 5.565816e-03 1.595728e-03 2.154151e-03 3.237754e-03 + 4401 7.101550e-02 7.228263e-02 8.217668e-02 7.673479e-02 7.274547e-02 + 4402 4.026131e-01 4.520970e-01 4.463611e-01 4.308358e-01 4.270275e-01 + 4403 7.911496e-02 9.283619e-02 9.148963e-02 8.426326e-02 8.202032e-02 + 4404 1.675038e-03 1.852650e-03 3.222411e-03 7.652696e-04 7.884877e-04 + 4405 1.963118e-03 1.626102e-03 3.783541e-04 1.518532e-03 1.946238e-03 + 4406 1.525008e-03 1.604758e-03 3.184764e-03 1.420475e-03 1.369174e-03 + 4407 1.711996e-03 3.095786e-03 9.864779e-04 3.078454e-04 1.361584e-03 + 4408 6.481784e-03 5.152030e-03 3.455882e-03 3.139368e-03 5.399133e-03 + 4409 2.210188e-04 9.353271e-04 1.432481e-03 6.020877e-04 4.683193e-04 + 4410 1.157420e-03 2.551642e-04 5.844515e-04 1.275700e-03 8.642057e-04 + 4411 1.376169e-03 1.913073e-03 2.617716e-03 6.091600e-04 8.937582e-04 + 4412 1.654962e-03 1.173081e-03 7.987540e-04 1.551498e-03 7.649447e-04 + 4413 9.088374e-04 5.341383e-04 1.836675e-03 5.479651e-04 1.092792e-03 + 4414 3.204173e-03 2.577849e-03 2.431356e-03 2.219490e-03 1.357659e-03 + 4415 1.072900e-03 6.161359e-04 9.199455e-04 2.819750e-04 2.339653e-04 + 4416 1.485390e-03 1.939317e-03 1.688576e-03 1.735293e-03 2.073731e-03 + 4417 1.246466e-03 1.746498e-03 5.645367e-04 7.836887e-04 7.799507e-04 + 4418 1.698220e-03 6.508129e-04 2.106696e-03 1.578664e-03 9.468783e-04 + 4419 7.230874e-04 5.963808e-04 5.506325e-04 1.005834e-03 3.908093e-04 + 4420 1.803116e-03 1.019756e-03 1.378895e-03 9.450787e-04 8.577443e-04 + 4421 5.164414e-04 1.167523e-03 2.334150e-04 6.423488e-04 9.862622e-04 + 4422 5.588104e-04 1.297740e-03 1.098283e-03 2.639944e-03 1.143985e-03 + 4423 1.487540e-03 1.645206e-03 2.126937e-03 2.423737e-03 1.693521e-03 + 4424 1.907968e-03 9.718630e-04 1.850062e-03 1.614597e-03 1.029976e-03 + 4425 3.439034e-04 6.165928e-04 8.210418e-04 1.140277e-03 1.150389e-03 + 4426 1.430417e-03 1.470972e-03 2.218347e-03 2.633326e-03 9.919430e-04 + 4427 2.368302e-04 9.113796e-04 1.035091e-03 1.486615e-03 1.882283e-03 + 4428 1.368466e-03 1.027046e-03 3.113954e-03 2.415515e-03 1.656285e-03 + 4429 1.322352e-03 1.064369e-03 1.262629e-03 2.251096e-03 7.581281e-04 + 4430 2.050293e-03 1.080881e-03 4.795539e-04 8.931744e-04 2.095038e-03 + 4431 5.115335e-04 7.173150e-04 5.679661e-04 6.681062e-04 7.936322e-04 + 4432 6.874441e-04 8.955969e-04 4.159197e-04 1.239900e-03 4.979098e-04 + 4433 8.942215e-04 2.137560e-03 1.332318e-03 8.856201e-04 4.777590e-04 + 4434 4.449102e-04 4.894924e-04 7.288998e-04 4.207340e-04 6.961651e-04 + 4435 1.961171e-03 1.846924e-03 2.003804e-03 1.089979e-03 5.036429e-04 + 4436 1.231632e-03 6.483407e-04 5.535443e-04 1.787069e-03 1.113944e-03 + 4437 1.414723e-03 6.014358e-04 2.233769e-03 2.838121e-03 1.342176e-03 + 4438 5.532894e-04 1.570077e-03 1.161131e-03 1.755709e-03 1.212628e-03 + 4439 1.724021e-03 1.482601e-03 1.209300e-03 1.630850e-03 1.225086e-03 + 4440 1.021035e-03 5.803181e-04 1.908945e-03 9.204896e-04 1.050715e-03 + 4441 2.465673e-03 1.818962e-03 1.310703e-03 9.464121e-04 3.300590e-03 + 4442 1.522578e-03 9.706258e-04 1.978588e-03 1.626554e-03 2.343151e-03 + 4443 1.254880e-03 7.384266e-04 8.867361e-04 9.490982e-04 2.306406e-03 + 4444 3.287692e-04 3.677014e-04 9.955863e-04 1.093246e-03 1.240698e-03 + 4445 2.037517e-03 2.032826e-03 2.633012e-03 1.572034e-03 2.205713e-03 + 4446 6.416597e-03 9.806758e-03 1.126216e-02 7.506926e-03 6.984463e-03 + 4447 1.296520e-03 1.865567e-03 3.387566e-03 1.040288e-03 1.099224e-03 + 4448 1.286211e-03 5.981568e-04 1.801696e-04 7.030058e-04 1.517189e-03 + 4449 1.127634e-03 8.884931e-04 2.257432e-03 1.208509e-03 2.782192e-03 + 4450 7.686557e-04 6.676641e-04 5.017518e-04 9.820088e-04 2.419738e-03 + 4451 1.522994e-03 9.026363e-04 3.356972e-03 2.041186e-03 6.742599e-04 + 4452 9.507531e-03 7.614699e-03 7.900431e-03 1.204970e-02 1.045858e-02 + 4453 2.819023e-03 1.769076e-03 1.674366e-03 2.062841e-03 3.016604e-03 + 4454 1.503780e-03 1.840380e-03 1.090860e-03 1.086349e-03 5.127079e-04 + 4455 1.002918e-03 3.941011e-04 6.842080e-04 8.602685e-04 1.334390e-03 + 4456 8.895826e-04 6.897863e-04 1.179366e-03 4.897718e-04 8.121316e-04 + 4457 2.516672e-03 1.687024e-03 4.054012e-03 4.759581e-03 3.184606e-03 + 4458 7.117126e-03 6.383991e-03 8.629329e-03 1.031147e-02 7.683807e-03 + 4459 2.816044e-03 2.064582e-03 3.213190e-03 2.812006e-03 2.324568e-03 + 4460 1.099013e-03 9.398908e-04 1.150994e-03 6.555429e-04 8.252665e-04 + 4461 4.295319e-04 4.116980e-04 5.833179e-04 6.527753e-04 6.137776e-04 + 4462 6.849993e-04 1.508205e-03 1.857247e-03 1.178012e-03 1.197624e-03 + 4463 1.457265e-03 1.003480e-03 1.162072e-03 5.197848e-04 7.485090e-04 + 4464 1.024559e-03 1.457183e-03 1.920254e-03 9.285837e-04 3.504948e-04 + 4465 6.261407e-04 4.345893e-04 7.203439e-04 3.309857e-04 8.675302e-04 + 4466 3.332443e-04 1.175391e-03 4.182198e-04 5.416993e-04 1.130499e-03 + 4467 9.147641e-04 3.409478e-04 3.354747e-03 1.005176e-03 1.878487e-03 + 4468 9.278877e-04 1.157363e-03 5.517113e-04 1.200355e-03 5.380252e-04 + 4469 1.156111e-03 1.222006e-03 9.108170e-04 4.487418e-04 8.755738e-04 + 4470 1.941066e-03 1.338178e-03 1.827712e-03 1.505965e-03 7.088297e-04 + 4471 2.303176e-03 2.391288e-03 1.478225e-03 1.737908e-03 1.371170e-03 + 4472 1.091272e-03 1.012443e-03 1.082757e-03 2.646731e-04 9.092827e-04 + 4473 1.051914e-03 7.225994e-04 8.609018e-04 8.471320e-04 1.856778e-03 + 4474 3.536440e-04 6.183012e-04 1.300626e-03 6.766210e-04 1.564530e-03 + 4475 4.536049e-04 3.890592e-04 2.391669e-04 5.594636e-04 6.303401e-04 + 4476 1.359752e-03 2.192127e-03 1.315124e-03 1.124743e-03 3.298963e-04 + 4477 9.257430e-04 1.799486e-03 1.014197e-03 9.511769e-04 1.363882e-03 + 4478 8.500339e-04 5.014002e-04 1.555350e-03 1.025023e-03 3.159734e-04 + 4479 6.972130e-04 1.082986e-03 1.148790e-03 4.400218e-04 7.018618e-04 + 4480 2.836977e-04 3.885721e-04 1.671530e-03 1.113207e-04 9.989976e-05 + 4481 1.373565e+00 1.372110e+00 1.471229e+00 1.394374e+00 1.245872e+00 + 4482 2.118179e+02 2.159635e+02 2.167279e+02 2.119328e+02 2.141320e+02 + 4483 3.322422e+02 3.384762e+02 3.398571e+02 3.319148e+02 3.368688e+02 + 4484 1.382510e+01 1.422030e+01 1.418704e+01 1.384877e+01 1.426602e+01 + 4485 3.060500e-02 2.896550e-02 3.576305e-02 2.757026e-02 3.757110e-02 + 4486 2.796165e-02 3.041096e-02 2.418329e-02 3.402865e-02 1.427688e-02 + 4487 1.044770e-01 9.259166e-02 1.131885e-01 7.068363e-02 8.531046e-02 + 4488 4.006624e-01 3.188718e-01 3.775802e-01 3.246583e-01 3.399539e-01 + 4489 5.924541e-02 6.571498e-02 6.358378e-02 5.326995e-02 5.437797e-02 + 4490 1.954526e-02 1.843553e-02 1.583628e-02 1.367316e-02 1.690639e-02 + 4491 7.232520e-03 1.289781e-02 1.243260e-02 1.723424e-02 1.215209e-02 + 4492 1.539917e-02 1.514958e-02 9.133958e-03 1.025819e-02 9.590128e-03 + 4493 1.317826e-02 1.254724e-02 2.395390e-02 1.842088e-02 1.877269e-02 + 4494 5.065102e-03 8.225665e-03 6.119642e-03 5.999374e-03 4.927255e-03 + 4495 8.551438e-03 4.185054e-03 5.252351e-03 6.100602e-03 8.455508e-03 + 4496 5.364339e-03 1.232836e-02 9.154842e-03 6.523485e-03 5.850195e-03 + 4497 9.405048e-03 6.358387e-03 4.709909e-03 8.031435e-03 8.123852e-03 + 4498 1.130222e-02 8.450814e-03 9.879290e-03 9.910050e-03 7.595331e-03 + 4499 2.613444e-03 2.359754e-03 1.921479e-03 3.301576e-03 4.678609e-03 + 4500 3.628325e-03 5.950676e-03 4.570266e-03 3.295583e-03 4.666560e-03 + 4501 5.688014e-03 3.878906e-03 3.716744e-03 6.040955e-03 4.486539e-03 + 4502 6.884636e-03 5.890329e-03 5.786903e-03 4.095206e-03 4.607334e-03 + 4503 3.146678e-03 2.049519e-03 1.654236e-03 1.986477e-03 1.689402e-03 + 4504 3.046537e-03 6.165860e-03 4.587945e-03 4.344421e-03 4.044262e-03 + 4505 5.563488e-03 1.432178e-03 4.342207e-03 3.991029e-03 3.210811e-03 + 4506 3.043429e-03 3.219604e-03 9.925779e-04 2.509230e-03 3.950679e-03 + 4507 2.572759e-03 2.848210e-03 6.518894e-03 4.763219e-03 1.980551e-03 + 4508 4.949743e-03 3.170205e-03 2.367590e-03 3.037122e-03 5.567018e-03 + 4509 2.765671e-03 3.187906e-03 4.659917e-03 4.623842e-03 2.755882e-03 + 4510 3.015332e-03 2.071348e-03 1.327923e-03 2.632032e-03 4.018477e-03 + 4511 2.192512e-03 3.769162e-03 1.977588e-03 2.554662e-03 2.405966e-03 + 4512 1.171516e-03 1.694604e-03 3.083860e-03 2.698399e-03 2.318241e-03 + 4513 1.725796e-03 1.393389e-03 1.097783e-03 1.815059e-03 2.504431e-03 + 4514 2.701465e-03 2.277514e-03 4.178656e-03 3.686893e-03 4.233155e-03 + 4515 1.959073e-03 2.325704e-03 2.754997e-03 2.397639e-03 1.970916e-03 + 4516 2.606709e-03 1.732136e-03 1.558000e-03 1.680896e-03 3.985368e-03 + 4517 3.368813e-03 3.773414e-03 3.236763e-03 5.296506e-03 3.736879e-03 + 4518 2.737968e-03 1.187763e-03 3.657931e-03 2.720805e-03 3.791900e-03 + 4519 2.699182e-03 2.552826e-03 1.703557e-03 1.783641e-03 1.697358e-03 + 4520 2.413563e-03 1.253593e-03 9.884547e-04 1.110280e-03 1.145337e-03 + 4521 2.447140e-03 2.276771e-03 2.143368e-03 2.396141e-03 1.582566e-03 + 4522 2.886310e-03 9.888065e-03 1.921958e-03 1.469285e-03 2.706300e-03 + 4523 1.073975e-03 4.031476e-03 5.800158e-04 2.043560e-03 1.251404e-03 + 4524 2.030012e-03 1.489192e-03 2.881314e-03 3.251414e-03 2.297070e-03 + 4525 2.162311e-04 3.170402e-03 2.737852e-04 1.197634e-03 8.232434e-04 + 4526 1.632271e-03 3.383184e-04 2.136962e-03 1.379550e-03 1.600863e-03 + 4527 1.202131e-03 1.789192e-03 2.375296e-03 8.460093e-04 3.990609e-04 + 4528 1.006483e-03 2.301096e-03 1.113861e-03 8.801413e-04 8.528036e-04 + 4529 9.010757e-02 9.097527e-02 8.594407e-02 8.436679e-02 8.112752e-02 + 4530 4.696138e-01 4.503063e-01 4.701863e-01 4.315616e-01 4.325683e-01 + 4531 8.639564e-02 8.223022e-02 8.026449e-02 7.994651e-02 7.445759e-02 + 4532 6.082824e-04 1.579627e-03 1.214917e-03 6.137369e-04 6.669727e-04 + 4533 7.183507e-04 8.646750e-04 1.459828e-03 5.294614e-04 2.577820e-03 + 4534 1.350498e-03 1.872898e-03 3.865030e-04 6.106919e-04 5.855342e-04 + 4535 2.894038e-03 1.864161e-03 1.653047e-03 2.366571e-03 1.933918e-03 + 4536 1.751476e-03 2.764919e-03 4.775136e-04 2.272985e-03 1.638140e-03 + 4537 1.756357e-03 9.923746e-04 7.180631e-04 6.888886e-04 2.740458e-03 + 4538 2.020005e-03 2.287483e-03 2.098738e-03 9.710450e-04 2.367893e-03 + 4539 6.656240e-04 8.912145e-04 1.340759e-03 1.307829e-03 4.342840e-04 + 4540 2.373889e-03 1.765999e-03 5.924020e-04 1.188174e-03 1.026700e-03 + 4541 9.391216e-04 5.705380e-04 8.443946e-04 1.066526e-03 6.762202e-04 + 4542 1.449328e-03 2.167915e-03 3.336863e-03 1.527748e-03 1.080322e-03 + 4543 1.969697e-03 1.713736e-03 1.696148e-03 8.072690e-04 1.923171e-03 + 4544 5.575985e-04 1.291844e-03 6.145193e-04 3.067057e-04 1.128370e-03 + 4545 1.401782e-03 1.280157e-03 1.090392e-03 2.391365e-03 2.224479e-03 + 4546 1.234882e-03 7.269368e-04 5.102631e-04 6.549928e-04 8.874898e-04 + 4547 5.965078e-04 2.359781e-03 7.156364e-04 5.803875e-04 1.938871e-03 + 4548 2.826835e-03 1.044958e-03 6.800534e-04 1.112244e-03 9.682629e-04 + 4549 8.728666e-04 9.868011e-04 9.121017e-04 2.221986e-03 1.828561e-03 + 4550 6.950680e-04 9.790955e-04 1.052906e-03 1.943039e-03 1.120852e-03 + 4551 1.087681e-03 1.299545e-03 3.390314e-03 3.730458e-03 5.456466e-03 + 4552 1.128255e-03 5.069549e-04 1.034153e-03 1.560247e-03 1.317560e-03 + 4553 1.015952e-03 1.378225e-03 3.177251e-03 1.827855e-03 1.599802e-03 + 4554 3.624688e-04 6.792805e-04 8.550933e-04 3.922419e-04 1.076208e-03 + 4555 6.389949e-04 6.377351e-04 2.084768e-03 3.990920e-04 2.277381e-03 + 4556 1.103357e-03 1.831653e-03 1.579648e-03 1.368505e-03 1.104226e-03 + 4557 3.473699e-04 1.608014e-03 5.757290e-04 9.786396e-04 1.622887e-03 + 4558 5.766726e-04 1.720048e-03 6.299935e-04 1.308789e-03 1.399077e-03 + 4559 1.474145e-03 2.585550e-04 9.593705e-04 6.146650e-04 4.933858e-04 + 4560 6.135497e-04 8.588041e-04 3.343285e-04 8.467934e-04 9.221848e-04 + 4561 9.817961e-04 7.545341e-04 1.710173e-03 1.784323e-03 1.216389e-03 + 4562 5.483429e-04 1.053223e-03 8.200021e-04 2.889063e-04 5.289011e-04 + 4563 4.005397e-04 7.934814e-04 1.643804e-03 6.229398e-04 7.739422e-04 + 4564 8.754936e-04 1.670296e-03 1.018687e-03 1.173988e-03 8.408583e-04 + 4565 9.667053e-04 1.512946e-03 1.392654e-03 8.820926e-04 5.207433e-04 + 4566 9.450507e-04 3.015891e-03 1.027523e-03 1.039350e-03 8.687621e-04 + 4567 1.083924e-03 1.642564e-03 1.134674e-03 1.547572e-03 1.046577e-03 + 4568 9.316170e-04 1.524594e-03 1.375199e-03 9.685409e-04 8.050494e-04 + 4569 1.306759e-03 1.684604e-03 7.214068e-04 6.147504e-04 1.083656e-03 + 4570 1.235918e-03 1.088442e-03 9.566581e-04 5.810352e-04 1.488645e-03 + 4571 2.861976e-04 6.380715e-04 1.585397e-03 1.252371e-03 8.961481e-04 + 4572 1.469095e-03 8.151667e-04 1.318057e-03 9.413107e-04 1.019410e-03 + 4573 2.302280e-03 3.420464e-03 1.828577e-03 3.253835e-03 1.968861e-03 + 4574 7.150833e-03 8.276514e-03 5.416192e-03 6.488278e-03 3.182302e-03 + 4575 1.274566e-03 8.971893e-04 5.967980e-04 8.705036e-04 8.572292e-04 + 4576 7.068508e-04 1.506759e-03 5.038471e-04 1.374880e-03 9.792813e-04 + 4577 1.788980e-03 2.262801e-03 1.175318e-03 1.389453e-03 1.421454e-03 + 4578 1.140749e-03 2.125281e-03 7.557637e-04 1.106740e-03 7.249402e-04 + 4579 2.598613e-03 2.289057e-03 1.569801e-03 2.334285e-03 2.856575e-03 + 4580 1.055636e-02 9.465398e-03 8.549697e-03 7.294254e-03 1.128780e-02 + 4581 3.011318e-03 2.318808e-03 2.440890e-03 1.684249e-03 3.031150e-03 + 4582 1.424240e-03 1.260726e-03 8.655546e-04 8.117408e-04 5.086689e-04 + 4583 8.561918e-04 6.873654e-04 8.807410e-04 1.302553e-03 7.167137e-04 + 4584 1.539353e-03 1.620854e-03 1.930591e-03 5.337420e-04 1.456958e-03 + 4585 2.751694e-03 1.938224e-03 1.660245e-03 3.280335e-03 3.337102e-03 + 4586 7.398214e-03 5.774302e-03 5.850540e-03 6.777704e-03 5.113995e-03 + 4587 2.298324e-03 1.437894e-03 2.040557e-03 2.143227e-03 1.121554e-03 + 4588 4.249465e-04 1.359407e-03 1.699447e-03 1.302992e-03 1.288232e-03 + 4589 5.960287e-04 1.042078e-03 1.877629e-04 6.405188e-04 5.587538e-04 + 4590 4.960492e-04 1.254383e-03 1.584966e-03 1.017326e-03 1.070232e-03 + 4591 1.213322e-03 1.044061e-03 2.545392e-03 7.483787e-04 6.112231e-04 + 4592 1.252857e-03 1.291957e-03 1.814889e-03 1.579325e-03 1.773760e-03 + 4593 1.768020e-03 1.354375e-03 1.808920e-03 8.657350e-04 7.115263e-04 + 4594 8.846763e-04 1.511233e-03 2.643272e-03 6.086589e-04 4.728949e-04 + 4595 2.511048e-04 1.268821e-04 2.766877e-03 5.523911e-04 6.220837e-04 + 4596 2.542168e-04 1.409821e-03 1.440482e-03 1.545080e-03 3.556928e-04 + 4597 8.539702e-04 4.213481e-04 1.009649e-03 1.613717e-03 1.112343e-03 + 4598 9.418252e-04 1.927325e-03 1.836104e-03 1.321743e-03 1.121385e-03 + 4599 3.860262e-04 1.709600e-03 3.251097e-04 4.069541e-04 3.786930e-04 + 4600 4.155278e-04 9.852528e-04 6.419482e-04 7.225973e-04 3.463137e-04 + 4601 1.680457e-03 1.061832e-03 2.943189e-03 8.388056e-04 1.797996e-03 + 4602 1.051620e-03 1.054216e-03 6.910177e-04 9.042754e-04 4.741052e-04 + 4603 1.789514e-03 1.506580e-03 1.850132e-03 2.107153e-03 8.400222e-04 + 4604 1.485714e-03 1.179642e-03 2.282803e-03 1.122602e-03 2.063863e-04 + 4605 1.399320e-03 1.056702e-03 1.378504e-03 1.668444e-03 8.902192e-04 + 4606 1.117310e-03 6.783892e-04 5.334888e-04 9.876488e-04 1.243472e-03 + 4607 3.860881e-04 9.324266e-05 3.373198e-04 2.993409e-04 4.164551e-04 + 4608 7.236837e-04 7.208489e-04 4.458255e-04 7.617693e-04 4.874612e-04 + 4609 1.262759e+00 1.224966e+00 1.281173e+00 1.252991e+00 1.216585e+00 + 4610 2.111327e+02 2.151482e+02 2.161066e+02 2.120853e+02 2.124016e+02 + 4611 3.321165e+02 3.388506e+02 3.391877e+02 3.329686e+02 3.336914e+02 + 4612 1.349242e+01 1.390014e+01 1.364741e+01 1.351079e+01 1.360220e+01 + 4613 4.289539e-02 3.899975e-02 3.569145e-02 4.779411e-02 3.754506e-02 + 4614 1.904690e-02 2.333979e-02 1.920379e-02 2.477274e-02 1.698804e-02 + 4615 1.303961e-01 1.151839e-01 1.215572e-01 1.207887e-01 1.226521e-01 + 4616 3.616187e-01 3.126424e-01 3.683487e-01 3.655116e-01 3.480947e-01 + 4617 6.658883e-02 5.701724e-02 6.985118e-02 8.293711e-02 7.929770e-02 + 4618 1.734806e-02 3.072745e-02 1.553147e-02 1.618272e-02 1.606510e-02 + 4619 8.769236e-03 1.152231e-02 1.480862e-02 1.461840e-02 1.414901e-02 + 4620 1.774819e-02 1.407097e-02 1.242595e-02 1.715269e-02 1.097302e-02 + 4621 2.167781e-02 2.494910e-02 2.089336e-02 1.871920e-02 2.963466e-02 + 4622 1.057756e-02 8.071282e-03 7.899056e-03 9.904694e-03 1.123270e-02 + 4623 8.950801e-03 1.108430e-02 8.042361e-03 1.091902e-02 8.887824e-03 + 4624 5.375616e-03 6.139563e-03 6.816439e-03 5.329632e-03 4.294938e-03 + 4625 7.880920e-03 4.586425e-03 7.176932e-03 5.878042e-03 6.892707e-03 + 4626 1.169675e-02 8.229962e-03 8.146708e-03 9.036078e-03 6.641683e-03 + 4627 6.463797e-03 3.170727e-03 7.213728e-03 5.624908e-03 8.732514e-03 + 4628 5.444166e-03 7.481621e-03 4.757372e-03 7.666767e-03 4.599060e-03 + 4629 5.851976e-03 2.710765e-03 4.323853e-03 5.871306e-03 2.988793e-03 + 4630 4.079180e-03 6.908954e-03 7.385299e-03 8.154301e-03 7.211988e-03 + 4631 3.943562e-03 2.594894e-03 1.853566e-03 3.237308e-04 1.890944e-03 + 4632 5.641426e-03 2.052888e-02 5.771097e-03 7.399650e-03 3.811975e-03 + 4633 4.688985e-03 1.707270e-03 4.202829e-03 4.581572e-03 3.140528e-03 + 4634 6.683996e-03 3.069567e-03 2.868968e-03 2.539775e-03 1.750974e-03 + 4635 2.642958e-03 2.769898e-03 3.370467e-03 3.977854e-03 4.106935e-03 + 4636 3.278747e-03 2.809571e-03 2.980404e-03 1.979300e-03 3.137684e-03 + 4637 6.305396e-03 9.071846e-03 4.183238e-03 5.599176e-03 3.678507e-03 + 4638 4.608465e-03 2.067308e-03 2.228911e-03 2.223146e-03 2.403200e-03 + 4639 1.972756e-03 1.838821e-03 5.222493e-03 2.121184e-03 2.853031e-03 + 4640 2.063211e-03 2.949194e-03 2.204570e-03 9.850870e-04 1.696014e-03 + 4641 2.395972e-03 4.311465e-03 3.102806e-03 4.317471e-03 3.881175e-03 + 4642 2.400930e-03 2.346664e-03 2.164355e-03 1.664253e-03 1.948945e-03 + 4643 1.150794e-03 1.689422e-03 2.035097e-03 2.345054e-03 1.275713e-03 + 4644 2.935989e-03 1.395572e-03 2.826076e-03 1.842824e-03 2.627137e-03 + 4645 1.578894e-03 3.307112e-03 9.684994e-04 1.506783e-03 1.477454e-03 + 4646 2.201584e-03 3.898728e-03 3.933039e-03 2.745222e-03 1.183956e-03 + 4647 1.723804e-03 2.668864e-03 1.321595e-03 3.078407e-03 3.921132e-03 + 4648 1.409870e-03 1.455067e-03 2.424037e-03 1.466878e-03 1.170405e-03 + 4649 1.845147e-03 2.509464e-03 1.863036e-03 1.767639e-03 1.336598e-03 + 4650 1.289275e-03 4.220027e-03 1.421051e-03 1.065847e-03 1.361183e-03 + 4651 4.753898e-03 4.406953e-03 3.290558e-03 2.226311e-03 4.089945e-03 + 4652 1.736282e-03 3.826339e-04 3.904769e-04 8.885627e-04 1.294790e-03 + 4653 2.805410e-03 4.439646e-03 5.402273e-03 5.766285e-03 4.358099e-03 + 4654 2.385299e-03 1.842406e-03 6.030764e-04 1.158221e-03 3.707907e-04 + 4655 1.487866e-03 3.502979e-03 6.111487e-04 2.225122e-03 1.504801e-03 + 4656 1.403443e-03 1.849808e-03 1.475169e-03 1.219698e-03 1.320175e-03 + 4657 8.076055e-02 8.204978e-02 7.985997e-02 7.174819e-02 7.899153e-02 + 4658 4.718974e-01 4.441922e-01 4.531416e-01 4.415819e-01 4.524978e-01 + 4659 9.388376e-02 8.601987e-02 8.661851e-02 8.468836e-02 8.852807e-02 + 4660 1.904068e-03 2.536834e-04 1.151454e-03 8.773220e-04 1.430100e-03 + 4661 1.943537e-03 1.084510e-03 1.010255e-03 1.162475e-03 1.169947e-03 + 4662 2.295974e-03 1.902511e-03 2.449823e-03 1.251337e-03 1.232618e-03 + 4663 2.325524e-03 2.064012e-03 3.218906e-03 2.819782e-03 1.331868e-03 + 4664 1.543450e-03 7.839491e-04 5.168750e-04 8.112443e-04 1.654827e-03 + 4665 2.848209e-04 7.604845e-04 6.074742e-04 1.160420e-03 8.334619e-04 + 4666 2.000021e-03 1.196302e-03 2.482629e-03 1.437520e-03 1.858734e-03 + 4667 8.690131e-04 1.239438e-03 9.679824e-04 2.439599e-03 7.294901e-04 + 4668 2.173618e-03 1.927048e-03 2.921444e-03 1.534652e-03 1.638208e-03 + 4669 1.840058e-03 1.414068e-03 8.342140e-04 9.875679e-04 1.369505e-03 + 4670 1.651329e-03 2.669022e-03 2.003634e-03 2.113604e-03 1.946612e-03 + 4671 8.249080e-04 1.385724e-03 2.282656e-04 4.647094e-04 3.435281e-04 + 4672 1.667946e-03 2.195871e-03 2.438582e-03 2.641294e-03 2.069561e-03 + 4673 1.528937e-03 1.580691e-03 3.279098e-04 4.206787e-04 2.786956e-04 + 4674 1.956614e-03 9.853859e-04 1.887374e-03 1.231446e-03 6.363596e-04 + 4675 1.407337e-03 5.032892e-04 7.268642e-04 1.445265e-03 8.454676e-04 + 4676 2.600877e-03 2.720325e-03 3.438363e-03 2.528714e-03 2.854811e-03 + 4677 4.000961e-04 9.628048e-04 2.917245e-04 8.548111e-04 4.169714e-04 + 4678 1.098568e-03 1.960705e-03 1.381678e-03 1.749060e-03 1.238167e-03 + 4679 1.134812e-03 3.821368e-04 2.042888e-03 2.046964e-03 1.111667e-03 + 4680 1.245136e-03 6.605577e-04 4.900030e-04 2.557284e-03 1.022001e-03 + 4681 6.525500e-04 1.554391e-03 1.271888e-03 1.180591e-03 7.416156e-04 + 4682 9.965362e-04 9.258178e-04 2.317946e-03 9.265775e-04 8.189395e-04 + 4683 1.141091e-03 1.973216e-03 1.424120e-03 6.668371e-04 5.437035e-04 + 4684 1.141493e-03 1.134905e-03 2.198473e-03 2.125293e-03 2.272974e-03 + 4685 4.405962e-04 1.431234e-04 8.165937e-04 5.228739e-05 1.009626e-03 + 4686 1.502783e-03 1.384366e-03 1.468274e-03 1.950739e-03 2.008217e-03 + 4687 2.754599e-04 6.892479e-04 1.077152e-03 5.769180e-04 2.383092e-04 + 4688 1.034224e-03 2.112518e-04 1.559842e-03 4.934917e-04 1.853981e-03 + 4689 2.103795e-03 4.853762e-04 1.270544e-03 2.574662e-04 1.067999e-03 + 4690 5.999684e-04 6.672264e-04 3.305584e-04 5.034869e-04 1.344621e-03 + 4691 1.261630e-03 1.533295e-03 1.317868e-03 1.302832e-03 1.025953e-04 + 4692 8.712691e-04 1.054043e-03 5.886743e-04 1.216361e-03 1.288507e-03 + 4693 5.301638e-04 8.924703e-04 6.924457e-04 1.397717e-03 9.514009e-04 + 4694 1.439990e-03 1.050296e-03 9.341693e-04 7.118677e-04 1.037898e-03 + 4695 9.718289e-04 1.557507e-03 5.493606e-04 1.195791e-03 1.217321e-03 + 4696 9.170827e-04 5.883201e-04 1.341328e-03 3.924944e-04 4.938258e-04 + 4697 7.061246e-04 1.353635e-03 1.749976e-03 1.383899e-03 7.205256e-04 + 4698 1.017772e-03 8.408594e-04 5.965029e-04 1.527694e-03 8.411447e-04 + 4699 1.429180e-03 1.153571e-03 1.419121e-03 1.629981e-03 6.630734e-04 + 4700 1.137460e-03 2.058782e-03 6.819913e-04 8.259333e-04 5.307582e-04 + 4701 3.112254e-03 2.284125e-03 1.049641e-03 1.898263e-03 1.688983e-03 + 4702 9.830744e-03 8.367943e-03 5.648983e-03 1.036523e-02 8.043548e-03 + 4703 2.637635e-03 1.531969e-03 1.646686e-03 2.054099e-03 2.871434e-03 + 4704 9.915057e-04 1.319265e-03 4.245225e-04 8.015301e-04 1.340519e-03 + 4705 1.182797e-03 6.124926e-04 9.529432e-04 6.318858e-04 2.560255e-03 + 4706 6.448074e-04 1.187757e-03 1.088458e-03 1.292895e-03 8.114765e-04 + 4707 2.459726e-03 1.610246e-03 2.727028e-03 1.295181e-03 1.276751e-03 + 4708 3.373626e-03 7.294311e-03 4.220886e-03 3.637412e-03 4.698637e-03 + 4709 1.917334e-03 2.743444e-03 2.049242e-03 1.734836e-03 1.786299e-03 + 4710 1.838482e-03 2.271677e-03 1.684394e-03 2.244838e-03 2.048825e-03 + 4711 9.126607e-04 1.504431e-03 1.188938e-03 1.618787e-03 8.188020e-04 + 4712 1.075537e-03 1.749735e-03 5.864117e-04 5.543666e-04 4.653687e-04 + 4713 1.360257e-03 2.129927e-03 7.090853e-04 1.300605e-03 1.466273e-03 + 4714 5.830843e-03 5.951249e-03 2.470091e-03 5.243213e-03 4.590278e-03 + 4715 1.593321e-03 3.074487e-03 8.261114e-04 1.922901e-03 1.417706e-03 + 4716 1.696218e-03 6.328489e-04 6.053393e-04 9.885992e-04 5.634587e-04 + 4717 1.813698e-03 1.952832e-03 1.429548e-03 1.798505e-03 1.037182e-03 + 4718 1.175258e-03 1.562733e-03 6.910751e-04 2.904143e-03 1.479975e-03 + 4719 2.011733e-03 1.018755e-03 1.629442e-03 1.129450e-03 2.730483e-03 + 4720 1.236747e-03 1.580422e-03 1.238976e-03 8.002329e-04 1.088735e-03 + 4721 6.022525e-04 2.278107e-04 2.473313e-04 9.459595e-04 2.177741e-04 + 4722 4.344902e-04 1.061339e-03 4.448983e-04 1.025277e-03 1.076258e-03 + 4723 1.089253e-03 6.383465e-04 1.502577e-03 1.100350e-03 9.226381e-04 + 4724 7.601603e-04 1.237447e-03 2.977689e-04 1.681754e-03 1.243151e-03 + 4725 1.105638e-03 8.024832e-04 2.430889e-03 1.686440e-03 1.111881e-03 + 4726 2.498623e-03 3.200102e-03 4.771573e-03 4.033569e-03 2.787629e-03 + 4727 1.477132e-03 4.921224e-04 1.595804e-03 2.586156e-03 1.675425e-03 + 4728 7.871510e-04 4.695138e-04 2.175295e-04 6.239080e-04 6.596916e-04 + 4729 1.213567e-03 1.115916e-03 1.540104e-03 8.253722e-04 8.041456e-04 + 4730 2.897842e-04 1.057561e-03 4.156557e-04 1.252315e-04 2.385569e-04 + 4731 5.761715e-04 8.174470e-04 9.796111e-04 1.583277e-03 8.274015e-04 + 4732 4.902836e-04 1.190777e-03 2.292251e-04 1.840799e-04 1.536823e-04 + 4733 1.103256e-03 9.417145e-04 6.679268e-04 1.122669e-03 1.242256e-03 + 4734 9.195886e-04 1.036397e-03 7.641350e-04 5.101278e-04 1.909525e-03 + 4735 4.158426e-04 6.220666e-04 2.388055e-04 2.591164e-04 6.594499e-04 + 4736 1.278385e-03 1.162602e-04 8.757578e-04 6.302099e-04 3.066269e-03 + 4737 1.151216e+00 1.280440e+00 1.331886e+00 1.317828e+00 1.120034e+00 + 4738 2.112812e+02 2.155885e+02 2.164469e+02 2.133500e+02 2.126103e+02 + 4739 3.322647e+02 3.383430e+02 3.397515e+02 3.347671e+02 3.348677e+02 + 4740 1.384384e+01 1.421498e+01 1.421695e+01 1.388731e+01 1.396521e+01 + 4741 5.182930e-02 5.535585e-02 3.522078e-02 6.237818e-02 6.019527e-02 + 4742 1.407191e-02 1.279349e-02 1.310759e-02 1.339834e-02 1.733019e-02 + 4743 9.794670e-02 9.836868e-02 1.323582e-01 1.058803e-01 1.082240e-01 + 4744 3.245803e-01 2.633459e-01 3.224576e-01 3.238523e-01 3.445925e-01 + 4745 7.171709e-02 6.291951e-02 7.536665e-02 6.518584e-02 7.847622e-02 + 4746 2.554977e-02 3.155463e-02 2.338427e-02 2.629566e-02 2.494789e-02 + 4747 1.645419e-02 7.339751e-03 9.792822e-03 1.271266e-02 1.205093e-02 + 4748 1.293470e-02 1.926253e-02 1.453665e-02 1.210581e-02 1.318027e-02 + 4749 8.743603e-03 8.456833e-03 7.833830e-03 8.722249e-03 6.521183e-03 + 4750 1.558994e-02 1.772447e-02 1.188669e-02 1.636910e-02 1.776362e-02 + 4751 7.531987e-03 8.964803e-03 7.876007e-03 6.232414e-03 4.446879e-03 + 4752 8.159307e-03 9.965267e-03 1.167497e-02 1.314091e-02 9.054934e-03 + 4753 5.804248e-03 9.180017e-03 6.548639e-03 4.812933e-03 9.363277e-03 + 4754 5.332127e-03 3.082608e-03 1.406245e-03 5.107141e-03 4.366966e-03 + 4755 4.786549e-03 6.627113e-03 1.119503e-02 6.120356e-03 9.614240e-03 + 4756 9.295052e-03 4.455880e-03 2.399929e-03 4.742013e-03 4.536341e-03 + 4757 2.357822e-03 6.224137e-03 4.806425e-03 3.575669e-03 3.772574e-03 + 4758 5.266349e-03 4.189334e-03 4.050098e-03 5.053573e-03 4.554659e-03 + 4759 1.264512e-03 3.219289e-03 2.401774e-03 1.959203e-03 3.265013e-03 + 4760 4.488064e-03 5.141798e-03 4.782271e-03 5.297614e-03 5.128483e-03 + 4761 2.154726e-03 3.421003e-03 3.181124e-03 1.228924e-03 2.507664e-03 + A16 frequency participant_id recording event_type + 1 1.347861e+00 1 NA Newtest17-256 255 + 2 2.059141e+02 2 NA Newtest17-256 255 + 3 3.260314e+02 3 NA Newtest17-256 255 + 4 1.342464e+01 4 NA Newtest17-256 255 + 5 4.515132e-03 5 NA Newtest17-256 255 + 6 4.173910e-02 6 NA Newtest17-256 255 + 7 8.222071e-02 7 NA Newtest17-256 255 + 8 3.348994e-01 8 NA Newtest17-256 255 + 9 4.168381e-02 9 NA Newtest17-256 255 + 10 1.242482e-02 10 NA Newtest17-256 255 + 11 2.704412e-02 11 NA Newtest17-256 255 + 12 1.848648e-02 12 NA Newtest17-256 255 + 13 1.531456e-02 13 NA Newtest17-256 255 + 14 1.004650e-02 14 NA Newtest17-256 255 + 15 6.963912e-03 15 NA Newtest17-256 255 + 16 1.462390e-02 16 NA Newtest17-256 255 + 17 3.273927e-03 17 NA Newtest17-256 255 + 18 4.491839e-03 18 NA Newtest17-256 255 + 19 9.456657e-03 19 NA Newtest17-256 255 + 20 1.995491e-03 20 NA Newtest17-256 255 + 21 1.206966e-02 21 NA Newtest17-256 255 + 22 2.026440e-03 22 NA Newtest17-256 255 + 23 6.517094e-03 23 NA Newtest17-256 255 + 24 1.682084e-03 24 NA Newtest17-256 255 + 25 4.770409e-03 25 NA Newtest17-256 255 + 26 3.608022e-03 26 NA Newtest17-256 255 + 27 2.010153e-03 27 NA Newtest17-256 255 + 28 2.593848e-03 28 NA Newtest17-256 255 + 29 5.064579e-03 29 NA Newtest17-256 255 + 30 3.517594e-03 30 NA Newtest17-256 255 + 31 2.932662e-03 31 NA Newtest17-256 255 + 32 2.479090e-03 32 NA Newtest17-256 255 + 33 1.542649e-03 33 NA Newtest17-256 255 + 34 3.848760e-03 34 NA Newtest17-256 255 + 35 1.978138e-03 35 NA Newtest17-256 255 + 36 4.160937e-03 36 NA Newtest17-256 255 + 37 2.018761e-03 37 NA Newtest17-256 255 + 38 2.568624e-03 38 NA Newtest17-256 255 + 39 2.292136e-03 39 NA Newtest17-256 255 + 40 2.174025e-03 40 NA Newtest17-256 255 + 41 1.287169e-03 41 NA Newtest17-256 255 + 42 2.485326e-03 42 NA Newtest17-256 255 + 43 1.954872e-03 43 NA Newtest17-256 255 + 44 1.057387e-03 44 NA Newtest17-256 255 + 45 2.147823e-03 45 NA Newtest17-256 255 + 46 1.369568e-03 46 NA Newtest17-256 255 + 47 2.679839e-03 47 NA Newtest17-256 255 + 48 1.384882e-03 48 NA Newtest17-256 255 + 49 6.592970e-02 49 NA Newtest17-256 255 + 50 3.913513e-01 50 NA Newtest17-256 255 + 51 8.048144e-02 51 NA Newtest17-256 255 + 52 1.905078e-03 52 NA Newtest17-256 255 + 53 2.030323e-03 53 NA Newtest17-256 255 + 54 2.095022e-03 54 NA Newtest17-256 255 + 55 2.561114e-03 55 NA Newtest17-256 255 + 56 7.882970e-04 56 NA Newtest17-256 255 + 57 1.150380e-03 57 NA Newtest17-256 255 + 58 7.647423e-04 58 NA Newtest17-256 255 + 59 8.393475e-04 59 NA Newtest17-256 255 + 60 7.434834e-04 60 NA Newtest17-256 255 + 61 1.573766e-03 61 NA Newtest17-256 255 + 62 2.108234e-03 62 NA Newtest17-256 255 + 63 9.101920e-04 63 NA Newtest17-256 255 + 64 1.471720e-03 64 NA Newtest17-256 255 + 65 2.645446e-03 65 NA Newtest17-256 255 + 66 1.280224e-03 66 NA Newtest17-256 255 + 67 1.519175e-03 67 NA Newtest17-256 255 + 68 2.730359e-03 68 NA Newtest17-256 255 + 69 8.924682e-04 69 NA Newtest17-256 255 + 70 9.056092e-04 70 NA Newtest17-256 255 + 71 2.704086e-03 71 NA Newtest17-256 255 + 72 1.124786e-03 72 NA Newtest17-256 255 + 73 1.475441e-03 73 NA Newtest17-256 255 + 74 1.341713e-03 74 NA Newtest17-256 255 + 75 2.345944e-03 75 NA Newtest17-256 255 + 76 1.714110e-04 76 NA Newtest17-256 255 + 77 1.765409e-03 77 NA Newtest17-256 255 + 78 8.515215e-04 78 NA Newtest17-256 255 + 79 1.074094e-03 79 NA Newtest17-256 255 + 80 1.934774e-03 80 NA Newtest17-256 255 + 81 1.143705e-03 81 NA Newtest17-256 255 + 82 1.246597e-03 82 NA Newtest17-256 255 + 83 2.242913e-03 83 NA Newtest17-256 255 + 84 1.916057e-03 84 NA Newtest17-256 255 + 85 4.580252e-04 85 NA Newtest17-256 255 + 86 1.403889e-03 86 NA Newtest17-256 255 + 87 1.089592e-03 87 NA Newtest17-256 255 + 88 4.328449e-04 88 NA Newtest17-256 255 + 89 3.871444e-04 89 NA Newtest17-256 255 + 90 1.064674e-03 90 NA Newtest17-256 255 + 91 6.119108e-04 91 NA Newtest17-256 255 + 92 1.692740e-03 92 NA Newtest17-256 255 + 93 3.877247e-03 93 NA Newtest17-256 255 + 94 4.411871e-03 94 NA Newtest17-256 255 + 95 1.205416e-03 95 NA Newtest17-256 255 + 96 1.605979e-03 96 NA Newtest17-256 255 + 97 1.592762e-03 97 NA Newtest17-256 255 + 98 4.209868e-04 98 NA Newtest17-256 255 + 99 1.915582e-03 99 NA Newtest17-256 255 + 100 8.029114e-03 100 NA Newtest17-256 255 + 101 1.859188e-03 101 NA Newtest17-256 255 + 102 3.128650e-04 102 NA Newtest17-256 255 + 103 3.529281e-04 103 NA Newtest17-256 255 + 104 1.553781e-03 104 NA Newtest17-256 255 + 105 1.442122e-03 105 NA Newtest17-256 255 + 106 5.136656e-03 106 NA Newtest17-256 255 + 107 1.587177e-03 107 NA Newtest17-256 255 + 108 1.576735e-03 108 NA Newtest17-256 255 + 109 1.280131e-03 109 NA Newtest17-256 255 + 110 9.981630e-04 110 NA Newtest17-256 255 + 111 1.714829e-03 111 NA Newtest17-256 255 + 112 8.402307e-04 112 NA Newtest17-256 255 + 113 1.334824e-03 113 NA Newtest17-256 255 + 114 4.476057e-04 114 NA Newtest17-256 255 + 115 1.131936e-03 115 NA Newtest17-256 255 + 116 9.262481e-04 116 NA Newtest17-256 255 + 117 4.347559e-04 117 NA Newtest17-256 255 + 118 1.373293e-03 118 NA Newtest17-256 255 + 119 4.230420e-04 119 NA Newtest17-256 255 + 120 1.458153e-03 120 NA Newtest17-256 255 + 121 1.104134e-03 121 NA Newtest17-256 255 + 122 1.752445e-03 122 NA Newtest17-256 255 + 123 8.065128e-04 123 NA Newtest17-256 255 + 124 1.046952e-03 124 NA Newtest17-256 255 + 125 1.326627e-03 125 NA Newtest17-256 255 + 126 3.771081e-04 126 NA Newtest17-256 255 + 127 4.833261e-04 127 NA Newtest17-256 255 + 128 4.132755e-04 128 NA Newtest17-256 255 + 129 1.245371e+00 1 NA Newtest17-256 255 + 130 2.061037e+02 2 NA Newtest17-256 255 + 131 3.239319e+02 3 NA Newtest17-256 255 + 132 1.331739e+01 4 NA Newtest17-256 255 + 133 6.977583e-02 5 NA Newtest17-256 255 + 134 1.187329e-02 6 NA Newtest17-256 255 + 135 1.018564e-01 7 NA Newtest17-256 255 + 136 2.748198e-01 8 NA Newtest17-256 255 + 137 4.565663e-02 9 NA Newtest17-256 255 + 138 3.750704e-02 10 NA Newtest17-256 255 + 139 4.394403e-03 11 NA Newtest17-256 255 + 140 1.126560e-02 12 NA Newtest17-256 255 + 141 1.140763e-02 13 NA Newtest17-256 255 + 142 1.192234e-02 14 NA Newtest17-256 255 + 143 8.986931e-03 15 NA Newtest17-256 255 + 144 7.600638e-03 16 NA Newtest17-256 255 + 145 4.998649e-03 17 NA Newtest17-256 255 + 146 3.835452e-03 18 NA Newtest17-256 255 + 147 6.700550e-03 19 NA Newtest17-256 255 + 148 3.664600e-03 20 NA Newtest17-256 255 + 149 2.287989e-03 21 NA Newtest17-256 255 + 150 6.291712e-03 22 NA Newtest17-256 255 + 151 2.152220e-03 23 NA Newtest17-256 255 + 152 3.371764e-03 24 NA Newtest17-256 255 + 153 3.430205e-03 25 NA Newtest17-256 255 + 154 3.184347e-03 26 NA Newtest17-256 255 + 155 2.280134e-03 27 NA Newtest17-256 255 + 156 3.083925e-03 28 NA Newtest17-256 255 + 157 3.373268e-03 29 NA Newtest17-256 255 + 158 2.229767e-03 30 NA Newtest17-256 255 + 159 2.126691e-03 31 NA Newtest17-256 255 + 160 1.753310e-03 32 NA Newtest17-256 255 + 161 3.168387e-03 33 NA Newtest17-256 255 + 162 3.363377e-03 34 NA Newtest17-256 255 + 163 2.125587e-03 35 NA Newtest17-256 255 + 164 2.327318e-03 36 NA Newtest17-256 255 + 165 1.460336e-03 37 NA Newtest17-256 255 + 166 2.834407e-03 38 NA Newtest17-256 255 + 167 1.038827e-03 39 NA Newtest17-256 255 + 168 4.281134e-03 40 NA Newtest17-256 255 + 169 9.875209e-04 41 NA Newtest17-256 255 + 170 1.468878e-03 42 NA Newtest17-256 255 + 171 2.637291e-03 43 NA Newtest17-256 255 + 172 2.318924e-03 44 NA Newtest17-256 255 + 173 6.311095e-04 45 NA Newtest17-256 255 + 174 1.853391e-03 46 NA Newtest17-256 255 + 175 1.768050e-03 47 NA Newtest17-256 255 + 176 1.893286e-03 48 NA Newtest17-256 255 + 177 9.311324e-02 49 NA Newtest17-256 255 + 178 4.563643e-01 50 NA Newtest17-256 255 + 179 8.910368e-02 51 NA Newtest17-256 255 + 180 2.702133e-03 52 NA Newtest17-256 255 + 181 1.626893e-03 53 NA Newtest17-256 255 + 182 1.239134e-03 54 NA Newtest17-256 255 + 183 1.202810e-03 55 NA Newtest17-256 255 + 184 1.936139e-03 56 NA Newtest17-256 255 + 185 1.187583e-03 57 NA Newtest17-256 255 + 186 2.036888e-03 58 NA Newtest17-256 255 + 187 1.610573e-03 59 NA Newtest17-256 255 + 188 1.016341e-03 60 NA Newtest17-256 255 + 189 2.277191e-03 61 NA Newtest17-256 255 + 190 1.850046e-03 62 NA Newtest17-256 255 + 191 1.203362e-03 63 NA Newtest17-256 255 + 192 7.682622e-04 64 NA Newtest17-256 255 + 193 1.385984e-03 65 NA Newtest17-256 255 + 194 1.392783e-03 66 NA Newtest17-256 255 + 195 1.609676e-03 67 NA Newtest17-256 255 + 196 2.520875e-04 68 NA Newtest17-256 255 + 197 2.134223e-03 69 NA Newtest17-256 255 + 198 9.352430e-04 70 NA Newtest17-256 255 + 199 5.716868e-04 71 NA Newtest17-256 255 + 200 1.074192e-03 72 NA Newtest17-256 255 + 201 1.433838e-03 73 NA Newtest17-256 255 + 202 1.823606e-03 74 NA Newtest17-256 255 + 203 6.851645e-04 75 NA Newtest17-256 255 + 204 4.190343e-04 76 NA Newtest17-256 255 + 205 1.094610e-03 77 NA Newtest17-256 255 + 206 6.568637e-04 78 NA Newtest17-256 255 + 207 3.114330e-03 79 NA Newtest17-256 255 + 208 1.147293e-03 80 NA Newtest17-256 255 + 209 1.193147e-03 81 NA Newtest17-256 255 + 210 1.192890e-03 82 NA Newtest17-256 255 + 211 1.648612e-03 83 NA Newtest17-256 255 + 212 9.885205e-04 84 NA Newtest17-256 255 + 213 1.395208e-03 85 NA Newtest17-256 255 + 214 4.142454e-04 86 NA Newtest17-256 255 + 215 6.238865e-04 87 NA Newtest17-256 255 + 216 1.195790e-03 88 NA Newtest17-256 255 + 217 3.359944e-04 89 NA Newtest17-256 255 + 218 1.231152e-03 90 NA Newtest17-256 255 + 219 6.937750e-04 91 NA Newtest17-256 255 + 220 1.556606e-03 92 NA Newtest17-256 255 + 221 1.754825e-03 93 NA Newtest17-256 255 + 222 4.958153e-03 94 NA Newtest17-256 255 + 223 1.140068e-03 95 NA Newtest17-256 255 + 224 1.209396e-03 96 NA Newtest17-256 255 + 225 1.026251e-03 97 NA Newtest17-256 255 + 226 1.810960e-03 98 NA Newtest17-256 255 + 227 1.491141e-03 99 NA Newtest17-256 255 + 228 4.776934e-03 100 NA Newtest17-256 255 + 229 3.026420e-03 101 NA Newtest17-256 255 + 230 1.917710e-03 102 NA Newtest17-256 255 + 231 1.021694e-03 103 NA Newtest17-256 255 + 232 1.213710e-03 104 NA Newtest17-256 255 + 233 3.536139e-03 105 NA Newtest17-256 255 + 234 1.237314e-02 106 NA Newtest17-256 255 + 235 2.864565e-03 107 NA Newtest17-256 255 + 236 3.056461e-04 108 NA Newtest17-256 255 + 237 1.302899e-03 109 NA Newtest17-256 255 + 238 4.079233e-04 110 NA Newtest17-256 255 + 239 1.533813e-03 111 NA Newtest17-256 255 + 240 3.462385e-04 112 NA Newtest17-256 255 + 241 8.528679e-04 113 NA Newtest17-256 255 + 242 1.112030e-03 114 NA Newtest17-256 255 + 243 1.188747e-03 115 NA Newtest17-256 255 + 244 8.221427e-04 116 NA Newtest17-256 255 + 245 1.411724e-03 117 NA Newtest17-256 255 + 246 2.040967e-03 118 NA Newtest17-256 255 + 247 1.541832e-03 119 NA Newtest17-256 255 + 248 7.281170e-04 120 NA Newtest17-256 255 + 249 1.444467e-03 121 NA Newtest17-256 255 + 250 1.632481e-04 122 NA Newtest17-256 255 + 251 1.269448e-03 123 NA Newtest17-256 255 + 252 1.430263e-04 124 NA Newtest17-256 255 + 253 1.782366e-04 125 NA Newtest17-256 255 + 254 1.214772e-03 126 NA Newtest17-256 255 + 255 2.772903e-04 127 NA Newtest17-256 255 + 256 8.745330e-04 128 NA Newtest17-256 255 + 257 1.386142e+00 1 NA Newtest17-256 255 + 258 2.066371e+02 2 NA Newtest17-256 255 + 259 3.246506e+02 3 NA Newtest17-256 255 + 260 1.333009e+01 4 NA Newtest17-256 255 + 261 2.160353e-02 5 NA Newtest17-256 255 + 262 4.769856e-02 6 NA Newtest17-256 255 + 263 9.250878e-02 7 NA Newtest17-256 255 + 264 3.208573e-01 8 NA Newtest17-256 255 + 265 6.332996e-02 9 NA Newtest17-256 255 + 266 7.447366e-03 10 NA Newtest17-256 255 + 267 2.971651e-02 11 NA Newtest17-256 255 + 268 1.043226e-02 12 NA Newtest17-256 255 + 269 1.352058e-02 13 NA Newtest17-256 255 + 270 1.448660e-02 14 NA Newtest17-256 255 + 271 8.049715e-03 15 NA Newtest17-256 255 + 272 4.278529e-03 16 NA Newtest17-256 255 + 273 1.038596e-02 17 NA Newtest17-256 255 + 274 5.418828e-03 18 NA Newtest17-256 255 + 275 8.332593e-03 19 NA Newtest17-256 255 + 276 7.059925e-03 20 NA Newtest17-256 255 + 277 2.598073e-03 21 NA Newtest17-256 255 + 278 3.536980e-03 22 NA Newtest17-256 255 + 279 5.742574e-03 23 NA Newtest17-256 255 + 280 2.552585e-03 24 NA Newtest17-256 255 + 281 3.548780e-03 25 NA Newtest17-256 255 + 282 2.206141e-03 26 NA Newtest17-256 255 + 283 5.823431e-03 27 NA Newtest17-256 255 + 284 1.698813e-03 28 NA Newtest17-256 255 + 285 2.515950e-03 29 NA Newtest17-256 255 + 286 3.130579e-03 30 NA Newtest17-256 255 + 287 2.173744e-03 31 NA Newtest17-256 255 + 288 2.041380e-03 32 NA Newtest17-256 255 + 289 2.232310e-03 33 NA Newtest17-256 255 + 290 3.790341e-03 34 NA Newtest17-256 255 + 291 2.689564e-03 35 NA Newtest17-256 255 + 292 1.544076e-03 36 NA Newtest17-256 255 + 293 1.161423e-03 37 NA Newtest17-256 255 + 294 3.030152e-03 38 NA Newtest17-256 255 + 295 3.792594e-03 39 NA Newtest17-256 255 + 296 2.587385e-03 40 NA Newtest17-256 255 + 297 1.325384e-03 41 NA Newtest17-256 255 + 298 4.482705e-03 42 NA Newtest17-256 255 + 299 8.879969e-04 43 NA Newtest17-256 255 + 300 1.833327e-03 44 NA Newtest17-256 255 + 301 1.809267e-03 45 NA Newtest17-256 255 + 302 2.778223e-03 46 NA Newtest17-256 255 + 303 3.620607e-03 47 NA Newtest17-256 255 + 304 3.311318e-03 48 NA Newtest17-256 255 + 305 6.895069e-02 49 NA Newtest17-256 255 + 306 4.486366e-01 50 NA Newtest17-256 255 + 307 8.841267e-02 51 NA Newtest17-256 255 + 308 1.266949e-03 52 NA Newtest17-256 255 + 309 1.105453e-03 53 NA Newtest17-256 255 + 310 1.497414e-03 54 NA Newtest17-256 255 + 311 1.525818e-03 55 NA Newtest17-256 255 + 312 1.094805e-03 56 NA Newtest17-256 255 + 313 2.018411e-03 57 NA Newtest17-256 255 + 314 1.742787e-03 58 NA Newtest17-256 255 + 315 2.363763e-03 59 NA Newtest17-256 255 + 316 1.643001e-03 60 NA Newtest17-256 255 + 317 1.963075e-03 61 NA Newtest17-256 255 + 318 1.063817e-03 62 NA Newtest17-256 255 + 319 9.103324e-04 63 NA Newtest17-256 255 + 320 1.769323e-03 64 NA Newtest17-256 255 + 321 1.147048e-03 65 NA Newtest17-256 255 + 322 6.092842e-04 66 NA Newtest17-256 255 + 323 1.357648e-03 67 NA Newtest17-256 255 + 324 7.380474e-04 68 NA Newtest17-256 255 + 325 9.480666e-04 69 NA Newtest17-256 255 + 326 7.168762e-04 70 NA Newtest17-256 255 + 327 1.358043e-03 71 NA Newtest17-256 255 + 328 1.436565e-03 72 NA Newtest17-256 255 + 329 1.008347e-04 73 NA Newtest17-256 255 + 330 1.085773e-03 74 NA Newtest17-256 255 + 331 2.001368e-03 75 NA Newtest17-256 255 + 332 9.696663e-04 76 NA Newtest17-256 255 + 333 1.750152e-03 77 NA Newtest17-256 255 + 334 1.681918e-03 78 NA Newtest17-256 255 + 335 7.864951e-04 79 NA Newtest17-256 255 + 336 4.618166e-04 80 NA Newtest17-256 255 + 337 2.137888e-03 81 NA Newtest17-256 255 + 338 7.989029e-04 82 NA Newtest17-256 255 + 339 1.754179e-03 83 NA Newtest17-256 255 + 340 1.393561e-03 84 NA Newtest17-256 255 + 341 7.034108e-04 85 NA Newtest17-256 255 + 342 3.921748e-04 86 NA Newtest17-256 255 + 343 6.478089e-04 87 NA Newtest17-256 255 + 344 2.146694e-03 88 NA Newtest17-256 255 + 345 3.209017e-04 89 NA Newtest17-256 255 + 346 2.535551e-03 90 NA Newtest17-256 255 + 347 8.330226e-04 91 NA Newtest17-256 255 + 348 1.109411e-03 92 NA Newtest17-256 255 + 349 2.022783e-03 93 NA Newtest17-256 255 + 350 9.668465e-03 94 NA Newtest17-256 255 + 351 1.848646e-03 95 NA Newtest17-256 255 + 352 9.495883e-04 96 NA Newtest17-256 255 + 353 1.479321e-03 97 NA Newtest17-256 255 + 354 1.329039e-03 98 NA Newtest17-256 255 + 355 2.285795e-03 99 NA Newtest17-256 255 + 356 1.023459e-02 100 NA Newtest17-256 255 + 357 1.961316e-03 101 NA Newtest17-256 255 + 358 5.199609e-04 102 NA Newtest17-256 255 + 359 6.821294e-04 103 NA Newtest17-256 255 + 360 1.060371e-03 104 NA Newtest17-256 255 + 361 5.727160e-04 105 NA Newtest17-256 255 + 362 4.277473e-03 106 NA Newtest17-256 255 + 363 1.487493e-03 107 NA Newtest17-256 255 + 364 9.715814e-05 108 NA Newtest17-256 255 + 365 8.073855e-04 109 NA Newtest17-256 255 + 366 3.765762e-04 110 NA Newtest17-256 255 + 367 6.016542e-04 111 NA Newtest17-256 255 + 368 9.311970e-04 112 NA Newtest17-256 255 + 369 6.482686e-05 113 NA Newtest17-256 255 + 370 8.314179e-04 114 NA Newtest17-256 255 + 371 1.202354e-03 115 NA Newtest17-256 255 + 372 4.332597e-04 116 NA Newtest17-256 255 + 373 1.349151e-03 117 NA Newtest17-256 255 + 374 2.708303e-03 118 NA Newtest17-256 255 + 375 4.714319e-04 119 NA Newtest17-256 255 + 376 1.650417e-03 120 NA Newtest17-256 255 + 377 4.175752e-03 121 NA Newtest17-256 255 + 378 4.571305e-04 122 NA Newtest17-256 255 + 379 9.400514e-04 123 NA Newtest17-256 255 + 380 6.809373e-04 124 NA Newtest17-256 255 + 381 1.273009e-03 125 NA Newtest17-256 255 + 382 1.939946e-03 126 NA Newtest17-256 255 + 383 1.104857e-03 127 NA Newtest17-256 255 + 384 5.780910e-04 128 NA Newtest17-256 255 + 385 1.411211e+00 1 NA Newtest17-256 255 + 386 2.070473e+02 2 NA Newtest17-256 255 + 387 3.245538e+02 3 NA Newtest17-256 255 + 388 1.315635e+01 4 NA Newtest17-256 255 + 389 4.754785e-02 5 NA Newtest17-256 255 + 390 2.288012e-02 6 NA Newtest17-256 255 + 391 1.107439e-01 7 NA Newtest17-256 255 + 392 2.600850e-01 8 NA Newtest17-256 255 + 393 5.323932e-02 9 NA Newtest17-256 255 + 394 2.757284e-02 10 NA Newtest17-256 255 + 395 1.675821e-02 11 NA Newtest17-256 255 + 396 1.152996e-02 12 NA Newtest17-256 255 + 397 1.599229e-02 13 NA Newtest17-256 255 + 398 1.121804e-02 14 NA Newtest17-256 255 + 399 3.640024e-03 15 NA Newtest17-256 255 + 400 1.199006e-02 16 NA Newtest17-256 255 + 401 2.547214e-03 17 NA Newtest17-256 255 + 402 1.534560e-02 18 NA Newtest17-256 255 + 403 3.454113e-03 19 NA Newtest17-256 255 + 404 4.806449e-03 20 NA Newtest17-256 255 + 405 5.831570e-03 21 NA Newtest17-256 255 + 406 3.786291e-03 22 NA Newtest17-256 255 + 407 4.383119e-03 23 NA Newtest17-256 255 + 408 2.613080e-03 24 NA Newtest17-256 255 + 409 3.579144e-03 25 NA Newtest17-256 255 + 410 4.972501e-03 26 NA Newtest17-256 255 + 411 3.177222e-03 27 NA Newtest17-256 255 + 412 1.235682e-03 28 NA Newtest17-256 255 + 413 2.907097e-03 29 NA Newtest17-256 255 + 414 2.354804e-03 30 NA Newtest17-256 255 + 415 2.744171e-03 31 NA Newtest17-256 255 + 416 1.335615e-03 32 NA Newtest17-256 255 + 417 4.287981e-03 33 NA Newtest17-256 255 + 418 2.299728e-03 34 NA Newtest17-256 255 + 419 1.225187e-03 35 NA Newtest17-256 255 + 420 1.978053e-03 36 NA Newtest17-256 255 + 421 2.547100e-03 37 NA Newtest17-256 255 + 422 1.634976e-03 38 NA Newtest17-256 255 + 423 6.021788e-03 39 NA Newtest17-256 255 + 424 2.361180e-03 40 NA Newtest17-256 255 + 425 1.986583e-03 41 NA Newtest17-256 255 + 426 4.216256e-04 42 NA Newtest17-256 255 + 427 2.090351e-03 43 NA Newtest17-256 255 + 428 6.079951e-04 44 NA Newtest17-256 255 + 429 2.472735e-03 45 NA Newtest17-256 255 + 430 2.582620e-03 46 NA Newtest17-256 255 + 431 2.541977e-03 47 NA Newtest17-256 255 + 432 6.341989e-04 48 NA Newtest17-256 255 + 433 7.641202e-02 49 NA Newtest17-256 255 + 434 4.117442e-01 50 NA Newtest17-256 255 + 435 7.544497e-02 51 NA Newtest17-256 255 + 436 3.089467e-03 52 NA Newtest17-256 255 + 437 4.601681e-04 53 NA Newtest17-256 255 + 438 1.594576e-03 54 NA Newtest17-256 255 + 439 3.174306e-04 55 NA Newtest17-256 255 + 440 1.257854e-03 56 NA Newtest17-256 255 + 441 1.510749e-03 57 NA Newtest17-256 255 + 442 1.068753e-03 58 NA Newtest17-256 255 + 443 7.953191e-04 59 NA Newtest17-256 255 + 444 5.840933e-04 60 NA Newtest17-256 255 + 445 1.710430e-03 61 NA Newtest17-256 255 + 446 2.080941e-03 62 NA Newtest17-256 255 + 447 9.412453e-04 63 NA Newtest17-256 255 + 448 4.915572e-04 64 NA Newtest17-256 255 + 449 2.094724e-03 65 NA Newtest17-256 255 + 450 1.669459e-03 66 NA Newtest17-256 255 + 451 1.486263e-04 67 NA Newtest17-256 255 + 452 9.422271e-04 68 NA Newtest17-256 255 + 453 1.129140e-03 69 NA Newtest17-256 255 + 454 2.301320e-03 70 NA Newtest17-256 255 + 455 1.289407e-03 71 NA Newtest17-256 255 + 456 1.422525e-03 72 NA Newtest17-256 255 + 457 1.491220e-03 73 NA Newtest17-256 255 + 458 9.057845e-04 74 NA Newtest17-256 255 + 459 1.182663e-03 75 NA Newtest17-256 255 + 460 3.168217e-04 76 NA Newtest17-256 255 + 461 3.650095e-04 77 NA Newtest17-256 255 + 462 9.816244e-04 78 NA Newtest17-256 255 + 463 1.300002e-03 79 NA Newtest17-256 255 + 464 3.167871e-04 80 NA Newtest17-256 255 + 465 1.034830e-03 81 NA Newtest17-256 255 + 466 5.522566e-04 82 NA Newtest17-256 255 + 467 1.400062e-03 83 NA Newtest17-256 255 + 468 9.080705e-04 84 NA Newtest17-256 255 + 469 2.245377e-03 85 NA Newtest17-256 255 + 470 6.417735e-04 86 NA Newtest17-256 255 + 471 1.048172e-03 87 NA Newtest17-256 255 + 472 1.874160e-03 88 NA Newtest17-256 255 + 473 5.860757e-04 89 NA Newtest17-256 255 + 474 2.345345e-03 90 NA Newtest17-256 255 + 475 3.962882e-04 91 NA Newtest17-256 255 + 476 1.011406e-03 92 NA Newtest17-256 255 + 477 2.447469e-03 93 NA Newtest17-256 255 + 478 9.697787e-03 94 NA Newtest17-256 255 + 479 2.648138e-03 95 NA Newtest17-256 255 + 480 1.469375e-03 96 NA Newtest17-256 255 + 481 1.495975e-03 97 NA Newtest17-256 255 + 482 1.535371e-03 98 NA Newtest17-256 255 + 483 1.715815e-03 99 NA Newtest17-256 255 + 484 9.604778e-03 100 NA Newtest17-256 255 + 485 2.898806e-03 101 NA Newtest17-256 255 + 486 3.170958e-04 102 NA Newtest17-256 255 + 487 9.295107e-04 103 NA Newtest17-256 255 + 488 1.466631e-03 104 NA Newtest17-256 255 + 489 1.388780e-03 105 NA Newtest17-256 255 + 490 5.237868e-03 106 NA Newtest17-256 255 + 491 1.181751e-03 107 NA Newtest17-256 255 + 492 4.363230e-04 108 NA Newtest17-256 255 + 493 8.617844e-04 109 NA Newtest17-256 255 + 494 1.492415e-03 110 NA Newtest17-256 255 + 495 2.361362e-03 111 NA Newtest17-256 255 + 496 2.129282e-03 112 NA Newtest17-256 255 + 497 8.070812e-04 113 NA Newtest17-256 255 + 498 1.464723e-03 114 NA Newtest17-256 255 + 499 8.530034e-05 115 NA Newtest17-256 255 + 500 8.155617e-04 116 NA Newtest17-256 255 + 501 1.484977e-03 117 NA Newtest17-256 255 + 502 3.315014e-03 118 NA Newtest17-256 255 + 503 1.349805e-03 119 NA Newtest17-256 255 + 504 1.475317e-03 120 NA Newtest17-256 255 + 505 5.155749e-04 121 NA Newtest17-256 255 + 506 1.397820e-03 122 NA Newtest17-256 255 + 507 1.536679e-03 123 NA Newtest17-256 255 + 508 5.829140e-04 124 NA Newtest17-256 255 + 509 1.237877e-03 125 NA Newtest17-256 255 + 510 7.227761e-05 126 NA Newtest17-256 255 + 511 1.572971e-03 127 NA Newtest17-256 255 + 512 5.473458e-04 128 NA Newtest17-256 255 + 513 1.200159e+00 1 NA Newtest17-256 255 + 514 2.049675e+02 2 NA Newtest17-256 255 + 515 3.236243e+02 3 NA Newtest17-256 255 + 516 1.315817e+01 4 NA Newtest17-256 255 + 517 6.010275e-02 5 NA Newtest17-256 255 + 518 3.021802e-02 6 NA Newtest17-256 255 + 519 8.861172e-02 7 NA Newtest17-256 255 + 520 3.018260e-01 8 NA Newtest17-256 255 + 521 5.245287e-02 9 NA Newtest17-256 255 + 522 2.464512e-02 10 NA Newtest17-256 255 + 523 1.936958e-02 11 NA Newtest17-256 255 + 524 1.058079e-02 12 NA Newtest17-256 255 + 525 1.581770e-02 13 NA Newtest17-256 255 + 526 9.846527e-03 14 NA Newtest17-256 255 + 527 7.978179e-03 15 NA Newtest17-256 255 + 528 5.623240e-03 16 NA Newtest17-256 255 + 529 5.116077e-03 17 NA Newtest17-256 255 + 530 8.663526e-03 18 NA Newtest17-256 255 + 531 4.269114e-03 19 NA Newtest17-256 255 + 532 4.616422e-03 20 NA Newtest17-256 255 + 533 3.612673e-03 21 NA Newtest17-256 255 + 534 3.565344e-03 22 NA Newtest17-256 255 + 535 8.175046e-03 23 NA Newtest17-256 255 + 536 2.669805e-03 24 NA Newtest17-256 255 + 537 4.024531e-03 25 NA Newtest17-256 255 + 538 3.741146e-03 26 NA Newtest17-256 255 + 539 3.260856e-03 27 NA Newtest17-256 255 + 540 2.717865e-03 28 NA Newtest17-256 255 + 541 2.746118e-03 29 NA Newtest17-256 255 + 542 1.467465e-03 30 NA Newtest17-256 255 + 543 2.342098e-03 31 NA Newtest17-256 255 + 544 7.757747e-04 32 NA Newtest17-256 255 + 545 5.800563e-03 33 NA Newtest17-256 255 + 546 6.107467e-04 34 NA Newtest17-256 255 + 547 3.348669e-03 35 NA Newtest17-256 255 + 548 1.826156e-03 36 NA Newtest17-256 255 + 549 1.835391e-03 37 NA Newtest17-256 255 + 550 9.683274e-04 38 NA Newtest17-256 255 + 551 3.538594e-03 39 NA Newtest17-256 255 + 552 4.882592e-03 40 NA Newtest17-256 255 + 553 1.690379e-03 41 NA Newtest17-256 255 + 554 1.252790e-03 42 NA Newtest17-256 255 + 555 1.956686e-03 43 NA Newtest17-256 255 + 556 2.604411e-03 44 NA Newtest17-256 255 + 557 1.228183e-03 45 NA Newtest17-256 255 + 558 3.065010e-03 46 NA Newtest17-256 255 + 559 1.056110e-03 47 NA Newtest17-256 255 + 560 1.842968e-03 48 NA Newtest17-256 255 + 561 6.839145e-02 49 NA Newtest17-256 255 + 562 3.833723e-01 50 NA Newtest17-256 255 + 563 7.425821e-02 51 NA Newtest17-256 255 + 564 9.507347e-04 52 NA Newtest17-256 255 + 565 1.241794e-03 53 NA Newtest17-256 255 + 566 1.536350e-03 54 NA Newtest17-256 255 + 567 1.308978e-03 55 NA Newtest17-256 255 + 568 1.340279e-03 56 NA Newtest17-256 255 + 569 9.015347e-04 57 NA Newtest17-256 255 + 570 2.228152e-03 58 NA Newtest17-256 255 + 571 1.587020e-03 59 NA Newtest17-256 255 + 572 1.848307e-03 60 NA Newtest17-256 255 + 573 1.087716e-03 61 NA Newtest17-256 255 + 574 1.457704e-03 62 NA Newtest17-256 255 + 575 1.311325e-03 63 NA Newtest17-256 255 + 576 3.449604e-04 64 NA Newtest17-256 255 + 577 1.241684e-03 65 NA Newtest17-256 255 + 578 1.912689e-03 66 NA Newtest17-256 255 + 579 9.820025e-04 67 NA Newtest17-256 255 + 580 5.707605e-04 68 NA Newtest17-256 255 + 581 6.353877e-04 69 NA Newtest17-256 255 + 582 9.502559e-04 70 NA Newtest17-256 255 + 583 1.053503e-03 71 NA Newtest17-256 255 + 584 1.542949e-03 72 NA Newtest17-256 255 + 585 4.049024e-04 73 NA Newtest17-256 255 + 586 1.090124e-03 74 NA Newtest17-256 255 + 587 6.085571e-04 75 NA Newtest17-256 255 + 588 2.041707e-03 76 NA Newtest17-256 255 + 589 3.880539e-04 77 NA Newtest17-256 255 + 590 1.411721e-03 78 NA Newtest17-256 255 + 591 1.804613e-03 79 NA Newtest17-256 255 + 592 2.710887e-03 80 NA Newtest17-256 255 + 593 3.326208e-03 81 NA Newtest17-256 255 + 594 1.313712e-03 82 NA Newtest17-256 255 + 595 3.057774e-04 83 NA Newtest17-256 255 + 596 1.267038e-03 84 NA Newtest17-256 255 + 597 6.256998e-04 85 NA Newtest17-256 255 + 598 1.285229e-03 86 NA Newtest17-256 255 + 599 5.351392e-04 87 NA Newtest17-256 255 + 600 7.421721e-04 88 NA Newtest17-256 255 + 601 2.049298e-03 89 NA Newtest17-256 255 + 602 3.044173e-03 90 NA Newtest17-256 255 + 603 1.095820e-03 91 NA Newtest17-256 255 + 604 1.533598e-03 92 NA Newtest17-256 255 + 605 6.796263e-04 93 NA Newtest17-256 255 + 606 7.241869e-03 94 NA Newtest17-256 255 + 607 2.047723e-03 95 NA Newtest17-256 255 + 608 6.707635e-04 96 NA Newtest17-256 255 + 609 1.373064e-03 97 NA Newtest17-256 255 + 610 2.625258e-03 98 NA Newtest17-256 255 + 611 1.888554e-03 99 NA Newtest17-256 255 + 612 8.213234e-03 100 NA Newtest17-256 255 + 613 1.442621e-03 101 NA Newtest17-256 255 + 614 1.246942e-03 102 NA Newtest17-256 255 + 615 7.902570e-04 103 NA Newtest17-256 255 + 616 6.010439e-04 104 NA Newtest17-256 255 + 617 1.357420e-03 105 NA Newtest17-256 255 + 618 5.246566e-03 106 NA Newtest17-256 255 + 619 2.459045e-03 107 NA Newtest17-256 255 + 620 1.793052e-03 108 NA Newtest17-256 255 + 621 9.524947e-04 109 NA Newtest17-256 255 + 622 4.214731e-04 110 NA Newtest17-256 255 + 623 4.489654e-04 111 NA Newtest17-256 255 + 624 7.694958e-04 112 NA Newtest17-256 255 + 625 1.354142e-03 113 NA Newtest17-256 255 + 626 1.634713e-03 114 NA Newtest17-256 255 + 627 2.701148e-03 115 NA Newtest17-256 255 + 628 7.907583e-04 116 NA Newtest17-256 255 + 629 5.435650e-04 117 NA Newtest17-256 255 + 630 1.308514e-03 118 NA Newtest17-256 255 + 631 2.508412e-03 119 NA Newtest17-256 255 + 632 8.002342e-04 120 NA Newtest17-256 255 + 633 1.435962e-03 121 NA Newtest17-256 255 + 634 1.231933e-03 122 NA Newtest17-256 255 + 635 1.456191e-03 123 NA Newtest17-256 255 + 636 6.019023e-04 124 NA Newtest17-256 255 + 637 1.819735e-03 125 NA Newtest17-256 255 + 638 3.041096e-03 126 NA Newtest17-256 255 + 639 7.831966e-04 127 NA Newtest17-256 255 + 640 3.881072e-04 128 NA Newtest17-256 255 + 641 1.124265e+00 1 NA Newtest17-256 255 + 642 2.076240e+02 2 NA Newtest17-256 255 + 643 3.250271e+02 3 NA Newtest17-256 255 + 644 1.329045e+01 4 NA Newtest17-256 255 + 645 2.106603e-02 5 NA Newtest17-256 255 + 646 4.748725e-02 6 NA Newtest17-256 255 + 647 9.924455e-02 7 NA Newtest17-256 255 + 648 2.943563e-01 8 NA Newtest17-256 255 + 649 5.790429e-02 9 NA Newtest17-256 255 + 650 1.047516e-02 10 NA Newtest17-256 255 + 651 2.982434e-02 11 NA Newtest17-256 255 + 652 1.309138e-02 12 NA Newtest17-256 255 + 653 1.073320e-02 13 NA Newtest17-256 255 + 654 1.113285e-02 14 NA Newtest17-256 255 + 655 1.134480e-02 15 NA Newtest17-256 255 + 656 5.760703e-03 16 NA Newtest17-256 255 + 657 9.076116e-03 17 NA Newtest17-256 255 + 658 3.606066e-03 18 NA Newtest17-256 255 + 659 7.008778e-03 19 NA Newtest17-256 255 + 660 4.695385e-03 20 NA Newtest17-256 255 + 661 3.719292e-03 21 NA Newtest17-256 255 + 662 2.310241e-03 22 NA Newtest17-256 255 + 663 5.573982e-03 23 NA Newtest17-256 255 + 664 4.100693e-03 24 NA Newtest17-256 255 + 665 2.678359e-03 25 NA Newtest17-256 255 + 666 2.720126e-03 26 NA Newtest17-256 255 + 667 1.894826e-03 27 NA Newtest17-256 255 + 668 2.143899e-03 28 NA Newtest17-256 255 + 669 5.807789e-03 29 NA Newtest17-256 255 + 670 2.779887e-03 30 NA Newtest17-256 255 + 671 2.031085e-03 31 NA Newtest17-256 255 + 672 4.645047e-03 32 NA Newtest17-256 255 + 673 8.892983e-04 33 NA Newtest17-256 255 + 674 3.130859e-03 34 NA Newtest17-256 255 + 675 1.263505e-03 35 NA Newtest17-256 255 + 676 7.686787e-04 36 NA Newtest17-256 255 + 677 6.001811e-03 37 NA Newtest17-256 255 + 678 9.177370e-04 38 NA Newtest17-256 255 + 679 2.731392e-03 39 NA Newtest17-256 255 + 680 2.950363e-03 40 NA Newtest17-256 255 + 681 1.398052e-03 41 NA Newtest17-256 255 + 682 1.057581e-03 42 NA Newtest17-256 255 + 683 2.186042e-03 43 NA Newtest17-256 255 + 684 1.710206e-03 44 NA Newtest17-256 255 + 685 1.287117e-03 45 NA Newtest17-256 255 + 686 9.501244e-04 46 NA Newtest17-256 255 + 687 1.900626e-03 47 NA Newtest17-256 255 + 688 1.318539e-03 48 NA Newtest17-256 255 + 689 7.173632e-02 49 NA Newtest17-256 255 + 690 3.927270e-01 50 NA Newtest17-256 255 + 691 7.796238e-02 51 NA Newtest17-256 255 + 692 2.939658e-03 52 NA Newtest17-256 255 + 693 1.557240e-03 53 NA Newtest17-256 255 + 694 1.653155e-03 54 NA Newtest17-256 255 + 695 1.223012e-03 55 NA Newtest17-256 255 + 696 2.549954e-03 56 NA Newtest17-256 255 + 697 2.175091e-03 57 NA Newtest17-256 255 + 698 1.485195e-03 58 NA Newtest17-256 255 + 699 1.170288e-03 59 NA Newtest17-256 255 + 700 1.717753e-03 60 NA Newtest17-256 255 + 701 9.453879e-04 61 NA Newtest17-256 255 + 702 4.386159e-04 62 NA Newtest17-256 255 + 703 9.311569e-04 63 NA Newtest17-256 255 + 704 1.632263e-03 64 NA Newtest17-256 255 + 705 3.084229e-04 65 NA Newtest17-256 255 + 706 7.863276e-04 66 NA Newtest17-256 255 + 707 3.263023e-03 67 NA Newtest17-256 255 + 708 6.145254e-04 68 NA Newtest17-256 255 + 709 1.162900e-03 69 NA Newtest17-256 255 + 710 1.431912e-03 70 NA Newtest17-256 255 + 711 5.756915e-04 71 NA Newtest17-256 255 + 712 1.035683e-03 72 NA Newtest17-256 255 + 713 1.365104e-03 73 NA Newtest17-256 255 + 714 3.899842e-04 74 NA Newtest17-256 255 + 715 1.203834e-03 75 NA Newtest17-256 255 + 716 3.018864e-03 76 NA Newtest17-256 255 + 717 7.596415e-04 77 NA Newtest17-256 255 + 718 8.955507e-04 78 NA Newtest17-256 255 + 719 1.155580e-03 79 NA Newtest17-256 255 + 720 8.284447e-04 80 NA Newtest17-256 255 + 721 5.595067e-04 81 NA Newtest17-256 255 + 722 2.619046e-03 82 NA Newtest17-256 255 + 723 9.275708e-04 83 NA Newtest17-256 255 + 724 1.521740e-03 84 NA Newtest17-256 255 + 725 4.517777e-04 85 NA Newtest17-256 255 + 726 8.187443e-04 86 NA Newtest17-256 255 + 727 7.342629e-04 87 NA Newtest17-256 255 + 728 1.052943e-03 88 NA Newtest17-256 255 + 729 9.429709e-04 89 NA Newtest17-256 255 + 730 1.606181e-03 90 NA Newtest17-256 255 + 731 5.416475e-04 91 NA Newtest17-256 255 + 732 1.581662e-03 92 NA Newtest17-256 255 + 733 9.942635e-04 93 NA Newtest17-256 255 + 734 8.144170e-03 94 NA Newtest17-256 255 + 735 2.184416e-03 95 NA Newtest17-256 255 + 736 7.070030e-04 96 NA Newtest17-256 255 + 737 4.680236e-04 97 NA Newtest17-256 255 + 738 1.890311e-03 98 NA Newtest17-256 255 + 739 2.818986e-03 99 NA Newtest17-256 255 + 740 1.196537e-02 100 NA Newtest17-256 255 + 741 3.406573e-03 101 NA Newtest17-256 255 + 742 1.191935e-03 102 NA Newtest17-256 255 + 743 9.321598e-04 103 NA Newtest17-256 255 + 744 9.738954e-04 104 NA Newtest17-256 255 + 745 1.178692e-03 105 NA Newtest17-256 255 + 746 3.848946e-03 106 NA Newtest17-256 255 + 747 6.861481e-04 107 NA Newtest17-256 255 + 748 3.731029e-04 108 NA Newtest17-256 255 + 749 7.828320e-04 109 NA Newtest17-256 255 + 750 8.127438e-04 110 NA Newtest17-256 255 + 751 5.550987e-04 111 NA Newtest17-256 255 + 752 5.869313e-04 112 NA Newtest17-256 255 + 753 1.368865e-03 113 NA Newtest17-256 255 + 754 7.920578e-04 114 NA Newtest17-256 255 + 755 1.434783e-03 115 NA Newtest17-256 255 + 756 6.116168e-04 116 NA Newtest17-256 255 + 757 4.579189e-04 117 NA Newtest17-256 255 + 758 2.265117e-03 118 NA Newtest17-256 255 + 759 8.589067e-04 119 NA Newtest17-256 255 + 760 6.100656e-04 120 NA Newtest17-256 255 + 761 1.170497e-03 121 NA Newtest17-256 255 + 762 1.038833e-03 122 NA Newtest17-256 255 + 763 1.273265e-03 123 NA Newtest17-256 255 + 764 1.029331e-03 124 NA Newtest17-256 255 + 765 1.789489e-03 125 NA Newtest17-256 255 + 766 8.653194e-04 126 NA Newtest17-256 255 + 767 2.226163e-03 127 NA Newtest17-256 255 + 768 3.833234e-04 128 NA Newtest17-256 255 + 769 1.229294e+00 1 NA Newtest17-256 255 + 770 2.078559e+02 2 NA Newtest17-256 255 + 771 3.246655e+02 3 NA Newtest17-256 255 + 772 1.343395e+01 4 NA Newtest17-256 255 + 773 3.673388e-02 5 NA Newtest17-256 255 + 774 3.598259e-02 6 NA Newtest17-256 255 + 775 9.237871e-02 7 NA Newtest17-256 255 + 776 3.422600e-01 8 NA Newtest17-256 255 + 777 5.775110e-02 9 NA Newtest17-256 255 + 778 1.843197e-02 10 NA Newtest17-256 255 + 779 1.692468e-02 11 NA Newtest17-256 255 + 780 1.033228e-02 12 NA Newtest17-256 255 + 781 2.519092e-02 13 NA Newtest17-256 255 + 782 7.598950e-03 14 NA Newtest17-256 255 + 783 4.578412e-03 15 NA Newtest17-256 255 + 784 5.564672e-03 16 NA Newtest17-256 255 + 785 7.554579e-03 17 NA Newtest17-256 255 + 786 7.431721e-03 18 NA Newtest17-256 255 + 787 6.941678e-03 19 NA Newtest17-256 255 + 788 4.719021e-03 20 NA Newtest17-256 255 + 789 3.838437e-03 21 NA Newtest17-256 255 + 790 5.889101e-03 22 NA Newtest17-256 255 + 791 7.463115e-03 23 NA Newtest17-256 255 + 792 3.026697e-03 24 NA Newtest17-256 255 + 793 6.084066e-03 25 NA Newtest17-256 255 + 794 2.905609e-03 26 NA Newtest17-256 255 + 795 1.501719e-03 27 NA Newtest17-256 255 + 796 6.177790e-03 28 NA Newtest17-256 255 + 797 9.268508e-04 29 NA Newtest17-256 255 + 798 3.081245e-03 30 NA Newtest17-256 255 + 799 5.010258e-03 31 NA Newtest17-256 255 + 800 6.194109e-04 32 NA Newtest17-256 255 + 801 4.487694e-03 33 NA Newtest17-256 255 + 802 1.511613e-03 34 NA Newtest17-256 255 + 803 1.497006e-03 35 NA Newtest17-256 255 + 804 2.153349e-03 36 NA Newtest17-256 255 + 805 3.576097e-03 37 NA Newtest17-256 255 + 806 2.326455e-03 38 NA Newtest17-256 255 + 807 3.922781e-03 39 NA Newtest17-256 255 + 808 2.171011e-03 40 NA Newtest17-256 255 + 809 3.178390e-03 41 NA Newtest17-256 255 + 810 2.199705e-03 42 NA Newtest17-256 255 + 811 8.157697e-04 43 NA Newtest17-256 255 + 812 2.777796e-03 44 NA Newtest17-256 255 + 813 1.677486e-03 45 NA Newtest17-256 255 + 814 2.109215e-03 46 NA Newtest17-256 255 + 815 2.260802e-03 47 NA Newtest17-256 255 + 816 4.924058e-03 48 NA Newtest17-256 255 + 817 6.529812e-02 49 NA Newtest17-256 255 + 818 3.949782e-01 50 NA Newtest17-256 255 + 819 7.604520e-02 51 NA Newtest17-256 255 + 820 7.861143e-04 52 NA Newtest17-256 255 + 821 2.145881e-03 53 NA Newtest17-256 255 + 822 1.616291e-03 54 NA Newtest17-256 255 + 823 8.230943e-04 55 NA Newtest17-256 255 + 824 1.138591e-03 56 NA Newtest17-256 255 + 825 4.557202e-04 57 NA Newtest17-256 255 + 826 1.782511e-03 58 NA Newtest17-256 255 + 827 1.944993e-03 59 NA Newtest17-256 255 + 828 1.156454e-03 60 NA Newtest17-256 255 + 829 2.285551e-03 61 NA Newtest17-256 255 + 830 7.804875e-04 62 NA Newtest17-256 255 + 831 2.252791e-03 63 NA Newtest17-256 255 + 832 1.080239e-03 64 NA Newtest17-256 255 + 833 1.950378e-03 65 NA Newtest17-256 255 + 834 5.334409e-04 66 NA Newtest17-256 255 + 835 6.340799e-04 67 NA Newtest17-256 255 + 836 1.923123e-03 68 NA Newtest17-256 255 + 837 6.711790e-04 69 NA Newtest17-256 255 + 838 2.063092e-03 70 NA Newtest17-256 255 + 839 2.550668e-04 71 NA Newtest17-256 255 + 840 7.691884e-04 72 NA Newtest17-256 255 + 841 5.394521e-04 73 NA Newtest17-256 255 + 842 1.036090e-03 74 NA Newtest17-256 255 + 843 2.988652e-04 75 NA Newtest17-256 255 + 844 1.932989e-03 76 NA Newtest17-256 255 + 845 8.236601e-04 77 NA Newtest17-256 255 + 846 1.921734e-03 78 NA Newtest17-256 255 + 847 1.575588e-03 79 NA Newtest17-256 255 + 848 1.736469e-04 80 NA Newtest17-256 255 + 849 1.753584e-03 81 NA Newtest17-256 255 + 850 3.791243e-04 82 NA Newtest17-256 255 + 851 6.322683e-04 83 NA Newtest17-256 255 + 852 9.454800e-04 84 NA Newtest17-256 255 + 853 4.486750e-04 85 NA Newtest17-256 255 + 854 4.938424e-04 86 NA Newtest17-256 255 + 855 1.374379e-03 87 NA Newtest17-256 255 + 856 9.277835e-05 88 NA Newtest17-256 255 + 857 9.567154e-04 89 NA Newtest17-256 255 + 858 1.571289e-03 90 NA Newtest17-256 255 + 859 4.696973e-04 91 NA Newtest17-256 255 + 860 7.940632e-04 92 NA Newtest17-256 255 + 861 1.680396e-03 93 NA Newtest17-256 255 + 862 6.984890e-03 94 NA Newtest17-256 255 + 863 2.447624e-03 95 NA Newtest17-256 255 + 864 2.449667e-03 96 NA Newtest17-256 255 + 865 1.044812e-03 97 NA Newtest17-256 255 + 866 1.443455e-03 98 NA Newtest17-256 255 + 867 1.929940e-03 99 NA Newtest17-256 255 + 868 9.957362e-03 100 NA Newtest17-256 255 + 869 1.384141e-03 101 NA Newtest17-256 255 + 870 1.096371e-03 102 NA Newtest17-256 255 + 871 6.222514e-04 103 NA Newtest17-256 255 + 872 1.182573e-03 104 NA Newtest17-256 255 + 873 1.490648e-03 105 NA Newtest17-256 255 + 874 7.762456e-03 106 NA Newtest17-256 255 + 875 2.466422e-03 107 NA Newtest17-256 255 + 876 1.281332e-03 108 NA Newtest17-256 255 + 877 8.569916e-04 109 NA Newtest17-256 255 + 878 1.215555e-03 110 NA Newtest17-256 255 + 879 1.291786e-03 111 NA Newtest17-256 255 + 880 6.394179e-04 112 NA Newtest17-256 255 + 881 1.136683e-03 113 NA Newtest17-256 255 + 882 4.127465e-04 114 NA Newtest17-256 255 + 883 4.347110e-04 115 NA Newtest17-256 255 + 884 8.746890e-04 116 NA Newtest17-256 255 + 885 1.272733e-03 117 NA Newtest17-256 255 + 886 1.356256e-03 118 NA Newtest17-256 255 + 887 2.257045e-03 119 NA Newtest17-256 255 + 888 4.919829e-04 120 NA Newtest17-256 255 + 889 2.522319e-04 121 NA Newtest17-256 255 + 890 4.253863e-04 122 NA Newtest17-256 255 + 891 1.455962e-03 123 NA Newtest17-256 255 + 892 4.846243e-04 124 NA Newtest17-256 255 + 893 7.249825e-04 125 NA Newtest17-256 255 + 894 6.962135e-04 126 NA Newtest17-256 255 + 895 1.099571e-03 127 NA Newtest17-256 255 + 896 1.089910e-03 128 NA Newtest17-256 255 + 897 1.248200e+00 1 NA Newtest17-256 255 + 898 2.055943e+02 2 NA Newtest17-256 255 + 899 3.238073e+02 3 NA Newtest17-256 255 + 900 1.350225e+01 4 NA Newtest17-256 255 + 901 4.906216e-02 5 NA Newtest17-256 255 + 902 9.425533e-03 6 NA Newtest17-256 255 + 903 9.908410e-02 7 NA Newtest17-256 255 + 904 2.729527e-01 8 NA Newtest17-256 255 + 905 5.236286e-02 9 NA Newtest17-256 255 + 906 2.337621e-02 10 NA Newtest17-256 255 + 907 7.295235e-03 11 NA Newtest17-256 255 + 908 1.357924e-02 12 NA Newtest17-256 255 + 909 9.824944e-03 13 NA Newtest17-256 255 + 910 8.065736e-03 14 NA Newtest17-256 255 + 911 9.929836e-03 15 NA Newtest17-256 255 + 912 4.072842e-03 16 NA Newtest17-256 255 + 913 1.010287e-02 17 NA Newtest17-256 255 + 914 4.506913e-03 18 NA Newtest17-256 255 + 915 8.775110e-03 19 NA Newtest17-256 255 + 916 5.766548e-03 20 NA Newtest17-256 255 + 917 4.884552e-03 21 NA Newtest17-256 255 + 918 4.407793e-03 22 NA Newtest17-256 255 + 919 3.887351e-03 23 NA Newtest17-256 255 + 920 3.544158e-03 24 NA Newtest17-256 255 + 921 3.900812e-03 25 NA Newtest17-256 255 + 922 1.675726e-03 26 NA Newtest17-256 255 + 923 2.172174e-03 27 NA Newtest17-256 255 + 924 2.295167e-03 28 NA Newtest17-256 255 + 925 2.803325e-03 29 NA Newtest17-256 255 + 926 1.877559e-03 30 NA Newtest17-256 255 + 927 2.606942e-03 31 NA Newtest17-256 255 + 928 2.632664e-03 32 NA Newtest17-256 255 + 929 1.305886e-03 33 NA Newtest17-256 255 + 930 1.739691e-03 34 NA Newtest17-256 255 + 931 1.432491e-03 35 NA Newtest17-256 255 + 932 2.895622e-03 36 NA Newtest17-256 255 + 933 2.934460e-03 37 NA Newtest17-256 255 + 934 6.743130e-04 38 NA Newtest17-256 255 + 935 2.885294e-03 39 NA Newtest17-256 255 + 936 7.921707e-04 40 NA Newtest17-256 255 + 937 1.365944e-03 41 NA Newtest17-256 255 + 938 3.700270e-03 42 NA Newtest17-256 255 + 939 1.009645e-03 43 NA Newtest17-256 255 + 940 1.311216e-03 44 NA Newtest17-256 255 + 941 1.818515e-03 45 NA Newtest17-256 255 + 942 2.304482e-03 46 NA Newtest17-256 255 + 943 4.059178e-04 47 NA Newtest17-256 255 + 944 2.016008e-03 48 NA Newtest17-256 255 + 945 7.967885e-02 49 NA Newtest17-256 255 + 946 4.135128e-01 50 NA Newtest17-256 255 + 947 7.724785e-02 51 NA Newtest17-256 255 + 948 6.307375e-04 52 NA Newtest17-256 255 + 949 2.377887e-03 53 NA Newtest17-256 255 + 950 6.667653e-04 54 NA Newtest17-256 255 + 951 1.830681e-03 55 NA Newtest17-256 255 + 952 1.238664e-03 56 NA Newtest17-256 255 + 953 9.125751e-04 57 NA Newtest17-256 255 + 954 4.023248e-04 58 NA Newtest17-256 255 + 955 1.287588e-03 59 NA Newtest17-256 255 + 956 2.080070e-03 60 NA Newtest17-256 255 + 957 6.939955e-04 61 NA Newtest17-256 255 + 958 5.825354e-04 62 NA Newtest17-256 255 + 959 2.593191e-03 63 NA Newtest17-256 255 + 960 1.793895e-03 64 NA Newtest17-256 255 + 961 3.955202e-04 65 NA Newtest17-256 255 + 962 1.191237e-03 66 NA Newtest17-256 255 + 963 2.732715e-03 67 NA Newtest17-256 255 + 964 6.592455e-04 68 NA Newtest17-256 255 + 965 2.270724e-03 69 NA Newtest17-256 255 + 966 6.975856e-04 70 NA Newtest17-256 255 + 967 6.313933e-04 71 NA Newtest17-256 255 + 968 1.534006e-03 72 NA Newtest17-256 255 + 969 1.431728e-03 73 NA Newtest17-256 255 + 970 1.578056e-03 74 NA Newtest17-256 255 + 971 9.615197e-04 75 NA Newtest17-256 255 + 972 4.702447e-04 76 NA Newtest17-256 255 + 973 1.048520e-03 77 NA Newtest17-256 255 + 974 6.971429e-04 78 NA Newtest17-256 255 + 975 1.631020e-03 79 NA Newtest17-256 255 + 976 4.542760e-04 80 NA Newtest17-256 255 + 977 1.686027e-03 81 NA Newtest17-256 255 + 978 3.485838e-04 82 NA Newtest17-256 255 + 979 7.674882e-04 83 NA Newtest17-256 255 + 980 1.432901e-03 84 NA Newtest17-256 255 + 981 7.104044e-04 85 NA Newtest17-256 255 + 982 1.552660e-03 86 NA Newtest17-256 255 + 983 1.535595e-03 87 NA Newtest17-256 255 + 984 5.071441e-04 88 NA Newtest17-256 255 + 985 3.367288e-03 89 NA Newtest17-256 255 + 986 8.824646e-04 90 NA Newtest17-256 255 + 987 1.282651e-03 91 NA Newtest17-256 255 + 988 2.062441e-03 92 NA Newtest17-256 255 + 989 3.279104e-03 93 NA Newtest17-256 255 + 990 7.075784e-03 94 NA Newtest17-256 255 + 991 2.332661e-03 95 NA Newtest17-256 255 + 992 3.879722e-04 96 NA Newtest17-256 255 + 993 2.225524e-03 97 NA Newtest17-256 255 + 994 9.053050e-04 98 NA Newtest17-256 255 + 995 1.607153e-03 99 NA Newtest17-256 255 + 996 4.367687e-03 100 NA Newtest17-256 255 + 997 1.287878e-03 101 NA Newtest17-256 255 + 998 1.082951e-03 102 NA Newtest17-256 255 + 999 5.245025e-04 103 NA Newtest17-256 255 + 1000 1.676202e-03 104 NA Newtest17-256 255 + 1001 1.051028e-03 105 NA Newtest17-256 255 + 1002 4.369776e-03 106 NA Newtest17-256 255 + 1003 9.507981e-04 107 NA Newtest17-256 255 + 1004 1.354053e-03 108 NA Newtest17-256 255 + 1005 2.087015e-03 109 NA Newtest17-256 255 + 1006 6.924724e-04 110 NA Newtest17-256 255 + 1007 1.232933e-03 111 NA Newtest17-256 255 + 1008 2.012153e-03 112 NA Newtest17-256 255 + 1009 2.141713e-03 113 NA Newtest17-256 255 + 1010 1.140670e-03 114 NA Newtest17-256 255 + 1011 5.094969e-04 115 NA Newtest17-256 255 + 1012 1.016246e-03 116 NA Newtest17-256 255 + 1013 9.246254e-04 117 NA Newtest17-256 255 + 1014 1.069919e-03 118 NA Newtest17-256 255 + 1015 2.358318e-04 119 NA Newtest17-256 255 + 1016 5.064723e-04 120 NA Newtest17-256 255 + 1017 1.463655e-03 121 NA Newtest17-256 255 + 1018 4.596782e-04 122 NA Newtest17-256 255 + 1019 1.347774e-03 123 NA Newtest17-256 255 + 1020 2.646688e-04 124 NA Newtest17-256 255 + 1021 2.537330e-03 125 NA Newtest17-256 255 + 1022 1.364884e-03 126 NA Newtest17-256 255 + 1023 9.730131e-04 127 NA Newtest17-256 255 + 1024 2.265368e-04 128 NA Newtest17-256 255 + 1025 1.279333e+00 1 NA Newtest17-256 255 + 1026 2.067762e+02 2 NA Newtest17-256 255 + 1027 3.251084e+02 3 NA Newtest17-256 255 + 1028 1.324119e+01 4 NA Newtest17-256 255 + 1029 6.935485e-02 5 NA Newtest17-256 255 + 1030 2.763526e-02 6 NA Newtest17-256 255 + 1031 8.071067e-02 7 NA Newtest17-256 255 + 1032 3.247689e-01 8 NA Newtest17-256 255 + 1033 4.806254e-02 9 NA Newtest17-256 255 + 1034 2.997693e-02 10 NA Newtest17-256 255 + 1035 1.111148e-02 11 NA Newtest17-256 255 + 1036 1.507782e-02 12 NA Newtest17-256 255 + 1037 9.191323e-03 13 NA Newtest17-256 255 + 1038 7.112211e-03 14 NA Newtest17-256 255 + 1039 9.698717e-03 15 NA Newtest17-256 255 + 1040 7.822097e-03 16 NA Newtest17-256 255 + 1041 5.493493e-03 17 NA Newtest17-256 255 + 1042 2.995704e-03 18 NA Newtest17-256 255 + 1043 1.191714e-02 19 NA Newtest17-256 255 + 1044 4.642754e-03 20 NA Newtest17-256 255 + 1045 4.681594e-03 21 NA Newtest17-256 255 + 1046 3.170562e-03 22 NA Newtest17-256 255 + 1047 3.545940e-03 23 NA Newtest17-256 255 + 1048 5.865744e-03 24 NA Newtest17-256 255 + 1049 2.031328e-03 25 NA Newtest17-256 255 + 1050 3.473056e-03 26 NA Newtest17-256 255 + 1051 3.493911e-03 27 NA Newtest17-256 255 + 1052 5.257338e-03 28 NA Newtest17-256 255 + 1053 1.239664e-03 29 NA Newtest17-256 255 + 1054 4.268921e-03 30 NA Newtest17-256 255 + 1055 3.008308e-03 31 NA Newtest17-256 255 + 1056 3.588605e-03 32 NA Newtest17-256 255 + 1057 2.675914e-03 33 NA Newtest17-256 255 + 1058 9.256190e-04 34 NA Newtest17-256 255 + 1059 5.064787e-03 35 NA Newtest17-256 255 + 1060 1.552505e-03 36 NA Newtest17-256 255 + 1061 8.135786e-04 37 NA Newtest17-256 255 + 1062 3.670679e-03 38 NA Newtest17-256 255 + 1063 2.715916e-03 39 NA Newtest17-256 255 + 1064 5.058486e-03 40 NA Newtest17-256 255 + 1065 1.939337e-03 41 NA Newtest17-256 255 + 1066 1.623485e-03 42 NA Newtest17-256 255 + 1067 1.295813e-03 43 NA Newtest17-256 255 + 1068 2.270414e-03 44 NA Newtest17-256 255 + 1069 1.070421e-03 45 NA Newtest17-256 255 + 1070 1.869265e-03 46 NA Newtest17-256 255 + 1071 1.416851e-03 47 NA Newtest17-256 255 + 1072 1.924025e-03 48 NA Newtest17-256 255 + 1073 8.869302e-02 49 NA Newtest17-256 255 + 1074 4.436810e-01 50 NA Newtest17-256 255 + 1075 7.775938e-02 51 NA Newtest17-256 255 + 1076 1.761680e-03 52 NA Newtest17-256 255 + 1077 2.971599e-03 53 NA Newtest17-256 255 + 1078 5.725347e-04 54 NA Newtest17-256 255 + 1079 1.599245e-03 55 NA Newtest17-256 255 + 1080 1.995223e-03 56 NA Newtest17-256 255 + 1081 7.285294e-04 57 NA Newtest17-256 255 + 1082 1.269334e-03 58 NA Newtest17-256 255 + 1083 7.993174e-04 59 NA Newtest17-256 255 + 1084 1.014574e-03 60 NA Newtest17-256 255 + 1085 1.647860e-03 61 NA Newtest17-256 255 + 1086 7.553695e-04 62 NA Newtest17-256 255 + 1087 9.874210e-04 63 NA Newtest17-256 255 + 1088 6.086494e-04 64 NA Newtest17-256 255 + 1089 1.210420e-03 65 NA Newtest17-256 255 + 1090 1.629141e-03 66 NA Newtest17-256 255 + 1091 1.802013e-03 67 NA Newtest17-256 255 + 1092 6.619170e-04 68 NA Newtest17-256 255 + 1093 1.092119e-03 69 NA Newtest17-256 255 + 1094 1.602932e-03 70 NA Newtest17-256 255 + 1095 4.164406e-04 71 NA Newtest17-256 255 + 1096 4.526329e-04 72 NA Newtest17-256 255 + 1097 1.593483e-03 73 NA Newtest17-256 255 + 1098 2.943423e-04 74 NA Newtest17-256 255 + 1099 1.410818e-03 75 NA Newtest17-256 255 + 1100 2.083979e-04 76 NA Newtest17-256 255 + 1101 1.575280e-03 77 NA Newtest17-256 255 + 1102 8.933374e-04 78 NA Newtest17-256 255 + 1103 2.185006e-03 79 NA Newtest17-256 255 + 1104 9.407695e-04 80 NA Newtest17-256 255 + 1105 1.264480e-03 81 NA Newtest17-256 255 + 1106 1.474923e-03 82 NA Newtest17-256 255 + 1107 6.727157e-04 83 NA Newtest17-256 255 + 1108 1.042383e-03 84 NA Newtest17-256 255 + 1109 6.164222e-04 85 NA Newtest17-256 255 + 1110 1.686518e-03 86 NA Newtest17-256 255 + 1111 4.772155e-04 87 NA Newtest17-256 255 + 1112 8.747431e-04 88 NA Newtest17-256 255 + 1113 1.361604e-03 89 NA Newtest17-256 255 + 1114 1.882681e-03 90 NA Newtest17-256 255 + 1115 8.586303e-04 91 NA Newtest17-256 255 + 1116 2.078892e-03 92 NA Newtest17-256 255 + 1117 2.307188e-03 93 NA Newtest17-256 255 + 1118 6.425177e-03 94 NA Newtest17-256 255 + 1119 7.679816e-04 95 NA Newtest17-256 255 + 1120 2.303144e-03 96 NA Newtest17-256 255 + 1121 1.111886e-03 97 NA Newtest17-256 255 + 1122 1.989309e-03 98 NA Newtest17-256 255 + 1123 1.571165e-03 99 NA Newtest17-256 255 + 1124 6.595569e-03 100 NA Newtest17-256 255 + 1125 1.319259e-03 101 NA Newtest17-256 255 + 1126 2.507150e-04 102 NA Newtest17-256 255 + 1127 1.877188e-03 103 NA Newtest17-256 255 + 1128 7.964270e-04 104 NA Newtest17-256 255 + 1129 7.250913e-04 105 NA Newtest17-256 255 + 1130 3.063398e-03 106 NA Newtest17-256 255 + 1131 6.467343e-04 107 NA Newtest17-256 255 + 1132 5.278842e-04 108 NA Newtest17-256 255 + 1133 1.836222e-03 109 NA Newtest17-256 255 + 1134 5.885831e-04 110 NA Newtest17-256 255 + 1135 1.672516e-03 111 NA Newtest17-256 255 + 1136 8.417584e-04 112 NA Newtest17-256 255 + 1137 2.070435e-03 113 NA Newtest17-256 255 + 1138 3.318856e-03 114 NA Newtest17-256 255 + 1139 5.727595e-04 115 NA Newtest17-256 255 + 1140 1.259416e-03 116 NA Newtest17-256 255 + 1141 7.695771e-04 117 NA Newtest17-256 255 + 1142 1.820818e-03 118 NA Newtest17-256 255 + 1143 7.868014e-04 119 NA Newtest17-256 255 + 1144 9.611936e-04 120 NA Newtest17-256 255 + 1145 1.392053e-03 121 NA Newtest17-256 255 + 1146 1.056765e-03 122 NA Newtest17-256 255 + 1147 8.823531e-04 123 NA Newtest17-256 255 + 1148 1.268041e-03 124 NA Newtest17-256 255 + 1149 6.878643e-04 125 NA Newtest17-256 255 + 1150 4.747573e-04 126 NA Newtest17-256 255 + 1151 5.632793e-04 127 NA Newtest17-256 255 + 1152 1.454746e-03 128 NA Newtest17-256 255 + 1153 1.411448e+00 1 NA Newtest17-256 255 + 1154 2.050743e+02 2 NA Newtest17-256 255 + 1155 3.247885e+02 3 NA Newtest17-256 255 + 1156 1.326198e+01 4 NA Newtest17-256 255 + 1157 7.066586e-02 5 NA Newtest17-256 255 + 1158 3.305721e-02 6 NA Newtest17-256 255 + 1159 8.070768e-02 7 NA Newtest17-256 255 + 1160 3.227087e-01 8 NA Newtest17-256 255 + 1161 4.988737e-02 9 NA Newtest17-256 255 + 1162 3.020392e-02 10 NA Newtest17-256 255 + 1163 7.817658e-03 11 NA Newtest17-256 255 + 1164 1.327704e-02 12 NA Newtest17-256 255 + 1165 1.535178e-02 13 NA Newtest17-256 255 + 1166 9.441429e-03 14 NA Newtest17-256 255 + 1167 9.363234e-03 15 NA Newtest17-256 255 + 1168 9.538396e-03 16 NA Newtest17-256 255 + 1169 4.441031e-03 17 NA Newtest17-256 255 + 1170 6.296400e-03 18 NA Newtest17-256 255 + 1171 7.501596e-03 19 NA Newtest17-256 255 + 1172 4.469682e-03 20 NA Newtest17-256 255 + 1173 4.873763e-03 21 NA Newtest17-256 255 + 1174 4.339500e-03 22 NA Newtest17-256 255 + 1175 5.598907e-03 23 NA Newtest17-256 255 + 1176 7.500507e-03 24 NA Newtest17-256 255 + 1177 3.584219e-03 25 NA Newtest17-256 255 + 1178 4.524577e-03 26 NA Newtest17-256 255 + 1179 1.947152e-03 27 NA Newtest17-256 255 + 1180 6.008358e-03 28 NA Newtest17-256 255 + 1181 4.334537e-03 29 NA Newtest17-256 255 + 1182 1.818374e-03 30 NA Newtest17-256 255 + 1183 4.626604e-03 31 NA Newtest17-256 255 + 1184 1.189837e-03 32 NA Newtest17-256 255 + 1185 2.962051e-03 33 NA Newtest17-256 255 + 1186 1.442285e-03 34 NA Newtest17-256 255 + 1187 2.811415e-03 35 NA Newtest17-256 255 + 1188 2.555126e-03 36 NA Newtest17-256 255 + 1189 2.951715e-03 37 NA Newtest17-256 255 + 1190 1.246456e-03 38 NA Newtest17-256 255 + 1191 5.498344e-03 39 NA Newtest17-256 255 + 1192 1.351970e-03 40 NA Newtest17-256 255 + 1193 9.033519e-04 41 NA Newtest17-256 255 + 1194 1.569830e-03 42 NA Newtest17-256 255 + 1195 1.381447e-03 43 NA Newtest17-256 255 + 1196 2.200786e-03 44 NA Newtest17-256 255 + 1197 3.111149e-03 45 NA Newtest17-256 255 + 1198 9.279899e-04 46 NA Newtest17-256 255 + 1199 2.368500e-03 47 NA Newtest17-256 255 + 1200 1.679396e-03 48 NA Newtest17-256 255 + 1201 7.775850e-02 49 NA Newtest17-256 255 + 1202 4.395023e-01 50 NA Newtest17-256 255 + 1203 8.835199e-02 51 NA Newtest17-256 255 + 1204 1.691899e-03 52 NA Newtest17-256 255 + 1205 6.809003e-04 53 NA Newtest17-256 255 + 1206 1.794349e-03 54 NA Newtest17-256 255 + 1207 1.658424e-03 55 NA Newtest17-256 255 + 1208 1.178099e-03 56 NA Newtest17-256 255 + 1209 1.975250e-03 57 NA Newtest17-256 255 + 1210 2.592382e-03 58 NA Newtest17-256 255 + 1211 4.848749e-04 59 NA Newtest17-256 255 + 1212 1.079530e-03 60 NA Newtest17-256 255 + 1213 9.893534e-04 61 NA Newtest17-256 255 + 1214 1.324937e-03 62 NA Newtest17-256 255 + 1215 1.227658e-03 63 NA Newtest17-256 255 + 1216 1.715503e-03 64 NA Newtest17-256 255 + 1217 1.009591e-03 65 NA Newtest17-256 255 + 1218 1.343753e-03 66 NA Newtest17-256 255 + 1219 1.727061e-03 67 NA Newtest17-256 255 + 1220 2.783172e-04 68 NA Newtest17-256 255 + 1221 7.989119e-04 69 NA Newtest17-256 255 + 1222 2.165700e-03 70 NA Newtest17-256 255 + 1223 6.443475e-04 71 NA Newtest17-256 255 + 1224 8.429403e-04 72 NA Newtest17-256 255 + 1225 4.885195e-04 73 NA Newtest17-256 255 + 1226 1.459732e-03 74 NA Newtest17-256 255 + 1227 1.610854e-03 75 NA Newtest17-256 255 + 1228 8.078011e-04 76 NA Newtest17-256 255 + 1229 7.128541e-04 77 NA Newtest17-256 255 + 1230 1.204157e-03 78 NA Newtest17-256 255 + 1231 4.467971e-04 79 NA Newtest17-256 255 + 1232 7.593120e-04 80 NA Newtest17-256 255 + 1233 1.663534e-03 81 NA Newtest17-256 255 + 1234 2.530116e-03 82 NA Newtest17-256 255 + 1235 3.041059e-03 83 NA Newtest17-256 255 + 1236 8.817179e-04 84 NA Newtest17-256 255 + 1237 1.070057e-03 85 NA Newtest17-256 255 + 1238 9.790967e-04 86 NA Newtest17-256 255 + 1239 1.077861e-03 87 NA Newtest17-256 255 + 1240 6.770057e-04 88 NA Newtest17-256 255 + 1241 1.729146e-03 89 NA Newtest17-256 255 + 1242 5.749498e-04 90 NA Newtest17-256 255 + 1243 1.025247e-03 91 NA Newtest17-256 255 + 1244 7.888784e-04 92 NA Newtest17-256 255 + 1245 2.070623e-03 93 NA Newtest17-256 255 + 1246 8.238745e-03 94 NA Newtest17-256 255 + 1247 2.201382e-03 95 NA Newtest17-256 255 + 1248 2.067903e-03 96 NA Newtest17-256 255 + 1249 2.310333e-03 97 NA Newtest17-256 255 + 1250 5.413096e-04 98 NA Newtest17-256 255 + 1251 1.638737e-03 99 NA Newtest17-256 255 + 1252 6.803350e-03 100 NA Newtest17-256 255 + 1253 2.470456e-03 101 NA Newtest17-256 255 + 1254 1.820636e-03 102 NA Newtest17-256 255 + 1255 1.379618e-03 103 NA Newtest17-256 255 + 1256 4.143116e-04 104 NA Newtest17-256 255 + 1257 1.208910e-03 105 NA Newtest17-256 255 + 1258 4.289955e-03 106 NA Newtest17-256 255 + 1259 1.619652e-03 107 NA Newtest17-256 255 + 1260 2.899139e-03 108 NA Newtest17-256 255 + 1261 1.806525e-04 109 NA Newtest17-256 255 + 1262 8.284027e-04 110 NA Newtest17-256 255 + 1263 9.109690e-04 111 NA Newtest17-256 255 + 1264 8.122315e-04 112 NA Newtest17-256 255 + 1265 2.166175e-03 113 NA Newtest17-256 255 + 1266 3.928815e-04 114 NA Newtest17-256 255 + 1267 4.986074e-04 115 NA Newtest17-256 255 + 1268 4.413855e-04 116 NA Newtest17-256 255 + 1269 4.395475e-04 117 NA Newtest17-256 255 + 1270 1.641074e-03 118 NA Newtest17-256 255 + 1271 4.969519e-04 119 NA Newtest17-256 255 + 1272 3.896134e-04 120 NA Newtest17-256 255 + 1273 1.216401e-03 121 NA Newtest17-256 255 + 1274 4.701363e-04 122 NA Newtest17-256 255 + 1275 9.812065e-04 123 NA Newtest17-256 255 + 1276 1.097589e-03 124 NA Newtest17-256 255 + 1277 3.096617e-03 125 NA Newtest17-256 255 + 1278 7.376075e-04 126 NA Newtest17-256 255 + 1279 1.537250e-03 127 NA Newtest17-256 255 + 1280 1.543281e-03 128 NA Newtest17-256 255 + 1281 1.292503e+00 1 NA Newtest17-256 255 + 1282 2.065485e+02 2 NA Newtest17-256 255 + 1283 3.255300e+02 3 NA Newtest17-256 255 + 1284 1.332988e+01 4 NA Newtest17-256 255 + 1285 4.528644e-02 5 NA Newtest17-256 255 + 1286 3.468498e-02 6 NA Newtest17-256 255 + 1287 1.083992e-01 7 NA Newtest17-256 255 + 1288 3.166229e-01 8 NA Newtest17-256 255 + 1289 6.669405e-02 9 NA Newtest17-256 255 + 1290 2.122563e-02 10 NA Newtest17-256 255 + 1291 1.697967e-02 11 NA Newtest17-256 255 + 1292 1.231949e-02 12 NA Newtest17-256 255 + 1293 1.420164e-02 13 NA Newtest17-256 255 + 1294 6.510655e-03 14 NA Newtest17-256 255 + 1295 8.390575e-03 15 NA Newtest17-256 255 + 1296 8.185315e-03 16 NA Newtest17-256 255 + 1297 8.589468e-03 17 NA Newtest17-256 255 + 1298 5.883753e-03 18 NA Newtest17-256 255 + 1299 2.625514e-03 19 NA Newtest17-256 255 + 1300 7.504992e-03 20 NA Newtest17-256 255 + 1301 5.200311e-03 21 NA Newtest17-256 255 + 1302 3.000065e-03 22 NA Newtest17-256 255 + 1303 6.477537e-03 23 NA Newtest17-256 255 + 1304 2.978583e-03 24 NA Newtest17-256 255 + 1305 5.366939e-03 25 NA Newtest17-256 255 + 1306 4.781877e-03 26 NA Newtest17-256 255 + 1307 1.558429e-03 27 NA Newtest17-256 255 + 1308 4.016655e-03 28 NA Newtest17-256 255 + 1309 2.105349e-03 29 NA Newtest17-256 255 + 1310 2.827561e-03 30 NA Newtest17-256 255 + 1311 3.507839e-03 31 NA Newtest17-256 255 + 1312 1.311643e-03 32 NA Newtest17-256 255 + 1313 3.331801e-03 33 NA Newtest17-256 255 + 1314 1.751318e-03 34 NA Newtest17-256 255 + 1315 2.134319e-03 35 NA Newtest17-256 255 + 1316 2.764440e-03 36 NA Newtest17-256 255 + 1317 8.745934e-04 37 NA Newtest17-256 255 + 1318 1.601160e-03 38 NA Newtest17-256 255 + 1319 1.300777e-03 39 NA Newtest17-256 255 + 1320 1.934592e-03 40 NA Newtest17-256 255 + 1321 1.729619e-03 41 NA Newtest17-256 255 + 1322 1.742197e-03 42 NA Newtest17-256 255 + 1323 3.234751e-03 43 NA Newtest17-256 255 + 1324 8.533370e-04 44 NA Newtest17-256 255 + 1325 2.187501e-03 45 NA Newtest17-256 255 + 1326 2.979564e-03 46 NA Newtest17-256 255 + 1327 2.910674e-03 47 NA Newtest17-256 255 + 1328 2.280615e-03 48 NA Newtest17-256 255 + 1329 8.127910e-02 49 NA Newtest17-256 255 + 1330 4.161052e-01 50 NA Newtest17-256 255 + 1331 7.007292e-02 51 NA Newtest17-256 255 + 1332 1.662986e-03 52 NA Newtest17-256 255 + 1333 1.489074e-03 53 NA Newtest17-256 255 + 1334 1.100677e-03 54 NA Newtest17-256 255 + 1335 3.741841e-04 55 NA Newtest17-256 255 + 1336 2.645890e-03 56 NA Newtest17-256 255 + 1337 7.720875e-04 57 NA Newtest17-256 255 + 1338 1.530366e-03 58 NA Newtest17-256 255 + 1339 1.394107e-03 59 NA Newtest17-256 255 + 1340 9.622266e-04 60 NA Newtest17-256 255 + 1341 2.184620e-03 61 NA Newtest17-256 255 + 1342 1.680620e-03 62 NA Newtest17-256 255 + 1343 2.150633e-03 63 NA Newtest17-256 255 + 1344 5.483012e-04 64 NA Newtest17-256 255 + 1345 4.825539e-04 65 NA Newtest17-256 255 + 1346 1.244517e-03 66 NA Newtest17-256 255 + 1347 1.778116e-03 67 NA Newtest17-256 255 + 1348 3.733572e-04 68 NA Newtest17-256 255 + 1349 1.276531e-03 69 NA Newtest17-256 255 + 1350 6.864321e-04 70 NA Newtest17-256 255 + 1351 1.851609e-03 71 NA Newtest17-256 255 + 1352 1.006747e-03 72 NA Newtest17-256 255 + 1353 1.374087e-03 73 NA Newtest17-256 255 + 1354 5.556604e-04 74 NA Newtest17-256 255 + 1355 8.463045e-04 75 NA Newtest17-256 255 + 1356 1.834715e-03 76 NA Newtest17-256 255 + 1357 1.072840e-03 77 NA Newtest17-256 255 + 1358 8.509561e-04 78 NA Newtest17-256 255 + 1359 1.097593e-03 79 NA Newtest17-256 255 + 1360 1.420230e-03 80 NA Newtest17-256 255 + 1361 5.279655e-04 81 NA Newtest17-256 255 + 1362 2.621583e-03 82 NA Newtest17-256 255 + 1363 2.219020e-03 83 NA Newtest17-256 255 + 1364 1.055379e-03 84 NA Newtest17-256 255 + 1365 2.253629e-03 85 NA Newtest17-256 255 + 1366 7.999398e-04 86 NA Newtest17-256 255 + 1367 2.181375e-03 87 NA Newtest17-256 255 + 1368 4.959789e-04 88 NA Newtest17-256 255 + 1369 6.110634e-04 89 NA Newtest17-256 255 + 1370 1.217139e-03 90 NA Newtest17-256 255 + 1371 8.378780e-04 91 NA Newtest17-256 255 + 1372 2.310504e-04 92 NA Newtest17-256 255 + 1373 2.713776e-03 93 NA Newtest17-256 255 + 1374 3.874226e-03 94 NA Newtest17-256 255 + 1375 2.150012e-03 95 NA Newtest17-256 255 + 1376 7.678499e-04 96 NA Newtest17-256 255 + 1377 2.924236e-03 97 NA Newtest17-256 255 + 1378 1.107204e-03 98 NA Newtest17-256 255 + 1379 3.014133e-03 99 NA Newtest17-256 255 + 1380 4.329471e-03 100 NA Newtest17-256 255 + 1381 2.115118e-03 101 NA Newtest17-256 255 + 1382 8.627804e-04 102 NA Newtest17-256 255 + 1383 3.369642e-04 103 NA Newtest17-256 255 + 1384 4.009381e-04 104 NA Newtest17-256 255 + 1385 3.254268e-03 105 NA Newtest17-256 255 + 1386 4.794638e-03 106 NA Newtest17-256 255 + 1387 1.661099e-03 107 NA Newtest17-256 255 + 1388 8.447263e-04 108 NA Newtest17-256 255 + 1389 6.481805e-04 109 NA Newtest17-256 255 + 1390 8.787780e-04 110 NA Newtest17-256 255 + 1391 1.007464e-03 111 NA Newtest17-256 255 + 1392 8.696714e-04 112 NA Newtest17-256 255 + 1393 9.657573e-04 113 NA Newtest17-256 255 + 1394 1.828969e-03 114 NA Newtest17-256 255 + 1395 9.718603e-04 115 NA Newtest17-256 255 + 1396 1.612220e-03 116 NA Newtest17-256 255 + 1397 1.410829e-03 117 NA Newtest17-256 255 + 1398 1.334565e-03 118 NA Newtest17-256 255 + 1399 1.155585e-03 119 NA Newtest17-256 255 + 1400 3.566309e-04 120 NA Newtest17-256 255 + 1401 1.437398e-03 121 NA Newtest17-256 255 + 1402 2.001532e-03 122 NA Newtest17-256 255 + 1403 7.616649e-04 123 NA Newtest17-256 255 + 1404 2.349405e-03 124 NA Newtest17-256 255 + 1405 1.317150e-03 125 NA Newtest17-256 255 + 1406 9.981061e-04 126 NA Newtest17-256 255 + 1407 1.451566e-03 127 NA Newtest17-256 255 + 1408 1.560060e-03 128 NA Newtest17-256 255 + 1409 1.322444e+00 1 NA Newtest17-256 255 + 1410 2.063576e+02 2 NA Newtest17-256 255 + 1411 3.236564e+02 3 NA Newtest17-256 255 + 1412 1.334588e+01 4 NA Newtest17-256 255 + 1413 7.749029e-02 5 NA Newtest17-256 255 + 1414 1.389102e-02 6 NA Newtest17-256 255 + 1415 1.017598e-01 7 NA Newtest17-256 255 + 1416 2.782933e-01 8 NA Newtest17-256 255 + 1417 5.481194e-02 9 NA Newtest17-256 255 + 1418 3.602290e-02 10 NA Newtest17-256 255 + 1419 6.339564e-03 11 NA Newtest17-256 255 + 1420 1.270210e-02 12 NA Newtest17-256 255 + 1421 7.260226e-03 13 NA Newtest17-256 255 + 1422 7.242941e-03 14 NA Newtest17-256 255 + 1423 1.315821e-02 15 NA Newtest17-256 255 + 1424 8.413997e-03 16 NA Newtest17-256 255 + 1425 1.722120e-03 17 NA Newtest17-256 255 + 1426 5.634549e-03 18 NA Newtest17-256 255 + 1427 6.882284e-03 19 NA Newtest17-256 255 + 1428 5.183920e-03 20 NA Newtest17-256 255 + 1429 7.227097e-03 21 NA Newtest17-256 255 + 1430 1.481415e-03 22 NA Newtest17-256 255 + 1431 7.308508e-03 23 NA Newtest17-256 255 + 1432 4.149516e-03 24 NA Newtest17-256 255 + 1433 6.035261e-03 25 NA Newtest17-256 255 + 1434 1.655965e-03 26 NA Newtest17-256 255 + 1435 4.346574e-03 27 NA Newtest17-256 255 + 1436 2.903740e-03 28 NA Newtest17-256 255 + 1437 1.052519e-03 29 NA Newtest17-256 255 + 1438 2.942923e-03 30 NA Newtest17-256 255 + 1439 1.650833e-03 31 NA Newtest17-256 255 + 1440 3.652878e-03 32 NA Newtest17-256 255 + 1441 1.655933e-03 33 NA Newtest17-256 255 + 1442 1.543808e-03 34 NA Newtest17-256 255 + 1443 2.776389e-03 35 NA Newtest17-256 255 + 1444 2.145707e-03 36 NA Newtest17-256 255 + 1445 2.321748e-03 37 NA Newtest17-256 255 + 1446 1.855899e-03 38 NA Newtest17-256 255 + 1447 6.474101e-03 39 NA Newtest17-256 255 + 1448 3.807641e-03 40 NA Newtest17-256 255 + 1449 8.235890e-04 41 NA Newtest17-256 255 + 1450 2.667472e-03 42 NA Newtest17-256 255 + 1451 4.646978e-04 43 NA Newtest17-256 255 + 1452 1.148060e-03 44 NA Newtest17-256 255 + 1453 1.547144e-03 45 NA Newtest17-256 255 + 1454 1.598406e-03 46 NA Newtest17-256 255 + 1455 9.553420e-04 47 NA Newtest17-256 255 + 1456 1.879040e-03 48 NA Newtest17-256 255 + 1457 7.298808e-02 49 NA Newtest17-256 255 + 1458 3.703468e-01 50 NA Newtest17-256 255 + 1459 6.717485e-02 51 NA Newtest17-256 255 + 1460 6.851018e-04 52 NA Newtest17-256 255 + 1461 8.216601e-04 53 NA Newtest17-256 255 + 1462 2.554023e-03 54 NA Newtest17-256 255 + 1463 1.679409e-03 55 NA Newtest17-256 255 + 1464 1.548689e-03 56 NA Newtest17-256 255 + 1465 1.101755e-03 57 NA Newtest17-256 255 + 1466 1.291752e-03 58 NA Newtest17-256 255 + 1467 1.713318e-03 59 NA Newtest17-256 255 + 1468 8.018462e-04 60 NA Newtest17-256 255 + 1469 7.638129e-04 61 NA Newtest17-256 255 + 1470 1.617278e-03 62 NA Newtest17-256 255 + 1471 7.734277e-04 63 NA Newtest17-256 255 + 1472 1.505689e-03 64 NA Newtest17-256 255 + 1473 1.137877e-03 65 NA Newtest17-256 255 + 1474 1.664608e-03 66 NA Newtest17-256 255 + 1475 5.676926e-04 67 NA Newtest17-256 255 + 1476 1.129742e-03 68 NA Newtest17-256 255 + 1477 3.983474e-04 69 NA Newtest17-256 255 + 1478 1.499397e-03 70 NA Newtest17-256 255 + 1479 6.795125e-04 71 NA Newtest17-256 255 + 1480 1.447999e-03 72 NA Newtest17-256 255 + 1481 5.823175e-04 73 NA Newtest17-256 255 + 1482 9.512779e-04 74 NA Newtest17-256 255 + 1483 1.272960e-03 75 NA Newtest17-256 255 + 1484 4.274479e-04 76 NA Newtest17-256 255 + 1485 1.469010e-03 77 NA Newtest17-256 255 + 1486 3.759249e-03 78 NA Newtest17-256 255 + 1487 3.773850e-03 79 NA Newtest17-256 255 + 1488 1.924341e-03 80 NA Newtest17-256 255 + 1489 1.832366e-03 81 NA Newtest17-256 255 + 1490 1.553792e-03 82 NA Newtest17-256 255 + 1491 1.550741e-03 83 NA Newtest17-256 255 + 1492 1.851884e-03 84 NA Newtest17-256 255 + 1493 4.615262e-04 85 NA Newtest17-256 255 + 1494 1.177110e-03 86 NA Newtest17-256 255 + 1495 7.928932e-04 87 NA Newtest17-256 255 + 1496 8.403025e-04 88 NA Newtest17-256 255 + 1497 7.182716e-04 89 NA Newtest17-256 255 + 1498 1.786685e-03 90 NA Newtest17-256 255 + 1499 4.063816e-04 91 NA Newtest17-256 255 + 1500 7.594905e-04 92 NA Newtest17-256 255 + 1501 4.380308e-03 93 NA Newtest17-256 255 + 1502 8.045566e-03 94 NA Newtest17-256 255 + 1503 1.725581e-03 95 NA Newtest17-256 255 + 1504 5.935607e-04 96 NA Newtest17-256 255 + 1505 1.018659e-03 97 NA Newtest17-256 255 + 1506 5.707589e-04 98 NA Newtest17-256 255 + 1507 2.197081e-03 99 NA Newtest17-256 255 + 1508 1.021786e-02 100 NA Newtest17-256 255 + 1509 4.590681e-03 101 NA Newtest17-256 255 + 1510 8.338025e-04 102 NA Newtest17-256 255 + 1511 1.799272e-03 103 NA Newtest17-256 255 + 1512 1.612434e-03 104 NA Newtest17-256 255 + 1513 2.945618e-03 105 NA Newtest17-256 255 + 1514 8.533332e-03 106 NA Newtest17-256 255 + 1515 2.826417e-03 107 NA Newtest17-256 255 + 1516 1.354537e-03 108 NA Newtest17-256 255 + 1517 1.346483e-03 109 NA Newtest17-256 255 + 1518 2.135774e-03 110 NA Newtest17-256 255 + 1519 1.207283e-03 111 NA Newtest17-256 255 + 1520 6.628097e-04 112 NA Newtest17-256 255 + 1521 8.323161e-04 113 NA Newtest17-256 255 + 1522 1.120125e-03 114 NA Newtest17-256 255 + 1523 8.129005e-04 115 NA Newtest17-256 255 + 1524 8.193940e-04 116 NA Newtest17-256 255 + 1525 8.594902e-04 117 NA Newtest17-256 255 + 1526 2.722802e-03 118 NA Newtest17-256 255 + 1527 1.937407e-03 119 NA Newtest17-256 255 + 1528 5.290852e-04 120 NA Newtest17-256 255 + 1529 8.715077e-04 121 NA Newtest17-256 255 + 1530 1.721013e-03 122 NA Newtest17-256 255 + 1531 4.626759e-04 123 NA Newtest17-256 255 + 1532 1.559389e-03 124 NA Newtest17-256 255 + 1533 5.139667e-04 125 NA Newtest17-256 255 + 1534 4.323128e-04 126 NA Newtest17-256 255 + 1535 7.381642e-04 127 NA Newtest17-256 255 + 1536 9.588536e-04 128 NA Newtest17-256 255 + 1537 1.439855e+00 1 NA Newtest17-256 255 + 1538 2.062111e+02 2 NA Newtest17-256 255 + 1539 3.251028e+02 3 NA Newtest17-256 255 + 1540 1.313849e+01 4 NA Newtest17-256 255 + 1541 1.181612e-02 5 NA Newtest17-256 255 + 1542 4.046631e-02 6 NA Newtest17-256 255 + 1543 7.301394e-02 7 NA Newtest17-256 255 + 1544 3.116761e-01 8 NA Newtest17-256 255 + 1545 4.776178e-02 9 NA Newtest17-256 255 + 1546 6.879782e-03 10 NA Newtest17-256 255 + 1547 4.197682e-02 11 NA Newtest17-256 255 + 1548 1.033488e-02 12 NA Newtest17-256 255 + 1549 9.717970e-03 13 NA Newtest17-256 255 + 1550 1.145739e-02 14 NA Newtest17-256 255 + 1551 9.002231e-03 15 NA Newtest17-256 255 + 1552 9.232814e-03 16 NA Newtest17-256 255 + 1553 6.945058e-03 17 NA Newtest17-256 255 + 1554 3.011549e-03 18 NA Newtest17-256 255 + 1555 1.113081e-02 19 NA Newtest17-256 255 + 1556 3.819304e-03 20 NA Newtest17-256 255 + 1557 4.434131e-03 21 NA Newtest17-256 255 + 1558 4.419950e-03 22 NA Newtest17-256 255 + 1559 2.880351e-03 23 NA Newtest17-256 255 + 1560 6.031800e-03 24 NA Newtest17-256 255 + 1561 5.003395e-03 25 NA Newtest17-256 255 + 1562 2.649217e-03 26 NA Newtest17-256 255 + 1563 2.385059e-03 27 NA Newtest17-256 255 + 1564 4.565329e-03 28 NA Newtest17-256 255 + 1565 2.009127e-03 29 NA Newtest17-256 255 + 1566 3.957016e-03 30 NA Newtest17-256 255 + 1567 2.969755e-03 31 NA Newtest17-256 255 + 1568 5.834990e-03 32 NA Newtest17-256 255 + 1569 2.553559e-03 33 NA Newtest17-256 255 + 1570 1.120761e-03 34 NA Newtest17-256 255 + 1571 3.583419e-03 35 NA Newtest17-256 255 + 1572 2.037460e-03 36 NA Newtest17-256 255 + 1573 3.336970e-03 37 NA Newtest17-256 255 + 1574 3.191595e-03 38 NA Newtest17-256 255 + 1575 2.608156e-03 39 NA Newtest17-256 255 + 1576 2.581598e-03 40 NA Newtest17-256 255 + 1577 1.369644e-03 41 NA Newtest17-256 255 + 1578 1.717870e-03 42 NA Newtest17-256 255 + 1579 1.150961e-03 43 NA Newtest17-256 255 + 1580 2.200095e-03 44 NA Newtest17-256 255 + 1581 2.249494e-03 45 NA Newtest17-256 255 + 1582 1.386830e-03 46 NA Newtest17-256 255 + 1583 1.989395e-03 47 NA Newtest17-256 255 + 1584 9.272954e-04 48 NA Newtest17-256 255 + 1585 8.349952e-02 49 NA Newtest17-256 255 + 1586 4.152875e-01 50 NA Newtest17-256 255 + 1587 8.091858e-02 51 NA Newtest17-256 255 + 1588 7.258483e-04 52 NA Newtest17-256 255 + 1589 6.798052e-04 53 NA Newtest17-256 255 + 1590 2.142155e-03 54 NA Newtest17-256 255 + 1591 1.169789e-03 55 NA Newtest17-256 255 + 1592 3.052116e-03 56 NA Newtest17-256 255 + 1593 1.332703e-03 57 NA Newtest17-256 255 + 1594 1.893971e-03 58 NA Newtest17-256 255 + 1595 5.185126e-04 59 NA Newtest17-256 255 + 1596 8.419740e-04 60 NA Newtest17-256 255 + 1597 2.017288e-03 61 NA Newtest17-256 255 + 1598 4.858598e-04 62 NA Newtest17-256 255 + 1599 1.188315e-03 63 NA Newtest17-256 255 + 1600 1.912829e-03 64 NA Newtest17-256 255 + 1601 9.168146e-04 65 NA Newtest17-256 255 + 1602 2.135969e-03 66 NA Newtest17-256 255 + 1603 1.080320e-03 67 NA Newtest17-256 255 + 1604 6.025746e-04 68 NA Newtest17-256 255 + 1605 1.739320e-03 69 NA Newtest17-256 255 + 1606 1.335464e-03 70 NA Newtest17-256 255 + 1607 5.160091e-04 71 NA Newtest17-256 255 + 1608 2.568109e-04 72 NA Newtest17-256 255 + 1609 1.667455e-03 73 NA Newtest17-256 255 + 1610 8.584630e-04 74 NA Newtest17-256 255 + 1611 1.027804e-03 75 NA Newtest17-256 255 + 1612 1.308364e-03 76 NA Newtest17-256 255 + 1613 5.809648e-04 77 NA Newtest17-256 255 + 1614 8.480230e-04 78 NA Newtest17-256 255 + 1615 1.128665e-03 79 NA Newtest17-256 255 + 1616 2.342696e-03 80 NA Newtest17-256 255 + 1617 5.651251e-04 81 NA Newtest17-256 255 + 1618 1.287715e-03 82 NA Newtest17-256 255 + 1619 3.813871e-04 83 NA Newtest17-256 255 + 1620 1.344487e-03 84 NA Newtest17-256 255 + 1621 2.042810e-03 85 NA Newtest17-256 255 + 1622 9.710043e-04 86 NA Newtest17-256 255 + 1623 1.065124e-03 87 NA Newtest17-256 255 + 1624 1.544318e-03 88 NA Newtest17-256 255 + 1625 9.935478e-04 89 NA Newtest17-256 255 + 1626 1.353315e-04 90 NA Newtest17-256 255 + 1627 7.516390e-04 91 NA Newtest17-256 255 + 1628 4.000729e-04 92 NA Newtest17-256 255 + 1629 1.575509e-03 93 NA Newtest17-256 255 + 1630 5.879290e-03 94 NA Newtest17-256 255 + 1631 2.085577e-03 95 NA Newtest17-256 255 + 1632 1.272425e-03 96 NA Newtest17-256 255 + 1633 6.001820e-04 97 NA Newtest17-256 255 + 1634 5.703225e-04 98 NA Newtest17-256 255 + 1635 3.415895e-03 99 NA Newtest17-256 255 + 1636 9.913758e-03 100 NA Newtest17-256 255 + 1637 2.772594e-03 101 NA Newtest17-256 255 + 1638 8.436592e-04 102 NA Newtest17-256 255 + 1639 1.139893e-03 103 NA Newtest17-256 255 + 1640 6.317992e-04 104 NA Newtest17-256 255 + 1641 1.671054e-03 105 NA Newtest17-256 255 + 1642 3.837041e-03 106 NA Newtest17-256 255 + 1643 1.230664e-03 107 NA Newtest17-256 255 + 1644 1.619644e-03 108 NA Newtest17-256 255 + 1645 1.357834e-03 109 NA Newtest17-256 255 + 1646 5.947460e-04 110 NA Newtest17-256 255 + 1647 1.885303e-03 111 NA Newtest17-256 255 + 1648 1.718114e-03 112 NA Newtest17-256 255 + 1649 1.549018e-03 113 NA Newtest17-256 255 + 1650 4.865076e-04 114 NA Newtest17-256 255 + 1651 3.754646e-04 115 NA Newtest17-256 255 + 1652 2.033076e-04 116 NA Newtest17-256 255 + 1653 1.326846e-03 117 NA Newtest17-256 255 + 1654 4.349706e-03 118 NA Newtest17-256 255 + 1655 1.278425e-03 119 NA Newtest17-256 255 + 1656 4.459889e-04 120 NA Newtest17-256 255 + 1657 7.532640e-04 121 NA Newtest17-256 255 + 1658 5.175994e-04 122 NA Newtest17-256 255 + 1659 3.919250e-04 123 NA Newtest17-256 255 + 1660 1.242380e-03 124 NA Newtest17-256 255 + 1661 2.110954e-03 125 NA Newtest17-256 255 + 1662 5.978471e-04 126 NA Newtest17-256 255 + 1663 1.187912e-03 127 NA Newtest17-256 255 + 1664 2.918057e-04 128 NA Newtest17-256 255 + 1665 1.330074e+00 1 NA Newtest17-256 255 + 1666 2.061052e+02 2 NA Newtest17-256 255 + 1667 3.239213e+02 3 NA Newtest17-256 255 + 1668 1.319893e+01 4 NA Newtest17-256 255 + 1669 1.528294e-02 5 NA Newtest17-256 255 + 1670 4.176173e-02 6 NA Newtest17-256 255 + 1671 1.046148e-01 7 NA Newtest17-256 255 + 1672 3.417629e-01 8 NA Newtest17-256 255 + 1673 5.705788e-02 9 NA Newtest17-256 255 + 1674 8.510915e-03 10 NA Newtest17-256 255 + 1675 2.479119e-02 11 NA Newtest17-256 255 + 1676 1.544370e-02 12 NA Newtest17-256 255 + 1677 1.003313e-02 13 NA Newtest17-256 255 + 1678 1.701783e-02 14 NA Newtest17-256 255 + 1679 5.133338e-03 15 NA Newtest17-256 255 + 1680 1.027270e-02 16 NA Newtest17-256 255 + 1681 5.666565e-03 17 NA Newtest17-256 255 + 1682 7.314061e-03 18 NA Newtest17-256 255 + 1683 3.882539e-03 19 NA Newtest17-256 255 + 1684 6.304985e-03 20 NA Newtest17-256 255 + 1685 4.424618e-03 21 NA Newtest17-256 255 + 1686 4.394860e-03 22 NA Newtest17-256 255 + 1687 5.009727e-03 23 NA Newtest17-256 255 + 1688 2.811333e-03 24 NA Newtest17-256 255 + 1689 2.546962e-03 25 NA Newtest17-256 255 + 1690 4.610428e-03 26 NA Newtest17-256 255 + 1691 1.124369e-03 27 NA Newtest17-256 255 + 1692 4.388918e-03 28 NA Newtest17-256 255 + 1693 3.018561e-03 29 NA Newtest17-256 255 + 1694 2.745968e-03 30 NA Newtest17-256 255 + 1695 4.445247e-03 31 NA Newtest17-256 255 + 1696 1.129451e-03 32 NA Newtest17-256 255 + 1697 1.868771e-03 33 NA Newtest17-256 255 + 1698 3.167232e-03 34 NA Newtest17-256 255 + 1699 1.274460e-03 35 NA Newtest17-256 255 + 1700 1.233996e-03 36 NA Newtest17-256 255 + 1701 2.287152e-03 37 NA Newtest17-256 255 + 1702 7.440305e-04 38 NA Newtest17-256 255 + 1703 5.891570e-03 39 NA Newtest17-256 255 + 1704 2.728361e-04 40 NA Newtest17-256 255 + 1705 2.775640e-03 41 NA Newtest17-256 255 + 1706 1.926986e-03 42 NA Newtest17-256 255 + 1707 3.344094e-03 43 NA Newtest17-256 255 + 1708 1.194432e-03 44 NA Newtest17-256 255 + 1709 2.699257e-03 45 NA Newtest17-256 255 + 1710 1.684824e-03 46 NA Newtest17-256 255 + 1711 1.849484e-03 47 NA Newtest17-256 255 + 1712 3.083097e-03 48 NA Newtest17-256 255 + 1713 7.456211e-02 49 NA Newtest17-256 255 + 1714 4.223663e-01 50 NA Newtest17-256 255 + 1715 8.692785e-02 51 NA Newtest17-256 255 + 1716 3.444023e-03 52 NA Newtest17-256 255 + 1717 1.914467e-03 53 NA Newtest17-256 255 + 1718 1.448023e-04 54 NA Newtest17-256 255 + 1719 2.280657e-03 55 NA Newtest17-256 255 + 1720 1.915232e-03 56 NA Newtest17-256 255 + 1721 1.392568e-03 57 NA Newtest17-256 255 + 1722 2.777537e-03 58 NA Newtest17-256 255 + 1723 8.478588e-04 59 NA Newtest17-256 255 + 1724 1.910338e-03 60 NA Newtest17-256 255 + 1725 5.927476e-04 61 NA Newtest17-256 255 + 1726 1.332502e-03 62 NA Newtest17-256 255 + 1727 5.748155e-04 63 NA Newtest17-256 255 + 1728 2.166391e-03 64 NA Newtest17-256 255 + 1729 5.887624e-04 65 NA Newtest17-256 255 + 1730 9.161170e-04 66 NA Newtest17-256 255 + 1731 1.455874e-03 67 NA Newtest17-256 255 + 1732 1.769477e-03 68 NA Newtest17-256 255 + 1733 1.436269e-03 69 NA Newtest17-256 255 + 1734 1.533328e-03 70 NA Newtest17-256 255 + 1735 1.346613e-03 71 NA Newtest17-256 255 + 1736 1.209593e-03 72 NA Newtest17-256 255 + 1737 1.812525e-03 73 NA Newtest17-256 255 + 1738 6.638150e-04 74 NA Newtest17-256 255 + 1739 1.205117e-03 75 NA Newtest17-256 255 + 1740 1.360788e-03 76 NA Newtest17-256 255 + 1741 1.289733e-03 77 NA Newtest17-256 255 + 1742 4.253522e-04 78 NA Newtest17-256 255 + 1743 1.682129e-03 79 NA Newtest17-256 255 + 1744 1.858554e-04 80 NA Newtest17-256 255 + 1745 7.708501e-04 81 NA Newtest17-256 255 + 1746 2.556160e-03 82 NA Newtest17-256 255 + 1747 1.033988e-03 83 NA Newtest17-256 255 + 1748 8.744686e-04 84 NA Newtest17-256 255 + 1749 9.524595e-04 85 NA Newtest17-256 255 + 1750 1.984648e-03 86 NA Newtest17-256 255 + 1751 4.878953e-04 87 NA Newtest17-256 255 + 1752 3.221737e-04 88 NA Newtest17-256 255 + 1753 6.524593e-04 89 NA Newtest17-256 255 + 1754 2.407977e-03 90 NA Newtest17-256 255 + 1755 1.148821e-03 91 NA Newtest17-256 255 + 1756 5.703107e-04 92 NA Newtest17-256 255 + 1757 1.381598e-03 93 NA Newtest17-256 255 + 1758 4.978830e-03 94 NA Newtest17-256 255 + 1759 2.566464e-03 95 NA Newtest17-256 255 + 1760 1.913505e-03 96 NA Newtest17-256 255 + 1761 7.971271e-04 97 NA Newtest17-256 255 + 1762 3.551201e-04 98 NA Newtest17-256 255 + 1763 2.262598e-03 99 NA Newtest17-256 255 + 1764 9.237592e-03 100 NA Newtest17-256 255 + 1765 3.093429e-03 101 NA Newtest17-256 255 + 1766 1.351702e-03 102 NA Newtest17-256 255 + 1767 1.811682e-03 103 NA Newtest17-256 255 + 1768 1.205926e-03 104 NA Newtest17-256 255 + 1769 1.196692e-03 105 NA Newtest17-256 255 + 1770 3.100926e-03 106 NA Newtest17-256 255 + 1771 1.625686e-03 107 NA Newtest17-256 255 + 1772 6.383785e-04 108 NA Newtest17-256 255 + 1773 3.979542e-04 109 NA Newtest17-256 255 + 1774 5.221173e-04 110 NA Newtest17-256 255 + 1775 3.715632e-04 111 NA Newtest17-256 255 + 1776 1.066042e-03 112 NA Newtest17-256 255 + 1777 4.902519e-04 113 NA Newtest17-256 255 + 1778 9.490147e-04 114 NA Newtest17-256 255 + 1779 1.125076e-03 115 NA Newtest17-256 255 + 1780 2.954261e-03 116 NA Newtest17-256 255 + 1781 1.888383e-03 117 NA Newtest17-256 255 + 1782 1.574097e-03 118 NA Newtest17-256 255 + 1783 1.340561e-03 119 NA Newtest17-256 255 + 1784 2.134138e-03 120 NA Newtest17-256 255 + 1785 1.114031e-03 121 NA Newtest17-256 255 + 1786 2.151447e-03 122 NA Newtest17-256 255 + 1787 8.130999e-04 123 NA Newtest17-256 255 + 1788 3.388205e-04 124 NA Newtest17-256 255 + 1789 1.060768e-03 125 NA Newtest17-256 255 + 1790 5.918667e-04 126 NA Newtest17-256 255 + 1791 1.013751e-03 127 NA Newtest17-256 255 + 1792 1.462064e-03 128 NA Newtest17-256 255 + 1793 1.143293e+00 1 NA Newtest17-256 255 + 1794 2.075673e+02 2 NA Newtest17-256 255 + 1795 3.252227e+02 3 NA Newtest17-256 255 + 1796 1.346306e+01 4 NA Newtest17-256 255 + 1797 4.945229e-02 5 NA Newtest17-256 255 + 1798 1.788878e-02 6 NA Newtest17-256 255 + 1799 8.266556e-02 7 NA Newtest17-256 255 + 1800 2.787919e-01 8 NA Newtest17-256 255 + 1801 5.151790e-02 9 NA Newtest17-256 255 + 1802 1.846484e-02 10 NA Newtest17-256 255 + 1803 1.472217e-02 11 NA Newtest17-256 255 + 1804 9.818462e-03 12 NA Newtest17-256 255 + 1805 9.062639e-03 13 NA Newtest17-256 255 + 1806 8.071325e-03 14 NA Newtest17-256 255 + 1807 8.165550e-03 15 NA Newtest17-256 255 + 1808 6.356984e-03 16 NA Newtest17-256 255 + 1809 4.481061e-03 17 NA Newtest17-256 255 + 1810 7.100848e-03 18 NA Newtest17-256 255 + 1811 6.577344e-03 19 NA Newtest17-256 255 + 1812 2.167749e-03 20 NA Newtest17-256 255 + 1813 6.685564e-03 21 NA Newtest17-256 255 + 1814 3.389480e-03 22 NA Newtest17-256 255 + 1815 3.323907e-03 23 NA Newtest17-256 255 + 1816 2.493782e-03 24 NA Newtest17-256 255 + 1817 3.541476e-03 25 NA Newtest17-256 255 + 1818 2.463194e-03 26 NA Newtest17-256 255 + 1819 1.983504e-03 27 NA Newtest17-256 255 + 1820 3.471156e-03 28 NA Newtest17-256 255 + 1821 4.798883e-03 29 NA Newtest17-256 255 + 1822 2.128945e-03 30 NA Newtest17-256 255 + 1823 1.242570e-03 31 NA Newtest17-256 255 + 1824 4.143283e-03 32 NA Newtest17-256 255 + 1825 2.371317e-03 33 NA Newtest17-256 255 + 1826 3.349559e-03 34 NA Newtest17-256 255 + 1827 1.765671e-03 35 NA Newtest17-256 255 + 1828 3.428691e-03 36 NA Newtest17-256 255 + 1829 1.178494e-03 37 NA Newtest17-256 255 + 1830 1.948091e-03 38 NA Newtest17-256 255 + 1831 3.957168e-03 39 NA Newtest17-256 255 + 1832 7.826957e-04 40 NA Newtest17-256 255 + 1833 1.480139e-03 41 NA Newtest17-256 255 + 1834 3.308490e-03 42 NA Newtest17-256 255 + 1835 1.831169e-03 43 NA Newtest17-256 255 + 1836 2.775674e-03 44 NA Newtest17-256 255 + 1837 1.846450e-03 45 NA Newtest17-256 255 + 1838 2.311613e-03 46 NA Newtest17-256 255 + 1839 3.112420e-03 47 NA Newtest17-256 255 + 1840 3.743281e-04 48 NA Newtest17-256 255 + 1841 7.284527e-02 49 NA Newtest17-256 255 + 1842 3.679491e-01 50 NA Newtest17-256 255 + 1843 7.203617e-02 51 NA Newtest17-256 255 + 1844 9.112145e-04 52 NA Newtest17-256 255 + 1845 1.540074e-03 53 NA Newtest17-256 255 + 1846 2.749545e-03 54 NA Newtest17-256 255 + 1847 5.234763e-04 55 NA Newtest17-256 255 + 1848 2.583343e-03 56 NA Newtest17-256 255 + 1849 5.458171e-04 57 NA Newtest17-256 255 + 1850 1.211120e-03 58 NA Newtest17-256 255 + 1851 2.534840e-03 59 NA Newtest17-256 255 + 1852 8.542262e-04 60 NA Newtest17-256 255 + 1853 2.728185e-03 61 NA Newtest17-256 255 + 1854 3.895401e-04 62 NA Newtest17-256 255 + 1855 9.544121e-04 63 NA Newtest17-256 255 + 1856 2.542204e-03 64 NA Newtest17-256 255 + 1857 1.705407e-03 65 NA Newtest17-256 255 + 1858 1.438699e-03 66 NA Newtest17-256 255 + 1859 1.159105e-03 67 NA Newtest17-256 255 + 1860 9.115789e-04 68 NA Newtest17-256 255 + 1861 2.340491e-04 69 NA Newtest17-256 255 + 1862 1.618794e-03 70 NA Newtest17-256 255 + 1863 1.118461e-03 71 NA Newtest17-256 255 + 1864 4.714529e-04 72 NA Newtest17-256 255 + 1865 1.579417e-03 73 NA Newtest17-256 255 + 1866 1.446228e-03 74 NA Newtest17-256 255 + 1867 1.937028e-03 75 NA Newtest17-256 255 + 1868 8.067657e-04 76 NA Newtest17-256 255 + 1869 8.821810e-04 77 NA Newtest17-256 255 + 1870 4.220589e-04 78 NA Newtest17-256 255 + 1871 2.340546e-03 79 NA Newtest17-256 255 + 1872 5.912346e-04 80 NA Newtest17-256 255 + 1873 1.073292e-03 81 NA Newtest17-256 255 + 1874 2.072962e-03 82 NA Newtest17-256 255 + 1875 2.195695e-03 83 NA Newtest17-256 255 + 1876 3.781362e-04 84 NA Newtest17-256 255 + 1877 9.849263e-04 85 NA Newtest17-256 255 + 1878 1.000176e-03 86 NA Newtest17-256 255 + 1879 9.723708e-04 87 NA Newtest17-256 255 + 1880 7.530319e-04 88 NA Newtest17-256 255 + 1881 1.576878e-03 89 NA Newtest17-256 255 + 1882 1.072720e-03 90 NA Newtest17-256 255 + 1883 2.076781e-03 91 NA Newtest17-256 255 + 1884 1.611890e-03 92 NA Newtest17-256 255 + 1885 2.154063e-03 93 NA Newtest17-256 255 + 1886 5.456892e-03 94 NA Newtest17-256 255 + 1887 1.329692e-03 95 NA Newtest17-256 255 + 1888 5.804970e-04 96 NA Newtest17-256 255 + 1889 1.140527e-03 97 NA Newtest17-256 255 + 1890 7.822467e-04 98 NA Newtest17-256 255 + 1891 1.594703e-03 99 NA Newtest17-256 255 + 1892 6.536055e-03 100 NA Newtest17-256 255 + 1893 1.359657e-03 101 NA Newtest17-256 255 + 1894 4.600184e-04 102 NA Newtest17-256 255 + 1895 1.642895e-03 103 NA Newtest17-256 255 + 1896 5.350725e-04 104 NA Newtest17-256 255 + 1897 1.526167e-03 105 NA Newtest17-256 255 + 1898 5.576203e-03 106 NA Newtest17-256 255 + 1899 1.841516e-03 107 NA Newtest17-256 255 + 1900 3.886344e-04 108 NA Newtest17-256 255 + 1901 6.684842e-04 109 NA Newtest17-256 255 + 1902 6.701083e-04 110 NA Newtest17-256 255 + 1903 2.663751e-04 111 NA Newtest17-256 255 + 1904 1.122537e-03 112 NA Newtest17-256 255 + 1905 4.785672e-04 113 NA Newtest17-256 255 + 1906 1.255472e-03 114 NA Newtest17-256 255 + 1907 6.471255e-04 115 NA Newtest17-256 255 + 1908 1.299829e-03 116 NA Newtest17-256 255 + 1909 8.117157e-04 117 NA Newtest17-256 255 + 1910 2.258278e-03 118 NA Newtest17-256 255 + 1911 8.733097e-04 119 NA Newtest17-256 255 + 1912 7.667312e-04 120 NA Newtest17-256 255 + 1913 3.002935e-04 121 NA Newtest17-256 255 + 1914 6.607996e-04 122 NA Newtest17-256 255 + 1915 1.006194e-03 123 NA Newtest17-256 255 + 1916 7.152715e-04 124 NA Newtest17-256 255 + 1917 2.415414e-03 125 NA Newtest17-256 255 + 1918 7.331807e-04 126 NA Newtest17-256 255 + 1919 1.020256e-03 127 NA Newtest17-256 255 + 1920 1.393626e-03 128 NA Newtest17-256 255 + 1921 1.241567e+00 1 NA Newtest17-256 255 + 1922 2.050942e+02 2 NA Newtest17-256 255 + 1923 3.247761e+02 3 NA Newtest17-256 255 + 1924 1.338111e+01 4 NA Newtest17-256 255 + 1925 2.778544e-02 5 NA Newtest17-256 255 + 1926 5.268073e-02 6 NA Newtest17-256 255 + 1927 8.507100e-02 7 NA Newtest17-256 255 + 1928 3.269827e-01 8 NA Newtest17-256 255 + 1929 4.433406e-02 9 NA Newtest17-256 255 + 1930 1.507345e-02 10 NA Newtest17-256 255 + 1931 2.693180e-02 11 NA Newtest17-256 255 + 1932 1.167099e-02 12 NA Newtest17-256 255 + 1933 1.685019e-02 13 NA Newtest17-256 255 + 1934 8.992646e-03 14 NA Newtest17-256 255 + 1935 1.328073e-02 15 NA Newtest17-256 255 + 1936 1.086494e-02 16 NA Newtest17-256 255 + 1937 2.647444e-03 17 NA Newtest17-256 255 + 1938 1.419383e-02 18 NA Newtest17-256 255 + 1939 3.739049e-03 19 NA Newtest17-256 255 + 1940 4.371890e-03 20 NA Newtest17-256 255 + 1941 1.003082e-02 21 NA Newtest17-256 255 + 1942 2.897345e-03 22 NA Newtest17-256 255 + 1943 5.709725e-03 23 NA Newtest17-256 255 + 1944 5.760997e-03 24 NA Newtest17-256 255 + 1945 2.737392e-03 25 NA Newtest17-256 255 + 1946 3.406816e-03 26 NA Newtest17-256 255 + 1947 5.848169e-03 27 NA Newtest17-256 255 + 1948 2.524562e-03 28 NA Newtest17-256 255 + 1949 1.597085e-03 29 NA Newtest17-256 255 + 1950 2.291765e-03 30 NA Newtest17-256 255 + 1951 2.218929e-03 31 NA Newtest17-256 255 + 1952 3.912162e-03 32 NA Newtest17-256 255 + 1953 2.177100e-03 33 NA Newtest17-256 255 + 1954 5.869164e-03 34 NA Newtest17-256 255 + 1955 3.977647e-03 35 NA Newtest17-256 255 + 1956 3.451171e-04 36 NA Newtest17-256 255 + 1957 2.951198e-03 37 NA Newtest17-256 255 + 1958 2.361600e-03 38 NA Newtest17-256 255 + 1959 4.578155e-04 39 NA Newtest17-256 255 + 1960 5.947249e-03 40 NA Newtest17-256 255 + 1961 2.019073e-03 41 NA Newtest17-256 255 + 1962 2.225154e-03 42 NA Newtest17-256 255 + 1963 8.228598e-04 43 NA Newtest17-256 255 + 1964 2.680412e-03 44 NA Newtest17-256 255 + 1965 1.411170e-03 45 NA Newtest17-256 255 + 1966 1.784205e-03 46 NA Newtest17-256 255 + 1967 1.054304e-03 47 NA Newtest17-256 255 + 1968 8.886061e-04 48 NA Newtest17-256 255 + 1969 7.998961e-02 49 NA Newtest17-256 255 + 1970 4.065129e-01 50 NA Newtest17-256 255 + 1971 7.716586e-02 51 NA Newtest17-256 255 + 1972 2.047523e-04 52 NA Newtest17-256 255 + 1973 2.659572e-03 53 NA Newtest17-256 255 + 1974 1.884947e-03 54 NA Newtest17-256 255 + 1975 1.996799e-03 55 NA Newtest17-256 255 + 1976 1.659591e-03 56 NA Newtest17-256 255 + 1977 1.012546e-03 57 NA Newtest17-256 255 + 1978 9.123828e-04 58 NA Newtest17-256 255 + 1979 3.092338e-03 59 NA Newtest17-256 255 + 1980 1.256167e-03 60 NA Newtest17-256 255 + 1981 2.577906e-03 61 NA Newtest17-256 255 + 1982 1.519376e-03 62 NA Newtest17-256 255 + 1983 1.344999e-03 63 NA Newtest17-256 255 + 1984 1.002841e-03 64 NA Newtest17-256 255 + 1985 9.221051e-04 65 NA Newtest17-256 255 + 1986 3.882052e-03 66 NA Newtest17-256 255 + 1987 2.905737e-03 67 NA Newtest17-256 255 + 1988 1.130881e-03 68 NA Newtest17-256 255 + 1989 8.462598e-04 69 NA Newtest17-256 255 + 1990 9.880953e-04 70 NA Newtest17-256 255 + 1991 1.094935e-03 71 NA Newtest17-256 255 + 1992 2.703842e-03 72 NA Newtest17-256 255 + 1993 1.982971e-03 73 NA Newtest17-256 255 + 1994 2.558338e-03 74 NA Newtest17-256 255 + 1995 1.445474e-03 75 NA Newtest17-256 255 + 1996 3.572713e-03 76 NA Newtest17-256 255 + 1997 1.211440e-03 77 NA Newtest17-256 255 + 1998 1.524080e-03 78 NA Newtest17-256 255 + 1999 1.032046e-03 79 NA Newtest17-256 255 + 2000 6.760829e-04 80 NA Newtest17-256 255 + 2001 3.697492e-04 81 NA Newtest17-256 255 + 2002 1.048258e-03 82 NA Newtest17-256 255 + 2003 1.014259e-03 83 NA Newtest17-256 255 + 2004 1.105136e-03 84 NA Newtest17-256 255 + 2005 2.934153e-03 85 NA Newtest17-256 255 + 2006 9.287239e-05 86 NA Newtest17-256 255 + 2007 1.263032e-03 87 NA Newtest17-256 255 + 2008 9.665071e-04 88 NA Newtest17-256 255 + 2009 9.860628e-04 89 NA Newtest17-256 255 + 2010 1.609939e-03 90 NA Newtest17-256 255 + 2011 1.182724e-03 91 NA Newtest17-256 255 + 2012 1.278525e-03 92 NA Newtest17-256 255 + 2013 1.387267e-03 93 NA Newtest17-256 255 + 2014 2.641044e-03 94 NA Newtest17-256 255 + 2015 1.631186e-03 95 NA Newtest17-256 255 + 2016 2.596053e-04 96 NA Newtest17-256 255 + 2017 1.141929e-03 97 NA Newtest17-256 255 + 2018 1.945963e-04 98 NA Newtest17-256 255 + 2019 1.643110e-03 99 NA Newtest17-256 255 + 2020 5.007262e-03 100 NA Newtest17-256 255 + 2021 2.306179e-03 101 NA Newtest17-256 255 + 2022 1.147520e-03 102 NA Newtest17-256 255 + 2023 4.541384e-04 103 NA Newtest17-256 255 + 2024 9.026051e-05 104 NA Newtest17-256 255 + 2025 2.862361e-03 105 NA Newtest17-256 255 + 2026 5.762928e-03 106 NA Newtest17-256 255 + 2027 7.271502e-04 107 NA Newtest17-256 255 + 2028 1.212935e-03 108 NA Newtest17-256 255 + 2029 1.637701e-03 109 NA Newtest17-256 255 + 2030 1.067841e-03 110 NA Newtest17-256 255 + 2031 3.511825e-04 111 NA Newtest17-256 255 + 2032 7.372974e-04 112 NA Newtest17-256 255 + 2033 6.262248e-04 113 NA Newtest17-256 255 + 2034 9.874878e-04 114 NA Newtest17-256 255 + 2035 9.062580e-04 115 NA Newtest17-256 255 + 2036 3.053765e-04 116 NA Newtest17-256 255 + 2037 1.070814e-03 117 NA Newtest17-256 255 + 2038 1.890182e-03 118 NA Newtest17-256 255 + 2039 1.391726e-03 119 NA Newtest17-256 255 + 2040 1.149257e-03 120 NA Newtest17-256 255 + 2041 4.494345e-04 121 NA Newtest17-256 255 + 2042 8.657329e-04 122 NA Newtest17-256 255 + 2043 1.015221e-03 123 NA Newtest17-256 255 + 2044 8.175141e-04 124 NA Newtest17-256 255 + 2045 6.036630e-04 125 NA Newtest17-256 255 + 2046 1.232063e-03 126 NA Newtest17-256 255 + 2047 1.891685e-03 127 NA Newtest17-256 255 + 2048 5.236206e-04 128 NA Newtest17-256 255 + 2049 1.401704e+00 1 NA Newtest17-256 255 + 2050 2.069738e+02 2 NA Newtest17-256 255 + 2051 3.259441e+02 3 NA Newtest17-256 255 + 2052 1.346092e+01 4 NA Newtest17-256 255 + 2053 6.217866e-02 5 NA Newtest17-256 255 + 2054 1.973195e-02 6 NA Newtest17-256 255 + 2055 6.998704e-02 7 NA Newtest17-256 255 + 2056 3.115705e-01 8 NA Newtest17-256 255 + 2057 4.121923e-02 9 NA Newtest17-256 255 + 2058 3.818926e-02 10 NA Newtest17-256 255 + 2059 7.357813e-03 11 NA Newtest17-256 255 + 2060 1.588243e-02 12 NA Newtest17-256 255 + 2061 1.020815e-02 13 NA Newtest17-256 255 + 2062 1.088671e-02 14 NA Newtest17-256 255 + 2063 9.431898e-03 15 NA Newtest17-256 255 + 2064 8.576064e-03 16 NA Newtest17-256 255 + 2065 5.758167e-03 17 NA Newtest17-256 255 + 2066 3.736283e-03 18 NA Newtest17-256 255 + 2067 1.281205e-02 19 NA Newtest17-256 255 + 2068 4.249997e-03 20 NA Newtest17-256 255 + 2069 8.583198e-03 21 NA Newtest17-256 255 + 2070 1.815490e-03 22 NA Newtest17-256 255 + 2071 5.494963e-03 23 NA Newtest17-256 255 + 2072 5.143253e-03 24 NA Newtest17-256 255 + 2073 5.180874e-03 25 NA Newtest17-256 255 + 2074 3.113763e-03 26 NA Newtest17-256 255 + 2075 4.636541e-03 27 NA Newtest17-256 255 + 2076 4.028145e-03 28 NA Newtest17-256 255 + 2077 2.693990e-03 29 NA Newtest17-256 255 + 2078 2.991623e-03 30 NA Newtest17-256 255 + 2079 2.491047e-03 31 NA Newtest17-256 255 + 2080 1.391197e-03 32 NA Newtest17-256 255 + 2081 2.294056e-03 33 NA Newtest17-256 255 + 2082 3.025349e-03 34 NA Newtest17-256 255 + 2083 1.368268e-03 35 NA Newtest17-256 255 + 2084 2.227837e-03 36 NA Newtest17-256 255 + 2085 1.105203e-03 37 NA Newtest17-256 255 + 2086 1.439460e-03 38 NA Newtest17-256 255 + 2087 2.604016e-03 39 NA Newtest17-256 255 + 2088 2.013389e-03 40 NA Newtest17-256 255 + 2089 5.124908e-03 41 NA Newtest17-256 255 + 2090 1.907816e-03 42 NA Newtest17-256 255 + 2091 2.957911e-03 43 NA Newtest17-256 255 + 2092 1.875905e-03 44 NA Newtest17-256 255 + 2093 1.729276e-03 45 NA Newtest17-256 255 + 2094 2.370936e-03 46 NA Newtest17-256 255 + 2095 1.690095e-03 47 NA Newtest17-256 255 + 2096 8.879916e-04 48 NA Newtest17-256 255 + 2097 6.649027e-02 49 NA Newtest17-256 255 + 2098 3.835315e-01 50 NA Newtest17-256 255 + 2099 7.146155e-02 51 NA Newtest17-256 255 + 2100 6.382435e-04 52 NA Newtest17-256 255 + 2101 2.842362e-03 53 NA Newtest17-256 255 + 2102 1.192790e-03 54 NA Newtest17-256 255 + 2103 1.689853e-03 55 NA Newtest17-256 255 + 2104 1.247542e-03 56 NA Newtest17-256 255 + 2105 2.083822e-03 57 NA Newtest17-256 255 + 2106 2.437061e-03 58 NA Newtest17-256 255 + 2107 1.547631e-03 59 NA Newtest17-256 255 + 2108 1.287990e-03 60 NA Newtest17-256 255 + 2109 9.861423e-04 61 NA Newtest17-256 255 + 2110 1.480112e-03 62 NA Newtest17-256 255 + 2111 1.094925e-03 63 NA Newtest17-256 255 + 2112 1.368743e-03 64 NA Newtest17-256 255 + 2113 7.305573e-04 65 NA Newtest17-256 255 + 2114 1.193612e-03 66 NA Newtest17-256 255 + 2115 9.655729e-04 67 NA Newtest17-256 255 + 2116 1.056297e-03 68 NA Newtest17-256 255 + 2117 2.171634e-03 69 NA Newtest17-256 255 + 2118 7.095390e-04 70 NA Newtest17-256 255 + 2119 1.934452e-03 71 NA Newtest17-256 255 + 2120 1.486825e-03 72 NA Newtest17-256 255 + 2121 8.477955e-04 73 NA Newtest17-256 255 + 2122 3.864464e-04 74 NA Newtest17-256 255 + 2123 1.292547e-03 75 NA Newtest17-256 255 + 2124 6.708535e-04 76 NA Newtest17-256 255 + 2125 1.661250e-03 77 NA Newtest17-256 255 + 2126 8.245698e-04 78 NA Newtest17-256 255 + 2127 1.405228e-03 79 NA Newtest17-256 255 + 2128 2.907389e-04 80 NA Newtest17-256 255 + 2129 1.253750e-03 81 NA Newtest17-256 255 + 2130 2.727815e-03 82 NA Newtest17-256 255 + 2131 1.234282e-03 83 NA Newtest17-256 255 + 2132 1.330805e-03 84 NA Newtest17-256 255 + 2133 1.762919e-03 85 NA Newtest17-256 255 + 2134 1.652869e-03 86 NA Newtest17-256 255 + 2135 1.298790e-03 87 NA Newtest17-256 255 + 2136 4.174103e-04 88 NA Newtest17-256 255 + 2137 6.646823e-04 89 NA Newtest17-256 255 + 2138 1.059797e-03 90 NA Newtest17-256 255 + 2139 8.001494e-04 91 NA Newtest17-256 255 + 2140 2.815840e-03 92 NA Newtest17-256 255 + 2141 2.029728e-03 93 NA Newtest17-256 255 + 2142 5.531014e-03 94 NA Newtest17-256 255 + 2143 8.651354e-04 95 NA Newtest17-256 255 + 2144 1.303195e-03 96 NA Newtest17-256 255 + 2145 7.068595e-04 97 NA Newtest17-256 255 + 2146 4.393481e-04 98 NA Newtest17-256 255 + 2147 2.736022e-03 99 NA Newtest17-256 255 + 2148 7.735093e-03 100 NA Newtest17-256 255 + 2149 1.291537e-03 101 NA Newtest17-256 255 + 2150 1.371966e-03 102 NA Newtest17-256 255 + 2151 1.918226e-03 103 NA Newtest17-256 255 + 2152 8.848270e-04 104 NA Newtest17-256 255 + 2153 2.065777e-03 105 NA Newtest17-256 255 + 2154 6.991697e-03 106 NA Newtest17-256 255 + 2155 2.020772e-03 107 NA Newtest17-256 255 + 2156 1.778555e-03 108 NA Newtest17-256 255 + 2157 8.493523e-04 109 NA Newtest17-256 255 + 2158 8.033693e-04 110 NA Newtest17-256 255 + 2159 2.914602e-04 111 NA Newtest17-256 255 + 2160 1.368818e-03 112 NA Newtest17-256 255 + 2161 4.240845e-04 113 NA Newtest17-256 255 + 2162 1.312867e-03 114 NA Newtest17-256 255 + 2163 5.986743e-04 115 NA Newtest17-256 255 + 2164 2.088691e-03 116 NA Newtest17-256 255 + 2165 1.303077e-03 117 NA Newtest17-256 255 + 2166 1.237838e-03 118 NA Newtest17-256 255 + 2167 3.523500e-04 119 NA Newtest17-256 255 + 2168 1.615474e-03 120 NA Newtest17-256 255 + 2169 1.002091e-03 121 NA Newtest17-256 255 + 2170 2.489864e-03 122 NA Newtest17-256 255 + 2171 3.799253e-04 123 NA Newtest17-256 255 + 2172 1.755227e-03 124 NA Newtest17-256 255 + 2173 2.420741e-04 125 NA Newtest17-256 255 + 2174 1.349476e-03 126 NA Newtest17-256 255 + 2175 7.593321e-04 127 NA Newtest17-256 255 + 2176 1.393827e-03 128 NA Newtest17-256 255 + 2177 1.403707e+00 1 NA Newtest17-256 255 + 2178 2.064482e+02 2 NA Newtest17-256 255 + 2179 3.253674e+02 3 NA Newtest17-256 255 + 2180 1.335916e+01 4 NA Newtest17-256 255 + 2181 2.896202e-02 5 NA Newtest17-256 255 + 2182 4.495745e-02 6 NA Newtest17-256 255 + 2183 8.334990e-02 7 NA Newtest17-256 255 + 2184 3.451976e-01 8 NA Newtest17-256 255 + 2185 6.010982e-02 9 NA Newtest17-256 255 + 2186 1.443188e-02 10 NA Newtest17-256 255 + 2187 2.609662e-02 11 NA Newtest17-256 255 + 2188 9.857557e-03 12 NA Newtest17-256 255 + 2189 1.520313e-02 13 NA Newtest17-256 255 + 2190 1.256082e-02 14 NA Newtest17-256 255 + 2191 7.762575e-03 15 NA Newtest17-256 255 + 2192 9.175385e-03 16 NA Newtest17-256 255 + 2193 3.606042e-03 17 NA Newtest17-256 255 + 2194 1.133023e-02 18 NA Newtest17-256 255 + 2195 3.653700e-03 19 NA Newtest17-256 255 + 2196 5.663760e-03 20 NA Newtest17-256 255 + 2197 4.527586e-03 21 NA Newtest17-256 255 + 2198 9.899805e-03 22 NA Newtest17-256 255 + 2199 5.899772e-03 23 NA Newtest17-256 255 + 2200 1.131493e-03 24 NA Newtest17-256 255 + 2201 5.468386e-03 25 NA Newtest17-256 255 + 2202 1.048547e-03 26 NA Newtest17-256 255 + 2203 3.827364e-03 27 NA Newtest17-256 255 + 2204 3.987727e-03 28 NA Newtest17-256 255 + 2205 3.182118e-03 29 NA Newtest17-256 255 + 2206 1.971574e-03 30 NA Newtest17-256 255 + 2207 3.786371e-03 31 NA Newtest17-256 255 + 2208 1.820253e-03 32 NA Newtest17-256 255 + 2209 5.329991e-03 33 NA Newtest17-256 255 + 2210 2.909425e-03 34 NA Newtest17-256 255 + 2211 1.620100e-03 35 NA Newtest17-256 255 + 2212 2.085357e-03 36 NA Newtest17-256 255 + 2213 1.514847e-03 37 NA Newtest17-256 255 + 2214 2.286567e-03 38 NA Newtest17-256 255 + 2215 2.826819e-03 39 NA Newtest17-256 255 + 2216 6.905629e-03 40 NA Newtest17-256 255 + 2217 1.656972e-03 41 NA Newtest17-256 255 + 2218 1.670170e-03 42 NA Newtest17-256 255 + 2219 2.707113e-03 43 NA Newtest17-256 255 + 2220 3.977799e-03 44 NA Newtest17-256 255 + 2221 1.083949e-03 45 NA Newtest17-256 255 + 2222 1.899508e-03 46 NA Newtest17-256 255 + 2223 1.337390e-03 47 NA Newtest17-256 255 + 2224 1.623009e-03 48 NA Newtest17-256 255 + 2225 7.236327e-02 49 NA Newtest17-256 255 + 2226 3.822854e-01 50 NA Newtest17-256 255 + 2227 7.586680e-02 51 NA Newtest17-256 255 + 2228 1.305426e-03 52 NA Newtest17-256 255 + 2229 2.583826e-03 53 NA Newtest17-256 255 + 2230 1.861860e-03 54 NA Newtest17-256 255 + 2231 9.929642e-04 55 NA Newtest17-256 255 + 2232 1.244467e-03 56 NA Newtest17-256 255 + 2233 1.342638e-03 57 NA Newtest17-256 255 + 2234 6.145285e-04 58 NA Newtest17-256 255 + 2235 9.674107e-04 59 NA Newtest17-256 255 + 2236 1.545555e-03 60 NA Newtest17-256 255 + 2237 1.637584e-03 61 NA Newtest17-256 255 + 2238 9.699515e-04 62 NA Newtest17-256 255 + 2239 1.205579e-03 63 NA Newtest17-256 255 + 2240 1.527677e-03 64 NA Newtest17-256 255 + 2241 1.508419e-03 65 NA Newtest17-256 255 + 2242 1.692705e-03 66 NA Newtest17-256 255 + 2243 6.523940e-04 67 NA Newtest17-256 255 + 2244 2.461181e-03 68 NA Newtest17-256 255 + 2245 5.932695e-04 69 NA Newtest17-256 255 + 2246 5.851446e-04 70 NA Newtest17-256 255 + 2247 8.459095e-04 71 NA Newtest17-256 255 + 2248 1.579220e-03 72 NA Newtest17-256 255 + 2249 8.877855e-04 73 NA Newtest17-256 255 + 2250 9.817460e-04 74 NA Newtest17-256 255 + 2251 7.237876e-04 75 NA Newtest17-256 255 + 2252 1.950841e-03 76 NA Newtest17-256 255 + 2253 1.207818e-04 77 NA Newtest17-256 255 + 2254 2.246020e-03 78 NA Newtest17-256 255 + 2255 1.205621e-03 79 NA Newtest17-256 255 + 2256 1.519680e-03 80 NA Newtest17-256 255 + 2257 1.178538e-03 81 NA Newtest17-256 255 + 2258 1.460967e-03 82 NA Newtest17-256 255 + 2259 7.873145e-04 83 NA Newtest17-256 255 + 2260 2.586018e-03 84 NA Newtest17-256 255 + 2261 8.404562e-04 85 NA Newtest17-256 255 + 2262 8.884661e-04 86 NA Newtest17-256 255 + 2263 5.555756e-04 87 NA Newtest17-256 255 + 2264 9.085684e-04 88 NA Newtest17-256 255 + 2265 1.959286e-03 89 NA Newtest17-256 255 + 2266 4.868444e-04 90 NA Newtest17-256 255 + 2267 1.436318e-03 91 NA Newtest17-256 255 + 2268 8.421516e-04 92 NA Newtest17-256 255 + 2269 4.200650e-04 93 NA Newtest17-256 255 + 2270 2.863689e-03 94 NA Newtest17-256 255 + 2271 7.200983e-04 95 NA Newtest17-256 255 + 2272 1.255452e-03 96 NA Newtest17-256 255 + 2273 7.645045e-04 97 NA Newtest17-256 255 + 2274 3.842542e-04 98 NA Newtest17-256 255 + 2275 2.178092e-03 99 NA Newtest17-256 255 + 2276 6.536917e-03 100 NA Newtest17-256 255 + 2277 1.500683e-03 101 NA Newtest17-256 255 + 2278 2.473692e-03 102 NA Newtest17-256 255 + 2279 1.733215e-03 103 NA Newtest17-256 255 + 2280 1.691121e-03 104 NA Newtest17-256 255 + 2281 2.879293e-03 105 NA Newtest17-256 255 + 2282 7.905174e-03 106 NA Newtest17-256 255 + 2283 2.873729e-03 107 NA Newtest17-256 255 + 2284 1.101177e-03 108 NA Newtest17-256 255 + 2285 4.275956e-04 109 NA Newtest17-256 255 + 2286 1.397256e-03 110 NA Newtest17-256 255 + 2287 1.216738e-03 111 NA Newtest17-256 255 + 2288 9.136693e-04 112 NA Newtest17-256 255 + 2289 7.373876e-04 113 NA Newtest17-256 255 + 2290 5.327214e-04 114 NA Newtest17-256 255 + 2291 8.157113e-04 115 NA Newtest17-256 255 + 2292 2.832942e-03 116 NA Newtest17-256 255 + 2293 9.381531e-04 117 NA Newtest17-256 255 + 2294 1.003260e-03 118 NA Newtest17-256 255 + 2295 7.760964e-04 119 NA Newtest17-256 255 + 2296 1.029237e-03 120 NA Newtest17-256 255 + 2297 3.749251e-04 121 NA Newtest17-256 255 + 2298 9.026285e-04 122 NA Newtest17-256 255 + 2299 2.266531e-04 123 NA Newtest17-256 255 + 2300 1.887731e-03 124 NA Newtest17-256 255 + 2301 1.163847e-03 125 NA Newtest17-256 255 + 2302 5.735700e-04 126 NA Newtest17-256 255 + 2303 8.884204e-04 127 NA Newtest17-256 255 + 2304 3.252808e-04 128 NA Newtest17-256 255 + 2305 1.272216e+00 1 NA Newtest17-256 255 + 2306 2.079817e+02 2 NA Newtest17-256 255 + 2307 3.257347e+02 3 NA Newtest17-256 255 + 2308 1.342858e+01 4 NA Newtest17-256 255 + 2309 2.256245e-02 5 NA Newtest17-256 255 + 2310 5.477183e-02 6 NA Newtest17-256 255 + 2311 1.080409e-01 7 NA Newtest17-256 255 + 2312 3.141214e-01 8 NA Newtest17-256 255 + 2313 6.382217e-02 9 NA Newtest17-256 255 + 2314 1.267980e-02 10 NA Newtest17-256 255 + 2315 1.825614e-02 11 NA Newtest17-256 255 + 2316 1.596881e-02 12 NA Newtest17-256 255 + 2317 7.983002e-03 13 NA Newtest17-256 255 + 2318 9.722816e-03 14 NA Newtest17-256 255 + 2319 1.145509e-02 15 NA Newtest17-256 255 + 2320 4.592031e-03 16 NA Newtest17-256 255 + 2321 7.591150e-03 17 NA Newtest17-256 255 + 2322 3.457900e-03 18 NA Newtest17-256 255 + 2323 9.402582e-03 19 NA Newtest17-256 255 + 2324 9.740015e-03 20 NA Newtest17-256 255 + 2325 2.440535e-03 21 NA Newtest17-256 255 + 2326 2.549990e-03 22 NA Newtest17-256 255 + 2327 6.375093e-03 23 NA Newtest17-256 255 + 2328 2.261540e-03 24 NA Newtest17-256 255 + 2329 7.247183e-03 25 NA Newtest17-256 255 + 2330 2.040037e-03 26 NA Newtest17-256 255 + 2331 4.147879e-03 27 NA Newtest17-256 255 + 2332 6.795243e-04 28 NA Newtest17-256 255 + 2333 5.351544e-03 29 NA Newtest17-256 255 + 2334 2.656434e-03 30 NA Newtest17-256 255 + 2335 1.419354e-03 31 NA Newtest17-256 255 + 2336 1.959527e-03 32 NA Newtest17-256 255 + 2337 3.385067e-03 33 NA Newtest17-256 255 + 2338 2.402431e-03 34 NA Newtest17-256 255 + 2339 1.002636e-03 35 NA Newtest17-256 255 + 2340 3.035684e-03 36 NA Newtest17-256 255 + 2341 1.909776e-03 37 NA Newtest17-256 255 + 2342 2.255851e-03 38 NA Newtest17-256 255 + 2343 3.272035e-03 39 NA Newtest17-256 255 + 2344 5.456753e-03 40 NA Newtest17-256 255 + 2345 9.099992e-04 41 NA Newtest17-256 255 + 2346 2.100378e-03 42 NA Newtest17-256 255 + 2347 1.088596e-03 43 NA Newtest17-256 255 + 2348 1.318480e-03 44 NA Newtest17-256 255 + 2349 1.887026e-03 45 NA Newtest17-256 255 + 2350 1.801563e-03 46 NA Newtest17-256 255 + 2351 9.289716e-04 47 NA Newtest17-256 255 + 2352 1.949339e-03 48 NA Newtest17-256 255 + 2353 6.986482e-02 49 NA Newtest17-256 255 + 2354 4.011282e-01 50 NA Newtest17-256 255 + 2355 7.373602e-02 51 NA Newtest17-256 255 + 2356 8.312199e-04 52 NA Newtest17-256 255 + 2357 3.388016e-03 53 NA Newtest17-256 255 + 2358 6.461002e-04 54 NA Newtest17-256 255 + 2359 1.536473e-03 55 NA Newtest17-256 255 + 2360 2.177092e-03 56 NA Newtest17-256 255 + 2361 4.244232e-03 57 NA Newtest17-256 255 + 2362 1.389015e-03 58 NA Newtest17-256 255 + 2363 2.426257e-03 59 NA Newtest17-256 255 + 2364 7.974797e-04 60 NA Newtest17-256 255 + 2365 2.712884e-03 61 NA Newtest17-256 255 + 2366 6.019793e-04 62 NA Newtest17-256 255 + 2367 9.501156e-04 63 NA Newtest17-256 255 + 2368 1.555135e-03 64 NA Newtest17-256 255 + 2369 6.235161e-04 65 NA Newtest17-256 255 + 2370 2.676348e-03 66 NA Newtest17-256 255 + 2371 6.265089e-04 67 NA Newtest17-256 255 + 2372 5.217317e-04 68 NA Newtest17-256 255 + 2373 1.256292e-03 69 NA Newtest17-256 255 + 2374 2.502052e-03 70 NA Newtest17-256 255 + 2375 1.846564e-03 71 NA Newtest17-256 255 + 2376 2.079138e-03 72 NA Newtest17-256 255 + 2377 1.380372e-03 73 NA Newtest17-256 255 + 2378 6.155010e-04 74 NA Newtest17-256 255 + 2379 2.020450e-03 75 NA Newtest17-256 255 + 2380 6.506840e-04 76 NA Newtest17-256 255 + 2381 7.414739e-04 77 NA Newtest17-256 255 + 2382 9.741674e-04 78 NA Newtest17-256 255 + 2383 1.335568e-03 79 NA Newtest17-256 255 + 2384 1.108333e-03 80 NA Newtest17-256 255 + 2385 6.371536e-04 81 NA Newtest17-256 255 + 2386 1.712908e-03 82 NA Newtest17-256 255 + 2387 1.574700e-03 83 NA Newtest17-256 255 + 2388 2.099621e-03 84 NA Newtest17-256 255 + 2389 4.546718e-04 85 NA Newtest17-256 255 + 2390 1.394304e-03 86 NA Newtest17-256 255 + 2391 9.898539e-04 87 NA Newtest17-256 255 + 2392 1.899215e-03 88 NA Newtest17-256 255 + 2393 2.993897e-04 89 NA Newtest17-256 255 + 2394 1.318476e-03 90 NA Newtest17-256 255 + 2395 7.360216e-04 91 NA Newtest17-256 255 + 2396 8.057331e-04 92 NA Newtest17-256 255 + 2397 1.929846e-03 93 NA Newtest17-256 255 + 2398 6.177321e-03 94 NA Newtest17-256 255 + 2399 1.477845e-03 95 NA Newtest17-256 255 + 2400 6.813101e-04 96 NA Newtest17-256 255 + 2401 9.336418e-04 97 NA Newtest17-256 255 + 2402 2.856599e-04 98 NA Newtest17-256 255 + 2403 2.207994e-03 99 NA Newtest17-256 255 + 2404 9.244856e-03 100 NA Newtest17-256 255 + 2405 2.029329e-03 101 NA Newtest17-256 255 + 2406 7.116148e-04 102 NA Newtest17-256 255 + 2407 1.219407e-03 103 NA Newtest17-256 255 + 2408 1.217205e-03 104 NA Newtest17-256 255 + 2409 1.021367e-03 105 NA Newtest17-256 255 + 2410 5.613982e-03 106 NA Newtest17-256 255 + 2411 2.136387e-03 107 NA Newtest17-256 255 + 2412 1.250375e-04 108 NA Newtest17-256 255 + 2413 7.391887e-04 109 NA Newtest17-256 255 + 2414 4.162673e-04 110 NA Newtest17-256 255 + 2415 7.730705e-04 111 NA Newtest17-256 255 + 2416 8.062100e-04 112 NA Newtest17-256 255 + 2417 4.201166e-04 113 NA Newtest17-256 255 + 2418 5.252707e-04 114 NA Newtest17-256 255 + 2419 1.823446e-03 115 NA Newtest17-256 255 + 2420 1.088271e-03 116 NA Newtest17-256 255 + 2421 1.231742e-03 117 NA Newtest17-256 255 + 2422 2.470950e-03 118 NA Newtest17-256 255 + 2423 1.413180e-03 119 NA Newtest17-256 255 + 2424 1.125269e-03 120 NA Newtest17-256 255 + 2425 5.678317e-04 121 NA Newtest17-256 255 + 2426 1.590602e-03 122 NA Newtest17-256 255 + 2427 5.039609e-04 123 NA Newtest17-256 255 + 2428 1.349435e-03 124 NA Newtest17-256 255 + 2429 2.458687e-03 125 NA Newtest17-256 255 + 2430 1.258564e-03 126 NA Newtest17-256 255 + 2431 1.174316e-03 127 NA Newtest17-256 255 + 2432 1.988407e-03 128 NA Newtest17-256 255 + 2433 1.335103e+00 1 NA Newtest17-256 255 + 2434 2.057639e+02 2 NA Newtest17-256 255 + 2435 3.258213e+02 3 NA Newtest17-256 255 + 2436 1.322344e+01 4 NA Newtest17-256 255 + 2437 2.349555e-02 5 NA Newtest17-256 255 + 2438 5.348466e-02 6 NA Newtest17-256 255 + 2439 8.766721e-02 7 NA Newtest17-256 255 + 2440 3.211762e-01 8 NA Newtest17-256 255 + 2441 5.798002e-02 9 NA Newtest17-256 255 + 2442 8.725735e-03 10 NA Newtest17-256 255 + 2443 2.719319e-02 11 NA Newtest17-256 255 + 2444 9.611189e-03 12 NA Newtest17-256 255 + 2445 2.480221e-02 13 NA Newtest17-256 255 + 2446 1.160168e-02 14 NA Newtest17-256 255 + 2447 5.415033e-03 15 NA Newtest17-256 255 + 2448 9.348793e-03 16 NA Newtest17-256 255 + 2449 6.110100e-03 17 NA Newtest17-256 255 + 2450 6.284477e-03 18 NA Newtest17-256 255 + 2451 1.113802e-02 19 NA Newtest17-256 255 + 2452 4.573585e-03 20 NA Newtest17-256 255 + 2453 3.204381e-03 21 NA Newtest17-256 255 + 2454 4.160760e-03 22 NA Newtest17-256 255 + 2455 4.758000e-03 23 NA Newtest17-256 255 + 2456 2.341681e-03 24 NA Newtest17-256 255 + 2457 2.911816e-03 25 NA Newtest17-256 255 + 2458 1.555744e-03 26 NA Newtest17-256 255 + 2459 8.364334e-03 27 NA Newtest17-256 255 + 2460 1.302338e-03 28 NA Newtest17-256 255 + 2461 3.191113e-03 29 NA Newtest17-256 255 + 2462 1.492761e-03 30 NA Newtest17-256 255 + 2463 5.306266e-03 31 NA Newtest17-256 255 + 2464 1.400895e-03 32 NA Newtest17-256 255 + 2465 2.718334e-03 33 NA Newtest17-256 255 + 2466 5.641336e-03 34 NA Newtest17-256 255 + 2467 2.238370e-03 35 NA Newtest17-256 255 + 2468 1.709896e-03 36 NA Newtest17-256 255 + 2469 8.722732e-04 37 NA Newtest17-256 255 + 2470 2.129315e-03 38 NA Newtest17-256 255 + 2471 1.807071e-03 39 NA Newtest17-256 255 + 2472 4.955691e-03 40 NA Newtest17-256 255 + 2473 1.399074e-03 41 NA Newtest17-256 255 + 2474 5.344054e-03 42 NA Newtest17-256 255 + 2475 1.931047e-03 43 NA Newtest17-256 255 + 2476 7.083096e-04 44 NA Newtest17-256 255 + 2477 4.632447e-03 45 NA Newtest17-256 255 + 2478 2.447970e-03 46 NA Newtest17-256 255 + 2479 1.861167e-03 47 NA Newtest17-256 255 + 2480 1.651101e-03 48 NA Newtest17-256 255 + 2481 7.385430e-02 49 NA Newtest17-256 255 + 2482 4.032344e-01 50 NA Newtest17-256 255 + 2483 8.115680e-02 51 NA Newtest17-256 255 + 2484 1.685048e-03 52 NA Newtest17-256 255 + 2485 3.561538e-03 53 NA Newtest17-256 255 + 2486 1.298369e-03 54 NA Newtest17-256 255 + 2487 1.960630e-03 55 NA Newtest17-256 255 + 2488 3.565982e-03 56 NA Newtest17-256 255 + 2489 4.917891e-04 57 NA Newtest17-256 255 + 2490 2.964440e-03 58 NA Newtest17-256 255 + 2491 1.323291e-03 59 NA Newtest17-256 255 + 2492 1.446914e-03 60 NA Newtest17-256 255 + 2493 8.858871e-04 61 NA Newtest17-256 255 + 2494 1.760634e-03 62 NA Newtest17-256 255 + 2495 1.117303e-03 63 NA Newtest17-256 255 + 2496 7.715631e-04 64 NA Newtest17-256 255 + 2497 1.189848e-03 65 NA Newtest17-256 255 + 2498 1.245783e-03 66 NA Newtest17-256 255 + 2499 1.036376e-03 67 NA Newtest17-256 255 + 2500 4.233965e-04 68 NA Newtest17-256 255 + 2501 1.805661e-03 69 NA Newtest17-256 255 + 2502 2.289875e-03 70 NA Newtest17-256 255 + 2503 1.471409e-03 71 NA Newtest17-256 255 + 2504 1.730974e-03 72 NA Newtest17-256 255 + 2505 5.604383e-04 73 NA Newtest17-256 255 + 2506 2.137517e-03 74 NA Newtest17-256 255 + 2507 6.967446e-04 75 NA Newtest17-256 255 + 2508 9.629792e-04 76 NA Newtest17-256 255 + 2509 1.763942e-03 77 NA Newtest17-256 255 + 2510 1.213139e-03 78 NA Newtest17-256 255 + 2511 1.015552e-03 79 NA Newtest17-256 255 + 2512 1.684871e-03 80 NA Newtest17-256 255 + 2513 3.781208e-04 81 NA Newtest17-256 255 + 2514 1.053643e-03 82 NA Newtest17-256 255 + 2515 7.807947e-04 83 NA Newtest17-256 255 + 2516 6.463881e-04 84 NA Newtest17-256 255 + 2517 1.870323e-03 85 NA Newtest17-256 255 + 2518 4.375774e-04 86 NA Newtest17-256 255 + 2519 9.383232e-04 87 NA Newtest17-256 255 + 2520 1.018639e-03 88 NA Newtest17-256 255 + 2521 1.449423e-03 89 NA Newtest17-256 255 + 2522 9.316975e-04 90 NA Newtest17-256 255 + 2523 5.256711e-04 91 NA Newtest17-256 255 + 2524 1.782679e-03 92 NA Newtest17-256 255 + 2525 2.368711e-03 93 NA Newtest17-256 255 + 2526 7.166013e-03 94 NA Newtest17-256 255 + 2527 1.594144e-03 95 NA Newtest17-256 255 + 2528 1.542564e-03 96 NA Newtest17-256 255 + 2529 1.432668e-03 97 NA Newtest17-256 255 + 2530 9.872080e-04 98 NA Newtest17-256 255 + 2531 3.174777e-03 99 NA Newtest17-256 255 + 2532 8.715426e-03 100 NA Newtest17-256 255 + 2533 3.292447e-03 101 NA Newtest17-256 255 + 2534 2.323567e-03 102 NA Newtest17-256 255 + 2535 1.027984e-03 103 NA Newtest17-256 255 + 2536 2.077878e-03 104 NA Newtest17-256 255 + 2537 2.244033e-03 105 NA Newtest17-256 255 + 2538 6.977833e-03 106 NA Newtest17-256 255 + 2539 7.905144e-04 107 NA Newtest17-256 255 + 2540 4.450576e-04 108 NA Newtest17-256 255 + 2541 2.219372e-03 109 NA Newtest17-256 255 + 2542 2.967385e-04 110 NA Newtest17-256 255 + 2543 2.095829e-03 111 NA Newtest17-256 255 + 2544 9.046167e-04 112 NA Newtest17-256 255 + 2545 5.245881e-04 113 NA Newtest17-256 255 + 2546 2.695106e-04 114 NA Newtest17-256 255 + 2547 1.454458e-03 115 NA Newtest17-256 255 + 2548 2.447164e-04 116 NA Newtest17-256 255 + 2549 5.940039e-04 117 NA Newtest17-256 255 + 2550 9.490075e-04 118 NA Newtest17-256 255 + 2551 1.031225e-03 119 NA Newtest17-256 255 + 2552 4.768922e-04 120 NA Newtest17-256 255 + 2553 1.945491e-03 121 NA Newtest17-256 255 + 2554 3.125630e-04 122 NA Newtest17-256 255 + 2555 1.457652e-03 123 NA Newtest17-256 255 + 2556 6.169634e-04 124 NA Newtest17-256 255 + 2557 1.632530e-03 125 NA Newtest17-256 255 + 2558 5.767827e-04 126 NA Newtest17-256 255 + 2559 2.943542e-03 127 NA Newtest17-256 255 + 2560 4.690176e-04 128 NA Newtest17-256 255 + 2561 1.486209e+00 1 NA Newtest17-256 255 + 2562 2.062684e+02 2 NA Newtest17-256 255 + 2563 3.237461e+02 3 NA Newtest17-256 255 + 2564 1.301145e+01 4 NA Newtest17-256 255 + 2565 8.073968e-02 5 NA Newtest17-256 255 + 2566 2.846865e-02 6 NA Newtest17-256 255 + 2567 8.018907e-02 7 NA Newtest17-256 255 + 2568 3.156027e-01 8 NA Newtest17-256 255 + 2569 4.996899e-02 9 NA Newtest17-256 255 + 2570 2.724594e-02 10 NA Newtest17-256 255 + 2571 1.057673e-02 11 NA Newtest17-256 255 + 2572 2.373984e-02 12 NA Newtest17-256 255 + 2573 5.531846e-03 13 NA Newtest17-256 255 + 2574 1.060335e-02 14 NA Newtest17-256 255 + 2575 1.027907e-02 15 NA Newtest17-256 255 + 2576 1.240067e-02 16 NA Newtest17-256 255 + 2577 2.202444e-03 17 NA Newtest17-256 255 + 2578 7.128913e-03 18 NA Newtest17-256 255 + 2579 5.612471e-03 19 NA Newtest17-256 255 + 2580 6.175397e-03 20 NA Newtest17-256 255 + 2581 4.547987e-03 21 NA Newtest17-256 255 + 2582 7.329615e-03 22 NA Newtest17-256 255 + 2583 4.701013e-03 23 NA Newtest17-256 255 + 2584 3.332851e-03 24 NA Newtest17-256 255 + 2585 2.452350e-03 25 NA Newtest17-256 255 + 2586 4.163017e-03 26 NA Newtest17-256 255 + 2587 2.265898e-03 27 NA Newtest17-256 255 + 2588 3.265630e-03 28 NA Newtest17-256 255 + 2589 2.099532e-03 29 NA Newtest17-256 255 + 2590 2.638116e-03 30 NA Newtest17-256 255 + 2591 4.699627e-03 31 NA Newtest17-256 255 + 2592 3.742763e-03 32 NA Newtest17-256 255 + 2593 5.299461e-03 33 NA Newtest17-256 255 + 2594 2.481724e-03 34 NA Newtest17-256 255 + 2595 2.366227e-03 35 NA Newtest17-256 255 + 2596 2.343439e-03 36 NA Newtest17-256 255 + 2597 2.521138e-03 37 NA Newtest17-256 255 + 2598 1.647976e-03 38 NA Newtest17-256 255 + 2599 3.027127e-03 39 NA Newtest17-256 255 + 2600 1.894644e-03 40 NA Newtest17-256 255 + 2601 2.086100e-03 41 NA Newtest17-256 255 + 2602 4.445625e-03 42 NA Newtest17-256 255 + 2603 9.249420e-04 43 NA Newtest17-256 255 + 2604 1.784853e-03 44 NA Newtest17-256 255 + 2605 1.044080e-03 45 NA Newtest17-256 255 + 2606 1.309542e-03 46 NA Newtest17-256 255 + 2607 1.682513e-03 47 NA Newtest17-256 255 + 2608 9.762732e-04 48 NA Newtest17-256 255 + 2609 7.374766e-02 49 NA Newtest17-256 255 + 2610 4.246403e-01 50 NA Newtest17-256 255 + 2611 7.763548e-02 51 NA Newtest17-256 255 + 2612 1.424252e-03 52 NA Newtest17-256 255 + 2613 5.556500e-04 53 NA Newtest17-256 255 + 2614 6.330828e-04 54 NA Newtest17-256 255 + 2615 1.890166e-03 55 NA Newtest17-256 255 + 2616 1.093083e-03 56 NA Newtest17-256 255 + 2617 1.426100e-03 57 NA Newtest17-256 255 + 2618 6.975875e-04 58 NA Newtest17-256 255 + 2619 3.628022e-04 59 NA Newtest17-256 255 + 2620 2.334695e-03 60 NA Newtest17-256 255 + 2621 3.914134e-04 61 NA Newtest17-256 255 + 2622 1.562785e-03 62 NA Newtest17-256 255 + 2623 8.201694e-04 63 NA Newtest17-256 255 + 2624 1.420411e-03 64 NA Newtest17-256 255 + 2625 4.982939e-04 65 NA Newtest17-256 255 + 2626 7.597945e-04 66 NA Newtest17-256 255 + 2627 1.694478e-03 67 NA Newtest17-256 255 + 2628 6.677019e-04 68 NA Newtest17-256 255 + 2629 8.908871e-04 69 NA Newtest17-256 255 + 2630 6.778702e-04 70 NA Newtest17-256 255 + 2631 1.683733e-03 71 NA Newtest17-256 255 + 2632 1.109249e-03 72 NA Newtest17-256 255 + 2633 1.641974e-03 73 NA Newtest17-256 255 + 2634 1.941357e-03 74 NA Newtest17-256 255 + 2635 7.582519e-04 75 NA Newtest17-256 255 + 2636 2.118879e-03 76 NA Newtest17-256 255 + 2637 4.536146e-04 77 NA Newtest17-256 255 + 2638 8.682751e-04 78 NA Newtest17-256 255 + 2639 5.713960e-04 79 NA Newtest17-256 255 + 2640 1.029168e-03 80 NA Newtest17-256 255 + 2641 1.395426e-03 81 NA Newtest17-256 255 + 2642 2.214109e-03 82 NA Newtest17-256 255 + 2643 3.615659e-03 83 NA Newtest17-256 255 + 2644 9.175525e-04 84 NA Newtest17-256 255 + 2645 9.680933e-04 85 NA Newtest17-256 255 + 2646 3.518226e-04 86 NA Newtest17-256 255 + 2647 9.064103e-04 87 NA Newtest17-256 255 + 2648 1.172401e-03 88 NA Newtest17-256 255 + 2649 2.059273e-03 89 NA Newtest17-256 255 + 2650 4.512418e-04 90 NA Newtest17-256 255 + 2651 1.247332e-03 91 NA Newtest17-256 255 + 2652 4.557819e-04 92 NA Newtest17-256 255 + 2653 1.902047e-03 93 NA Newtest17-256 255 + 2654 6.899771e-03 94 NA Newtest17-256 255 + 2655 2.792445e-03 95 NA Newtest17-256 255 + 2656 1.903883e-03 96 NA Newtest17-256 255 + 2657 7.850040e-04 97 NA Newtest17-256 255 + 2658 1.728156e-03 98 NA Newtest17-256 255 + 2659 2.255871e-03 99 NA Newtest17-256 255 + 2660 4.741994e-03 100 NA Newtest17-256 255 + 2661 2.601850e-03 101 NA Newtest17-256 255 + 2662 4.868044e-04 102 NA Newtest17-256 255 + 2663 7.624925e-04 103 NA Newtest17-256 255 + 2664 5.692420e-04 104 NA Newtest17-256 255 + 2665 1.797136e-03 105 NA Newtest17-256 255 + 2666 4.297311e-03 106 NA Newtest17-256 255 + 2667 2.551192e-03 107 NA Newtest17-256 255 + 2668 1.210754e-03 108 NA Newtest17-256 255 + 2669 9.698825e-04 109 NA Newtest17-256 255 + 2670 1.592813e-03 110 NA Newtest17-256 255 + 2671 7.116221e-04 111 NA Newtest17-256 255 + 2672 4.409385e-04 112 NA Newtest17-256 255 + 2673 1.001591e-03 113 NA Newtest17-256 255 + 2674 2.146641e-03 114 NA Newtest17-256 255 + 2675 8.723827e-04 115 NA Newtest17-256 255 + 2676 1.267958e-03 116 NA Newtest17-256 255 + 2677 1.039041e-03 117 NA Newtest17-256 255 + 2678 1.484281e-03 118 NA Newtest17-256 255 + 2679 9.634497e-04 119 NA Newtest17-256 255 + 2680 1.191893e-03 120 NA Newtest17-256 255 + 2681 5.958667e-04 121 NA Newtest17-256 255 + 2682 8.900175e-04 122 NA Newtest17-256 255 + 2683 1.097900e-03 123 NA Newtest17-256 255 + 2684 7.318075e-04 124 NA Newtest17-256 255 + 2685 6.353204e-04 125 NA Newtest17-256 255 + 2686 5.759159e-04 126 NA Newtest17-256 255 + 2687 5.741001e-04 127 NA Newtest17-256 255 + 2688 2.062078e-04 128 NA Newtest17-256 255 + 2689 1.168168e+00 1 NA Newtest17-256 255 + 2690 2.070293e+02 2 NA Newtest17-256 255 + 2691 3.256325e+02 3 NA Newtest17-256 255 + 2692 1.368703e+01 4 NA Newtest17-256 255 + 2693 5.865076e-02 5 NA Newtest17-256 255 + 2694 1.013847e-02 6 NA Newtest17-256 255 + 2695 9.878600e-02 7 NA Newtest17-256 255 + 2696 3.223787e-01 8 NA Newtest17-256 255 + 2697 6.629330e-02 9 NA Newtest17-256 255 + 2698 2.809133e-02 10 NA Newtest17-256 255 + 2699 6.997826e-03 11 NA Newtest17-256 255 + 2700 1.414872e-02 12 NA Newtest17-256 255 + 2701 6.716178e-03 13 NA Newtest17-256 255 + 2702 1.236443e-02 14 NA Newtest17-256 255 + 2703 7.574366e-03 15 NA Newtest17-256 255 + 2704 3.883242e-03 16 NA Newtest17-256 255 + 2705 9.633959e-03 17 NA Newtest17-256 255 + 2706 4.291525e-03 18 NA Newtest17-256 255 + 2707 7.914976e-03 19 NA Newtest17-256 255 + 2708 3.200249e-03 20 NA Newtest17-256 255 + 2709 5.920647e-03 21 NA Newtest17-256 255 + 2710 2.817758e-03 22 NA Newtest17-256 255 + 2711 2.711078e-03 23 NA Newtest17-256 255 + 2712 4.403810e-03 24 NA Newtest17-256 255 + 2713 2.957277e-03 25 NA Newtest17-256 255 + 2714 4.493308e-03 26 NA Newtest17-256 255 + 2715 2.333610e-03 27 NA Newtest17-256 255 + 2716 1.891091e-03 28 NA Newtest17-256 255 + 2717 3.442822e-03 29 NA Newtest17-256 255 + 2718 1.852277e-03 30 NA Newtest17-256 255 + 2719 2.739559e-03 31 NA Newtest17-256 255 + 2720 1.907503e-03 32 NA Newtest17-256 255 + 2721 5.003694e-03 33 NA Newtest17-256 255 + 2722 1.822672e-03 34 NA Newtest17-256 255 + 2723 1.867942e-03 35 NA Newtest17-256 255 + 2724 2.930200e-03 36 NA Newtest17-256 255 + 2725 2.697277e-03 37 NA Newtest17-256 255 + 2726 4.529087e-03 38 NA Newtest17-256 255 + 2727 2.037842e-03 39 NA Newtest17-256 255 + 2728 3.104900e-03 40 NA Newtest17-256 255 + 2729 1.717831e-03 41 NA Newtest17-256 255 + 2730 1.027731e-03 42 NA Newtest17-256 255 + 2731 8.180826e-04 43 NA Newtest17-256 255 + 2732 2.531302e-03 44 NA Newtest17-256 255 + 2733 8.440695e-04 45 NA Newtest17-256 255 + 2734 1.257447e-03 46 NA Newtest17-256 255 + 2735 2.126492e-03 47 NA Newtest17-256 255 + 2736 2.018991e-03 48 NA Newtest17-256 255 + 2737 7.435263e-02 49 NA Newtest17-256 255 + 2738 3.992695e-01 50 NA Newtest17-256 255 + 2739 7.047440e-02 51 NA Newtest17-256 255 + 2740 2.026132e-03 52 NA Newtest17-256 255 + 2741 1.673329e-03 53 NA Newtest17-256 255 + 2742 1.333276e-03 54 NA Newtest17-256 255 + 2743 1.950983e-03 55 NA Newtest17-256 255 + 2744 3.483974e-03 56 NA Newtest17-256 255 + 2745 4.446131e-04 57 NA Newtest17-256 255 + 2746 1.596540e-03 58 NA Newtest17-256 255 + 2747 7.450909e-04 59 NA Newtest17-256 255 + 2748 1.432065e-03 60 NA Newtest17-256 255 + 2749 1.385084e-03 61 NA Newtest17-256 255 + 2750 1.116177e-03 62 NA Newtest17-256 255 + 2751 1.307495e-03 63 NA Newtest17-256 255 + 2752 1.186426e-03 64 NA Newtest17-256 255 + 2753 5.652414e-04 65 NA Newtest17-256 255 + 2754 3.896804e-04 66 NA Newtest17-256 255 + 2755 2.446831e-03 67 NA Newtest17-256 255 + 2756 4.000005e-04 68 NA Newtest17-256 255 + 2757 2.847440e-04 69 NA Newtest17-256 255 + 2758 1.706706e-03 70 NA Newtest17-256 255 + 2759 2.967338e-04 71 NA Newtest17-256 255 + 2760 1.540708e-03 72 NA Newtest17-256 255 + 2761 7.081291e-04 73 NA Newtest17-256 255 + 2762 2.334318e-03 74 NA Newtest17-256 255 + 2763 1.331312e-03 75 NA Newtest17-256 255 + 2764 2.804735e-03 76 NA Newtest17-256 255 + 2765 6.200448e-04 77 NA Newtest17-256 255 + 2766 1.414298e-03 78 NA Newtest17-256 255 + 2767 7.766145e-04 79 NA Newtest17-256 255 + 2768 1.434148e-03 80 NA Newtest17-256 255 + 2769 1.434673e-04 81 NA Newtest17-256 255 + 2770 1.084941e-03 82 NA Newtest17-256 255 + 2771 1.317257e-03 83 NA Newtest17-256 255 + 2772 2.667429e-03 84 NA Newtest17-256 255 + 2773 1.624257e-03 85 NA Newtest17-256 255 + 2774 3.002873e-03 86 NA Newtest17-256 255 + 2775 7.105075e-04 87 NA Newtest17-256 255 + 2776 1.387203e-03 88 NA Newtest17-256 255 + 2777 1.428599e-03 89 NA Newtest17-256 255 + 2778 2.046767e-03 90 NA Newtest17-256 255 + 2779 5.430576e-04 91 NA Newtest17-256 255 + 2780 6.341560e-04 92 NA Newtest17-256 255 + 2781 1.483515e-03 93 NA Newtest17-256 255 + 2782 7.463569e-03 94 NA Newtest17-256 255 + 2783 1.528001e-03 95 NA Newtest17-256 255 + 2784 1.377477e-03 96 NA Newtest17-256 255 + 2785 9.941047e-04 97 NA Newtest17-256 255 + 2786 1.269492e-03 98 NA Newtest17-256 255 + 2787 2.061661e-03 99 NA Newtest17-256 255 + 2788 1.190191e-02 100 NA Newtest17-256 255 + 2789 2.575397e-03 101 NA Newtest17-256 255 + 2790 1.146980e-03 102 NA Newtest17-256 255 + 2791 2.312951e-04 103 NA Newtest17-256 255 + 2792 1.306772e-03 104 NA Newtest17-256 255 + 2793 2.528795e-03 105 NA Newtest17-256 255 + 2794 9.473683e-03 106 NA Newtest17-256 255 + 2795 3.935022e-03 107 NA Newtest17-256 255 + 2796 8.305704e-04 108 NA Newtest17-256 255 + 2797 1.123433e-03 109 NA Newtest17-256 255 + 2798 5.848825e-04 110 NA Newtest17-256 255 + 2799 2.013101e-03 111 NA Newtest17-256 255 + 2800 1.636531e-03 112 NA Newtest17-256 255 + 2801 7.785549e-04 113 NA Newtest17-256 255 + 2802 1.057191e-03 114 NA Newtest17-256 255 + 2803 1.218363e-03 115 NA Newtest17-256 255 + 2804 2.141418e-03 116 NA Newtest17-256 255 + 2805 1.390646e-03 117 NA Newtest17-256 255 + 2806 4.627487e-03 118 NA Newtest17-256 255 + 2807 1.153587e-03 119 NA Newtest17-256 255 + 2808 6.348464e-04 120 NA Newtest17-256 255 + 2809 8.923997e-04 121 NA Newtest17-256 255 + 2810 1.306934e-03 122 NA Newtest17-256 255 + 2811 4.683726e-04 123 NA Newtest17-256 255 + 2812 7.312182e-04 124 NA Newtest17-256 255 + 2813 1.154916e-04 125 NA Newtest17-256 255 + 2814 5.378888e-04 126 NA Newtest17-256 255 + 2815 7.634562e-04 127 NA Newtest17-256 255 + 2816 4.192587e-04 128 NA Newtest17-256 255 + 2817 1.319395e+00 1 NA Newtest17-256 255 + 2818 2.062090e+02 2 NA Newtest17-256 255 + 2819 3.240077e+02 3 NA Newtest17-256 255 + 2820 1.296115e+01 4 NA Newtest17-256 255 + 2821 2.376574e-02 5 NA Newtest17-256 255 + 2822 4.325982e-02 6 NA Newtest17-256 255 + 2823 9.244574e-02 7 NA Newtest17-256 255 + 2824 2.888213e-01 8 NA Newtest17-256 255 + 2825 4.325435e-02 9 NA Newtest17-256 255 + 2826 1.390404e-02 10 NA Newtest17-256 255 + 2827 2.121512e-02 11 NA Newtest17-256 255 + 2828 1.233476e-02 12 NA Newtest17-256 255 + 2829 1.561522e-02 13 NA Newtest17-256 255 + 2830 7.718264e-03 14 NA Newtest17-256 255 + 2831 1.330098e-02 15 NA Newtest17-256 255 + 2832 5.959000e-03 16 NA Newtest17-256 255 + 2833 8.850748e-03 17 NA Newtest17-256 255 + 2834 6.796056e-03 18 NA Newtest17-256 255 + 2835 7.658420e-03 19 NA Newtest17-256 255 + 2836 7.037849e-03 20 NA Newtest17-256 255 + 2837 3.238226e-03 21 NA Newtest17-256 255 + 2838 6.959945e-03 22 NA Newtest17-256 255 + 2839 1.911731e-03 23 NA Newtest17-256 255 + 2840 6.329775e-03 24 NA Newtest17-256 255 + 2841 4.923605e-03 25 NA Newtest17-256 255 + 2842 3.055229e-03 26 NA Newtest17-256 255 + 2843 1.064930e-03 27 NA Newtest17-256 255 + 2844 4.831363e-03 28 NA Newtest17-256 255 + 2845 1.851135e-03 29 NA Newtest17-256 255 + 2846 1.039868e-02 30 NA Newtest17-256 255 + 2847 1.607854e-03 31 NA Newtest17-256 255 + 2848 6.548307e-03 32 NA Newtest17-256 255 + 2849 2.525668e-03 33 NA Newtest17-256 255 + 2850 3.974919e-03 34 NA Newtest17-256 255 + 2851 2.036337e-03 35 NA Newtest17-256 255 + 2852 4.421505e-03 36 NA Newtest17-256 255 + 2853 1.468844e-04 37 NA Newtest17-256 255 + 2854 2.867844e-03 38 NA Newtest17-256 255 + 2855 3.035729e-03 39 NA Newtest17-256 255 + 2856 2.585721e-03 40 NA Newtest17-256 255 + 2857 1.204857e-03 41 NA Newtest17-256 255 + 2858 2.787580e-03 42 NA Newtest17-256 255 + 2859 2.662357e-04 43 NA Newtest17-256 255 + 2860 3.860950e-03 44 NA Newtest17-256 255 + 2861 1.932932e-03 45 NA Newtest17-256 255 + 2862 1.047273e-03 46 NA Newtest17-256 255 + 2863 2.640960e-03 47 NA Newtest17-256 255 + 2864 9.190529e-04 48 NA Newtest17-256 255 + 2865 7.213936e-02 49 NA Newtest17-256 255 + 2866 3.826299e-01 50 NA Newtest17-256 255 + 2867 6.950947e-02 51 NA Newtest17-256 255 + 2868 6.946694e-04 52 NA Newtest17-256 255 + 2869 2.871707e-03 53 NA Newtest17-256 255 + 2870 5.736389e-04 54 NA Newtest17-256 255 + 2871 6.016167e-04 55 NA Newtest17-256 255 + 2872 3.400708e-03 56 NA Newtest17-256 255 + 2873 1.201151e-03 57 NA Newtest17-256 255 + 2874 1.836630e-03 58 NA Newtest17-256 255 + 2875 1.090422e-03 59 NA Newtest17-256 255 + 2876 3.826910e-04 60 NA Newtest17-256 255 + 2877 2.162525e-03 61 NA Newtest17-256 255 + 2878 3.682477e-04 62 NA Newtest17-256 255 + 2879 7.269584e-04 63 NA Newtest17-256 255 + 2880 6.375271e-04 64 NA Newtest17-256 255 + 2881 1.250850e-03 65 NA Newtest17-256 255 + 2882 7.743621e-04 66 NA Newtest17-256 255 + 2883 1.940748e-03 67 NA Newtest17-256 255 + 2884 2.079528e-04 68 NA Newtest17-256 255 + 2885 1.436527e-03 69 NA Newtest17-256 255 + 2886 4.979489e-04 70 NA Newtest17-256 255 + 2887 1.659257e-03 71 NA Newtest17-256 255 + 2888 1.127781e-03 72 NA Newtest17-256 255 + 2889 8.520603e-04 73 NA Newtest17-256 255 + 2890 8.712230e-04 74 NA Newtest17-256 255 + 2891 2.864983e-03 75 NA Newtest17-256 255 + 2892 1.844468e-03 76 NA Newtest17-256 255 + 2893 8.895706e-04 77 NA Newtest17-256 255 + 2894 1.285588e-03 78 NA Newtest17-256 255 + 2895 5.567724e-04 79 NA Newtest17-256 255 + 2896 1.426202e-03 80 NA Newtest17-256 255 + 2897 8.689489e-04 81 NA Newtest17-256 255 + 2898 1.835229e-03 82 NA Newtest17-256 255 + 2899 9.556054e-04 83 NA Newtest17-256 255 + 2900 4.216163e-04 84 NA Newtest17-256 255 + 2901 5.235133e-04 85 NA Newtest17-256 255 + 2902 1.405191e-03 86 NA Newtest17-256 255 + 2903 1.094857e-03 87 NA Newtest17-256 255 + 2904 7.381334e-04 88 NA Newtest17-256 255 + 2905 5.019057e-04 89 NA Newtest17-256 255 + 2906 8.424268e-04 90 NA Newtest17-256 255 + 2907 6.957605e-04 91 NA Newtest17-256 255 + 2908 8.317144e-04 92 NA Newtest17-256 255 + 2909 2.696303e-03 93 NA Newtest17-256 255 + 2910 7.658713e-03 94 NA Newtest17-256 255 + 2911 7.113693e-04 95 NA Newtest17-256 255 + 2912 8.849991e-04 96 NA Newtest17-256 255 + 2913 2.064106e-03 97 NA Newtest17-256 255 + 2914 4.287073e-04 98 NA Newtest17-256 255 + 2915 3.304806e-03 99 NA Newtest17-256 255 + 2916 9.378023e-03 100 NA Newtest17-256 255 + 2917 1.557294e-03 101 NA Newtest17-256 255 + 2918 1.398312e-03 102 NA Newtest17-256 255 + 2919 3.331180e-04 103 NA Newtest17-256 255 + 2920 1.275438e-04 104 NA Newtest17-256 255 + 2921 1.118766e-03 105 NA Newtest17-256 255 + 2922 4.805645e-03 106 NA Newtest17-256 255 + 2923 2.865414e-03 107 NA Newtest17-256 255 + 2924 9.504588e-04 108 NA Newtest17-256 255 + 2925 1.506213e-03 109 NA Newtest17-256 255 + 2926 1.379984e-03 110 NA Newtest17-256 255 + 2927 2.546187e-03 111 NA Newtest17-256 255 + 2928 4.918684e-04 112 NA Newtest17-256 255 + 2929 1.360551e-03 113 NA Newtest17-256 255 + 2930 3.259777e-04 114 NA Newtest17-256 255 + 2931 5.178724e-04 115 NA Newtest17-256 255 + 2932 1.373889e-03 116 NA Newtest17-256 255 + 2933 7.982782e-04 117 NA Newtest17-256 255 + 2934 3.434461e-03 118 NA Newtest17-256 255 + 2935 8.529055e-04 119 NA Newtest17-256 255 + 2936 6.689592e-04 120 NA Newtest17-256 255 + 2937 2.500612e-04 121 NA Newtest17-256 255 + 2938 6.763534e-04 122 NA Newtest17-256 255 + 2939 1.045437e-03 123 NA Newtest17-256 255 + 2940 7.753728e-04 124 NA Newtest17-256 255 + 2941 3.118284e-04 125 NA Newtest17-256 255 + 2942 1.217767e-03 126 NA Newtest17-256 255 + 2943 4.514860e-04 127 NA Newtest17-256 255 + 2944 4.535803e-04 128 NA Newtest17-256 255 + 2945 1.083379e+00 1 NA Newtest17-256 255 + 2946 2.069316e+02 2 NA Newtest17-256 255 + 2947 3.253369e+02 3 NA Newtest17-256 255 + 2948 1.356775e+01 4 NA Newtest17-256 255 + 2949 6.248795e-02 5 NA Newtest17-256 255 + 2950 3.363405e-02 6 NA Newtest17-256 255 + 2951 8.186109e-02 7 NA Newtest17-256 255 + 2952 2.918276e-01 8 NA Newtest17-256 255 + 2953 5.046993e-02 9 NA Newtest17-256 255 + 2954 1.889007e-02 10 NA Newtest17-256 255 + 2955 1.099265e-02 11 NA Newtest17-256 255 + 2956 7.649751e-03 12 NA Newtest17-256 255 + 2957 2.861079e-02 13 NA Newtest17-256 255 + 2958 2.721911e-03 14 NA Newtest17-256 255 + 2959 6.803385e-03 15 NA Newtest17-256 255 + 2960 1.086288e-02 16 NA Newtest17-256 255 + 2961 1.885958e-03 17 NA Newtest17-256 255 + 2962 1.207500e-02 18 NA Newtest17-256 255 + 2963 3.693366e-03 19 NA Newtest17-256 255 + 2964 5.090465e-03 20 NA Newtest17-256 255 + 2965 3.276111e-03 21 NA Newtest17-256 255 + 2966 6.028241e-03 22 NA Newtest17-256 255 + 2967 2.950432e-03 23 NA Newtest17-256 255 + 2968 3.200673e-03 24 NA Newtest17-256 255 + 2969 3.032383e-03 25 NA Newtest17-256 255 + 2970 4.908997e-03 26 NA Newtest17-256 255 + 2971 5.182214e-03 27 NA Newtest17-256 255 + 2972 3.164612e-03 28 NA Newtest17-256 255 + 2973 2.115495e-03 29 NA Newtest17-256 255 + 2974 3.921796e-03 30 NA Newtest17-256 255 + 2975 2.352074e-03 31 NA Newtest17-256 255 + 2976 1.831375e-03 32 NA Newtest17-256 255 + 2977 5.904541e-03 33 NA Newtest17-256 255 + 2978 9.845699e-04 34 NA Newtest17-256 255 + 2979 1.297208e-03 35 NA Newtest17-256 255 + 2980 2.248808e-03 36 NA Newtest17-256 255 + 2981 5.165722e-04 37 NA Newtest17-256 255 + 2982 2.427391e-03 38 NA Newtest17-256 255 + 2983 2.232176e-03 39 NA Newtest17-256 255 + 2984 3.657432e-03 40 NA Newtest17-256 255 + 2985 1.334243e-03 41 NA Newtest17-256 255 + 2986 7.556369e-04 42 NA Newtest17-256 255 + 2987 2.828610e-03 43 NA Newtest17-256 255 + 2988 1.003264e-03 44 NA Newtest17-256 255 + 2989 2.517916e-03 45 NA Newtest17-256 255 + 2990 1.957058e-03 46 NA Newtest17-256 255 + 2991 2.518024e-03 47 NA Newtest17-256 255 + 2992 5.854165e-04 48 NA Newtest17-256 255 + 2993 7.773289e-02 49 NA Newtest17-256 255 + 2994 3.887500e-01 50 NA Newtest17-256 255 + 2995 7.488753e-02 51 NA Newtest17-256 255 + 2996 1.890067e-03 52 NA Newtest17-256 255 + 2997 6.220730e-04 53 NA Newtest17-256 255 + 2998 2.393934e-03 54 NA Newtest17-256 255 + 2999 2.452110e-03 55 NA Newtest17-256 255 + 3000 1.127280e-03 56 NA Newtest17-256 255 + 3001 1.356921e-03 57 NA Newtest17-256 255 + 3002 2.960893e-04 58 NA Newtest17-256 255 + 3003 1.427549e-03 59 NA Newtest17-256 255 + 3004 1.170059e-03 60 NA Newtest17-256 255 + 3005 2.173661e-03 61 NA Newtest17-256 255 + 3006 3.623142e-04 62 NA Newtest17-256 255 + 3007 7.307134e-04 63 NA Newtest17-256 255 + 3008 8.658815e-04 64 NA Newtest17-256 255 + 3009 1.955347e-03 65 NA Newtest17-256 255 + 3010 1.048012e-03 66 NA Newtest17-256 255 + 3011 9.974279e-04 67 NA Newtest17-256 255 + 3012 2.804582e-04 68 NA Newtest17-256 255 + 3013 1.223232e-03 69 NA Newtest17-256 255 + 3014 8.636053e-04 70 NA Newtest17-256 255 + 3015 7.635497e-04 71 NA Newtest17-256 255 + 3016 8.151137e-04 72 NA Newtest17-256 255 + 3017 1.226458e-03 73 NA Newtest17-256 255 + 3018 1.920289e-03 74 NA Newtest17-256 255 + 3019 2.399647e-03 75 NA Newtest17-256 255 + 3020 3.373386e-03 76 NA Newtest17-256 255 + 3021 1.365805e-03 77 NA Newtest17-256 255 + 3022 1.108662e-03 78 NA Newtest17-256 255 + 3023 4.912867e-04 79 NA Newtest17-256 255 + 3024 1.049233e-03 80 NA Newtest17-256 255 + 3025 1.422057e-03 81 NA Newtest17-256 255 + 3026 1.153346e-03 82 NA Newtest17-256 255 + 3027 4.197705e-04 83 NA Newtest17-256 255 + 3028 1.234761e-03 84 NA Newtest17-256 255 + 3029 4.659448e-04 85 NA Newtest17-256 255 + 3030 1.855804e-03 86 NA Newtest17-256 255 + 3031 8.819809e-04 87 NA Newtest17-256 255 + 3032 1.589860e-03 88 NA Newtest17-256 255 + 3033 6.133665e-04 89 NA Newtest17-256 255 + 3034 6.215845e-04 90 NA Newtest17-256 255 + 3035 1.136704e-03 91 NA Newtest17-256 255 + 3036 9.582823e-04 92 NA Newtest17-256 255 + 3037 3.724108e-04 93 NA Newtest17-256 255 + 3038 3.577697e-03 94 NA Newtest17-256 255 + 3039 1.690064e-03 95 NA Newtest17-256 255 + 3040 6.563734e-04 96 NA Newtest17-256 255 + 3041 1.187009e-03 97 NA Newtest17-256 255 + 3042 1.299261e-03 98 NA Newtest17-256 255 + 3043 2.156762e-03 99 NA Newtest17-256 255 + 3044 7.047480e-03 100 NA Newtest17-256 255 + 3045 1.810741e-03 101 NA Newtest17-256 255 + 3046 1.335703e-03 102 NA Newtest17-256 255 + 3047 1.174716e-03 103 NA Newtest17-256 255 + 3048 8.860942e-04 104 NA Newtest17-256 255 + 3049 3.133500e-04 105 NA Newtest17-256 255 + 3050 2.543531e-03 106 NA Newtest17-256 255 + 3051 8.424111e-04 107 NA Newtest17-256 255 + 3052 1.722070e-03 108 NA Newtest17-256 255 + 3053 8.857875e-04 109 NA Newtest17-256 255 + 3054 9.398647e-04 110 NA Newtest17-256 255 + 3055 4.780237e-04 111 NA Newtest17-256 255 + 3056 1.060720e-03 112 NA Newtest17-256 255 + 3057 3.595786e-04 113 NA Newtest17-256 255 + 3058 4.991842e-04 114 NA Newtest17-256 255 + 3059 1.594466e-03 115 NA Newtest17-256 255 + 3060 5.677694e-04 116 NA Newtest17-256 255 + 3061 1.059261e-03 117 NA Newtest17-256 255 + 3062 1.880455e-03 118 NA Newtest17-256 255 + 3063 2.751950e-03 119 NA Newtest17-256 255 + 3064 3.281960e-04 120 NA Newtest17-256 255 + 3065 7.416094e-04 121 NA Newtest17-256 255 + 3066 5.542086e-04 122 NA Newtest17-256 255 + 3067 2.190509e-04 123 NA Newtest17-256 255 + 3068 1.237673e-03 124 NA Newtest17-256 255 + 3069 1.113679e-03 125 NA Newtest17-256 255 + 3070 8.503857e-04 126 NA Newtest17-256 255 + 3071 1.700629e-04 127 NA Newtest17-256 255 + 3072 7.509303e-04 128 NA Newtest17-256 255 + 3073 1.243378e+00 1 NA Newtest17-256 255 + 3074 2.079717e+02 2 NA Newtest17-256 255 + 3075 3.267259e+02 3 NA Newtest17-256 255 + 3076 1.332919e+01 4 NA Newtest17-256 255 + 3077 3.159140e-02 5 NA Newtest17-256 255 + 3078 4.275089e-02 6 NA Newtest17-256 255 + 3079 9.981755e-02 7 NA Newtest17-256 255 + 3080 2.785221e-01 8 NA Newtest17-256 255 + 3081 6.108089e-02 9 NA Newtest17-256 255 + 3082 9.890173e-03 10 NA Newtest17-256 255 + 3083 2.588108e-02 11 NA Newtest17-256 255 + 3084 1.274903e-02 12 NA Newtest17-256 255 + 3085 1.372586e-02 13 NA Newtest17-256 255 + 3086 1.448139e-02 14 NA Newtest17-256 255 + 3087 6.301129e-03 15 NA Newtest17-256 255 + 3088 5.943390e-03 16 NA Newtest17-256 255 + 3089 8.950463e-03 17 NA Newtest17-256 255 + 3090 7.140239e-03 18 NA Newtest17-256 255 + 3091 1.098760e-02 19 NA Newtest17-256 255 + 3092 2.760211e-03 20 NA Newtest17-256 255 + 3093 1.122113e-02 21 NA Newtest17-256 255 + 3094 9.600726e-03 22 NA Newtest17-256 255 + 3095 8.214290e-04 23 NA Newtest17-256 255 + 3096 6.077828e-03 24 NA Newtest17-256 255 + 3097 1.152139e-03 25 NA Newtest17-256 255 + 3098 3.608097e-03 26 NA Newtest17-256 255 + 3099 3.259416e-03 27 NA Newtest17-256 255 + 3100 5.289544e-03 28 NA Newtest17-256 255 + 3101 5.985490e-03 29 NA Newtest17-256 255 + 3102 5.360552e-03 30 NA Newtest17-256 255 + 3103 2.261204e-03 31 NA Newtest17-256 255 + 3104 6.017818e-03 32 NA Newtest17-256 255 + 3105 4.061604e-03 33 NA Newtest17-256 255 + 3106 2.522478e-03 34 NA Newtest17-256 255 + 3107 1.939188e-03 35 NA Newtest17-256 255 + 3108 6.620445e-04 36 NA Newtest17-256 255 + 3109 1.940361e-03 37 NA Newtest17-256 255 + 3110 3.378068e-03 38 NA Newtest17-256 255 + 3111 2.023965e-03 39 NA Newtest17-256 255 + 3112 3.920480e-03 40 NA Newtest17-256 255 + 3113 1.355276e-03 41 NA Newtest17-256 255 + 3114 1.554176e-03 42 NA Newtest17-256 255 + 3115 1.613808e-03 43 NA Newtest17-256 255 + 3116 1.318472e-03 44 NA Newtest17-256 255 + 3117 2.481643e-03 45 NA Newtest17-256 255 + 3118 1.261307e-03 46 NA Newtest17-256 255 + 3119 2.418570e-03 47 NA Newtest17-256 255 + 3120 5.151561e-04 48 NA Newtest17-256 255 + 3121 7.237119e-02 49 NA Newtest17-256 255 + 3122 3.769974e-01 50 NA Newtest17-256 255 + 3123 6.895130e-02 51 NA Newtest17-256 255 + 3124 8.303829e-04 52 NA Newtest17-256 255 + 3125 1.295437e-03 53 NA Newtest17-256 255 + 3126 1.521284e-03 54 NA Newtest17-256 255 + 3127 1.326219e-03 55 NA Newtest17-256 255 + 3128 2.338968e-03 56 NA Newtest17-256 255 + 3129 1.691325e-03 57 NA Newtest17-256 255 + 3130 1.101932e-03 58 NA Newtest17-256 255 + 3131 1.683528e-03 59 NA Newtest17-256 255 + 3132 1.392624e-03 60 NA Newtest17-256 255 + 3133 1.553669e-03 61 NA Newtest17-256 255 + 3134 1.010330e-03 62 NA Newtest17-256 255 + 3135 5.122745e-04 63 NA Newtest17-256 255 + 3136 1.603112e-03 64 NA Newtest17-256 255 + 3137 9.475512e-04 65 NA Newtest17-256 255 + 3138 1.834822e-04 66 NA Newtest17-256 255 + 3139 1.457177e-03 67 NA Newtest17-256 255 + 3140 1.662281e-03 68 NA Newtest17-256 255 + 3141 7.413883e-04 69 NA Newtest17-256 255 + 3142 1.104254e-03 70 NA Newtest17-256 255 + 3143 1.164600e-03 71 NA Newtest17-256 255 + 3144 4.156782e-04 72 NA Newtest17-256 255 + 3145 1.085853e-03 73 NA Newtest17-256 255 + 3146 9.478248e-04 74 NA Newtest17-256 255 + 3147 1.759756e-03 75 NA Newtest17-256 255 + 3148 1.042550e-03 76 NA Newtest17-256 255 + 3149 8.705119e-04 77 NA Newtest17-256 255 + 3150 7.741592e-04 78 NA Newtest17-256 255 + 3151 1.284862e-03 79 NA Newtest17-256 255 + 3152 3.707116e-04 80 NA Newtest17-256 255 + 3153 1.105496e-03 81 NA Newtest17-256 255 + 3154 1.434260e-03 82 NA Newtest17-256 255 + 3155 3.885818e-04 83 NA Newtest17-256 255 + 3156 9.952183e-04 84 NA Newtest17-256 255 + 3157 5.530678e-04 85 NA Newtest17-256 255 + 3158 1.609192e-03 86 NA Newtest17-256 255 + 3159 7.526873e-04 87 NA Newtest17-256 255 + 3160 1.585643e-03 88 NA Newtest17-256 255 + 3161 1.318129e-03 89 NA Newtest17-256 255 + 3162 1.922258e-03 90 NA Newtest17-256 255 + 3163 5.768968e-04 91 NA Newtest17-256 255 + 3164 1.608546e-03 92 NA Newtest17-256 255 + 3165 1.151972e-03 93 NA Newtest17-256 255 + 3166 7.350141e-03 94 NA Newtest17-256 255 + 3167 2.335972e-03 95 NA Newtest17-256 255 + 3168 1.842271e-04 96 NA Newtest17-256 255 + 3169 1.032129e-03 97 NA Newtest17-256 255 + 3170 1.418976e-04 98 NA Newtest17-256 255 + 3171 2.212315e-03 99 NA Newtest17-256 255 + 3172 6.978819e-03 100 NA Newtest17-256 255 + 3173 1.666203e-03 101 NA Newtest17-256 255 + 3174 1.074848e-03 102 NA Newtest17-256 255 + 3175 1.007144e-03 103 NA Newtest17-256 255 + 3176 9.149391e-04 104 NA Newtest17-256 255 + 3177 1.849463e-03 105 NA Newtest17-256 255 + 3178 5.580429e-03 106 NA Newtest17-256 255 + 3179 9.389998e-04 107 NA Newtest17-256 255 + 3180 1.067316e-03 108 NA Newtest17-256 255 + 3181 2.022101e-04 109 NA Newtest17-256 255 + 3182 1.301481e-03 110 NA Newtest17-256 255 + 3183 3.384905e-04 111 NA Newtest17-256 255 + 3184 6.069123e-04 112 NA Newtest17-256 255 + 3185 1.928376e-03 113 NA Newtest17-256 255 + 3186 6.783393e-04 114 NA Newtest17-256 255 + 3187 9.056723e-04 115 NA Newtest17-256 255 + 3188 3.844012e-04 116 NA Newtest17-256 255 + 3189 1.102957e-03 117 NA Newtest17-256 255 + 3190 5.766510e-04 118 NA Newtest17-256 255 + 3191 5.817500e-04 119 NA Newtest17-256 255 + 3192 3.654385e-04 120 NA Newtest17-256 255 + 3193 9.217224e-04 121 NA Newtest17-256 255 + 3194 8.407623e-04 122 NA Newtest17-256 255 + 3195 9.440226e-04 123 NA Newtest17-256 255 + 3196 1.341338e-03 124 NA Newtest17-256 255 + 3197 5.367853e-04 125 NA Newtest17-256 255 + 3198 2.156617e-03 126 NA Newtest17-256 255 + 3199 1.217536e-03 127 NA Newtest17-256 255 + 3200 5.395247e-04 128 NA Newtest17-256 255 + 3201 1.164933e+00 1 NA Newtest17-256 255 + 3202 2.076601e+02 2 NA Newtest17-256 255 + 3203 3.262829e+02 3 NA Newtest17-256 255 + 3204 1.347857e+01 4 NA Newtest17-256 255 + 3205 8.049499e-02 5 NA Newtest17-256 255 + 3206 1.909371e-02 6 NA Newtest17-256 255 + 3207 8.248439e-02 7 NA Newtest17-256 255 + 3208 2.636187e-01 8 NA Newtest17-256 255 + 3209 5.139037e-02 9 NA Newtest17-256 255 + 3210 3.222965e-02 10 NA Newtest17-256 255 + 3211 5.034119e-03 11 NA Newtest17-256 255 + 3212 1.425675e-02 12 NA Newtest17-256 255 + 3213 1.257510e-02 13 NA Newtest17-256 255 + 3214 9.644828e-03 14 NA Newtest17-256 255 + 3215 1.316625e-02 15 NA Newtest17-256 255 + 3216 4.461766e-03 16 NA Newtest17-256 255 + 3217 6.742858e-03 17 NA Newtest17-256 255 + 3218 5.153827e-03 18 NA Newtest17-256 255 + 3219 1.051567e-02 19 NA Newtest17-256 255 + 3220 4.163404e-03 20 NA Newtest17-256 255 + 3221 2.758885e-03 21 NA Newtest17-256 255 + 3222 3.491093e-03 22 NA Newtest17-256 255 + 3223 6.438947e-03 23 NA Newtest17-256 255 + 3224 3.055193e-03 24 NA Newtest17-256 255 + 3225 4.593150e-03 25 NA Newtest17-256 255 + 3226 2.329070e-03 26 NA Newtest17-256 255 + 3227 3.980808e-03 27 NA Newtest17-256 255 + 3228 4.933066e-03 28 NA Newtest17-256 255 + 3229 1.822797e-03 29 NA Newtest17-256 255 + 3230 3.550181e-03 30 NA Newtest17-256 255 + 3231 2.974024e-03 31 NA Newtest17-256 255 + 3232 2.957906e-03 32 NA Newtest17-256 255 + 3233 9.460050e-04 33 NA Newtest17-256 255 + 3234 2.461692e-03 34 NA Newtest17-256 255 + 3235 2.457452e-03 35 NA Newtest17-256 255 + 3236 1.286819e-03 36 NA Newtest17-256 255 + 3237 3.589944e-03 37 NA Newtest17-256 255 + 3238 1.625894e-03 38 NA Newtest17-256 255 + 3239 1.794529e-03 39 NA Newtest17-256 255 + 3240 1.497155e-03 40 NA Newtest17-256 255 + 3241 1.449576e-03 41 NA Newtest17-256 255 + 3242 1.324477e-03 42 NA Newtest17-256 255 + 3243 1.372931e-03 43 NA Newtest17-256 255 + 3244 5.223707e-04 44 NA Newtest17-256 255 + 3245 2.524753e-03 45 NA Newtest17-256 255 + 3246 3.993072e-04 46 NA Newtest17-256 255 + 3247 9.445076e-04 47 NA Newtest17-256 255 + 3248 1.583455e-03 48 NA Newtest17-256 255 + 3249 7.992565e-02 49 NA Newtest17-256 255 + 3250 4.200028e-01 50 NA Newtest17-256 255 + 3251 8.822035e-02 51 NA Newtest17-256 255 + 3252 1.952358e-03 52 NA Newtest17-256 255 + 3253 4.939155e-04 53 NA Newtest17-256 255 + 3254 1.007749e-03 54 NA Newtest17-256 255 + 3255 2.097736e-03 55 NA Newtest17-256 255 + 3256 1.184867e-03 56 NA Newtest17-256 255 + 3257 1.063388e-03 57 NA Newtest17-256 255 + 3258 1.380790e-03 58 NA Newtest17-256 255 + 3259 7.526223e-04 59 NA Newtest17-256 255 + 3260 1.299530e-03 60 NA Newtest17-256 255 + 3261 2.122589e-04 61 NA Newtest17-256 255 + 3262 1.549333e-03 62 NA Newtest17-256 255 + 3263 5.561798e-04 63 NA Newtest17-256 255 + 3264 1.389215e-03 64 NA Newtest17-256 255 + 3265 4.042424e-04 65 NA Newtest17-256 255 + 3266 1.047755e-03 66 NA Newtest17-256 255 + 3267 1.771662e-03 67 NA Newtest17-256 255 + 3268 9.727858e-04 68 NA Newtest17-256 255 + 3269 1.409073e-03 69 NA Newtest17-256 255 + 3270 8.126253e-04 70 NA Newtest17-256 255 + 3271 6.286440e-04 71 NA Newtest17-256 255 + 3272 2.385626e-03 72 NA Newtest17-256 255 + 3273 9.813759e-04 73 NA Newtest17-256 255 + 3274 8.138061e-04 74 NA Newtest17-256 255 + 3275 1.207807e-03 75 NA Newtest17-256 255 + 3276 7.123127e-04 76 NA Newtest17-256 255 + 3277 9.459536e-04 77 NA Newtest17-256 255 + 3278 1.021050e-03 78 NA Newtest17-256 255 + 3279 8.106381e-04 79 NA Newtest17-256 255 + 3280 9.290164e-05 80 NA Newtest17-256 255 + 3281 1.916539e-03 81 NA Newtest17-256 255 + 3282 2.923581e-03 82 NA Newtest17-256 255 + 3283 1.111037e-03 83 NA Newtest17-256 255 + 3284 7.393314e-04 84 NA Newtest17-256 255 + 3285 6.610724e-04 85 NA Newtest17-256 255 + 3286 3.119414e-04 86 NA Newtest17-256 255 + 3287 4.809501e-04 87 NA Newtest17-256 255 + 3288 1.107678e-03 88 NA Newtest17-256 255 + 3289 3.876519e-04 89 NA Newtest17-256 255 + 3290 1.303579e-03 90 NA Newtest17-256 255 + 3291 6.638097e-04 91 NA Newtest17-256 255 + 3292 1.224891e-03 92 NA Newtest17-256 255 + 3293 2.305040e-03 93 NA Newtest17-256 255 + 3294 8.493236e-03 94 NA Newtest17-256 255 + 3295 2.133080e-03 95 NA Newtest17-256 255 + 3296 1.570189e-03 96 NA Newtest17-256 255 + 3297 1.227585e-03 97 NA Newtest17-256 255 + 3298 1.275721e-03 98 NA Newtest17-256 255 + 3299 3.180166e-03 99 NA Newtest17-256 255 + 3300 1.009722e-02 100 NA Newtest17-256 255 + 3301 1.374484e-03 101 NA Newtest17-256 255 + 3302 1.327712e-03 102 NA Newtest17-256 255 + 3303 7.385711e-04 103 NA Newtest17-256 255 + 3304 1.433230e-03 104 NA Newtest17-256 255 + 3305 1.468916e-03 105 NA Newtest17-256 255 + 3306 3.370473e-03 106 NA Newtest17-256 255 + 3307 2.165680e-03 107 NA Newtest17-256 255 + 3308 5.860729e-05 108 NA Newtest17-256 255 + 3309 6.505098e-04 109 NA Newtest17-256 255 + 3310 5.542447e-04 110 NA Newtest17-256 255 + 3311 1.773666e-03 111 NA Newtest17-256 255 + 3312 8.816409e-04 112 NA Newtest17-256 255 + 3313 6.351135e-04 113 NA Newtest17-256 255 + 3314 5.284445e-04 114 NA Newtest17-256 255 + 3315 1.389015e-03 115 NA Newtest17-256 255 + 3316 4.603120e-04 116 NA Newtest17-256 255 + 3317 1.011960e-03 117 NA Newtest17-256 255 + 3318 3.605513e-03 118 NA Newtest17-256 255 + 3319 1.615489e-03 119 NA Newtest17-256 255 + 3320 1.508793e-03 120 NA Newtest17-256 255 + 3321 4.407924e-04 121 NA Newtest17-256 255 + 3322 1.098383e-03 122 NA Newtest17-256 255 + 3323 1.152009e-03 123 NA Newtest17-256 255 + 3324 7.516906e-04 124 NA Newtest17-256 255 + 3325 5.974764e-04 125 NA Newtest17-256 255 + 3326 5.308486e-04 126 NA Newtest17-256 255 + 3327 3.139022e-04 127 NA Newtest17-256 255 + 3328 4.372825e-04 128 NA Newtest17-256 255 + 3329 1.201423e+00 1 NA Newtest17-256 255 + 3330 2.065895e+02 2 NA Newtest17-256 255 + 3331 3.248149e+02 3 NA Newtest17-256 255 + 3332 1.315251e+01 4 NA Newtest17-256 255 + 3333 3.905073e-02 5 NA Newtest17-256 255 + 3334 4.276663e-02 6 NA Newtest17-256 255 + 3335 8.557387e-02 7 NA Newtest17-256 255 + 3336 2.978006e-01 8 NA Newtest17-256 255 + 3337 6.046883e-02 9 NA Newtest17-256 255 + 3338 2.039257e-02 10 NA Newtest17-256 255 + 3339 2.087305e-02 11 NA Newtest17-256 255 + 3340 1.453608e-02 12 NA Newtest17-256 255 + 3341 2.033971e-02 13 NA Newtest17-256 255 + 3342 4.730163e-03 14 NA Newtest17-256 255 + 3343 1.047188e-02 15 NA Newtest17-256 255 + 3344 6.528724e-03 16 NA Newtest17-256 255 + 3345 7.419940e-03 17 NA Newtest17-256 255 + 3346 7.439384e-03 18 NA Newtest17-256 255 + 3347 5.819871e-03 19 NA Newtest17-256 255 + 3348 3.749318e-03 20 NA Newtest17-256 255 + 3349 6.932430e-03 21 NA Newtest17-256 255 + 3350 2.869406e-03 22 NA Newtest17-256 255 + 3351 3.558837e-03 23 NA Newtest17-256 255 + 3352 2.499514e-03 24 NA Newtest17-256 255 + 3353 7.931526e-03 25 NA Newtest17-256 255 + 3354 2.590936e-03 26 NA Newtest17-256 255 + 3355 2.863503e-03 27 NA Newtest17-256 255 + 3356 3.796327e-03 28 NA Newtest17-256 255 + 3357 2.325315e-03 29 NA Newtest17-256 255 + 3358 2.334984e-03 30 NA Newtest17-256 255 + 3359 1.851953e-03 31 NA Newtest17-256 255 + 3360 3.266685e-03 32 NA Newtest17-256 255 + 3361 3.526721e-03 33 NA Newtest17-256 255 + 3362 1.074826e-03 34 NA Newtest17-256 255 + 3363 3.492047e-03 35 NA Newtest17-256 255 + 3364 2.602129e-03 36 NA Newtest17-256 255 + 3365 2.212998e-03 37 NA Newtest17-256 255 + 3366 1.656878e-03 38 NA Newtest17-256 255 + 3367 1.318888e-03 39 NA Newtest17-256 255 + 3368 1.288991e-03 40 NA Newtest17-256 255 + 3369 1.931524e-03 41 NA Newtest17-256 255 + 3370 1.220838e-03 42 NA Newtest17-256 255 + 3371 2.178696e-03 43 NA Newtest17-256 255 + 3372 1.282027e-03 44 NA Newtest17-256 255 + 3373 2.613185e-03 45 NA Newtest17-256 255 + 3374 7.666083e-04 46 NA Newtest17-256 255 + 3375 1.829759e-03 47 NA Newtest17-256 255 + 3376 4.854148e-04 48 NA Newtest17-256 255 + 3377 7.968736e-02 49 NA Newtest17-256 255 + 3378 4.297520e-01 50 NA Newtest17-256 255 + 3379 7.223013e-02 51 NA Newtest17-256 255 + 3380 7.157535e-04 52 NA Newtest17-256 255 + 3381 2.156344e-03 53 NA Newtest17-256 255 + 3382 1.355504e-04 54 NA Newtest17-256 255 + 3383 4.534976e-03 55 NA Newtest17-256 255 + 3384 5.845788e-04 56 NA Newtest17-256 255 + 3385 1.985333e-03 57 NA Newtest17-256 255 + 3386 2.181890e-03 58 NA Newtest17-256 255 + 3387 1.857186e-03 59 NA Newtest17-256 255 + 3388 8.340145e-04 60 NA Newtest17-256 255 + 3389 1.430193e-03 61 NA Newtest17-256 255 + 3390 6.634728e-04 62 NA Newtest17-256 255 + 3391 1.397600e-03 63 NA Newtest17-256 255 + 3392 8.687671e-04 64 NA Newtest17-256 255 + 3393 1.846537e-03 65 NA Newtest17-256 255 + 3394 1.645433e-03 66 NA Newtest17-256 255 + 3395 4.657012e-04 67 NA Newtest17-256 255 + 3396 7.228642e-04 68 NA Newtest17-256 255 + 3397 1.181639e-03 69 NA Newtest17-256 255 + 3398 1.878738e-03 70 NA Newtest17-256 255 + 3399 1.550410e-03 71 NA Newtest17-256 255 + 3400 1.289969e-03 72 NA Newtest17-256 255 + 3401 7.776814e-04 73 NA Newtest17-256 255 + 3402 1.534525e-03 74 NA Newtest17-256 255 + 3403 4.855762e-04 75 NA Newtest17-256 255 + 3404 1.387263e-03 76 NA Newtest17-256 255 + 3405 1.333641e-03 77 NA Newtest17-256 255 + 3406 1.778307e-03 78 NA Newtest17-256 255 + 3407 2.099653e-03 79 NA Newtest17-256 255 + 3408 8.182940e-04 80 NA Newtest17-256 255 + 3409 8.936173e-04 81 NA Newtest17-256 255 + 3410 5.950236e-04 82 NA Newtest17-256 255 + 3411 1.245269e-03 83 NA Newtest17-256 255 + 3412 2.621651e-03 84 NA Newtest17-256 255 + 3413 1.370800e-03 85 NA Newtest17-256 255 + 3414 1.497680e-03 86 NA Newtest17-256 255 + 3415 1.442848e-03 87 NA Newtest17-256 255 + 3416 1.644859e-03 88 NA Newtest17-256 255 + 3417 6.184994e-04 89 NA Newtest17-256 255 + 3418 7.189707e-04 90 NA Newtest17-256 255 + 3419 1.594555e-03 91 NA Newtest17-256 255 + 3420 6.475502e-04 92 NA Newtest17-256 255 + 3421 2.197673e-03 93 NA Newtest17-256 255 + 3422 5.235577e-03 94 NA Newtest17-256 255 + 3423 2.425456e-03 95 NA Newtest17-256 255 + 3424 9.179378e-04 96 NA Newtest17-256 255 + 3425 1.588175e-03 97 NA Newtest17-256 255 + 3426 7.228274e-04 98 NA Newtest17-256 255 + 3427 3.042967e-03 99 NA Newtest17-256 255 + 3428 7.847270e-03 100 NA Newtest17-256 255 + 3429 1.860290e-03 101 NA Newtest17-256 255 + 3430 4.642800e-04 102 NA Newtest17-256 255 + 3431 8.565920e-04 103 NA Newtest17-256 255 + 3432 1.716046e-03 104 NA Newtest17-256 255 + 3433 7.445604e-04 105 NA Newtest17-256 255 + 3434 4.563065e-03 106 NA Newtest17-256 255 + 3435 2.153057e-03 107 NA Newtest17-256 255 + 3436 1.920492e-03 108 NA Newtest17-256 255 + 3437 1.500833e-03 109 NA Newtest17-256 255 + 3438 7.943342e-04 110 NA Newtest17-256 255 + 3439 1.364843e-03 111 NA Newtest17-256 255 + 3440 1.287999e-03 112 NA Newtest17-256 255 + 3441 1.134081e-03 113 NA Newtest17-256 255 + 3442 2.368781e-04 114 NA Newtest17-256 255 + 3443 1.937980e-03 115 NA Newtest17-256 255 + 3444 8.015946e-04 116 NA Newtest17-256 255 + 3445 1.194913e-03 117 NA Newtest17-256 255 + 3446 2.602006e-03 118 NA Newtest17-256 255 + 3447 7.464478e-04 119 NA Newtest17-256 255 + 3448 2.059684e-03 120 NA Newtest17-256 255 + 3449 1.413182e-03 121 NA Newtest17-256 255 + 3450 1.109970e-03 122 NA Newtest17-256 255 + 3451 7.264295e-04 123 NA Newtest17-256 255 + 3452 1.372915e-03 124 NA Newtest17-256 255 + 3453 5.863328e-04 125 NA Newtest17-256 255 + 3454 1.566393e-03 126 NA Newtest17-256 255 + 3455 1.574378e-03 127 NA Newtest17-256 255 + 3456 2.731695e-04 128 NA Newtest17-256 255 + 3457 1.518012e+00 1 NA Newtest17-256 255 + 3458 2.065803e+02 2 NA Newtest17-256 255 + 3459 3.255133e+02 3 NA Newtest17-256 255 + 3460 1.324371e+01 4 NA Newtest17-256 255 + 3461 1.511562e-02 5 NA Newtest17-256 255 + 3462 4.692113e-02 6 NA Newtest17-256 255 + 3463 8.651553e-02 7 NA Newtest17-256 255 + 3464 3.142424e-01 8 NA Newtest17-256 255 + 3465 4.859264e-02 9 NA Newtest17-256 255 + 3466 8.473954e-03 10 NA Newtest17-256 255 + 3467 2.617899e-02 11 NA Newtest17-256 255 + 3468 1.053385e-02 12 NA Newtest17-256 255 + 3469 1.259836e-02 13 NA Newtest17-256 255 + 3470 1.017695e-02 14 NA Newtest17-256 255 + 3471 5.656884e-03 15 NA Newtest17-256 255 + 3472 9.399419e-03 16 NA Newtest17-256 255 + 3473 9.282323e-03 17 NA Newtest17-256 255 + 3474 3.090947e-03 18 NA Newtest17-256 255 + 3475 8.168666e-03 19 NA Newtest17-256 255 + 3476 6.196221e-03 20 NA Newtest17-256 255 + 3477 5.163009e-03 21 NA Newtest17-256 255 + 3478 6.998644e-03 22 NA Newtest17-256 255 + 3479 2.517917e-03 23 NA Newtest17-256 255 + 3480 2.725252e-03 24 NA Newtest17-256 255 + 3481 7.737508e-03 25 NA Newtest17-256 255 + 3482 1.228976e-03 26 NA Newtest17-256 255 + 3483 4.905566e-03 27 NA Newtest17-256 255 + 3484 3.062687e-03 28 NA Newtest17-256 255 + 3485 1.554404e-03 29 NA Newtest17-256 255 + 3486 3.649613e-03 30 NA Newtest17-256 255 + 3487 3.071138e-03 31 NA Newtest17-256 255 + 3488 1.537402e-03 32 NA Newtest17-256 255 + 3489 3.494063e-03 33 NA Newtest17-256 255 + 3490 2.294926e-03 34 NA Newtest17-256 255 + 3491 2.705067e-03 35 NA Newtest17-256 255 + 3492 1.805525e-03 36 NA Newtest17-256 255 + 3493 1.189190e-03 37 NA Newtest17-256 255 + 3494 1.836426e-03 38 NA Newtest17-256 255 + 3495 3.833722e-03 39 NA Newtest17-256 255 + 3496 6.196092e-04 40 NA Newtest17-256 255 + 3497 4.262364e-03 41 NA Newtest17-256 255 + 3498 1.590350e-03 42 NA Newtest17-256 255 + 3499 1.936009e-03 43 NA Newtest17-256 255 + 3500 2.172208e-03 44 NA Newtest17-256 255 + 3501 2.708942e-03 45 NA Newtest17-256 255 + 3502 2.709313e-03 46 NA Newtest17-256 255 + 3503 1.887740e-03 47 NA Newtest17-256 255 + 3504 1.146382e-03 48 NA Newtest17-256 255 + 3505 8.174053e-02 49 NA Newtest17-256 255 + 3506 4.367750e-01 50 NA Newtest17-256 255 + 3507 8.424726e-02 51 NA Newtest17-256 255 + 3508 2.139884e-03 52 NA Newtest17-256 255 + 3509 1.332933e-03 53 NA Newtest17-256 255 + 3510 2.229178e-03 54 NA Newtest17-256 255 + 3511 1.701466e-03 55 NA Newtest17-256 255 + 3512 8.275801e-04 56 NA Newtest17-256 255 + 3513 7.130485e-04 57 NA Newtest17-256 255 + 3514 9.620258e-04 58 NA Newtest17-256 255 + 3515 1.957568e-03 59 NA Newtest17-256 255 + 3516 1.013291e-03 60 NA Newtest17-256 255 + 3517 5.953766e-04 61 NA Newtest17-256 255 + 3518 9.138273e-04 62 NA Newtest17-256 255 + 3519 2.273283e-03 63 NA Newtest17-256 255 + 3520 6.259324e-04 64 NA Newtest17-256 255 + 3521 1.034423e-03 65 NA Newtest17-256 255 + 3522 1.534489e-03 66 NA Newtest17-256 255 + 3523 4.593941e-04 67 NA Newtest17-256 255 + 3524 1.230796e-03 68 NA Newtest17-256 255 + 3525 1.274827e-03 69 NA Newtest17-256 255 + 3526 9.664620e-04 70 NA Newtest17-256 255 + 3527 1.128479e-03 71 NA Newtest17-256 255 + 3528 1.622654e-03 72 NA Newtest17-256 255 + 3529 1.037468e-03 73 NA Newtest17-256 255 + 3530 4.187232e-04 74 NA Newtest17-256 255 + 3531 7.777137e-04 75 NA Newtest17-256 255 + 3532 6.442563e-04 76 NA Newtest17-256 255 + 3533 1.055956e-03 77 NA Newtest17-256 255 + 3534 3.065294e-03 78 NA Newtest17-256 255 + 3535 9.185966e-04 79 NA Newtest17-256 255 + 3536 1.918099e-03 80 NA Newtest17-256 255 + 3537 1.873986e-03 81 NA Newtest17-256 255 + 3538 4.198451e-04 82 NA Newtest17-256 255 + 3539 1.408264e-03 83 NA Newtest17-256 255 + 3540 1.410252e-03 84 NA Newtest17-256 255 + 3541 1.242456e-03 85 NA Newtest17-256 255 + 3542 7.723471e-04 86 NA Newtest17-256 255 + 3543 1.530500e-03 87 NA Newtest17-256 255 + 3544 1.152855e-03 88 NA Newtest17-256 255 + 3545 1.256421e-04 89 NA Newtest17-256 255 + 3546 1.497823e-03 90 NA Newtest17-256 255 + 3547 1.094769e-03 91 NA Newtest17-256 255 + 3548 3.589929e-04 92 NA Newtest17-256 255 + 3549 3.773974e-03 93 NA Newtest17-256 255 + 3550 7.582253e-03 94 NA Newtest17-256 255 + 3551 1.533105e-03 95 NA Newtest17-256 255 + 3552 6.088827e-04 96 NA Newtest17-256 255 + 3553 7.715931e-04 97 NA Newtest17-256 255 + 3554 9.198331e-04 98 NA Newtest17-256 255 + 3555 2.984836e-03 99 NA Newtest17-256 255 + 3556 8.729919e-03 100 NA Newtest17-256 255 + 3557 1.822672e-03 101 NA Newtest17-256 255 + 3558 6.842680e-04 102 NA Newtest17-256 255 + 3559 5.340372e-04 103 NA Newtest17-256 255 + 3560 1.132052e-03 104 NA Newtest17-256 255 + 3561 1.447226e-03 105 NA Newtest17-256 255 + 3562 4.031944e-03 106 NA Newtest17-256 255 + 3563 2.017725e-03 107 NA Newtest17-256 255 + 3564 7.471303e-04 108 NA Newtest17-256 255 + 3565 5.115084e-04 109 NA Newtest17-256 255 + 3566 6.075099e-04 110 NA Newtest17-256 255 + 3567 1.468714e-03 111 NA Newtest17-256 255 + 3568 1.362019e-03 112 NA Newtest17-256 255 + 3569 6.593897e-04 113 NA Newtest17-256 255 + 3570 1.002785e-03 114 NA Newtest17-256 255 + 3571 8.777035e-04 115 NA Newtest17-256 255 + 3572 9.933167e-04 116 NA Newtest17-256 255 + 3573 6.543626e-04 117 NA Newtest17-256 255 + 3574 2.579138e-03 118 NA Newtest17-256 255 + 3575 1.881849e-03 119 NA Newtest17-256 255 + 3576 1.388330e-03 120 NA Newtest17-256 255 + 3577 1.262325e-03 121 NA Newtest17-256 255 + 3578 4.083428e-04 122 NA Newtest17-256 255 + 3579 5.103945e-04 123 NA Newtest17-256 255 + 3580 1.945416e-03 124 NA Newtest17-256 255 + 3581 1.576217e-03 125 NA Newtest17-256 255 + 3582 1.462913e-03 126 NA Newtest17-256 255 + 3583 7.727805e-04 127 NA Newtest17-256 255 + 3584 4.982065e-04 128 NA Newtest17-256 255 + 3585 1.233621e+00 1 NA Newtest17-256 255 + 3586 2.064338e+02 2 NA Newtest17-256 255 + 3587 3.253308e+02 3 NA Newtest17-256 255 + 3588 1.323741e+01 4 NA Newtest17-256 255 + 3589 7.021049e-02 5 NA Newtest17-256 255 + 3590 2.958296e-02 6 NA Newtest17-256 255 + 3591 9.724001e-02 7 NA Newtest17-256 255 + 3592 3.308725e-01 8 NA Newtest17-256 255 + 3593 4.330562e-02 9 NA Newtest17-256 255 + 3594 3.767981e-02 10 NA Newtest17-256 255 + 3595 8.821792e-03 11 NA Newtest17-256 255 + 3596 1.702256e-02 12 NA Newtest17-256 255 + 3597 1.988999e-02 13 NA Newtest17-256 255 + 3598 4.403373e-03 14 NA Newtest17-256 255 + 3599 1.235548e-02 15 NA Newtest17-256 255 + 3600 5.584238e-03 16 NA Newtest17-256 255 + 3601 6.530946e-03 17 NA Newtest17-256 255 + 3602 7.503388e-03 18 NA Newtest17-256 255 + 3603 3.376250e-03 19 NA Newtest17-256 255 + 3604 6.666082e-03 20 NA Newtest17-256 255 + 3605 4.337771e-03 21 NA Newtest17-256 255 + 3606 2.989714e-03 22 NA Newtest17-256 255 + 3607 3.033752e-03 23 NA Newtest17-256 255 + 3608 5.479255e-03 24 NA Newtest17-256 255 + 3609 2.259711e-03 25 NA Newtest17-256 255 + 3610 4.779339e-03 26 NA Newtest17-256 255 + 3611 2.905363e-03 27 NA Newtest17-256 255 + 3612 2.850543e-03 28 NA Newtest17-256 255 + 3613 2.557344e-03 29 NA Newtest17-256 255 + 3614 2.415052e-03 30 NA Newtest17-256 255 + 3615 3.404622e-03 31 NA Newtest17-256 255 + 3616 3.131533e-03 32 NA Newtest17-256 255 + 3617 2.558369e-03 33 NA Newtest17-256 255 + 3618 4.602412e-03 34 NA Newtest17-256 255 + 3619 1.486747e-03 35 NA Newtest17-256 255 + 3620 1.574384e-03 36 NA Newtest17-256 255 + 3621 1.088044e-03 37 NA Newtest17-256 255 + 3622 4.217022e-03 38 NA Newtest17-256 255 + 3623 3.475271e-04 39 NA Newtest17-256 255 + 3624 1.018056e-03 40 NA Newtest17-256 255 + 3625 3.914452e-03 41 NA Newtest17-256 255 + 3626 2.675443e-04 42 NA Newtest17-256 255 + 3627 3.735969e-03 43 NA Newtest17-256 255 + 3628 7.771448e-04 44 NA Newtest17-256 255 + 3629 7.786152e-04 45 NA Newtest17-256 255 + 3630 1.610161e-03 46 NA Newtest17-256 255 + 3631 1.260857e-03 47 NA Newtest17-256 255 + 3632 9.399602e-04 48 NA Newtest17-256 255 + 3633 7.047909e-02 49 NA Newtest17-256 255 + 3634 3.961094e-01 50 NA Newtest17-256 255 + 3635 7.107773e-02 51 NA Newtest17-256 255 + 3636 1.556605e-03 52 NA Newtest17-256 255 + 3637 1.653092e-03 53 NA Newtest17-256 255 + 3638 2.241254e-03 54 NA Newtest17-256 255 + 3639 5.002599e-04 55 NA Newtest17-256 255 + 3640 3.371239e-03 56 NA Newtest17-256 255 + 3641 1.661307e-03 57 NA Newtest17-256 255 + 3642 6.384079e-04 58 NA Newtest17-256 255 + 3643 1.265945e-03 59 NA Newtest17-256 255 + 3644 6.575491e-04 60 NA Newtest17-256 255 + 3645 1.193249e-03 61 NA Newtest17-256 255 + 3646 1.637559e-03 62 NA Newtest17-256 255 + 3647 2.009987e-03 63 NA Newtest17-256 255 + 3648 9.626037e-04 64 NA Newtest17-256 255 + 3649 7.066706e-04 65 NA Newtest17-256 255 + 3650 1.129334e-03 66 NA Newtest17-256 255 + 3651 1.579654e-03 67 NA Newtest17-256 255 + 3652 1.633747e-03 68 NA Newtest17-256 255 + 3653 4.487214e-04 69 NA Newtest17-256 255 + 3654 1.478067e-03 70 NA Newtest17-256 255 + 3655 9.402597e-04 71 NA Newtest17-256 255 + 3656 3.926416e-04 72 NA Newtest17-256 255 + 3657 1.507414e-03 73 NA Newtest17-256 255 + 3658 1.258997e-03 74 NA Newtest17-256 255 + 3659 1.407640e-03 75 NA Newtest17-256 255 + 3660 1.298417e-03 76 NA Newtest17-256 255 + 3661 7.072660e-04 77 NA Newtest17-256 255 + 3662 2.447492e-03 78 NA Newtest17-256 255 + 3663 9.994781e-04 79 NA Newtest17-256 255 + 3664 1.467292e-03 80 NA Newtest17-256 255 + 3665 8.711163e-04 81 NA Newtest17-256 255 + 3666 1.066087e-03 82 NA Newtest17-256 255 + 3667 8.370894e-04 83 NA Newtest17-256 255 + 3668 1.494214e-03 84 NA Newtest17-256 255 + 3669 1.368365e-03 85 NA Newtest17-256 255 + 3670 8.180016e-04 86 NA Newtest17-256 255 + 3671 1.488664e-03 87 NA Newtest17-256 255 + 3672 5.488897e-04 88 NA Newtest17-256 255 + 3673 4.214892e-04 89 NA Newtest17-256 255 + 3674 1.121613e-03 90 NA Newtest17-256 255 + 3675 2.150761e-04 91 NA Newtest17-256 255 + 3676 8.037457e-04 92 NA Newtest17-256 255 + 3677 2.017928e-03 93 NA Newtest17-256 255 + 3678 8.717816e-03 94 NA Newtest17-256 255 + 3679 2.199874e-03 95 NA Newtest17-256 255 + 3680 8.130712e-04 96 NA Newtest17-256 255 + 3681 1.370337e-03 97 NA Newtest17-256 255 + 3682 1.405876e-03 98 NA Newtest17-256 255 + 3683 2.975611e-03 99 NA Newtest17-256 255 + 3684 9.898260e-03 100 NA Newtest17-256 255 + 3685 1.505993e-03 101 NA Newtest17-256 255 + 3686 7.460200e-04 102 NA Newtest17-256 255 + 3687 5.612866e-04 103 NA Newtest17-256 255 + 3688 9.200400e-04 104 NA Newtest17-256 255 + 3689 1.038854e-03 105 NA Newtest17-256 255 + 3690 4.947303e-03 106 NA Newtest17-256 255 + 3691 1.576164e-03 107 NA Newtest17-256 255 + 3692 1.442047e-04 108 NA Newtest17-256 255 + 3693 1.046578e-03 109 NA Newtest17-256 255 + 3694 1.811854e-03 110 NA Newtest17-256 255 + 3695 5.835331e-04 111 NA Newtest17-256 255 + 3696 2.928851e-04 112 NA Newtest17-256 255 + 3697 8.683705e-04 113 NA Newtest17-256 255 + 3698 4.932208e-04 114 NA Newtest17-256 255 + 3699 5.032391e-04 115 NA Newtest17-256 255 + 3700 1.354439e-03 116 NA Newtest17-256 255 + 3701 1.997378e-03 117 NA Newtest17-256 255 + 3702 1.368451e-03 118 NA Newtest17-256 255 + 3703 1.339583e-03 119 NA Newtest17-256 255 + 3704 7.156703e-04 120 NA Newtest17-256 255 + 3705 9.604580e-04 121 NA Newtest17-256 255 + 3706 4.707230e-04 122 NA Newtest17-256 255 + 3707 1.381378e-03 123 NA Newtest17-256 255 + 3708 6.911788e-04 124 NA Newtest17-256 255 + 3709 4.646365e-04 125 NA Newtest17-256 255 + 3710 5.306507e-04 126 NA Newtest17-256 255 + 3711 1.848389e-03 127 NA Newtest17-256 255 + 3712 3.877871e-04 128 NA Newtest17-256 255 + 3713 1.173546e+00 1 NA Newtest17-256 255 + 3714 2.066185e+02 2 NA Newtest17-256 255 + 3715 3.238789e+02 3 NA Newtest17-256 255 + 3716 1.326482e+01 4 NA Newtest17-256 255 + 3717 7.303520e-02 5 NA Newtest17-256 255 + 3718 2.415513e-02 6 NA Newtest17-256 255 + 3719 8.762850e-02 7 NA Newtest17-256 255 + 3720 2.897800e-01 8 NA Newtest17-256 255 + 3721 4.807182e-02 9 NA Newtest17-256 255 + 3722 2.287436e-02 10 NA Newtest17-256 255 + 3723 1.801804e-02 11 NA Newtest17-256 255 + 3724 6.362008e-03 12 NA Newtest17-256 255 + 3725 2.158056e-02 13 NA Newtest17-256 255 + 3726 7.167825e-03 14 NA Newtest17-256 255 + 3727 7.600693e-03 15 NA Newtest17-256 255 + 3728 4.938245e-03 16 NA Newtest17-256 255 + 3729 7.217960e-03 17 NA Newtest17-256 255 + 3730 8.654154e-03 18 NA Newtest17-256 255 + 3731 1.842666e-03 19 NA Newtest17-256 255 + 3732 7.242230e-03 20 NA Newtest17-256 255 + 3733 3.836851e-03 21 NA Newtest17-256 255 + 3734 5.681546e-03 22 NA Newtest17-256 255 + 3735 1.063060e-03 23 NA Newtest17-256 255 + 3736 3.099156e-03 24 NA Newtest17-256 255 + 3737 3.157723e-03 25 NA Newtest17-256 255 + 3738 2.958044e-03 26 NA Newtest17-256 255 + 3739 1.441339e-03 27 NA Newtest17-256 255 + 3740 1.729327e-03 28 NA Newtest17-256 255 + 3741 2.357592e-03 29 NA Newtest17-256 255 + 3742 1.825430e-03 30 NA Newtest17-256 255 + 3743 1.748301e-03 31 NA Newtest17-256 255 + 3744 2.283788e-03 32 NA Newtest17-256 255 + 3745 2.688834e-03 33 NA Newtest17-256 255 + 3746 1.871538e-03 34 NA Newtest17-256 255 + 3747 1.567540e-03 35 NA Newtest17-256 255 + 3748 1.378281e-03 36 NA Newtest17-256 255 + 3749 1.481392e-03 37 NA Newtest17-256 255 + 3750 2.934440e-03 38 NA Newtest17-256 255 + 3751 8.412589e-04 39 NA Newtest17-256 255 + 3752 3.664250e-03 40 NA Newtest17-256 255 + 3753 5.489528e-04 41 NA Newtest17-256 255 + 3754 2.140336e-03 42 NA Newtest17-256 255 + 3755 9.460982e-04 43 NA Newtest17-256 255 + 3756 1.938879e-03 44 NA Newtest17-256 255 + 3757 2.613792e-03 45 NA Newtest17-256 255 + 3758 1.202808e-03 46 NA Newtest17-256 255 + 3759 1.606769e-03 47 NA Newtest17-256 255 + 3760 2.854494e-03 48 NA Newtest17-256 255 + 3761 8.436912e-02 49 NA Newtest17-256 255 + 3762 4.424629e-01 50 NA Newtest17-256 255 + 3763 8.206549e-02 51 NA Newtest17-256 255 + 3764 1.423866e-03 52 NA Newtest17-256 255 + 3765 1.550465e-03 53 NA Newtest17-256 255 + 3766 1.634505e-03 54 NA Newtest17-256 255 + 3767 1.279729e-03 55 NA Newtest17-256 255 + 3768 3.930394e-04 56 NA Newtest17-256 255 + 3769 1.847870e-03 57 NA Newtest17-256 255 + 3770 2.094309e-04 58 NA Newtest17-256 255 + 3771 1.871118e-03 59 NA Newtest17-256 255 + 3772 6.787940e-04 60 NA Newtest17-256 255 + 3773 8.216776e-04 61 NA Newtest17-256 255 + 3774 2.009263e-03 62 NA Newtest17-256 255 + 3775 3.312157e-03 63 NA Newtest17-256 255 + 3776 9.587176e-04 64 NA Newtest17-256 255 + 3777 1.767508e-03 65 NA Newtest17-256 255 + 3778 4.215720e-04 66 NA Newtest17-256 255 + 3779 5.348331e-04 67 NA Newtest17-256 255 + 3780 1.671851e-03 68 NA Newtest17-256 255 + 3781 1.614343e-03 69 NA Newtest17-256 255 + 3782 1.398544e-03 70 NA Newtest17-256 255 + 3783 2.481885e-04 71 NA Newtest17-256 255 + 3784 1.175512e-03 72 NA Newtest17-256 255 + 3785 4.861211e-04 73 NA Newtest17-256 255 + 3786 1.384286e-03 74 NA Newtest17-256 255 + 3787 1.368730e-03 75 NA Newtest17-256 255 + 3788 1.144785e-03 76 NA Newtest17-256 255 + 3789 4.407570e-04 77 NA Newtest17-256 255 + 3790 1.287968e-03 78 NA Newtest17-256 255 + 3791 2.357524e-04 79 NA Newtest17-256 255 + 3792 9.560143e-04 80 NA Newtest17-256 255 + 3793 6.457199e-04 81 NA Newtest17-256 255 + 3794 5.658294e-04 82 NA Newtest17-256 255 + 3795 5.942616e-04 83 NA Newtest17-256 255 + 3796 7.854841e-04 84 NA Newtest17-256 255 + 3797 7.691888e-04 85 NA Newtest17-256 255 + 3798 1.690203e-03 86 NA Newtest17-256 255 + 3799 5.475263e-04 87 NA Newtest17-256 255 + 3800 7.493152e-04 88 NA Newtest17-256 255 + 3801 2.782723e-04 89 NA Newtest17-256 255 + 3802 9.181924e-04 90 NA Newtest17-256 255 + 3803 1.305370e-03 91 NA Newtest17-256 255 + 3804 1.785702e-03 92 NA Newtest17-256 255 + 3805 5.292012e-03 93 NA Newtest17-256 255 + 3806 1.104176e-02 94 NA Newtest17-256 255 + 3807 2.317989e-03 95 NA Newtest17-256 255 + 3808 1.505710e-03 96 NA Newtest17-256 255 + 3809 1.275177e-03 97 NA Newtest17-256 255 + 3810 8.926630e-04 98 NA Newtest17-256 255 + 3811 2.008207e-03 99 NA Newtest17-256 255 + 3812 8.339072e-03 100 NA Newtest17-256 255 + 3813 1.688970e-03 101 NA Newtest17-256 255 + 3814 7.442695e-04 102 NA Newtest17-256 255 + 3815 4.295081e-04 103 NA Newtest17-256 255 + 3816 4.304112e-04 104 NA Newtest17-256 255 + 3817 1.060223e-03 105 NA Newtest17-256 255 + 3818 4.480569e-03 106 NA Newtest17-256 255 + 3819 8.558513e-04 107 NA Newtest17-256 255 + 3820 3.146626e-04 108 NA Newtest17-256 255 + 3821 1.814929e-03 109 NA Newtest17-256 255 + 3822 6.716961e-04 110 NA Newtest17-256 255 + 3823 7.078130e-04 111 NA Newtest17-256 255 + 3824 1.016332e-03 112 NA Newtest17-256 255 + 3825 4.193316e-04 113 NA Newtest17-256 255 + 3826 5.055884e-04 114 NA Newtest17-256 255 + 3827 1.411116e-03 115 NA Newtest17-256 255 + 3828 9.893738e-04 116 NA Newtest17-256 255 + 3829 4.250972e-04 117 NA Newtest17-256 255 + 3830 1.407971e-03 118 NA Newtest17-256 255 + 3831 1.104353e-03 119 NA Newtest17-256 255 + 3832 1.047339e-03 120 NA Newtest17-256 255 + 3833 7.749876e-04 121 NA Newtest17-256 255 + 3834 1.061505e-03 122 NA Newtest17-256 255 + 3835 2.603863e-03 123 NA Newtest17-256 255 + 3836 6.783645e-04 124 NA Newtest17-256 255 + 3837 2.139953e-03 125 NA Newtest17-256 255 + 3838 1.814310e-03 126 NA Newtest17-256 255 + 3839 8.945930e-04 127 NA Newtest17-256 255 + 3840 4.162807e-04 128 NA Newtest17-256 255 + 3841 1.316227e+00 1 NA Newtest17-256 255 + 3842 2.066626e+02 2 NA Newtest17-256 255 + 3843 3.257941e+02 3 NA Newtest17-256 255 + 3844 1.327944e+01 4 NA Newtest17-256 255 + 3845 4.978806e-02 5 NA Newtest17-256 255 + 3846 3.632840e-02 6 NA Newtest17-256 255 + 3847 1.048553e-01 7 NA Newtest17-256 255 + 3848 3.140297e-01 8 NA Newtest17-256 255 + 3849 5.353612e-02 9 NA Newtest17-256 255 + 3850 2.847191e-02 10 NA Newtest17-256 255 + 3851 1.513422e-02 11 NA Newtest17-256 255 + 3852 9.626567e-03 12 NA Newtest17-256 255 + 3853 2.021377e-02 13 NA Newtest17-256 255 + 3854 6.611053e-03 14 NA Newtest17-256 255 + 3855 9.015634e-03 15 NA Newtest17-256 255 + 3856 8.636443e-03 16 NA Newtest17-256 255 + 3857 3.797897e-03 17 NA Newtest17-256 255 + 3858 1.000696e-02 18 NA Newtest17-256 255 + 3859 5.238015e-03 19 NA Newtest17-256 255 + 3860 4.443547e-03 20 NA Newtest17-256 255 + 3861 6.162956e-03 21 NA Newtest17-256 255 + 3862 1.404683e-03 22 NA Newtest17-256 255 + 3863 4.338691e-03 23 NA Newtest17-256 255 + 3864 2.517244e-03 24 NA Newtest17-256 255 + 3865 2.809759e-03 25 NA Newtest17-256 255 + 3866 1.926185e-03 26 NA Newtest17-256 255 + 3867 5.568301e-03 27 NA Newtest17-256 255 + 3868 4.527642e-04 28 NA Newtest17-256 255 + 3869 4.083740e-03 29 NA Newtest17-256 255 + 3870 1.922236e-03 30 NA Newtest17-256 255 + 3871 2.356849e-03 31 NA Newtest17-256 255 + 3872 1.295454e-03 32 NA Newtest17-256 255 + 3873 1.996767e-03 33 NA Newtest17-256 255 + 3874 1.555069e-03 34 NA Newtest17-256 255 + 3875 3.366958e-03 35 NA Newtest17-256 255 + 3876 3.022395e-03 36 NA Newtest17-256 255 + 3877 3.085005e-03 37 NA Newtest17-256 255 + 3878 2.643915e-03 38 NA Newtest17-256 255 + 3879 4.046351e-03 39 NA Newtest17-256 255 + 3880 2.877519e-03 40 NA Newtest17-256 255 + 3881 7.274473e-04 41 NA Newtest17-256 255 + 3882 1.855058e-03 42 NA Newtest17-256 255 + 3883 1.438441e-03 43 NA Newtest17-256 255 + 3884 1.656211e-03 44 NA Newtest17-256 255 + 3885 1.871321e-03 45 NA Newtest17-256 255 + 3886 1.317415e-03 46 NA Newtest17-256 255 + 3887 2.016078e-03 47 NA Newtest17-256 255 + 3888 1.590995e-03 48 NA Newtest17-256 255 + 3889 7.350613e-02 49 NA Newtest17-256 255 + 3890 4.298360e-01 50 NA Newtest17-256 255 + 3891 7.726774e-02 51 NA Newtest17-256 255 + 3892 1.031308e-03 52 NA Newtest17-256 255 + 3893 1.191253e-03 53 NA Newtest17-256 255 + 3894 1.998157e-03 54 NA Newtest17-256 255 + 3895 8.972385e-04 55 NA Newtest17-256 255 + 3896 8.073544e-04 56 NA Newtest17-256 255 + 3897 2.328079e-03 57 NA Newtest17-256 255 + 3898 5.829902e-04 58 NA Newtest17-256 255 + 3899 1.181393e-03 59 NA Newtest17-256 255 + 3900 6.661130e-04 60 NA Newtest17-256 255 + 3901 5.527217e-04 61 NA Newtest17-256 255 + 3902 1.306146e-03 62 NA Newtest17-256 255 + 3903 8.097150e-04 63 NA Newtest17-256 255 + 3904 2.348232e-03 64 NA Newtest17-256 255 + 3905 1.839360e-03 65 NA Newtest17-256 255 + 3906 7.824817e-04 66 NA Newtest17-256 255 + 3907 2.063648e-03 67 NA Newtest17-256 255 + 3908 8.516011e-04 68 NA Newtest17-256 255 + 3909 2.916203e-03 69 NA Newtest17-256 255 + 3910 9.867728e-04 70 NA Newtest17-256 255 + 3911 6.035094e-04 71 NA Newtest17-256 255 + 3912 1.248334e-03 72 NA Newtest17-256 255 + 3913 1.031514e-03 73 NA Newtest17-256 255 + 3914 9.930133e-04 74 NA Newtest17-256 255 + 3915 5.383020e-04 75 NA Newtest17-256 255 + 3916 1.313847e-03 76 NA Newtest17-256 255 + 3917 4.591890e-04 77 NA Newtest17-256 255 + 3918 3.388222e-04 78 NA Newtest17-256 255 + 3919 1.535640e-03 79 NA Newtest17-256 255 + 3920 3.440339e-04 80 NA Newtest17-256 255 + 3921 6.712980e-04 81 NA Newtest17-256 255 + 3922 2.160400e-03 82 NA Newtest17-256 255 + 3923 1.540237e-03 83 NA Newtest17-256 255 + 3924 8.636858e-04 84 NA Newtest17-256 255 + 3925 2.356981e-03 85 NA Newtest17-256 255 + 3926 6.536349e-04 86 NA Newtest17-256 255 + 3927 1.054642e-03 87 NA Newtest17-256 255 + 3928 7.347626e-04 88 NA Newtest17-256 255 + 3929 1.060021e-03 89 NA Newtest17-256 255 + 3930 1.718688e-03 90 NA Newtest17-256 255 + 3931 1.400977e-03 91 NA Newtest17-256 255 + 3932 7.771228e-04 92 NA Newtest17-256 255 + 3933 1.727663e-03 93 NA Newtest17-256 255 + 3934 6.230663e-03 94 NA Newtest17-256 255 + 3935 2.387169e-03 95 NA Newtest17-256 255 + 3936 1.348621e-03 96 NA Newtest17-256 255 + 3937 1.286037e-03 97 NA Newtest17-256 255 + 3938 2.148169e-03 98 NA Newtest17-256 255 + 3939 3.418076e-03 99 NA Newtest17-256 255 + 3940 6.087423e-03 100 NA Newtest17-256 255 + 3941 1.224321e-03 101 NA Newtest17-256 255 + 3942 1.387521e-03 102 NA Newtest17-256 255 + 3943 7.764562e-04 103 NA Newtest17-256 255 + 3944 7.862839e-04 104 NA Newtest17-256 255 + 3945 7.270139e-04 105 NA Newtest17-256 255 + 3946 4.600476e-03 106 NA Newtest17-256 255 + 3947 1.607579e-03 107 NA Newtest17-256 255 + 3948 3.054259e-04 108 NA Newtest17-256 255 + 3949 1.435826e-03 109 NA Newtest17-256 255 + 3950 1.163326e-03 110 NA Newtest17-256 255 + 3951 7.950336e-04 111 NA Newtest17-256 255 + 3952 7.098266e-04 112 NA Newtest17-256 255 + 3953 4.112884e-04 113 NA Newtest17-256 255 + 3954 7.554379e-04 114 NA Newtest17-256 255 + 3955 7.821954e-04 115 NA Newtest17-256 255 + 3956 7.328883e-04 116 NA Newtest17-256 255 + 3957 9.199134e-04 117 NA Newtest17-256 255 + 3958 1.811569e-03 118 NA Newtest17-256 255 + 3959 1.006953e-03 119 NA Newtest17-256 255 + 3960 1.083516e-03 120 NA Newtest17-256 255 + 3961 1.834854e-03 121 NA Newtest17-256 255 + 3962 1.644883e-03 122 NA Newtest17-256 255 + 3963 4.122837e-04 123 NA Newtest17-256 255 + 3964 2.944886e-03 124 NA Newtest17-256 255 + 3965 1.458791e-03 125 NA Newtest17-256 255 + 3966 1.074639e-03 126 NA Newtest17-256 255 + 3967 1.892418e-04 127 NA Newtest17-256 255 + 3968 4.355783e-04 128 NA Newtest17-256 255 + 3969 1.094427e+00 1 NA Newtest17-256 255 + 3970 2.077388e+02 2 NA Newtest17-256 255 + 3971 3.245915e+02 3 NA Newtest17-256 255 + 3972 1.325670e+01 4 NA Newtest17-256 255 + 3973 2.777774e-02 5 NA Newtest17-256 255 + 3974 4.541270e-02 6 NA Newtest17-256 255 + 3975 9.495602e-02 7 NA Newtest17-256 255 + 3976 2.764435e-01 8 NA Newtest17-256 255 + 3977 5.373461e-02 9 NA Newtest17-256 255 + 3978 1.160389e-02 10 NA Newtest17-256 255 + 3979 1.557112e-02 11 NA Newtest17-256 255 + 3980 1.211119e-02 12 NA Newtest17-256 255 + 3981 1.549057e-02 13 NA Newtest17-256 255 + 3982 7.410354e-03 14 NA Newtest17-256 255 + 3983 1.397944e-02 15 NA Newtest17-256 255 + 3984 5.129450e-03 16 NA Newtest17-256 255 + 3985 6.603894e-03 17 NA Newtest17-256 255 + 3986 4.926668e-03 18 NA Newtest17-256 255 + 3987 7.107581e-03 19 NA Newtest17-256 255 + 3988 2.477583e-03 20 NA Newtest17-256 255 + 3989 6.423752e-03 21 NA Newtest17-256 255 + 3990 4.858589e-03 22 NA Newtest17-256 255 + 3991 2.033227e-03 23 NA Newtest17-256 255 + 3992 4.902127e-03 24 NA Newtest17-256 255 + 3993 2.875669e-03 25 NA Newtest17-256 255 + 3994 2.673500e-03 26 NA Newtest17-256 255 + 3995 3.359343e-03 27 NA Newtest17-256 255 + 3996 1.254096e-03 28 NA Newtest17-256 255 + 3997 2.758477e-03 29 NA Newtest17-256 255 + 3998 1.564939e-03 30 NA Newtest17-256 255 + 3999 3.474130e-03 31 NA Newtest17-256 255 + 4000 2.203588e-03 32 NA Newtest17-256 255 + 4001 4.950610e-03 33 NA Newtest17-256 255 + 4002 2.803902e-03 34 NA Newtest17-256 255 + 4003 5.039107e-03 35 NA Newtest17-256 255 + 4004 1.375043e-03 36 NA Newtest17-256 255 + 4005 3.309595e-03 37 NA Newtest17-256 255 + 4006 1.609148e-03 38 NA Newtest17-256 255 + 4007 1.829001e-03 39 NA Newtest17-256 255 + 4008 1.893727e-03 40 NA Newtest17-256 255 + 4009 1.506572e-03 41 NA Newtest17-256 255 + 4010 8.986037e-04 42 NA Newtest17-256 255 + 4011 1.845050e-03 43 NA Newtest17-256 255 + 4012 1.109032e-03 44 NA Newtest17-256 255 + 4013 4.069915e-03 45 NA Newtest17-256 255 + 4014 1.157176e-03 46 NA Newtest17-256 255 + 4015 9.670038e-04 47 NA Newtest17-256 255 + 4016 1.767319e-03 48 NA Newtest17-256 255 + 4017 7.666718e-02 49 NA Newtest17-256 255 + 4018 4.009814e-01 50 NA Newtest17-256 255 + 4019 7.305889e-02 51 NA Newtest17-256 255 + 4020 1.130891e-03 52 NA Newtest17-256 255 + 4021 1.560452e-03 53 NA Newtest17-256 255 + 4022 8.537155e-04 54 NA Newtest17-256 255 + 4023 5.947682e-04 55 NA Newtest17-256 255 + 4024 1.969786e-03 56 NA Newtest17-256 255 + 4025 1.110370e-03 57 NA Newtest17-256 255 + 4026 1.025809e-03 58 NA Newtest17-256 255 + 4027 1.072976e-03 59 NA Newtest17-256 255 + 4028 4.226188e-04 60 NA Newtest17-256 255 + 4029 2.334755e-03 61 NA Newtest17-256 255 + 4030 9.910744e-04 62 NA Newtest17-256 255 + 4031 3.796822e-04 63 NA Newtest17-256 255 + 4032 1.753011e-03 64 NA Newtest17-256 255 + 4033 1.196974e-03 65 NA Newtest17-256 255 + 4034 2.440920e-03 66 NA Newtest17-256 255 + 4035 4.489171e-04 67 NA Newtest17-256 255 + 4036 6.707055e-04 68 NA Newtest17-256 255 + 4037 3.263288e-03 69 NA Newtest17-256 255 + 4038 1.450230e-03 70 NA Newtest17-256 255 + 4039 1.150843e-03 71 NA Newtest17-256 255 + 4040 9.444200e-04 72 NA Newtest17-256 255 + 4041 2.339514e-04 73 NA Newtest17-256 255 + 4042 2.339371e-03 74 NA Newtest17-256 255 + 4043 5.530471e-04 75 NA Newtest17-256 255 + 4044 2.184584e-03 76 NA Newtest17-256 255 + 4045 1.645854e-03 77 NA Newtest17-256 255 + 4046 2.939023e-04 78 NA Newtest17-256 255 + 4047 1.763829e-03 79 NA Newtest17-256 255 + 4048 1.180527e-03 80 NA Newtest17-256 255 + 4049 1.909641e-03 81 NA Newtest17-256 255 + 4050 2.408423e-03 82 NA Newtest17-256 255 + 4051 1.599719e-03 83 NA Newtest17-256 255 + 4052 1.073678e-03 84 NA Newtest17-256 255 + 4053 3.969568e-04 85 NA Newtest17-256 255 + 4054 1.841089e-03 86 NA Newtest17-256 255 + 4055 3.811105e-03 87 NA Newtest17-256 255 + 4056 6.598308e-04 88 NA Newtest17-256 255 + 4057 3.470223e-03 89 NA Newtest17-256 255 + 4058 9.787902e-04 90 NA Newtest17-256 255 + 4059 1.724780e-03 91 NA Newtest17-256 255 + 4060 8.929737e-04 92 NA Newtest17-256 255 + 4061 2.762116e-03 93 NA Newtest17-256 255 + 4062 4.515465e-03 94 NA Newtest17-256 255 + 4063 2.758447e-03 95 NA Newtest17-256 255 + 4064 1.386894e-03 96 NA Newtest17-256 255 + 4065 2.760921e-03 97 NA Newtest17-256 255 + 4066 9.619043e-04 98 NA Newtest17-256 255 + 4067 3.354372e-03 99 NA Newtest17-256 255 + 4068 7.213358e-03 100 NA Newtest17-256 255 + 4069 2.536845e-03 101 NA Newtest17-256 255 + 4070 1.028214e-03 102 NA Newtest17-256 255 + 4071 1.305541e-03 103 NA Newtest17-256 255 + 4072 1.847439e-03 104 NA Newtest17-256 255 + 4073 1.043443e-03 105 NA Newtest17-256 255 + 4074 4.765157e-03 106 NA Newtest17-256 255 + 4075 2.031607e-03 107 NA Newtest17-256 255 + 4076 8.008983e-04 108 NA Newtest17-256 255 + 4077 1.380760e-03 109 NA Newtest17-256 255 + 4078 6.643213e-04 110 NA Newtest17-256 255 + 4079 1.206142e-03 111 NA Newtest17-256 255 + 4080 2.311756e-03 112 NA Newtest17-256 255 + 4081 1.075147e-03 113 NA Newtest17-256 255 + 4082 5.176592e-04 114 NA Newtest17-256 255 + 4083 7.050410e-04 115 NA Newtest17-256 255 + 4084 1.446231e-03 116 NA Newtest17-256 255 + 4085 1.601812e-03 117 NA Newtest17-256 255 + 4086 3.347658e-03 118 NA Newtest17-256 255 + 4087 3.622470e-03 119 NA Newtest17-256 255 + 4088 5.483014e-04 120 NA Newtest17-256 255 + 4089 1.255984e-04 121 NA Newtest17-256 255 + 4090 9.169448e-04 122 NA Newtest17-256 255 + 4091 4.972130e-04 123 NA Newtest17-256 255 + 4092 1.186730e-03 124 NA Newtest17-256 255 + 4093 8.067801e-04 125 NA Newtest17-256 255 + 4094 4.445694e-04 126 NA Newtest17-256 255 + 4095 3.292840e-04 127 NA Newtest17-256 255 + 4096 2.570357e-04 128 NA Newtest17-256 255 + 4097 1.477376e+00 1 NA Newtest17-256 255 + 4098 2.060291e+02 2 NA Newtest17-256 255 + 4099 3.262590e+02 3 NA Newtest17-256 255 + 4100 1.345539e+01 4 NA Newtest17-256 255 + 4101 5.317490e-02 5 NA Newtest17-256 255 + 4102 3.093475e-02 6 NA Newtest17-256 255 + 4103 9.432207e-02 7 NA Newtest17-256 255 + 4104 3.404586e-01 8 NA Newtest17-256 255 + 4105 5.921260e-02 9 NA Newtest17-256 255 + 4106 3.196174e-02 10 NA Newtest17-256 255 + 4107 7.249803e-03 11 NA Newtest17-256 255 + 4108 1.632790e-02 12 NA Newtest17-256 255 + 4109 2.267032e-02 13 NA Newtest17-256 255 + 4110 1.183475e-02 14 NA Newtest17-256 255 + 4111 1.451987e-02 15 NA Newtest17-256 255 + 4112 6.792785e-03 16 NA Newtest17-256 255 + 4113 4.749589e-03 17 NA Newtest17-256 255 + 4114 6.466534e-03 18 NA Newtest17-256 255 + 4115 9.609096e-03 19 NA Newtest17-256 255 + 4116 4.104196e-03 20 NA Newtest17-256 255 + 4117 6.685441e-03 21 NA Newtest17-256 255 + 4118 3.060712e-03 22 NA Newtest17-256 255 + 4119 7.670600e-03 23 NA Newtest17-256 255 + 4120 2.938024e-03 24 NA Newtest17-256 255 + 4121 2.031613e-03 25 NA Newtest17-256 255 + 4122 8.029769e-03 26 NA Newtest17-256 255 + 4123 3.026621e-03 27 NA Newtest17-256 255 + 4124 5.145294e-03 28 NA Newtest17-256 255 + 4125 2.549255e-03 29 NA Newtest17-256 255 + 4126 4.601275e-03 30 NA Newtest17-256 255 + 4127 9.974548e-04 31 NA Newtest17-256 255 + 4128 1.936682e-03 32 NA Newtest17-256 255 + 4129 8.259488e-03 33 NA Newtest17-256 255 + 4130 2.784054e-03 34 NA Newtest17-256 255 + 4131 3.031234e-03 35 NA Newtest17-256 255 + 4132 2.202929e-03 36 NA Newtest17-256 255 + 4133 1.957402e-03 37 NA Newtest17-256 255 + 4134 9.476269e-04 38 NA Newtest17-256 255 + 4135 9.781568e-03 39 NA Newtest17-256 255 + 4136 2.922536e-03 40 NA Newtest17-256 255 + 4137 2.596574e-03 41 NA Newtest17-256 255 + 4138 2.445649e-03 42 NA Newtest17-256 255 + 4139 8.920411e-04 43 NA Newtest17-256 255 + 4140 1.156605e-03 44 NA Newtest17-256 255 + 4141 3.318071e-03 45 NA Newtest17-256 255 + 4142 1.387131e-03 46 NA Newtest17-256 255 + 4143 1.174971e-03 47 NA Newtest17-256 255 + 4144 1.885079e-03 48 NA Newtest17-256 255 + 4145 8.454066e-02 49 NA Newtest17-256 255 + 4146 4.245601e-01 50 NA Newtest17-256 255 + 4147 7.916830e-02 51 NA Newtest17-256 255 + 4148 5.506668e-04 52 NA Newtest17-256 255 + 4149 1.208133e-03 53 NA Newtest17-256 255 + 4150 2.986532e-03 54 NA Newtest17-256 255 + 4151 7.830743e-04 55 NA Newtest17-256 255 + 4152 1.121839e-03 56 NA Newtest17-256 255 + 4153 9.666924e-04 57 NA Newtest17-256 255 + 4154 4.464125e-04 58 NA Newtest17-256 255 + 4155 2.274317e-03 59 NA Newtest17-256 255 + 4156 9.825916e-04 60 NA Newtest17-256 255 + 4157 1.404182e-03 61 NA Newtest17-256 255 + 4158 9.699064e-04 62 NA Newtest17-256 255 + 4159 1.869375e-03 63 NA Newtest17-256 255 + 4160 2.241888e-03 64 NA Newtest17-256 255 + 4161 1.167943e-03 65 NA Newtest17-256 255 + 4162 7.370969e-04 66 NA Newtest17-256 255 + 4163 1.313242e-03 67 NA Newtest17-256 255 + 4164 1.888671e-03 68 NA Newtest17-256 255 + 4165 4.633208e-04 69 NA Newtest17-256 255 + 4166 2.106963e-03 70 NA Newtest17-256 255 + 4167 2.583974e-03 71 NA Newtest17-256 255 + 4168 6.183397e-04 72 NA Newtest17-256 255 + 4169 1.828275e-03 73 NA Newtest17-256 255 + 4170 1.962899e-03 74 NA Newtest17-256 255 + 4171 9.412934e-04 75 NA Newtest17-256 255 + 4172 1.017679e-03 76 NA Newtest17-256 255 + 4173 9.864447e-04 77 NA Newtest17-256 255 + 4174 6.438501e-04 78 NA Newtest17-256 255 + 4175 5.409826e-04 79 NA Newtest17-256 255 + 4176 8.829767e-04 80 NA Newtest17-256 255 + 4177 7.090456e-04 81 NA Newtest17-256 255 + 4178 2.408408e-03 82 NA Newtest17-256 255 + 4179 7.831981e-04 83 NA Newtest17-256 255 + 4180 1.177492e-03 84 NA Newtest17-256 255 + 4181 7.792496e-04 85 NA Newtest17-256 255 + 4182 1.160289e-03 86 NA Newtest17-256 255 + 4183 9.357671e-04 87 NA Newtest17-256 255 + 4184 9.049473e-04 88 NA Newtest17-256 255 + 4185 1.269040e-03 89 NA Newtest17-256 255 + 4186 5.606367e-04 90 NA Newtest17-256 255 + 4187 6.863446e-04 91 NA Newtest17-256 255 + 4188 6.160539e-04 92 NA Newtest17-256 255 + 4189 1.653307e-03 93 NA Newtest17-256 255 + 4190 6.001101e-03 94 NA Newtest17-256 255 + 4191 9.792009e-04 95 NA Newtest17-256 255 + 4192 1.078773e-03 96 NA Newtest17-256 255 + 4193 1.817840e-03 97 NA Newtest17-256 255 + 4194 1.301666e-03 98 NA Newtest17-256 255 + 4195 1.968436e-03 99 NA Newtest17-256 255 + 4196 4.355308e-03 100 NA Newtest17-256 255 + 4197 1.209581e-03 101 NA Newtest17-256 255 + 4198 8.097278e-04 102 NA Newtest17-256 255 + 4199 5.006222e-04 103 NA Newtest17-256 255 + 4200 1.156599e-03 104 NA Newtest17-256 255 + 4201 2.686441e-03 105 NA Newtest17-256 255 + 4202 4.312404e-03 106 NA Newtest17-256 255 + 4203 1.443775e-03 107 NA Newtest17-256 255 + 4204 1.609237e-03 108 NA Newtest17-256 255 + 4205 1.235982e-03 109 NA Newtest17-256 255 + 4206 3.227853e-04 110 NA Newtest17-256 255 + 4207 1.830953e-03 111 NA Newtest17-256 255 + 4208 1.806246e-03 112 NA Newtest17-256 255 + 4209 1.374659e-03 113 NA Newtest17-256 255 + 4210 1.911679e-03 114 NA Newtest17-256 255 + 4211 7.666889e-04 115 NA Newtest17-256 255 + 4212 1.489228e-03 116 NA Newtest17-256 255 + 4213 4.910839e-04 117 NA Newtest17-256 255 + 4214 1.240784e-03 118 NA Newtest17-256 255 + 4215 1.405769e-03 119 NA Newtest17-256 255 + 4216 6.293846e-04 120 NA Newtest17-256 255 + 4217 8.108493e-04 121 NA Newtest17-256 255 + 4218 1.154666e-03 122 NA Newtest17-256 255 + 4219 3.444979e-04 123 NA Newtest17-256 255 + 4220 4.941824e-04 124 NA Newtest17-256 255 + 4221 2.335503e-04 125 NA Newtest17-256 255 + 4222 7.500120e-04 126 NA Newtest17-256 255 + 4223 1.691589e-03 127 NA Newtest17-256 255 + 4224 8.162048e-04 128 NA Newtest17-256 255 + 4225 1.410261e+00 1 NA Newtest17-256 255 + 4226 2.073321e+02 2 NA Newtest17-256 255 + 4227 3.248514e+02 3 NA Newtest17-256 255 + 4228 1.333926e+01 4 NA Newtest17-256 255 + 4229 6.783850e-02 5 NA Newtest17-256 255 + 4230 1.136815e-02 6 NA Newtest17-256 255 + 4231 1.161404e-01 7 NA Newtest17-256 255 + 4232 2.834543e-01 8 NA Newtest17-256 255 + 4233 5.419561e-02 9 NA Newtest17-256 255 + 4234 3.246260e-02 10 NA Newtest17-256 255 + 4235 4.451895e-03 11 NA Newtest17-256 255 + 4236 1.693679e-02 12 NA Newtest17-256 255 + 4237 7.672925e-03 13 NA Newtest17-256 255 + 4238 1.372228e-02 14 NA Newtest17-256 255 + 4239 8.892450e-03 15 NA Newtest17-256 255 + 4240 6.743423e-03 16 NA Newtest17-256 255 + 4241 6.837827e-03 17 NA Newtest17-256 255 + 4242 7.216798e-03 18 NA Newtest17-256 255 + 4243 6.551210e-03 19 NA Newtest17-256 255 + 4244 5.662525e-03 20 NA Newtest17-256 255 + 4245 2.242276e-03 21 NA Newtest17-256 255 + 4246 8.624644e-03 22 NA Newtest17-256 255 + 4247 1.733655e-03 23 NA Newtest17-256 255 + 4248 3.913330e-03 24 NA Newtest17-256 255 + 4249 3.701331e-03 25 NA Newtest17-256 255 + 4250 2.018157e-03 26 NA Newtest17-256 255 + 4251 3.478835e-03 27 NA Newtest17-256 255 + 4252 2.391874e-03 28 NA Newtest17-256 255 + 4253 6.886574e-03 29 NA Newtest17-256 255 + 4254 3.112405e-03 30 NA Newtest17-256 255 + 4255 1.475594e-03 31 NA Newtest17-256 255 + 4256 2.642559e-03 32 NA Newtest17-256 255 + 4257 3.904744e-03 33 NA Newtest17-256 255 + 4258 2.177580e-03 34 NA Newtest17-256 255 + 4259 3.321372e-03 35 NA Newtest17-256 255 + 4260 1.222735e-03 36 NA Newtest17-256 255 + 4261 1.863009e-03 37 NA Newtest17-256 255 + 4262 2.133150e-03 38 NA Newtest17-256 255 + 4263 1.719802e-03 39 NA Newtest17-256 255 + 4264 3.340438e-03 40 NA Newtest17-256 255 + 4265 2.795699e-03 41 NA Newtest17-256 255 + 4266 4.201387e-03 42 NA Newtest17-256 255 + 4267 2.628262e-03 43 NA Newtest17-256 255 + 4268 3.840417e-04 44 NA Newtest17-256 255 + 4269 3.784646e-03 45 NA Newtest17-256 255 + 4270 1.336702e-03 46 NA Newtest17-256 255 + 4271 1.347099e-03 47 NA Newtest17-256 255 + 4272 2.765770e-03 48 NA Newtest17-256 255 + 4273 8.187404e-02 49 NA Newtest17-256 255 + 4274 4.205999e-01 50 NA Newtest17-256 255 + 4275 7.327400e-02 51 NA Newtest17-256 255 + 4276 1.196727e-03 52 NA Newtest17-256 255 + 4277 1.675584e-03 53 NA Newtest17-256 255 + 4278 2.564556e-03 54 NA Newtest17-256 255 + 4279 1.673887e-03 55 NA Newtest17-256 255 + 4280 3.301926e-03 56 NA Newtest17-256 255 + 4281 9.611787e-04 57 NA Newtest17-256 255 + 4282 1.621974e-03 58 NA Newtest17-256 255 + 4283 1.170052e-03 59 NA Newtest17-256 255 + 4284 1.383000e-03 60 NA Newtest17-256 255 + 4285 3.377707e-03 61 NA Newtest17-256 255 + 4286 1.350912e-03 62 NA Newtest17-256 255 + 4287 6.045246e-04 63 NA Newtest17-256 255 + 4288 8.853165e-04 64 NA Newtest17-256 255 + 4289 6.405255e-04 65 NA Newtest17-256 255 + 4290 2.077806e-03 66 NA Newtest17-256 255 + 4291 7.448483e-04 67 NA Newtest17-256 255 + 4292 2.756569e-03 68 NA Newtest17-256 255 + 4293 7.655439e-04 69 NA Newtest17-256 255 + 4294 2.852387e-03 70 NA Newtest17-256 255 + 4295 1.073295e-03 71 NA Newtest17-256 255 + 4296 9.988888e-04 72 NA Newtest17-256 255 + 4297 8.662348e-04 73 NA Newtest17-256 255 + 4298 8.530243e-04 74 NA Newtest17-256 255 + 4299 3.060745e-03 75 NA Newtest17-256 255 + 4300 1.470100e-03 76 NA Newtest17-256 255 + 4301 4.227485e-04 77 NA Newtest17-256 255 + 4302 1.069283e-03 78 NA Newtest17-256 255 + 4303 3.521284e-04 79 NA Newtest17-256 255 + 4304 1.160327e-03 80 NA Newtest17-256 255 + 4305 6.918100e-04 81 NA Newtest17-256 255 + 4306 2.059926e-03 82 NA Newtest17-256 255 + 4307 1.130013e-03 83 NA Newtest17-256 255 + 4308 4.791457e-04 84 NA Newtest17-256 255 + 4309 1.581809e-03 85 NA Newtest17-256 255 + 4310 4.388489e-04 86 NA Newtest17-256 255 + 4311 1.114378e-03 87 NA Newtest17-256 255 + 4312 1.072875e-03 88 NA Newtest17-256 255 + 4313 1.067371e-03 89 NA Newtest17-256 255 + 4314 1.924867e-03 90 NA Newtest17-256 255 + 4315 4.081200e-04 91 NA Newtest17-256 255 + 4316 8.169979e-04 92 NA Newtest17-256 255 + 4317 1.579329e-03 93 NA Newtest17-256 255 + 4318 4.719952e-03 94 NA Newtest17-256 255 + 4319 2.536922e-03 95 NA Newtest17-256 255 + 4320 1.532554e-03 96 NA Newtest17-256 255 + 4321 3.429905e-04 97 NA Newtest17-256 255 + 4322 1.865682e-03 98 NA Newtest17-256 255 + 4323 2.065810e-03 99 NA Newtest17-256 255 + 4324 9.206576e-03 100 NA Newtest17-256 255 + 4325 1.814769e-03 101 NA Newtest17-256 255 + 4326 7.182502e-04 102 NA Newtest17-256 255 + 4327 2.691744e-04 103 NA Newtest17-256 255 + 4328 3.141595e-04 104 NA Newtest17-256 255 + 4329 1.152505e-03 105 NA Newtest17-256 255 + 4330 2.838293e-03 106 NA Newtest17-256 255 + 4331 1.126906e-03 107 NA Newtest17-256 255 + 4332 8.062320e-04 108 NA Newtest17-256 255 + 4333 1.293673e-03 109 NA Newtest17-256 255 + 4334 1.301434e-03 110 NA Newtest17-256 255 + 4335 1.000422e-03 111 NA Newtest17-256 255 + 4336 1.422812e-03 112 NA Newtest17-256 255 + 4337 7.974023e-04 113 NA Newtest17-256 255 + 4338 1.295433e-03 114 NA Newtest17-256 255 + 4339 6.060616e-04 115 NA Newtest17-256 255 + 4340 4.779631e-04 116 NA Newtest17-256 255 + 4341 1.070082e-03 117 NA Newtest17-256 255 + 4342 1.030314e-03 118 NA Newtest17-256 255 + 4343 3.716907e-04 119 NA Newtest17-256 255 + 4344 2.014266e-04 120 NA Newtest17-256 255 + 4345 6.023035e-04 121 NA Newtest17-256 255 + 4346 1.179115e-03 122 NA Newtest17-256 255 + 4347 7.473288e-04 123 NA Newtest17-256 255 + 4348 5.790357e-04 124 NA Newtest17-256 255 + 4349 1.279626e-03 125 NA Newtest17-256 255 + 4350 9.724422e-04 126 NA Newtest17-256 255 + 4351 4.588486e-04 127 NA Newtest17-256 255 + 4352 2.850887e-04 128 NA Newtest17-256 255 + 4353 1.373364e+00 1 NA Newtest17-256 255 + 4354 2.064125e+02 2 NA Newtest17-256 255 + 4355 3.241205e+02 3 NA Newtest17-256 255 + 4356 1.327139e+01 4 NA Newtest17-256 255 + 4357 3.105791e-02 5 NA Newtest17-256 255 + 4358 3.680854e-02 6 NA Newtest17-256 255 + 4359 1.092650e-01 7 NA Newtest17-256 255 + 4360 3.189032e-01 8 NA Newtest17-256 255 + 4361 5.606048e-02 9 NA Newtest17-256 255 + 4362 1.871196e-02 10 NA Newtest17-256 255 + 4363 2.003007e-02 11 NA Newtest17-256 255 + 4364 1.022232e-02 12 NA Newtest17-256 255 + 4365 1.700734e-02 13 NA Newtest17-256 255 + 4366 1.024251e-02 14 NA Newtest17-256 255 + 4367 1.108463e-02 15 NA Newtest17-256 255 + 4368 7.118701e-03 16 NA Newtest17-256 255 + 4369 5.934201e-03 17 NA Newtest17-256 255 + 4370 6.468975e-03 18 NA Newtest17-256 255 + 4371 5.937876e-03 19 NA Newtest17-256 255 + 4372 3.394670e-03 20 NA Newtest17-256 255 + 4373 7.326106e-03 21 NA Newtest17-256 255 + 4374 6.705066e-03 22 NA Newtest17-256 255 + 4375 3.115092e-03 23 NA Newtest17-256 255 + 4376 5.121332e-03 24 NA Newtest17-256 255 + 4377 1.326409e-03 25 NA Newtest17-256 255 + 4378 3.716066e-03 26 NA Newtest17-256 255 + 4379 1.856443e-03 27 NA Newtest17-256 255 + 4380 4.675037e-03 28 NA Newtest17-256 255 + 4381 2.266121e-03 29 NA Newtest17-256 255 + 4382 3.196104e-03 30 NA Newtest17-256 255 + 4383 2.816741e-03 31 NA Newtest17-256 255 + 4384 9.274307e-04 32 NA Newtest17-256 255 + 4385 3.449510e-03 33 NA Newtest17-256 255 + 4386 1.336612e-03 34 NA Newtest17-256 255 + 4387 1.679256e-03 35 NA Newtest17-256 255 + 4388 3.632964e-03 36 NA Newtest17-256 255 + 4389 2.581202e-03 37 NA Newtest17-256 255 + 4390 1.680728e-03 38 NA Newtest17-256 255 + 4391 2.409642e-03 39 NA Newtest17-256 255 + 4392 2.847021e-03 40 NA Newtest17-256 255 + 4393 4.022691e-03 41 NA Newtest17-256 255 + 4394 1.648886e-03 42 NA Newtest17-256 255 + 4395 3.619047e-03 43 NA Newtest17-256 255 + 4396 1.221142e-03 44 NA Newtest17-256 255 + 4397 1.236984e-03 45 NA Newtest17-256 255 + 4398 2.034457e-03 46 NA Newtest17-256 255 + 4399 1.333767e-03 47 NA Newtest17-256 255 + 4400 1.884242e-03 48 NA Newtest17-256 255 + 4401 6.759606e-02 49 NA Newtest17-256 255 + 4402 3.917371e-01 50 NA Newtest17-256 255 + 4403 7.356558e-02 51 NA Newtest17-256 255 + 4404 6.852695e-04 52 NA Newtest17-256 255 + 4405 1.337155e-03 53 NA Newtest17-256 255 + 4406 8.982815e-04 54 NA Newtest17-256 255 + 4407 1.311368e-03 55 NA Newtest17-256 255 + 4408 3.485159e-03 56 NA Newtest17-256 255 + 4409 3.545805e-04 57 NA Newtest17-256 255 + 4410 6.675422e-04 58 NA Newtest17-256 255 + 4411 1.296322e-03 59 NA Newtest17-256 255 + 4412 2.287220e-03 60 NA Newtest17-256 255 + 4413 4.346826e-04 61 NA Newtest17-256 255 + 4414 2.095951e-03 62 NA Newtest17-256 255 + 4415 2.551108e-04 63 NA Newtest17-256 255 + 4416 1.174545e-03 64 NA Newtest17-256 255 + 4417 1.374169e-03 65 NA Newtest17-256 255 + 4418 7.884289e-04 66 NA Newtest17-256 255 + 4419 2.665342e-04 67 NA Newtest17-256 255 + 4420 1.797597e-03 68 NA Newtest17-256 255 + 4421 3.959244e-04 69 NA Newtest17-256 255 + 4422 1.301768e-03 70 NA Newtest17-256 255 + 4423 8.907289e-04 71 NA Newtest17-256 255 + 4424 1.051449e-03 72 NA Newtest17-256 255 + 4425 8.408968e-04 73 NA Newtest17-256 255 + 4426 1.549248e-03 74 NA Newtest17-256 255 + 4427 7.086018e-04 75 NA Newtest17-256 255 + 4428 1.233555e-03 76 NA Newtest17-256 255 + 4429 1.358090e-03 77 NA Newtest17-256 255 + 4430 1.984185e-03 78 NA Newtest17-256 255 + 4431 8.952202e-04 79 NA Newtest17-256 255 + 4432 3.878837e-04 80 NA Newtest17-256 255 + 4433 1.087535e-03 81 NA Newtest17-256 255 + 4434 1.042151e-03 82 NA Newtest17-256 255 + 4435 1.637973e-03 83 NA Newtest17-256 255 + 4436 5.892538e-04 84 NA Newtest17-256 255 + 4437 2.209581e-03 85 NA Newtest17-256 255 + 4438 6.166729e-04 86 NA Newtest17-256 255 + 4439 1.092834e-03 87 NA Newtest17-256 255 + 4440 7.446304e-04 88 NA Newtest17-256 255 + 4441 1.185511e-03 89 NA Newtest17-256 255 + 4442 8.162784e-04 90 NA Newtest17-256 255 + 4443 5.690930e-04 91 NA Newtest17-256 255 + 4444 1.346970e-03 92 NA Newtest17-256 255 + 4445 2.651429e-03 93 NA Newtest17-256 255 + 4446 7.745616e-03 94 NA Newtest17-256 255 + 4447 2.281946e-03 95 NA Newtest17-256 255 + 4448 1.129522e-03 96 NA Newtest17-256 255 + 4449 2.220626e-03 97 NA Newtest17-256 255 + 4450 1.282578e-03 98 NA Newtest17-256 255 + 4451 3.225661e-03 99 NA Newtest17-256 255 + 4452 1.489453e-02 100 NA Newtest17-256 255 + 4453 3.138298e-03 101 NA Newtest17-256 255 + 4454 1.226488e-03 102 NA Newtest17-256 255 + 4455 2.639972e-04 103 NA Newtest17-256 255 + 4456 1.061233e-03 104 NA Newtest17-256 255 + 4457 4.663255e-03 105 NA Newtest17-256 255 + 4458 6.523896e-03 106 NA Newtest17-256 255 + 4459 2.442952e-03 107 NA Newtest17-256 255 + 4460 1.216748e-03 108 NA Newtest17-256 255 + 4461 3.646089e-04 109 NA Newtest17-256 255 + 4462 1.536599e-03 110 NA Newtest17-256 255 + 4463 5.490651e-04 111 NA Newtest17-256 255 + 4464 1.174130e-03 112 NA Newtest17-256 255 + 4465 2.948033e-04 113 NA Newtest17-256 255 + 4466 7.525346e-04 114 NA Newtest17-256 255 + 4467 1.055325e-03 115 NA Newtest17-256 255 + 4468 6.888035e-04 116 NA Newtest17-256 255 + 4469 9.622172e-04 117 NA Newtest17-256 255 + 4470 1.241311e-03 118 NA Newtest17-256 255 + 4471 1.409938e-03 119 NA Newtest17-256 255 + 4472 1.202683e-03 120 NA Newtest17-256 255 + 4473 1.209210e-03 121 NA Newtest17-256 255 + 4474 7.159240e-04 122 NA Newtest17-256 255 + 4475 8.993289e-04 123 NA Newtest17-256 255 + 4476 1.322732e-03 124 NA Newtest17-256 255 + 4477 1.821950e-03 125 NA Newtest17-256 255 + 4478 8.983450e-04 126 NA Newtest17-256 255 + 4479 6.440560e-04 127 NA Newtest17-256 255 + 4480 2.016455e-04 128 NA Newtest17-256 255 + 4481 1.133356e+00 1 NA Newtest17-256 255 + 4482 2.070320e+02 2 NA Newtest17-256 255 + 4483 3.253594e+02 3 NA Newtest17-256 255 + 4484 1.358694e+01 4 NA Newtest17-256 255 + 4485 4.274710e-02 5 NA Newtest17-256 255 + 4486 3.467473e-02 6 NA Newtest17-256 255 + 4487 7.150117e-02 7 NA Newtest17-256 255 + 4488 2.716570e-01 8 NA Newtest17-256 255 + 4489 4.812510e-02 9 NA Newtest17-256 255 + 4490 1.707736e-02 10 NA Newtest17-256 255 + 4491 1.203368e-02 11 NA Newtest17-256 255 + 4492 1.126878e-02 12 NA Newtest17-256 255 + 4493 1.267623e-02 13 NA Newtest17-256 255 + 4494 6.880750e-03 14 NA Newtest17-256 255 + 4495 6.101398e-03 15 NA Newtest17-256 255 + 4496 9.028706e-03 16 NA Newtest17-256 255 + 4497 6.961503e-03 17 NA Newtest17-256 255 + 4498 7.819382e-03 18 NA Newtest17-256 255 + 4499 2.533452e-03 19 NA Newtest17-256 255 + 4500 3.595407e-03 20 NA Newtest17-256 255 + 4501 6.656996e-03 21 NA Newtest17-256 255 + 4502 4.635549e-03 22 NA Newtest17-256 255 + 4503 3.551330e-03 23 NA Newtest17-256 255 + 4504 4.359537e-03 24 NA Newtest17-256 255 + 4505 1.359886e-03 25 NA Newtest17-256 255 + 4506 3.908914e-03 26 NA Newtest17-256 255 + 4507 1.128718e-03 27 NA Newtest17-256 255 + 4508 3.569053e-03 28 NA Newtest17-256 255 + 4509 2.295713e-03 29 NA Newtest17-256 255 + 4510 4.435951e-03 30 NA Newtest17-256 255 + 4511 1.661282e-03 31 NA Newtest17-256 255 + 4512 3.150055e-03 32 NA Newtest17-256 255 + 4513 1.825852e-03 33 NA Newtest17-256 255 + 4514 3.607166e-03 34 NA Newtest17-256 255 + 4515 1.420371e-03 35 NA Newtest17-256 255 + 4516 3.130171e-03 36 NA Newtest17-256 255 + 4517 3.228763e-03 37 NA Newtest17-256 255 + 4518 2.589832e-03 38 NA Newtest17-256 255 + 4519 8.396522e-04 39 NA Newtest17-256 255 + 4520 1.824026e-03 40 NA Newtest17-256 255 + 4521 8.222092e-04 41 NA Newtest17-256 255 + 4522 2.391360e-03 42 NA Newtest17-256 255 + 4523 3.939951e-04 43 NA Newtest17-256 255 + 4524 5.021385e-03 44 NA Newtest17-256 255 + 4525 2.275529e-03 45 NA Newtest17-256 255 + 4526 3.264517e-03 46 NA Newtest17-256 255 + 4527 1.418671e-03 47 NA Newtest17-256 255 + 4528 2.788347e-03 48 NA Newtest17-256 255 + 4529 8.166253e-02 49 NA Newtest17-256 255 + 4530 4.454020e-01 50 NA Newtest17-256 255 + 4531 8.659645e-02 51 NA Newtest17-256 255 + 4532 5.380751e-04 52 NA Newtest17-256 255 + 4533 8.557166e-04 53 NA Newtest17-256 255 + 4534 5.869550e-04 54 NA Newtest17-256 255 + 4535 9.821936e-04 55 NA Newtest17-256 255 + 4536 4.454730e-04 56 NA Newtest17-256 255 + 4537 1.336379e-03 57 NA Newtest17-256 255 + 4538 1.067372e-03 58 NA Newtest17-256 255 + 4539 7.740281e-04 59 NA Newtest17-256 255 + 4540 6.875429e-04 60 NA Newtest17-256 255 + 4541 7.415153e-04 61 NA Newtest17-256 255 + 4542 1.401469e-03 62 NA Newtest17-256 255 + 4543 1.400683e-03 63 NA Newtest17-256 255 + 4544 8.642207e-04 64 NA Newtest17-256 255 + 4545 1.596410e-03 65 NA Newtest17-256 255 + 4546 1.227183e-03 66 NA Newtest17-256 255 + 4547 8.581278e-04 67 NA Newtest17-256 255 + 4548 1.244924e-03 68 NA Newtest17-256 255 + 4549 2.562049e-03 69 NA Newtest17-256 255 + 4550 6.975793e-04 70 NA Newtest17-256 255 + 4551 2.292816e-03 71 NA Newtest17-256 255 + 4552 1.102810e-03 72 NA Newtest17-256 255 + 4553 2.001890e-03 73 NA Newtest17-256 255 + 4554 3.011153e-04 74 NA Newtest17-256 255 + 4555 1.194260e-04 75 NA Newtest17-256 255 + 4556 9.855658e-04 76 NA Newtest17-256 255 + 4557 4.277276e-04 77 NA Newtest17-256 255 + 4558 9.222241e-04 78 NA Newtest17-256 255 + 4559 1.887204e-04 79 NA Newtest17-256 255 + 4560 1.174944e-03 80 NA Newtest17-256 255 + 4561 7.946905e-04 81 NA Newtest17-256 255 + 4562 4.460839e-04 82 NA Newtest17-256 255 + 4563 2.377341e-03 83 NA Newtest17-256 255 + 4564 8.276165e-04 84 NA Newtest17-256 255 + 4565 2.071415e-03 85 NA Newtest17-256 255 + 4566 3.401594e-04 86 NA Newtest17-256 255 + 4567 7.669026e-04 87 NA Newtest17-256 255 + 4568 9.461691e-04 88 NA Newtest17-256 255 + 4569 6.777645e-04 89 NA Newtest17-256 255 + 4570 1.104051e-03 90 NA Newtest17-256 255 + 4571 4.810093e-04 91 NA Newtest17-256 255 + 4572 1.997286e-03 92 NA Newtest17-256 255 + 4573 2.012923e-03 93 NA Newtest17-256 255 + 4574 7.709580e-03 94 NA Newtest17-256 255 + 4575 1.955756e-03 95 NA Newtest17-256 255 + 4576 1.029633e-03 96 NA Newtest17-256 255 + 4577 2.419670e-03 97 NA Newtest17-256 255 + 4578 2.075689e-03 98 NA Newtest17-256 255 + 4579 1.860881e-03 99 NA Newtest17-256 255 + 4580 1.114250e-02 100 NA Newtest17-256 255 + 4581 2.696787e-03 101 NA Newtest17-256 255 + 4582 7.366187e-04 102 NA Newtest17-256 255 + 4583 6.806714e-04 103 NA Newtest17-256 255 + 4584 6.347516e-04 104 NA Newtest17-256 255 + 4585 1.904666e-03 105 NA Newtest17-256 255 + 4586 4.681908e-03 106 NA Newtest17-256 255 + 4587 1.192734e-03 107 NA Newtest17-256 255 + 4588 8.731483e-04 108 NA Newtest17-256 255 + 4589 6.888064e-04 109 NA Newtest17-256 255 + 4590 1.573803e-03 110 NA Newtest17-256 255 + 4591 2.394194e-04 111 NA Newtest17-256 255 + 4592 1.264607e-03 112 NA Newtest17-256 255 + 4593 1.264996e-03 113 NA Newtest17-256 255 + 4594 1.219789e-03 114 NA Newtest17-256 255 + 4595 5.411894e-04 115 NA Newtest17-256 255 + 4596 4.183942e-04 116 NA Newtest17-256 255 + 4597 1.007011e-03 117 NA Newtest17-256 255 + 4598 7.313267e-04 118 NA Newtest17-256 255 + 4599 1.206489e-03 119 NA Newtest17-256 255 + 4600 8.417067e-04 120 NA Newtest17-256 255 + 4601 1.440814e-03 121 NA Newtest17-256 255 + 4602 1.007316e-03 122 NA Newtest17-256 255 + 4603 1.564456e-03 123 NA Newtest17-256 255 + 4604 2.006380e-03 124 NA Newtest17-256 255 + 4605 9.763869e-04 125 NA Newtest17-256 255 + 4606 9.992028e-04 126 NA Newtest17-256 255 + 4607 6.598298e-04 127 NA Newtest17-256 255 + 4608 2.256513e-04 128 NA Newtest17-256 255 + 4609 1.237481e+00 1 NA Newtest17-256 255 + 4610 2.060200e+02 2 NA Newtest17-256 255 + 4611 3.248431e+02 3 NA Newtest17-256 255 + 4612 1.311143e+01 4 NA Newtest17-256 255 + 4613 7.000240e-02 5 NA Newtest17-256 255 + 4614 3.327507e-02 6 NA Newtest17-256 255 + 4615 9.667308e-02 7 NA Newtest17-256 255 + 4616 2.770638e-01 8 NA Newtest17-256 255 + 4617 6.484195e-02 9 NA Newtest17-256 255 + 4618 2.182817e-02 10 NA Newtest17-256 255 + 4619 1.266926e-02 11 NA Newtest17-256 255 + 4620 1.344059e-02 12 NA Newtest17-256 255 + 4621 1.637395e-02 13 NA Newtest17-256 255 + 4622 8.690946e-03 14 NA Newtest17-256 255 + 4623 7.805682e-03 15 NA Newtest17-256 255 + 4624 6.599914e-03 16 NA Newtest17-256 255 + 4625 8.005166e-03 17 NA Newtest17-256 255 + 4626 5.527851e-03 18 NA Newtest17-256 255 + 4627 6.761138e-03 19 NA Newtest17-256 255 + 4628 5.041742e-03 20 NA Newtest17-256 255 + 4629 4.766480e-03 21 NA Newtest17-256 255 + 4630 4.919920e-03 22 NA Newtest17-256 255 + 4631 2.111817e-03 23 NA Newtest17-256 255 + 4632 8.224911e-03 24 NA Newtest17-256 255 + 4633 1.165289e-03 25 NA Newtest17-256 255 + 4634 3.203809e-03 26 NA Newtest17-256 255 + 4635 4.142037e-03 27 NA Newtest17-256 255 + 4636 1.519883e-03 28 NA Newtest17-256 255 + 4637 6.020845e-03 29 NA Newtest17-256 255 + 4638 1.520493e-03 30 NA Newtest17-256 255 + 4639 3.261332e-03 31 NA Newtest17-256 255 + 4640 2.142225e-03 32 NA Newtest17-256 255 + 4641 1.868630e-03 33 NA Newtest17-256 255 + 4642 3.699644e-03 34 NA Newtest17-256 255 + 4643 2.995637e-03 35 NA Newtest17-256 255 + 4644 1.229841e-03 36 NA Newtest17-256 255 + 4645 2.458468e-03 37 NA Newtest17-256 255 + 4646 1.593655e-03 38 NA Newtest17-256 255 + 4647 2.257561e-03 39 NA Newtest17-256 255 + 4648 1.425633e-03 40 NA Newtest17-256 255 + 4649 9.966255e-04 41 NA Newtest17-256 255 + 4650 2.348806e-03 42 NA Newtest17-256 255 + 4651 1.907527e-03 43 NA Newtest17-256 255 + 4652 1.168164e-03 44 NA Newtest17-256 255 + 4653 6.043794e-03 45 NA Newtest17-256 255 + 4654 1.583264e-04 46 NA Newtest17-256 255 + 4655 1.214946e-03 47 NA Newtest17-256 255 + 4656 1.506723e-03 48 NA Newtest17-256 255 + 4657 7.722012e-02 49 NA Newtest17-256 255 + 4658 4.392400e-01 50 NA Newtest17-256 255 + 4659 8.183810e-02 51 NA Newtest17-256 255 + 4660 5.512857e-04 52 NA Newtest17-256 255 + 4661 1.178067e-03 53 NA Newtest17-256 255 + 4662 2.346915e-03 54 NA Newtest17-256 255 + 4663 2.398582e-03 55 NA Newtest17-256 255 + 4664 3.055260e-03 56 NA Newtest17-256 255 + 4665 6.525768e-04 57 NA Newtest17-256 255 + 4666 8.816176e-04 58 NA Newtest17-256 255 + 4667 1.779547e-03 59 NA Newtest17-256 255 + 4668 2.924652e-03 60 NA Newtest17-256 255 + 4669 1.107644e-03 61 NA Newtest17-256 255 + 4670 1.339233e-03 62 NA Newtest17-256 255 + 4671 4.562456e-04 63 NA Newtest17-256 255 + 4672 1.267720e-03 64 NA Newtest17-256 255 + 4673 6.074352e-04 65 NA Newtest17-256 255 + 4674 6.829754e-04 66 NA Newtest17-256 255 + 4675 1.121706e-03 67 NA Newtest17-256 255 + 4676 2.086939e-03 68 NA Newtest17-256 255 + 4677 4.877098e-04 69 NA Newtest17-256 255 + 4678 7.890673e-04 70 NA Newtest17-256 255 + 4679 2.409798e-03 71 NA Newtest17-256 255 + 4680 1.283350e-03 72 NA Newtest17-256 255 + 4681 2.411575e-03 73 NA Newtest17-256 255 + 4682 6.499540e-04 74 NA Newtest17-256 255 + 4683 1.807893e-03 75 NA Newtest17-256 255 + 4684 1.222473e-03 76 NA Newtest17-256 255 + 4685 8.328093e-04 77 NA Newtest17-256 255 + 4686 8.483280e-04 78 NA Newtest17-256 255 + 4687 1.443310e-03 79 NA Newtest17-256 255 + 4688 4.641354e-04 80 NA Newtest17-256 255 + 4689 1.269640e-03 81 NA Newtest17-256 255 + 4690 6.537765e-04 82 NA Newtest17-256 255 + 4691 5.636392e-04 83 NA Newtest17-256 255 + 4692 1.118820e-03 84 NA Newtest17-256 255 + 4693 5.661349e-04 85 NA Newtest17-256 255 + 4694 1.131067e-03 86 NA Newtest17-256 255 + 4695 1.069511e-03 87 NA Newtest17-256 255 + 4696 1.219863e-03 88 NA Newtest17-256 255 + 4697 1.242225e-03 89 NA Newtest17-256 255 + 4698 1.798023e-03 90 NA Newtest17-256 255 + 4699 4.653740e-04 91 NA Newtest17-256 255 + 4700 6.400888e-04 92 NA Newtest17-256 255 + 4701 1.155385e-03 93 NA Newtest17-256 255 + 4702 7.213142e-03 94 NA Newtest17-256 255 + 4703 1.972047e-03 95 NA Newtest17-256 255 + 4704 1.345432e-03 96 NA Newtest17-256 255 + 4705 6.224313e-04 97 NA Newtest17-256 255 + 4706 3.869549e-04 98 NA Newtest17-256 255 + 4707 2.283380e-03 99 NA Newtest17-256 255 + 4708 4.898343e-03 100 NA Newtest17-256 255 + 4709 2.655852e-03 101 NA Newtest17-256 255 + 4710 2.092572e-03 102 NA Newtest17-256 255 + 4711 9.362950e-04 103 NA Newtest17-256 255 + 4712 7.300054e-04 104 NA Newtest17-256 255 + 4713 3.590987e-04 105 NA Newtest17-256 255 + 4714 2.323158e-03 106 NA Newtest17-256 255 + 4715 1.624267e-03 107 NA Newtest17-256 255 + 4716 9.311912e-04 108 NA Newtest17-256 255 + 4717 8.096668e-04 109 NA Newtest17-256 255 + 4718 9.065264e-04 110 NA Newtest17-256 255 + 4719 7.379935e-04 111 NA Newtest17-256 255 + 4720 1.632214e-03 112 NA Newtest17-256 255 + 4721 9.584243e-04 113 NA Newtest17-256 255 + 4722 1.171388e-03 114 NA Newtest17-256 255 + 4723 4.704585e-04 115 NA Newtest17-256 255 + 4724 1.706907e-03 116 NA Newtest17-256 255 + 4725 1.484173e-03 117 NA Newtest17-256 255 + 4726 6.289457e-03 118 NA Newtest17-256 255 + 4727 1.681569e-03 119 NA Newtest17-256 255 + 4728 1.035493e-03 120 NA Newtest17-256 255 + 4729 1.169096e-03 121 NA Newtest17-256 255 + 4730 4.915339e-04 122 NA Newtest17-256 255 + 4731 1.461634e-03 123 NA Newtest17-256 255 + 4732 2.879791e-04 124 NA Newtest17-256 255 + 4733 4.679995e-04 125 NA Newtest17-256 255 + 4734 2.147965e-03 126 NA Newtest17-256 255 + 4735 1.202991e-03 127 NA Newtest17-256 255 + 4736 9.179142e-04 128 NA Newtest17-256 255 + 4737 1.438350e+00 1 NA Newtest17-256 255 + 4738 2.081391e+02 2 NA Newtest17-256 255 + 4739 3.251043e+02 3 NA Newtest17-256 255 + 4740 1.343189e+01 4 NA Newtest17-256 255 + 4741 7.585936e-02 5 NA Newtest17-256 255 + 4742 1.413942e-02 6 NA Newtest17-256 255 + 4743 1.006197e-01 7 NA Newtest17-256 255 + 4744 2.756089e-01 8 NA Newtest17-256 255 + 4745 6.213459e-02 9 NA Newtest17-256 255 + 4746 3.758383e-02 10 NA Newtest17-256 255 + 4747 1.002338e-02 11 NA Newtest17-256 255 + 4748 1.380751e-02 12 NA Newtest17-256 255 + 4749 7.487861e-03 13 NA Newtest17-256 255 + 4750 1.158207e-02 14 NA Newtest17-256 255 + 4751 5.861527e-03 15 NA Newtest17-256 255 + 4752 8.605370e-03 16 NA Newtest17-256 255 + 4753 4.502120e-03 17 NA Newtest17-256 255 + 4754 3.566637e-03 18 NA Newtest17-256 255 + 4755 8.919518e-03 19 NA Newtest17-256 255 + 4756 4.873894e-03 20 NA Newtest17-256 255 + 4757 3.030161e-03 21 NA Newtest17-256 255 + 4758 9.505036e-03 22 NA Newtest17-256 255 + 4759 4.848218e-04 23 NA Newtest17-256 255 + 4760 5.975362e-03 24 NA Newtest17-256 255 + 4761 4.401698e-03 25 NA Newtest17-256 255 + [ reached 'max' / getOption("max.print") -- omitted 231 rows ] + diff --git a/tests/testthat/_snaps/frequency_analysis/hanning-tfr-log-spaced-plot.svg b/tests/testthat/_snaps/frequency_analysis/hanning-tfr-log-spaced-plot.svg index ae2191e5..c5c464f3 100644 --- a/tests/testthat/_snaps/frequency_analysis/hanning-tfr-log-spaced-plot.svg +++ b/tests/testthat/_snaps/frequency_analysis/hanning-tfr-log-spaced-plot.svg @@ -59,23 +59,23 @@ Time (s) Frequency (Hz) +Power (a.u.) + + + + + + + + + + 0 2 4 6 8 -Power (a.u.) - - - - - - - - - - hanning tfr log-spaced plot diff --git a/tests/testthat/_snaps/frequency_analysis/hanning-tfr-plot.svg b/tests/testthat/_snaps/frequency_analysis/hanning-tfr-plot.svg index 18418f6e..9df739f8 100644 --- a/tests/testthat/_snaps/frequency_analysis/hanning-tfr-plot.svg +++ b/tests/testthat/_snaps/frequency_analysis/hanning-tfr-plot.svg @@ -57,23 +57,23 @@ Time (s) Frequency (Hz) +Power (a.u.) + + + + + + + + + + 0 2 4 6 8 -Power (a.u.) - - - - - - - - - - hanning tfr plot diff --git a/tests/testthat/_snaps/frequency_analysis/untrimmed-edges.svg b/tests/testthat/_snaps/frequency_analysis/untrimmed-edges.svg new file mode 100644 index 00000000..54f40e2e --- /dev/null +++ b/tests/testthat/_snaps/frequency_analysis/untrimmed-edges.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +5 +10 +15 +20 +25 +30 + + + + + + + + + + + + + + +-0.2 +-0.1 +0.0 +0.1 +0.2 +0.3 +0.4 +Time (s) +Frequency (Hz) + +Power (a.u.) + + + + + + + + + +0.0 +2.5 +5.0 +7.5 +untrimmed edges + + diff --git a/tests/testthat/_snaps/frequency_plotting/absolute.svg b/tests/testthat/_snaps/frequency_plotting/absolute.svg index 1983248f..a48c24c6 100644 --- a/tests/testthat/_snaps/frequency_plotting/absolute.svg +++ b/tests/testthat/_snaps/frequency_plotting/absolute.svg @@ -57,25 +57,25 @@ Time (s) Frequency (Hz) +Power (a.u.) + + + + + + + + + + + + -5 -4 -3 -2 -1 0 -Power (a.u.) - - - - - - - - - - - - diff --git a/tests/testthat/_snaps/frequency_plotting/db.svg b/tests/testthat/_snaps/frequency_plotting/db.svg index fa8ce4cb..d689347e 100644 --- a/tests/testthat/_snaps/frequency_plotting/db.svg +++ b/tests/testthat/_snaps/frequency_plotting/db.svg @@ -57,19 +57,19 @@ Time (s) Frequency (Hz) +Power (dB) + + + + + + + + -3 -2 -1 0 -Power (dB) - - - - - - - - diff --git a/tests/testthat/_snaps/frequency_plotting/pc.svg b/tests/testthat/_snaps/frequency_plotting/pc.svg index 442575b3..b791df51 100644 --- a/tests/testthat/_snaps/frequency_plotting/pc.svg +++ b/tests/testthat/_snaps/frequency_plotting/pc.svg @@ -57,19 +57,19 @@ Time (s) Frequency (Hz) +Percent change (%) + + + + + + + + -40 -20 0 20 -Percent change (%) - - - - - - - - diff --git a/tests/testthat/_snaps/frequency_plotting/ratio.svg b/tests/testthat/_snaps/frequency_plotting/ratio.svg index 8f934000..63546dab 100644 --- a/tests/testthat/_snaps/frequency_plotting/ratio.svg +++ b/tests/testthat/_snaps/frequency_plotting/ratio.svg @@ -57,19 +57,19 @@ Time (s) Frequency (Hz) +Power ratio + + + + + + + + 0.6 0.8 1.0 1.2 -Power ratio - - - - - - - - diff --git a/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-demo-epochs-fourier.svg b/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-demo-epochs-fourier.svg index 6b20fdbd..38539fd8 100644 --- a/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-demo-epochs-fourier.svg +++ b/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-demo-epochs-fourier.svg @@ -59,23 +59,23 @@ Time (s) Frequency (Hz) +Power (a.u.) + + + + + + + + + + 0 2 4 6 8 -Power (a.u.) - - - - - - - - - - TFA plot for demo epochs fourier diff --git a/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-demo-epochs.svg b/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-demo-epochs.svg index 30544614..6894017a 100644 --- a/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-demo-epochs.svg +++ b/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-demo-epochs.svg @@ -59,23 +59,23 @@ Time (s) Frequency (Hz) +Power (a.u.) + + + + + + + + + + 0 2 4 6 8 -Power (a.u.) - - - - - - - - - - TFA plot for demo epochs diff --git a/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-log-spaced.svg b/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-log-spaced.svg index b8864fef..ef808adb 100644 --- a/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-log-spaced.svg +++ b/tests/testthat/_snaps/frequency_plotting/tfa-plot-for-log-spaced.svg @@ -59,20 +59,20 @@ Time (s) Frequency (Hz) +Power (a.u.) + + + + + + + + 0.0 2.5 5.0 7.5 -Power (a.u.) - - - - - - - - TFA plot for log spaced diff --git a/tests/testthat/_snaps/frequency_plotting/tfa-plot-unaveraged.svg b/tests/testthat/_snaps/frequency_plotting/tfa-plot-unaveraged.svg index 6f0520b0..4a714696 100644 --- a/tests/testthat/_snaps/frequency_plotting/tfa-plot-unaveraged.svg +++ b/tests/testthat/_snaps/frequency_plotting/tfa-plot-unaveraged.svg @@ -59,23 +59,23 @@ Time (s) Frequency (Hz) +Power (a.u.) + + + + + + + + + + 0 2 4 6 8 -Power (a.u.) - - - - - - - - - - TFA plot unaveraged diff --git a/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-baseline.svg b/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-baseline.svg new file mode 100644 index 00000000..11f48298 --- /dev/null +++ b/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-baseline.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + +0.6 +0.8 +1.0 +1.2 + + + + + + + + + +-0.1 +0.0 +0.1 +0.2 +0.3 +Time (s) +Power ratio +timecourses from `eeg_tfr` with baseline + + diff --git a/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-freq-range.svg b/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-freq-range.svg new file mode 100644 index 00000000..ca09027a --- /dev/null +++ b/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-freq-range.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + +0 +2 +4 +6 +8 + + + + + + + + + +0.0 +0.1 +0.2 +0.3 +Time (s) +Power (a.u.) +timecourses from `eeg_tfr` with freq_range + + diff --git a/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-time-lim.svg b/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-time-lim.svg new file mode 100644 index 00000000..4d44909b --- /dev/null +++ b/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr-with-time-lim.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + +0 +2 +4 +6 +8 + + + + + + + + + +0.0 +0.1 +0.2 +0.3 +Time (s) +Power (a.u.) +timecourses from `eeg_tfr` with time_lim + + diff --git a/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr.svg b/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr.svg new file mode 100644 index 00000000..51e54045 --- /dev/null +++ b/tests/testthat/_snaps/frequency_plotting/timecourses-from-eeg-tfr.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 + + + + + + + + + + +-0.1 +0.0 +0.1 +0.2 +0.3 +Time (s) +Power (a.u.) +timecourses from `eeg_tfr` + + diff --git a/tests/testthat/_snaps/ggplot/geom-statscalp-head.svg b/tests/testthat/_snaps/ggplot/geom-statscalp-head.svg index bfc0adcb..b689ba2a 100644 --- a/tests/testthat/_snaps/ggplot/geom-statscalp-head.svg +++ b/tests/testthat/_snaps/ggplot/geom-statscalp-head.svg @@ -79,20 +79,20 @@ x y +amplitude + + + + + + + + -2.5 0.0 2.5 5.0 -amplitude - - - - - - - - geom_statscalp_head diff --git a/tests/testthat/_snaps/ggplot/geom-topo-build.svg b/tests/testthat/_snaps/ggplot/geom-topo-build.svg index ed612237..9f230a9d 100644 --- a/tests/testthat/_snaps/ggplot/geom-topo-build.svg +++ b/tests/testthat/_snaps/ggplot/geom-topo-build.svg @@ -70,17 +70,17 @@ x y +amplitude + + + + + + 0 3 6 -amplitude - - - - - - geom_topo_build diff --git a/tests/testthat/_snaps/ggplot/geom-topo-head-test.svg b/tests/testthat/_snaps/ggplot/geom-topo-head-test.svg index d1792d1b..956a445e 100644 --- a/tests/testthat/_snaps/ggplot/geom-topo-head-test.svg +++ b/tests/testthat/_snaps/ggplot/geom-topo-head-test.svg @@ -44,10 +44,10 @@ + - @@ -84,20 +84,20 @@ x y +amplitude + + + + + + + + -2.5 0.0 2.5 5.0 -amplitude - - - - - - - - geom_topo_head_test diff --git a/tests/testthat/_snaps/ggplot/geom-topo-labels.svg b/tests/testthat/_snaps/ggplot/geom-topo-labels.svg index bcfa3dbb..6d0eed3d 100644 --- a/tests/testthat/_snaps/ggplot/geom-topo-labels.svg +++ b/tests/testthat/_snaps/ggplot/geom-topo-labels.svg @@ -70,17 +70,17 @@ x y +amplitude + + + + + + 0 3 6 -amplitude - - - - - - geom_topo_labels diff --git a/tests/testthat/_snaps/ggplot/geom-topo-name.svg b/tests/testthat/_snaps/ggplot/geom-topo-name.svg index 74237396..e9b51961 100644 --- a/tests/testthat/_snaps/ggplot/geom-topo-name.svg +++ b/tests/testthat/_snaps/ggplot/geom-topo-name.svg @@ -44,15 +44,15 @@ B6 B8 - + - + @@ -83,17 +83,17 @@ x y +amplitude + + + + + + 0 3 6 -amplitude - - - - - - geom_topo_name diff --git a/tests/testthat/_snaps/ggplot/geom-topo-test.svg b/tests/testthat/_snaps/ggplot/geom-topo-test.svg index a896e40a..8a37ca60 100644 --- a/tests/testthat/_snaps/ggplot/geom-topo-test.svg +++ b/tests/testthat/_snaps/ggplot/geom-topo-test.svg @@ -44,15 +44,15 @@ - + - + @@ -83,17 +83,17 @@ x y +amplitude + + + + + + 0 3 6 -amplitude - - - - - - geom_topo_test diff --git a/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial-with-colours.svg b/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial-with-colours.svg new file mode 100644 index 00000000..65194ecc --- /dev/null +++ b/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial-with-colours.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +5 +-0.25 +0.00 +0.25 +Time (s) +Global field power (microvolts) +epoch_labels + + +valid_left +valid_right +gfp for demo_spatial with colours + + diff --git a/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial-with-trials-kept.svg b/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial-with-trials-kept.svg new file mode 100644 index 00000000..b2224c1b --- /dev/null +++ b/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial-with-trials-kept.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +3 +6 +9 +-0.25 +0.00 +0.25 +Time (s) +Global field power (microvolts) +epoch_labels + + +valid_left +valid_right +gfp for demo_spatial with trials kept + + diff --git a/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial.svg b/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial.svg new file mode 100644 index 00000000..fc687428 --- /dev/null +++ b/tests/testthat/_snaps/plot_gfp/gfp-for-demo-spatial.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 +-0.25 +0.00 +0.25 +Time (s) +Global field power (microvolts) +gfp for demo_spatial + + diff --git a/tests/testthat/_snaps/plotting_funs/erp-scalp-plot-from-demo-spatial.svg b/tests/testthat/_snaps/plotting_funs/erp-scalp-plot-from-demo-spatial.svg index 04f51286..c2264f93 100644 --- a/tests/testthat/_snaps/plotting_funs/erp-scalp-plot-from-demo-spatial.svg +++ b/tests/testthat/_snaps/plotting_funs/erp-scalp-plot-from-demo-spatial.svg @@ -120,6 +120,22 @@ + + + + + + + + + + + + + + + + @@ -181,7 +197,6 @@ -C3 @@ -197,6 +212,23 @@ + + + + + +C3 + + + + + + + + + + + @@ -258,7 +290,6 @@ -C4 @@ -274,6 +305,23 @@ + + + + + +C4 + + + + + + + + + + + @@ -335,7 +383,6 @@ -Cz @@ -351,6 +398,23 @@ + + + + + +Cz + + + + + + + + + + + @@ -412,7 +476,6 @@ -F3 @@ -428,6 +491,23 @@ + + + + + +F3 + + + + + + + + + + + @@ -489,7 +569,6 @@ -F4 @@ -505,6 +584,23 @@ + + + + + +F4 + + + + + + + + + + + @@ -566,7 +662,6 @@ -F7 @@ -582,6 +677,23 @@ + + + + + +F7 + + + + + + + + + + + @@ -643,7 +755,6 @@ -F8 @@ -659,6 +770,23 @@ + + + + + +F8 + + + + + + + + + + + @@ -720,7 +848,6 @@ -Fp1 @@ -736,6 +863,23 @@ + + + + + +Fp1 + + + + + + + + + + + @@ -797,7 +941,6 @@ -Fp2 @@ -813,6 +956,23 @@ + + + + + +Fp2 + + + + + + + + + + + @@ -874,7 +1034,6 @@ -Fpz @@ -890,6 +1049,23 @@ + + + + + +Fpz + + + + + + + + + + + @@ -951,7 +1127,6 @@ -Fz @@ -967,6 +1142,23 @@ + + + + + +Fz + + + + + + + + + + + @@ -1028,7 +1220,6 @@ -Oz @@ -1044,6 +1235,23 @@ + + + + + +Oz + + + + + + + + + + + @@ -1105,7 +1313,6 @@ -P3 @@ -1121,6 +1328,23 @@ + + + + + +P3 + + + + + + + + + + + @@ -1182,7 +1406,6 @@ -P4 @@ -1198,6 +1421,23 @@ + + + + + +P4 + + + + + + + + + + + @@ -1259,7 +1499,6 @@ -P7 @@ -1275,6 +1514,23 @@ + + + + + +P7 + + + + + + + + + + + @@ -1336,7 +1592,6 @@ -P8 @@ -1352,6 +1607,23 @@ + + + + + +P8 + + + + + + + + + + + @@ -1413,7 +1685,6 @@ -Pz @@ -1429,6 +1700,23 @@ + + + + + +Pz + + + + + + + + + + + @@ -1490,7 +1778,6 @@ -T7 @@ -1506,6 +1793,23 @@ + + + + + +T7 + + + + + + + + + + + @@ -1567,7 +1871,6 @@ -T8 @@ -1584,6 +1887,23 @@ + + + + +T8 + + + + + + + + + + + + ERP-scalp-plot from demo_spatial diff --git a/tests/testthat/_snaps/plotting_funs/erp-scalp-plot-with-colour.svg b/tests/testthat/_snaps/plotting_funs/erp-scalp-plot-with-colour.svg index 6495a9ac..3a6b1e1a 100644 --- a/tests/testthat/_snaps/plotting_funs/erp-scalp-plot-with-colour.svg +++ b/tests/testthat/_snaps/plotting_funs/erp-scalp-plot-with-colour.svg @@ -120,6 +120,22 @@ + + + + + + + + + + + + + + + + @@ -182,7 +198,6 @@ -C3 @@ -198,6 +213,23 @@ + + + + + +C3 + + + + + + + + + + + @@ -260,7 +292,6 @@ -C4 @@ -276,6 +307,23 @@ + + + + + +C4 + + + + + + + + + + + @@ -338,7 +386,6 @@ -Cz @@ -354,6 +401,23 @@ + + + + + +Cz + + + + + + + + + + + @@ -416,7 +480,6 @@ -F3 @@ -432,6 +495,23 @@ + + + + + +F3 + + + + + + + + + + + @@ -494,7 +574,6 @@ -F4 @@ -510,6 +589,23 @@ + + + + + +F4 + + + + + + + + + + + @@ -572,7 +668,6 @@ -F7 @@ -588,6 +683,23 @@ + + + + + +F7 + + + + + + + + + + + @@ -650,7 +762,6 @@ -F8 @@ -666,6 +777,23 @@ + + + + + +F8 + + + + + + + + + + + @@ -728,7 +856,6 @@ -Fp1 @@ -744,6 +871,23 @@ + + + + + +Fp1 + + + + + + + + + + + @@ -806,7 +950,6 @@ -Fp2 @@ -822,6 +965,23 @@ + + + + + +Fp2 + + + + + + + + + + + @@ -884,7 +1044,6 @@ -Fpz @@ -900,6 +1059,23 @@ + + + + + +Fpz + + + + + + + + + + + @@ -962,7 +1138,6 @@ -Fz @@ -978,6 +1153,23 @@ + + + + + +Fz + + + + + + + + + + + @@ -1040,7 +1232,6 @@ -Oz @@ -1056,6 +1247,23 @@ + + + + + +Oz + + + + + + + + + + + @@ -1118,7 +1326,6 @@ -P3 @@ -1134,6 +1341,23 @@ + + + + + +P3 + + + + + + + + + + + @@ -1196,7 +1420,6 @@ -P4 @@ -1212,6 +1435,23 @@ + + + + + +P4 + + + + + + + + + + + @@ -1274,7 +1514,6 @@ -P7 @@ -1290,6 +1529,23 @@ + + + + + +P7 + + + + + + + + + + + @@ -1352,7 +1608,6 @@ -P8 @@ -1368,6 +1623,23 @@ + + + + + +P8 + + + + + + + + + + + @@ -1430,7 +1702,6 @@ -Pz @@ -1446,6 +1717,23 @@ + + + + + +Pz + + + + + + + + + + + @@ -1508,7 +1796,6 @@ -T7 @@ -1524,6 +1811,23 @@ + + + + + +T7 + + + + + + + + + + + @@ -1586,7 +1890,6 @@ -T8 @@ -1603,6 +1906,23 @@ + + + + +T8 + + + + + + + + + + + + ERP scalp plot with colour diff --git a/tests/testthat/_snaps/plotting_funs/gam-topo.svg b/tests/testthat/_snaps/plotting_funs/gam-topo.svg deleted file mode 100644 index cbae2b4d..00000000 --- a/tests/testthat/_snaps/plotting_funs/gam-topo.svg +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --2 --1 -0 -1 -2 -Amplitude ( -μ -V) - - - - - - - - - - -GAM topo - - diff --git a/tests/testthat/_snaps/plotting_funs/head-limit.svg b/tests/testthat/_snaps/plotting_funs/head-limit.svg deleted file mode 100644 index 27fbb3fa..00000000 --- a/tests/testthat/_snaps/plotting_funs/head-limit.svg +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --3 --2 --1 -0 -1 -2 -3 -Amplitude ( -μ -V) - - - - - - - - - - - - - - -head limit - - diff --git a/tests/testthat/_snaps/plotting_funs/plot-timecourse-of-tfr-in-db-at-specific-freq-range.svg b/tests/testthat/_snaps/plotting_funs/plot-timecourse-of-tfr-in-db-at-specific-freq-range.svg new file mode 100644 index 00000000..ab1e1e5d --- /dev/null +++ b/tests/testthat/_snaps/plotting_funs/plot-timecourse-of-tfr-in-db-at-specific-freq-range.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + +-2.5 +-2.0 +-1.5 +-1.0 +-0.5 +0.0 + + + + + + + + + + + + +0.00 +0.05 +0.10 +0.15 +0.20 +0.25 +Time (s) +Decibels (dB) +Plot timecourse of tfr in db at specific freq_range + + diff --git a/tests/testthat/_snaps/plotting_funs/plot-timecourse-of-tfr.svg b/tests/testthat/_snaps/plotting_funs/plot-timecourse-of-tfr.svg index 6d2b11e7..19589b4e 100644 --- a/tests/testthat/_snaps/plotting_funs/plot-timecourse-of-tfr.svg +++ b/tests/testthat/_snaps/plotting_funs/plot-timecourse-of-tfr.svg @@ -25,19 +25,23 @@ - + - + -0.4 -0.6 -0.8 -1.0 - - - - +0.0 +0.2 +0.4 +0.6 +0.8 +1.0 + + + + + + @@ -47,7 +51,7 @@ 0.2 0.3 Time (s) -Power ratio +Power (a.u.) Plot timecourse of tfr diff --git a/tests/testthat/_snaps/plotting_funs/spatial-difference-plot.svg b/tests/testthat/_snaps/plotting_funs/spatial-difference-plot.svg new file mode 100644 index 00000000..186aa283 --- /dev/null +++ b/tests/testthat/_snaps/plotting_funs/spatial-difference-plot.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + +-2 +-1 +0 +1 +2 +3 + + + + + + + + + + +-0.2 +0.0 +0.2 +0.4 +Time (s) +Amplitude ( +μ +V) +valid_left - valid_right +spatial difference plot + + diff --git a/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-colour.svg b/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-colour.svg new file mode 100644 index 00000000..b42405b9 --- /dev/null +++ b/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-colour.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 + + + + + + + + + +-0.2 +0.0 +0.2 +0.4 +Time (s) +Amplitude ( +μ +V) + + +valid_left +valid_right +spatial GA plot colour + + diff --git a/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-facetted.svg b/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-facetted.svg new file mode 100644 index 00000000..7bd94723 --- /dev/null +++ b/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-facetted.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +valid_left + + + + + + + + + +valid_right + + + + + + +-0.2 +0.0 +0.2 +0.4 + + + + +-0.2 +0.0 +0.2 +0.4 +0 +1 +2 +3 +4 + + + + + +Time (s) +Amplitude ( +μ +V) +spatial GA plot facetted + + diff --git a/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-mapping.svg b/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-mapping.svg new file mode 100644 index 00000000..05010888 --- /dev/null +++ b/tests/testthat/_snaps/plotting_funs/spatial-ga-plot-mapping.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +0 +1 +2 +3 +4 + + + + + + + + + +-0.2 +0.0 +0.2 +0.4 +Time (s) +Amplitude ( +μ +V) + + +valid_left +valid_right +spatial GA plot mapping + + diff --git a/tests/testthat/_snaps/plotting_funs/spatial-ga-plot.svg b/tests/testthat/_snaps/plotting_funs/spatial-ga-plot.svg new file mode 100644 index 00000000..fe6adda1 --- /dev/null +++ b/tests/testthat/_snaps/plotting_funs/spatial-ga-plot.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + +-1.0 +-0.5 +0.0 + + + + + + + +-0.2 +0.0 +0.2 +0.4 +Time (s) +Amplitude ( +μ +V) +spatial GA plot + + diff --git a/tests/testthat/_snaps/plotting_funs/topoplot-of-epochs-150-200ms.svg b/tests/testthat/_snaps/plotting_funs/topoplot-of-epochs-150-200ms.svg deleted file mode 100644 index 7108126b..00000000 --- a/tests/testthat/_snaps/plotting_funs/topoplot-of-epochs-150-200ms.svg +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --4 --2 -0 -2 -4 -Amplitude ( -μ -V) - - - - - - - - - - -topoplot of epochs 150-200ms - - diff --git a/tests/testthat/_snaps/plotting_funs/topoplot-of-epochs.svg b/tests/testthat/_snaps/plotting_funs/topoplot-of-epochs.svg deleted file mode 100644 index de18421b..00000000 --- a/tests/testthat/_snaps/plotting_funs/topoplot-of-epochs.svg +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --2.5 -0.0 -2.5 -Amplitude ( -μ -V) - - - - - - -topoplot of epochs - - diff --git a/tests/testthat/_snaps/signal_decomposition.md b/tests/testthat/_snaps/signal_decomposition.md new file mode 100644 index 00000000..0fc8bf8a --- /dev/null +++ b/tests/testthat/_snaps/signal_decomposition.md @@ -0,0 +1,12 @@ +# ssd runs + + Code + ssd_demo + Output + Epoched ICA decomposition + + Number of components : 10 + Number of epochs : 80 + Epoch limits : -0.197 - 0.451 seconds + Sampling rate : 128 Hz + diff --git a/tests/testthat/_snaps/signal_decomposition/topographical-plot-for-ssd.svg b/tests/testthat/_snaps/signal_decomposition/topographical-plot-for-ssd.svg index 83361735..dbdee3d8 100644 --- a/tests/testthat/_snaps/signal_decomposition/topographical-plot-for-ssd.svg +++ b/tests/testthat/_snaps/signal_decomposition/topographical-plot-for-ssd.svg @@ -20,76 +20,74 @@ - - + + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - --4 --2 -0 -2 -Amplitude ( -μ -V) - - - - - - - - -topographical plot for ssd +a.u. + + + + + + + + + +-4 +-2 +0 +2 +topographical plot for ssd diff --git a/tests/testthat/_snaps/topoplot/add-custom-fill-title.svg b/tests/testthat/_snaps/topoplot/add-custom-fill-title.svg new file mode 100644 index 00000000..6913c715 --- /dev/null +++ b/tests/testthat/_snaps/topoplot/add-custom-fill-title.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +testing + + + + + + + +0 +3 +6 +add custom fill title + + diff --git a/tests/testthat/_snaps/topoplot/au-label-for-ica.svg b/tests/testthat/_snaps/topoplot/au-label-for-ica.svg new file mode 100644 index 00000000..f67c53ae --- /dev/null +++ b/tests/testthat/_snaps/topoplot/au-label-for-ica.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +a.u. + + + + + + + + + + + +-12 +-8 +-4 +0 +4 +au label for ica + + diff --git a/tests/testthat/_snaps/topoplot/gam-topo.svg b/tests/testthat/_snaps/topoplot/gam-topo.svg new file mode 100644 index 00000000..464a68fe --- /dev/null +++ b/tests/testthat/_snaps/topoplot/gam-topo.svg @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Amplitude ( +μ +V) + + + + + + + + + + + +-2 +-1 +0 +1 +2 +GAM topo + + diff --git a/tests/testthat/_snaps/topoplot/head-limit.svg b/tests/testthat/_snaps/topoplot/head-limit.svg new file mode 100644 index 00000000..438c8d6f --- /dev/null +++ b/tests/testthat/_snaps/topoplot/head-limit.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Amplitude ( +μ +V) + + + + + + + + + + + + + + + +-3 +-2 +-1 +0 +1 +2 +3 +head limit + + diff --git a/tests/testthat/_snaps/topoplot/multiple-times.svg b/tests/testthat/_snaps/topoplot/multiple-times.svg new file mode 100644 index 00000000..d2c0eb82 --- /dev/null +++ b/tests/testthat/_snaps/topoplot/multiple-times.svg @@ -0,0 +1,337 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +-0.004 + + + + + + + + + +0.098 + + + + + + + + + +0.199 + + +Amplitude ( +μ +V) + + + + + + + +-3 +0 +3 +multiple times + + diff --git a/tests/testthat/_snaps/topoplot/topoplot-of-epochs-150-200ms.svg b/tests/testthat/_snaps/topoplot/topoplot-of-epochs-150-200ms.svg new file mode 100644 index 00000000..1251a95c --- /dev/null +++ b/tests/testthat/_snaps/topoplot/topoplot-of-epochs-150-200ms.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Amplitude ( +μ +V) + + + + + + + + + + + +-4 +-2 +0 +2 +4 +topoplot of epochs 150-200ms + + diff --git a/tests/testthat/_snaps/topoplot/topoplot-of-epochs.svg b/tests/testthat/_snaps/topoplot/topoplot-of-epochs.svg new file mode 100644 index 00000000..b5df0592 --- /dev/null +++ b/tests/testthat/_snaps/topoplot/topoplot-of-epochs.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Amplitude ( +μ +V) + + + + + + + +-2.5 +0.0 +2.5 +topoplot of epochs + + diff --git a/tests/testthat/chan_stats.Rdata b/tests/testthat/chan_stats.Rdata deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/testthat/epo_stats.Rdata b/tests/testthat/epo_stats.Rdata deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/testthat/faster_t.Rdata b/tests/testthat/faster_t.Rdata deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/testthat/reference_files/baselined_test.rds b/tests/testthat/reference_files/baselined_test.rds new file mode 100644 index 00000000..9696b471 Binary files /dev/null and b/tests/testthat/reference_files/baselined_test.rds differ diff --git a/tests/testthat/reference_files/demo_spatial_evoked.rds b/tests/testthat/reference_files/demo_spatial_evoked.rds new file mode 100644 index 00000000..6f52c183 Binary files /dev/null and b/tests/testthat/reference_files/demo_spatial_evoked.rds differ diff --git a/tests/testthat/reference_files/test_faster.rds b/tests/testthat/reference_files/test_faster.rds new file mode 100644 index 00000000..b9d3ae30 Binary files /dev/null and b/tests/testthat/reference_files/test_faster.rds differ diff --git a/tests/testthat/reference_files/test_glm.rds b/tests/testthat/reference_files/test_glm.rds new file mode 100644 index 00000000..e117d3ae Binary files /dev/null and b/tests/testthat/reference_files/test_glm.rds differ diff --git a/tests/testthat/reference_files/test_glm_baseline.rds b/tests/testthat/reference_files/test_glm_baseline.rds new file mode 100644 index 00000000..7c6442f1 Binary files /dev/null and b/tests/testthat/reference_files/test_glm_baseline.rds differ diff --git a/tests/testthat/reference_files/test_thresh.rds b/tests/testthat/reference_files/test_thresh.rds new file mode 100644 index 00000000..cf3e2624 Binary files /dev/null and b/tests/testthat/reference_files/test_thresh.rds differ diff --git a/tests/testthat/test-ICA.R b/tests/testthat/test-ICA.R index 6b39c4de..13fc8df0 100644 --- a/tests/testthat/test-ICA.R +++ b/tests/testthat/test-ICA.R @@ -32,6 +32,7 @@ test_that("ICA timecourses work", { vdiffr::expect_doppelganger("timecourse over one component", plot_timecourse(demo_SOBI, component = "Comp001")) + skip_on_ci() vdiffr::expect_doppelganger("fastica timecourse", plot_timecourse(demo_fastic, component = "Comp002")) @@ -50,7 +51,7 @@ test_that("component removal works", { test_that("artefact detect works", { - expect_equal(ar_acf(demo_SOBI, plot = FALSE),character()) + expect_equal(ar_acf(demo_SOBI, plot = FALSE), character()) expect_equal(ar_chanfoc(demo_SOBI, plot = FALSE), character()) expect_equal(ar_trialfoc(demo_SOBI, plot = FALSE), "Comp009") expect_equal(ar_eogcor(demo_fica, diff --git a/tests/testthat/test-data_averaging.R b/tests/testthat/test-data_averaging.R new file mode 100644 index 00000000..eea51a67 --- /dev/null +++ b/tests/testthat/test-data_averaging.R @@ -0,0 +1,8 @@ +test_that("eeg_average produces sensible output", { + demo_spat_evo <- eeg_average(demo_spatial) + expect_equal(demo_spat_evo, + readRDS("reference_files/demo_spatial_evoked.rds")) + expect_s3_class(eeg_average(demo_spat_evo, + cols = "everything"), + "eeg_evoked") +}) diff --git a/tests/testthat/test-data_combine.R b/tests/testthat/test-data_combine.R new file mode 100644 index 00000000..0d61ee05 --- /dev/null +++ b/tests/testthat/test-data_combine.R @@ -0,0 +1,139 @@ +# Helper function to create dummy eeg_data objects +create_dummy_eeg_data <- function(participant_id, + n_samples = 100, + n_channels = 3) { + data <- list( + signals = data.frame(matrix(rnorm( + n_samples * n_channels + ), ncol = n_channels)), + events = data.frame( + event_onset = 1:5, + event_time = (1:5) / 100, + event_type = 11:15 + ), + timings = data.frame( + sample = 1:n_samples, + time = (1:n_samples - 1) / 100 + ), + chan_info = data.frame(channel = paste0("chan", 1:n_channels)), + srate = 100 + ) + class(data) <- c("eeg_data") + data$epochs <- data.frame(participant_id = participant_id, + epoch = 1, + recording = "test") + data +} + +# Helper function to create dummy eeg_epochs objects +create_dummy_eeg_epochs <- function(participant_id, + n_epochs = 5, + n_samples = 100, + n_channels = 3) { + data <- list( + signals = data.frame(matrix( + rnorm(n_epochs * n_samples * n_channels), ncol = n_channels + )), + events = data.frame( + event_onset = rep(1:n_samples, n_epochs), + event_time = rep((1:n_samples - 1) / 100, n_epochs), + epoch = rep(1:n_epochs, each = n_samples), + time = rep(0, n_epochs) + ), + timings = data.frame( + sample = 1:n_samples, + time = (1:n_samples - 1) / 100, + epoch = rep(1:n_epochs, each = n_samples) + ), + chan_info = data.frame(channel = paste0("chan", 1:n_channels)), + epochs = data.frame( + participant_id = participant_id, + epoch = 1:n_epochs, + recording = "test" + ), + srate = 100 + ) + class(data) <- c("eeg_epochs", "eeg_data") + data +} + +test_that("eeg_combine works with eeg_data objects", { + data1 <- create_dummy_eeg_data("P1") + data2 <- create_dummy_eeg_data("P1") + + combined <- eeg_combine(data1, data2) + + expect_s3_class(combined, "eeg_data") + expect_equal(nrow(combined$signals), + nrow(data1$signals) + nrow(data2$signals)) + expect_equal(nrow(combined$events), + nrow(data1$events) + nrow(data2$events)) + expect_equal(nrow(combined$timings), + nrow(data1$timings) + nrow(data2$timings)) +}) + +test_that("eeg_combine works with eeg_epochs objects", { + data1 <- create_dummy_eeg_epochs("P1") + data2 <- create_dummy_eeg_epochs("P1") + + combined <- eeg_combine(data1, data2) + + expect_s3_class(combined, "eeg_epochs") + expect_equal(nrow(combined$signals), + nrow(data1$signals) + nrow(data2$signals)) + expect_equal(nrow(combined$events), + nrow(data1$events) + nrow(data2$events)) + expect_equal(nrow(combined$epochs), + nrow(data1$epochs) + nrow(data2$epochs)) +}) + +test_that("eeg_combine creates eeg_group for multiple participants", { + data1 <- create_dummy_eeg_epochs("P1") + data2 <- create_dummy_eeg_epochs("P2") + + combined <- eeg_combine(data1, data2) + + expect_s3_class(combined, "eeg_group") + expect_equal(length(unique(combined$epochs$participant_id)), 2) +}) + +test_that("eeg_combine checks for participant_id", { + data1 <- create_dummy_eeg_epochs("P1") + data2 <- create_dummy_eeg_epochs("P2") + data2$epochs$participant_id <- NA + + expect_error(eeg_combine(data1, data2), "`participant_id` is missing") +}) + +test_that("check_timings corrects epoch numbering", { + data1 <- create_dummy_eeg_epochs("P1", n_epochs = 3) + data2 <- create_dummy_eeg_epochs("P1", n_epochs = 3) + data2$epochs$epoch <- 1:3 + data2$timings$epoch <- rep(1:3, each = 100) + + combined <- eeg_combine(data1, data2, check_timings = TRUE) + + expect_equal(unique(combined$epochs$epoch), 1:6) + expect_equal(max(combined$timings$epoch), 6) +}) + +test_that("eeg_combine.list works with a list of eeg objects", { + data_list <- list( + create_dummy_eeg_epochs("P1"), + create_dummy_eeg_epochs("P2"), + create_dummy_eeg_epochs("P3") + ) + + combined <- eeg_combine(data_list) + + expect_s3_class(combined, "eeg_group") + expect_equal(length(unique(combined$epochs$participant_id)), 3) +}) + +test_that("eeg_combine throws error for incompatible objects", { + data1 <- create_dummy_eeg_data("P1") + data2 <- create_dummy_eeg_epochs("P2") + + expect_error(eeg_combine(data1, data2), + "All objects must be unepoched eeg_data objects") +}) diff --git a/tests/testthat/test-dply.R b/tests/testthat/test-dply.R index e8733bf2..48a4bc77 100644 --- a/tests/testthat/test-dply.R +++ b/tests/testthat/test-dply.R @@ -4,6 +4,7 @@ demo_tfr <- compute_tfr(demo_epochs, n_cycles = 3, foi = c(8, 12), keep_trials = TRUE) +test_data <- import_raw("Newtest17-256.bdf") test_that("selection of electrodes and times works as expected", { @@ -13,28 +14,38 @@ test_that("selection of electrodes and times works as expected", { .data } - expect_equivalent(select(demo_epochs, A5), - select_elecs(demo_epochs, "A5")) + expect_equal(select(demo_epochs, A5), + select_elecs(demo_epochs, "A5")) demo_epochs$signals <- tibble::as_tibble(demo_epochs$signals) rownames(demo_epochs$signals) <- NULL - expect_equivalent(filter(demo_epochs, time >= -.1, time <= .3), + expect_equal(filter(demo_epochs, time >= -.1, time <= .3), select_times(demo_epochs, c(-.1, .3))) expect_equal(mutate(demo_epochs, yoyo = (A5 + A13 + A29) / 3), add_col(demo_epochs)) - expect_equivalent(filter(demo_epochs, epoch <= 10, epoch >= 5), - select_epochs(demo_epochs, epoch_no = 5:10)) - expect_equivalent(filter(demo_SOBI, epoch <= 20, epoch >= 15), - select_epochs(demo_SOBI, epoch_no = 15:20)) - expect_equivalent(filter(demo_tfr, epoch <= 15, epoch >= 10), - select_epochs(demo_tfr, epoch_no = 10:15)) - expect_equivalent(select(demo_SOBI, 1:2), - select_elecs(demo_SOBI, 1:2)) - expect_equivalent(filter(demo_tfr, frequency >= 10, frequency <= 30), - select_freqs(demo_tfr, c(10, 30))) + expect_equal(filter(demo_epochs, epoch <= 10, epoch >= 5), + select_epochs(demo_epochs, epoch_no = 5:10)) + expect_equal(filter(demo_SOBI, epoch <= 20, epoch >= 15), + select_epochs(demo_SOBI, epoch_no = 15:20)) + expect_equal(filter(demo_tfr, epoch <= 15, epoch >= 10), + select_epochs(demo_tfr, epoch_no = 10:15)) + expect_equal(select(demo_SOBI, 1:2), + select_elecs(demo_SOBI, 1:2)) + expect_equal(filter(demo_tfr, frequency >= 10, frequency <= 30), + select_freqs(demo_tfr, c(10, 30))) }) test_that("filter returns tibble when only 1 channel in data", { one_chan <- select(demo_epochs, 1) expect_s3_class(filter(one_chan, time > .1)$signals, "data.frame") }) + +test_that("dplyr extension work on continuous data", { + expect_equal(select(test_data, + 1:5), + select_elecs(test_data, + c("A1", "A2", "A3", "A4", "A5"))) + expect_equal(filter(test_data, time < 10), + select_times(test_data, c(-.05, 10))) + +}) diff --git a/tests/testthat/test-eeg_combine.R b/tests/testthat/test-eeg_combine.R index e22b86ba..51c36376 100644 --- a/tests/testthat/test-eeg_combine.R +++ b/tests/testthat/test-eeg_combine.R @@ -1,4 +1,4 @@ -test_that("combining missing part should error", { +test_that("combining missing participant should error", { part_001 <- set_participant_id(demo_spatial, "001") part_002 <- set_participant_id(demo_spatial, @@ -32,3 +32,17 @@ test_that("combining missing part should error", { ), "eeg_group") }) +test_that("multiple eeg_evoked files can be combined (not list)", { + part_001 <- set_participant_id(demo_spatial, + "001") + part_002 <- set_participant_id(demo_spatial, + "002") + expect_s3_class( + eeg_combine(part_001, + part_002), + "eeg_group") +}) +test_that("Should be a warning if there are mismatches between objects", { + expect_warning(eeg_combine(demo_spatial, + demo_epochs)) +}) diff --git a/tests/testthat/test-epoch_images.R b/tests/testthat/test-epoch_images.R index f2757975..62b95f6b 100644 --- a/tests/testthat/test-epoch_images.R +++ b/tests/testthat/test-epoch_images.R @@ -1,9 +1,14 @@ +demo_sobi <- run_ICA(demo_epochs, pca = 10) test_that("epoch images plot correctly", { skip_on_ci() vdiffr::expect_doppelganger( "ERP image A29 from demo epochs", erp_image(demo_epochs, "A29")) + vdiffr::expect_doppelganger( + "ERP image Comp001 from demo epochs", + erp_image(demo_sobi, + "Comp001")) vdiffr::expect_doppelganger( "ERP raster with facets", erp_raster(demo_spatial) + facet_wrap(~epoch_labels) diff --git a/tests/testthat/test-ggplot.R b/tests/testthat/test-ggplot.R index 877c99b5..2d472c90 100644 --- a/tests/testthat/test-ggplot.R +++ b/tests/testthat/test-ggplot.R @@ -11,15 +11,17 @@ test_that("geom_topo testing", { y = y, fill = amplitude, z = amplitude)) + - geom_topo()) + geom_topo() + ) vdiffr::expect_doppelganger("geom_topo_name", ggplot(demo_epochs, aes(x = x, y = y, fill = amplitude, - z = amplitude)) + - geom_topo(chan_markers = "text", - aes(label = electrode))) + z = amplitude, + label = electrode)) + + geom_topo(chan_markers = "text") + ) vdiffr::expect_doppelganger("geom_topo_build", ggplot(demo_epochs, aes(x = x, @@ -28,7 +30,8 @@ test_that("geom_topo testing", { stat_scalpmap() + geom_mask(r = 115) + geom_head() + - geom_channels()) + geom_channels() + ) vdiffr::expect_doppelganger("geom_topo_labels", ggplot(demo_epochs, aes(x = x, @@ -61,5 +64,5 @@ test_that("geom_topo testing", { aes(label = electrode)) + coord_equal() ) - } +} ) diff --git a/tests/testthat/test-glm.R b/tests/testthat/test-glm.R index f7bfcb01..679b4cdf 100644 --- a/tests/testthat/test-glm.R +++ b/tests/testthat/test-glm.R @@ -1,33 +1,12 @@ -context("Test glm.R") - -demo_tagged <- - eegUtils::tag_epochs( - eegUtils::tag_events( - eegUtils::demo_epochs, - c(208, - 213, - 215, - 207, - 222, - 219), - event_label = c("Match", - "Match", - "Match", - "Mismatch", - "Mismatch", - "Mismatch")), - event_label = c("Match", - "Mismatch")) - test_that("glm fitting works", { - test_glm <- fit_glm(~event_label, - data = demo_tagged) - expect_known_output(test_glm, - "test_glm.Rdata") - test_glm_bl <- fit_glm(~event_label + baseline, - data = demo_tagged, - time_lim = c(-.1, 0)) - expect_known_output(test_glm_bl, - "test_glm_bl.Rdata") + test_glm <- readRDS("reference_files/test_glm.rds") + expect_equal(fit_glm(~epoch_labels, + data = demo_spatial), + readRDS("reference_files/test_glm.rds"), + ignore_attr = TRUE) + expect_equal(fit_glm(~epoch_labels + baseline, + data = demo_spatial, + baseline = c(-.1, 0)), + readRDS("reference_files/test_glm_baseline.rds"), + ignore_attr = TRUE) }) - diff --git a/tests/testthat/test-import.R b/tests/testthat/test-import-bdf.R similarity index 61% rename from tests/testthat/test-import.R rename to tests/testthat/test-import-bdf.R index 398040b6..a59d75c3 100644 --- a/tests/testthat/test-import.R +++ b/tests/testthat/test-import-bdf.R @@ -1,5 +1,3 @@ -context("Test import of bdf") - test_data <- import_raw("Newtest17-256.bdf") test_that("Import and epoching of bdf files works correctly", { @@ -28,51 +26,23 @@ test_that("Import and epoching of bdf files works correctly", { }) - - -test_that("Filtering works for eeg_* objects", { - - skip_on_cran() - - test_iir <- iir_filt(test_data, 1) - expect_s3_class(test_iir, "eeg_data") - expect_is(test_iir$signals, "tbl_df") - test_iir <- iir_filt(test_data, 1, 40) - expect_s3_class(test_iir, "eeg_data") - expect_is(test_iir$signals, "tbl_df") - test_iir <- iir_filt(test_data, high_freq = 40) - expect_s3_class(test_iir, "eeg_data") - expect_is(test_iir$signals, "tbl_df") - test_iir <- iir_filt(test_data, low_freq = 40, high_freq = 30) - expect_s3_class(test_iir, "eeg_data") - expect_is(test_iir$signals, "tbl_df") - - test_epo <- epoch_data(test_data, 255) - test_iir <- iir_filt(test_epo, 1) - expect_is(test_iir$signals, "tbl_df") - expect_false(any(is.na(test_epo$signals[, 1]))) - -}) - test_that("Interpolation works for eeg_* objects", { skip_on_cran() - - expect_error(interp_elecs(test_data, "A2")) - test_elecs <- electrode_locations(test_data, montage = "biosemi64alpha") + test_elecs <- electrode_locations(test_data, montage = "biosemi64alpha", + overwrite = TRUE) test_elecs <- interp_elecs(test_elecs, "A2") expect_false(identical(test_elecs$signals$A2, test_data$signals$A2)) }) - test_that("Event manipulation works", { skip_on_cran() - expect_is(list_events(test_data), "data.frame") + expect_s3_class(list_events(test_data), "data.frame") test_data <- tag_events(test_data, 255, "osci2") test_evs <- list_events(test_data) - expect_is(test_evs, "data.frame") + expect_s3_class(test_evs, "data.frame") expect_equal(test_data$events$event_label[1], "osci2") }) diff --git a/tests/testthat/test-plot_gfp.R b/tests/testthat/test-plot_gfp.R new file mode 100644 index 00000000..ed52b7f6 --- /dev/null +++ b/tests/testthat/test-plot_gfp.R @@ -0,0 +1,11 @@ +test_that("simple plotting of gfp", { + vdiffr::expect_doppelganger("gfp for demo_spatial", + plot_gfp(demo_spatial)) + vdiffr::expect_doppelganger("gfp for demo_spatial with colours", + plot_gfp(demo_spatial, + cols = "epoch_labels")) + vdiffr::expect_doppelganger("gfp for demo_spatial with trials kept", + plot_gfp(demo_spatial, + cols = "epoch_labels", + keep_trials = TRUE)) +}) diff --git a/tests/testthat/test-plotting_funs.R b/tests/testthat/test-plotting_funs.R index 1cee5922..90e0bf74 100644 --- a/tests/testthat/test-plotting_funs.R +++ b/tests/testthat/test-plotting_funs.R @@ -1,18 +1,23 @@ -load("EEGdat.rda") test_data <- import_raw("Newtest17-256.bdf") demo_epochs <- electrode_locations(demo_epochs, montage = "biosemi64alpha", overwrite = TRUE) demo_SOBI <- run_ICA(demo_epochs, pca = 10) -demo_tfr <- compute_tfr(demo_epochs, foi = c(4,30), n_freq = 10) +demo_tfr <- compute_tfr(demo_epochs, + foi = c(4,30), + n_freq = 10) test_that("Plotting of data with multiple epochs works as expected", { skip_on_ci() - vdiffr::expect_doppelganger("epochs plot", - plot_timecourse(demo_epochs)) - vdiffr::expect_doppelganger("A29 only epochs", - plot_timecourse(demo_epochs, - electrode = "A29")) + vdiffr::expect_doppelganger( + "epochs plot", + plot_timecourse(demo_epochs) + ) + vdiffr::expect_doppelganger( + "A29 only epochs", + plot_timecourse(demo_epochs, + electrode = "A29") + ) vdiffr::expect_doppelganger( "A29 baseline corr epochs", plot_timecourse( @@ -21,18 +26,57 @@ test_that("Plotting of data with multiple epochs works as expected", { electrode = "A29" ) ) - vdiffr::expect_doppelganger("Plot timecourse of component", - plot_timecourse(demo_SOBI, - 2)) - vdiffr::expect_doppelganger("Plot timecourse of evoked", - plot_timecourse(eeg_average(demo_epochs), - 2)) - vdiffr::expect_doppelganger("Plot timecourse of tfr", - plot_timecourse(eeg_average(demo_tfr))) - vdiffr::expect_doppelganger("Plot timecourse of tfr in db", - plot_timecourse(eeg_average(demo_tfr), - type = "db", - baseline = c(-.1, 0))) + vdiffr::expect_doppelganger( + "Plot timecourse of component", + plot_timecourse(demo_SOBI, 2)) + vdiffr::expect_doppelganger( + "Plot timecourse of evoked", + plot_timecourse(eeg_average(demo_epochs), 2)) + vdiffr::expect_doppelganger( + "Plot timecourse of tfr", + plot_timecourse(eeg_average(demo_tfr))) + vdiffr::expect_doppelganger( + "Plot timecourse of tfr in db", + plot_timecourse(eeg_average(demo_tfr), + type = "db", + baseline = c(-.1, 0))) + vdiffr::expect_doppelganger( + "Plot timecourse of tfr in db at specific freq_range", + plot_timecourse(eeg_average(demo_tfr), + type = "db", + baseline = c(-.1, 0), + freq_range = c(12, 20))) +}) + + +test_that("Facetting works as expected", { + skip_on_ci() + vdiffr::expect_doppelganger( + "spatial GA plot", + plot_timecourse(demo_spatial) + ) + + vdiffr::expect_doppelganger( + "spatial GA plot facetted", + plot_timecourse(demo_spatial, "Oz", facets = ~epoch_labels) + ) + + vdiffr::expect_doppelganger( + "spatial GA plot mapping", + plot_timecourse(demo_spatial, "Oz", + mapping = aes(colour = epoch_labels)) + ) + + vdiffr::expect_doppelganger( + "spatial GA plot colour", + plot_timecourse(demo_spatial, "Oz", + colour = "epoch_labels") + ) + + vdiffr::expect_doppelganger( + "spatial difference plot", + plot_difference(demo_spatial, electrode = "Oz", conditions = "epoch_labels") + ) }) test_that("Plotting of butterfly plots from epochs", { @@ -47,28 +91,6 @@ test_that("Plotting of butterfly plots from epochs", { plot_butterfly(eeg_average(demo_epochs))) }) -test_that("Topoplots", { - skip_on_ci() - vdiffr::expect_doppelganger("topoplot of epochs", - topoplot(demo_epochs, - limits = c(-2.87, 4.69))) - vdiffr::expect_doppelganger("topoplot of epochs 150-200ms", - topoplot(demo_epochs, - time_lim = c(.150, .200), - limits = c(-4, 4))) - vdiffr::expect_doppelganger("GAM topo", - topoplot(EEGdat, - time_lim = c(150, 200), - method = "gam", - limits = c(-2.25, 2.75))) - vdiffr::expect_doppelganger("head limit", - topoplot(demo_epochs, - time_lim = c(.15, .20), - interp_limit = "head", - limits = c(-3, 3))) -}) - - test_that("erp_raster and erp_image function", { skip_on_ci() test_epo <- epoch_data(test_data, 255) @@ -79,12 +101,13 @@ test_that("erp_raster and erp_image function", { "gg") expect_error(electrode_locations(test_epo, - montage = "bio2")) + montage = "bio2", + overwrite = TRUE)) test_epo <- electrode_locations(test_epo, - montage = "biosemi64alpha") - expect_is(test_epo$chan_info, + montage = "biosemi64alpha", + overwrite = TRUE) + expect_s3_class(test_epo$chan_info, "data.frame") - }) test_that("erp_scalp runs", { diff --git a/tests/testthat/test-signal_decomposition.R b/tests/testthat/test-signal_decomposition.R index 8856ea83..56fa1599 100644 --- a/tests/testthat/test-signal_decomposition.R +++ b/tests/testthat/test-signal_decomposition.R @@ -4,6 +4,7 @@ test_that("ssd runs", { eeg_decompose(demo_epochs, sig_range = c(8, 12), noise_range = c(7, 13)) + expect_snapshot(ssd_demo) vdiffr::expect_doppelganger("topographical plot for ssd", topoplot(ssd_demo, component = "Comp001", diff --git a/tests/testthat/test-topoplot.R b/tests/testthat/test-topoplot.R new file mode 100644 index 00000000..bdcfb169 --- /dev/null +++ b/tests/testthat/test-topoplot.R @@ -0,0 +1,43 @@ +load("EEGdat.rda") +demo_epochs <- electrode_locations(demo_epochs, + montage = "biosemi64alpha", + overwrite = TRUE) +demo_SOBI <- run_ICA(demo_epochs, pca = 10) +demo_tfr <- compute_tfr(demo_epochs, + foi = c(4,30), + n_freq = 10) + +test_that("Topoplots", { + skip_on_ci() + vdiffr::expect_doppelganger( + "topoplot of epochs", + topoplot(demo_epochs, + limits = c(-2.87, 4.69))) + vdiffr::expect_doppelganger( + "topoplot of epochs 150-200ms", + topoplot(demo_epochs, + time_lim = c(.150, .200), + limits = c(-4, 4))) + vdiffr::expect_doppelganger( + "GAM topo", + topoplot(EEGdat, + time_lim = c(150, 200), + method = "gam", + limits = c(-2.25, 2.75))) + vdiffr::expect_doppelganger( + "head limit", + topoplot(demo_epochs, + time_lim = c(.15, .20), + interp_limit = "head", + limits = c(-3, 3))) + vdiffr::expect_doppelganger( + "multiple times", + topoplot(demo_spatial, + time_lim = list(0, .1, .2))) + vdiffr::expect_doppelganger( + "au label for ica", + topoplot(demo_SOBI, 1)) + vdiffr::expect_doppelganger( + "add custom fill title", + topoplot(demo_epochs, fill_title = "testing")) +}) diff --git a/tests/testthat/test_artefact_rejection.R b/tests/testthat/test_artefact_rejection.R index 10dc9897..d3132255 100644 --- a/tests/testthat/test_artefact_rejection.R +++ b/tests/testthat/test_artefact_rejection.R @@ -1,24 +1,32 @@ -context("Test artefact rejection methods") +test_data <- import_raw("Newtest17-256.bdf") test_that("FASTER runs correctly.", { test_FASTER <- ar_FASTER(demo_epochs) - expect_known_output(test_FASTER, "faster_t.Rdata") - #expect_known_hash(test_FASTER, "04de56b5ba") + expect_equal(test_FASTER, + readRDS("reference_files/test_faster.rds"), + ignore_attr = TRUE) }) test_that("Calculate epoch stats", { demo_epo <- epoch_stats(demo_epochs) - expect_known_output(demo_epo, "epo_stats.Rdata") + expect_snapshot(demo_epo) }) test_that("Calculating channel stats", { chan_stats <- channel_stats(demo_epochs) - expect_known_output(chan_stats, "chan_stats.Rdata") + expect_snapshot(chan_stats) }) test_that("ar_thresh runs correctly.", { - test_thresh <- ar_thresh(demo_epochs, - 50) - expect_known_output(test_thresh, - "thresh_test.Rdata") + expect_snapshot(ar_thresh(demo_epochs, + 20)) + expect_equal(ar_thresh(demo_epochs, + 20), + readRDS("reference_files/test_thresh.rds"), + ignore_attr = TRUE) +}) + +test_that("ar_thresh runs correctly.", { + expect_snapshot(ar_thresh(test_data, + 30)) }) diff --git a/tests/testthat/test_baseline_correction.R b/tests/testthat/test_baseline_correction.R index a06d8b5c..1bdea203 100644 --- a/tests/testthat/test_baseline_correction.R +++ b/tests/testthat/test_baseline_correction.R @@ -9,5 +9,5 @@ test_that("Removing baseline works", { test_epo <- epoch_data(test_data, 255) test_bl <- rm_baseline(test_epo, c(-.1, 0)) - + expect_equal(test_bl, readRDS("reference_files/baselined_test.rds")) }) diff --git a/tests/testthat/test_channel_management.R b/tests/testthat/test_channel_management.R index 44037371..e264b77a 100644 --- a/tests/testthat/test_channel_management.R +++ b/tests/testthat/test_channel_management.R @@ -1,5 +1,3 @@ -context("Test channel management functions") - temp_chans <- import_chans("standard_1005.elc") expected_names <- c("electrode", diff --git a/tests/testthat/test_downsample.R b/tests/testthat/test_downsample.R index b415f373..9ae865e1 100644 --- a/tests/testthat/test_downsample.R +++ b/tests/testthat/test_downsample.R @@ -1,11 +1,7 @@ -context("Test downsampling") - test_data <- import_raw("Newtest17-256.bdf") test_that("Downsampling output is sensible", { - #skip_on_cran() - test_epo <- epoch_data(test_data, 255) test_ds <- eeg_downsample(test_epo, 2) expect_equal(nrow(test_ds$signals), diff --git a/tests/testthat/test_filtering.R b/tests/testthat/test_filtering.R index 94c994bc..a102578a 100644 --- a/tests/testthat/test_filtering.R +++ b/tests/testthat/test_filtering.R @@ -1,14 +1,25 @@ -context("Test filtering") - test_data <- import_raw("Newtest17-256.bdf") -test_that("downsampling behaves", { +test_that("Filtering works for eeg_* objects", { - skip_on_cran() + test_iir <- eeg_filter(test_data, low_freq = 1, method = "iir") + expect_s3_class(test_iir, "eeg_data") + expect_s3_class(test_iir$signals, "tbl_df") + test_iir <- eeg_filter(test_data, low_freq = 1, high_freq = 40, method = "iir") + expect_s3_class(test_iir, "eeg_data") + expect_s3_class(test_iir$signals, "tbl_df") + test_iir <- eeg_filter(test_data, high_freq = 40, method = "iir") + expect_s3_class(test_iir, "eeg_data") + expect_s3_class(test_iir$signals, "tbl_df") + test_iir <- eeg_filter(test_data, low_freq = 40, high_freq = 30, method = "iir") + expect_s3_class(test_iir, "eeg_data") + expect_s3_class(test_iir$signals, "tbl_df") test_epo <- epoch_data(test_data, 255) - test_ds <- eeg_downsample(test_epo, 2) - expect_equal(nrow(test_ds$signals), nrow(test_ds$timings)) + test_iir <- eeg_filter(test_epo, low_freq = 1, method = "iir") + expect_s3_class(test_iir$signals, "tbl_df") + expect_false(any(is.na(test_epo$signals[, 1]))) + }) diff --git a/tests/testthat/test_frequency_analysis.R b/tests/testthat/test_frequency_analysis.R index 58833cfd..114b5c3b 100644 --- a/tests/testthat/test_frequency_analysis.R +++ b/tests/testthat/test_frequency_analysis.R @@ -1,22 +1,36 @@ test_data <- import_raw("Newtest17-256.bdf") -test_data <- electrode_locations(test_data, montage = "biosemi64alpha") +test_data <- electrode_locations(test_data, montage = "biosemi64alpha", + overwrite = TRUE) test_epo <- epoch_data(test_data, 255) -tmp_psd <- "psd_output.Rdata" test_that("PSD computation runs correctly.", { - test_psd <- compute_psd(test_data) - expect_known_output(test_psd, tmp_psd) - test_epo_psd <- compute_psd(test_epo) - expect_equal(length(unique(test_epo_psd$epoch)), 39) - expect_equal(length(unique(test_epo_psd$frequency)), 128) + expect_snapshot(compute_psd(test_data)) + expect_snapshot(compute_psd(test_epo)) }) -test_that("TFA works on epoched data", { +test_that("TFA works on epoched data with and without trimmed edges", { tfr_test <- compute_tfr(demo_epochs, foi = c(4, 30), n_freq = 10, n_cycles = 3) expect_s3_class(tfr_test, "eeg_tfr") + tfr_test <- compute_tfr(demo_epochs, + foi = c(4, 30), + n_freq = 10, + n_cycles = 3, + trim_edges = FALSE) + tfr_trials <- compute_tfr(demo_epochs, + foi = c(4, 30), + n_freq = 10, + n_cycles = 3, + keep_trials = TRUE) + expect_s3_class(tfr_trials, "eeg_tfr") + expect_identical(dim(tfr_trials$signals)[[1]], + nrow(epochs(tfr_trials))) + skip_on_ci() + vdiffr::expect_doppelganger( + "untrimmed edges", + plot_tfr(tfr_test)) }) test_that("Hanning method works", { diff --git a/tests/testthat/test_frequency_plotting.R b/tests/testthat/test_frequency_plotting.R index d1262990..e9dac49c 100644 --- a/tests/testthat/test_frequency_plotting.R +++ b/tests/testthat/test_frequency_plotting.R @@ -1,22 +1,22 @@ -context("Frequency analysis plotting") - test_that("plot_psd produces a ggplot", { - skip_on_appveyor() psd_test <- plot_psd(demo_epochs) - vdiffr::expect_doppelganger("power spectrum for demo epochs", psd_test) + vdiffr::expect_doppelganger("power spectrum for demo epochs", + psd_test) tfr_test <- compute_tfr(demo_epochs, foi = c(4, 30), n_freq = 16, n_cycles = 3, output = "fourier") tfr_plot <- plot_tfr(tfr_test) - vdiffr::expect_doppelganger("TFA plot for demo epochs fourier", tfr_plot) + vdiffr::expect_doppelganger("TFA plot for demo epochs fourier", + tfr_plot) tfr_test <- compute_tfr(demo_epochs, foi = c(4, 30), n_freq = 16, n_cycles = 3) tfr_plot <- plot_tfr(tfr_test) - vdiffr::expect_doppelganger("TFA plot for demo epochs", tfr_plot) + vdiffr::expect_doppelganger("TFA plot for demo epochs", + tfr_plot) baseline_types <- c("db", "ratio", "pc", "absolute") tfr_plots <- purrr::map(baseline_types, ~plot_tfr(tfr_test, @@ -38,6 +38,28 @@ test_that("plot_psd produces a ggplot", { n_freq = 16, n_cycles = 3, spacing = "log") tfr_plot <- plot_tfr(tfr_test) - vdiffr::expect_doppelganger("TFA plot for log spaced", tfr_plot) + vdiffr::expect_doppelganger("TFA plot for log spaced", + tfr_plot) +}) + +tfr_test <- compute_tfr(demo_epochs, + foi = c(4, 30), + n_freq = 16, + n_cycles = 3) +test_that("Timecourses from eeg_tfr objects work", { + vdiffr::expect_doppelganger("timecourses from `eeg_tfr`", + plot_timecourse(tfr_test)) + vdiffr::expect_doppelganger("timecourses from `eeg_tfr` with freq_range", + plot_timecourse(tfr_test, + freq_range = c(8, 12))) + vdiffr::expect_doppelganger("timecourses from `eeg_tfr` with time_lim", + plot_timecourse(tfr_test, + freq_range = c(8, 12), + time_lim = c(-.2, .5))) + vdiffr::expect_doppelganger("timecourses from `eeg_tfr` with baseline", + plot_timecourse(tfr_test, + freq_range = c(15, 30), + baseline = c(-.3, -.1), + time_lim = c(-.2, .5))) }) diff --git a/tests/testthat/test_glm.Rdata b/tests/testthat/test_glm.Rdata deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/testthat/test_glm.rds b/tests/testthat/test_glm.rds new file mode 100644 index 00000000..033d6b55 Binary files /dev/null and b/tests/testthat/test_glm.rds differ diff --git a/tests/testthat/test_glm_bl.Rdata b/tests/testthat/test_glm_bl.Rdata deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/testthat/test_data_modifiers.R b/tests/testthat/test_referencing.R similarity index 77% rename from tests/testthat/test_data_modifiers.R rename to tests/testthat/test_referencing.R index ccedd24e..151dd547 100644 --- a/tests/testthat/test_data_modifiers.R +++ b/tests/testthat/test_referencing.R @@ -1,5 +1,3 @@ -context("Test data modification") - test_data <- import_raw("Newtest17-256.bdf") test_that("Referencing works for eeg_* objects", { @@ -24,12 +22,3 @@ test_that("Referencing works for eeg_* objects", { expect_false("A29" %in% names(demo_reref$signals)) expect_true(identical("A29", demo_reref$reference$ref_chans)) }) - - -test_that("Downsampling output is sensible", { - - test_epo <- epoch_data(test_data, 255) - test_reref <- eeg_reference(test_epo) - test_ds <- eeg_downsample(test_reref, 2) - expect_equal(nrow(test_ds$signals), nrow(test_ds$timings)) -}) diff --git a/tests/testthat/test_selections.R b/tests/testthat/test_selections.R index c0aab876..9bd10184 100644 --- a/tests/testthat/test_selections.R +++ b/tests/testthat/test_selections.R @@ -33,7 +33,8 @@ test_that("selection of electrodes and times works as expected", { expect_equal(select_elecs(test_dat, electrode = "Fp1"), new_dat) - expect_equivalent(select_times(test_dat_time, c(-.1, .3)), time_sel) + expect_equal(select_times(test_dat_time, c(-.1, .3)), time_sel, + ignore_attr = TRUE) }) test_that("Selection of electrodes and times works for eeg_* objects", { @@ -80,9 +81,9 @@ test_that("Selection of epochs functions for eeg_epochs objects only", { test_epo <- epoch_data(test_data, 255) test_epo <- tag_events(test_epo, 255, "testing") test_epo_df <- select_epochs(test_epo, 255, df_out = TRUE) - expect_is(test_epo_df, "data.frame") + expect_s3_class(test_epo_df, "data.frame") test_epo_255 <- select_epochs(test_epo, 255) - expect_is(test_epo_255, "eeg_epochs") + expect_s3_class(test_epo_255, "eeg_epochs") expect_identical(test_epo_255$signals, test_epo$signals) test_epo_testing <- select_epochs(test_epo, "testing") expect_identical(test_epo_255$signals, diff --git a/tests/testthat/thresh_test.Rdata b/tests/testthat/thresh_test.Rdata deleted file mode 100644 index e69de29b..00000000 diff --git a/vignettes/eegUtils.Rmd b/vignettes/eegUtils.Rmd index aadf4c05..3398b77d 100644 --- a/vignettes/eegUtils.Rmd +++ b/vignettes/eegUtils.Rmd @@ -127,7 +127,8 @@ You can inspect the added locations using `channels()`. `topoplot()` can then be used to plot a topographical representation of selected data. Note that it is not compulsory to use locations from `electrode_locations()`; if the data has x and y columns when it is a data frame, or added to `chan_info` element of the `eeg_data`/`eeg_epochs` object, then those will be used. ```{r do-topo} -epoched_example <- electrode_locations(epoched_example) +epoched_example <- electrode_locations(epoched_example, + overwrite = TRUE) channels(epoched_example) topoplot(epoched_example, time_lim = c(.22, .24))