From 884c03762e46c48afd21aa1230c8b5baa1cd415a Mon Sep 17 00:00:00 2001 From: Jan Blom Date: Thu, 15 Feb 2024 14:46:16 +0100 Subject: [PATCH 1/3] Update documentation for Snowflake --- CONTRIBUTING.md | 14 +- docs/RabbitInAHat.html | 218 ++------- docs/ReadMe.html | 16 +- docs/WhiteRabbit.html | 435 ++++-------------- docs/WhiteRabbit.md | 20 +- docs/best_practices.html | 39 +- docs/index.html | 30 +- docs/riah_test_framework.html | 212 ++------- docs/site_libs/jquery-3.6.0/jquery-3.6.0.js | 2 - .../jquery-3.6.0/jquery-3.6.0.min.js | 2 +- .../jquery-3.6.0/jquery-3.6.0.min.map | 2 +- .../images/ui-icons_444444_256x240.png | Bin 7142 -> 7142 bytes .../images/ui-icons_555555_256x240.png | Bin 7126 -> 7126 bytes .../images/ui-icons_777620_256x240.png | Bin 4670 -> 4670 bytes .../images/ui-icons_777777_256x240.png | Bin 7163 -> 7163 bytes .../images/ui-icons_cc0000_256x240.png | Bin 4670 -> 4670 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6539 -> 6539 bytes 17 files changed, 240 insertions(+), 750 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0da4df90..40ee8a0d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,7 +2,7 @@ White Rabbit and Rabbit in a Hat are structured as a Maven package. Contributions are welcome. -While the software in the project can be executed with Java 8 (1.8), for development Java 17 (or higher, currently tested wth 21) is needed. +While the software in the project can be executed with Java 8 (1.8), for development Java 17 (or higher, currently tested upto version 21) is needed. This has to do with test and verification dependencies that are not available in a version compatible with Java 8 . Please note that when using an IDE for development, source and target release must still be Java 8 (1.8) . This is enforced @@ -14,11 +14,13 @@ To generate the files ready for distribution, run `mvn install`. When creating a pull request, please make sure the verification phase (`mvn verify`) does not fail. +When contributing code, please make sure that `mvn verify` runs without errors. + ### Testing A number of unit and integration tests exist. The integration tests run only in the maven verification phase, -(`mvn verify`) and depend on docker being available to the user running the verification. If docker is not available, the -integration tests will fail. +(`mvn verify`) and depend on Docker being available to the user running the verification. If Docker is not available, the +integration tests will fail. When adding test, please follow these conventions: @@ -47,6 +49,12 @@ These are used for testing of the main White Rabbit and Rabbit in a Hat features | `riah_input` | An example mapping file used to create the Rabbit in a Hat outputs. | | `riah_output` | All export formats created by Rabbit in a Hat: as word, html, markdown, sql skeleton and the R TestFramework.
These are all generated from `riah_input/riah_mapping_example.gz`. | +### Database support + +If you are considering adding support for a new type of database, it is recommended to follow the pattern as used +by the SnowflakeHandler class, which extends the StorageHandler interface. This way, the brand/database specific code +is isolated into one class, instead of through the code paths that implement support for the +databases that were added earlier. This will lead to clearer code, that will also be easier to test and debug. ### Snowflake diff --git a/docs/RabbitInAHat.html b/docs/RabbitInAHat.html index 6e1f7975..4397a9fb 100644 --- a/docs/RabbitInAHat.html +++ b/docs/RabbitInAHat.html @@ -380,243 +380,105 @@

Introduction

Scope and purpose

-

Rabbit-In-a-Hat comes with WhiteRabbit and is designed to read and -display a WhiteRabbit scan document. WhiteRabbit generates information -about the source data while Rabbit-In-a-Hat uses that information and -through a graphical user interface to allow a user to connect source -data to tables and columns within the CDM. Rabbit-In-a-Hat generates -documentation for the ETL process it does not generate code to create an -ETL.

+

Rabbit-In-a-Hat comes with WhiteRabbit and is designed to read and display a WhiteRabbit scan document. WhiteRabbit generates information about the source data while Rabbit-In-a-Hat uses that information and through a graphical user interface to allow a user to connect source data to tables and columns within the CDM. Rabbit-In-a-Hat generates documentation for the ETL process it does not generate code to create an ETL.

Process Overview

-

The typical sequence for using this software to generate -documentation of an ETL:

+

The typical sequence for using this software to generate documentation of an ETL:

  1. Scanned results from WhiteRabbit completed
  2. -
  3. Open scanned results; interface displays source tables and CDM -tables
  4. -
  5. Connect source tables to CDM tables where the source table provides -information for that corresponding CDM table
  6. -
  7. For each source table to CDM table connection, further define the -connection with source column to CDM column detail
  8. +
  9. Open scanned results; interface displays source tables and CDM tables
  10. +
  11. Connect source tables to CDM tables where the source table provides information for that corresponding CDM table
  12. +
  13. For each source table to CDM table connection, further define the connection with source column to CDM column detail
  14. Save Rabbit-In-a-Hat work and export to a MS Word document.

Installation and support

-

Rabbit-In-a-Hat comes with WhiteRabbit, refer to step 1 and 2 of WhiteRabbit’s installation -section.

+

Rabbit-In-a-Hat comes with WhiteRabbit, refer to step 1 and 2 of WhiteRabbit’s installation section.

Using the application functions

Creating a New Document

-

To create a new document, navigate to File –> Open Scan -Report. Use the “Open” window to browse for the scan document -created by WhiteRabbit. When a scan report is opened, the tables scanned -will appear in orange boxes on the “Source” side of the Tables.

-

Save the Rabbit-In-a-Hat document by going File –> Save -as.

-

Side note: the minimal requirement for a valid scan report is to have -the following named columns in the first sheet: ‘Table’, -‘Field’, ‘N rows’ (numeric) and ‘N rows checked’ (numeric).

+

To create a new document, navigate to File –> Open Scan Report. Use the “Open” window to browse for the scan document created by WhiteRabbit. When a scan report is opened, the tables scanned will appear in orange boxes on the “Source” side of the Tables.

+

Save the Rabbit-In-a-Hat document by going File –> Save as.

+

Side note: the minimal requirement for a valid scan report is to have the following named columns in the first sheet: ‘Table’, ‘Field’, ‘N rows’ (numeric) and ‘N rows checked’ (numeric).

Open an Existing Document

-

To open an existing Rabbit-In-a-Hat document use File –> Open -ETL specs.

+

To open an existing Rabbit-In-a-Hat document use File –> Open ETL specs.

Selecting Desired CDM Version

-

Rabbit-In-a-Hat allows you to select which CDM version (v4, v5 or v6) -you’d like to built your ETL specification against.

-

See the graphic below for how to select your desired CDM:

-

The CDM version can be changed at any time, but beware that you may -lose some of your existing mappings in the process. By default, -Rabbit-In-a-Hat will attempt to preserve as many mappings between the -source data and the newly selected CDM as possible. When a new CDM is -selected, Rabbit-In-a-Hat will drop any mappings without -warning if the mapping’s CDM table or CDM column name no longer -exists.

-

For instance, switching from CDMv4 to CDMv5, a mapping to -person.person_source_value will be kept because the person -table has person_source_value in both CDMv4 and CDMv5. -However, person.associated_provider_id exists only in CDMv4 -(it was renamed to provider_id in CDMv5) and will -not be kept when switching between these two CDMs.

+

Rabbit-In-a-Hat allows you to select which CDM version (v4, v5 or v6) you’d like to built your ETL specification against.

+

See the graphic below for how to select your desired CDM: Switching between CDMv4 and CDMv5

+

The CDM version can be changed at any time, but beware that you may lose some of your existing mappings in the process. By default, Rabbit-In-a-Hat will attempt to preserve as many mappings between the source data and the newly selected CDM as possible. When a new CDM is selected, Rabbit-In-a-Hat will drop any mappings without warning if the mapping’s CDM table or CDM column name no longer exists.

+

For instance, switching from CDMv4 to CDMv5, a mapping to person.person_source_value will be kept because the person table has person_source_value in both CDMv4 and CDMv5. However, person.associated_provider_id exists only in CDMv4 (it was renamed to provider_id in CDMv5) and will not be kept when switching between these two CDMs.

Loading in a Custom CDM

-

There are times when users might need to load in a customized version -of the CDM, for instance if they are sandboxing new features. To load in -a custom CDM schema, first you must create a CSV file that uses the same -format as given -for the CDM versions.

-

Once you have created the CSV file, load it into RiaH as shown -below:

-
- -
Loading a custom CDM schema
+

There are times when users might need to load in a customized version of the CDM, for instance if they are sandboxing new features. To load in a custom CDM schema, first you must create a CSV file that uses the same format as given for the CDM versions.

+

Once you have created the CSV file, load it into RiaH as shown below:

+
+ +

Loading a custom CDM schema

-

Please note that the name of the file you load in becomes the label -that appears above the target tables, so “My Super File.csv” will create -the label “My Super File” above the target tables, so name your CSV -accordingly.

+

Please note that the name of the file you load in becomes the label that appears above the target tables, so “My Super File.csv” will create the label “My Super File” above the target tables, so name your CSV accordingly.

Stem table

-

In some cases a source domains maps to multiple OMOP CDM target -domains. For example lab values that map to both the measurement and -observation domain. Using the stem table will remove some overhead of -repeating the mapping for every target and will also ease implementation -(see below).

-

The idea of the stem table is that it contains all the types of -columns that you need regardless of the CDM table the data ultimately -ends up in. There is a pre-specified map from stem to all CDM clinical -event tables, linking every stem field to one or multiple fields in the -CDM. When implementing the ETL, the vocabulary decides where a -particular row mapped to stem table ultimately goes. The OMOP -CDM Data Model Conventions mentions:

+

In some cases a source domains maps to multiple OMOP CDM target domains. For example lab values that map to both the measurement and observation domain. Using the stem table will remove some overhead of repeating the mapping for every target and will also ease implementation (see below).

+

The idea of the stem table is that it contains all the types of columns that you need regardless of the CDM table the data ultimately ends up in. There is a pre-specified map from stem to all CDM clinical event tables, linking every stem field to one or multiple fields in the CDM. When implementing the ETL, the vocabulary decides where a particular row mapped to stem table ultimately goes. The OMOP CDM Data Model Conventions mentions:

-

Write the data record into the table(s) corresponding to the domain -of the Standard CONCEPT_ID(s).

+

Write the data record into the table(s) corresponding to the domain of the Standard CONCEPT_ID(s).

-

Adding the stem table can be done through Edit –> Add stem -table and removing through Edit –> Remove stem table. -Note that removing the stem table will remove any mappings already made -to/from this table.

+

Adding the stem table can be done through Edit –> Add stem table and removing through Edit –> Remove stem table. Note that removing the stem table will remove any mappings already made to/from this table.

-

This will add the stem table to the source and target tables and -mappings from source stem table to CDM domains.

+

This will add the stem table to the source and target tables and mappings from source stem table to CDM domains.

Concept id hints (v0.9.0)

-

A number of CDM fields have a limited number of standard -concept_id(s) that can be used. Examples are: -gender_concept_id, _type_concept_id‘s, -route_concept_id and visit_concept_id. To help -choose the right concept_id during ETL design, Rabbit-In-a-Hat shows the -list of possible concept ids of a CDM field when clicking on a target -field. Note that all standard and non-standard target concepts with the -right domain are shown, but the OMOP conventions only allow for standard -concepts (flagged with an ’S’ in the panel).

+

A number of CDM fields have a limited number of standard concept_id(s) that can be used. Examples are: gender_concept_id, _type_concept_id‘s, route_concept_id and visit_concept_id. To help choose the right concept_id during ETL design, Rabbit-In-a-Hat shows the list of possible concept ids of a CDM field when clicking on a target field. Note that all standard and non-standard target concepts with the right domain are shown, but the OMOP conventions only allow for standard concepts (flagged with an ’S’ in the panel).

-

The concept id hints are stored statically in a -csv file and are not automatically updated. The code -used to create the aforementioned csv file is also included in the -repo.

+

The concept id hints are stored statically in a csv file and are not automatically updated. The code used to create the aforementioned csv file is also included in the repo.

Table to Table Mappings

-

It is assumed that the owners of the source data should be able to -provide detail of what the data table contains, Rabbit-In-a-Hat will -describe the columns within the table but will not provide the context a -data owner should provide. For the CDM tables, if more information is -needed navigate to the OMOP CDM -documentation and review the current OMOP specification.

-

To connect a source table to a CDM table, simply hover over the -source table until an arrow head appears.

+

It is assumed that the owners of the source data should be able to provide detail of what the data table contains, Rabbit-In-a-Hat will describe the columns within the table but will not provide the context a data owner should provide. For the CDM tables, if more information is needed navigate to the OMOP CDM documentation and review the current OMOP specification.

+

To connect a source table to a CDM table, simply hover over the source table until an arrow head appears.

-

Use your mouse to grab the arrow head and drag it to the -corresponding CDM table. In the example below, the drug_claims -data will provide information for the drug_exposure table.

+

Use your mouse to grab the arrow head and drag it to the corresponding CDM table. In the example below, the drug_claims data will provide information for the drug_exposure table.

-

If you click on the arrow once it will highlight and a -Details window will appear in the right pane. Use this to -describe Logic or Comments that someone developing the ETL code -should know about this source table to CDM table mapping.

+

If you click on the arrow once it will highlight and a Details window will appear in the right pane. Use this to describe Logic or Comments that someone developing the ETL code should know about this source table to CDM table mapping.

-

Continue this process until all tables that are needed to build a CDM -are mapped to their corresponding CDM tables. One source table can map -to multiple CDM tables and one CDM table can receive multiple mappings. -There may be tables in the source data that should not be map into the -CDM and there may be tables in the CDM that cannot be populated from the -source data.

+

Continue this process until all tables that are needed to build a CDM are mapped to their corresponding CDM tables. One source table can map to multiple CDM tables and one CDM table can receive multiple mappings. There may be tables in the source data that should not be map into the CDM and there may be tables in the CDM that cannot be populated from the source data.

Field to Field Mappings

-

By double clicking on an arrow connecting a source and CDM table, it -will open a Fields pane below the arrow selected. The -Fields pane will have all the source table and CDM fields and -is meant to make the specific column mappings between tables. Hovering -over a source table will generate an arrow head that can then be -selected and dragged to its corresponding CDM field. For example, in the -drug_claims to drug_exposure table mapping example, -the source data owners know that patient_id is the patient -identifier and corresponds to the CDM.person_id. Also, just as -before, the arrow can be selected and Logic and -Comments can be added.

+

By double clicking on an arrow connecting a source and CDM table, it will open a Fields pane below the arrow selected. The Fields pane will have all the source table and CDM fields and is meant to make the specific column mappings between tables. Hovering over a source table will generate an arrow head that can then be selected and dragged to its corresponding CDM field. For example, in the drug_claims to drug_exposure table mapping example, the source data owners know that patient_id is the patient identifier and corresponds to the CDM.person_id. Also, just as before, the arrow can be selected and Logic and Comments can be added.

-

If you select the source table orange box, Rabbit-In-a-Hat will -expose values the source data has for that table. This is meant to help -in the process in understanding the source data and what logic may be -required to handle the data in the ETL. In the example below -ndcnum is selected and raw NDC codes are displayed starting -with most frequent (note that in the WhiteRabbit scan a “Min cell count” -could have been selected and values smaller than that count will not -show).

+

If you select the source table orange box, Rabbit-In-a-Hat will expose values the source data has for that table. This is meant to help in the process in understanding the source data and what logic may be required to handle the data in the ETL. In the example below ndcnum is selected and raw NDC codes are displayed starting with most frequent (note that in the WhiteRabbit scan a “Min cell count” could have been selected and values smaller than that count will not show).

-

Continue this process until all source columns necessary in all -mapped tables have been mapped to the corresponding CDM column. Not all -columns must be mapped into a CDM column and not all CDM columns require -a mapping. One source column may supply information to multiple CDM -columns and one CDM column can receive information from multiple -columns.

+

Continue this process until all source columns necessary in all mapped tables have been mapped to the corresponding CDM column. Not all columns must be mapped into a CDM column and not all CDM columns require a mapping. One source column may supply information to multiple CDM columns and one CDM column can receive information from multiple columns.

Output generation

Generating an ETL Document

-

To generate an ETL MS Word document use File –> Generate ETL -document –> Generate ETL Word document and select a location to -save. The ETL document can also be exported to markdown or html. In this -case, a file per target table is created and you will be prompted to -select a folder. Regardless of the format, the generated document will -contain all mappings and notes from Rabbit-In-a-Hat.

-

Once the information is in the document, if an update is needed you -must either update the information in Rabbit-In-a-Hat and regenerate the -document or update the document. If you make changes in the document, -Rabbit-In-a-Hat will not read those changes and update the information -in the tool. However, it is common to generate the document with the -core mapping information and fill in more detail within the -document.

-

Once the document is completed, this should be shared with the -individuals who plan to implement the code to execute the ETL. The -markdown and html format enable easy publishing as a web page on -e.g. Github. A good example is the Synthea ETL -documentation.

+

To generate an ETL MS Word document use File –> Generate ETL document –> Generate ETL Word document and select a location to save. The ETL document can also be exported to markdown or html. In this case, a file per target table is created and you will be prompted to select a folder. Regardless of the format, the generated document will contain all mappings and notes from Rabbit-In-a-Hat.

+

Once the information is in the document, if an update is needed you must either update the information in Rabbit-In-a-Hat and regenerate the document or update the document. If you make changes in the document, Rabbit-In-a-Hat will not read those changes and update the information in the tool. However, it is common to generate the document with the core mapping information and fill in more detail within the document.

+

Once the document is completed, this should be shared with the individuals who plan to implement the code to execute the ETL. The markdown and html format enable easy publishing as a web page on e.g. Github. A good example is the Synthea ETL documentation.

Generating a Testing Framework

-

To make sure the ETL process is working as specified, it is highly -recommended creating unit tests that -evaluate the behavior of the ETL process. To efficiently create a set of -unit tests Rabbit-in-a-Hat can generate a testing framework.

+

To make sure the ETL process is working as specified, it is highly recommended creating unit tests that evaluate the behavior of the ETL process. To efficiently create a set of unit tests Rabbit-in-a-Hat can generate a testing framework.

Generating a SQL Skeleton (v0.9.0)

-

The step after documenting your ETL process is to implement it in an -ETL framework of your choice. As many implementations involve SQL, -Rabbit-In-a-Hat provides a convenience function to export your design to -an SQL skeleton. This contains all field to field mappings, with -logic/descriptions as comments, as non-functional pseudo-code. This -saves you copying names into your SQL code, but still requires you to -implement the actual logic. The general format of the skeleton is:

+

The step after documenting your ETL process is to implement it in an ETL framework of your choice. As many implementations involve SQL, Rabbit-In-a-Hat provides a convenience function to export your design to an SQL skeleton. This contains all field to field mappings, with logic/descriptions as comments, as non-functional pseudo-code. This saves you copying names into your SQL code, but still requires you to implement the actual logic. The general format of the skeleton is:

INSERT INTO <target_table> (
   <target_fields>
 )
diff --git a/docs/ReadMe.html b/docs/ReadMe.html
index 1cca2264..cefcfc18 100644
--- a/docs/ReadMe.html
+++ b/docs/ReadMe.html
@@ -377,24 +377,14 @@
 
 

White Rabbit Documentation Readme

-

This folder contains the raw (.md) and rendered -(.html) documentation of WhiteRabbit. The documentation is -renderd with the R package rmarkdown and used for the github.io page.

+

This folder contains the raw (.md) and rendered (.html) documentation of WhiteRabbit. The documentation is renderd with the R package rmarkdown and used for the github.io page.

Contribute

-

Contributions to the documentation are very welcome and even a must -when new features are implemented. To update the documentation, edit one -of the following markdown files or create a new markdown file: - WhiteRabbit.md - RabbitInAHat.md - riah_test_framework.md - best_practices.md

+

Contributions to the documentation are very welcome and even a must when new features are implemented. To update the documentation, edit one of the following markdown files or create a new markdown file: - WhiteRabbit.md - RabbitInAHat.md - riah_test_framework.md - best_practices.md

Render html

-

To generate the site from markdown files, run the following R code -with the ./docs folder as working directory.

+

To generate the site from markdown files, run the following R code with the ./docs folder as working directory.

#devtools::install_github("ropenscilabs/icon")
 library(rmarkdown)
 rmarkdown::render_site()
diff --git a/docs/WhiteRabbit.html b/docs/WhiteRabbit.html index 9349899c..c7e8bb20 100644 --- a/docs/WhiteRabbit.html +++ b/docs/WhiteRabbit.html @@ -380,41 +380,19 @@

Introduction

Scope and purpose

-

WhiteRabbit is a software tool to help prepare for ETLs (Extraction, -Transformation, Loading) of longitudinal health care databases into the -Observational Medical -Outcomes Partnership (OMOP) Common Data Model (CDM). The source data -can be in delimited text files, SAS files, or in a database (MySQL, SQL -Server, Oracle, PostgreSQL, Microsoft Access, Amazon RedShift, PDW, -Teradata, Google BigQuery, Azure). Note that for support of the OHDSI -analytical tooling, the OMOP CDM will need to be in one of a limited set -of database platforms (SQL Server, Oracle, PostgreSQL, Amazon RedShift, -Google BigQuery, Impala).

-

WhiteRabbit’s main function is to perform a scan of the source data, -providing detailed information on the tables, fields, and values that -appear in a field. This scan will generate a report that can be used as -a reference when designing the ETL, for instance by using the -Rabbit-In-A-Hat tool. WhiteRabbit differs from standard data profiling -tools in that it attempts to prevent the display of personally -identifiable information (PII) data values in the generated output data -file.

+

WhiteRabbit is a software tool to help prepare for ETLs (Extraction, Transformation, Loading) of longitudinal health care databases into the Observational Medical Outcomes Partnership (OMOP) Common Data Model (CDM). The source data can be in delimited text files, SAS files, or in a database (MySQL, SQL Server, Oracle, PostgreSQL, Microsoft Access, Amazon RedShift, PDW, Teradata, Google BigQuery, Azure). Note that for support of the OHDSI analytical tooling, the OMOP CDM will need to be in one of a limited set of database platforms (SQL Server, Oracle, PostgreSQL, Amazon RedShift, Google BigQuery, Impala).

+

WhiteRabbit’s main function is to perform a scan of the source data, providing detailed information on the tables, fields, and values that appear in a field. This scan will generate a report that can be used as a reference when designing the ETL, for instance by using the Rabbit-In-A-Hat tool. WhiteRabbit differs from standard data profiling tools in that it attempts to prevent the display of personally identifiable information (PII) data values in the generated output data file.

Process Overview

-

The typical sequence for using this software to scan source data in -preparation of developing an ETL into an OMOP CDM:

+

The typical sequence for using this software to scan source data in preparation of developing an ETL into an OMOP CDM:

    -
  1. Set working folder, the location on the local desktop computer where -results will be exported.
  2. -
  3. Connect to the source database or delimited text file and test -connection.
  4. -
  5. Select the tables to be scanned and execute the WhiteRabbit -scan.
  6. -
  7. WhiteRabbit creates a ‘ScanReport’ with information about the source -data.
  8. +
  9. Set working folder, the location on the local desktop computer where results will be exported.
  10. +
  11. Connect to the source database or delimited text file and test connection.
  12. +
  13. Select the tables to be scanned and execute the WhiteRabbit scan.
  14. +
  15. WhiteRabbit creates a ‘ScanReport’ with information about the source data.
-

Once the scan report is created, this report can then be used in the -Rabbit-In-A-Hat tool or as a stand-alone data profiling document.

+

Once the scan report is created, this report can then be used in the Rabbit-In-A-Hat tool or as a stand-alone data profiling document.

@@ -422,76 +400,29 @@

Installation and support

Installation

    -
  1. Download the latest version of WhiteRabbit from Github: https://github.com/OHDSI/WhiteRabbit/releases/latest.
    -The packaged application can be found at the bottom of the page under -assets, in a file called WhiteRabbit_vX.X.X.zip (where -X.X.X is the latest version).
  2. +
  3. Download the latest version of WhiteRabbit from Github: https://github.com/OHDSI/WhiteRabbit/releases/latest.
    +The packaged application can be found at the bottom of the page under assets, in a file called WhiteRabbit_vX.X.X.zip (where X.X.X is the latest version).
  4. Unzip the download
  5. -
  6. Double-click on bin/whiteRabbit.bat on Windows to start -WhiteRabbit, and bin/whiteRabbit on macOS and Linux.
    -See Running from the command -line for details on how to run from the command line instead.
  7. -
  8. Go to Using the -Application Functions for detailed instructions on how to make a -scan of your data.
  9. +
  10. Double-click on bin/whiteRabbit.bat on Windows to start WhiteRabbit, and bin/whiteRabbit on macOS and Linux.
    +See Running from the command line for details on how to run from the command line instead.
  11. +
  12. Go to Using the Application Functions for detailed instructions on how to make a scan of your data.
-

Note: on releases earlier than version 0.8.0, open the respective -WhiteRabbit.jar or RabbitInAHat.jar files instead. Note: WhiteRabbit and -RabbitInaHat only work from a path with only ascii characters.

+

Note: on releases earlier than version 0.8.0, open the respective WhiteRabbit.jar or RabbitInAHat.jar files instead. Note: WhiteRabbit and RabbitInaHat only work from a path with only ascii characters.

Memory

-

WhiteRabbit possibly does not start when the memory allocated by the -JVM is too big or too small. By default this is set to 1200m. To -increase the memory (in this example to 2400m), either set the -environment variable EXTRA_JVM_ARGUMENTS=-Xmx2400m before -starting or edit in bin/WhiteRabbit.bat the line -%JAVACMD% %JAVA_OPTS% -Xmx2400m.... To lower the memory, -set one of these variables to e.g. -Xmx600m. If you have a -32-bit Java VM installed and problems persist, consider installing -64-bit Java.

+

WhiteRabbit possibly does not start when the memory allocated by the JVM is too big or too small. By default this is set to 1200m. To increase the memory (in this example to 2400m), either set the environment variable EXTRA_JVM_ARGUMENTS=-Xmx2400m before starting or edit in bin/WhiteRabbit.bat the line %JAVACMD% %JAVA_OPTS% -Xmx2400m.... To lower the memory, set one of these variables to e.g. -Xmx600m. If you have a 32-bit Java VM installed and problems persist, consider installing 64-bit Java.

Temporary Directory for Apache POI

-

(This addresses issue -293)

-

The Apache POI library is used for generating the scan report in -Excel format. This library creates its own directory for temporary files -in the system temporary directory. In issue 293 it -has been reported that this can cause problems in a multi-user -environment, when multiple user attempt to create this directory with -too restrictive permissions (read-only for other users). WhiteRabbit -from version 0.10.9 attempts to circumvent this automatically, but this -workaround can fail due to concurrency problems. If you want to prevent -this from happening entirely , you can set either the environment -variable ORG_OHDSI_WHITERABBIT_POI_TMPDIR or the Java -system property org.ohdsi.whiterabbit.poi.tmpdir to a -temporary directory of your choice when starting WhiteRabbit (best would -be to add this to the whiteRabbit or -whiteRabbit.bat script). Please note that this directory -should exist before your start WhiteRabbit, and that it should be -writable by any user that may want to run WhiteRabbit. For each user a -separate subdirectory will be created, so that permission related -conflicts should be avoided. Also, WhiteRabbit now attempts to detect -this situation before the scan starts. If this is detected, the scan is -not started, and the problem identified before the scan, instead of -afterwards.

+

(This addresses issue 293)

+

The Apache POI library is used for generating the scan report in Excel format. This library creates its own directory for temporary files in the system temporary directory. In issue 293 it has been reported that this can cause problems in a multi-user environment, when multiple user attempt to create this directory with too restrictive permissions (read-only for other users). WhiteRabbit from version 0.10.9 attempts to circumvent this automatically, but this workaround can fail due to concurrency problems. If you want to prevent this from happening entirely , you can set either the environment variable ORG_OHDSI_WHITERABBIT_POI_TMPDIR or the Java system property org.ohdsi.whiterabbit.poi.tmpdir to a temporary directory of your choice when starting WhiteRabbit (best would be to add this to the whiteRabbit or whiteRabbit.bat script). Please note that this directory should exist before your start WhiteRabbit, and that it should be writable by any user that may want to run WhiteRabbit. For each user a separate subdirectory will be created, so that permission related conflicts should be avoided. Also, WhiteRabbit now attempts to detect this situation before the scan starts. If this is detected, the scan is not started, and the problem identified before the scan, instead of afterwards.

Support

-

All source code, descriptions and input/output examples are available -on GitHub: https://github.com/OHDSI/WhiteRabbit

-

Any bugs/issues/enhancements should be posted to the GitHub -repository: https://github.com/OHDSI/WhiteRabbit/issues

-

Any questions/comments/feedback/discussion can be posted on the OHDSI -Developer Forum: http://forums.ohdsi.org/c/developers

+

All source code, descriptions and input/output examples are available on GitHub: https://github.com/OHDSI/WhiteRabbit

+

Any bugs/issues/enhancements should be posted to the GitHub repository: https://github.com/OHDSI/WhiteRabbit/issues

+

Any questions/comments/feedback/discussion can be posted on the OHDSI Developer Forum: http://forums.ohdsi.org/c/developers

@@ -501,160 +432,108 @@

Specifying the Location of Source Data

Working Folder

-

Any files that WhiteRabbit creates will be exported to this local -folder. Use the “Pick Folder” button to navigate in your local -environment where you would like the scan document to go.

+

Any files that WhiteRabbit creates will be exported to this local folder. Use the “Pick Folder” button to navigate in your local environment where you would like the scan document to go.

Source Data

-

Here you can specify the location of the source data. The following -source types are supported: delimited text files, SAS files, MySQL, SQL -Server, Oracle, PostgreSQL, Microsoft Access, Amazon RedShift, PDW, -Teradata, Google BigQuery, Azure. Below are connection instructions for -each data type of data source. Once you have entered the necessary -information, the “Test connection” button can ensure a connection can be -made.

+

Here you can specify the location of the source data. The following source types are supported: delimited text files, SAS files, MySQL, SQL Server, Oracle, PostgreSQL, Microsoft Access, Amazon RedShift, PDW, Teradata, Google BigQuery, Azure, Snowflake. Below are connection instructions for each data type of data source. Once you have entered the necessary information, the “Test connection” button can ensure a connection can be made.

Delimited text files

    -
  • Delimiter: specifies the delimiter that -separates columns. Enter tab for a tab delimited file.
  • +
  • Delimiter: specifies the delimiter that separates columns. Enter tab for a tab delimited file.
-

WhiteRabbit will look for the files to scan in the same folder you -set up as a working directory.

+

WhiteRabbit will look for the files to scan in the same folder you set up as a working directory.

SAS

  • No parameters have to be provided for SAS files.
-

WhiteRabbit will look for .sas7bdat files to scan in the -same folder you set up as a working directory.

-

Note that it is currently not possible to produce fake data for SAS -files from a scan report.

+

WhiteRabbit will look for .sas7bdat files to scan in the same folder you set up as a working directory.

+

Note that it is currently not possible to produce fake data for SAS files from a scan report.

MySQL

    -
  • Server location: the name or IP address of -the server running MySQL. You can also specify the port (ex: -<host>:<port>), which defaults to 3306.
  • -
  • User name: name of the user used to log -into the server
  • -
  • Password: password for the supplied user -name
  • -
  • Database name: name of the database -containing the tables
  • +
  • Server location: the name or IP address of the server running MySQL. You can also specify the port (ex: <host>:<port>), which defaults to 3306.
  • +
  • User name: name of the user used to log into the server
  • +
  • Password: password for the supplied user name
  • +
  • Database name: name of the database containing the tables

Oracle

    -
  • Server location: this field contains the -SID, service name, and optionally the port: -<host>/<sid>, -<host>:<port>/<sid>, -<host>/<service name>, or -<host>:<port>/<service name>
  • -
  • User name: name of the user used to log -into the server
  • -
  • Password: password for the supplied user -name
  • -
  • Database name: this field contains the -schema (i.e. ‘user’ in Oracle terms) containing the tables
  • +
  • Server location: this field contains the SID, service name, and optionally the port: <host>/<sid>, <host>:<port>/<sid>, <host>/<service name>, or <host>:<port>/<service name>
  • +
  • User name: name of the user used to log into the server
  • +
  • Password: password for the supplied user name
  • +
  • Database name: this field contains the schema (i.e. ‘user’ in Oracle terms) containing the tables

SQL Server

    -
  • Server location: the name or IP address of -the server running SQL Server. You can also specify the port (ex: -<host>:<port>), which defaults to 1433.
  • -
  • User name: name of the user used to log -into the server. Optionally, the domain can be specified as -<domain>/<user> (e.g. ‘MyDomain/Joe’)
  • -
  • Password: password for the supplied user -name
  • -
  • Database name: name of the database -containing the tables
  • +
  • Server location: the name or IP address of the server running SQL Server. You can also specify the port (ex: <host>:<port>), which defaults to 1433.
  • +
  • User name: name of the user used to log into the server. Optionally, the domain can be specified as <domain>/<user> (e.g. ‘MyDomain/Joe’)
  • +
  • Password: password for the supplied user name
  • +
  • Database name: name of the database containing the tables
-

When the SQL Server JDBC drivers are installed, you can also use -Windows authentication. In this case, user name and password should be -empty.

+

When the SQL Server JDBC drivers are installed, you can also use Windows authentication. In this case, user name and password should be empty.

    -
  1. Download the .exe from http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx.
  2. +
  3. Download the .exe from http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx.
  4. Run it, thereby extracting its contents to a folder.
  5. -
  6. In the extracted folder you will find the file -_sqljdbc_4.0/enu/auth/x64/sqljdbc_auth.dll_ (64-bits) or -_sqljdbc_4.0/enu/auth/x86/sqljdbc_auth.dll_ (32-bits), -which needs to be moved to a location on the system path, for example to -c:/windows/system32.
  7. +
  8. In the extracted folder you will find the file _sqljdbc_4.0/enu/auth/x64/sqljdbc_auth.dll_ (64-bits) or _sqljdbc_4.0/enu/auth/x86/sqljdbc_auth.dll_ (32-bits), which needs to be moved to a location on the system path, for example to c:/windows/system32.

PostgreSQL

    -
  • Server location: this field contains the -host name and database name -(<host>/<database>). You can also specify the -port (ex: <host>:<port>/<database>), -which defaults to 5432.
  • -
  • User name: name of the user used to log -into the server
  • -
  • Password: password for the supplied user -name
  • -
  • Database name: this field contains the -schema containing the tables
  • +
  • Server location: this field contains the host name and database name (<host>/<database>). You can also specify the port (ex: <host>:<port>/<database>), which defaults to 5432.
  • +
  • User name: name of the user used to log into the server
  • +
  • Password: password for the supplied user name
  • +
  • Database name: this field contains the schema containing the tables

Google BigQuery

-

Google BigQuery (GBQ) supports two different -connection/authentication methods: application default credentials and -service account authentication. The former method is considered more -secure because it writes auditing events to stackdriver. The specific -method used is determined by the arguments provided to the configuration -panel as described below.

+

Google BigQuery (GBQ) supports two different connection/authentication methods: application default credentials and service account authentication. The former method is considered more secure because it writes auditing events to stackdriver. The specific method used is determined by the arguments provided to the configuration panel as described below.

Authentication via application default credentials:

-

When using application default credentials authentication, you must -run the following gcloud command in the user account only once: -gcloud auth application-default login (do not include the -single quote characters). An application key is written to -~/.config/gcloud/application_default_credentails.json.

+

When using application default credentials authentication, you must run the following gcloud command in the user account only once: gcloud auth application-default login (do not include the single quote characters). An application key is written to ~/.config/gcloud/application_default_credentails.json.

    -
  • Server location: name of the GBQ -ProjectID
  • +
  • Server location: name of the GBQ ProjectID
  • User name: not used
  • Password: not used
  • -
  • Database name: data set name within -ProjectID named in Server location field
  • +
  • Database name: data set name within ProjectID named in Server location field

Authentication via service account credentials:

    -
  • Server location: name of GBQ -ProjectID
  • -
  • User name: OAuth service account email -address
  • -
  • Password: OAuth private key path (full -path to the private key JSON file)
  • -
  • Database name: data set name within -ProjectID named in Server location field
  • +
  • Server location: name of GBQ ProjectID
  • +
  • User name: OAuth service account email address
  • +
  • Password: OAuth private key path (full path to the private key JSON file)
  • +
  • Database name: data set name within ProjectID named in Server location field

Azure

    -
  • Server location: server address string -including database name -(e.g. <project>.database.windows.net:1433;database=<database_name>)
  • -
  • User name: name of the user used to log -into the server
  • -
  • Password: password for the supplied user -name
  • +
  • Server location: server address string including database name (e.g. <project>.database.windows.net:1433;database=<database_name>)
  • +
  • User name: name of the user used to log into the server
  • +
  • Password: password for the supplied user name
+
+

Snowflake

+
    +
  • Account: the account name for your Snowflake instance
  • +
  • User: user name to be used for the Snowflake instance
  • +
  • Password: password for the above user
  • +
  • Warehouse: warehouse within the Snowflake instance
  • +
  • Database: database to be used within the warehouse
  • +
  • Schema: schema to be used within the database
  • +
  • Authentication method: authentication method to be used. Currently only the value ‘externalbrowser’ is supported
  • +
+

Please note that the fields Password and Authentication method are mutually exclusive: for only one of these fields a value should be supplied. A warning will be given when a value is supplied for both fields.

+
@@ -662,50 +541,23 @@

Scanning a Database

Performing the Scan

-

A scan generates a report containing information on the source data -that can be used to help design the ETL. Using the Scan tab in -WhiteRabbit you can either select individual tables in the selected -source database by clicking on ‘Add’ (Ctrl + mouse click), or -automatically select all tables in the database by clicking on ‘Add all -in DB’.

+

A scan generates a report containing information on the source data that can be used to help design the ETL. Using the Scan tab in WhiteRabbit you can either select individual tables in the selected source database by clicking on ‘Add’ (Ctrl + mouse click), or automatically select all tables in the database by clicking on ‘Add all in DB’.

There are a few setting options as well with the scan:

    -
  • Checking the “Scan field values” box tells WhiteRabbit that you -would like to investigate raw data items within tables selected for a -scan (i.e. if you select Table A, WhiteRabbit will review the contents -in each column in Table A). +
  • Checking the “Scan field values” box tells WhiteRabbit that you would like to investigate raw data items within tables selected for a scan (i.e. if you select Table A, WhiteRabbit will review the contents in each column in Table A).
      -
    • “Min cell count” is an option when scanning field values. By -default, this is set to 5, meaning values in the source data that appear -less than 5 times will not appear in the report.
    • -
    • “Rows per table” is an option when scanning field values. By -default, WhiteRabbit will random 100,000 rows in the table. There are -other options to review 500,000, 1 million or all rows within the -table.
    • -
    • “Max distinct values” is an option when scanning field values. By -default, this is set to 1,000, meaning a maximum of 1,000 distinct -values per field will appear in the scan report. This option can be set -to 100, 1,000 or 10,000 distinct values.
    • +
    • “Min cell count” is an option when scanning field values. By default, this is set to 5, meaning values in the source data that appear less than 5 times will not appear in the report.
    • +
    • “Rows per table” is an option when scanning field values. By default, WhiteRabbit will random 100,000 rows in the table. There are other options to review 500,000, 1 million or all rows within the table.
    • +
    • “Max distinct values” is an option when scanning field values. By default, this is set to 1,000, meaning a maximum of 1,000 distinct values per field will appear in the scan report. This option can be set to 100, 1,000 or 10,000 distinct values.
  • -
  • Unchecking the “Scan field values” tells WhiteRabbit to not review -or report on any of the raw data items.
  • -
  • Checking the “Numeric stats” box will include numeric statistics. -See the section on Numerical -Statistics.
  • +
  • Unchecking the “Scan field values” tells WhiteRabbit to not review or report on any of the raw data items.
  • +
  • Checking the “Numeric stats” box will include numeric statistics. See the section on Numerical Statistics.
-

Once all settings are completed, press the ‘Scan tables’ button. -After the scan is completed the report will be written to the working -folder.

+

Once all settings are completed, press the ‘Scan tables’ button. After the scan is completed the report will be written to the working folder.

Running from the command line

-

For various reasons one could prefer to run WhiteRabbit from the -command line. This is possible by specifying all the options one would -normally select in the user interface in an .ini file. An example ini -file can be found in the iniFileExamples -folder. Then, we can reference the ini file when calling WhiteRabbit -from the command line:

+

For various reasons one could prefer to run WhiteRabbit from the command line. This is possible by specifying all the options one would normally select in the user interface in an .ini file. Example ini files can be found in the iniFileExamples folder. WhiteRabbit.ini is a generic example, and there are also one or more database specific examples (e.g. Snowflake.ini) Then, we can reference the ini file when calling WhiteRabbit from the command line, e.g.:

Windows

bin/whiteRabbit.bat -ini WhiteRabbit.ini

Mac/Unix

@@ -713,159 +565,76 @@

Running from the command line

Reading the Scan

-

After the scan is completed, a “ScanReport” Excel document will be -created in the working folder location selected earlier. The document -will have multiple tabs. The first two tabs are a “Field Overview” tab -and a “Table Overview” tab. The subsequent tabs contain field and value -overviews for each database table or delimited text files selected for -the scan. The last tab (indicated by "_") contains metadata -on the WhiteRabbit settings used to create the scan report. The “Table -Overview” and "_" tab are not present in releases earlier -than v0.10.0.

+

After the scan is completed, a “ScanReport” Excel document will be created in the working folder location selected earlier. The document will have multiple tabs. The first two tabs are a “Field Overview” tab and a “Table Overview” tab. The subsequent tabs contain field and value overviews for each database table or delimited text files selected for the scan. The last tab (indicated by "_") contains metadata on the WhiteRabbit settings used to create the scan report. The “Table Overview” and "_" tab are not present in releases earlier than v0.10.0.

Field Overview

-

The “Field Overview” tab will show for each table scanned, the -details for each field. For example the data type, the number of empty -rows and other statistics.

+

The “Field Overview” tab will show for each table scanned, the details for each field. For example the data type, the number of empty rows and other statistics.

  • Column A: will list which table the information is about
  • Column B: the column name
  • Column C: a column description
  • Column D: the data type
  • -
  • Column E: the maximum length of the values (number of -characters/digits)
  • -
  • Column F: the number of rows (with text files it will return - -1)
  • -
  • Column G: will tell you how many rows of the N rows were -scanned
  • +
  • Column E: the maximum length of the values (number of characters/digits)
  • +
  • Column F: the number of rows (with text files it will return - 1)
  • +
  • Column G: will tell you how many rows of the N rows were scanned
  • Column H: shows how many of the checked rows are empty
  • -
  • Column I: shows a count of the unique values within the checked -rows. This number is sometimes an upper limit of the unique values, -indicated by a <= sign (This column is not present in -releases earlier than v0.9.0)
  • -
  • Column J: shows the percentage of unique values among all (0% = -constant value, 100% = unique column. This column is not present in -releases earlier than v0.9.0)
  • +
  • Column I: shows a count of the unique values within the checked rows. This number is sometimes an upper limit of the unique values, indicated by a <= sign (This column is not present in releases earlier than v0.9.0)
  • +
  • Column J: shows the percentage of unique values among all (0% = constant value, 100% = unique column. This column is not present in releases earlier than v0.9.0)

Table Overview

-

The “Table Overview” tab gives information about each of the tables -in the data source. Below is an example image of the “Table Overview” -tab.

+

The “Table Overview” tab gives information about each of the tables in the data source. Below is an example image of the “Table Overview” tab.

  • Column A: will list which table the information is about
  • Column B: a table description
  • -
  • Column C: the number of rows in a table(with text files it will -return - 1)
  • -
  • Column D: will tell you how many rows of the N rows were -scanned
  • +
  • Column C: the number of rows in a table(with text files it will return - 1)
  • +
  • Column D: will tell you how many rows of the N rows were scanned
  • Column E: the number of fields in the table
  • Column F: the number of empty fields
-

The “Description” column for both the field and table overview was -added in v0.10.0. These cells are not populated by WhiteRabbit (with the -exception when scanning sas7bdat files that contain labels). Rather, -this field provides a way for the data holder to add descriptions to the -fields and tables. These descriptions are displayed in Rabbit-In-A-Hat -when loading the scan report. This is especially useful when the -fieldnames are abbreviations or in a foreign language.

+

The “Description” column for both the field and table overview was added in v0.10.0. These cells are not populated by WhiteRabbit (with the exception when scanning sas7bdat files that contain labels). Rather, this field provides a way for the data holder to add descriptions to the fields and tables. These descriptions are displayed in Rabbit-In-A-Hat when loading the scan report. This is especially useful when the fieldnames are abbreviations or in a foreign language.

Value scans

-

If the values of the table have been scanned (described in Performing the Scan), the scan report -will contain a tab for each scanned table. An example for one field is -shown below.

+

If the values of the table have been scanned (described in Performing the Scan), the scan report will contain a tab for each scanned table. An example for one field is shown below.

-

The field names from the source table will be across the columns of -the Excel tab. Each source field will generate two columns in the Excel. -One column will list all distinct values that have a “Min cell count” -greater than what was set at time of the scan. Next to each distinct -value will be a second column that contains the frequency, or the number -of times that value occurs in the data. These two columns(distinct -values and frequency) will repeat for all the source columns in the -profiled table.

-

If a list of unique values was truncated, the last value in the list -will be "List truncated..."; this indicates that there are -one or more additional unique source values that have a frequency lower -than the “Min cell count”.

-

The scan report is powerful in understanding your source data by -highlighting what exists. For example, the above example was retrieved -for the “GENDER” column within one of the tables scanned, we can see -that there were two common values (1 & 2) that appeared 104 and 96 -times respectively. WhiteRabbit will not define “1” as male and “2” as -female; the data holder will typically need to define source codes -unique to the source system. However, these two values (1 & 2) are -not the only values present in the data because we see this list was -truncated. These other values appear with very low frequency (defined by -“Min cell count”) and often represent incorrect or highly suspicious -values. When generating an ETL we should not only plan to handle the -high-frequency gender concepts “1” and “2” but also the other -low-frequency values that exist within this column.

+

The field names from the source table will be across the columns of the Excel tab. Each source field will generate two columns in the Excel. One column will list all distinct values that have a “Min cell count” greater than what was set at time of the scan. Next to each distinct value will be a second column that contains the frequency, or the number of times that value occurs in the data. These two columns(distinct values and frequency) will repeat for all the source columns in the profiled table.

+

If a list of unique values was truncated, the last value in the list will be "List truncated..."; this indicates that there are one or more additional unique source values that have a frequency lower than the “Min cell count”.

+

The scan report is powerful in understanding your source data by highlighting what exists. For example, the above example was retrieved for the “GENDER” column within one of the tables scanned, we can see that there were two common values (1 & 2) that appeared 104 and 96 times respectively. WhiteRabbit will not define “1” as male and “2” as female; the data holder will typically need to define source codes unique to the source system. However, these two values (1 & 2) are not the only values present in the data because we see this list was truncated. These other values appear with very low frequency (defined by “Min cell count”) and often represent incorrect or highly suspicious values. When generating an ETL we should not only plan to handle the high-frequency gender concepts “1” and “2” but also the other low-frequency values that exist within this column.

Numerical Statistics

-

If the option for numerical statistics is checked, then a set of -statistics is calculated for all integer, real and date data types. The -following statistics are added to the Field Overview sheet (Columns -K-Q):

+

If the option for numerical statistics is checked, then a set of statistics is calculated for all integer, real and date data types. The following statistics are added to the Field Overview sheet (Columns K-Q):

    -
  • Columns E-J are not shown, see section above for a -description
  • +
  • Columns E-J are not shown, see section above for a description
  • Column K: Average
  • Column L: Standard Deviation (sampled)
  • Column M: Minimum
  • Columns N/O/P: Quartiles (sampled)
  • Column Q: Maximum
-

When selecting the option for scanning numerical statistics, the -parameter “Numeric stats reservoir size” can be set. This defines the -number of values that will be stored for calculation of the numeric -statistics. These values will be randomly sampled from the field values -in the scan report. If the number of values is smaller than the set -reservoir size, then the standard deviation and three quartile -boundaries are the exact population statistics. Otherwise, the -statistics are approximated based on a representative sample. The -average, minimum and maximum are always true population statistics. For -dates, the standard deviation of dates is given in days. The other date -statistics are converted to a date representation.

+

When selecting the option for scanning numerical statistics, the parameter “Numeric stats reservoir size” can be set. This defines the number of values that will be stored for calculation of the numeric statistics. These values will be randomly sampled from the field values in the scan report. If the number of values is smaller than the set reservoir size, then the standard deviation and three quartile boundaries are the exact population statistics. Otherwise, the statistics are approximated based on a representative sample. The average, minimum and maximum are always true population statistics. For dates, the standard deviation of dates is given in days. The other date statistics are converted to a date representation.

Generating Fake Data

-

This feature allows one to create a fake dataset based on a -WhiteRabbit scan report. The generated fake data can be outputted -directly to database tables (MySQL, Oracle, SQL Server, PostgreSQL) or -as delimited text file. The resulting dataset could be used to develop -ETL code when direct access to the data is not available.

+

This feature allows one to create a fake dataset based on a WhiteRabbit scan report. The generated fake data can be outputted directly to database tables (MySQL, Oracle, SQL Server, PostgreSQL) or as delimited text file. The resulting dataset could be used to develop ETL code when direct access to the data is not available.

WhiteRabbit has three modes to generate fake data:

    -
  1. If no values have been scanned (i.e. the column in the scan report -doesn’t contain values), WhiteRabbit will generate random strings or -numbers for that column.
  2. -
  3. If there are values scanned, WhiteRabbit will generate the data by -choosing from the scan values. Values are sampled either based on the -frequencies of the values, or sampled uniformly (if this option -selected).
  4. -
  5. If the column only contains unique values (each value has a -frequency of 1, e.g. for primary keys), the generated column will be -kept unique.
  6. +
  7. If no values have been scanned (i.e. the column in the scan report doesn’t contain values), WhiteRabbit will generate random strings or numbers for that column.
  8. +
  9. If there are values scanned, WhiteRabbit will generate the data by choosing from the scan values. Values are sampled either based on the frequencies of the values, or sampled uniformly (if this option selected).
  10. +
  11. If the column only contains unique values (each value has a frequency of 1, e.g. for primary keys), the generated column will be kept unique.

The following options are available for generating fake data:

    -
  • “Max rows per table” sets the number of rows of each output table. -By default, it is set to 10,000.
  • -
  • By checking the “Uniform Sampling” box will generate the fake data -uniformly. The frequency of each of the values will be treated as being -1, but the value sampling will still be random. This increases the -chance that each of the values in the scan report is at least once -represented in the output data.
  • +
  • “Max rows per table” sets the number of rows of each output table. By default, it is set to 10,000.
  • +
  • By checking the “Uniform Sampling” box will generate the fake data uniformly. The frequency of each of the values will be treated as being 1, but the value sampling will still be random. This increases the chance that each of the values in the scan report is at least once represented in the output data.
diff --git a/docs/WhiteRabbit.md b/docs/WhiteRabbit.md index 8790f4f0..f120fe66 100644 --- a/docs/WhiteRabbit.md +++ b/docs/WhiteRabbit.md @@ -84,7 +84,7 @@ Use the “Pick Folder” button to navigate in your local environment where you Here you can specify the location of the source data. The following source types are supported: - delimited text files, SAS files, MySQL, SQL Server, Oracle, PostgreSQL, Microsoft Access, Amazon RedShift, PDW, Teradata, Google BigQuery, Azure. + delimited text files, SAS files, MySQL, SQL Server, Oracle, PostgreSQL, Microsoft Access, Amazon RedShift, PDW, Teradata, Google BigQuery, Azure, Snowflake. Below are connection instructions for each data type of data source. Once you have entered the necessary information, the “Test connection” button can ensure a connection can be made. @@ -160,6 +160,19 @@ Authentication via service account credentials: * _**User name:**_ name of the user used to log into the server * _**Password:**_ password for the supplied user name +#### Snowflake + + * _**Account:**_ the account name for your Snowflake instance + * _**User:**_ user name to be used for the Snowflake instance + * _**Password:**_ password for the above user + * _**Warehouse:**_ warehouse within the Snowflake instance + * _**Database:**_ database to be used within the warehouse + * _**Schema:**_ schema to be used within the database + * _**Authentication method:**_ authentication method to be used. Currently only the value 'externalbrowser' is supported + +Please note that the fields _**Password**_ and _**Authentication method**_ are mutually exclusive: for only one of these fields +a value should be supplied. A warning will be given when a value is supplied for both fields. + ## Scanning a Database ### Performing the Scan @@ -185,8 +198,9 @@ Once all settings are completed, press the ‘Scan tables’ button. After the s For various reasons one could prefer to run WhiteRabbit from the command line. This is possible by specifying all the options one would normally select in the user interface in an .ini file. -An example ini file can be found in the [iniFileExamples folder](https://github.com/OHDSI/WhiteRabbit/blob/master/iniFileExamples/WhiteRabbit.ini). -Then, we can reference the ini file when calling WhiteRabbit from the command line: +Example ini files can be found in the [iniFileExamples folder](https://github.com/OHDSI/WhiteRabbit/blob/master/iniFileExamples/WhiteRabbit.ini). `WhiteRabbit.ini` is a generic example, and there +are also one or more database specific examples (e.g. `Snowflake.ini`) +Then, we can reference the ini file when calling WhiteRabbit from the command line, e.g.: **Windows** diff --git a/docs/best_practices.html b/docs/best_practices.html index 5df26713..52ac5779 100644 --- a/docs/best_practices.html +++ b/docs/best_practices.html @@ -300,49 +300,28 @@

Best Practices

-

The following lists best practices in using WhiteRabbit and -Rabbit-In-a-Hat to manage your ETL documentation process:

+

The following lists best practices in using WhiteRabbit and Rabbit-In-a-Hat to manage your ETL documentation process:

  • Overall Process:
      -
    • When going through the ETL exercise, it is critical to get all key -stakeholders in the room such as the data owners and individuals who -plan to perform/manage research using the CDM. We have found different -stakeholders have different perspectives on source data and the -conversation that occurs improves the ETL process.
    • +
    • When going through the ETL exercise, it is critical to get all key stakeholders in the room such as the data owners and individuals who plan to perform/manage research using the CDM. We have found different stakeholders have different perspectives on source data and the conversation that occurs improves the ETL process.
  • WhiteRabbit:
      -
    • If it is known some tables will not be needed from the source data, -do not include them in the scan. If there is a question to if the table -is necessary it is better to include it.
    • +
    • If it is known some tables will not be needed from the source data, do not include them in the scan. If there is a question to if the table is necessary it is better to include it.
  • Rabbit-In-a-Hat:
      -
    • Start with mapping tables to tables and then dive into how one -table’s fields map into CDM fields. In other words, stay at the table -level until all tables a mapped, and then start to map fields.
    • -
    • If your source data does not contain certain information you do not -need to impute or generate information to fulfil a CDM requirement. For -example, if your source data does not contain an end date for when a -medication was stopped you do not need to population the -DRUG_EXPOSURE.DRUG_EXPOSURE_START_DATE column.
    • -
    • Derived CDM tables, like DRUG_ERA, typically will not receive a -mapping from the source data because they are generated off the CDM -table (in this case DRUG_ERA is generated off DRUG_EXPOSURE).
    • +
    • Start with mapping tables to tables and then dive into how one table’s fields map into CDM fields. In other words, stay at the table level until all tables a mapped, and then start to map fields.
    • +
    • If your source data does not contain certain information you do not need to impute or generate information to fulfil a CDM requirement. For example, if your source data does not contain an end date for when a medication was stopped you do not need to population the DRUG_EXPOSURE.DRUG_EXPOSURE_START_DATE column.
    • +
    • Derived CDM tables, like DRUG_ERA, typically will not receive a mapping from the source data because they are generated off the CDM table (in this case DRUG_ERA is generated off DRUG_EXPOSURE).

References:

diff --git a/docs/index.html b/docs/index.html index 6724ace5..b73d3b1b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -301,10 +301,6 @@

Introduction

---- @@ -318,28 +314,16 @@

Introduction

-

WhiteRabbit is a small application that can be used -to analyse the structure and contents of a database as preparation for -designing an ETL. It comes with RabbitInAHat, an -application for interactive design of an ETL to the OMOP Common Data -Model with the help of the the scan report generated by White -Rabbit.

+

WhiteRabbit is a small application that can be used to analyse the structure and contents of a database as preparation for designing an ETL. It comes with RabbitInAHat, an application for interactive design of an ETL to the OMOP Common Data Model with the help of the the scan report generated by White Rabbit.

Features

    -
  • Can scan databases in SQL Server, Oracle, PostgreSQL, MySQL, MS -Access, Teradata, PDW, Amazon RedShift, Google BigQuery, SAS files and -CSV files
  • -
  • The scan report contains information on tables, fields, and -frequency distributions of values
  • -
  • Cutoff on the minimum frequency of values to protect patient -privacy
  • -
  • WhiteRabbit can be run with a graphical user interface or from the -command prompt
  • -
  • Interactive tool (Rabbit in a Hat) for designing the ETL using the -scan report as basis
  • -
  • Rabbit in a Hat generates ETL specification document according to -OMOP templatement according to OMOP template
  • +
  • Can scan databases in SQL Server, Oracle, PostgreSQL, MySQL, MS Access, Teradata, PDW, Amazon RedShift, Google BigQuery, SAS files and CSV files
  • +
  • The scan report contains information on tables, fields, and frequency distributions of values
  • +
  • Cutoff on the minimum frequency of values to protect patient privacy
  • +
  • WhiteRabbit can be run with a graphical user interface or from the command prompt
  • +
  • Interactive tool (Rabbit in a Hat) for designing the ETL using the scan report as basis
  • +
  • Rabbit in a Hat generates ETL specification document according to OMOP templatement according to OMOP template
diff --git a/docs/riah_test_framework.html b/docs/riah_test_framework.html index 993ac13f..3d550ec5 100644 --- a/docs/riah_test_framework.html +++ b/docs/riah_test_framework.html @@ -378,142 +378,69 @@

Rabbit in a Hat testing framework

Introduction

-

Rabbit in a Hat can generate a framework for creating a set of unit tests. The -framework consists of a set of R functions tailored to the source and -target schema in your ETL. These functions can then be used to define -the unit tests.

-

Unit testing assumes that you have your data in source format -somewhere in a database. You should already have created an ETL process -that will extract from the source database, transform it into CDM -format, and load it into a CDM schema. The unit test framework can be -used to make sure that your ETL process is doing what it is supposed to -do. For this you will need to create a new, empty database with exactly -the same structure as your source database, and a new empty database -where a test CDM database will live. The testing framework can be used -to insert test data into the empty source schema. Next, you can run your -ETL process on the test data to populate the test CDM database. Finally, -you can use the framework to verify that the output of the ETL in the -test CDM database is what you’d expect given the test source data.

+

Rabbit in a Hat can generate a framework for creating a set of unit tests. The framework consists of a set of R functions tailored to the source and target schema in your ETL. These functions can then be used to define the unit tests.

+

Unit testing assumes that you have your data in source format somewhere in a database. You should already have created an ETL process that will extract from the source database, transform it into CDM format, and load it into a CDM schema. The unit test framework can be used to make sure that your ETL process is doing what it is supposed to do. For this you will need to create a new, empty database with exactly the same structure as your source database, and a new empty database where a test CDM database will live. The testing framework can be used to insert test data into the empty source schema. Next, you can run your ETL process on the test data to populate the test CDM database. Finally, you can use the framework to verify that the output of the ETL in the test CDM database is what you’d expect given the test source data.

Process Overview

These are the steps to perform unit testing:

    -
  1. Create the testing framework for your source and target database -schemas
  2. +
  3. Create the testing framework for your source and target database schemas
  4. Using the framework in R, define a set of unit tests
  5. -
  6. Use the framework to generate testing data in the source data -schema
  7. +
  8. Use the framework to generate testing data in the source data schema
  9. Run your ETL on the test data to produce data in the CDM schema
  10. -
  11. Use the framework to evaluate whether the CDM data meets the defined -expectations
  12. +
  13. Use the framework to evaluate whether the CDM data meets the defined expectations
-

It is advised to use R-Studio -for defining your unit tests. One reason is that RStudio will -automatically prompt you with possible function and argument names after -you’ve only typed the first few characters.

+

It is advised to use R-Studio for defining your unit tests. One reason is that RStudio will automatically prompt you with possible function and argument names after you’ve only typed the first few characters.

Creating the Testing Framework

-

In Rabbit in a Hat, have your ETL specifications open. The source -data schema should be loaded from the White-Rabbit scan report, and the -target data schema should be selected (usually the OMOP CDM v5). Go to -File → Generate ETL Test Framework, and use a file name with -the .R extension, for example MyTestFrameWork.R.

+

In Rabbit in a Hat, have your ETL specifications open. The source data schema should be loaded from the White-Rabbit scan report, and the target data schema should be selected (usually the OMOP CDM v5). Go to File → Generate ETL Test Framework, and use a file name with the .R extension, for example MyTestFrameWork.R.

Using the Testing Framework

-

Next, create an empty R script, and start by sourcing the R file that -was just created:

+

Next, create an empty R script, and start by sourcing the R file that was just created:

source("MyTestFrameWork.R")
-

Be sure to run this command immediately to make the function -definitions available to R-Studio.

+

Be sure to run this command immediately to make the function definitions available to R-Studio.

Available functions

-

The test framework defines the following functions for each -table in the source schema:

+

The test framework defines the following functions for each table in the source schema:

    -
  • get_defaults_<table name> shows the default field -values that will be used when creating a record in the table. At the -start, these default values have been taken from the White-Rabbit scan -report, using the most frequent value.
  • -
  • set_defaults_<table name> can be used to change -the default values of one or more fields in the table. For example -set_defaults_enrollment(enrollment_date = "2000-01-01").
  • -
  • add_<table name> can be used to specify that a -record should be created in the table. The arguments can be used to -specify field values. For fields where the user doesn’t specify a value, -the default value is used. For example -add_enrollment(member_id = "M00000001").
  • +
  • get_defaults_<table name> shows the default field values that will be used when creating a record in the table. At the start, these default values have been taken from the White-Rabbit scan report, using the most frequent value.
  • +
  • set_defaults_<table name> can be used to change the default values of one or more fields in the table. For example set_defaults_enrollment(enrollment_date = "2000-01-01").
  • +
  • add_<table name> can be used to specify that a record should be created in the table. The arguments can be used to specify field values. For fields where the user doesn’t specify a value, the default value is used. For example add_enrollment(member_id = "M00000001").
-

The following functions are defined for each table in the CDM -schema:

+

The following functions are defined for each table in the CDM schema:

    -
  • expect_<table name> can be used to state the -expectation that at least one record with the defined properties should -exist in the table. For example -expect_person(person_id = 1, person_source_value = "M00000001").
  • -
  • expect_no_<table name> can be used to state the -expectation that no record with the defined properties should exist in -the table. For example -expect_no_condition_occurrence(person_id = 1).
  • -
  • expect_count_<table name> can be used to state -the expectation that a specific number of records with the defined -properties should exist in the table. For example -expect_count_condition_occurrence(person_id = 1, rowCount = 3).
  • -
  • lookup_<table name> can be used to get a specific -value from another table. For example to get the person_id -by person_source_value.
  • +
  • expect_<table name> can be used to state the expectation that at least one record with the defined properties should exist in the table. For example expect_person(person_id = 1, person_source_value = "M00000001").
  • +
  • expect_no_<table name> can be used to state the expectation that no record with the defined properties should exist in the table. For example expect_no_condition_occurrence(person_id = 1).
  • +
  • expect_count_<table name> can be used to state the expectation that a specific number of records with the defined properties should exist in the table. For example expect_count_condition_occurrence(person_id = 1, rowCount = 3).
  • +
  • lookup_<table name> can be used to get a specific value from another table. For example to get the person_id by person_source_value.

One further function is available:

    -
  • declareTest is used to group multiple statements under -a single identifier. For example -declareTest(id = 1, description = "Test person ID").
  • +
  • declareTest is used to group multiple statements under a single identifier. For example declareTest(id = 1, description = "Test person ID").

Defining unit tests

-

Using these functions, we can define tests. Here is an example unit -test:

+

Using these functions, we can define tests. Here is an example unit test:

declareTest(101, "Person gender mappings")
 add_enrollment(member_id = "M000000101", gender_of_member = "male")
 add_enrollment(member_id = "M000000102", gender_of_member = "female")
 expect_person(person_id = 101, gender_concept_id = 8507, gender_source_value = "male")
 expect_person(person_id = 102, gender_concept_id = 8532, gender_source_value = "female")
-

In this example, we define a test for gender mappings. We specify -that two records should be created in the enrollment table -in the source schema, and we specify different values for the -member_id field and gender_of_member field. -Note that the enrollment table might have many other -fields, for example defining the start and end of enrollment, but that -we don’t have to specify these in this example because these fields will -take their default values, typically taken from the White-Rabbit scan -report.

-

In this example we furthermore describe what we expect to see in the -CDM data schema. In this case we formulate expectations for the -person table.

-

We can add many such tests to our R script. For examples of a full -set of test definitions, see:

+

In this example, we define a test for gender mappings. We specify that two records should be created in the enrollment table in the source schema, and we specify different values for the member_id field and gender_of_member field. Note that the enrollment table might have many other fields, for example defining the start and end of enrollment, but that we don’t have to specify these in this example because these fields will take their default values, typically taken from the White-Rabbit scan report.

+

In this example we furthermore describe what we expect to see in the CDM data schema. In this case we formulate expectations for the person table.

+

We can add many such tests to our R script. For examples of a full set of test definitions, see:

Lookup functions

-

For some tests you need unknown values from other cdm tables. In this -case you can use the lookup function for the required table. This -creates where conditions on the other cdm table in the test sql. In the -example below, we do not know which person_id got assigned to this test -person, so we lookup the id by source value:

+

For some tests you need unknown values from other cdm tables. In this case you can use the lookup function for the required table. This creates where conditions on the other cdm table in the test sql. In the example below, we do not know which person_id got assigned to this test person, so we lookup the id by source value:

declareTest(101, "Person gender mappings")
 add_enrollment(member_id = "M000000103")
 add_diagnosis(member_id = "M000000103", code="I10")
@@ -523,10 +450,7 @@ 

Lookup functions

Test Coverage (v0.9.0)

-

The framework also contains a function to show statistics on how well -your tests cover your mappings. Note that this does not show information -on whether the tests passed. Only how many source and target tables are -covered by your defined tests.

+

The framework also contains a function to show statistics on how well your tests cover your mappings. Note that this does not show information on whether the tests passed. Only how many source and target tables are covered by your defined tests.

A summary can be printed by running:

summaryTestFramework()

which displays the following statistics

@@ -541,52 +465,29 @@

Test Coverage (v0.9.0)

target_coverage (%) 2.22

Statistics:

    -
  • n_tests: total number of expects, expect_no’s or -expect_counts are defined
  • -
  • n_cases: total number of cases defined with -declareTest function.
  • -
  • n_source_fields_tested: number of source fields for -which a test data is defined
  • -
  • n_source_fields_mapped_from: number of source fields -for which a mapping was defined in Rabbit in a Hat
  • -
  • source_coverage: percentage of mapped source fields for -which a test has been defined
  • -
  • n_target_fields_tested: number of target fields for -which one or more expects, expect_no’s or expect_counts have been -defined
  • -
  • n_target_fields_mapped_to: number of target fields for -which a mapping was defined in Rabbit in a Hat
  • -
  • target_coverage: percentage of mapped target fields for -which a test has been defined
  • +
  • n_tests: total number of expects, expect_no’s or expect_counts are defined
  • +
  • n_cases: total number of cases defined with declareTest function.
  • +
  • n_source_fields_tested: number of source fields for which a test data is defined
  • +
  • n_source_fields_mapped_from: number of source fields for which a mapping was defined in Rabbit in a Hat
  • +
  • source_coverage: percentage of mapped source fields for which a test has been defined
  • +
  • n_target_fields_tested: number of target fields for which one or more expects, expect_no’s or expect_counts have been defined
  • +
  • n_target_fields_mapped_to: number of target fields for which a mapping was defined in Rabbit in a Hat
  • +
  • target_coverage: percentage of mapped target fields for which a test has been defined
-

Note that the mapping coverages depends on the mappings defined in -Rabbit in a Hat. If this mapping is incomplete or adjusted in the -meantime, the target_coverage is possibly incorrect. In -this case, please update the mappings in Rabbit in a Hat and regenerate -the testing framework.

-

You can get all source and target field for which no test has been -defined with the following functions:

+

Note that the mapping coverages depends on the mappings defined in Rabbit in a Hat. If this mapping is incomplete or adjusted in the meantime, the target_coverage is possibly incorrect. In this case, please update the mappings in Rabbit in a Hat and regenerate the testing framework.

+

You can get all source and target field for which no test has been defined with the following functions:

getUntestedSourceFields()
 getUntestedTargetFields()

Generate test data

-

There are two ways to generate test data, either as SQL insert -statements or as csv files. Please choose the format that is appropriate -for your ETL application.

+

There are two ways to generate test data, either as SQL insert statements or as csv files. Please choose the format that is appropriate for your ETL application.

SQL

After we have defined all our tests we need to run

insertSql <- generateInsertSql(databaseSchema = "nativeTestSchema")
 testSql <- generateTestSql(databaseSchema = "cdmTestSchema")
-

to generate the SQL for inserting the test data in the database -(insertSql), and for running the tests on the ETL-ed data (testSql). The -insertion SQL assumes that the data schema already exists in -nativeTestSchema, and will first remove any records that -might be in the tables. We can execute the SQL in any SQL client, or we -can use OHDSI’s DatabaseConnector -package. For example:

+

to generate the SQL for inserting the test data in the database (insertSql), and for running the tests on the ETL-ed data (testSql). The insertion SQL assumes that the data schema already exists in nativeTestSchema, and will first remove any records that might be in the tables. We can execute the SQL in any SQL client, or we can use OHDSI’s DatabaseConnector package. For example:

library(DatabaseConnector)
 connectionDetails <- createConnectionDetails(user = "joe",
                                              password = "secret",
@@ -598,29 +499,20 @@ 

SQL

CSV (v0.9.0)

-

In case the source data are csv files rather than database tables, we -use this function:

+

In case the source data are csv files rather than database tables, we use this function:

generateSourceCsv(directory = "test_data", separator = ",")

And point the ETL to the given directory with test data.

Run your ETL on the test data

-

Now that the test source data is populated, you can run the ETL -process you would like to test. The ETL should transform the data in -nativeTestSchema, or in the csv directory, to CDM data in -cdmTestSchema.

+

Now that the test source data is populated, you can run the ETL process you would like to test. The ETL should transform the data in nativeTestSchema, or in the csv directory, to CDM data in cdmTestSchema.

Test the CDM expectations

-

The test SQL will create a table called test_results in -cdmTestSchema, and populate it with the results of the -tests. If the table already exists it will first be dropped. Again, we -could use any SQL client to run this SQL, or we could use -DatabaseConnector:

+

The test SQL will create a table called test_results in cdmTestSchema, and populate it with the results of the tests. If the table already exists it will first be dropped. Again, we could use any SQL client to run this SQL, or we could use DatabaseConnector:

executeSql(connection, paste(testSql, collapse = "\n"))
-

Afterwards, we can query the results table to see the results for -each test:

+

Afterwards, we can query the results table to see the results for each test:

querySql(connection, "SELECT * FROM test_results")

Which could return this table:

@@ -644,26 +536,20 @@

Test the CDM expectations

-

In this case we see there were two expect statements under test 101 -(Person gender mappings), and both expectations were met so the test -passed.

-

The testing framework also contains a convenience function to display -your test results:

+

In this case we see there were two expect statements under test 101 (Person gender mappings), and both expectations were met so the test passed.

+

The testing framework also contains a convenience function to display your test results:

outputTestResultsSummary(connection, 'cdmTestSchema')
-

which either displays a success message -All 178 tests PASSED or the failed unit tests:

+

which either displays a success message All 178 tests PASSED or the failed unit tests:

FAILED unit tests: 1/178 (0.6%)
   ID                   DESCRIPTION          TEST STATUS
 2  1 RMG-PD1 is assigned person_id Expect person   FAIL

Export tests (v0.9.0)

-

We can create an overview of defined tests and export it, for example -if you want to list the tests separately.

+

We can create an overview of defined tests and export it, for example if you want to list the tests separately.

getTestsOverview()
 exportTestsOverviewToFile(filename = "all_test_cases.csv")
-

The first function produces a table like below and the second writes -it to a csv file. The output contains the following columns:

+

The first function produces a table like below and the second writes it to a csv file. The output contains the following columns:

diff --git a/docs/site_libs/jquery-3.6.0/jquery-3.6.0.js b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.js index fc6c299b..624bca82 100644 --- a/docs/site_libs/jquery-3.6.0/jquery-3.6.0.js +++ b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.js @@ -8,8 +8,6 @@ * Copyright OpenJS Foundation and other contributors * Released under the MIT license * https://jquery.org/license - * - * Date: 2021-03-02T17:08Z */ ( function( global, factory ) { diff --git a/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.js b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.js index c4c6022f..6a6e4c3a 100644 --- a/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.js +++ b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.js @@ -1,2 +1,2 @@ /*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"
","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0>10|55296,1023&e|56320))}function h(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}function o(){k()}var e,p,b,a,s,g,f,y,S,l,m,k,w,n,T,d,v,x,A,C="sizzle"+ +new Date,u=i.document,N=0,j=0,D=ue(),q=ue(),L=ue(),H=ue(),O=function(e,t){return e===t&&(m=!0),0},P={}.hasOwnProperty,t=[],R=t.pop,M=t.push,I=t.push,W=t.slice,F=function(e,t){for(var n=0,r=e.length;n+~]|"+r+")"+r+"*"),Y=new RegExp(r+"|>"),Q=new RegExp(z),J=new RegExp("^"+$+"$"),K={ID:new RegExp("^#("+$+")"),CLASS:new RegExp("^\\.("+$+")"),TAG:new RegExp("^("+$+"|[*])"),ATTR:new RegExp("^"+_),PSEUDO:new RegExp("^"+z),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+r+"*(even|odd|(([+-]|)(\\d*)n|)"+r+"*(?:([+-]|)"+r+"*(\\d+)|))"+r+"*\\)|)","i"),bool:new RegExp("^(?:"+B+")$","i"),needsContext:new RegExp("^"+r+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+r+"*((?:-\\d)?\\d*)"+r+"*\\)|)(?=[^-]|$)","i")},Z=/HTML$/i,ee=/^(?:input|select|textarea|button)$/i,te=/^h\d$/i,ne=/^[^{]+\{\s*\[native \w/,re=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ie=/[+~]/,oe=new RegExp("\\\\[\\da-fA-F]{1,6}"+r+"?|\\\\([^\\r\\n\\f])","g"),ae=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,se=ve(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{I.apply(t=W.call(u.childNodes),u.childNodes),t[u.childNodes.length].nodeType}catch(e){I={apply:t.length?function(e,t){M.apply(e,W.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function E(t,e,n,c){var r,i,o,a,f,s,u=e&&e.ownerDocument,l=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==l&&9!==l&&11!==l)return n;if(!c&&(k(e),e=e||w,T)){if(11!==l&&(a=re.exec(t)))if(r=a[1]){if(9===l){if(!(s=e.getElementById(r)))return n;if(s.id===r)return n.push(s),n}else if(u&&(s=u.getElementById(r))&&A(e,s)&&s.id===r)return n.push(s),n}else{if(a[2])return I.apply(n,e.getElementsByTagName(t)),n;if((r=a[3])&&p.getElementsByClassName&&e.getElementsByClassName)return I.apply(n,e.getElementsByClassName(r)),n}if(p.qsa&&!H[t+" "]&&(!d||!d.test(t))&&(1!==l||"object"!==e.nodeName.toLowerCase())){if(s=t,u=e,1===l&&(Y.test(t)||G.test(t))){(u=ie.test(t)&&ge(e.parentNode)||e)===e&&p.scope||((o=e.getAttribute("id"))?o=o.replace(ae,h):e.setAttribute("id",o=C)),i=(f=g(t)).length;while(i--)f[i]=(o?"#"+o:":scope")+" "+me(f[i]);s=f.join(",")}try{return I.apply(n,u.querySelectorAll(s)),n}catch(e){H(t,!0)}finally{o===C&&e.removeAttribute("id")}}}return y(t.replace(X,"$1"),e,n,c)}function ue(){var n=[];function r(e,t){return n.push(e+" ")>b.cacheLength&&delete r[n.shift()],r[e+" "]=t}return r}function le(e){return e[C]=!0,e}function ce(e){var t=w.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t)}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&se(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function he(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=E.support={},s=E.isXML=function(e){var t=e&&e.namespaceURI,e=e&&(e.ownerDocument||e).documentElement;return!Z.test(t||e&&e.nodeName||"HTML")},k=E.setDocument=function(e){var t,e=e?e.ownerDocument||e:u;return e!=w&&9===e.nodeType&&e.documentElement&&(n=(w=e).documentElement,T=!s(w),u!=w&&(t=w.defaultView)&&t.top!==t&&(t.addEventListener?t.addEventListener("unload",o,!1):t.attachEvent&&t.attachEvent("onunload",o)),p.scope=ce(function(e){return n.appendChild(e).appendChild(w.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(w.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=ne.test(w.getElementsByClassName),p.getById=ce(function(e){return n.appendChild(e).id=C,!w.getElementsByName||!w.getElementsByName(C).length}),p.getById?(b.filter.ID=function(e){var t=e.replace(oe,c);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&T)return(t=t.getElementById(e))?[t]:[]}):(b.filter.ID=function(e){var t=e.replace(oe,c);return function(e){e="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return e&&e.value===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&T){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;while(n=o[i++])1===n.nodeType&&r.push(n);return r},b.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&T)return t.getElementsByClassName(e)},v=[],d=[],(p.qsa=ne.test(w.querySelectorAll))&&(ce(function(e){var t;n.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&d.push("[*^$]="+r+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||d.push("\\["+r+"*(?:value|"+B+")"),e.querySelectorAll("[id~="+C+"-]").length||d.push("~="),(t=w.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+r+"*name"+r+"*="+r+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||d.push(":checked"),e.querySelectorAll("a#"+C+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll("\\\f"),d.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=w.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&d.push("name"+r+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&d.push(":enabled",":disabled"),n.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(p.matchesSelector=ne.test(x=n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.oMatchesSelector||n.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=x.call(e,"*"),x.call(e,"[s!='']:x"),v.push("!=",z)}),d=d.length&&new RegExp(d.join("|")),v=v.length&&new RegExp(v.join("|")),e=ne.test(n.compareDocumentPosition),A=e||ne.test(n.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,t=t&&t.parentNode;return e===t||!(!t||1!==t.nodeType||!(n.contains?n.contains(t):e.compareDocumentPosition&&16&e.compareDocumentPosition(t)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},O=e?function(e,t){if(e===t)return m=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e==w||e.ownerDocument==u&&A(u,e)?-1:t==w||t.ownerDocument==u&&A(u,t)?1:l?F(l,e)-F(l,t):0:4&n?-1:1)}:function(e,t){if(e===t)return m=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==w?-1:t==w?1:i?-1:o?1:l?F(l,e)-F(l,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==u?-1:s[r]==u?1:0}),w},E.matches=function(e,t){return E(e,null,null,t)},E.matchesSelector=function(e,t){if(k(e),p.matchesSelector&&T&&!H[t+" "]&&(!v||!v.test(t))&&(!d||!d.test(t)))try{var n=x.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){H(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(oe,c),e[3]=(e[3]||e[4]||e[5]||"").replace(oe,c),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||E.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&E.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return K.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&Q.test(n)&&(t=g(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(oe,c).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=D[e+" "];return t||(t=new RegExp("(^|"+r+")"+e+"("+r+"|$)"))&&D(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(e){e=E.attr(e,t);return null==e?"!="===n:!n||(e+="","="===n?e===r:"!="===n?e!==r:"^="===n?r&&0===e.indexOf(r):"*="===n?r&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function q(e,n,r){return v(n)?C.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?C.grep(e,function(e){return e===n!==r}):"string"!=typeof n?C.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/,O=((C.fn.init=function(e,t,n){if(!e)return this;if(n=n||L,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(C):C.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:H.exec(e))||!r[1]&&t)return(!t||t.jquery?t||n:this.constructor(t)).find(e);if(r[1]){if(t=t instanceof C?t[0]:t,C.merge(this,C.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:T,!0)),D.test(r[1])&&C.isPlainObject(t))for(var r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(n=T.getElementById(r[2]))&&(this[0]=n,this.length=1),this}).prototype=C.fn,L=C(T),/^(?:parents|prev(?:Until|All))/),P={children:!0,contents:!0,next:!0,prev:!0};function R(e,t){while((e=e[t])&&1!==e.nodeType);return e}C.fn.extend({has:function(e){var t=C(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,fe=/^$|^module$|\/(?:java|ecma)script/i,pe=(ut=T.createDocumentFragment().appendChild(T.createElement("div")),(st=T.createElement("input")).setAttribute("type","radio"),st.setAttribute("checked","checked"),st.setAttribute("name","t"),ut.appendChild(st),g.checkClone=ut.cloneNode(!0).cloneNode(!0).lastChild.checked,ut.innerHTML="",g.noCloneChecked=!!ut.cloneNode(!0).lastChild.defaultValue,ut.innerHTML="",g.option=!!ut.lastChild,{thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]});function y(e,t){var n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&u(e,t)?C.merge([e],n):n}function de(e,t){for(var n=0,r=e.length;n",""]);var he=/<|&#?\w+;/;function ge(e,t,n,c,f){for(var r,i,o,p,a,s=t.createDocumentFragment(),u=[],l=0,d=e.length;l\s*$/g;function Se(e,t){return u(e,"table")&&u(11!==t.nodeType?t:t.firstChild,"tr")&&C(e).children("tbody")[0]||e}function ke(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Ae(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Ne(e,t){var n,r,i,o;if(1===t.nodeType){if(m.hasData(e)&&(o=m.get(e).events))for(i in m.remove(t,"handle events"),o)for(n=0,r=o[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),T.head.appendChild(r[0])},abort:function(){i&&i()}}}),[]),Yt=/(=)\?(?=&|$)|\?\?/,Qt=(C.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||C.expando+"_"+At.guid++;return this[e]=!0,e}}),C.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(Nt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||C.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=w[r],w[r]=function(){o=arguments},n.always(function(){void 0===i?C(w).removeProp(r):w[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),g.createHTMLDocument=((e=T.implementation.createHTMLDocument("").body).innerHTML="
",2===e.childNodes.length),C.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(g.createHTMLDocument?((r=(t=T.implementation.createHTMLDocument("")).createElement("base")).href=T.location.href,t.head.appendChild(r)):t=T),r=!n&&[],(n=D.exec(e))?[t.createElement(n[1])]:(n=ge([e],t,r),r&&r.length&&C(r).remove(),C.merge([],n.childNodes)));var r},C.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(C.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},C.expr.pseudos.animated=function(t){return C.grep(C.timers,function(e){return t===e.elem}).length},C.offset={setOffset:function(e,t,n){var r,i,o,a,s=C.css(e,"position"),u=C(e),l={};"static"===s&&(e.style.position="relative"),o=u.offset(),r=C.css(e,"top"),a=C.css(e,"left"),s=("absolute"===s||"fixed"===s)&&-1<(r+a).indexOf("auto")?(i=(s=u.position()).top,s.left):(i=parseFloat(r)||0,parseFloat(a)||0),null!=(t=v(t)?t.call(e,n,C.extend({},o)):t).top&&(l.top=t.top-o.top+i),null!=t.left&&(l.left=t.left-o.left+s),"using"in t?t.using.call(e,l):u.css(l)}},C.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){C.offset.setOffset(this,t,e)});var e,n=this[0];return n?n.getClientRects().length?(e=n.getBoundingClientRect(),n=n.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===C.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===C.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=C(e).offset()).top+=C.css(e,"borderTopWidth",!0),i.left+=C.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-C.css(r,"marginTop",!0),left:t.left-i.left-C.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===C.css(e,"position"))e=e.offsetParent;return e||re})}}),C.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;C.fn[t]=function(e){return z(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),C.each(["top","left"],function(e,n){C.cssHooks[n]=Xe(g.pixelPosition,function(e,t){if(t)return t=Ue(e,n),Be.test(t)?C(e).position()[n]+"px":t})}),C.each({Height:"height",Width:"width"},function(a,s){C.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){C.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return z(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?C.css(e,t,i):C.style(e,t,n,i)},s,n?e:void 0,n)}})}),C.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){C.fn[t]=function(e){return this.on(t,e)}}),C.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),C.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){C.fn[n]=function(e,t){return 0"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.6.0.min.js"} \ No newline at end of file +{"version":3,"file":"jquery.min.js","sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","isFunction","obj","nodeType","item","isWindow","arr","getProto","Object","getPrototypeOf","slice","flat","array","call","concat","apply","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","support","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","_i","toLowerCase","dir","until","matched","truncate","is","siblings","n","nextSibling","Sizzle","funescape","escape","nonHex","high","String","fromCharCode","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","setDocument","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","rcssescape","inDisabledFieldset","addCombinator","disabled","nodeName","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","hasCompare","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","createInputPseudo","submit","reset","createButtonPseudo","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromGroupMatchers","elementMatchers","setMatchers","superMatcher","outermost","matchedCount","setMatched","contextBackup","byElement","dirrunsUnique","bySet","filters","parseOnly","soFar","preFilters","cached","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","token","compiled","_name","defaultValue","rneedsContext","unique","isXMLDoc","escapeSelector","rsingleTag","winnow","qualifier","self","rootjQuery","rparentsprev","ready","parseHTML","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","fire","locked","once","fired","firing","queue","firingIndex","memory","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","mightThrow","that","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","updateFunc","resolveContexts","resolveValues","remaining","primary","rerrorNames","readyList","stack","console","warn","message","readyException","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","isHiddenWithinTree","style","display","isAttached","css","pnum","source","rcssNum","cssExpand","composed","getRootNode","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","div","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","handleObj","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","getStyles","opener","getComputedStyle","swap","old","pixelPositionVal","boxSizingReliableVal","scrollboxSizeVal","pixelBoxStylesVal","reliableTrDimensionsVal","reliableMarginLeftVal","container","rnumnonpx","rboxStyle","computeStyleTests","divStyle","cssText","roundPixelMeasures","marginLeft","right","width","position","offsetWidth","measure","round","parseFloat","curCSS","computed","maxWidth","getPropertyValue","pixelBoxStyles","minWidth","addGetHookIf","conditionFn","hookFn","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trStyle","trChild","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","doAnimation","optall","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","rfocusable","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","clazz","finalValue","curValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","stopPropagationCallback","rreturn","rfocusMorph","valHooks","optionSet","focusin","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","rbracket","parseXML","parserErrorElem","DOMParser","parseFromString","rCRLF","rsubmitterTypes","rsubmittable","param","traditional","valueOrFunction","s","encodeURIComponent","buildParams","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","fireGlobals","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","urlAnchor","host","hasContent","uncached","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","response","isSuccess","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","modified","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","oldCallbacks","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curCSSTop","curTop","curOffset","curCSSLeft","curElem","curLeft","curPosition","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","_jQuery","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_$","$","noConflict"],"mappings":"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"} \ No newline at end of file diff --git a/docs/site_libs/jqueryui-1.13.2/images/ui-icons_444444_256x240.png b/docs/site_libs/jqueryui-1.13.2/images/ui-icons_444444_256x240.png index 56d546beb39061e9a9f21d61e63fde3d5bcd6267..d8779c8c64dae6a701c5e037cbdfb8dbf130f37a 100644 GIT binary patch delta 117 zcmaE6{>*$r3Dw9qv$ure@k)Myo+ g93U+sYh+-AU4=oZ?fS`$(zpyrPmn2?yj9u|0FHbf!vFvP delta 117 zcmaE6{>*$r3D+}rJ`rPfeK98GjdeSuq>OY8%ykV-LW~ToOf0QTjI|96tPBj4Q?=_S z2S|&^8d_SI>KYp88kvO{SXddF0_7kol+FaRPi~Y(F~HQ&%D@~Vy}Xe9;N-2+h5+!) B9h(3E diff --git a/docs/site_libs/jqueryui-1.13.2/images/ui-icons_555555_256x240.png b/docs/site_libs/jqueryui-1.13.2/images/ui-icons_555555_256x240.png index 607e4362a628f1ded7d05ac88176a66ce042d591..24b02db9a750c10cd28ee104f584d16e11931cff 100644 GIT binary patch delta 117 zcmca+e$9MB3Dk}}pcG|)9L4Kc8^GBmO>w9qv$ure@k)Myo+ g>>w>7Yh+-AU4=oZ?fS`u(zpyrPmn2?yj0o{0CP+pV*mgE delta 117 zcmca+e$9MB3D+}rJ`rPfeK98Gjdd%eq>OY8%ykV-LW~ToOf0QTjI|96tPBj4Q?=_S zJ4lPj8d_SI>KYp88kvO{SXddF0_7kol+FaRPcD>3F~HQ&%D@~Vy}Xe9;N+#!h5*%^ B9XkL3 diff --git a/docs/site_libs/jqueryui-1.13.2/images/ui-icons_777620_256x240.png b/docs/site_libs/jqueryui-1.13.2/images/ui-icons_777620_256x240.png index b0482f86955307acc964be916150cbd973428c8f..2a39250b85a92c7a11ac62f4e118136df16acc24 100644 GIT binary patch delta 154 zcmdm|vQK5hH%6}KT&$ctLa)?v4sBxUw9qv$ure@k)MyoE zU|>)!ag8WRNi0dV%FR#7OsixtGBCof!JyQ3Jy3%NTti7_ZfbE!Vr~I$J?RND1(Q!n G8v+1(*(%`x delta 153 zcmexu{@Z*)3D+}rJ`rPfeK98Gjdf?G>Wy>_%ykV-LW~ToOf0QTjI|96tPBj4Q?=_E z7#LJbTq8?MniKUf^v9^JMm4ShBs&+jC z1A}UbYeY#(Vo9o1ZhlH;S|x*_rG=@kp@FWES%`s!m7yt6DMW+PnP7IH1`W7|lFZ!H f;*!MN0tO=kBP2^q4Xq5!A$pb Date: Thu, 15 Feb 2024 14:47:10 +0100 Subject: [PATCH 2/3] Add Snowflake.ini example file --- iniFileExamples/Snowflake.ini | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 iniFileExamples/Snowflake.ini diff --git a/iniFileExamples/Snowflake.ini b/iniFileExamples/Snowflake.ini new file mode 100644 index 00000000..bae63659 --- /dev/null +++ b/iniFileExamples/Snowflake.ini @@ -0,0 +1,16 @@ +# Usage: dist/bin/whiteRabbit -ini +WORKING_FOLDER = . # Path to the folder where all output will be written +DATA_TYPE = Snowflake +SNOWFLAKE_ACCOUNT = cemegbv-jp36477 # Snowflake account name +SNOWFLAKE_USER = JBLOMSFTEST # Snowflake user name +SNOWFLAKE_AUTHENTICATOR = externalbrowser # password for the above user +SNOWFLAKE_WAREHOUSE = compute_wh # Warehouse to be used +SNOWFLAKE_DATABASE = test # Database within the specified warehouse +SNOWFLAKE_SCHEMA = wr_test # Schema within the specified database +TABLES_TO_SCAN = * # Comma-delimited list of table names to scan. Use "*" (asterisk) to include all tables in the database +SCAN_FIELD_VALUES = yes # Include the frequency of field values in the scan report? "yes" or "no" +MIN_CELL_COUNT = 5 # Minimum frequency for a field value to be included in the report +MAX_DISTINCT_VALUES = 1000 # Maximum number of distinct values per field to be reported +ROWS_PER_TABLE = 100000 # Maximum number of rows per table to be scanned for field values +CALCULATE_NUMERIC_STATS = no # Include average, standard deviation and quartiles in the scan report? "yes" or "no" +NUMERIC_STATS_SAMPLER_SIZE = 500 # Maximum number of rows used to calculate numeric statistics From 2b7888f896a493fef021dd504cb2ed9b6ccaf595 Mon Sep 17 00:00:00 2001 From: Jan Blom Date: Thu, 15 Feb 2024 14:51:07 +0100 Subject: [PATCH 3/3] Add password field in Snowflake example --- iniFileExamples/Snowflake.ini | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/iniFileExamples/Snowflake.ini b/iniFileExamples/Snowflake.ini index bae63659..c6be15d8 100644 --- a/iniFileExamples/Snowflake.ini +++ b/iniFileExamples/Snowflake.ini @@ -1,9 +1,10 @@ # Usage: dist/bin/whiteRabbit -ini WORKING_FOLDER = . # Path to the folder where all output will be written DATA_TYPE = Snowflake -SNOWFLAKE_ACCOUNT = cemegbv-jp36477 # Snowflake account name -SNOWFLAKE_USER = JBLOMSFTEST # Snowflake user name -SNOWFLAKE_AUTHENTICATOR = externalbrowser # password for the above user +SNOWFLAKE_ACCOUNT = cemxgbv-jp36777 # Snowflake account name +SNOWFLAKE_USER = username # Snowflake user name +SNOWFLAKE_PASSWORD = password # Snowflake user name +#SNOWFLAKE_AUTHENTICATOR = externalbrowser # Alternative web based authentication. Do not specify a password when using this. SNOWFLAKE_WAREHOUSE = compute_wh # Warehouse to be used SNOWFLAKE_DATABASE = test # Database within the specified warehouse SNOWFLAKE_SCHEMA = wr_test # Schema within the specified database