Full Code of rgcgithub/regenie for AI

master 5f924b9bf54c cached
572 files
11.9 MB
3.1M tokens
7364 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (12,578K chars total). Download the full file to get everything.
Repository: rgcgithub/regenie
Branch: master
Commit: 5f924b9bf54c
Files: 572
Total size: 11.9 MB

Directory structure:
gitextract_u1zhxkiu/

├── .dockerignore
├── .github/
│   └── workflows/
│       ├── docker-image.yml
│       ├── manual.yml
│       └── test.yml
├── .gitignore
├── CMakeLists.txt
├── Dockerfile
├── Dockerfile_mkl
├── Dockerfile_openblas
├── LICENSE
├── Makefile
├── README.md
├── RELEASE_LOG.md
├── VERSION
├── docs/
│   ├── cinder/
│   │   ├── 404.html
│   │   ├── __init__.py
│   │   ├── base.html
│   │   ├── content.html
│   │   ├── css/
│   │   │   ├── base.css
│   │   │   ├── bootstrap-custom.css
│   │   │   ├── cinder.css
│   │   │   └── highlight.css
│   │   ├── js/
│   │   │   └── base.js
│   │   ├── keyboard-modal.html
│   │   ├── main.html
│   │   ├── mkdocs_theme.yml
│   │   ├── nav-sub.html
│   │   ├── nav.html
│   │   ├── search-modal.html
│   │   └── toc.html
│   ├── docs/
│   │   ├── custom/
│   │   │   └── style.css
│   │   ├── faq.md
│   │   ├── index.md
│   │   ├── install.md
│   │   ├── options.md
│   │   ├── overview.md
│   │   ├── performance.md
│   │   └── recommendations.md
│   ├── mkdocs.yml
│   ├── refs.bib
│   └── site/
│       ├── css/
│       │   ├── base.css
│       │   ├── bootstrap-custom.css
│       │   ├── cinder.css
│       │   └── highlight.css
│       ├── custom/
│       │   └── style.css
│       ├── faq/
│       │   └── index.html
│       ├── index.html
│       ├── install/
│       │   └── index.html
│       ├── js/
│       │   └── base.js
│       ├── options/
│       │   └── index.html
│       ├── overview/
│       │   └── index.html
│       ├── performance/
│       │   └── index.html
│       ├── recommendations/
│       │   └── index.html
│       ├── search/
│       │   ├── lunr.js
│       │   ├── main.js
│       │   ├── search_index.json
│       │   └── worker.js
│       └── sitemap.xml
├── example/
│   ├── covariates.txt
│   ├── covariates_wBin.txt
│   ├── example.bed
│   ├── example.bgen
│   ├── example.bgen.bgi
│   ├── example.bim
│   ├── example.fam
│   ├── example.pgen
│   ├── example.psam
│   ├── example.pvar
│   ├── example.test_bin_out_firth_Y1.regenie
│   ├── example_3chr.annotations
│   ├── example_3chr.annotationsV2
│   ├── example_3chr.bed
│   ├── example_3chr.bgen
│   ├── example_3chr.bgen.bgi
│   ├── example_3chr.bim
│   ├── example_3chr.fam
│   ├── example_3chr.joint_setlist
│   ├── example_3chr.masks
│   ├── example_3chr.sample
│   ├── example_3chr.setlist
│   ├── example_3chr.write_sets
│   ├── example_3chr_masks.bed
│   ├── example_3chr_masks.bim
│   ├── example_3chr_masks.fam
│   ├── example_3chr_zstd.bgen
│   ├── fid_iid_to_remove.txt
│   ├── phenotype.txt
│   ├── phenotype_bin.txt
│   ├── phenotype_bin_wNA.txt
│   ├── snplist_rm.txt
│   └── test_bin_out_firth_Y1.regenie
├── external_libs/
│   ├── LBFGSpp/
│   │   ├── AUTHORS.md
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   └── include/
│   │       ├── LBFGS.h
│   │       ├── LBFGSB.h
│   │       └── LBFGSpp/
│   │           ├── BFGSMat.h
│   │           ├── BKLDLT.h
│   │           ├── Cauchy.h
│   │           ├── LineSearchBacktracking.h
│   │           ├── LineSearchBracketing.h
│   │           ├── LineSearchMoreThuente.h
│   │           ├── LineSearchNocedalWright.h
│   │           ├── Param.h
│   │           └── SubspaceMin.h
│   ├── cxxopts/
│   │   ├── LICENSE
│   │   └── include/
│   │       └── cxxopts.hpp
│   ├── eigen-3.4.0/
│   │   └── Eigen/
│   │       ├── Cholesky
│   │       ├── CholmodSupport
│   │       ├── Core
│   │       ├── Dense
│   │       ├── Eigen
│   │       ├── Eigenvalues
│   │       ├── Geometry
│   │       ├── Householder
│   │       ├── IterativeLinearSolvers
│   │       ├── Jacobi
│   │       ├── KLUSupport
│   │       ├── LU
│   │       ├── MetisSupport
│   │       ├── OrderingMethods
│   │       ├── PaStiXSupport
│   │       ├── PardisoSupport
│   │       ├── QR
│   │       ├── QtAlignedMalloc
│   │       ├── SPQRSupport
│   │       ├── SVD
│   │       ├── Sparse
│   │       ├── SparseCholesky
│   │       ├── SparseCore
│   │       ├── SparseLU
│   │       ├── SparseQR
│   │       ├── StdDeque
│   │       ├── StdList
│   │       ├── StdVector
│   │       ├── SuperLUSupport
│   │       ├── UmfPackSupport
│   │       └── src/
│   │           ├── Cholesky/
│   │           │   ├── LDLT.h
│   │           │   ├── LLT.h
│   │           │   └── LLT_LAPACKE.h
│   │           ├── CholmodSupport/
│   │           │   └── CholmodSupport.h
│   │           ├── Core/
│   │           │   ├── ArithmeticSequence.h
│   │           │   ├── Array.h
│   │           │   ├── ArrayBase.h
│   │           │   ├── ArrayWrapper.h
│   │           │   ├── Assign.h
│   │           │   ├── AssignEvaluator.h
│   │           │   ├── Assign_MKL.h
│   │           │   ├── BandMatrix.h
│   │           │   ├── Block.h
│   │           │   ├── BooleanRedux.h
│   │           │   ├── CommaInitializer.h
│   │           │   ├── ConditionEstimator.h
│   │           │   ├── CoreEvaluators.h
│   │           │   ├── CoreIterators.h
│   │           │   ├── CwiseBinaryOp.h
│   │           │   ├── CwiseNullaryOp.h
│   │           │   ├── CwiseTernaryOp.h
│   │           │   ├── CwiseUnaryOp.h
│   │           │   ├── CwiseUnaryView.h
│   │           │   ├── DenseBase.h
│   │           │   ├── DenseCoeffsBase.h
│   │           │   ├── DenseStorage.h
│   │           │   ├── Diagonal.h
│   │           │   ├── DiagonalMatrix.h
│   │           │   ├── DiagonalProduct.h
│   │           │   ├── Dot.h
│   │           │   ├── EigenBase.h
│   │           │   ├── ForceAlignedAccess.h
│   │           │   ├── Fuzzy.h
│   │           │   ├── GeneralProduct.h
│   │           │   ├── GenericPacketMath.h
│   │           │   ├── GlobalFunctions.h
│   │           │   ├── IO.h
│   │           │   ├── IndexedView.h
│   │           │   ├── Inverse.h
│   │           │   ├── Map.h
│   │           │   ├── MapBase.h
│   │           │   ├── MathFunctions.h
│   │           │   ├── MathFunctionsImpl.h
│   │           │   ├── Matrix.h
│   │           │   ├── MatrixBase.h
│   │           │   ├── NestByValue.h
│   │           │   ├── NoAlias.h
│   │           │   ├── NumTraits.h
│   │           │   ├── PartialReduxEvaluator.h
│   │           │   ├── PermutationMatrix.h
│   │           │   ├── PlainObjectBase.h
│   │           │   ├── Product.h
│   │           │   ├── ProductEvaluators.h
│   │           │   ├── Random.h
│   │           │   ├── Redux.h
│   │           │   ├── Ref.h
│   │           │   ├── Replicate.h
│   │           │   ├── Reshaped.h
│   │           │   ├── ReturnByValue.h
│   │           │   ├── Reverse.h
│   │           │   ├── Select.h
│   │           │   ├── SelfAdjointView.h
│   │           │   ├── SelfCwiseBinaryOp.h
│   │           │   ├── Solve.h
│   │           │   ├── SolveTriangular.h
│   │           │   ├── SolverBase.h
│   │           │   ├── StableNorm.h
│   │           │   ├── StlIterators.h
│   │           │   ├── Stride.h
│   │           │   ├── Swap.h
│   │           │   ├── Transpose.h
│   │           │   ├── Transpositions.h
│   │           │   ├── TriangularMatrix.h
│   │           │   ├── VectorBlock.h
│   │           │   ├── VectorwiseOp.h
│   │           │   ├── Visitor.h
│   │           │   ├── arch/
│   │           │   │   ├── AVX/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── AVX512/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── AltiVec/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── MatrixProduct.h
│   │           │   │   │   ├── MatrixProductCommon.h
│   │           │   │   │   ├── MatrixProductMMA.h
│   │           │   │   │   └── PacketMath.h
│   │           │   │   ├── CUDA/
│   │           │   │   │   └── Complex.h
│   │           │   │   ├── Default/
│   │           │   │   │   ├── BFloat16.h
│   │           │   │   │   ├── ConjHelper.h
│   │           │   │   │   ├── GenericPacketMathFunctions.h
│   │           │   │   │   ├── GenericPacketMathFunctionsFwd.h
│   │           │   │   │   ├── Half.h
│   │           │   │   │   ├── Settings.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── GPU/
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── HIP/
│   │           │   │   │   └── hcc/
│   │           │   │   │       └── math_constants.h
│   │           │   │   ├── MSA/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   └── PacketMath.h
│   │           │   │   ├── NEON/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── GeneralBlockPanelKernel.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── SSE/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── SVE/
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── SYCL/
│   │           │   │   │   ├── InteropHeaders.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   ├── SyclMemoryModel.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   └── ZVector/
│   │           │   │       ├── Complex.h
│   │           │   │       ├── MathFunctions.h
│   │           │   │       └── PacketMath.h
│   │           │   ├── functors/
│   │           │   │   ├── AssignmentFunctors.h
│   │           │   │   ├── BinaryFunctors.h
│   │           │   │   ├── NullaryFunctors.h
│   │           │   │   ├── StlFunctors.h
│   │           │   │   ├── TernaryFunctors.h
│   │           │   │   └── UnaryFunctors.h
│   │           │   ├── products/
│   │           │   │   ├── GeneralBlockPanelKernel.h
│   │           │   │   ├── GeneralMatrixMatrix.h
│   │           │   │   ├── GeneralMatrixMatrixTriangular.h
│   │           │   │   ├── GeneralMatrixMatrixTriangular_BLAS.h
│   │           │   │   ├── GeneralMatrixMatrix_BLAS.h
│   │           │   │   ├── GeneralMatrixVector.h
│   │           │   │   ├── GeneralMatrixVector_BLAS.h
│   │           │   │   ├── Parallelizer.h
│   │           │   │   ├── SelfadjointMatrixMatrix.h
│   │           │   │   ├── SelfadjointMatrixMatrix_BLAS.h
│   │           │   │   ├── SelfadjointMatrixVector.h
│   │           │   │   ├── SelfadjointMatrixVector_BLAS.h
│   │           │   │   ├── SelfadjointProduct.h
│   │           │   │   ├── SelfadjointRank2Update.h
│   │           │   │   ├── TriangularMatrixMatrix.h
│   │           │   │   ├── TriangularMatrixMatrix_BLAS.h
│   │           │   │   ├── TriangularMatrixVector.h
│   │           │   │   ├── TriangularMatrixVector_BLAS.h
│   │           │   │   ├── TriangularSolverMatrix.h
│   │           │   │   ├── TriangularSolverMatrix_BLAS.h
│   │           │   │   └── TriangularSolverVector.h
│   │           │   └── util/
│   │           │       ├── BlasUtil.h
│   │           │       ├── ConfigureVectorization.h
│   │           │       ├── Constants.h
│   │           │       ├── DisableStupidWarnings.h
│   │           │       ├── ForwardDeclarations.h
│   │           │       ├── IndexedViewHelper.h
│   │           │       ├── IntegralConstant.h
│   │           │       ├── MKL_support.h
│   │           │       ├── Macros.h
│   │           │       ├── Memory.h
│   │           │       ├── Meta.h
│   │           │       ├── NonMPL2.h
│   │           │       ├── ReenableStupidWarnings.h
│   │           │       ├── ReshapedHelper.h
│   │           │       ├── StaticAssert.h
│   │           │       ├── SymbolicIndex.h
│   │           │       └── XprHelper.h
│   │           ├── Eigenvalues/
│   │           │   ├── ComplexEigenSolver.h
│   │           │   ├── ComplexSchur.h
│   │           │   ├── ComplexSchur_LAPACKE.h
│   │           │   ├── EigenSolver.h
│   │           │   ├── GeneralizedEigenSolver.h
│   │           │   ├── GeneralizedSelfAdjointEigenSolver.h
│   │           │   ├── HessenbergDecomposition.h
│   │           │   ├── MatrixBaseEigenvalues.h
│   │           │   ├── RealQZ.h
│   │           │   ├── RealSchur.h
│   │           │   ├── RealSchur_LAPACKE.h
│   │           │   ├── SelfAdjointEigenSolver.h
│   │           │   ├── SelfAdjointEigenSolver_LAPACKE.h
│   │           │   └── Tridiagonalization.h
│   │           ├── Geometry/
│   │           │   ├── AlignedBox.h
│   │           │   ├── AngleAxis.h
│   │           │   ├── EulerAngles.h
│   │           │   ├── Homogeneous.h
│   │           │   ├── Hyperplane.h
│   │           │   ├── OrthoMethods.h
│   │           │   ├── ParametrizedLine.h
│   │           │   ├── Quaternion.h
│   │           │   ├── Rotation2D.h
│   │           │   ├── RotationBase.h
│   │           │   ├── Scaling.h
│   │           │   ├── Transform.h
│   │           │   ├── Translation.h
│   │           │   ├── Umeyama.h
│   │           │   └── arch/
│   │           │       └── Geometry_SIMD.h
│   │           ├── Householder/
│   │           │   ├── BlockHouseholder.h
│   │           │   ├── Householder.h
│   │           │   └── HouseholderSequence.h
│   │           ├── IterativeLinearSolvers/
│   │           │   ├── BasicPreconditioners.h
│   │           │   ├── BiCGSTAB.h
│   │           │   ├── ConjugateGradient.h
│   │           │   ├── IncompleteCholesky.h
│   │           │   ├── IncompleteLUT.h
│   │           │   ├── IterativeSolverBase.h
│   │           │   ├── LeastSquareConjugateGradient.h
│   │           │   └── SolveWithGuess.h
│   │           ├── Jacobi/
│   │           │   └── Jacobi.h
│   │           ├── KLUSupport/
│   │           │   └── KLUSupport.h
│   │           ├── LU/
│   │           │   ├── Determinant.h
│   │           │   ├── FullPivLU.h
│   │           │   ├── InverseImpl.h
│   │           │   ├── PartialPivLU.h
│   │           │   ├── PartialPivLU_LAPACKE.h
│   │           │   └── arch/
│   │           │       └── InverseSize4.h
│   │           ├── MetisSupport/
│   │           │   └── MetisSupport.h
│   │           ├── OrderingMethods/
│   │           │   ├── Amd.h
│   │           │   ├── Eigen_Colamd.h
│   │           │   └── Ordering.h
│   │           ├── PaStiXSupport/
│   │           │   └── PaStiXSupport.h
│   │           ├── PardisoSupport/
│   │           │   └── PardisoSupport.h
│   │           ├── QR/
│   │           │   ├── ColPivHouseholderQR.h
│   │           │   ├── ColPivHouseholderQR_LAPACKE.h
│   │           │   ├── CompleteOrthogonalDecomposition.h
│   │           │   ├── FullPivHouseholderQR.h
│   │           │   ├── HouseholderQR.h
│   │           │   └── HouseholderQR_LAPACKE.h
│   │           ├── SPQRSupport/
│   │           │   └── SuiteSparseQRSupport.h
│   │           ├── SVD/
│   │           │   ├── BDCSVD.h
│   │           │   ├── JacobiSVD.h
│   │           │   ├── JacobiSVD_LAPACKE.h
│   │           │   ├── SVDBase.h
│   │           │   └── UpperBidiagonalization.h
│   │           ├── SparseCholesky/
│   │           │   ├── SimplicialCholesky.h
│   │           │   └── SimplicialCholesky_impl.h
│   │           ├── SparseCore/
│   │           │   ├── AmbiVector.h
│   │           │   ├── CompressedStorage.h
│   │           │   ├── ConservativeSparseSparseProduct.h
│   │           │   ├── MappedSparseMatrix.h
│   │           │   ├── SparseAssign.h
│   │           │   ├── SparseBlock.h
│   │           │   ├── SparseColEtree.h
│   │           │   ├── SparseCompressedBase.h
│   │           │   ├── SparseCwiseBinaryOp.h
│   │           │   ├── SparseCwiseUnaryOp.h
│   │           │   ├── SparseDenseProduct.h
│   │           │   ├── SparseDiagonalProduct.h
│   │           │   ├── SparseDot.h
│   │           │   ├── SparseFuzzy.h
│   │           │   ├── SparseMap.h
│   │           │   ├── SparseMatrix.h
│   │           │   ├── SparseMatrixBase.h
│   │           │   ├── SparsePermutation.h
│   │           │   ├── SparseProduct.h
│   │           │   ├── SparseRedux.h
│   │           │   ├── SparseRef.h
│   │           │   ├── SparseSelfAdjointView.h
│   │           │   ├── SparseSolverBase.h
│   │           │   ├── SparseSparseProductWithPruning.h
│   │           │   ├── SparseTranspose.h
│   │           │   ├── SparseTriangularView.h
│   │           │   ├── SparseUtil.h
│   │           │   ├── SparseVector.h
│   │           │   ├── SparseView.h
│   │           │   └── TriangularSolver.h
│   │           ├── SparseLU/
│   │           │   ├── SparseLU.h
│   │           │   ├── SparseLUImpl.h
│   │           │   ├── SparseLU_Memory.h
│   │           │   ├── SparseLU_Structs.h
│   │           │   ├── SparseLU_SupernodalMatrix.h
│   │           │   ├── SparseLU_Utils.h
│   │           │   ├── SparseLU_column_bmod.h
│   │           │   ├── SparseLU_column_dfs.h
│   │           │   ├── SparseLU_copy_to_ucol.h
│   │           │   ├── SparseLU_gemm_kernel.h
│   │           │   ├── SparseLU_heap_relax_snode.h
│   │           │   ├── SparseLU_kernel_bmod.h
│   │           │   ├── SparseLU_panel_bmod.h
│   │           │   ├── SparseLU_panel_dfs.h
│   │           │   ├── SparseLU_pivotL.h
│   │           │   ├── SparseLU_pruneL.h
│   │           │   └── SparseLU_relax_snode.h
│   │           ├── SparseQR/
│   │           │   └── SparseQR.h
│   │           ├── StlSupport/
│   │           │   ├── StdDeque.h
│   │           │   ├── StdList.h
│   │           │   ├── StdVector.h
│   │           │   └── details.h
│   │           ├── SuperLUSupport/
│   │           │   └── SuperLUSupport.h
│   │           ├── UmfPackSupport/
│   │           │   └── UmfPackSupport.h
│   │           ├── misc/
│   │           │   ├── Image.h
│   │           │   ├── Kernel.h
│   │           │   ├── RealSvd2x2.h
│   │           │   ├── blas.h
│   │           │   ├── lapack.h
│   │           │   ├── lapacke.h
│   │           │   └── lapacke_mangling.h
│   │           └── plugins/
│   │               ├── ArrayCwiseBinaryOps.h
│   │               ├── ArrayCwiseUnaryOps.h
│   │               ├── BlockMethods.h
│   │               ├── CommonCwiseBinaryOps.h
│   │               ├── CommonCwiseUnaryOps.h
│   │               ├── IndexedViewMethods.h
│   │               ├── MatrixCwiseBinaryOps.h
│   │               ├── MatrixCwiseUnaryOps.h
│   │               └── ReshapedMethods.h
│   ├── mvtnorm/
│   │   ├── Makefile
│   │   ├── mvt.f
│   │   ├── mvtnorm.cpp
│   │   ├── mvtnorm.h
│   │   └── randomF77.c
│   ├── pgenlib/
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── include/
│   │   │   ├── pgenlib_misc.cc
│   │   │   ├── pgenlib_misc.h
│   │   │   ├── pgenlib_read.cc
│   │   │   ├── pgenlib_read.h
│   │   │   ├── plink2_base.cc
│   │   │   ├── plink2_base.h
│   │   │   ├── plink2_bits.cc
│   │   │   └── plink2_bits.h
│   │   ├── pgenlib_ffi_support.cpp
│   │   ├── pgenlib_ffi_support.h
│   │   ├── pgenlibr.cpp
│   │   ├── pgenlibr.h
│   │   ├── pvar_ffi_support.cc
│   │   ├── pvar_ffi_support.h
│   │   └── simde/
│   │       ├── check.h
│   │       ├── debug-trap.h
│   │       ├── hedley.h
│   │       ├── simde-aes.h
│   │       ├── simde-align.h
│   │       ├── simde-arch.h
│   │       ├── simde-bf16.h
│   │       ├── simde-common.h
│   │       ├── simde-complex.h
│   │       ├── simde-constify.h
│   │       ├── simde-detect-clang.h
│   │       ├── simde-diagnostic.h
│   │       ├── simde-f16.h
│   │       ├── simde-features.h
│   │       ├── simde-math.h
│   │       └── x86/
│   │           ├── aes.h
│   │           ├── avx.h
│   │           ├── avx2.h
│   │           ├── clmul.h
│   │           ├── f16c.h
│   │           ├── fma.h
│   │           ├── gfni.h
│   │           ├── mmx.h
│   │           ├── sse.h
│   │           ├── sse2.h
│   │           ├── sse3.h
│   │           ├── sse4.1.h
│   │           ├── sse4.2.h
│   │           ├── ssse3.h
│   │           ├── svml.h
│   │           └── xop.h
│   ├── qf/
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── qfc.cpp
│   │   └── qfc.h
│   ├── quadpack/
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── d1mach.f
│   │   ├── dqags.f
│   │   ├── dqagse.f
│   │   ├── dqelg.f
│   │   ├── dqk21.f
│   │   └── dqpsrt.f
│   └── remeta/
│       ├── Makefile
│       ├── README.md
│       ├── bgz_writer.cpp
│       ├── bgz_writer.hpp
│       ├── regenie_ld_matrix_writer.cpp
│       └── regenie_ld_matrix_writer.hpp
├── scripts/
│   ├── parseLD.r
│   ├── regenie_docker.sh
│   ├── regenie_paper/
│   │   ├── README.md
│   │   └── scripts/
│   │       ├── manP.colors
│   │       ├── master.sh
│   │       ├── mk_plots_bt.r
│   │       ├── mk_plots_qt.r
│   │       ├── mk_sparseGRM.r
│   │       ├── prep_files.sh
│   │       ├── run_methods.r
│   │       └── std_ffuns.r
│   └── rplot
├── src/
│   ├── Data.cpp
│   ├── Data.hpp
│   ├── Files.cpp
│   ├── Files.hpp
│   ├── Geno.cpp
│   ├── Geno.hpp
│   ├── HLM.cpp
│   ├── HLM.hpp
│   ├── Interaction.cpp
│   ├── Interaction.hpp
│   ├── Joint_Tests.cpp
│   ├── Joint_Tests.hpp
│   ├── MCC.cpp
│   ├── MCC.hpp
│   ├── Masks.cpp
│   ├── Masks.hpp
│   ├── MultiTrait_Tests.cpp
│   ├── MultiTrait_Tests.hpp
│   ├── NNLS.cpp
│   ├── NNLS.hpp
│   ├── Ordinal.cpp
│   ├── Ordinal.hpp
│   ├── Pheno.cpp
│   ├── Pheno.hpp
│   ├── Regenie.cpp
│   ├── Regenie.hpp
│   ├── SKAT.cpp
│   ├── SKAT.hpp
│   ├── Step1_Models.cpp
│   ├── Step1_Models.hpp
│   ├── Step2_Models.cpp
│   ├── Step2_Models.hpp
│   ├── bgen_to_vcf.hpp
│   ├── cox_firth.cpp
│   ├── cox_firth.hpp
│   ├── cox_ridge.cpp
│   ├── cox_ridge.hpp
│   ├── cox_score.cpp
│   ├── cox_score.hpp
│   ├── survival_data.cpp
│   └── survival_data.hpp
└── test/
    ├── check_na.sh
    ├── test_bash.sh
    ├── test_conda.sh
    ├── test_docker.sh
    └── test_singularity.sh

================================================
FILE CONTENTS
================================================

================================================
FILE: .dockerignore
================================================
# File .dockerignore
.git
.gitignore
.github

# directories to ignore
example/
test/
recipe/
# in source code
src/*.o
external_libs/pgenlib/*.o
external_libs/pgenlib/include/*.o

# Files
README.md
LICENSE


================================================
FILE: .github/workflows/docker-image.yml
================================================
name: Docker Image CI

on:
  push:
    tags:
      - 'v*'
  workflow_dispatch:

env:
  REGISTRY: docker.pkg.github.com
  REPO_NAME: ${{ github.repository }}

jobs:
  build-and-push-image:
  
    runs-on: ubuntu-latest
    
    steps:      
    - 
      name: Checkout repository
      uses: actions/checkout@v3

    - 
      name: Read VERSION file
      id: getversion
      run: echo "version=$(cat VERSION)" >> $GITHUB_OUTPUT
      #run: echo "::set-output name=version::$(cat VERSION)"
    
    - name: Build and push image to Docker
      run: |
        IMAGE_NAME="docker.pkg.github.com/${{ env.REPO_NAME }}/regenie:v${{ steps.getversion.outputs.version }}.gz"
        echo "${{ secrets.GH_PAT }}" | docker login https://docker.pkg.github.com -u ${GITHUB_ACTOR} --password-stdin
        docker build -f Dockerfile_mkl \
          --build-arg BOOST_IO=1 \
          --build-arg LIB_INSTALL=libboost-iostreams-dev \
          -t $IMAGE_NAME . 
        docker push $IMAGE_NAME


================================================
FILE: .github/workflows/manual.yml
================================================
# This is a basic workflow that is manually triggered

name: Manual workflow

# Controls when the action will run. Workflow runs when manually triggered using the UI
# or API.
on:
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  build:
    runs-on: ubuntu-20.04
    name: Build
    env:
      BOOST_IO: 0
      STATIC: 1
      BGEN_VERSION: v1.1.7
      LIB_INSTALL: g++ libgomp1 make python3 zlib1g-dev wget
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Prep GCC install
        run: |
          sudo apt-get install -y software-properties-common
          sudo add-apt-repository ppa:ubuntu-toolchain-r/test
          sudo apt update

      - name: Apt packages
        run: sudo apt install -y --no-install-recommends ${LIB_INSTALL}

      - name: Cache Bgen
        id: bgen-cache
        uses: actions/cache@v3
        with:
          path: bgen.tgz
          key: ${{ runner.os }}-bgen

      - name: Download Bgen if not cached
        if: steps.bgen-cache.outputs.cache-hit != 'true'
        run: |
          wget -O bgen.tgz "http://code.enkre.net/bgen/tarball/release/${BGEN_VERSION}"
      - name: Install Bgen
        run: |
          tar xzf bgen.tgz
          pushd ${BGEN_VERSION}
          python3 waf configure
          python3 waf -v
          popd
      - name: Build
        run: make BGEN_PATH=./${BGEN_VERSION} HAS_BOOST_IOSTREAM=$BOOST_IO STATIC=$STATIC all

      - name: Test
        run: ./regenie --help


================================================
FILE: .github/workflows/test.yml
================================================
name: build

on: 
  push:
    tags:
      - 'v*'
  pull_request:
    types:
      - opened
  release:
    types:
      - created
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    name: Build
    env:
      BOOST_IO: 0
      STATIC: 1
      BGEN_VERSION: v1.1.7
      CMAKE_VERSION_MAJOR: 3.28
      CMAKE_VERSION_MINOR: 0
      LIB_INSTALL: g++-9 gfortran-9 libgomp1 make python3 zlib1g-dev wget libcurl4-openssl-dev
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Prep GCC install
        run: |
          sudo apt-get install -y software-properties-common
          sudo add-apt-repository ppa:ubuntu-toolchain-r/test
          sudo apt update

      - name: Apt packages
        run: |
          sudo apt install -y --no-install-recommends ${LIB_INSTALL}
          sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9
          sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-9 70
          sudo update-alternatives --install /usr/bin/f77 f77 /usr/bin/gfortran-9 70
          sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-9 70
          wget -O cmake_install.sh "http://cmake.org/files/v${CMAKE_VERSION_MAJOR}/cmake-${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}-linux-x86_64.sh"
          sudo sh cmake_install.sh --prefix=/usr/local --skip-license --exclude-subdir
          sudo rm cmake_install.sh

      - name: Cache Bgen
        id: bgen-cache
        uses: actions/cache@v3
        with:
          path: bgen.tgz
          key: ${{ runner.os }}-bgen

      - name: Download Bgen if not cached
        if: steps.bgen-cache.outputs.cache-hit != 'true'
        run: |
          wget -O bgen.tgz "http://code.enkre.net/bgen/tarball/release/${BGEN_VERSION}"

      - name: Install Bgen
        run: |
          tar -xzf bgen.tgz
          pushd ${BGEN_VERSION}
          python3 waf configure
          python3 waf
          popd

      - name: Build
        run: |
          BGEN_PATH=./${BGEN_VERSION} HAS_BOOST_IOSTREAM=$BOOST_IO STATIC=$STATIC cmake .
          make
    
      - name: Test
        run: |
          ./regenie --help
          ./regenie --version


================================================
FILE: .gitignore
================================================
src/*.o
external_libs/pgenlib/*.o
external_libs/pgenlib/include/*.o
docs/nature.csl
build/


================================================
FILE: CMakeLists.txt
================================================
# For Intel MKL, set MKLROOT=<MKL_path> when running cmake
#   e.g. MKLROOT=/opt/mkl/ cmake -S regenie_dir/ -B regenie_dir/build/
# For OpenBLAS, set OPENBLAS_ROOT=<OpenBLAS_path> when running cmake
#   note: it also requires lapacke library
# For static compilation on Linux systems, set STATIC=1 when running cmake
#   -> this excludes GLIBC


cmake_minimum_required(VERSION 3.13)

# detect OS architecture
execute_process(
  COMMAND uname -s
  OUTPUT_VARIABLE UNAME_S
  OUTPUT_STRIP_TRAILING_WHITESPACE
  )

# Get Regenie version
file(STRINGS "VERSION" RG_VERSION)

project(regenie
  VERSION ${RG_VERSION}
  )

include(CMakePackageConfigHelpers)
include(GNUInstallDirs)

# specify the C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)  # Ensures -std=c++11

######################################
######## check input variables

# check BGEN_PATH
if("$ENV{BGEN_PATH}" STREQUAL "")
  message( FATAL_ERROR "Must specify path to BGEN library in 'BGEN_PATH'")
else()
  set(BGEN_PATH "$ENV{BGEN_PATH}" CACHE INTERNAL "Set BGEN library path")
  if (NOT EXISTS ${BGEN_PATH})
    message( FATAL_ERROR "Specified BGEN library directory '${BGEN_PATH}' does not exist")
  endif()
endif()

# check for static compilation
if($ENV{STATIC})
  set(BUILD_STATIC ON CACHE INTERNAL "Static compilation")
  message( STATUS "Static compilation mode")
endif()

# check Boost IOStreams
if($ENV{HAS_BOOST_IOSTREAM})
  set(HAS_BOOST_IOSTREAM 1 CACHE INTERNAL "Add Boost IO")
  set(RG_VERSION "${RG_VERSION}.gz" CACHE INTERNAL "Update version")
else()
  set(HAS_BOOST_IOSTREAM 0 CACHE INTERNAL "Skip Boost IO")
endif()

# check MKL
if(NOT "$ENV{MKLROOT}" STREQUAL "")
  set(MKLROOT "$ENV{MKLROOT}" CACHE INTERNAL "Set MKL library path")
  if (NOT EXISTS ${MKLROOT})
    message( FATAL_ERROR "Specified MKL library directory '${MKLROOT}' does not exist")
  endif()
  message( STATUS "Will compile with Intel MKL library")
endif()

# check HTSlib
if(NOT "$ENV{HTSLIB_PATH}" STREQUAL "")
  set(HTSLIB_PATH "$ENV{HTSLIB_PATH}" CACHE INTERNAL "Set HTSlib library path")
  if (NOT EXISTS ${HTSLIB_PATH})
    message( FATAL_ERROR "Specified HTSlib library directory '${HTSLIB_PATH}' does not exist")
  endif()
  message( STATUS "Will compile with HTSlib")
endif()

# check OpenBLAS
if(NOT "$ENV{OPENBLAS_ROOT}" STREQUAL "")
  set(OPENBLAS_ROOT "$ENV{OPENBLAS_ROOT}" CACHE INTERNAL "Set OpenBLAS library path")
  if (NOT EXISTS ${OPENBLAS_ROOT})
    message( FATAL_ERROR "Specified OpenBLAS library directory '${OPENBLAS_ROOT}' does not exist")
  endif()
  message( STATUS "Will compile with OpenBLAS library")
endif()

######################################
######## set flags and required libraries

set(BLA_STATIC               ${BUILD_STATIC})
set(Boost_USE_STATIC_LIBS    ${BUILD_STATIC})
set(Boost_USE_DEBUG_LIBS     OFF)
set(Boost_USE_MULTITHREADED  ON)
set(Boost_USE_STATIC_RUNTIME OFF)

# list each file specifically
add_executable(regenie
  ${CMAKE_SOURCE_DIR}/src/Data.cpp
  ${CMAKE_SOURCE_DIR}/src/Files.cpp
  ${CMAKE_SOURCE_DIR}/src/Geno.cpp
  ${CMAKE_SOURCE_DIR}/src/HLM.cpp
  ${CMAKE_SOURCE_DIR}/src/Interaction.cpp
  ${CMAKE_SOURCE_DIR}/src/Joint_Tests.cpp
  ${CMAKE_SOURCE_DIR}/src/Masks.cpp
  ${CMAKE_SOURCE_DIR}/src/NNLS.cpp
  ${CMAKE_SOURCE_DIR}/src/Pheno.cpp
  ${CMAKE_SOURCE_DIR}/src/Regenie.cpp
  ${CMAKE_SOURCE_DIR}/src/SKAT.cpp
  ${CMAKE_SOURCE_DIR}/src/Step1_Models.cpp
  ${CMAKE_SOURCE_DIR}/src/Step2_Models.cpp
  ${CMAKE_SOURCE_DIR}/src/MultiTrait_Tests.cpp
  ${CMAKE_SOURCE_DIR}/src/MCC.cpp
  ${CMAKE_SOURCE_DIR}/src/Ordinal.cpp
  ${CMAKE_SOURCE_DIR}/src/survival_data.cpp
  ${CMAKE_SOURCE_DIR}/src/cox_ridge.cpp
  ${CMAKE_SOURCE_DIR}/src/cox_score.cpp
  ${CMAKE_SOURCE_DIR}/src/cox_firth.cpp
  )
target_include_directories(regenie PRIVATE ${CMAKE_SOURCE_DIR}/src)

set(CMAKE_CXX_FLAGS "-O3 -Wall -pedantic -ffast-math -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-long-long -Wno-c11-extensions -fPIC")
add_definitions(-DVERSION_NUMBER="${RG_VERSION}")

if("${UNAME_S}" STREQUAL "Linux")
  find_package(OpenMP REQUIRED)
  target_link_libraries(regenie PRIVATE OpenMP::OpenMP_CXX)
  if(${BUILD_STATIC})
    target_link_options(regenie BEFORE PRIVATE -static-libgcc PRIVATE -static-libstdc++)
  endif()
elseif("${UNAME_S}" STREQUAL "Darwin")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
endif()

set(EXTERN_LIBS_PATH "${CMAKE_SOURCE_DIR}/external_libs")
target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/)

# BGEN library and its dependencies
find_library(ZSTD_LIBRARY libzstd.a HINTS "${BGEN_PATH}/build/3rd_party/zstd-1.1.0" REQUIRED)
find_library(DB_LIBRARY libdb.a HINTS "${BGEN_PATH}/build/db" REQUIRED)
find_library(SQLITE3_LIBRARY libsqlite3.a HINTS "${BGEN_PATH}/build/3rd_party/sqlite3" REQUIRED)
find_library(Boost_LIBRARY libboost.a HINTS "${BGEN_PATH}/build/3rd_party/boost_1_55_0" REQUIRED)
find_library(BGEN_LIBRARY libbgen.a HINTS "${BGEN_PATH}/build" REQUIRED)
target_link_libraries(regenie PRIVATE ${ZSTD_LIBRARY} ${BGEN_LIBRARY} ${DB_LIBRARY} ${SQLITE3_LIBRARY} ${Boost_LIBRARY})
target_include_directories(regenie PRIVATE ${BGEN_PATH} ${BGEN_PATH}/genfile/include/ ${BGEN_PATH}/3rd_party/boost_1_55_0/ ${BGEN_PATH}/3rd_party/zstd-1.1.0/lib ${BGEN_PATH}/db/include/ ${BGEN_PATH}/3rd_party/sqlite3)

# MVTNorm library
set(MVTN_PATH "${EXTERN_LIBS_PATH}/mvtnorm")
add_custom_target(
   libMvtnorm
   COMMAND make
   WORKING_DIRECTORY ${MVTN_PATH}
)
target_link_libraries(regenie PRIVATE ${MVTN_PATH}/libMvtnorm.a)
add_dependencies(regenie libMvtnorm)

# QF library
set(QF_PATH "${EXTERN_LIBS_PATH}/qf")
add_custom_target(
   libqf
   COMMAND make
   WORKING_DIRECTORY ${QF_PATH}
)
target_link_libraries(regenie PRIVATE ${QF_PATH}/qf.a)
add_dependencies(regenie libqf)

# Quadpack library
set(QUAD_PATH "${EXTERN_LIBS_PATH}/quadpack")
add_custom_target(
   libquad
   COMMAND make
   WORKING_DIRECTORY ${QUAD_PATH}
)
target_link_libraries(regenie PRIVATE ${QUAD_PATH}/libquad.a)
add_dependencies(regenie libquad)

# PGEN library
set(PGEN_PATH "${EXTERN_LIBS_PATH}/pgenlib")
add_custom_target(
   pgenlib
   COMMAND make
   WORKING_DIRECTORY ${PGEN_PATH}
)
target_link_libraries(regenie PRIVATE ${PGEN_PATH}/pgenlib.a)
target_include_directories(regenie PRIVATE ${PGEN_PATH} ${PGEN_PATH}/simde/ ${PGEN_PATH}/include/)
add_dependencies(regenie pgenlib)

# REMETA library
if(EXISTS ${HTSLIB_PATH})
  set(REMETA_PATH "${EXTERN_LIBS_PATH}/remeta")
  add_custom_target(
     remeta
     COMMAND make HTSLIB_PATH=${HTSLIB_PATH}
     WORKING_DIRECTORY ${REMETA_PATH}
  )
  target_link_libraries(regenie PUBLIC ${REMETA_PATH}/remeta.a)
  target_include_directories(regenie PUBLIC ${REMETA_PATH})
  add_dependencies(regenie remeta)

  add_definitions(-DWITH_HTSLIB)
  find_library(HTSLIB libhts.a HINTS ${HTSLIB_PATH})
  find_library(BZ2_LIB bz2 REQUIRED)
  find_library(LZMA_LIB lzma REQUIRED)
  find_library(CURL_LIB curl REQUIRED)
  find_library(CRYPTO_LIB crypto REQUIRED)
  target_link_libraries(regenie PUBLIC 
    ${HTSLIB}
    ${BZ2_LIB} ${LZMA_LIB} ${CURL_LIB} ${CRYPTO_LIB} 
  )
endif()

# Intel MKL
if(EXISTS ${MKLROOT})
  add_definitions(-DWITH_MKL -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE)
  target_include_directories(regenie PRIVATE ${MKLROOT}/include/)
  if(${BUILD_STATIC}) # specify static libs
    find_library(MKL_LP64_LIB libmkl_intel_lp64.a 
      HINTS "${MKLROOT}/lib/intel64"
      "${MKLROOT}/lib" 
      REQUIRED)
    find_library(MKL_THREAD_LIB libmkl_gnu_thread.a 
      HINTS "${MKLROOT}/lib/intel64"
      "${MKLROOT}/lib" 
      REQUIRED)
    find_library(MKL_CORE_LIB libmkl_core.a 
      HINTS "${MKLROOT}/lib/intel64"
      "${MKLROOT}/lib" 
      REQUIRED)
    target_link_libraries(regenie PRIVATE "-Wl,--start-group" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} "-Wl,--end-group" -lgomp)
  else() # use dynamic libs
    find_library(MKL_LP64_LIB mkl_intel_lp64 
      PATHS "${MKLROOT}/lib/intel64"
      "${MKLROOT}/lib" 
      REQUIRED)
    find_library(MKL_THREAD_LIB mkl_gnu_thread 
      PATHS "${MKLROOT}/lib/intel64"
      "${MKLROOT}/lib" 
      REQUIRED)
    find_library(MKL_CORE_LIB mkl_core 
      PATHS "${MKLROOT}/lib/intel64"
      "${MKLROOT}/lib" 
      REQUIRED)
    target_link_libraries(regenie PRIVATE "-Wl,--no-as-needed" ${MKL_LP64_LIB} ${MKL_THREAD_LIB} ${MKL_CORE_LIB} -lgomp)
  endif()
elseif(EXISTS ${OPENBLAS_ROOT}) # OpenBLAS
  add_definitions(-DWITH_OPENBLAS -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE)
  target_include_directories(regenie PRIVATE ${OPENBLAS_ROOT}/include/)
  find_library(LAPACK_LIB lapack REQUIRED)
  find_library(BLAS_LIB openblas HINTS "${OPENBLAS_ROOT}/lib/" REQUIRED)
  target_link_libraries(regenie PRIVATE ${LAPACK_LIB} -llapacke ${BLAS_LIB})
endif()

# cxxopts (header-only)
target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/cxxopts/include/)

# LBFGS (header-only)
target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/LBFGSpp/include/)

# Eigen (header-only)
target_include_directories(regenie PRIVATE ${EXTERN_LIBS_PATH}/eigen-3.4.0/)

# Boost IO
if(${HAS_BOOST_IOSTREAM})
  if("${UNAME_S}" STREQUAL "Darwin")
    find_library(BOOST_LIB_IO libboost_iostreams libboost_iostreams.a REQUIRED)
    target_link_libraries(regenie PRIVATE ${BOOST_LIB_IO})
  elseif(${BUILD_STATIC})
    find_library(BOOST_LIB_IO libboost_iostreams.a REQUIRED)
    target_link_libraries(regenie PRIVATE ${BOOST_LIB_IO})
  else()
    target_link_libraries(regenie PRIVATE -lboost_iostreams)
  endif()
  add_definitions(-DHAS_BOOST_IOSTREAM)
  message( STATUS "Will compile with Boost Iostreams library")
endif()

# Other libraries
find_library(ZLIB_LIBRARY libz.a z REQUIRED)
find_library(M_LIB m REQUIRED)
find_library(DL_LIB dl REQUIRED)
if("${UNAME_S}" STREQUAL "Linux")
  set(GFORTRAN_LIBRARY "-lgfortran")
elseif("${UNAME_S}" STREQUAL "Darwin")
  find_library(GFORTRAN_LIBRARY gfortran REQUIRED)
endif()
target_link_libraries(
  regenie PRIVATE
  ${ZLIB_LIBRARY} ${M_LIB} ${DL_LIB} ${PTHREAD_LIB}
  ${GFORTRAN_LIBRARY}
)

install(TARGETS regenie RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
message( STATUS "REGENIE v" ${RG_VERSION})

add_custom_target(full-clean
  COMMAND cd "${MVTN_PATH}" && make clean
  COMMAND cd "${QF_PATH}" && make clean
  COMMAND cd "${QUAD_PATH}" && make clean
  COMMAND cd "${PGEN_PATH}" && make clean
  )


================================================
FILE: Dockerfile
================================================
# Thanks to Nathan Weeks for sharing this Dockerfile
# minor edits were made
# Filename: Dockerfile

# make this global 
ARG LIB_INSTALL
ARG LIB_INSTALL2

FROM public.ecr.aws/ubuntu/ubuntu:22.04 AS builder

ARG BOOST_IO
ARG LIB_INSTALL
ARG STATIC
ARG CMAKE_VERSION_MAJOR=3.13
ARG CMAKE_VERSION_MINOR=0
ARG HTSLIB_VERSION=1.18

WORKDIR /src

ADD http://cmake.org/files/v${CMAKE_VERSION_MAJOR}/cmake-${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}-Linux-x86_64.sh cmake_install.sh
ADD http://code.enkre.net/bgen/tarball/release/v1.1.7 v1.1.7.tgz
ADD https://github.com/samtools/htslib/releases/download/$HTSLIB_VERSION/htslib-$HTSLIB_VERSION.tar.bz2 htslib-$HTSLIB_VERSION.tar.bz2

# install BGEN and HTSlib libraries
RUN apt-get update && apt-get install -y --no-install-recommends \
      gcc-9 \
      g++-9 \
      gfortran-9 \
      make \
      libz-dev \
      bzip2 \
      libbz2-dev \
      liblzma-dev \
      libcurl4-openssl-dev \
      libssl-dev \
      python3 \
      zlib1g-dev \
      $LIB_INSTALL \
      && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9 \
      && update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-9 70 \
      && update-alternatives --install /usr/bin/f77 f77 /usr/bin/gfortran-9 70 \
      && update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-9 70 \
      && tar -xf htslib-$HTSLIB_VERSION.tar.bz2 \
      && cd htslib-$HTSLIB_VERSION/ \
      && ./configure \
      && make \
      && make install \
      && cd .. \
      && sh cmake_install.sh --prefix=/usr/local --skip-license --exclude-subdir \
      && rm cmake_install.sh \
      && tar -xzf v1.1.7.tgz \
      && rm v1.1.7.tgz \
      && cd v1.1.7 \
      && python3 waf configure \
      && python3 waf

COPY . /src/regenie

WORKDIR /src/regenie

RUN BGEN_PATH=/src/v1.1.7 HAS_BOOST_IOSTREAM=$BOOST_IO HTSLIB_PATH=/usr/local/lib/ STATIC=$STATIC cmake . \
      && make

FROM public.ecr.aws/ubuntu/ubuntu:22.04
ARG LIB_INSTALL2

RUN apt-get update && apt-get install -y --no-install-recommends \
      libgomp1 libcurl4 gfortran-9 $LIB_INSTALL2 \
      && rm -rf /var/lib/apt/lists/*

COPY --from=builder /src/regenie/regenie /usr/local/bin


================================================
FILE: Dockerfile_mkl
================================================
# Filename: Dockerfile_mkl

# make this global 
ARG LIB_INSTALL
ARG LIB_INSTALL2


FROM public.ecr.aws/ubuntu/ubuntu:22.04 AS builder

ARG BOOST_IO
ARG LIB_INSTALL
ARG STATIC
ARG CMAKE_VERSION_MAJOR=3.13
ARG CMAKE_VERSION_MINOR=0
ARG HTSLIB_VERSION=1.18

WORKDIR /src

ADD http://cmake.org/files/v${CMAKE_VERSION_MAJOR}/cmake-${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}-Linux-x86_64.sh cmake_install.sh
ADD http://code.enkre.net/bgen/tarball/release/v1.1.7 v1.1.7.tgz
ADD https://github.com/samtools/htslib/releases/download/$HTSLIB_VERSION/htslib-$HTSLIB_VERSION.tar.bz2 htslib-$HTSLIB_VERSION.tar.bz2
ADD https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB intel_key.PUB
COPY . /src/regenie

# install BGEN and HTSlib libraries
RUN apt-get update && apt-get install -y --no-install-recommends \
      gcc-9 \
      g++-9 \
      gfortran-9 \
      libz-dev \
      bzip2 \
      libbz2-dev \
      liblzma-dev \
      libcurl4-openssl-dev \
      libssl-dev \
      make \
      gnupg \
      python3 \
      zlib1g-dev \
      apt-transport-https ca-certificates \
      $LIB_INSTALL \
      && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9 \
      && update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-9 70 \
      && update-alternatives --install /usr/bin/f77 f77 /usr/bin/gfortran-9 70 \
      && update-alternatives --install /usr/bin/cc cc /usr/bin/gcc-9 70 \
      && tar -xf htslib-$HTSLIB_VERSION.tar.bz2 \
      && cd htslib-$HTSLIB_VERSION/ \
      && ./configure \
      && make \
      && make install \
      && cd .. \
      && sh cmake_install.sh --prefix=/usr/local --skip-license --exclude-subdir \
      && rm cmake_install.sh \
      && tar -xzf v1.1.7.tgz \
      && rm v1.1.7.tgz \
      && cd v1.1.7 \
      && python3 waf configure \
      && python3 waf \
      && cd .. \
      && sh -c 'cat intel_key.PUB | gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null' \
      && sh -c 'echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list' \
      && apt-get update \
      && apt-get install intel-oneapi-mkl-devel -y --no-install-recommends \
      && . /opt/intel/oneapi/setvars.sh \
      && echo "MKL_THREADING_LAYER=GNU" >> /etc/environment \
      && cd /src/regenie \
      && BGEN_PATH=/src/v1.1.7 HAS_BOOST_IOSTREAM=$BOOST_IO MKLROOT=$MKLROOT HTSLIB_PATH=/usr/local/lib/ STATIC=1 cmake . \
      && make

# no need to install Boost IO and MKL here (static linking)
FROM public.ecr.aws/ubuntu/ubuntu:22.04

RUN apt-get update && apt-get install -y --no-install-recommends \
      libgomp1 gfortran-9 \
      libz-dev libbz2-dev liblzma-dev libcurl4-openssl-dev libssl-dev \
      && rm -rf /var/lib/apt/lists/*

COPY --from=builder /src/regenie/regenie /usr/local/bin



================================================
FILE: Dockerfile_openblas
================================================
# Thanks to Nathan Weeks for sharing this Dockerfile
# minor edits were made
# Filename: Dockerfile_openblas

# make this global 
ARG LIB_INSTALL
ARG LIB_INSTALL2


FROM ubuntu:18.04 AS builder

ARG BOOST_IO
ARG LIB_INSTALL
ARG STATIC
ARG CMAKE_VERSION_MAJOR=3.13
ARG CMAKE_VERSION_MINOR=0

WORKDIR /src

ADD http://cmake.org/files/v${CMAKE_VERSION_MAJOR}/cmake-${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}-Linux-x86_64.sh cmake_install.sh
ADD http://code.enkre.net/bgen/tarball/release/v1.1.7 v1.1.7.tgz

RUN apt-get update && apt-get install -y --no-install-recommends \
      g++ \
      make \
      python3 \
      gfortran \
      zlib1g-dev \
      liblapacke-dev \
      libopenblas-dev \
      $LIB_INSTALL \
      && sh cmake_install.sh --prefix=/usr/local --skip-license --exclude-subdir \
      && rm cmake_install.sh \
      && tar -xzf v1.1.7.tgz \
      && rm v1.1.7.tgz \
      && cd v1.1.7 \
      && python3 waf configure \
      && python3 waf \
      && cd ..

COPY . /src/regenie

WORKDIR /src/regenie

RUN BGEN_PATH=/src/v1.1.7 HAS_BOOST_IOSTREAM=$BOOST_IO OPENBLAS_ROOT=/usr/lib/x86_64-linux-gnu/openblas STATIC=1 cmake . \
      && make

FROM ubuntu:18.04
ARG LIB_INSTALL2

RUN apt-get update && apt-get install -y --no-install-recommends \
      libgomp1 gfortran $LIB_INSTALL2 \
      && rm -rf /var/lib/apt/lists/*

COPY --from=builder /src/regenie/regenie /usr/local/bin



================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2020-2021 Joelle Mbatchou, Andrey Ziyatdinov & Jonathan Marchini

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

-----------------------------------------------------------------------------------

This software links code from the BGEN library which is licensed under 
the "Boost Software License, Version 1.0":

Copyright Gavin Band 2008 - 2012.

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.


================================================
FILE: Makefile
================================================
# Makefile for Linux and Mac OSX systems for REGENIE
#
# * User needs to specify BGEN_PATH which is the directory
# 	where the BGEN library is installed
# * If the Boost Iostream library is installed on the system,
# 	user can specify to link to it during compilation by
# 	setting  HAS_BOOST_IOSTREAM to 1
#
###############################################################
#
# Optional: To use external BLAS/LAPACK routines in Eigen	
#
# For Intel MKL, add path of installed library to MKLROOT
# For OpenBLAS, add path of installed library to OPENBLAS_ROOT
#   note: it also requires lapacke library
#  
# For static compilation on Linux systems, set STATIC=1
#   -> this excludes GLIBC
#

BGEN_PATH     =
HAS_BOOST_IOSTREAM := 0
MKLROOT       =
# directory containing libhts.a or libhts.so
HTSLIB_PATH   =
OPENBLAS_ROOT = 
STATIC       := 0

############

# Use only if not set
CXX          ?= g++
CXXFLAGS      = -O3 -Wall -pedantic -ffast-math -std=c++11 -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-long-long -Wno-c11-extensions -fPIC

EFILE         = regenie
CFLAGS       ?=

# check BGEN_PATH is set
ifneq ($(MAKECMDGOALS),clean)
ifeq ($(strip $(BGEN_PATH)),)
 $(warning You did not set the path to BGEN library, i.e. "BGEN_PATH")
endif
endif


# detect OS architecture and add flags
UNAME_S      := $(shell uname -s)
ifeq ($(UNAME_S),Linux)
 INC          = -I${BGEN_PATH}/3rd_party/boost_1_55_0
 CFLAGS      += -fopenmp
 ifeq ($(strip $(STATIC)),1)
	LPATHS      = -static-libgcc -static-libstdc++
	DLIBS       = -Wl,-Bdynamic
 endif
else ifeq ($(UNAME_S),Darwin)
 RGFLAGS     += -stdlib=libc++
endif


RG_VERSION    = $(shell cat VERSION)

## for docker
DFILE         = ./Dockerfile
TEST_SCRIPT   = ./test/test_docker.sh
ifeq ($(strip $(STATIC)),1)
 ifneq ($(strip $(MKLROOT)),)
	DFILE       = ./Dockerfile_mkl # only for static linking
 endif
endif


## for boost iostream
ifeq ($(HAS_BOOST_IOSTREAM),1)
 RG_VERSION  := $(RG_VERSION).gz
 RGFLAGS     += -DHAS_BOOST_IOSTREAM
 ifeq ($(strip $(STATIC)),1)
	SLIBS       = -Wl,-Bstatic -lboost_iostreams
 else
	DLIBS      += -lboost_iostreams
	LIB_BIO2    = libboost-iostreams-dev ## for docker build
 endif
 LIB_BIO      = libboost-iostreams-dev ## for docker build
endif


# Intel MKL or OpenBLAS
ifneq ($(strip $(MKLROOT)),)
 ifeq ($(UNAME_S),Linux)
	RGFLAGS    += -DWITH_MKL -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE
	INC        += -I${MKLROOT}/include/
	# static linking
	ifeq ($(strip $(STATIC)),1)
	 SLIBS     += -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_gnu_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group
	 DLIBS     += -lgomp -lpthread
	# dynamic linking
	else
	 LIBMKL     = -L${MKLROOT}/lib/intel64/
	 DLIBS     += -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread
	endif
 endif

else ifneq ($(strip $(OPENBLAS_ROOT)),)
 ifeq ($(UNAME_S),Linux)
	RGFLAGS    += -DWITH_OPENBLAS -DEIGEN_USE_BLAS -DEIGEN_USE_LAPACKE
	INC        += -I${OPENBLAS_ROOT}/include/
	# static linking
	ifeq ($(strip $(STATIC)),1)
	 SLIBS     += -Wl,-rpath=${OPENBLAS_ROOT}/lib/ -llapack -llapacke -lopenblas
	# dynamic linking
	else
	 DLIBS     += -Wl,-rpath=${OPENBLAS_ROOT}/lib/ -llapack -llapacke -lopenblas
	endif
 endif
endif

## for HTSlib
ifneq ($(strip $(HTSLIB_PATH)),)
	ifeq ($(UNAME_S),Linux)
		RGFLAGS += -DWITH_HTSLIB
		ifeq ($(strip $(STATIC)),1)
			SLIBS += ${HTSLIB_PATH}/libhts.a
		else
			SLIBS += ${HTSLIB_PATH}/libhts.so
		endif
		DLIBS += -lz -lbz2 -llzma -lcurl
	endif
endif

# pass on version number to software
RGFLAGS      += -DVERSION_NUMBER=\"$(RG_VERSION)\"


OBJECTS       = $(patsubst %.cpp,%.o,$(wildcard ./src/*.cpp))

PGEN_PATH     = ./external_libs/pgenlib/
INC          += -I${PGEN_PATH} -I${PGEN_PATH}/simde/ -I${PGEN_PATH}/include/ -I./external_libs/cxxopts/include/ -I./external_libs/LBFGSpp/include/ -I${BGEN_PATH} -I./external_libs/eigen-3.4.0/ -I${BGEN_PATH}/genfile/include/ -I${BGEN_PATH}/3rd_party/boost_1_55_0/ -I${BGEN_PATH}/3rd_party/zstd-1.1.0/lib -I${BGEN_PATH}/db/include/ -I${BGEN_PATH}/3rd_party/sqlite3 -I./external_libs/remeta -I./external_libs/

LPATHS       += ${LIBMKL} -L${BGEN_PATH}/build/ -L${BGEN_PATH}/build/3rd_party/zstd-1.1.0/ -L${BGEN_PATH}/build/db/ -L${BGEN_PATH}/build/3rd_party/sqlite3/ -L${BGEN_PATH}/build/3rd_party/boost_1_55_0 -L/usr/lib/

LIBS         += ${SLIBS} -lbgen -lzstd -ldb  -lsqlite3 -lboost
LIBS         += -lz ${DLIBS} -lm -ldl -lgfortran



.PHONY: docker-build docker-test debug clean

all: ${EFILE}

${EFILE}: libMvtnorm libqf libquad pgenlib remeta ${OBJECTS}
	${CXX} ${CXXFLAGS} ${RGFLAGS} ${CFLAGS} -o ${EFILE} ${OBJECTS} ./external_libs/mvtnorm/libMvtnorm.a ./external_libs/qf/qf.a ./external_libs/quadpack/libquad.a ./external_libs/pgenlib/pgenlib.a ./external_libs/remeta/remeta.a ${LPATHS} ${LIBS}

%.o: %.cpp
	${CXX} ${CXXFLAGS} ${RGFLAGS} -o $@ -c $< ${INC} ${CFLAGS}

libMvtnorm: 
		(cd ./external_libs/mvtnorm/;$(MAKE))

libqf: 
		(cd ./external_libs/qf/;$(MAKE))

libquad: 
		(cd ./external_libs/quadpack/;$(MAKE))

pgenlib: 
		(cd ./external_libs/pgenlib/;$(MAKE))

remeta:
		(cd ./external_libs/remeta/;$(MAKE) remeta.a HTSLIB_PATH=${HTSLIB_PATH})

#####
## For use with Docker
# create Docker image
docker-build:
	@echo "Building docker image for REGENIE v${RG_VERSION}"
ifeq ($(HAS_BOOST_IOSTREAM),1)
	@echo Compiling with Boost Iostream library
endif
ifeq ($(STATIC),1)
 ifneq ($(strip $(MKLROOT)),)
	@echo Compiling with Intel MKL library
 endif
	@echo Linking = static
 else
	@echo Linking = dynamic
endif

	@docker build --rm -f ${DFILE} \
		--no-cache --pull \
		--build-arg BOOST_IO=${HAS_BOOST_IOSTREAM} \
		--build-arg LIB_INSTALL=${LIB_BIO} \
		--build-arg LIB_INSTALL2=${LIB_BIO2} \
		--build-arg STATIC=${STATIC} \
		-t regenie:v${RG_VERSION} .

docker-test:
	@${TEST_SCRIPT} . "regenie:v${RG_VERSION}" ${HAS_BOOST_IOSTREAM}
####


debug: CXXFLAGS  = -O0 -g -std=c++11 -fPIC
debug: ${EFILE}

clean:
	rm -f ${EFILE} ./src/*.o
	(cd ./external_libs/mvtnorm/;$(MAKE) clean)
	(cd ./external_libs/qf/;$(MAKE) clean)
	(cd ./external_libs/quadpack/;$(MAKE) clean)
	(cd ./external_libs/pgenlib/;$(MAKE) clean)
	(cd ./external_libs/remeta/;$(MAKE) clean)


================================================
FILE: README.md
================================================
[![build](https://github.com/rgcgithub/regenie/actions/workflows/test.yml/badge.svg)](https://github.com/rgcgithub/regenie/actions/workflows/test.yml)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/rgcgithub/regenie?logo=Github)
[![install with conda](https://img.shields.io/badge/install%20with-conda-brightgreen.svg)](https://anaconda.org/bioconda/regenie)
[![Github All Releases](https://img.shields.io/github/downloads/rgcgithub/regenie/total.svg)]()
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**regenie** is a C++ program for whole genome regression modelling of large [genome-wide association studies](https://en.wikipedia.org/wiki/Genome-wide_association_study).

It is developed and supported by a team of scientists at the Regeneron Genetics Center.

The method has the following properties

- It works on quantitative, binary, and time-to-event traits, including binary traits with unbalanced case-control ratios and time-to-event traits with low event rates
- It can handle population structure and relatedness
- It can process multiple phenotypes at once efficiently
- It is fast and memory efficient 🔥
- For binary traits, it supports Firth logistic regression and an SPA test
- For time-to-event traits, it supports Firth cox regression
- It can perform gene/region-based tests, interaction tests and conditional analyses
- It supports the [BGEN](https://www.well.ox.ac.uk/~gav/bgen_format/), [PLINK](https://www.cog-genomics.org/plink/1.9/formats#bed) bed/bim/fam and [PLINK2](https://www.cog-genomics.org/plink/2.0/formats#pgen) pgen/pvar/psam genetic data formats
- It is ideally suited for implementation in [Apache Spark](https://spark.apache.org/) (see [GLOW](https://projectglow.io/))
- It can be installed with [Conda](https://anaconda.org/bioconda/regenie)

Full documentation for the **regenie** can be found [here](https://rgcgithub.github.io/regenie/).

## Citation 
Mbatchou, J., Barnard, L., Backman, J. et al. Computationally efficient whole-genome regression for quantitative and binary traits. Nat Genet 53, 1097–1103 (2021). https://doi.org/10.1038/s41588-021-00870-7

## License

**regenie** is distributed under an [MIT license](https://github.com/rgcgithub/regenie/blob/master/LICENSE).

## Contact
If you have any questions about regenie please contact

- <jonathan.marchini@regeneron.com>
- <joelle.mbatchou@regeneron.com>

If you want to submit a issue concerning the software please do so
using the **regenie** [Github repository](https://github.com/rgcgithub/regenie/issues).


## Version history
[Version 4.1](https://github.com/rgcgithub/regenie/releases/tag/v4.1) (Timing reduction for single variant association tests; New option --htp to output summary statistics in the [HTP](https://rgcgithub.github.io/remeta/file_formats/#-htp) format; New option --skip-dosage-comp to skip dosage compensation for males in non-PAR chrX regions; Various bug fixes)

[Version 4.0](https://github.com/rgcgithub/regenie/releases/tag/v4.0) (New options `--t2e` and `--eventColList` for time-to-event analysis to specify time-to-event analysis and the event phenotype name, respectively; Fix algorithm used to fit logistic Firth model when using `--write-null-firth` to match closer to the approach used in step 2)

[Version 3.6](https://github.com/rgcgithub/regenie/releases/tag/v3.6) (Bug fix for the approximate Firth test when ultra-rare variants [MAC below 50] are being tested; Address convergence failures & speed-up exact Firth by using warm starts based on null model with just covariates)

[Version 3.5](https://github.com/rgcgithub/regenie/releases/tag/v3.5) (Added CHR/POS columns to snplist output file when using `--write-mask-snplist`; Genotype counts are now reported in the sumstats file when using `--no-split`; Improved efficiency of LOOCV scheme in ridge level 0; Detect carriage return in fam/psam/bim/pvar/sample files; Minor bug fixes)

[Version 3.4.1](https://github.com/rgcgithub/regenie/releases/tag/v3.4.1) (Reduction in memory usage for LD computation when writing to text files; Fix bug rejecting valid PVAR files)

[Version 3.4](https://github.com/rgcgithub/regenie/releases/tag/v3.4) (Reduction in memory usage for LD computation with dosages; Minor bug fixes for LD computation; Bug fix for when carriage returns are in optional input files)

[Version 3.3](https://github.com/rgcgithub/regenie/releases/tag/v3.3) (Faster implementation of approximate Firth LRT; New strategy for approximate Firth LRT with ultra-rare variants; Relaxed convergence criterion of Firth LRT from 1E-4 to 2.5E-4)

[Version 3.2.9](https://github.com/rgcgithub/regenie/releases/tag/v3.2.9) (Switch to robust version of ACAT to handle very small p-values; Bug fix for Step1 when sex chromosome was included in the analysis; Allow for 64 domains when using the 4-column annotation file)

[Version 3.2.8](https://github.com/rgcgithub/regenie/releases/tag/v3.2.8) (New option `--bgi` to specify custom index bgi file accompagnying BGEN file; Relax matching criteria between BGEN and index bgi files to use CPRA instead of variant ID)

[Version 3.2.7](https://github.com/rgcgithub/regenie/releases/tag/v3.2.7) (New option `--force-mac-filter` to apply different MAC filter to subset of SNPs; Extend maximum number of domains to 32 for 4-column anno-file; Update PGEN library)

[Version 3.2.6](https://github.com/rgcgithub/regenie/releases/tag/v3.2.6) (Relax tolerance parameter for null unpenalized logistic regression from 1e-8 to 1e-6; Minor bug fixes)

[Version 3.2.5.3](https://github.com/rgcgithub/regenie/releases/tag/v3.2.5.3) (Fix inflation issue when testing main effect of SNP in GxE model; Minor bug fixes)

[Version 3.2.5](https://github.com/rgcgithub/regenie/releases/tag/v3.2.5) (Use pseudo-data representation algorithm as default in step 2 single variant tests; Use ACAT to get SBAT p-value across POS/NEG models; Bug fix for ACATV when set has a single variant with zero weight)

[Version 3.2.4](https://github.com/rgcgithub/regenie/releases/tag/v3.2.4) (Relaxed the requirement on the minimum number of unique values for QTs to 3; Various bug fixes)

[Version 3.2.3](https://github.com/rgcgithub/regenie/releases/tag/v3.2.3) (Address convergence issues in Firth regression; Various bug fixes)

[Version 3.2.2](https://github.com/rgcgithub/regenie/releases/tag/v3.2.2) (New columns in sumstats file (N_CASES/N_CONTROLS) to output the number of cases/controls when using `--af-cc`; Various bug fixes)

[Version 3.2.1](https://github.com/rgcgithub/regenie/releases/tag/v3.2.1) (New option `--lovo-snplist` to only consider a subset of LOVO masks; Improve efficiency of LOVO for large sets to reduce memory usage; Bug fix for SPA with numerical overflow; For SKAT/ACAT tests with Firth correction, don't include SKAT weights when running Firth on single variants)

[Version 3.2](https://github.com/rgcgithub/regenie/releases/tag/v3.2) (Bug fix for SKAT/SKATO when testing on binary traits using Firth/SPA; Switched name of NNLS joint test to SBAT test altering name of corresponding options and applied Bonferroni correction before reporting its p-value [correcting for minP of 2 tests])

[Version 3.1.4](https://github.com/rgcgithub/regenie/releases/tag/v3.1.4) (New option `--par-region` to specify build to determine bounds for chrX PAR regions; new option `--force-qt` to force QT runs for traits with fewer than 10 values [otherwise will throw an error]; phenotype imputation for missing values is now applied after RINTing when using `--apply-rint`; several bug fixes)

[Version 3.1.2](https://github.com/rgcgithub/regenie/releases/tag/v3.1.2) (Reduction in memory usage for SKAT/SKATO tests; Bug fix for LOVO with SKAT/ACAT tests; Improvements for null Firth logistic algorithm to address reported convergence issues)

[Version 3.1.1](https://github.com/rgcgithub/regenie/releases/tag/v3.1.1) (Reduction in memory usage for SKAT/SKATO tests; Improvements for logistic regressions algorithms to address reported convergence issues)

[Version 3.1](https://github.com/rgcgithub/regenie/releases/tag/v3.1) (Fixed bug in SKAT/SKATO tests when applying Firth/SPA correction; Improved SPA implementation by computing both tail probabilities; New option `--set-singletons` to specify variants to consider as singletons for burden masks; New option `--l1-phenoList` to run level 1 models in Step 1 in parallel across phenotypes; Several bug fixes)

[Version 3.0.3](https://github.com/rgcgithub/regenie/releases/tag/v3.0.3) (Skip BTs where null model fit failed; Bug fix for BURDEN-ACAT; Bug fix when nan/inf values are in phenotype/covariate file)

[Version 3.0.1](https://github.com/rgcgithub/regenie/releases/tag/v3.0.1) (Improve ridge logistic regression in Step 1; Add compilation with Cmake)

[Version 3.0](https://github.com/rgcgithub/regenie/releases/tag/v3.0) (New gene-based tests: SKAT, SKATO, ACATV, ACATO and NNLS [Non-Negative Least Square test]; New GxE and GxG interaction testing functionality; New conditional analysis functionality; see [release page](https://github.com/rgcgithub/regenie/releases/tag/v3.0) for minor additions)

For past releases, see [here](RELEASE_LOG.md).


================================================
FILE: RELEASE_LOG.md
================================================
## Changelog for past releases

Version 2.2.4 (Bug fix for multi-trait step 1 run with binary traits of different missingness patterns)

Version 2.2.3 (Bug fix for binary traits for which null logistic regression gives 0/1 fitted probabilities; enabled multi-threaded null model fitting for approximate Firth null models)

Version 2.2.2 (Bug fix for binary traits for which null logistic regression gives 0/1 fitted probabilities [i.e. highly imbalanced or low case counts]; New option `--sex-specific` for sex-specific analyses)

Version 2.2.1 (Bug fix for Step 2 with binary traits for which null logistic regression gives 0/1 fitted probabilities [i.e. highly imbalanced or low case counts])

Version 2.2 (Faster implementation of Step 1 and 2 (see [here](https://rgcgithub.github.io/regenie/performance/#new-timings-improvements) for details); new options `--write-null-firth/--use-null-firth` to store the estimates from approximate Firth null model; new option `--minCaseCount` to filter out BTs with low number of cases from the analysis; new option `--no-split` to enforce output of summary stats to a single file for all traits; added support for tranposed phenotype file format with `--tphenoFile`)

Version 2.0.2 (Bug fix for burden testing with BGEN files not in v1.2 with 8-bit encoding; enabled faster step 2 implementation with Zstd compressed BGEN files in v1.2 with 8-bit encoding)

Version 2.0.1 (New option `--catCovList` to specify categorical covariates; Enabled parameter expansion when specifying select phenotypes/covariates to analyze [e.g. 'PC{1:10}'])

Version 2.0 (Added burden testing functionality for region or gene-based tests [see [website](https://rgcgithub.github.io/regenie/options/#burden-testing) for details]; added sample size column in summary stats output).

Version 1.0.7 (Enabled for level 0 models in step 1 to be run in parallel [see [Wiki](https://github.com/rgcgithub/regenie/wiki/Further-parallelization-for-level-0-models-in-Step-1) for details]).

Version 1.0.6.9 (Improved step 2 for BGEN format files not in v1.2 or 8-bit encoding).

Version 1.0.6.8 (New option `--range` to specify a chromosome region of variants to test in step 2).

Version 1.0.6.7 (New option `--print-prs` in step 1 to print the whole genome predictions (i.e. PRS) without using LOCO; 
new flag `--use-prs` in step 2 to use these in the association tests).

Version 1.0.6.6 (Fixed MAC calculation for variants on sex chromosomes when sex information is available in the genotype file).

Version 1.0.6.5 (Enabled options `--extract/--exclude` in step 2).

Version 1.0.6.4 (New option `--minINFO` to filter imputed variants in Step 2; added Regenie binary compiled with Intel MKL (only for x86_64 Linux)).

Version 1.0.6.3 (Improved ridge logistic regression to avoid convergence issues in step 1 with low case-count traits).

Version 1.0.6.2 (New option `--ref-first` to use the first allele for each variant as the reference allele for BGEN or PLINK bed/bim/fam file input [default is to use the last allele as the reference]).

Version 1.0.6.1 (Bug fix: Mach R^2 info score is only printed for PGEN input when dosages are present; added flag `--print-pheno` to write the phenotype name in 1st line of sample IDs file [i.e. when using `--write-samples`]).

Version 1.0.6.0 (Improved logistic regression implementation to address convergence issues with low case counts; add new option `--firth-se` to compute SE using effect size estimate and LRT p-value when using Firth correction).


Version 1.0.5.9 (Fixed bug printing variant ID  when variant with variance = 0 occurs in step 1).

Version 1.0.5.8 (Fixed bug due to input genotype file not sorted by chromosome and one of options `--extract/--exclude/--chr/--chrList` is used).

Version 1.0.5.7 (New option `--with-bgi` to read variant information from a .bgi index file for BGEN input format; added option `--write-samples` to write IDs of samples analyzed for each trait in step 2; added Mach Rsq imputation quality metric in INFO column for step 2 with PGEN input file format).

Version 1.0.5.6 (Enabled output of LOCO predictions files and association result files in gzip compressed format using option `--gz` [requires compiling with Boost Iostream library]; added automatic removal from the analysis of genotyped samples in step 2 not present in the LOCO prediction files from step 1 [done separately for each trait]).

Version 1.0.5.5 (fixed bug when setting the total number of blocks [the bug was introduced in v1.0.5.3 due to `n_blocks` being uninitialized]; addressed bug in step 1 with boost filesystem on some machines due to invalid LC_ALL locale) (Note: can now build docker image using `make docker-build`).

Version 1.0.5.4 (Enable using gzip compressed phenotype/covariate files as input [requires installed Boost Iostream library and setting `HAS_BOOST_IOSTREAM = 1` in Makefile] )

Version 1.0.5.31 (Print out ID of problematic variants with low variance in step 1)

Version 1.0.5.3 (Use cxxopts header-only library to parse command line arguments; changed program options `--p/--c/--b/--o/--1` to `--phenoFile/--covarFile/--bsize/--out/--cc12`, respectively; added options `--lowmem-prefix/--pThresh`)

Version 1.0.5.2 (Changed default behavior to remove individuals who have missing data at all phenotypes in the analysis; absolute paths are written in the predictions list file created in step 1)

Version 1.0.5.1 (Reduced memory usage and computational time when using options to keep/remove genotyped samples from the analysis)

Version 1.0.4.2 (Fixed bug excluding/including variants in step 1 with PGEN input format and improved the implementation of how it's done)

Version 1.0.4.1 (Can specify multiple phenotypes/covariates/chromosomes using comma separated arguments; chromosome names can start with 'chr' in the input genotype file)

Version 1.0.4 (Enabled PLINK 2.0 PGEN format files as input using the PLINK 2.0 PGEN library)

Version 1.0.3 (fixed genotype coding in dominant/recessive test for BGEN input format)

Version 1.0.2 (fixed numerical overflow bug when using option `--chr` in step 2; changed to boost split function to read all input files [either space/tab delimited])

Version 1.0.1 (fixed numerical overflow bug for quantile calculation; added new strategy for fitting null model for approximate Firth test) 

Version 1.0 (22 June 2020): Initial release





================================================
FILE: VERSION
================================================
4.1.2


================================================
FILE: docs/cinder/404.html
================================================
{% extends "base.html" %}

{% block content %}

    <div class="row-fluid">
      <div id="main-content" class="span12">
        <h1 id="404-page-not-found" style="text-align: center">404</h1>
        <p style="text-align: center"><strong>Page not found</strong></p>
        <p style="text-align: center"><a href="{{ base_url }}">Home</a></p>
      </div>
    </div>

{% endblock %}


================================================
FILE: docs/cinder/__init__.py
================================================


================================================
FILE: docs/cinder/base.html
================================================
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    {% if config.site_description %}<meta name="description" content="{{ config.site_description }}">{% endif %}
    {% if config.site_author %}<meta name="author" content="{{ config.site_author }}">{% endif %}
    {% if page.canonical_url %}<link rel="canonical" href="{{ page.canonical_url }}">{% endif %}
    <link rel="shortcut icon" href="{{ 'img/favicon.ico'|url }}">

    {% block htmltitle %}
    <title>{% if page.title %}{{ page.title }} - {% endif %}{{ config.site_name }}</title>
    {% endblock %}

    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/all.css">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.12.0/css/v4-shims.css">
    <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/hack-font@3.3.0/build/web/hack.min.css">
    <link href='//rsms.me/inter/inter.css' rel='stylesheet' type='text/css'>
    <link href='//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,600,700&subset=latin-ext,latin' rel='stylesheet' type='text/css'>
    <link href="{{ 'css/bootstrap-custom.min.css'|url }}" rel="stylesheet">
    <link href="{{ 'css/base.min.css'|url }}" rel="stylesheet">
    <link href="{{ 'css/cinder.min.css'|url }}" rel="stylesheet">

    {% if config.theme.highlightjs %}
        {% if config.theme.colorscheme %}
        <link rel="stylesheet" href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@9.18.0/build/styles/{{ config.theme.colorscheme }}.min.css">
        {% else %}
        <link rel="stylesheet" href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@9.18.0/build/styles/github.min.css">
        {% endif %}
    {% endif %}

    {%- for path in config['extra_css'] %}
    <link href="{{ path|url }}" rel="stylesheet">
    {%- endfor %}

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
            <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
            <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
        <![endif]-->

    {% if config.google_analytics %}
    <script>
    (function(i, s, o, g, r, a, m) {
        i['GoogleAnalyticsObject'] = r;
        i[r] = i[r] || function() {
            (i[r].q = i[r].q || []).push(arguments)
        }, i[r].l = 1 * new Date();
        a = s.createElement(o),
        m = s.getElementsByTagName(o)[0];
        a.async = 1;
        a.src = g;
        m.parentNode.insertBefore(a, m)
    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');

    ga('create', '{{ config.google_analytics[0] }}', '{{ config.google_analytics[1] }}');
    ga('send', 'pageview');
    </script>
    {% endif %}

    {% block extrahead %} {% endblock %}
</head>

<body{% if page and page.is_homepage %} class="homepage" {% endif %}>

    {% include "nav.html" %}

    <div class="container">
        {% block content %}
        {% if page.meta.disable_toc %}
        <div class="col-md-12" role="main">{% include "content.html" %}</div>
        {% else %}
        <div class="col-md-3">{% include "toc.html" %}</div>
        <div class="col-md-9" role="main">{% include "content.html" %}</div>
        {% endif %}
        {% endblock %}
    </div>

    <footer class="col-md-12 text-center">
        {% block footer %}
        <hr>
        <p>{% if config.copyright %}
        <small>{{ config.copyright }}</small><br>
        {% endif %}
        <small>Documentation built with <a href="http://www.mkdocs.org/">MkDocs</a>.</small>
        </p>

        {% if page and page.meta.revision_date %}<br>
        <small>Revised on: {{ page.meta.revision_date }}</small>
        {% endif %}
        {% endblock %}
    </footer>

    {%- block scripts %}
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="{{ 'js/bootstrap-3.0.3.min.js'|url }}"></script>
    {% if config.theme.highlightjs %}
    <script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@9.18.0/build/highlight.min.js"></script>
    {%- for lang in config.theme.hljs_languages %}
    <script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@9.18.0/build/languages/{{lang}}.min.js"></script>
    {%- endfor %}
    <script>hljs.initHighlightingOnLoad();</script>
    {% endif %}
    <script>var base_url = {{ base_url | tojson }}</script>
    {% if config.shortcuts %}
        <script>var shortcuts = {{ config.shortcuts | tojson }}</script>
    {% endif %}
    <script src="{{ 'js/base.js'|url }}"></script>
    {%- for path in config['extra_javascript'] %}
    <script src="{{ path|url }}"></script>
    {%- endfor %}
    {%- endblock %}

  <script type="text/javascript"
          src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML"></script>

  <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$'], ['\\(','\\)']],
processEscapes: true},
jax: ["input/TeX","input/MathML","input/AsciiMath","output/CommonHTML"],
extensions: ["tex2jax.js","mml2jax.js","asciimath2jax.js","MathMenu.js","MathZoom.js","AssistiveMML.js", "[Contrib]/a11y/accessibility-menu.js"],
TeX: {
extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"],
equationNumbers: {
autoNumber: "AMS"
}
}
});
  </script>

    {% if 'search' in config['plugins'] %}{%- include "search-modal.html" %}{% endif %}
    {%- include "keyboard-modal.html" %}
    </body>


</html>
{% if page and page.is_homepage %}
<!--
MkDocs version : {{ mkdocs_version }}
Build Date UTC : {{ build_date_utc }}
-->
{% endif %}


================================================
FILE: docs/cinder/content.html
================================================
{% if page.meta.source %}
<div class="source-links">
    {% for filename in page.meta.source %}
    <span class="label label-primary">{{ filename }}</span>
    {% endfor %}
</div>
{% endif %}

{{ page.content }}


================================================
FILE: docs/cinder/css/base.css
================================================
body {
    padding-top: 70px;
}

h1[id]:before, h2[id]:before, h3[id]:before, h4[id]:before, h5[id]:before, h6[id]:before {
    content: "";
    display: block;
    margin-top: -75px;
    height: 75px;
}

p > img {
    max-width: 100%;
    height: auto;
}

ul.nav li.first-level {
    font-weight: bold;
}

ul.nav li.third-level {
    padding-left: 12px;
}

div.col-md-3 {
    padding-left: 0;
}

div.col-md-9 {
    padding-bottom: 100px;
}

div.source-links {
    float: right;
}

/*
 * Side navigation
 *
 * Scrollspy and affixed enhanced navigation to highlight sections and secondary
 * sections of docs content.
 */

/* By default it's not affixed in mobile views, so undo that */
.bs-sidebar.affix {
    position: static;
}

.bs-sidebar.well {
    padding: 0;
}

/* First level of nav */
.bs-sidenav {
    margin-top: 30px;
    margin-bottom: 30px;
    padding-top:    10px;
    padding-bottom: 10px;
    border-radius: 5px;
}

/* All levels of nav */
.bs-sidebar .nav > li > a {
    display: block;
    padding: 5px 20px;
    z-index: 1;
}
.bs-sidebar .nav > li > a:hover,
.bs-sidebar .nav > li > a:focus {
    text-decoration: none;
    border-right: 1px solid;
}
.bs-sidebar .nav > .active > a,
.bs-sidebar .nav > .active:hover > a,
.bs-sidebar .nav > .active:focus > a {
    font-weight: bold;
    background-color: transparent;
    border-right: 1px solid;
}

/* Nav: second level (shown on .active) */
.bs-sidebar .nav .nav {
    display: none; /* Hide by default, but at >768px, show it */
    margin-bottom: 8px;
}
.bs-sidebar .nav .nav > li > a {
    padding-top:    3px;
    padding-bottom: 3px;
    padding-left: 30px;
    font-size: 90%;
}

/* Show and affix the side nav when space allows it */
@media (min-width: 992px) {
    /* Allow the sidebar to scroll if it overflows the page. */
    .bs-sidebar {
        overflow-y: scroll;
    }

    .bs-sidebar .nav > .active > ul {
        display: block;
    }
    /* Widen the fixed sidebar */
    .bs-sidebar.affix,
    .bs-sidebar.affix-bottom {
        width: 213px;
    }
    .bs-sidebar.affix {
        position: fixed; /* Undo the static from mobile first approach */
        top: 80px;
        max-height: calc(100% - 90px);
    }
    .bs-sidebar.affix-bottom {
        position: absolute; /* Undo the static from mobile first approach */
    }
    .bs-sidebar.affix-bottom .bs-sidenav,
    .bs-sidebar.affix .bs-sidenav {
        margin-top: 0;
        margin-bottom: 0;
    }
}
@media (min-width: 1200px) {
    /* Widen the fixed sidebar again */
    .bs-sidebar.affix-bottom,
    .bs-sidebar.affix {
        width: 263px;
    }
}


/* Added to support >2 level nav in drop down */

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: 0px;
    margin-left: 0px;
}

.dropdown-submenu:hover>.dropdown-menu {
    display: block;
}

.dropdown-submenu>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu:hover>a:after {
    border-left-color: #fff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 00px;
}
/* Start Bootstrap Callouts CSS Source by Chris Pratt (https://codepen.io/chrisdpratt/pen/IAymB) MIT License*/
.bs-callout {
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #eee;
    border-left-width: 5px;
    border-radius: 3px;
    background-color: #FCFDFF;
}
.bs-callout h4 {
    font-style: normal;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 5px;
}
.bs-callout p:last-child {
    margin-bottom: 0;
}
.bs-callout code {
    border-radius: 3px;
}
.bs-callout+.bs-callout {
    margin-top: -5px;
}
.bs-callout-default {
    border-left-color: #FA023C; /*modified from upstream default by Christopher Simpkins*/
}
.bs-callout-default h4 {
    color: #FA023C; /*modified from upstream default by Christopher Simpkins*/
}
.bs-callout-primary {
    border-left-color: #428bca;
}
.bs-callout-primary h4 {
    color: #428bca;
}
.bs-callout-success {
    border-left-color: #5cb85c;
}
.bs-callout-success h4 {
    color: #5cb85c;
}
.bs-callout-danger {
    border-left-color: #d9534f;
}
.bs-callout-danger h4 {
    color: #d9534f;
}
.bs-callout-warning {
    border-left-color: #f0ad4e;
}
.bs-callout-warning h4 {
    color: #f0ad4e;
}
.bs-callout-info {
    border-left-color: #5bc0de;
}
.bs-callout-info h4 {
    color: #5bc0de;
}
/* End Bootstrap Callouts CSS Source by Chris Pratt */

/* Admonitions */
.admonition {
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #eee;
    border-left-width: 5px;
    border-radius: 3px;
    background-color: #FCFDFF;
}

.admonition p:last-child {
    margin-bottom: 0;
}
.admonition code {
    border-radius: 3px;
}
.admonition+.admonition {
    margin-top: -5px;
}

.admonition.note { /* csslint allow: adjoining-classes */
    border-left-color: #428bca;
}

.admonition.warning { /* csslint allow: adjoining-classes */
    border-left-color: #f0ad4e;
}

.admonition.danger { /* csslint allow: adjoining-classes */
    border-left-color: #d9534f;
}

.admonition-title {
    font-size: 19px;
    font-style: normal;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 5px;
}

.admonition.note > .admonition-title {
    color: #428bca;
}

.admonition.warning > .admonition-title {
    color: #f0ad4e;
}

.admonition.danger > .admonition-title {
    color: #d9534f;
}


================================================
FILE: docs/cinder/css/bootstrap-custom.css
================================================
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}
audio, canvas, video {
    display: inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden], template {
    display: none;
}
html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%}
body {
    margin: 0;
}
a {
    background: transparent;
}
a:focus {
    outline: thin dotted;
}
a:active, a:hover {
    outline: 0;
}
h1 {
    margin: .67em 0;
    font-size: 2em;
}
abbr[title] {
    border-bottom: 1px dotted;
}
b, strong {
    font-weight: bold;
}
dfn {
    font-style: italic;
}
hr {
    height: 0;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
mark {
    color: #000;
    background: #ff0;
}
code, kbd, pre, samp {
    font-family: Hack, monospace, serif;
    font-size: 1em;
}
pre {
    white-space: pre-wrap;
}
q {
    quotes: "\201C" "\201D" "\2018" "\2019"}
small {
    font-size: 80%}
sub, sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}
img {
    border: 0;
}
svg:not(:root) {
    overflow: hidden;
}
figure {
    margin: 0;
}
fieldset {
    padding: .35em .625em .75em;
    margin: 0 2px;
    border: 1px solid #c0c0c0;
}
legend {
    padding: 0;
    border: 0;
}
button, input, select, textarea {
    margin: 0;
    font-family: inherit;
    font-size: 100%}
button, input {
    line-height: normal;
}
button, select {
    text-transform: none;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}
button[disabled], html input[disabled] {
    cursor: default;
}
input[type="checkbox"], input[type="radio"] {
    padding: 0;
    box-sizing: border-box;
}
input[type="search"] {
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
button::-moz-focus-inner, input::-moz-focus-inner {
    padding: 0;
    border: 0;
}
textarea {
    overflow: auto;
    vertical-align: top;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
@media print {
    * {
    color: #000!important;
    text-shadow: none!important;
    background: transparent!important;
    box-shadow: none!important;
}
a, a:visited {
    text-decoration: underline;
}
a[href]:after {
    content: " (" attr(href) ")"}
abbr[title]:after {
    content: " (" attr(title) ")"}
a[href^="javascript:"]:after, a[href^="#"]:after {
    content: ""}
pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
}
thead {
    display: table-header-group;
}
tr, img {
    page-break-inside: avoid;
}
img {
    max-width: 100%!important;
}
@page {
    margin: 2cm .5cm;
}
p, h2, h3 {
    orphans: 3;
    widows: 3;
}
h2, h3 {
    page-break-after: avoid;
}
select {
    background: #fff!important;
}
.navbar {
    display: none;
}
.table td, .table th {
    background-color: #fff!important;
}
.btn>.caret, .dropup>.btn>.caret {
    border-top-color: #000!important;
}
.label {
    border: 1px solid #000;
}
.table {
    border-collapse: collapse!important;
}
.table-bordered th, .table-bordered td {
    border: 1px solid #ddd!important;
}
}*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    font-size: 62.5%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
    font-family: Merriweather, Georgia, serif;
    font-size: 14px;
    line-height: 1.428571429;
    color: #222;
    background-color: #fff;
}
input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
a {
    color: #008cba;
    text-decoration: none;
}
a:hover, a:focus {
    color: #00526e;
    text-decoration: underline;
}
a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}
img {
    vertical-align: middle;
}
.img-responsive {
    display: block;
    height: auto;
    max-width: 100%}
.img-rounded {
    border-radius: 0;
}
.img-thumbnail {
    display: inline-block;
    height: auto;
    max-width: 100%;
    padding: 4px;
    line-height: 1.428571429;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 0;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
.img-circle {
    border-radius: 50%}
hr {
    margin-top: 21px;
    margin-bottom: 21px;
    border: 0;
    border-top: 1px solid #ddd;
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300;
    line-height: 1.1;
    color: inherit;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
    font-weight: normal;
    line-height: 1;
    color: #999;
}
h1, h2, h3 {
    margin-top: 21px;
    margin-bottom: 10.5px;
}
h1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small {
    font-size: 65%}
h4, h5, h6 {
    margin-top: 10.5px;
    margin-bottom: 10.5px;
}
h4 small, h5 small, h6 small, h4 .small, h5 .small, h6 .small {
    font-size: 75%}
h1, .h1 {
    font-size: 39px;
}
h2, .h2 {
    font-size: 32px;
}
h3, .h3 {
    font-size: 26px;
}
h4, .h4 {
    font-size: 19px;
}
h5, .h5 {
    font-size: 15px;
}
h6, .h6 {
    font-size: 13px;
}
p {
    margin: 0 0 10.5px;
}
.lead {
    margin-bottom: 21px;
    font-size: 17px;
    font-weight: 200;
    line-height: 1.4;
}
@media(min-width:768px) {
    .lead {
    font-size: 22.5px;
}
}small, .small {
    font-size: 85%}
cite {
    font-style: normal;
}
.text-muted {
    color: #999;
}
.text-primary {
    color: #008cba;
}
.text-primary:hover {
    color: #006687;
}
.text-warning {
    color: #e99002;
}
.text-warning:hover {
    color: #b67102;
}
.text-danger {
    color: #f04124;
}
.text-danger:hover {
    color: #d32a0e;
}
.text-success {
    color: #43ac6a;
}
.text-success:hover {
    color: #358753;
}
.text-info {
    color: #5bc0de;
}
.text-info:hover {
    color: #31b0d5;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
.text-center {
    text-align: center;
}
.page-header {
    padding-bottom: 9.5px;
    margin: 42px 0 21px;
    border-bottom: 1px solid #ddd;
}
ul, ol {
    margin-top: 0;
    margin-bottom: 10.5px;
}
ul ul, ol ul, ul ol, ol ol {
    margin-bottom: 0;
}
.list-unstyled {
    padding-left: 0;
    list-style: none;
}
.list-inline {
    padding-left: 0;
    list-style: none;
}
.list-inline>li {
    display: inline-block;
    padding-right: 5px;
    padding-left: 5px;
}
.list-inline>li:first-child {
    padding-left: 0;
}
dl {
    margin-top: 0;
    margin-bottom: 21px;
}
dt, dd {
    line-height: 1.428571429;
}
dt {
    font-weight: bold;
}
dd {
    margin-left: 0;
}
@media(min-width:768px) {
    .dl-horizontal dt {
    float: left;
    width: 160px;
    overflow: hidden;
    clear: left;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dl-horizontal dd {
    margin-left: 180px;
}
.dl-horizontal dd:before, .dl-horizontal dd:after {
    display: table;
    content: " "}
.dl-horizontal dd:after {
    clear: both;
}
.dl-horizontal dd:before, .dl-horizontal dd:after {
    display: table;
    content: " "}
.dl-horizontal dd:after {
    clear: both;
}
.dl-horizontal dd:before, .dl-horizontal dd:after {
    display: table;
    content: " "}
.dl-horizontal dd:after {
    clear: both;
}
.dl-horizontal dd:before, .dl-horizontal dd:after {
    display: table;
    content: " "}
.dl-horizontal dd:after {
    clear: both;
}
.dl-horizontal dd:before, .dl-horizontal dd:after {
    display: table;
    content: " "}
.dl-horizontal dd:after {
    clear: both;
}
}abbr[title], abbr[data-original-title] {
    cursor: help;
    border-bottom: 1px dotted #999;
}
.initialism {
    font-size: 90%;
    text-transform: uppercase;
}
blockquote {
    padding: 10.5px 21px;
    margin: 0 0 21px;
    border-left: 5px solid #ddd;
}
blockquote p {
    font-size: 18.75px;
    font-weight: 300;
    line-height: 1.25;
}
blockquote p:last-child {
    margin-bottom: 0;
}
blockquote small, blockquote .small {
    display: block;
    line-height: 1.428571429;
    color: #6f6f6f;
}
blockquote small:before, blockquote .small:before {
    content: '\2014 \00A0'}
blockquote.pull-right {
    padding-right: 15px;
    padding-left: 0;
    border-right: 5px solid #ddd;
    border-left: 0;
}
blockquote.pull-right p, blockquote.pull-right small, blockquote.pull-right .small {
    text-align: right;
}
blockquote.pull-right small:before, blockquote.pull-right .small:before {
    content: ''}
blockquote.pull-right small:after, blockquote.pull-right .small:after {
    content: '\00A0 \2014'}
blockquote:before, blockquote:after {
    content: ""}
address {
    margin-bottom: 21px;
    font-style: normal;
    line-height: 1.428571429;
}
code, kbd, pre, samp {
    font-family: Hack, Menlo, Monaco, Consolas, "Courier New", monospace;
}
code {
    padding: 2px 4px;
    font-size: 90%;
    color: #c7254e;
    white-space: nowrap;
    background-color: #f9f2f4;
    border-radius: 0;
}
pre {
    display: block;
    padding: 10px;
    margin: 0 0 10.5px;
    font-size: 14px;
    line-height: 1.428571429;
    color: #333;
    word-break: break-all;
    word-wrap: break-word;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 0;
}
pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    white-space: pre-wrap;
    background-color: transparent;
    border-radius: 0;
}
.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll;
}
.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
.container:before, .container:after {
    display: table;
    content: " "}
.container:after {
    clear: both;
}
.container:before, .container:after {
    display: table;
    content: " "}
.container:after {
    clear: both;
}
.container:before, .container:after {
    display: table;
    content: " "}
.container:after {
    clear: both;
}
.container:before, .container:after {
    display: table;
    content: " "}
.container:after {
    clear: both;
}
.container:before, .container:after {
    display: table;
    content: " "}
.container:after {
    clear: both;
}
@media(min-width:768px) {
    .container {
    width: 750px;
}
}@media(min-width:992px) {
    .container {
    width: 970px;
}
}@media(min-width:1200px) {
    .container {
    width: 1170px;
}
}.row {
    margin-right: -15px;
    margin-left: -15px;
}
.row:before, .row:after {
    display: table;
    content: " "}
.row:after {
    clear: both;
}
.row:before, .row:after {
    display: table;
    content: " "}
.row:after {
    clear: both;
}
.row:before, .row:after {
    display: table;
    content: " "}
.row:after {
    clear: both;
}
.row:before, .row:after {
    display: table;
    content: " "}
.row:after {
    clear: both;
}
.row:before, .row:after {
    display: table;
    content: " "}
.row:after {
    clear: both;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    float: left;
}
.col-xs-12 {
    width: 100%}
.col-xs-11 {
    width: 91.66666666666666%}
.col-xs-10 {
    width: 83.33333333333334%}
.col-xs-9 {
    width: 75%}
.col-xs-8 {
    width: 66.66666666666666%}
.col-xs-7 {
    width: 58.333333333333336%}
.col-xs-6 {
    width: 50%}
.col-xs-5 {
    width: 41.66666666666667%}
.col-xs-4 {
    width: 33.33333333333333%}
.col-xs-3 {
    width: 25%}
.col-xs-2 {
    width: 16.666666666666664%}
.col-xs-1 {
    width: 8.333333333333332%}
.col-xs-pull-12 {
    right: 100%}
.col-xs-pull-11 {
    right: 91.66666666666666%}
.col-xs-pull-10 {
    right: 83.33333333333334%}
.col-xs-pull-9 {
    right: 75%}
.col-xs-pull-8 {
    right: 66.66666666666666%}
.col-xs-pull-7 {
    right: 58.333333333333336%}
.col-xs-pull-6 {
    right: 50%}
.col-xs-pull-5 {
    right: 41.66666666666667%}
.col-xs-pull-4 {
    right: 33.33333333333333%}
.col-xs-pull-3 {
    right: 25%}
.col-xs-pull-2 {
    right: 16.666666666666664%}
.col-xs-pull-1 {
    right: 8.333333333333332%}
.col-xs-pull-0 {
    right: 0;
}
.col-xs-push-12 {
    left: 100%}
.col-xs-push-11 {
    left: 91.66666666666666%}
.col-xs-push-10 {
    left: 83.33333333333334%}
.col-xs-push-9 {
    left: 75%}
.col-xs-push-8 {
    left: 66.66666666666666%}
.col-xs-push-7 {
    left: 58.333333333333336%}
.col-xs-push-6 {
    left: 50%}
.col-xs-push-5 {
    left: 41.66666666666667%}
.col-xs-push-4 {
    left: 33.33333333333333%}
.col-xs-push-3 {
    left: 25%}
.col-xs-push-2 {
    left: 16.666666666666664%}
.col-xs-push-1 {
    left: 8.333333333333332%}
.col-xs-push-0 {
    left: 0;
}
.col-xs-offset-12 {
    margin-left: 100%}
.col-xs-offset-11 {
    margin-left: 91.66666666666666%}
.col-xs-offset-10 {
    margin-left: 83.33333333333334%}
.col-xs-offset-9 {
    margin-left: 75%}
.col-xs-offset-8 {
    margin-left: 66.66666666666666%}
.col-xs-offset-7 {
    margin-left: 58.333333333333336%}
.col-xs-offset-6 {
    margin-left: 50%}
.col-xs-offset-5 {
    margin-left: 41.66666666666667%}
.col-xs-offset-4 {
    margin-left: 33.33333333333333%}
.col-xs-offset-3 {
    margin-left: 25%}
.col-xs-offset-2 {
    margin-left: 16.666666666666664%}
.col-xs-offset-1 {
    margin-left: 8.333333333333332%}
.col-xs-offset-0 {
    margin-left: 0;
}
@media(min-width:768px) {
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
}
.col-sm-12 {
    width: 100%}
.col-sm-11 {
    width: 91.66666666666666%}
.col-sm-10 {
    width: 83.33333333333334%}
.col-sm-9 {
    width: 75%}
.col-sm-8 {
    width: 66.66666666666666%}
.col-sm-7 {
    width: 58.333333333333336%}
.col-sm-6 {
    width: 50%}
.col-sm-5 {
    width: 41.66666666666667%}
.col-sm-4 {
    width: 33.33333333333333%}
.col-sm-3 {
    width: 25%}
.col-sm-2 {
    width: 16.666666666666664%}
.col-sm-1 {
    width: 8.333333333333332%}
.col-sm-pull-12 {
    right: 100%}
.col-sm-pull-11 {
    right: 91.66666666666666%}
.col-sm-pull-10 {
    right: 83.33333333333334%}
.col-sm-pull-9 {
    right: 75%}
.col-sm-pull-8 {
    right: 66.66666666666666%}
.col-sm-pull-7 {
    right: 58.333333333333336%}
.col-sm-pull-6 {
    right: 50%}
.col-sm-pull-5 {
    right: 41.66666666666667%}
.col-sm-pull-4 {
    right: 33.33333333333333%}
.col-sm-pull-3 {
    right: 25%}
.col-sm-pull-2 {
    right: 16.666666666666664%}
.col-sm-pull-1 {
    right: 8.333333333333332%}
.col-sm-pull-0 {
    right: 0;
}
.col-sm-push-12 {
    left: 100%}
.col-sm-push-11 {
    left: 91.66666666666666%}
.col-sm-push-10 {
    left: 83.33333333333334%}
.col-sm-push-9 {
    left: 75%}
.col-sm-push-8 {
    left: 66.66666666666666%}
.col-sm-push-7 {
    left: 58.333333333333336%}
.col-sm-push-6 {
    left: 50%}
.col-sm-push-5 {
    left: 41.66666666666667%}
.col-sm-push-4 {
    left: 33.33333333333333%}
.col-sm-push-3 {
    left: 25%}
.col-sm-push-2 {
    left: 16.666666666666664%}
.col-sm-push-1 {
    left: 8.333333333333332%}
.col-sm-push-0 {
    left: 0;
}
.col-sm-offset-12 {
    margin-left: 100%}
.col-sm-offset-11 {
    margin-left: 91.66666666666666%}
.col-sm-offset-10 {
    margin-left: 83.33333333333334%}
.col-sm-offset-9 {
    margin-left: 75%}
.col-sm-offset-8 {
    margin-left: 66.66666666666666%}
.col-sm-offset-7 {
    margin-left: 58.333333333333336%}
.col-sm-offset-6 {
    margin-left: 50%}
.col-sm-offset-5 {
    margin-left: 41.66666666666667%}
.col-sm-offset-4 {
    margin-left: 33.33333333333333%}
.col-sm-offset-3 {
    margin-left: 25%}
.col-sm-offset-2 {
    margin-left: 16.666666666666664%}
.col-sm-offset-1 {
    margin-left: 8.333333333333332%}
.col-sm-offset-0 {
    margin-left: 0;
}
}@media(min-width:992px) {
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
}
.col-md-12 {
    width: 100%}
.col-md-11 {
    width: 91.66666666666666%}
.col-md-10 {
    width: 83.33333333333334%}
.col-md-9 {
    width: 75%}
.col-md-8 {
    width: 66.66666666666666%}
.col-md-7 {
    width: 58.333333333333336%}
.col-md-6 {
    width: 50%}
.col-md-5 {
    width: 41.66666666666667%}
.col-md-4 {
    width: 33.33333333333333%}
.col-md-3 {
    width: 25%}
.col-md-2 {
    width: 16.666666666666664%}
.col-md-1 {
    width: 8.333333333333332%}
.col-md-pull-12 {
    right: 100%}
.col-md-pull-11 {
    right: 91.66666666666666%}
.col-md-pull-10 {
    right: 83.33333333333334%}
.col-md-pull-9 {
    right: 75%}
.col-md-pull-8 {
    right: 66.66666666666666%}
.col-md-pull-7 {
    right: 58.333333333333336%}
.col-md-pull-6 {
    right: 50%}
.col-md-pull-5 {
    right: 41.66666666666667%}
.col-md-pull-4 {
    right: 33.33333333333333%}
.col-md-pull-3 {
    right: 25%}
.col-md-pull-2 {
    right: 16.666666666666664%}
.col-md-pull-1 {
    right: 8.333333333333332%}
.col-md-pull-0 {
    right: 0;
}
.col-md-push-12 {
    left: 100%}
.col-md-push-11 {
    left: 91.66666666666666%}
.col-md-push-10 {
    left: 83.33333333333334%}
.col-md-push-9 {
    left: 75%}
.col-md-push-8 {
    left: 66.66666666666666%}
.col-md-push-7 {
    left: 58.333333333333336%}
.col-md-push-6 {
    left: 50%}
.col-md-push-5 {
    left: 41.66666666666667%}
.col-md-push-4 {
    left: 33.33333333333333%}
.col-md-push-3 {
    left: 25%}
.col-md-push-2 {
    left: 16.666666666666664%}
.col-md-push-1 {
    left: 8.333333333333332%}
.col-md-push-0 {
    left: 0;
}
.col-md-offset-12 {
    margin-left: 100%}
.col-md-offset-11 {
    margin-left: 91.66666666666666%}
.col-md-offset-10 {
    margin-left: 83.33333333333334%}
.col-md-offset-9 {
    margin-left: 75%}
.col-md-offset-8 {
    margin-left: 66.66666666666666%}
.col-md-offset-7 {
    margin-left: 58.333333333333336%}
.col-md-offset-6 {
    margin-left: 50%}
.col-md-offset-5 {
    margin-left: 41.66666666666667%}
.col-md-offset-4 {
    margin-left: 33.33333333333333%}
.col-md-offset-3 {
    margin-left: 25%}
.col-md-offset-2 {
    margin-left: 16.666666666666664%}
.col-md-offset-1 {
    margin-left: 8.333333333333332%}
.col-md-offset-0 {
    margin-left: 0;
}
}@media(min-width:1200px) {
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
}
.col-lg-12 {
    width: 100%}
.col-lg-11 {
    width: 91.66666666666666%}
.col-lg-10 {
    width: 83.33333333333334%}
.col-lg-9 {
    width: 75%}
.col-lg-8 {
    width: 66.66666666666666%}
.col-lg-7 {
    width: 58.333333333333336%}
.col-lg-6 {
    width: 50%}
.col-lg-5 {
    width: 41.66666666666667%}
.col-lg-4 {
    width: 33.33333333333333%}
.col-lg-3 {
    width: 25%}
.col-lg-2 {
    width: 16.666666666666664%}
.col-lg-1 {
    width: 8.333333333333332%}
.col-lg-pull-12 {
    right: 100%}
.col-lg-pull-11 {
    right: 91.66666666666666%}
.col-lg-pull-10 {
    right: 83.33333333333334%}
.col-lg-pull-9 {
    right: 75%}
.col-lg-pull-8 {
    right: 66.66666666666666%}
.col-lg-pull-7 {
    right: 58.333333333333336%}
.col-lg-pull-6 {
    right: 50%}
.col-lg-pull-5 {
    right: 41.66666666666667%}
.col-lg-pull-4 {
    right: 33.33333333333333%}
.col-lg-pull-3 {
    right: 25%}
.col-lg-pull-2 {
    right: 16.666666666666664%}
.col-lg-pull-1 {
    right: 8.333333333333332%}
.col-lg-pull-0 {
    right: 0;
}
.col-lg-push-12 {
    left: 100%}
.col-lg-push-11 {
    left: 91.66666666666666%}
.col-lg-push-10 {
    left: 83.33333333333334%}
.col-lg-push-9 {
    left: 75%}
.col-lg-push-8 {
    left: 66.66666666666666%}
.col-lg-push-7 {
    left: 58.333333333333336%}
.col-lg-push-6 {
    left: 50%}
.col-lg-push-5 {
    left: 41.66666666666667%}
.col-lg-push-4 {
    left: 33.33333333333333%}
.col-lg-push-3 {
    left: 25%}
.col-lg-push-2 {
    left: 16.666666666666664%}
.col-lg-push-1 {
    left: 8.333333333333332%}
.col-lg-push-0 {
    left: 0;
}
.col-lg-offset-12 {
    margin-left: 100%}
.col-lg-offset-11 {
    margin-left: 91.66666666666666%}
.col-lg-offset-10 {
    margin-left: 83.33333333333334%}
.col-lg-offset-9 {
    margin-left: 75%}
.col-lg-offset-8 {
    margin-left: 66.66666666666666%}
.col-lg-offset-7 {
    margin-left: 58.333333333333336%}
.col-lg-offset-6 {
    margin-left: 50%}
.col-lg-offset-5 {
    margin-left: 41.66666666666667%}
.col-lg-offset-4 {
    margin-left: 33.33333333333333%}
.col-lg-offset-3 {
    margin-left: 25%}
.col-lg-offset-2 {
    margin-left: 16.666666666666664%}
.col-lg-offset-1 {
    margin-left: 8.333333333333332%}
.col-lg-offset-0 {
    margin-left: 0;
}
}table {
    max-width: 100%;
    background-color: transparent;
}
th {
    text-align: left;
}
.table {
    width: 100%;
    margin-bottom: 21px;
}
.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td, .table>tbody>tr>td, .table>tfoot>tr>td {
    padding: 8px;
    line-height: 1.428571429;
    vertical-align: top;
    border-top: 1px solid #ddd;
}
.table>thead>tr>th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd;
}
.table>caption+thead>tr:first-child>th, .table>colgroup+thead>tr:first-child>th, .table>thead:first-child>tr:first-child>th, .table>caption+thead>tr:first-child>td, .table>colgroup+thead>tr:first-child>td, .table>thead:first-child>tr:first-child>td {
    border-top: 0;
}
.table>tbody+tbody {
    border-top: 2px solid #ddd;
}
.table .table {
    background-color: #fff;
}
.table-condensed>thead>tr>th, .table-condensed>tbody>tr>th, .table-condensed>tfoot>tr>th, .table-condensed>thead>tr>td, .table-condensed>tbody>tr>td, .table-condensed>tfoot>tr>td {
    padding: 5px;
}
.table-bordered {
    border: 1px solid #ddd;
}
.table-bordered>thead>tr>th, .table-bordered>tbody>tr>th, .table-bordered>tfoot>tr>th, .table-bordered>thead>tr>td, .table-bordered>tbody>tr>td, .table-bordered>tfoot>tr>td {
    border: 1px solid #ddd;
}
.table-bordered>thead>tr>th, .table-bordered>thead>tr>td {
    border-bottom-width: 2px;
}
.table-striped>tbody>tr:nth-child(odd)>td, .table-striped>tbody>tr:nth-child(odd)>th {
    background-color: #f9f9f9;
}
.table-hover>tbody>tr:hover>td, .table-hover>tbody>tr:hover>th {
    background-color: #f5f5f5;
}
table col[class*="col-"] {
    position: static;
    display: table-column;
    float: none;
}
table td[class*="col-"], table th[class*="col-"] {
    display: table-cell;
    float: none;
}
.table>thead>tr>.active, .table>tbody>tr>.active, .table>tfoot>tr>.active, .table>thead>.active>td, .table>tbody>.active>td, .table>tfoot>.active>td, .table>thead>.active>th, .table>tbody>.active>th, .table>tfoot>.active>th {
    background-color: #f5f5f5;
}
.table-hover>tbody>tr>.active:hover, .table-hover>tbody>.active:hover>td, .table-hover>tbody>.active:hover>th {
    background-color: #e8e8e8;
}
.table>thead>tr>.success, .table>tbody>tr>.success, .table>tfoot>tr>.success, .table>thead>.success>td, .table>tbody>.success>td, .table>tfoot>.success>td, .table>thead>.success>th, .table>tbody>.success>th, .table>tfoot>.success>th {
    background-color: #dff0d8;
}
.table-hover>tbody>tr>.success:hover, .table-hover>tbody>.success:hover>td, .table-hover>tbody>.success:hover>th {
    background-color: #d0e9c6;
}
.table>thead>tr>.danger, .table>tbody>tr>.danger, .table>tfoot>tr>.danger, .table>thead>.danger>td, .table>tbody>.danger>td, .table>tfoot>.danger>td, .table>thead>.danger>th, .table>tbody>.danger>th, .table>tfoot>.danger>th {
    background-color: #f2dede;
}
.table-hover>tbody>tr>.danger:hover, .table-hover>tbody>.danger:hover>td, .table-hover>tbody>.danger:hover>th {
    background-color: #ebcccc;
}
.table>thead>tr>.warning, .table>tbody>tr>.warning, .table>tfoot>tr>.warning, .table>thead>.warning>td, .table>tbody>.warning>td, .table>tfoot>.warning>td, .table>thead>.warning>th, .table>tbody>.warning>th, .table>tfoot>.warning>th {
    background-color: #fcf8e3;
}
.table-hover>tbody>tr>.warning:hover, .table-hover>tbody>.warning:hover>td, .table-hover>tbody>.warning:hover>th {
    background-color: #faf2cc;
}
@media(max-width:767px) {
    .table-responsive {
    width: 100%;
    margin-bottom: 15.75px;
    overflow-x: scroll;
    overflow-y: hidden;
    border: 1px solid #ddd;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    -webkit-overflow-scrolling: touch;
}
.table-responsive>.table {
    margin-bottom: 0;
}
.table-responsive>.table>thead>tr>th, .table-responsive>.table>tbody>tr>th, .table-responsive>.table>tfoot>tr>th, .table-responsive>.table>thead>tr>td, .table-responsive>.table>tbody>tr>td, .table-responsive>.table>tfoot>tr>td {
    white-space: nowrap;
}
.table-responsive>.table-bordered {
    border: 0;
}
.table-responsive>.table-bordered>thead>tr>th:first-child, .table-responsive>.table-bordered>tbody>tr>th:first-child, .table-responsive>.table-bordered>tfoot>tr>th:first-child, .table-responsive>.table-bordered>thead>tr>td:first-child, .table-responsive>.table-bordered>tbody>tr>td:first-child, .table-responsive>.table-bordered>tfoot>tr>td:first-child {
    border-left: 0;
}
.table-responsive>.table-bordered>thead>tr>th:last-child, .table-responsive>.table-bordered>tbody>tr>th:last-child, .table-responsive>.table-bordered>tfoot>tr>th:last-child, .table-responsive>.table-bordered>thead>tr>td:last-child, .table-responsive>.table-bordered>tbody>tr>td:last-child, .table-responsive>.table-bordered>tfoot>tr>td:last-child {
    border-right: 0;
}
.table-responsive>.table-bordered>tbody>tr:last-child>th, .table-responsive>.table-bordered>tfoot>tr:last-child>th, .table-responsive>.table-bordered>tbody>tr:last-child>td, .table-responsive>.table-bordered>tfoot>tr:last-child>td {
    border-bottom: 0;
}
}fieldset {
    padding: 0;
    margin: 0;
    border: 0;
}
legend {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: 21px;
    font-size: 22.5px;
    line-height: inherit;
    color: #333;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
}
label {
    display: inline-block;
    margin-bottom: 5px;
    font-weight: bold;
}
input[type="search"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
input[type="radio"], input[type="checkbox"] {
    margin: 4px 0 0;
    margin-top: 1px \9;
    line-height: normal;
}
input[type="file"] {
    display: block;
}
select[multiple], select[size] {
    height: auto;
}
select optgroup {
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
}
input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}
input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
    height: auto;
}
output {
    display: block;
    padding-top: 7px;
    font-size: 15px;
    line-height: 1.428571429;
    color: #6f6f6f;
    vertical-align: middle;
}
.form-control {
    display: block;
    width: 100%;
    height: 35px;
    padding: 6px 12px;
    font-size: 15px;
    line-height: 1.428571429;
    color: #6f6f6f;
    vertical-align: middle;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control:-moz-placeholder {
    color: #999;
}
.form-control::-moz-placeholder {
    color: #999;
    opacity: 1;
}
.form-control:-ms-input-placeholder {
    color: #999;
}
.form-control::-webkit-input-placeholder {
    color: #999;
}
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    cursor: not-allowed;
    background-color: #eee;
}
textarea.form-control {
    height: auto;
}
.form-group {
    margin-bottom: 15px;
}
.radio, .checkbox {
    display: block;
    min-height: 21px;
    padding-left: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
    vertical-align: middle;
}
.radio label, .checkbox label {
    display: inline;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer;
}
.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] {
    float: left;
    margin-left: -20px;
}
.radio+.radio, .checkbox+.checkbox {
    margin-top: -5px;
}
.radio-inline, .checkbox-inline {
    display: inline-block;
    padding-left: 20px;
    margin-bottom: 0;
    font-weight: normal;
    vertical-align: middle;
    cursor: pointer;
}
.radio-inline+.radio-inline, .checkbox-inline+.checkbox-inline {
    margin-top: 0;
    margin-left: 10px;
}
input[type="radio"][disabled], input[type="checkbox"][disabled], .radio[disabled], .radio-inline[disabled], .checkbox[disabled], .checkbox-inline[disabled], fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"], fieldset[disabled] .radio, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox, fieldset[disabled] .checkbox-inline {
    cursor: not-allowed;
}
.input-sm {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 0;
}
select.input-sm {
    height: 30px;
    line-height: 30px;
}
textarea.input-sm {
    height: auto;
}
.input-lg {
    height: 48px;
    padding: 10px 16px;
    font-size: 19px;
    line-height: 1.33;
    border-radius: 0;
}
select.input-lg {
    height: 48px;
    line-height: 48px;
}
textarea.input-lg {
    height: auto;
}
.has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline {
    color: #e99002;
}
.has-warning .form-control {
    border-color: #e99002;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
    border-color: #b67102;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #febc53;
}
.has-warning .input-group-addon {
    color: #e99002;
    background-color: #fcf8e3;
    border-color: #e99002;
}
.has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline {
    color: #f04124;
}
.has-error .form-control {
    border-color: #f04124;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
    border-color: #d32a0e;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f79483;
}
.has-error .input-group-addon {
    color: #f04124;
    background-color: #f2dede;
    border-color: #f04124;
}
.has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline {
    color: #43ac6a;
}
.has-success .form-control {
    border-color: #43ac6a;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
    border-color: #358753;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #85d0a1;
}
.has-success .input-group-addon {
    color: #43ac6a;
    background-color: #dff0d8;
    border-color: #43ac6a;
}
.form-control-static {
    margin-bottom: 0;
}
.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #626262;
}
@media(min-width:768px) {
    .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
}
.form-inline .form-control {
    display: inline-block;
}
.form-inline select.form-control {
    width: auto;
}
.form-inline .radio, .form-inline .checkbox {
    display: inline-block;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
}
.form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] {
    float: none;
    margin-left: 0;
}
}.form-horizontal .control-label, .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline {
    padding-top: 7px;
    margin-top: 0;
    margin-bottom: 0;
}
.form-horizontal .radio, .form-horizontal .checkbox {
    min-height: 28px;
}
.form-horizontal .form-group {
    margin-right: -15px;
    margin-left: -15px;
}
.form-horizontal .form-group:before, .form-horizontal .form-group:after {
    display: table;
    content: " "}
.form-horizontal .form-group:after {
    clear: both;
}
.form-horizontal .form-group:before, .form-horizontal .form-group:after {
    display: table;
    content: " "}
.form-horizontal .form-group:after {
    clear: both;
}
.form-horizontal .form-group:before, .form-horizontal .form-group:after {
    display: table;
    content: " "}
.form-horizontal .form-group:after {
    clear: both;
}
.form-horizontal .form-group:before, .form-horizontal .form-group:after {
    display: table;
    content: " "}
.form-horizontal .form-group:after {
    clear: both;
}
.form-horizontal .form-group:before, .form-horizontal .form-group:after {
    display: table;
    content: " "}
.form-horizontal .form-group:after {
    clear: both;
}
.form-horizontal .form-control-static {
    padding-top: 7px;
}
@media(min-width:768px) {
    .form-horizontal .control-label {
    text-align: right;
}
}.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.428571429;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
}
.btn:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}
.btn:hover, .btn:focus {
    color: #333;
    text-decoration: none;
}
.btn:active, .btn.active {
    background-image: none;
    outline: 0;
    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
    pointer-events: none;
    cursor: not-allowed;
    opacity: .65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none;
}
.btn-default {
    color: #333;
    background-color: #e7e7e7;
    border-color: #dadada;
}
.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
    color: #333;
    background-color: #d3d3d3;
    border-color: #bbb;
}
.btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
    background-image: none;
}
.btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active {
    background-color: #e7e7e7;
    border-color: #dadada;
}
.btn-default .badge {
    color: #e7e7e7;
    background-color: #fff;
}
.btn-primary {
    color: #fff;
    background-color: #008cba;
    border-color: #0079a1;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
    color: #fff;
    background-color: #006d91;
    border-color: #004b63;
}
.btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
    background-image: none;
}
.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active {
    background-color: #008cba;
    border-color: #0079a1;
}
.btn-primary .badge {
    color: #008cba;
    background-color: #fff;
}
.btn-warning {
    color: #fff;
    background-color: #e99002;
    border-color: #d08002;
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
    color: #fff;
    background-color: #c17702;
    border-color: #935b01;
}
.btn-warning:active, .btn-warning.active, .open .dropdown-toggle.btn-warning {
    background-image: none;
}
.btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active {
    background-color: #e99002;
    border-color: #d08002;
}
.btn-warning .badge {
    color: #e99002;
    background-color: #fff;
}
.btn-danger {
    color: #fff;
    background-color: #f04124;
    border-color: #ea2f10;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
    color: #fff;
    background-color: #dc2c0f;
    border-color: #b1240c;
}
.btn-danger:active, .btn-danger.active, .open .dropdown-toggle.btn-danger {
    background-image: none;
}
.btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active {
    background-color: #f04124;
    border-color: #ea2f10;
}
.btn-danger .badge {
    color: #f04124;
    background-color: #fff;
}
.btn-success {
    color: #fff;
    background-color: #43ac6a;
    border-color: #3c9a5f;
}
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
    color: #fff;
    background-color: #388f58;
    border-color: #2b6e44;
}
.btn-success:active, .btn-success.active, .open .dropdown-toggle.btn-success {
    background-image: none;
}
.btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active {
    background-color: #43ac6a;
    border-color: #3c9a5f;
}
.btn-success .badge {
    color: #43ac6a;
    background-color: #fff;
}
.btn-info {
    color: #fff;
    background-color: #5bc0de;
    border-color: #46b8da;
}
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
    color: #fff;
    background-color: #39b3d7;
    border-color: #269abc;
}
.btn-info:active, .btn-info.active, .open .dropdown-toggle.btn-info {
    background-image: none;
}
.btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active {
    background-color: #5bc0de;
    border-color: #46b8da;
}
.btn-info .badge {
    color: #5bc0de;
    background-color: #fff;
}
.btn-link {
    font-weight: normal;
    color: #008cba;
    cursor: pointer;
    border-radius: 0;
}
.btn-link, .btn-link:active, .btn-link[disabled], fieldset[disabled] .btn-link {
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
    border-color: transparent;
}
.btn-link:hover, .btn-link:focus {
    color: #00526e;
    text-decoration: underline;
    background-color: transparent;
}
.btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus {
    color: #999;
    text-decoration: none;
}
.btn-lg {
    padding: 10px 16px;
    font-size: 19px;
    line-height: 1.33;
    border-radius: 0;
}
.btn-sm {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 0;
}
.btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 0;
}
.btn-block {
    display: block;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}
.btn-block+.btn-block {
    margin-top: 5px;
}
input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
    width: 100%}
.fade {
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    transition: opacity .15s linear;
}
.fade.in {
    opacity: 1;
}
.collapse {
    display: none;
}
.collapse.in {
    display: block;
}
.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition: height .35s ease;
    transition: height .35s ease;
}
@font-face {
    font-family: 'Glyphicons Halflings';
    src: url('../fonts/glyphicons-halflings-regular.eot');
    src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}
.glyphicon {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -moz-osx-font-smoothing: grayscale;
}
.glyphicon:empty {
    width: 1em;
}
.glyphicon-asterisk:before {
    content: "\2a"}
.glyphicon-plus:before {
    content: "\2b"}
.glyphicon-euro:before {
    content: "\20ac"}
.glyphicon-minus:before {
    content: "\2212"}
.glyphicon-cloud:before {
    content: "\2601"}
.glyphicon-envelope:before {
    content: "\2709"}
.glyphicon-pencil:before {
    content: "\270f"}
.glyphicon-glass:before {
    content: "\e001"}
.glyphicon-music:before {
    content: "\e002"}
.glyphicon-search:before {
    content: "\e003"}
.glyphicon-heart:before {
    content: "\e005"}
.glyphicon-star:before {
    content: "\e006"}
.glyphicon-star-empty:before {
    content: "\e007"}
.glyphicon-user:before {
    content: "\e008"}
.glyphicon-film:before {
    content: "\e009"}
.glyphicon-th-large:before {
    content: "\e010"}
.glyphicon-th:before {
    content: "\e011"}
.glyphicon-th-list:before {
    content: "\e012"}
.glyphicon-ok:before {
    content: "\e013"}
.glyphicon-remove:before {
    content: "\e014"}
.glyphicon-zoom-in:before {
    content: "\e015"}
.glyphicon-zoom-out:before {
    content: "\e016"}
.glyphicon-off:before {
    content: "\e017"}
.glyphicon-signal:before {
    content: "\e018"}
.glyphicon-cog:before {
    content: "\e019"}
.glyphicon-trash:before {
    content: "\e020"}
.glyphicon-home:before {
    content: "\e021"}
.glyphicon-file:before {
    content: "\e022"}
.glyphicon-time:before {
    content: "\e023"}
.glyphicon-road:before {
    content: "\e024"}
.glyphicon-download-alt:before {
    content: "\e025"}
.glyphicon-download:before {
    content: "\e026"}
.glyphicon-upload:before {
    content: "\e027"}
.glyphicon-inbox:before {
    content: "\e028"}
.glyphicon-play-circle:before {
    content: "\e029"}
.glyphicon-repeat:before {
    content: "\e030"}
.glyphicon-refresh:before {
    content: "\e031"}
.glyphicon-list-alt:before {
    content: "\e032"}
.glyphicon-lock:before {
    content: "\e033"}
.glyphicon-flag:before {
    content: "\e034"}
.glyphicon-headphones:before {
    content: "\e035"}
.glyphicon-volume-off:before {
    content: "\e036"}
.glyphicon-volume-down:before {
    content: "\e037"}
.glyphicon-volume-up:before {
    content: "\e038"}
.glyphicon-qrcode:before {
    content: "\e039"}
.glyphicon-barcode:before {
    content: "\e040"}
.glyphicon-tag:before {
    content: "\e041"}
.glyphicon-tags:before {
    content: "\e042"}
.glyphicon-book:before {
    content: "\e043"}
.glyphicon-bookmark:before {
    content: "\e044"}
.glyphicon-print:before {
    content: "\e045"}
.glyphicon-camera:before {
    content: "\e046"}
.glyphicon-font:before {
    content: "\e047"}
.glyphicon-bold:before {
    content: "\e048"}
.glyphicon-italic:before {
    content: "\e049"}
.glyphicon-text-height:before {
    content: "\e050"}
.glyphicon-text-width:before {
    content: "\e051"}
.glyphicon-align-left:before {
    content: "\e052"}
.glyphicon-align-center:before {
    content: "\e053"}
.glyphicon-align-right:before {
    content: "\e054"}
.glyphicon-align-justify:before {
    content: "\e055"}
.glyphicon-list:before {
    content: "\e056"}
.glyphicon-indent-left:before {
    content: "\e057"}
.glyphicon-indent-right:before {
    content: "\e058"}
.glyphicon-facetime-video:before {
    content: "\e059"}
.glyphicon-picture:before {
    content: "\e060"}
.glyphicon-map-marker:before {
    content: "\e062"}
.glyphicon-adjust:before {
    content: "\e063"}
.glyphicon-tint:before {
    content: "\e064"}
.glyphicon-edit:before {
    content: "\e065"}
.glyphicon-share:before {
    content: "\e066"}
.glyphicon-check:before {
    content: "\e067"}
.glyphicon-move:before {
    content: "\e068"}
.glyphicon-step-backward:before {
    content: "\e069"}
.glyphicon-fast-backward:before {
    content: "\e070"}
.glyphicon-backward:before {
    content: "\e071"}
.glyphicon-play:before {
    content: "\e072"}
.glyphicon-pause:before {
    content: "\e073"}
.glyphicon-stop:before {
    content: "\e074"}
.glyphicon-forward:before {
    content: "\e075"}
.glyphicon-fast-forward:before {
    content: "\e076"}
.glyphicon-step-forward:before {
    content: "\e077"}
.glyphicon-eject:before {
    content: "\e078"}
.glyphicon-chevron-left:before {
    content: "\e079"}
.glyphicon-chevron-right:before {
    content: "\e080"}
.glyphicon-plus-sign:before {
    content: "\e081"}
.glyphicon-minus-sign:before {
    content: "\e082"}
.glyphicon-remove-sign:before {
    content: "\e083"}
.glyphicon-ok-sign:before {
    content: "\e084"}
.glyphicon-question-sign:before {
    content: "\e085"}
.glyphicon-info-sign:before {
    content: "\e086"}
.glyphicon-screenshot:before {
    content: "\e087"}
.glyphicon-remove-circle:before {
    content: "\e088"}
.glyphicon-ok-circle:before {
    content: "\e089"}
.glyphicon-ban-circle:before {
    content: "\e090"}
.glyphicon-arrow-left:before {
    content: "\e091"}
.glyphicon-arrow-right:before {
    content: "\e092"}
.glyphicon-arrow-up:before {
    content: "\e093"}
.glyphicon-arrow-down:before {
    content: "\e094"}
.glyphicon-share-alt:before {
    content: "\e095"}
.glyphicon-resize-full:before {
    content: "\e096"}
.glyphicon-resize-small:before {
    content: "\e097"}
.glyphicon-exclamation-sign:before {
    content: "\e101"}
.glyphicon-gift:before {
    content: "\e102"}
.glyphicon-leaf:before {
    content: "\e103"}
.glyphicon-fire:before {
    content: "\e104"}
.glyphicon-eye-open:before {
    content: "\e105"}
.glyphicon-eye-close:before {
    content: "\e106"}
.glyphicon-warning-sign:before {
    content: "\e107"}
.glyphicon-plane:before {
    content: "\e108"}
.glyphicon-calendar:before {
    content: "\e109"}
.glyphicon-random:before {
    content: "\e110"}
.glyphicon-comment:before {
    content: "\e111"}
.glyphicon-magnet:before {
    content: "\e112"}
.glyphicon-chevron-up:before {
    content: "\e113"}
.glyphicon-chevron-down:before {
    content: "\e114"}
.glyphicon-retweet:before {
    content: "\e115"}
.glyphicon-shopping-cart:before {
    content: "\e116"}
.glyphicon-folder-close:before {
    content: "\e117"}
.glyphicon-folder-open:before {
    content: "\e118"}
.glyphicon-resize-vertical:before {
    content: "\e119"}
.glyphicon-resize-horizontal:before {
    content: "\e120"}
.glyphicon-hdd:before {
    content: "\e121"}
.glyphicon-bullhorn:before {
    content: "\e122"}
.glyphicon-bell:before {
    content: "\e123"}
.glyphicon-certificate:before {
    content: "\e124"}
.glyphicon-thumbs-up:before {
    content: "\e125"}
.glyphicon-thumbs-down:before {
    content: "\e126"}
.glyphicon-hand-right:before {
    content: "\e127"}
.glyphicon-hand-left:before {
    content: "\e128"}
.glyphicon-hand-up:before {
    content: "\e129"}
.glyphicon-hand-down:before {
    content: "\e130"}
.glyphicon-circle-arrow-right:before {
    content: "\e131"}
.glyphicon-circle-arrow-left:before {
    content: "\e132"}
.glyphicon-circle-arrow-up:before {
    content: "\e133"}
.glyphicon-circle-arrow-down:before {
    content: "\e134"}
.glyphicon-globe:before {
    content: "\e135"}
.glyphicon-wrench:before {
    content: "\e136"}
.glyphicon-tasks:before {
    content: "\e137"}
.glyphicon-filter:before {
    content: "\e138"}
.glyphicon-briefcase:before {
    content: "\e139"}
.glyphicon-fullscreen:before {
    content: "\e140"}
.glyphicon-dashboard:before {
    content: "\e141"}
.glyphicon-paperclip:before {
    content: "\e142"}
.glyphicon-heart-empty:before {
    content: "\e143"}
.glyphicon-link:before {
    content: "\e144"}
.glyphicon-phone:before {
    content: "\e145"}
.glyphicon-pushpin:before {
    content: "\e146"}
.glyphicon-usd:before {
    content: "\e148"}
.glyphicon-gbp:before {
    content: "\e149"}
.glyphicon-sort:before {
    content: "\e150"}
.glyphicon-sort-by-alphabet:before {
    content: "\e151"}
.glyphicon-sort-by-alphabet-alt:before {
    content: "\e152"}
.glyphicon-sort-by-order:before {
    content: "\e153"}
.glyphicon-sort-by-order-alt:before {
    content: "\e154"}
.glyphicon-sort-by-attributes:before {
    content: "\e155"}
.glyphicon-sort-by-attributes-alt:before {
    content: "\e156"}
.glyphicon-unchecked:before {
    content: "\e157"}
.glyphicon-expand:before {
    content: "\e158"}
.glyphicon-collapse-down:before {
    content: "\e159"}
.glyphicon-collapse-up:before {
    content: "\e160"}
.glyphicon-log-in:before {
    content: "\e161"}
.glyphicon-flash:before {
    content: "\e162"}
.glyphicon-log-out:before {
    content: "\e163"}
.glyphicon-new-window:before {
    content: "\e164"}
.glyphicon-record:before {
    content: "\e165"}
.glyphicon-save:before {
    content: "\e166"}
.glyphicon-open:before {
    content: "\e167"}
.glyphicon-saved:before {
    content: "\e168"}
.glyphicon-import:before {
    content: "\e169"}
.glyphicon-export:before {
    content: "\e170"}
.glyphicon-send:before {
    content: "\e171"}
.glyphicon-floppy-disk:before {
    content: "\e172"}
.glyphicon-floppy-saved:before {
    content: "\e173"}
.glyphicon-floppy-remove:before {
    content: "\e174"}
.glyphicon-floppy-save:before {
    content: "\e175"}
.glyphicon-floppy-open:before {
    content: "\e176"}
.glyphicon-credit-card:before {
    content: "\e177"}
.glyphicon-transfer:before {
    content: "\e178"}
.glyphicon-cutlery:before {
    content: "\e179"}
.glyphicon-header:before {
    content: "\e180"}
.glyphicon-compressed:before {
    content: "\e181"}
.glyphicon-earphone:before {
    content: "\e182"}
.glyphicon-phone-alt:before {
    content: "\e183"}
.glyphicon-tower:before {
    content: "\e184"}
.glyphicon-stats:before {
    content: "\e185"}
.glyphicon-sd-video:before {
    content: "\e186"}
.glyphicon-hd-video:before {
    content: "\e187"}
.glyphicon-subtitles:before {
    content: "\e188"}
.glyphicon-sound-stereo:before {
    content: "\e189"}
.glyphicon-sound-dolby:before {
    content: "\e190"}
.glyphicon-sound-5-1:before {
    content: "\e191"}
.glyphicon-sound-6-1:before {
    content: "\e192"}
.glyphicon-sound-7-1:before {
    content: "\e193"}
.glyphicon-copyright-mark:before {
    content: "\e194"}
.glyphicon-registration-mark:before {
    content: "\e195"}
.glyphicon-cloud-download:before {
    content: "\e197"}
.glyphicon-cloud-upload:before {
    content: "\e198"}
.glyphicon-tree-conifer:before {
    content: "\e199"}
.glyphicon-tree-deciduous:before {
    content: "\e200"}
.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}
.dropdown {
    position: relative;
}
.dropdown-toggle:focus {
    outline: 0;
}
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    font-size: 15px;
    list-style: none;
    background-color: #fff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    background-clip: padding-box;
}
.dropdown-menu.pull-right {
    right: 0;
    left: auto;
}
.dropdown-menu .divider {
    height: 1px;
    margin: 9.5px 0;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.2);
}
.dropdown-menu>li>a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.428571429;
    color: #555;
    white-space: nowrap;
}
.dropdown-menu>li>a:hover, .dropdown-menu>li>a:focus {
    color: #262626;
    text-decoration: none;
    background-color: #eee;
}
.dropdown-menu>.active>a, .dropdown-menu>.active>a:hover, .dropdown-menu>.active>a:focus {
    color: #fff;
    text-decoration: none;
    background-color: #008cba;
    outline: 0;
}
.dropdown-menu>.disabled>a, .dropdown-menu>.disabled>a:hover, .dropdown-menu>.disabled>a:focus {
    color: #999;
}
.dropdown-menu>.disabled>a:hover, .dropdown-menu>.disabled>a:focus {
    text-decoration: none;
    cursor: not-allowed;
    background-color: transparent;
    background-image: none;
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.open>.dropdown-menu {
    display: block;
}
.open>a {
    outline: 0;
}
.dropdown-header {
    display: block;
    padding: 3px 20px;
    font-size: 12px;
    line-height: 1.428571429;
    color: #999;
}
.dropdown-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 990;
}
.pull-right>.dropdown-menu {
    right: 0;
    left: auto;
}
.dropup .caret, .navbar-fixed-bottom .dropdown .caret {
    border-top: 0;
    border-bottom: 4px solid;
    content: ""}
.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-bottom: 1px;
}
@media(min-width:768px) {
    .navbar-right .dropdown-menu {
    right: 0;
    left: auto;
}
}.btn-group, .btn-group-vertical {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
.btn-group>.btn, .btn-group-vertical>.btn {
    position: relative;
    float: left;
}
.btn-group>.btn:hover, .btn-group-vertical>.btn:hover, .btn-group>.btn:focus, .btn-group-vertical>.btn:focus, .btn-group>.btn:active, .btn-group-vertical>.btn:active, .btn-group>.btn.active, .btn-group-vertical>.btn.active {
    z-index: 2;
}
.btn-group>.btn:focus, .btn-group-vertical>.btn:focus {
    outline: 0;
}
.btn-group .btn+.btn, .btn-group .btn+.btn-group, .btn-group .btn-group+.btn, .btn-group .btn-group+.btn-group {
    margin-left: -1px;
}
.btn-toolbar:before, .btn-toolbar:after {
    display: table;
    content: " "}
.btn-toolbar:after {
    clear: both;
}
.btn-toolbar:before, .btn-toolbar:after {
    display: table;
    content: " "}
.btn-toolbar:after {
    clear: both;
}
.btn-toolbar:before, .btn-toolbar:after {
    display: table;
    content: " "}
.btn-toolbar:after {
    clear: both;
}
.btn-toolbar:before, .btn-toolbar:after {
    display: table;
    content: " "}
.btn-toolbar:after {
    clear: both;
}
.btn-toolbar:before, .btn-toolbar:after {
    display: table;
    content: " "}
.btn-toolbar:after {
    clear: both;
}
.btn-toolbar .btn-group {
    float: left;
}
.btn-toolbar>.btn+.btn, .btn-toolbar>.btn-group+.btn, .btn-toolbar>.btn+.btn-group, .btn-toolbar>.btn-group+.btn-group {
    margin-left: 5px;
}
.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
    border-radius: 0;
}
.btn-group>.btn:first-child {
    margin-left: 0;
}
.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.btn-group>.btn:last-child:not(:first-child), .btn-group>.dropdown-toggle:not(:first-child) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.btn-group>.btn-group {
    float: left;
}
.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn {
    border-radius: 0;
}
.btn-group>.btn-group:first-child>.btn:last-child, .btn-group>.btn-group:first-child>.dropdown-toggle {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.btn-group>.btn-group:last-child>.btn:first-child {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
    outline: 0;
}
.btn-group-xs>.btn {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 0;
}
.btn-group-sm>.btn {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 0;
}
.btn-group-lg>.btn {
    padding: 10px 16px;
    font-size: 19px;
    line-height: 1.33;
    border-radius: 0;
}
.btn-group>.btn+.dropdown-toggle {
    padding-right: 8px;
    padding-left: 8px;
}
.btn-group>.btn-lg+.dropdown-toggle {
    padding-right: 12px;
    padding-left: 12px;
}
.btn-group.open .dropdown-toggle {
    -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
    -webkit-box-shadow: none;
    box-shadow: none;
}
.btn .caret {
    margin-left: 0;
}
.btn-lg .caret {
    border-width: 5px 5px 0;
    border-bottom-width: 0;
}
.dropup .btn-lg .caret {
    border-width: 0 5px 5px;
}
.btn-group-vertical>.btn, .btn-group-vertical>.btn-group, .btn-group-vertical>.btn-group>.btn {
    display: block;
    float: none;
    width: 100%;
    max-width: 100%}
.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
    display: table;
    content: " "}
.btn-group-vertical>.btn-group:after {
    clear: both;
}
.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
    display: table;
    content: " "}
.btn-group-vertical>.btn-group:after {
    clear: both;
}
.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
    display: table;
    content: " "}
.btn-group-vertical>.btn-group:after {
    clear: both;
}
.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
    display: table;
    content: " "}
.btn-group-vertical>.btn-group:after {
    clear: both;
}
.btn-group-vertical>.btn-group:before, .btn-group-vertical>.btn-group:after {
    display: table;
    content: " "}
.btn-group-vertical>.btn-group:after {
    clear: both;
}
.btn-group-vertical>.btn-group>.btn {
    float: none;
}
.btn-group-vertical>.btn+.btn, .btn-group-vertical>.btn+.btn-group, .btn-group-vertical>.btn-group+.btn, .btn-group-vertical>.btn-group+.btn-group {
    margin-top: -1px;
    margin-left: 0;
}
.btn-group-vertical>.btn:not(:first-child):not(:last-child) {
    border-radius: 0;
}
.btn-group-vertical>.btn:first-child:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.btn-group-vertical>.btn:last-child:not(:first-child) {
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn {
    border-radius: 0;
}
.btn-group-vertical>.btn-group:first-child>.btn:last-child, .btn-group-vertical>.btn-group:first-child>.dropdown-toggle {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.btn-group-vertical>.btn-group:last-child>.btn:first-child {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
.btn-group-justified {
    display: table;
    width: 100%;
    border-collapse: separate;
    table-layout: fixed;
}
.btn-group-justified>.btn, .btn-group-justified>.btn-group {
    display: table-cell;
    float: none;
    width: 1%}
.btn-group-justified>.btn-group .btn {
    width: 100%}
[data-toggle="buttons"]>.btn>input[type="radio"], [data-toggle="buttons"]>.btn>input[type="checkbox"] {
    display: none;
}
.input-group {
    position: relative;
    display: table;
    border-collapse: separate;
}
.input-group[class*="col-"] {
    float: none;
    padding-right: 0;
    padding-left: 0;
}
.input-group .form-control {
    width: 100%;
    margin-bottom: 0;
}
.input-group-lg>.form-control, .input-group-lg>.input-group-addon, .input-group-lg>.input-group-btn>.btn {
    height: 48px;
    padding: 10px 16px;
    font-size: 19px;
    line-height: 1.33;
    border-radius: 0;
}
select.input-group-lg>.form-control, select.input-group-lg>.input-group-addon, select.input-group-lg>.input-group-btn>.btn {
    height: 48px;
    line-height: 48px;
}
textarea.input-group-lg>.form-control, textarea.input-group-lg>.input-group-addon, textarea.input-group-lg>.input-group-btn>.btn {
    height: auto;
}
.input-group-sm>.form-control, .input-group-sm>.input-group-addon, .input-group-sm>.input-group-btn>.btn {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 0;
}
select.input-group-sm>.form-control, select.input-group-sm>.input-group-addon, select.input-group-sm>.input-group-btn>.btn {
    height: 30px;
    line-height: 30px;
}
textarea.input-group-sm>.form-control, textarea.input-group-sm>.input-group-addon, textarea.input-group-sm>.input-group-btn>.btn {
    height: auto;
}
.input-group-addon, .input-group-btn, .input-group .form-control {
    display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0;
}
.input-group-addon, .input-group-btn {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
}
.input-group-addon {
    padding: 6px 12px;
    font-size: 15px;
    font-weight: normal;
    line-height: 1;
    color: #6f6f6f;
    text-align: center;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 0;
}
.input-group-addon.input-sm {
    padding: 5px 10px;
    font-size: 12px;
    border-radius: 0;
}
.input-group-addon.input-lg {
    padding: 10px 16px;
    font-size: 19px;
    border-radius: 0;
}
.input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] {
    margin-top: 0;
}
.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child>.btn, .input-group-btn:first-child>.dropdown-toggle, .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group-addon:first-child {
    border-right: 0;
}
.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child>.btn, .input-group-btn:last-child>.dropdown-toggle, .input-group-btn:first-child>.btn:not(:first-child) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.input-group-addon:last-child {
    border-left: 0;
}
.input-group-btn {
    position: relative;
    white-space: nowrap;
}
.input-group-btn:first-child>.btn {
    margin-right: -1px;
}
.input-group-btn:last-child>.btn {
    margin-left: -1px;
}
.input-group-btn>.btn {
    position: relative;
}
.input-group-btn>.btn+.btn {
    margin-left: -4px;
}
.input-group-btn>.btn:hover, .input-group-btn>.btn:active {
    z-index: 2;
}
.nav {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
.nav:before, .nav:after {
    display: table;
    content: " "}
.nav:after {
    clear: both;
}
.nav:before, .nav:after {
    display: table;
    content: " "}
.nav:after {
    clear: both;
}
.nav:before, .nav:after {
    display: table;
    content: " "}
.nav:after {
    clear: both;
}
.nav:before, .nav:after {
    display: table;
    content: " "}
.nav:after {
    clear: both;
}
.nav:before, .nav:after {
    display: table;
    content: " "}
.nav:after {
    clear: both;
}
.nav>li {
    position: relative;
    display: block;
}
.nav>li>a {
    position: relative;
    display: block;
    padding: 10px 15px;
}
.nav>li>a:hover, .nav>li>a:focus {
    text-decoration: none;
    background-color: #eee;
}
.nav>li.disabled>a {
    color: #999;
}
.nav>li.disabled>a:hover, .nav>li.disabled>a:focus {
    color: #999;
    text-decoration: none;
    cursor: not-allowed;
    background-color: transparent;
}
.nav .open>a, .nav .open>a:hover, .nav .open>a:focus {
    background-color: #eee;
    border-color: #008cba;
}
.nav .nav-divider {
    height: 1px;
    margin: 9.5px 0;
    overflow: hidden;
    background-color: #e5e5e5;
}
.nav>li>a>img {
    max-width: none;
}
.nav-tabs {
    border-bottom: 1px solid #ddd;
}
.nav-tabs>li {
    float: left;
    margin-bottom: -1px;
}
.nav-tabs>li>a {
    margin-right: 2px;
    line-height: 1.428571429;
    border: 1px solid transparent;
    border-radius: 0;
}
.nav-tabs>li>a:hover {
    border-color: #eee #eee #ddd;
}
.nav-tabs>li.active>a, .nav-tabs>li.active>a:hover, .nav-tabs>li.active>a:focus {
    color: #6f6f6f;
    cursor: default;
    background-color: #fff;
    border: 1px solid #ddd;
    border-bottom-color: transparent;
}
.nav-tabs.nav-justified {
    width: 100%;
    border-bottom: 0;
}
.nav-tabs.nav-justified>li {
    float: none;
}
.nav-tabs.nav-justified>li>a {
    margin-bottom: 5px;
    text-align: center;
}
.nav-tabs.nav-justified>.dropdown .dropdown-menu {
    top: auto;
    left: auto;
}
@media(min-width:768px) {
    .nav-tabs.nav-justified>li {
    display: table-cell;
    width: 1%}
.nav-tabs.nav-justified>li>a {
    margin-bottom: 0;
}
}.nav-tabs.nav-justified>li>a {
    margin-right: 0;
    border-radius: 0;
}
.nav-tabs.nav-justified>.active>a, .nav-tabs.nav-justified>.active>a:hover, .nav-tabs.nav-justified>.active>a:focus {
    border: 1px solid #ddd;
}
@media(min-width:768px) {
    .nav-tabs.nav-justified>li>a {
    border-bottom: 1px solid #ddd;
    border-radius: 0;
}
.nav-tabs.nav-justified>.active>a, .nav-tabs.nav-justified>.active>a:hover, .nav-tabs.nav-justified>.active>a:focus {
    border-bottom-color: #fff;
}
}.nav-pills>li {
    float: left;
}
.nav-pills>li>a {
    border-radius: 0;
}
.nav-pills>li+li {
    margin-left: 2px;
}
.nav-pills>li.active>a, .nav-pills>li.active>a:hover, .nav-pills>li.active>a:focus {
    color: #fff;
    background-color: #008cba;
}
.nav-stacked>li {
    float: none;
}
.nav-stacked>li+li {
    margin-top: 2px;
    margin-left: 0;
}
.nav-justified {
    width: 100%}
.nav-justified>li {
    float: none;
}
.nav-justified>li>a {
    margin-bottom: 5px;
    text-align: center;
}
.nav-justified>.dropdown .dropdown-menu {
    top: auto;
    left: auto;
}
@media(min-width:768px) {
    .nav-justified>li {
    display: table-cell;
    width: 1%}
.nav-justified>li>a {
    margin-bottom: 0;
}
}.nav-tabs-justified {
    border-bottom: 0;
}
.nav-tabs-justified>li>a {
    margin-right: 0;
    border-radius: 0;
}
.nav-tabs-justified>.active>a, .nav-tabs-justified>.active>a:hover, .nav-tabs-justified>.active>a:focus {
    border: 1px solid #ddd;
}
@media(min-width:768px) {
    .nav-tabs-justified>li>a {
    border-bottom: 1px solid #ddd;
    border-radius: 0;
}
.nav-tabs-justified>.active>a, .nav-tabs-justified>.active>a:hover, .nav-tabs-justified>.active>a:focus {
    border-bottom-color: #fff;
}
}.tab-content>.tab-pane {
    display: none;
}
.tab-content>.active {
    display: block;
}
.nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
.navbar {
    position: relative;
    min-height: 45px;
    margin-bottom: 21px;
    border: 1px solid transparent;
}
.navbar:before, .navbar:after {
    display: table;
    content: " "}
.navbar:after {
    clear: both;
}
.navbar:before, .navbar:after {
    display: table;
    content: " "}
.navbar:after {
    clear: both;
}
.navbar:before, .navbar:after {
    display: table;
    content: " "}
.navbar:after {
    clear: both;
}
.navbar:before, .navbar:after {
    display: table;
    content: " "}
.navbar:after {
    clear: both;
}
.navbar:before, .navbar:after {
    display: table;
    content: " "}
.navbar:after {
    clear: both;
}
@media(min-width:768px) {
    .navbar {
    border-radius: 0;
}
}.navbar-header:before, .navbar-header:after {
    display: table;
    content: " "}
.navbar-header:after {
    clear: both;
}
.navbar-header:before, .navbar-header:after {
    display: table;
    content: " "}
.navbar-header:after {
    clear: both;
}
.navbar-header:before, .navbar-header:after {
    display: table;
    content: " "}
.navbar-header:after {
    clear: both;
}
.navbar-header:before, .navbar-header:after {
    display: table;
    content: " "}
.navbar-header:after {
    clear: both;
}
.navbar-header:before, .navbar-header:after {
    display: table;
    content: " "}
.navbar-header:after {
    clear: both;
}
@media(min-width:768px) {
    .navbar-header {
    float: left;
}
}.navbar-collapse {
    max-height: 340px;
    padding-right: 15px;
    padding-left: 15px;
    overflow-x: visible;
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    -webkit-overflow-scrolling: touch;
}
.navbar-collapse:before, .navbar-collapse:after {
    display: table;
    content: " "}
.navbar-collapse:after {
    clear: both;
}
.navbar-collapse:before, .navbar-collapse:after {
    display: table;
    content: " "}
.navbar-collapse:after {
    clear: both;
}
.navbar-collapse:before, .navbar-collapse:after {
    display: table;
    content: " "}
.navbar-collapse:after {
    clear: both;
}
.navbar-collapse:before, .navbar-collapse:after {
    display: table;
    content: " "}
.navbar-collapse:after {
    clear: both;
}
.navbar-collapse:before, .navbar-collapse:after {
    display: table;
    content: " "}
.navbar-collapse:after {
    clear: both;
}
.navbar-collapse.in {
    overflow-y: auto;
}
@media(min-width:768px) {
    .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
}
.navbar-collapse.collapse {
    display: block!important;
    height: auto!important;
    padding-bottom: 0;
    overflow: visible!important;
}
.navbar-collapse.in {
    overflow-y: visible;
}
.navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
    padding-right: 0;
    padding-left: 0;
}
}.container>.navbar-header, .container>.navbar-collapse {
    margin-right: -15px;
    margin-left: -15px;
}
@media(min-width:768px) {
    .container>.navbar-header, .container>.navbar-collapse {
    margin-right: 0;
    margin-left: 0;
}
}.navbar-static-top {
    z-index: 1000;
    border-width: 0 0 1px;
}
@media(min-width:768px) {
    .navbar-static-top {
    border-radius: 0;
}
}.navbar-fixed-top, .navbar-fixed-bottom {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030;
}
@media(min-width:768px) {
    .navbar-fixed-top, .navbar-fixed-bottom {
    border-radius: 0;
}
}.navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px;
}
.navbar-fixed-bottom {
    bottom: 0;
    margin-bottom: 0;
    border-width: 1px 0 0;
}
.navbar-brand {
    font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    float: left;
    padding: 12px 15px;
    font-size: 19px;
    line-height: 21px;
}
.navbar-brand:hover, .navbar-brand:focus {
    text-decoration: none;
}
@media(min-width:768px) {
    .navbar>.container .navbar-brand {
    margin-left: -15px;
}
}.navbar-toggle {
    position: relative;
    float: right;
    padding: 9px 10px;
    margin-top: 5.5px;
    margin-right: 15px;
    margin-bottom: 5.5px;
    background-color: transparent;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 0;
}
.navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
}
.navbar-toggle .icon-bar+.icon-bar {
    margin-top: 4px;
}
@media(min-width:768px) {
    .navbar-toggle {
    display: none;
}
}.navbar-nav {
    margin: 6px -15px;
}
.navbar-nav>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 21px;
}
@media(max-width:767px) {
    .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
}
.navbar-nav .open .dropdown-menu>li>a, .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
}
.navbar-nav .open .dropdown-menu>li>a {
    line-height: 21px;
}
.navbar-nav .open .dropdown-menu>li>a:hover, .navbar-nav .open .dropdown-menu>li>a:focus {
    background-image: none;
}
}@media(min-width:768px) {
    .navbar-nav {
    float: left;
    margin: 0;
}
.navbar-nav>li {
    float: left;
}
.navbar-nav>li>a {
    padding-top: 12px;
    padding-bottom: 12px;
}
.navbar-nav.navbar-right:last-child {
    margin-right: -15px;
}
}@media(min-width:768px) {
    .navbar-left {
    float: left!important;
}
.navbar-right {
    float: right!important;
}
}.navbar-form {
    padding: 10px 15px;
    margin-top: 5px;
    margin-right: -15px;
    margin-bottom: 5px;
    margin-left: -15px;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
}
@media(min-width:768px) {
    .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
}
.navbar-form .form-control {
    display: inline-block;
}
.navbar-form select.form-control {
    width: auto;
}
.navbar-form .radio, .navbar-form .checkbox {
    display: inline-block;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
}
.navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] {
    float: none;
    margin-left: 0;
}
}@media(max-width:767px) {
    .navbar-form .form-group {
    margin-bottom: 5px;
}
}@media(min-width:768px) {
    .navbar-form {
    width: auto;
    padding-top: 0;
    padding-bottom: 0;
    margin-right: 0;
    margin-left: 0;
    border: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.navbar-form.navbar-right:last-child {
    margin-right: -15px;
}
}.navbar-nav>li>.dropdown-menu {
    margin-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.navbar-nav.pull-right>li>.dropdown-menu, .navbar-nav>li>.dropdown-menu.pull-right {
    right: 0;
    left: auto;
}
.navbar-btn {
    margin-top: 5px;
    margin-bottom: 5px;
}
.navbar-btn.btn-sm {
    margin-top: 7.5px;
    margin-bottom: 7.5px;
}
.navbar-btn.btn-xs {
    margin-top: 11.5px;
    margin-bottom: 11.5px;
}
.navbar-text {
    margin-top: 12px;
    margin-bottom: 12px;
}
@media(min-width:768px) {
    .navbar-text {
    float: left;
    margin-right: 15px;
    margin-left: 15px;
}
.navbar-text.navbar-right:last-child {
    margin-right: 0;
}
}.navbar-default {
    background-color: #333;
    border-color: #222;
}
.navbar-default .navbar-brand {
    color: #fff;
}
.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
    color: #fff;
    background-color: transparent;
}
.navbar-default .navbar-text {
    color: #fff;
}
.navbar-default .navbar-nav>li>a {
    color: #fff;
}
.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus {
    color: #fff;
    background-color: #272727;
}
.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus {
    color: #fff;
    background-color: #272727;
}
.navbar-default .navbar-nav>.disabled>a, .navbar-default .navbar-nav>.disabled>a:hover, .navbar-default .navbar-nav>.disabled>a:focus {
    color: #ccc;
    background-color: transparent;
}
.navbar-default .navbar-toggle {
    border-color: transparent;
}
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
    background-color: transparent;
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: #fff;
}
.navbar-default .navbar-collapse, .navbar-default .navbar-form {
    border-color: #222;
}
.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav>.open>a:focus {
    color: #fff;
    background-color: #272727;
}
@media(max-width:767px) {
    .navbar-default .navbar-nav .open .dropdown-menu>li>a {
    color: #fff;
}
.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover, .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus {
    color: #fff;
    background-color: #272727;
}
.navbar-default .navbar-nav .open .dropdown-menu>.active>a, .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover, .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus {
    color: #fff;
    background-color: #272727;
}
.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a, .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover, .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus {
    color: #ccc;
    background-color: transparent;
}
}.navbar-default .navbar-link {
    color: #fff;
}
.navbar-default .navbar-link:hover {
    color: #fff;
}
.navbar-inverse {
    background-color: #008cba;
    border-color: #006687;
}
.navbar-inverse .navbar-brand {
    color: #fff;
}
.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
    color: #fff;
    background-color: transparent;
}
.navbar-inverse .navbar-text {
    color: #fff;
}
.navbar-inverse .navbar-nav>li>a {
    color: #fff;
}
.navbar-inverse .navbar-nav>li>a:hover, .navbar-inverse .navbar-nav>li>a:focus {
    color: #fff;
    background-color: #006687;
}
.navbar-inverse .navbar-nav>.active>a, .navbar-inverse .navbar-nav>.active>a:hover, .navbar-inverse .navbar-nav>.active>a:focus {
    color: #fff;
    background-color: #006687;
}
.navbar-inverse .navbar-nav>.disabled>a, .navbar-inverse .navbar-nav>.disabled>a:hover, .navbar-inverse .navbar-nav>.disabled>a:focus {
    color: #444;
    background-color: transparent;
}
.navbar-inverse .navbar-toggle {
    border-color: transparent;
}
.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
    background-color: transparent;
}
.navbar-inverse .navbar-toggle .icon-bar {
    background-color: #fff;
}
.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
    border-color: #007196;
}
.navbar-inverse .navbar-nav>.open>a, .navbar-inverse .navbar-nav>.open>a:hover, .navbar-inverse .navbar-nav>.open>a:focus {
    color: #fff;
    background-color: #006687;
}
@media(max-width:767px) {
    .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header {
    border-color: #006687;
}
.navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #006687;
}
.navbar-inverse .navbar-nav .open .dropdown-menu>li>a {
    color: #fff;
}
.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus {
    color: #fff;
    background-color: #006687;
}
.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a, .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus {
    color: #fff;
    background-color: #006687;
}
.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a, .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus {
    color: #444;
    background-color: transparent;
}
}.navbar-inverse .navbar-link {
    color: #fff;
}
.navbar-inverse .navbar-link:hover {
    color: #fff;
}
.breadcrumb {
    padding: 8px 15px;
    margin-bottom: 21px;
    list-style: none;
    background-color: #f5f5f5;
    border-radius: 0;
}
.breadcrumb>li {
    display: inline-block;
}
.breadcrumb>li+li:before {
    padding: 0 5px;
    color: #999;
    content: "/\00a0"}
.breadcrumb>.active {
    color: #333;
}
.pagination {
    display: inline-block;
    padding-left: 0;
    margin: 21px 0;
    border-radius: 0;
}
.pagination>li {
    display: inline;
}
.pagination>li>a, .pagination>li>span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.428571429;
    text-decoration: none;
    background-color: transparent;
    border: 1px solid transparent;
}
.pagination>li:first-child>a, .pagination>li:first-child>span {
    margin-left: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.pagination>li:last-child>a, .pagination>li:last-child>span {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.pagination>li>a:hover, .pagination>li>span:hover, .pagination>li>a:focus, .pagination>li>span:focus {
    background-color: #eee;
}
.pagination>.active>a, .pagination>.active>span, .pagination>.active>a:hover, .pagination>.active>span:hover, .pagination>.active>a:focus, .pagination>.active>span:focus {
    z-index: 2;
    color: #fff;
    cursor: default;
    background-color: #008cba;
    border-color: #008cba;
}
.pagination>.disabled>span, .pagination>.disabled>span:hover, .pagination>.disabled>span:focus, .pagination>.disabled>a, .pagination>.disabled>a:hover, .pagination>.disabled>a:focus {
    color: #999;
    cursor: not-allowed;
    background-color: transparent;
    border-color: transparent;
}
.pagination-lg>li>a, .pagination-lg>li>span {
    padding: 10px 16px;
    font-size: 19px;
}
.pagination-lg>li:first-child>a, .pagination-lg>li:first-child>span {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.pagination-lg>li:last-child>a, .pagination-lg>li:last-child>span {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.pagination-sm>li>a, .pagination-sm>li>span {
    padding: 5px 10px;
    font-size: 12px;
}
.pagination-sm>li:first-child>a, .pagination-sm>li:first-child>span {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.pagination-sm>li:last-child>a, .pagination-sm>li:last-child>span {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.pager {
    padding-left: 0;
    margin: 21px 0;
    text-align: center;
    list-style: none;
}
.pager:before, .pager:after {
    display: table;
    content: " "}
.pager:after {
    clear: both;
}
.pager:before, .pager:after {
    display: table;
    content: " "}
.pager:after {
    clear: both;
}
.pager:before, .pager:after {
    display: table;
    content: " "}
.pager:after {
    clear: both;
}
.pager:before, .pager:after {
    display: table;
    content: " "}
.pager:after {
    clear: both;
}
.pager:before, .pager:after {
    display: table;
    content: " "}
.pager:after {
    clear: both;
}
.pager li {
    display: inline;
}
.pager li>a, .pager li>span {
    display: inline-block;
    padding: 5px 14px;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 3px;
}
.pager li>a:hover, .pager li>a:focus {
    text-decoration: none;
    background-color: #eee;
}
.pager .next>a, .pager .next>span {
    float: right;
}
.pager .previous>a, .pager .previous>span {
    float: left;
}
.pager .disabled>a, .pager .disabled>a:hover, .pager .disabled>a:focus, .pager .disabled>span {
    color: #999;
    cursor: not-allowed;
    background-color: transparent;
}
.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}
.label[href]:hover, .label[href]:focus {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}
.label:empty {
    display: none;
}
.btn .label {
    position: relative;
    top: -1px;
}
.label-default {
    background-color: #999;
}
.label-default[href]:hover, .label-default[href]:focus {
    background-color: #808080;
}
.label-primary {
    background-color: #008cba;
}
.label-primary[href]:hover, .label-primary[href]:focus {
    background-color: #006687;
}
.label-success {
    background-color: #43ac6a;
}
.label-success[href]:hover, .label-success[href]:focus {
    background-color: #358753;
}
.label-info {
    background-color: #5bc0de;
}
.label-info[href]:hover, .label-info[href]:focus {
    background-color: #31b0d5;
}
.label-warning {
    background-color: #e99002;
}
.label-warning[href]:hover, .label-warning[href]:focus {
    background-color: #b67102;
}
.label-danger {
    background-color: #f04124;
}
.label-danger[href]:hover, .label-danger[href]:focus {
    background-color: #d32a0e;
}
.badge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 7px;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    color: #777;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    background-color: #e7e7e7;
    border-radius: 10px;
}
.badge:empty {
    display: none;
}
.btn .badge {
    position: relative;
    top: -1px;
}
a.badge:hover, a.badge:focus {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}
a.list-group-item.active>.badge, .nav-pills>.active>a>.badge {
    color: #008cba;
    background-color: #fff;
}
.nav-pills>li>a>.badge {
    margin-left: 3px;
}
.jumbotron {
    padding: 30px;
    margin-bottom: 30px;
    font-size: 23px;
    font-weight: 200;
    line-height: 2.1428571435;
    color: inherit;
    background-color: #fafafa;
}
.jumbotron h1, .jumbotron .h1 {
    line-height: 1;
    color: inherit;
}
.jumbotron p {
    line-height: 1.4;
}
.container .jumbotron {
    border-radius: 0;
}
.jumbotron .container {
    max-width: 100%}
@media screen and (min-width:768px) {
    .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
}
.container .jumbotron {
    padding-right: 60px;
    padding-left: 60px;
}
.jumbotron h1, .jumbotron .h1 {
    font-size: 67.5px;
}
}.thumbnail {
    display: block;
    padding: 4px;
    margin-bottom: 21px;
    line-height: 1.428571429;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 0;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
.thumbnail>img, .thumbnail a>img {
    display: block;
    height: auto;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}
a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active {
    border-color: #008cba;
}
.thumbnail .caption {
    padding: 9px;
    color: #222;
}
.alert {
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
  }
  
  .alert-heading {
    color: inherit;
  }
  
  .alert-link {
    font-weight: 700;
  }
  
  .alert-dismissible {
    padding-right: 4rem;
  }
  
  .alert-dismissible .close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.75rem 1.25rem;
    color: inherit;
  }
  
  .alert-primary {
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff;
  }
  
  .alert-primary hr {
    border-top-color: #9fcdff;
  }
  
  .alert-primary .alert-link {
    color: #002752;
  }
  
  .alert-secondary {
    color: #383d41;
    background-color: #e2e3e5;
    border-color: #d6d8db;
  }
  
  .alert-secondary hr {
    border-top-color: #c8cbcf;
  }
  
  .alert-secondary .alert-link {
    color: #202326;
  }
  
  .alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
  }
  
  .alert-success hr {
    border-top-color: #b1dfbb;
  }
  
  .alert-success .alert-link {
    color: #0b2e13;
  }
  
  .alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
  }
  
  .alert-info hr {
    border-top-color: #abdde5;
  }
  
  .alert-info .alert-link {
    color: #062c33;
  }
  
  .alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
  }
  
  .alert-warning hr {
    border-top-color: #ffe8a1;
  }
  
  .alert-warning .alert-link {
    color: #533f03;
  }
  
  .alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
  }
  
  .alert-danger hr {
    border-top-color: #f1b0b7;
  }
  
  .alert-danger .alert-link {
    color: #491217;
  }
  
  .alert-light {
    color: #818182;
    background-color: #fefefe;
    border-color: #fdfdfe;
  }
  
  .alert-light hr {
    border-top-color: #ececf6;
  }
  
  .alert-light .alert-link {
    color: #686868;
  }
  
  .alert-dark {
    color: #1b1e21;
    background-color: #d6d8d9;
    border-color: #c6c8ca;
  }
  
  .alert-dark hr {
    border-top-color: #b9bbbe;
  }
  
  .alert-dark .alert-link {
    color: #040505;
  }


@-webkit-keyframes progress-bar-stripes {
    from {
    background-position: 40px 0;
}
to {
    background-position: 0 0;
}
}@keyframes progress-bar-stripes {
    from {
    background-position: 40px 0;
}
to {
    background-position: 0 0;
}
}.progress {
    height: 21px;
    margin-bottom: 21px;
    overflow: hidden;
    background-color: #f5f5f5;
    border-radius: 0;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
    float: left;
    width: 0;
    height: 100%;
    font-size: 12px;
    line-height: 21px;
    color: #fff;
    text-align: center;
    background-color: #008cba;
    -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    -webkit-transition: width .6s ease;
    transition: width .6s ease;
}
.progress-striped .progress-bar {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: 40px 40px;
}
.progress.active .progress-bar {
    -webkit-animation: progress-bar-stripes 2s linear infinite;
    animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
    background-color: #43ac6a;
}
.progress-striped .progress-bar-success {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
    background-color: #5bc0de;
}
.progress-striped .progress-bar-info {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
    background-color: #e99002;
}
.progress-striped .progress-bar-warning {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
    background-color: #f04124;
}
.progress-striped .progress-bar-danger {
    background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media, .media-body {
    overflow: hidden;
    zoom: 1;
}
.media, .media .media {
    margin-top: 15px;
}
.media:first-child {
    margin-top: 0;
}
.media-object {
    display: block;
}
.media-heading {
    margin: 0 0 5px;
}
.media>.pull-left {
    margin-right: 10px;
}
.media>.pull-right {
    margin-left: 10px;
}
.media-list {
    padding-left: 0;
    list-style: none;
}
.list-group {
    padding-left: 0;
    margin-bottom: 20px;
}
.list-group-item {
    position: relative;
    display: block;
    padding: 10px 15px;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
}
.list-group-item:first-child {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
.list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}
.list-group-item>.badge {
    float: right;
}
.list-group-item>.badge+.badge {
    margin-right: 5px;
}
a.list-group-item {
    color: #555;
}
a.list-group-item .list-group-item-heading {
    color: #333;
}
a.list-group-item:hover, a.list-group-item:focus {
    text-decoration: none;
    background-color: #f5f5f5;
}
a.list-group-item.active, a.list-group-item.active:hover, a.list-group-item.active:focus {
    z-index: 2;
    color: #fff;
    background-color: #008cba;
    border-color: #008cba;
}
a.list-group-item.active .list-group-item-heading, a.list-group-item.active:hover .list-group-item-heading, a.list-group-item.active:focus .list-group-item-heading {
    color: inherit;
}
a.list-group-item.active .list-group-item-text, a.list-group-item.active:hover .list-group-item-text, a.list-group-item.active:focus .list-group-item-text {
    color: #87e1ff;
}
.list-group-item-heading {
    margin-top: 0;
    margin-bottom: 5px;
}
.list-group-item-text {
    margin-bottom: 0;
    line-height: 1.3;
}
.panel {
    margin-bottom: 21px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 0;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
    padding: 15px;
}
.panel-body:before, .panel-body:after {
    display: table;
    content: " "}
.panel-body:after {
    clear: both;
}
.panel-body:before, .panel-body:after {
    display: table;
    content: " "}
.panel-body:after {
    clear: both;
}
.panel-body:before, .panel-body:after {
    display: table;
    content: " "}
.panel-body:after {
    clear: both;
}
.panel-body:before, .panel-body:after {
    display: table;
    content: " "}
.panel-body:after {
    clear: both;
}
.panel-body:before, .panel-body:after {
    display: table;
    content: " "}
.panel-body:after {
    clear: both;
}
.panel>.list-group {
    margin-bottom: 0;
}
.panel>.list-group .list-group-item {
    border-width: 1px 0;
}
.panel>.list-group .list-group-item:first-child {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
.panel>.list-group .list-group-item:last-child {
    border-bottom: 0;
}
.panel-heading+.list-group .list-group-item:first-child {
    border-top-width: 0;
}
.panel>.table, .panel>.table-responsive>.table {
    margin-bottom: 0;
}
.panel>.panel-body+.table, .panel>.panel-body+.table-responsive {
    border-top: 1px solid #ddd;
}
.panel>.table>tbody:first-child th, .panel>.table>tbody:first-child td {
    border-top: 0;
}
.panel>.table-bordered, .panel>.table-responsive>.table-bordered {
    border: 0;
}
.panel>.table-bordered>thead>tr>th:first-child, .panel>.table-responsive>.table-bordered>thead>tr>th:first-child, .panel>.table-bordered>tbody>tr>th:first-child, .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child, .panel>.table-bordered>tfoot>tr>th:first-child, .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child, .panel>.table-bordered>thead>tr>td:first-child, .panel>.table-responsive>.table-bordered>thead>tr>td:first-child, .panel>.table-bordered>tbody>tr>td:first-child, .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child, .panel>.table-bordered>tfoot>tr>td:first-child, .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child {
    border-left: 0;
}
.panel>.table-bordered>thead>tr>th:last-child, .panel>.table-responsive>.table-bordered>thead>tr>th:last-child, .panel>.table-bordered>tbody>tr>th:last-child, .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child, .panel>.table-bordered>tfoot>tr>th:last-child, .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child, .panel>.table-bordered>thead>tr>td:last-child, .panel>.table-responsive>.table-bordered>thead>tr>td:last-child, .panel>.table-bordered>tbody>tr>td:last-child, .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child, .panel>.table-bordered>tfoot>tr>td:last-child, .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child {
    border-right: 0;
}
.panel>.table-bordered>thead>tr:last-child>th, .panel>.table-responsive>.table-bordered>thead>tr:last-child>th, .panel>.table-bordered>tbody>tr:last-child>th, .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th, .panel>.table-bordered>tfoot>tr:last-child>th, .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th, .panel>.table-bordered>thead>tr:last-child>td, .panel>.table-responsive>.table-bordered>thead>tr:last-child>td, .panel>.table-bordered>tbody>tr:last-child>td, .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td, .panel>.table-bordered>tfoot>tr:last-child>td, .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td {
    border-bottom: 0;
}
.panel>.table-responsive {
    margin-bottom: 0;
    border: 0;
}
.panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-right-radius: -1;
    border-top-left-radius: -1;
}
.panel-heading>.dropdown .dropdown-toggle {
    color: inherit;
}
.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 17px;
    color: inherit;
}
.panel-title>a {
    color: inherit;
}
.panel-footer {
    padding: 10px 15px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    border-bottom-right-radius: -1;
    border-bottom-left-radius: -1;
}
.panel-group .panel {
    margin-bottom: 0;
    overflow: hidden;
    border-radius: 0;
}
.panel-group .panel+.panel {
    margin-top: 5px;
}
.panel-group .panel-heading {
    border-bottom: 0;
}
.panel-group .panel-heading+.panel-collapse .panel-body {
    border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
    border-top: 0;
}
.panel-group .panel-footer+.panel-collapse .panel-body {
    border-bottom: 1px solid #ddd;
}
.panel-default {
    border-color: #ddd;
}
.panel-default>.panel-heading {
    color: #333;
    background-color: #f5f5f5;
    border-color: #ddd;
}
.panel-default>.panel-heading+.panel-collapse .panel-body {
    border-top-color: #ddd;
}
.panel-default>.panel-footer+.panel-collapse .panel-body {
    border-bottom-color: #ddd;
}
.panel-primary {
    border-color: #008cba;
}
.panel-primary>.panel-heading {
    color: #fff;
    background-color: #008cba;
    border-color: #008cba;
}
.panel-primary>.panel-heading+.panel-collapse .panel-body {
    border-top-color: #008cba;
}
.panel-primary>.panel-footer+.panel-collapse .panel-body {
    border-bottom-color: #008cba;
}
.panel-success {
    border-color: #3c9a5f;
}
.panel-success>.panel-heading {
    color: #43ac6a;
    background-color: #dff0d8;
    border-color: #3c9a5f;
}
.panel-success>.panel-heading+.panel-collapse .panel-body {
    border-top-color: #3c9a5f;
}
.panel-success>.panel-footer+.panel-collapse .panel-body {
    border-bottom-color: #3c9a5f;
}
.panel-warning {
    border-color: #d08002;
}
.panel-warning>.panel-heading {
    color: #e99002;
    background-color: #fcf8e3;
    border-color: #d08002;
}
.panel-warning>.panel-heading+.panel-collapse .panel-body {
    border-top-color: #d08002;
}
.panel-warning>.panel-footer+.panel-collapse .panel-body {
    border-bottom-color: #d08002;
}
.panel-danger {
    border-color: #ea2f10;
}
.panel-danger>.panel-heading {
    color: #f04124;
    background-color: #f2dede;
    border-color: #ea2f10;
}
.panel-danger>.panel-heading+.panel-collapse .panel-body {
    border-top-color: #ea2f10;
}
.panel-danger>.panel-footer+.panel-collapse .panel-body {
    border-bottom-color: #ea2f10;
}
.panel-info {
    border-color: #3db5d8;
}
.panel-info>.panel-heading {
    color: #5bc0de;
    background-color: #d9edf7;
    border-color: #3db5d8;
}
.panel-info>.panel-heading+.panel-collapse .panel-body {
    border-top-color: #3db5d8;
}
.panel-info>.panel-footer+.panel-collapse .panel-body {
    border-bottom-color: #3db5d8;
}
.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #fafafa;
    border: 1px solid #e8e8e8;
    border-radius: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
    border-color: #ddd;
    border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
    padding: 24px;
    border-radius: 0;
}
.well-sm {
    padding: 9px;
    border-radius: 0;
}
.close {
    float: right;
    font-size: 22.5px;
    font-weight: bold;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .2;
    filter: alpha(opacity=20);
}
.close:hover, .close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: .5;
    filter: alpha(opacity=50);
}
button.close {
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
}
.modal-open {
    overflow: hidden;
}
.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    display: none;
    overflow: auto;
    overflow-y: scroll;
}
.modal.fade .modal-dialog {
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    transform: translate(0, -25%);
    -webkit-transition: -webkit-transform .3s ease-out;
    -moz-transition: -moz-transform .3s ease-out;
    -o-transition: -o-transform .3s ease-out;
    transition: transform .3s ease-out;
}
.modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}
.modal-dialog {
    position: relative;
    z-index: 1050;
    width: auto;
    margin: 10px;
}
.modal-content {
    position: relative;
    background-color: #fff;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0;
    outline: 0;
    -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
    box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
    background-clip: padding-box;
}
.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
    background-color: #000;
}
.modal-backdrop.fade {
    opacity: 0;
    filter: alpha(opacity=0);
}
.modal-backdrop.in {
    opacity: .5;
    filter: alpha(opacity=50);
}
.modal-header {
    min-height: 16.428571429px;
    padding: 15px;
    border-bottom: 1px solid #e5e5e5;
}
.modal-header .close {
    margin-top: -2px;
}
.modal-title {
    margin: 0;
    line-height: 1.428571429;
}
.modal-body {
    position: relative;
    padding: 20px;
}
.modal-footer {
    padding: 19px 20px 20px;
    margin-top: 15px;
    text-align: right;
    border-top: 1px solid #e5e5e5;
}
.modal-footer:before, .modal-footer:after {
    display: table;
    content: " "}
.modal-footer:after {
    clear: both;
}
.modal-footer:before, .modal-footer:after {
    display: table;
    content: " "}
.modal-footer:after {
    clear: both;
}
.modal-footer:before, .modal-footer:after {
    display: table;
    content: " "}
.modal-footer:after {
    clear: both;
}
.modal-footer:before, .modal-footer:after {
    display: table;
    content: " "}
.modal-footer:after {
    clear: both;
}
.modal-footer:before, .modal-footer:after {
    display: table;
    content: " "}
.modal-footer:after {
    clear: both;
}
.modal-footer .btn+.btn {
    margin-bottom: 0;
    margin-left: 5px;
}
.modal-footer .btn-group .btn+.btn {
    margin-left: -1px;
}
.modal-footer .btn-block+.btn-block {
    margin-left: 0;
}
@media screen and (min-width:768px) {
    .modal-dialog {
    width: 600px;
    margin: 30px auto;
}
.modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}
}.tooltip {
    position: absolute;
    z-index: 1030;
    display: block;
    font-size: 12px;
    line-height: 1.4;
    opacity: 0;
    filter: alpha(opacity=0);
    visibility: visible;
}
.tooltip.in {
    opacity: .9;
    filter: alpha(opacity=90);
}
.tooltip.top {
    padding: 5px 0;
    margin-top: -3px;
}
.tooltip.right {
    padding: 0 5px;
    margin-left: 3px;
}
.tooltip.bottom {
    padding: 5px 0;
    margin-top: 3px;
}
.tooltip.left {
    padding: 0 5px;
    margin-left: -3px;
}
.tooltip-inner {
    max-width: 200px;
    padding: 3px 8px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #333;
    border-radius: 0;
}
.tooltip-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}
.tooltip.top .tooltip-arrow {
    bottom: 0;
    left: 50%;
    margin-left: -5px;
    border-top-color: #333;
    border-width: 5px 5px 0;
}
.tooltip.top-left .tooltip-arrow {
    bottom: 0;
    left: 5px;
    border-top-color: #333;
    border-width: 5px 5px 0;
}
.tooltip.top-right .tooltip-arrow {
    right: 5px;
    bottom: 0;
    border-top-color: #333;
    border-width: 5px 5px 0;
}
.tooltip.right .tooltip-arrow {
    top: 50%;
    left: 0;
    margin-top: -5px;
    border-right-color: #333;
    border-width: 5px 5px 5px 0;
}
.tooltip.left .tooltip-arrow {
    top: 50%;
    right: 0;
    margin-top: -5px;
    border-left-color: #333;
    border-width: 5px 0 5px 5px;
}
.tooltip.bottom .tooltip-arrow {
    top: 0;
    left: 50%;
    margin-left: -5px;
    border-bottom-color: #333;
    border-width: 0 5px 5px;
}
.tooltip.bottom-left .tooltip-arrow {
    top: 0;
    left: 5px;
    border-bottom-color: #333;
    border-width: 0 5px 5px;
}
.tooltip.bottom-right .tooltip-arrow {
    top: 0;
    right: 5px;
    border-bottom-color: #333;
    border-width: 0 5px 5px;
}
.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1010;
    display: none;
    max-width: 276px;
    padding: 1px;
    text-align: left;
    white-space: normal;
    background-color: #333;
    border: 1px solid #333;
    border: 1px solid transparent;
    border-radius: 0;
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    background-clip: padding-box;
}
.popover.top {
    margin-top: -10px;
}
.popover.right {
    margin-left: 10px;
}
.popover.bottom {
    margin-top: 10px;
}
.popover.left {
    margin-left: -10px;
}
.popover-title {
    padding: 8px 14px;
    margin: 0;
    font-size: 15px;
    font-weight: normal;
    line-height: 18px;
    background-color: #333;
    border-bottom: 1px solid #262626;
    border-radius: 5px 5px 0 0;
}
.popover-content {
    padding: 9px 14px;
}
.popover .arrow, .popover .arrow:after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}
.popover .arrow {
    border-width: 11px;
}
.popover .arrow:after {
    border-width: 10px;
    content: ""}
.popover.top .arrow {
    bottom: -11px;
    left: 50%;
    margin-left: -11px;
    border-top-color: #999;
    border-top-color: rgba(0, 0, 0, 0.25);
    border-bottom-width: 0;
}
.popover.top .arrow:after {
    bottom: 1px;
    margin-left: -10px;
    border-top-color: #333;
    border-bottom-width: 0;
    content: " "}
.popover.right .arrow {
    top: 50%;
    left: -11px;
    margin-top: -11px;
    border-right-color: #999;
    border-right-color: rgba(0, 0, 0, 0.25);
    border-left-width: 0;
}
.popover.right .arrow:after {
    bottom: -10px;
    left: 1px;
    border-right-color: #333;
    border-left-width: 0;
    content: " "}
.popover.bottom .arrow {
    top: -11px;
    left: 50%;
    margin-left: -11px;
    border-bottom-color: #999;
    border-bottom-color: rgba(0, 0, 0, 0.25);
    border-top-width: 0;
}
.popover.bottom .arrow:after {
    top: 1px;
    margin-left: -10px;
    border-bottom-color: #333;
    border-top-width: 0;
    content: " "}
.popover.left .arrow {
    top: 50%;
    right: -11px;
    margin-top: -11px;
    border-left-color: #999;
    border-left-color: rgba(0, 0, 0, 0.25);
    border-right-width: 0;
}
.popover.left .arrow:after {
    right: 1px;
    bottom: -10px;
    border-left-color: #333;
    border-right-width: 0;
    content: " "}
.carousel {
    position: relative;
}
.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.carousel-inner>.item {
    position: relative;
    display: none;
    -webkit-transition: .6s ease-in-out left;
    transition: .6s ease-in-out left;
}
.carousel-inner>.item>img, .carousel-inner>.item>a>img {
    display: block;
    height: auto;
    max-width: 100%;
    line-height: 1;
}
.carousel-inner>.active, .carousel-inner>.next, .carousel-inner>.prev {
    display: block;
}
.carousel-inner>.active {
    left: 0;
}
.carousel-inner>.next, .carousel-inner>.prev {
    position: absolute;
    top: 0;
    width: 100%}
.carousel-inner>.next {
    left: 100%}
.carousel-inner>.prev {
    left: -100%}
.carousel-inner>.next.left, .carousel-inner>.prev.right {
    left: 0;
}
.carousel-inner>.active.left {
    left: -100%}
.carousel-inner>.active.right {
    left: 100%}
.carousel-control {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 15%;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    opacity: .5;
    filter: alpha(opacity=50);
}
.carousel-control.left {
    background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
    right: 0;
    left: auto;
    background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover, .carousel-control:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: .9;
    filter: alpha(opacity=90);
}
.carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
}
.carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left {
    left: 50%}
.carousel-control .icon-next, .carousel-control .glyphicon-chevron-right {
    right: 50%}
.carousel-control .icon-prev, .carousel-control .icon-next {
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    font-family: serif;
}
.carousel-control .icon-prev:before {
    content: '\2039'}
.carousel-control .icon-next:before {
    content: '\203a'}
.carousel-indicators {
    position: absolute;
    bottom: 10px;
    left: 50%;
    z-index: 15;
    width: 60%;
    padding-left: 0;
    margin-left: -30%;
    text-align: center;
    list-style: none;
}
.carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #000 \9;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #fff;
    border-radius: 10px;
}
.carousel-indicators .active {
    width: 12px;
    height: 12px;
    margin: 0;
    background-color: #fff;
}
.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
    text-shadow: none;
}
@media screen and (min-width:768px) {
    .carousel-control .glyphicons-chevron-left, .carousel-control .glyphicons-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    margin-left: -15px;
    font-size: 30px;
}
.carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px;
}
.carousel-indicators {
    bottom: 20px;
}
}.clearfix:before, .clearfix:after {
    display: table;
    content: " "}
.clearfix:after {
    clear: both;
}
.clearfix:before, .clearfix:after {
    display: table;
    content: " "}
.clearfix:after {
    clear: both;
}
.center-block {
    display: block;
    margin-right: auto;
    margin-left: auto;
}
.pull-right {
    float: right!important;
}
.pull-left {
    float: left!important;
}
.hide {
    display: none!important;
}
.show {
    display: block!important;
}
.invisible {
    visibility: hidden;
}
.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}
.hidden {
    display: none!important;
    visibility: hidden!important;
}
.affix {
    position: fixed;
}
@-ms-viewport {
    width: device-width;
}
.visible-xs, tr.visible-xs, th.visible-xs, td.visible-xs {
    display: none!important;
}
@media(max-width:767px) {
    .visible-xs {
    display: block!important;
}
table.visible-xs {
    display: table;
}
tr.visible-xs {
    display: table-row!important;
}
th.visible-xs, td.visible-xs {
    display: table-cell!important;
}
}@media(min-width:768px) and (max-width:991px) {
    .visible-xs.visible-sm {
    display: block!important;
}
table.visible-xs.visible-sm {
    display: table;
}
tr.visible-xs.visible-sm {
    display: table-row!important;
}
th.visible-xs.visible-sm, td.visible-xs.visible-sm {
    display: table-cell!important;
}
}@media(min-width:992px) and (max-width:1199px) {
    .visible-xs.visible-md {
    display: block!important;
}
table.visible-xs.visible-md {
    display: table;
}
tr.visible-xs.visible-md {
    display: table-row!important;
}
th.visible-xs.visible-md, td.visible-xs.visible-md {
    display: table-cell!important;
}
}@media(min-width:1200px) {
    .visible-xs.visible-lg {
    display: block!important;
}
table.visible-xs.visible-lg {
    display: table;
}
tr.visible-xs.visible-lg {
    display: table-row!important;
}
th.visible-xs.visible-lg, td.visible-xs.visible-lg {
    display: table-cell!important;
}
}.visible-sm, tr.visible-sm, th.visible-sm, td.visible-sm {
    display: none!important;
}
@media(max-width:767px) {
    .visible-sm.visible-xs {
    display: block!important;
}
table.visible-sm.visible-xs {
    display: table;
}
tr.visible-sm.visible-xs {
    display: table-row!important;
}
th.visible-sm.visible-xs, td.visible-sm.visible-xs {
    display: table-cell!important;
}
}@media(min-width:768px) and (max-width:991px) {
    .visible-sm {
    display: block!important;
}
table.visible-sm {
    display: table;
}
tr.visible-sm {
    display: table-row!important;
}
th.visible-sm, td.visible-sm {
    display: table-cell!important;
}
}@media(min-width:992px) and (max-width:1199px) {
    .visible-sm.visible-md {
    display: block!important;
}
table.visible-sm.visible-md {
    display: table;
}
tr.visible-sm.visible-md {
    display: table-row!important;
}
th.visible-sm.visible-md, td.visible-sm.visible-md {
    display: table-cell!important;
}
}@media(min-width:1200px) {
    .visible-sm.visible-lg {
    display: block!important;
}
table.visible-sm.visible-lg {
    display: table;
}
tr.visible-sm.visible-lg {
    display: table-row!important;
}
th.visible-sm.visible-lg, td.visible-sm.visible-lg {
    display: table-cell!important;
}
}.visible-md, tr.visible-md, th.visible-md, td.visible-md {
    display: none!important;
}
@media(max-width:767px) {
    .visible-md.visible-xs {
    display: block!important;
}
table.visible-md.visible-xs {
    display: table;
}
tr.visible-md.visible-xs {
    display: table-row!important;
}
th.visible-md.visible-xs, td.visible-md.visible-xs {
    display: table-cell!important;
}
}@media(min-width:768px) and (max-width:991px) {
    .visible-md.visible-sm {
    display: block!important;
}
table.visible-md.visible-sm {
    display: table;
}
tr.visible-md.visible-sm {
    display: table-row!important;
}
th.visible-md.visible-sm, td.visible-md.visible-sm {
    display: table-cell!important;
}
}@media(min-width:992px) and (max-width:1199px) {
    .visible-md {
    display: block!important;
}
table.visible-md {
    display: table;
}
tr.visible-md {
    display: table-row!important;
}
th.visible-md, td.visible-md {
    display: table-cell!important;
}
}@media(min-width:1200px) {
    .visible-md.visible-lg {
    display: block!important;
}
table.visible-md.visible-lg {
    display: table;
}
tr.visible-md.visible-lg {
    display: table-row!important;
}
th.visible-md.visible-lg, td.visible-md.visible-lg {
    display: table-cell!important;
}
}.visible-lg, tr.visible-lg, th.visible-lg, td.visible-lg {
    display: none!important;
}
@media(max-width:767px) {
    .visible-lg.visible-xs {
    display: block!important;
}
table.visible-lg.visible-xs {
    display: table;
}
tr.visible-lg.visible-xs {
    display: table-row!important;
}
th.visible-lg.visible-xs, td.visible-lg.visible-xs {
    display: table-cell!important;
}
}@media(min-width:768px) and (max-width:991px) {
    .visible-lg.visible-sm {
    display: block!important;
}
table.visible-lg.visible-sm {
    display: table;
}
tr.visible-lg.visible-sm {
    display: table-row!important;
}
th.visible-lg.visible-sm, td.visible-lg.visible-sm {
    display: table-cell!important;
}
}@media(min-width:992px) and (max-width:1199px) {
    .visible-lg.visible-md {
    display: block!important;
}
table.visible-lg.visible-md {
    display: table;
}
tr.visible-lg.visible-md {
    display: table-row!important;
}
th.visible-lg.visible-md, td.visible-lg.visible-md {
    display: table-cell!important;
}
}@media(min-width:1200px) {
    .visible-lg {
    display: block!important;
}
table.visible-lg {
    display: table;
}
tr.visible-lg {
    display: table-row!important;
}
th.visible-lg, td.visible-lg {
    display: table-cell!important;
}
}.hidden-xs {
    display: block!important;
}
table.hidden-xs {
    display: table;
}
tr.hidden-xs {
    display: table-row!important;
}
th.hidden-xs, td.hidden-xs {
    display: table-cell!important;
}
@media(max-width:767px) {
    .hidden-xs, tr.hidden-xs, th.hidden-xs, td.hidden-xs {
    display: none!important;
}
}@media(min-width:768px) and (max-width:991px) {
    .hidden-xs.hidden-sm, tr.hidden-xs.hidden-sm, th.hidden-xs.hidden-sm, td.hidden-xs.hidden-sm {
    display: none!important;
}
}@media(min-width:992px) and (max-width:1199px) {
    .hidden-xs.hidden-md, tr.hidden-xs.hidden-md, th.hidden-xs.hidden-md, td.hidden-xs.hidden-md {
    display: none!important;
}
}@media(min-width:1200px) {
    .hidden-xs.hidden-lg, tr.hidden-xs.hidden-lg, th.hidden-xs.hidden-lg, td.hidden-xs.hidden-lg {
    display: none!important;
}
}.hidden-sm {
    display: block!important;
}
table.hidden-sm {
    display: table;
}
tr.hidden-sm {
    display: table-row!important;
}
th.hidden-sm, td.hidden-sm {
    display: table-cell!important;
}
@media(max-width:767px) {
    .hidden-sm.hidden-xs, tr.hidden-sm.hidden-xs, th.hidden-sm.hidden-xs, td.hidden-sm.hidden-xs {
    display: none!important;
}
}@media(min-width:768px) and (max-width:991px) {
    .hidden-sm, tr.hidden-sm, th.hidden-sm, td.hidden-sm {
    display: none!important;
}
}@media(min-width:992px) and (max-width:1199px) {
    .hidden-sm.hidden-md, tr.hidden-sm.hidden-md, th.hidden-sm.hidden-md, td.hidden-sm.hidden-md {
    display: none!important;
}
}@media(min-width:1200px) {
    .hidden-sm.hidden-lg, tr.hidden-sm.hidden-lg, th.hidden-sm.hidden-lg, td.hidden-sm.hidden-lg {
    display: none!important;
}
}.hidden-md {
    display: block!important;
}
table.hidden-md {
    display: table;
}
tr.hidden-md {
    display: table-row!important;
}
th.hidden-md, td.hidden-md {
    display: table-cell!important;
}
@media(max-width:767px) {
    .hidden-md.hidden-xs, tr.hidden-md.hidden-xs, th.hidden-md.hidden-xs, td.hidden-md.hidden-xs {
    display: none!important;
}
}@media(min-width:768px) and (max-width:991px) {
    .hidden-md.hidden-sm, tr.hidden-md.hidden-sm, th.hidden-md.hidden-sm, td.hidden-md.hidden-sm {
    display: none!important;
}
}@media(min-width:992px) and (max-width:1199px) {
    .hidden-md, tr.hidden-md, th.hidden-md, td.hidden-md {
    display: none!important;
}
}@media(min-width:1200px) {
    .hidden-md.hidden-lg, tr.hidden-md.hidden-lg, th.hidden-md.hidden-lg, td.hidden-md.hidden-lg {
    display: none!important;
}
}.hidden-lg {
    display: block!important;
}
table.hidden-lg {
    display: table;
}
tr.hidden-lg {
    display: table-row!important;
}
th.hidden-lg, td.hidden-lg {
    display: table-cell!important;
}
@media(max-width:767px) {
    .hidden-lg.hidden-xs, tr.hidden-lg.hidden-xs, th.hidden-lg.hidden-xs, td.hidden-lg.hidden-xs {
    display: none!important;
}
}@media(min-width:768px) and (max-width:991px) {
    .hidden-lg.hidden-sm, tr.hidden-lg.hidden-sm, th.hidden-lg.hidden-sm, td.hidden-lg.hidden-sm {
    display: none!important;
}
}@media(min-width:992px) and (max-width:1199px) {
    .hidden-lg.hidden-md, tr.hidden-lg.hidden-md, th.hidden-lg.hidden-md, td.hidden-lg.hidden-md {
    display: none!important;
}
}@media(min-width:1200px) {
    .hidden-lg, tr.hidden-lg, th.hidden-lg, td.hidden-lg {
    display: none!important;
}
}.visible-print, tr.visible-print, th.visible-print, td.visible-print {
    display: none!important;
}
@media print {
    .visible-print {
    display: block!important;
}
table.visible-print {
    display: table;
}
tr.visible-print {
    display: table-row!important;
}
th.visible-print, td.visible-print {
    display: table-cell!important;
}
.hidden-print, tr.hidden-print, th.hidden-print, td.hidden-print {
    display: none!important;
}
}.navbar {
    font-size: 13px;
    font-weight: 300;
    border: 0;
}
.navbar .navbar-toggle:hover .icon-bar {
    background-color: #b3b3b3;
}
.navbar-collapse {
    border-top-color: rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: none;
    box-shadow: none;
}
.navbar .dropdown-menu {
    border: 0;
}
.navbar .dropdown-menu>li>a, .navbar .dropdown-menu>li>a:focus {
    font-size: 13px;
    font-weight: 300;
    background-color: transparent;
}
.navbar .dropdown-header {
    color: rgba(255, 255, 255, 0.5);
}
.navbar-default .dropdown-menu {
    background-color: #333;
}
.navbar-default .dropdown-menu>li>a, .navbar-default .dropdown-menu>li>a:focus {
    color: #fff;
}
.navbar-default .dropdown-menu>li>a:hover, .navbar-default .dropdown-menu>.active>a, .navbar-default .dropdown-menu>.active>a:hover {
    background-color: #272727;
}
.navbar-inverse .dropdown-menu {
    background-color: #008cba;
}
.navbar-inverse .dropdown-menu>li>a, .navbar-inverse .dropdown-menu>li>a:focus {
    color: #fff;
}
.navbar-inverse .dropdown-menu>li>a:hover, .navbar-inverse .dropdown-menu>.active>a, .navbar-inverse .dropdown-menu>.active>a:hover {
    background-color: #006687;
}
.btn {
    padding: 14px 28px;
}
.btn-lg {
    padding: 16px 32px;
}
.btn-sm {
    padding: 8px 16px;
}
.btn-xs {
    padding: 4px 8px;
}
.btn-group .btn~.dropdown-toggle {
    padding-right: 16px;
    padding-left: 16px;
}
.btn-group .dropdown-menu {
    border-top-width: 0;
}
.btn-group.dropup .dropdown-menu {
    margin-bottom: 0;
    border-top-width: 1px;
    border-bottom-width: 0;
}
.btn-group .dropdown-toggle.btn-default~.dropdown-menu {
    background-color: #e7e7e7;
    border-color: #dadada;
}
.btn-group .dropdown-toggle.btn-default~.dropdown-menu>li>a {
    color: #333;
}
.btn-group .dropdown-toggle.btn-default~.dropdown-menu>li>a:hover {
    background-color: #d3d3d3;
}
.btn-group .dropdown-toggle.btn-primary~.dropdown-menu {
    background-color: #008cba;
    border-color: #0079a1;
}
.btn-group .dropdown-toggle.btn-primary~.dropdown-menu>li>a {
    color: #fff;
}
.btn-group .dropdown-toggle.btn-primary~.dropdown-menu>li>a:hover {
    background-color: #006d91;
}
.btn-group .dropdown-toggle.btn-success~.dropdown-menu {
    background-color: #43ac6a;
    border-color: #3c9a5f;
}
.btn-group .dropdown-toggle.btn-success~.dropdown-menu>li>a {
    color: #fff;
}
.btn-group .dropdown-toggle.btn-success~.dropdown-menu>li>a:hover {
    background-color: #388f58;
}
.btn-group .dropdown-toggle.btn-info~.dropdown-menu {
    background-color: #5bc0de;
    border-color: #46b8da;
}
.btn-group .dropdown-toggle.btn-info~.dropdown-menu>li>a {
    color: #fff;
}
.btn-group .dropdown-toggle.btn-info~.dropdown-menu>li>a:hover {
    background-color: #39b3d7;
}
.btn-group .dropdown-toggle.btn-warning~.dropdown-menu {
    background-color: #e99002;
    border-color: #d08002;
}
.btn-group .dropdown-toggle.btn-warning~.dropdown-menu>li>a {
    color: #fff;
}
.btn-group .dropdown-toggle.btn-warning~.dropdown-menu>li>a:hover {
    background-color: #c17702;
}
.btn-group .dropdown-toggle.btn-danger~.dropdown-menu {
    background-color: #f04124;
    border-color: #ea2f10;
}
.btn-group .dropdown-toggle.btn-danger~.dropdown-menu>li>a {
    color: #fff;
}
.btn-group .dropdown-toggle.btn-danger~.dropdown-menu>li>a:hover {
    background-color: #dc2c0f;
}
.lead {
    color: #6f6f6f;
}
cite {
    font-style: italic;
}
blockquote {
    color: #6f6f6f;
    border-left-width: 1px;
}
blockquote.pull-right {
    border-right-width: 1px;
}
blockquote small {
    font-size: 12px;
    font-weight: 300;
}
table {
    font-size: 12px;
}
input, .form-control {
    padding: 7px;
    font-size: 12px;
}
label, .control-label, .help-block, .checkbox, .radio {
    font-size: 12px;
    font-weight: normal;
}
.form-group .btn, .input-group-addon, .input-group-btn .btn {
    padding: 8px 14px;
    font-size: 12px;
}
.nav .open>a, .nav .open>a:hover, .nav .open>a:focus {
    border-color: transparent;
}
.nav-tabs>li>a {
    color: #222;
    background-color: #e7e7e7;
}
.nav-tabs .caret {
    border-top-color: #222;
    border-bottom-color: #222;
}
.nav-pills {
    font-weight: 300;
}
.breadcrumb {
    font-size: 10px;
    font-weight: 300;
    text-transform: uppercase;
    border: 1px solid #ddd;
    border-radius: 3px;
}
.pagination {
    font-size: 12px;
    font-weight: 300;
    color: #999;
}
.pagination>li>a, .pagination>li>span {
    margin-left: 4px;
    color: #999;
}
.pagination>.active>a, .pagination>.active>span {
    color: #fff;
}
.pagination>li>a, .pagination>li:first-child>a, .pagination>li:last-child>a, .pagination>li>span, .pagination>li:first-child>span, .pagination>li:last-child>span {
    border-radius: 3px;
}
.pagination-lg>li>a {
    padding-right: 22px;
    padding-left: 22px;
}
.pagination-sm>li>a {
    padding: 0 5px;
}
.pager {
    font-size: 12px;
    font-weight: 300;
    color: #999;
}
.list-group {
    font-size: 12px;
    font-weight: 300;
}
.label {
    padding-right: 1em;
    padding-left: 1em;
    font-weight: 300;
    border-radius: 0;
}
.label-default {
    color: #333;
    background-color: #e7e7e7;
}
.badge {
    font-weight: 300;
}
.progress {
    height: 22px;
    padding: 2px;
    background-color: #f6f6f6;
    border: 1px solid #ccc;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.dropdown-menu {
    padding: 0;
    margin-top: 0;
    font-size: 12px;
}
.dropdown-menu>li>a {
    padding: 12px 15px;
}
.dropdown-header {
    padding-right: 15px;
    padding-left: 15px;
    font-size: 9px;
    text-transform: uppercase;
}
.popover {
    font-size: 12px;
    font-weight: 300;
    color: #fff;
}
.panel-heading, .panel-footer {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}
.clearfix:before, .clearfix:after {
    display: table;
    content: " "}
.clearfix:after {
    clear: both;
}
.clearfix:before, .clearfix:after {
    display: table;
    content: " "}
.clearfix:after {
    clear: both;
}
.center-block {
    display: block;
    margin-right: auto;
    margin-left: auto;
}
.pull-right {
    float: right!important;
}
.pull-left {
    float: left!important;
}
.hide {
    display: none!important;
}
.show {
    display: block!important;
}
.invisible {
    visibility: hidden;
}
.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}
.hidden {
    display: none!important;
    visibility: hidden!important;
}
.affix {
    position: fixed;
}


================================================
FILE: docs/cinder/css/cinder.css
================================================
/*
  Cinder Theme for MkDocs | Copyright 2015 Christopher Simpkins | MIT License
*/

body {
    font-family:"Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    background-color: #FFF;
    color: #343838;
}
h1, h2, h3, h4, h5, h6 {
    font-family:'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #222;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
    color: #B1B7B9;
}

h2 {
    margin-top: 35px;
}

h1, h2 {
    font-weight: 700;
}
h4 {
    font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 300;
    margin-top: 20px;
    font-style: italic;
}
h5 {
    font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-variant: small-caps;
}
pre, code {
    background-color: #FCFDFF;
}
pre>code {
    font-size: 13px;
}
pre {
    margin-top: 25px;
    margin-bottom: 25px;
}
.lead {
    font-family:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.0312em;
    color: #B1B7B9;
}
.navbar-default {
    background-color: #343838;
    border-bottom: 8px #EBF2F2 solid;
}
.bs-sidenav {
    background-image: url("../img/grid11.png");
    background-repeat: repeat;
    font-family: Inter,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 13px;
}
.well {
    background-color: #FCFDFF;
}
.btn-default {
    background-color:#FCFDFF;
}
.table-striped > tbody > tr:nth-child(2n+1) > td, .table-striped > tbody > tr:nth-child(2n+1) > th {
    background-color: #FCFDFF;
}
#mkdocs-search-query:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
#mkdocs-search-query {
    font-family:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #343838;
    height: 45px;
}
footer > hr {
    width: 35%;
}


================================================
FILE: docs/cinder/css/highlight.css
================================================
/*

github.com style (c) Vasily Polovnyov <vast@whiteants.net>

*/

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  color: #333;
  background: #FCFDFF;
}

.hljs-comment,
.hljs-quote {
  color: #998;
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
  color: #333;
  font-weight: bold;
}

.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
  color: #008080;
}

.hljs-string,
.hljs-doctag {
  color: #d14;
}

.hljs-title,
.hljs-section,
.hljs-selector-id {
  color: #900;
  font-weight: bold;
}

.hljs-subst {
  font-weight: normal;
}

.hljs-type,
.hljs-class .hljs-title {
  color: #458;
  font-weight: bold;
}

.hljs-tag,
.hljs-name,
.hljs-attribute {
  color: #000080;
  font-weight: normal;
}

.hljs-regexp,
.hljs-link {
  color: #009926;
}

.hljs-symbol,
.hljs-bullet {
  color: #990073;
}

.hljs-built_in,
.hljs-builtin-name {
  color: #0086b3;
}

.hljs-meta {
  color: #999;
  font-weight: bold;
}

.hljs-deletion {
  background: #fdd;
}

.hljs-addition {
  background: #dfd;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: bold;
}


================================================
FILE: docs/cinder/js/base.js
================================================
function getSearchTerm() {
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == 'q') {
            return sParameterName[1];
        }
    }
}

$(document).ready(function() {
    /**
     * ------------------------------------------------------------------------
     * Taken from themes/mkdocs/js/base.js
     * ------------------------------------------------------------------------
     */
    var search_term = getSearchTerm(),
        $search_modal = $('#mkdocs_search_modal'),
        $keyboard_modal = $('#mkdocs_keyboard_modal');

    if (search_term) {
        $search_modal.modal();
    }

    // make sure search input gets autofocus everytime modal opens.
    $search_modal.on('shown.bs.modal', function() {
        $search_modal.find('#mkdocs-search-query').focus();
    });

    // Close search modal when result is selected
    // The links get added later so listen to parent
    $('#mkdocs-search-results').click(function(e) {
        if ($(e.target).is('a')) {
            $search_modal.modal('hide');
        }
    });

    if (typeof shortcuts !== 'undefined') {
        // Populate keyboard modal with proper Keys
        $keyboard_modal.find('.help.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.help];
        $keyboard_modal.find('.prev.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.previous];
        $keyboard_modal.find('.next.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.next];
        $keyboard_modal.find('.search.shortcut kbd')[0].innerHTML = keyCodes[shortcuts.search];

        // Keyboard navigation
        document.addEventListener("keydown", function(e) {
            if ($(e.target).is(':input')) return true;
            var key = e.which || e.key || window.event && window.event.key;
            var page;
            switch (key) {
                case shortcuts.next:
                    page = $('.navbar a[rel="next"]:first').prop('href');
                    break;
                case shortcuts.previous:
                    page = $('.navbar a[rel="prev"]:first').prop('href');
                    break;
                case shortcuts.search:
                    e.preventDefault();
                    $keyboard_modal.modal('hide');
                    $search_modal.modal('show');
                    $search_modal.find('#mkdocs-search-query').focus();
                    break;
                case shortcuts.help:
                    $search_modal.modal('hide');
                    $keyboard_modal.modal('show');
                    break;
                default:
                    break;
            }
            if (page) {
                $keyboard_modal.modal('hide');
                window.location.href = page;
            }
        });
    }

    $('t
Download .txt
gitextract_u1zhxkiu/

├── .dockerignore
├── .github/
│   └── workflows/
│       ├── docker-image.yml
│       ├── manual.yml
│       └── test.yml
├── .gitignore
├── CMakeLists.txt
├── Dockerfile
├── Dockerfile_mkl
├── Dockerfile_openblas
├── LICENSE
├── Makefile
├── README.md
├── RELEASE_LOG.md
├── VERSION
├── docs/
│   ├── cinder/
│   │   ├── 404.html
│   │   ├── __init__.py
│   │   ├── base.html
│   │   ├── content.html
│   │   ├── css/
│   │   │   ├── base.css
│   │   │   ├── bootstrap-custom.css
│   │   │   ├── cinder.css
│   │   │   └── highlight.css
│   │   ├── js/
│   │   │   └── base.js
│   │   ├── keyboard-modal.html
│   │   ├── main.html
│   │   ├── mkdocs_theme.yml
│   │   ├── nav-sub.html
│   │   ├── nav.html
│   │   ├── search-modal.html
│   │   └── toc.html
│   ├── docs/
│   │   ├── custom/
│   │   │   └── style.css
│   │   ├── faq.md
│   │   ├── index.md
│   │   ├── install.md
│   │   ├── options.md
│   │   ├── overview.md
│   │   ├── performance.md
│   │   └── recommendations.md
│   ├── mkdocs.yml
│   ├── refs.bib
│   └── site/
│       ├── css/
│       │   ├── base.css
│       │   ├── bootstrap-custom.css
│       │   ├── cinder.css
│       │   └── highlight.css
│       ├── custom/
│       │   └── style.css
│       ├── faq/
│       │   └── index.html
│       ├── index.html
│       ├── install/
│       │   └── index.html
│       ├── js/
│       │   └── base.js
│       ├── options/
│       │   └── index.html
│       ├── overview/
│       │   └── index.html
│       ├── performance/
│       │   └── index.html
│       ├── recommendations/
│       │   └── index.html
│       ├── search/
│       │   ├── lunr.js
│       │   ├── main.js
│       │   ├── search_index.json
│       │   └── worker.js
│       └── sitemap.xml
├── example/
│   ├── covariates.txt
│   ├── covariates_wBin.txt
│   ├── example.bed
│   ├── example.bgen
│   ├── example.bgen.bgi
│   ├── example.bim
│   ├── example.fam
│   ├── example.pgen
│   ├── example.psam
│   ├── example.pvar
│   ├── example.test_bin_out_firth_Y1.regenie
│   ├── example_3chr.annotations
│   ├── example_3chr.annotationsV2
│   ├── example_3chr.bed
│   ├── example_3chr.bgen
│   ├── example_3chr.bgen.bgi
│   ├── example_3chr.bim
│   ├── example_3chr.fam
│   ├── example_3chr.joint_setlist
│   ├── example_3chr.masks
│   ├── example_3chr.sample
│   ├── example_3chr.setlist
│   ├── example_3chr.write_sets
│   ├── example_3chr_masks.bed
│   ├── example_3chr_masks.bim
│   ├── example_3chr_masks.fam
│   ├── example_3chr_zstd.bgen
│   ├── fid_iid_to_remove.txt
│   ├── phenotype.txt
│   ├── phenotype_bin.txt
│   ├── phenotype_bin_wNA.txt
│   ├── snplist_rm.txt
│   └── test_bin_out_firth_Y1.regenie
├── external_libs/
│   ├── LBFGSpp/
│   │   ├── AUTHORS.md
│   │   ├── LICENSE.md
│   │   ├── README.md
│   │   └── include/
│   │       ├── LBFGS.h
│   │       ├── LBFGSB.h
│   │       └── LBFGSpp/
│   │           ├── BFGSMat.h
│   │           ├── BKLDLT.h
│   │           ├── Cauchy.h
│   │           ├── LineSearchBacktracking.h
│   │           ├── LineSearchBracketing.h
│   │           ├── LineSearchMoreThuente.h
│   │           ├── LineSearchNocedalWright.h
│   │           ├── Param.h
│   │           └── SubspaceMin.h
│   ├── cxxopts/
│   │   ├── LICENSE
│   │   └── include/
│   │       └── cxxopts.hpp
│   ├── eigen-3.4.0/
│   │   └── Eigen/
│   │       ├── Cholesky
│   │       ├── CholmodSupport
│   │       ├── Core
│   │       ├── Dense
│   │       ├── Eigen
│   │       ├── Eigenvalues
│   │       ├── Geometry
│   │       ├── Householder
│   │       ├── IterativeLinearSolvers
│   │       ├── Jacobi
│   │       ├── KLUSupport
│   │       ├── LU
│   │       ├── MetisSupport
│   │       ├── OrderingMethods
│   │       ├── PaStiXSupport
│   │       ├── PardisoSupport
│   │       ├── QR
│   │       ├── QtAlignedMalloc
│   │       ├── SPQRSupport
│   │       ├── SVD
│   │       ├── Sparse
│   │       ├── SparseCholesky
│   │       ├── SparseCore
│   │       ├── SparseLU
│   │       ├── SparseQR
│   │       ├── StdDeque
│   │       ├── StdList
│   │       ├── StdVector
│   │       ├── SuperLUSupport
│   │       ├── UmfPackSupport
│   │       └── src/
│   │           ├── Cholesky/
│   │           │   ├── LDLT.h
│   │           │   ├── LLT.h
│   │           │   └── LLT_LAPACKE.h
│   │           ├── CholmodSupport/
│   │           │   └── CholmodSupport.h
│   │           ├── Core/
│   │           │   ├── ArithmeticSequence.h
│   │           │   ├── Array.h
│   │           │   ├── ArrayBase.h
│   │           │   ├── ArrayWrapper.h
│   │           │   ├── Assign.h
│   │           │   ├── AssignEvaluator.h
│   │           │   ├── Assign_MKL.h
│   │           │   ├── BandMatrix.h
│   │           │   ├── Block.h
│   │           │   ├── BooleanRedux.h
│   │           │   ├── CommaInitializer.h
│   │           │   ├── ConditionEstimator.h
│   │           │   ├── CoreEvaluators.h
│   │           │   ├── CoreIterators.h
│   │           │   ├── CwiseBinaryOp.h
│   │           │   ├── CwiseNullaryOp.h
│   │           │   ├── CwiseTernaryOp.h
│   │           │   ├── CwiseUnaryOp.h
│   │           │   ├── CwiseUnaryView.h
│   │           │   ├── DenseBase.h
│   │           │   ├── DenseCoeffsBase.h
│   │           │   ├── DenseStorage.h
│   │           │   ├── Diagonal.h
│   │           │   ├── DiagonalMatrix.h
│   │           │   ├── DiagonalProduct.h
│   │           │   ├── Dot.h
│   │           │   ├── EigenBase.h
│   │           │   ├── ForceAlignedAccess.h
│   │           │   ├── Fuzzy.h
│   │           │   ├── GeneralProduct.h
│   │           │   ├── GenericPacketMath.h
│   │           │   ├── GlobalFunctions.h
│   │           │   ├── IO.h
│   │           │   ├── IndexedView.h
│   │           │   ├── Inverse.h
│   │           │   ├── Map.h
│   │           │   ├── MapBase.h
│   │           │   ├── MathFunctions.h
│   │           │   ├── MathFunctionsImpl.h
│   │           │   ├── Matrix.h
│   │           │   ├── MatrixBase.h
│   │           │   ├── NestByValue.h
│   │           │   ├── NoAlias.h
│   │           │   ├── NumTraits.h
│   │           │   ├── PartialReduxEvaluator.h
│   │           │   ├── PermutationMatrix.h
│   │           │   ├── PlainObjectBase.h
│   │           │   ├── Product.h
│   │           │   ├── ProductEvaluators.h
│   │           │   ├── Random.h
│   │           │   ├── Redux.h
│   │           │   ├── Ref.h
│   │           │   ├── Replicate.h
│   │           │   ├── Reshaped.h
│   │           │   ├── ReturnByValue.h
│   │           │   ├── Reverse.h
│   │           │   ├── Select.h
│   │           │   ├── SelfAdjointView.h
│   │           │   ├── SelfCwiseBinaryOp.h
│   │           │   ├── Solve.h
│   │           │   ├── SolveTriangular.h
│   │           │   ├── SolverBase.h
│   │           │   ├── StableNorm.h
│   │           │   ├── StlIterators.h
│   │           │   ├── Stride.h
│   │           │   ├── Swap.h
│   │           │   ├── Transpose.h
│   │           │   ├── Transpositions.h
│   │           │   ├── TriangularMatrix.h
│   │           │   ├── VectorBlock.h
│   │           │   ├── VectorwiseOp.h
│   │           │   ├── Visitor.h
│   │           │   ├── arch/
│   │           │   │   ├── AVX/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── AVX512/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── AltiVec/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── MatrixProduct.h
│   │           │   │   │   ├── MatrixProductCommon.h
│   │           │   │   │   ├── MatrixProductMMA.h
│   │           │   │   │   └── PacketMath.h
│   │           │   │   ├── CUDA/
│   │           │   │   │   └── Complex.h
│   │           │   │   ├── Default/
│   │           │   │   │   ├── BFloat16.h
│   │           │   │   │   ├── ConjHelper.h
│   │           │   │   │   ├── GenericPacketMathFunctions.h
│   │           │   │   │   ├── GenericPacketMathFunctionsFwd.h
│   │           │   │   │   ├── Half.h
│   │           │   │   │   ├── Settings.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── GPU/
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── HIP/
│   │           │   │   │   └── hcc/
│   │           │   │   │       └── math_constants.h
│   │           │   │   ├── MSA/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   └── PacketMath.h
│   │           │   │   ├── NEON/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── GeneralBlockPanelKernel.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── SSE/
│   │           │   │   │   ├── Complex.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── SVE/
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   ├── SYCL/
│   │           │   │   │   ├── InteropHeaders.h
│   │           │   │   │   ├── MathFunctions.h
│   │           │   │   │   ├── PacketMath.h
│   │           │   │   │   ├── SyclMemoryModel.h
│   │           │   │   │   └── TypeCasting.h
│   │           │   │   └── ZVector/
│   │           │   │       ├── Complex.h
│   │           │   │       ├── MathFunctions.h
│   │           │   │       └── PacketMath.h
│   │           │   ├── functors/
│   │           │   │   ├── AssignmentFunctors.h
│   │           │   │   ├── BinaryFunctors.h
│   │           │   │   ├── NullaryFunctors.h
│   │           │   │   ├── StlFunctors.h
│   │           │   │   ├── TernaryFunctors.h
│   │           │   │   └── UnaryFunctors.h
│   │           │   ├── products/
│   │           │   │   ├── GeneralBlockPanelKernel.h
│   │           │   │   ├── GeneralMatrixMatrix.h
│   │           │   │   ├── GeneralMatrixMatrixTriangular.h
│   │           │   │   ├── GeneralMatrixMatrixTriangular_BLAS.h
│   │           │   │   ├── GeneralMatrixMatrix_BLAS.h
│   │           │   │   ├── GeneralMatrixVector.h
│   │           │   │   ├── GeneralMatrixVector_BLAS.h
│   │           │   │   ├── Parallelizer.h
│   │           │   │   ├── SelfadjointMatrixMatrix.h
│   │           │   │   ├── SelfadjointMatrixMatrix_BLAS.h
│   │           │   │   ├── SelfadjointMatrixVector.h
│   │           │   │   ├── SelfadjointMatrixVector_BLAS.h
│   │           │   │   ├── SelfadjointProduct.h
│   │           │   │   ├── SelfadjointRank2Update.h
│   │           │   │   ├── TriangularMatrixMatrix.h
│   │           │   │   ├── TriangularMatrixMatrix_BLAS.h
│   │           │   │   ├── TriangularMatrixVector.h
│   │           │   │   ├── TriangularMatrixVector_BLAS.h
│   │           │   │   ├── TriangularSolverMatrix.h
│   │           │   │   ├── TriangularSolverMatrix_BLAS.h
│   │           │   │   └── TriangularSolverVector.h
│   │           │   └── util/
│   │           │       ├── BlasUtil.h
│   │           │       ├── ConfigureVectorization.h
│   │           │       ├── Constants.h
│   │           │       ├── DisableStupidWarnings.h
│   │           │       ├── ForwardDeclarations.h
│   │           │       ├── IndexedViewHelper.h
│   │           │       ├── IntegralConstant.h
│   │           │       ├── MKL_support.h
│   │           │       ├── Macros.h
│   │           │       ├── Memory.h
│   │           │       ├── Meta.h
│   │           │       ├── NonMPL2.h
│   │           │       ├── ReenableStupidWarnings.h
│   │           │       ├── ReshapedHelper.h
│   │           │       ├── StaticAssert.h
│   │           │       ├── SymbolicIndex.h
│   │           │       └── XprHelper.h
│   │           ├── Eigenvalues/
│   │           │   ├── ComplexEigenSolver.h
│   │           │   ├── ComplexSchur.h
│   │           │   ├── ComplexSchur_LAPACKE.h
│   │           │   ├── EigenSolver.h
│   │           │   ├── GeneralizedEigenSolver.h
│   │           │   ├── GeneralizedSelfAdjointEigenSolver.h
│   │           │   ├── HessenbergDecomposition.h
│   │           │   ├── MatrixBaseEigenvalues.h
│   │           │   ├── RealQZ.h
│   │           │   ├── RealSchur.h
│   │           │   ├── RealSchur_LAPACKE.h
│   │           │   ├── SelfAdjointEigenSolver.h
│   │           │   ├── SelfAdjointEigenSolver_LAPACKE.h
│   │           │   └── Tridiagonalization.h
│   │           ├── Geometry/
│   │           │   ├── AlignedBox.h
│   │           │   ├── AngleAxis.h
│   │           │   ├── EulerAngles.h
│   │           │   ├── Homogeneous.h
│   │           │   ├── Hyperplane.h
│   │           │   ├── OrthoMethods.h
│   │           │   ├── ParametrizedLine.h
│   │           │   ├── Quaternion.h
│   │           │   ├── Rotation2D.h
│   │           │   ├── RotationBase.h
│   │           │   ├── Scaling.h
│   │           │   ├── Transform.h
│   │           │   ├── Translation.h
│   │           │   ├── Umeyama.h
│   │           │   └── arch/
│   │           │       └── Geometry_SIMD.h
│   │           ├── Householder/
│   │           │   ├── BlockHouseholder.h
│   │           │   ├── Householder.h
│   │           │   └── HouseholderSequence.h
│   │           ├── IterativeLinearSolvers/
│   │           │   ├── BasicPreconditioners.h
│   │           │   ├── BiCGSTAB.h
│   │           │   ├── ConjugateGradient.h
│   │           │   ├── IncompleteCholesky.h
│   │           │   ├── IncompleteLUT.h
│   │           │   ├── IterativeSolverBase.h
│   │           │   ├── LeastSquareConjugateGradient.h
│   │           │   └── SolveWithGuess.h
│   │           ├── Jacobi/
│   │           │   └── Jacobi.h
│   │           ├── KLUSupport/
│   │           │   └── KLUSupport.h
│   │           ├── LU/
│   │           │   ├── Determinant.h
│   │           │   ├── FullPivLU.h
│   │           │   ├── InverseImpl.h
│   │           │   ├── PartialPivLU.h
│   │           │   ├── PartialPivLU_LAPACKE.h
│   │           │   └── arch/
│   │           │       └── InverseSize4.h
│   │           ├── MetisSupport/
│   │           │   └── MetisSupport.h
│   │           ├── OrderingMethods/
│   │           │   ├── Amd.h
│   │           │   ├── Eigen_Colamd.h
│   │           │   └── Ordering.h
│   │           ├── PaStiXSupport/
│   │           │   └── PaStiXSupport.h
│   │           ├── PardisoSupport/
│   │           │   └── PardisoSupport.h
│   │           ├── QR/
│   │           │   ├── ColPivHouseholderQR.h
│   │           │   ├── ColPivHouseholderQR_LAPACKE.h
│   │           │   ├── CompleteOrthogonalDecomposition.h
│   │           │   ├── FullPivHouseholderQR.h
│   │           │   ├── HouseholderQR.h
│   │           │   └── HouseholderQR_LAPACKE.h
│   │           ├── SPQRSupport/
│   │           │   └── SuiteSparseQRSupport.h
│   │           ├── SVD/
│   │           │   ├── BDCSVD.h
│   │           │   ├── JacobiSVD.h
│   │           │   ├── JacobiSVD_LAPACKE.h
│   │           │   ├── SVDBase.h
│   │           │   └── UpperBidiagonalization.h
│   │           ├── SparseCholesky/
│   │           │   ├── SimplicialCholesky.h
│   │           │   └── SimplicialCholesky_impl.h
│   │           ├── SparseCore/
│   │           │   ├── AmbiVector.h
│   │           │   ├── CompressedStorage.h
│   │           │   ├── ConservativeSparseSparseProduct.h
│   │           │   ├── MappedSparseMatrix.h
│   │           │   ├── SparseAssign.h
│   │           │   ├── SparseBlock.h
│   │           │   ├── SparseColEtree.h
│   │           │   ├── SparseCompressedBase.h
│   │           │   ├── SparseCwiseBinaryOp.h
│   │           │   ├── SparseCwiseUnaryOp.h
│   │           │   ├── SparseDenseProduct.h
│   │           │   ├── SparseDiagonalProduct.h
│   │           │   ├── SparseDot.h
│   │           │   ├── SparseFuzzy.h
│   │           │   ├── SparseMap.h
│   │           │   ├── SparseMatrix.h
│   │           │   ├── SparseMatrixBase.h
│   │           │   ├── SparsePermutation.h
│   │           │   ├── SparseProduct.h
│   │           │   ├── SparseRedux.h
│   │           │   ├── SparseRef.h
│   │           │   ├── SparseSelfAdjointView.h
│   │           │   ├── SparseSolverBase.h
│   │           │   ├── SparseSparseProductWithPruning.h
│   │           │   ├── SparseTranspose.h
│   │           │   ├── SparseTriangularView.h
│   │           │   ├── SparseUtil.h
│   │           │   ├── SparseVector.h
│   │           │   ├── SparseView.h
│   │           │   └── TriangularSolver.h
│   │           ├── SparseLU/
│   │           │   ├── SparseLU.h
│   │           │   ├── SparseLUImpl.h
│   │           │   ├── SparseLU_Memory.h
│   │           │   ├── SparseLU_Structs.h
│   │           │   ├── SparseLU_SupernodalMatrix.h
│   │           │   ├── SparseLU_Utils.h
│   │           │   ├── SparseLU_column_bmod.h
│   │           │   ├── SparseLU_column_dfs.h
│   │           │   ├── SparseLU_copy_to_ucol.h
│   │           │   ├── SparseLU_gemm_kernel.h
│   │           │   ├── SparseLU_heap_relax_snode.h
│   │           │   ├── SparseLU_kernel_bmod.h
│   │           │   ├── SparseLU_panel_bmod.h
│   │           │   ├── SparseLU_panel_dfs.h
│   │           │   ├── SparseLU_pivotL.h
│   │           │   ├── SparseLU_pruneL.h
│   │           │   └── SparseLU_relax_snode.h
│   │           ├── SparseQR/
│   │           │   └── SparseQR.h
│   │           ├── StlSupport/
│   │           │   ├── StdDeque.h
│   │           │   ├── StdList.h
│   │           │   ├── StdVector.h
│   │           │   └── details.h
│   │           ├── SuperLUSupport/
│   │           │   └── SuperLUSupport.h
│   │           ├── UmfPackSupport/
│   │           │   └── UmfPackSupport.h
│   │           ├── misc/
│   │           │   ├── Image.h
│   │           │   ├── Kernel.h
│   │           │   ├── RealSvd2x2.h
│   │           │   ├── blas.h
│   │           │   ├── lapack.h
│   │           │   ├── lapacke.h
│   │           │   └── lapacke_mangling.h
│   │           └── plugins/
│   │               ├── ArrayCwiseBinaryOps.h
│   │               ├── ArrayCwiseUnaryOps.h
│   │               ├── BlockMethods.h
│   │               ├── CommonCwiseBinaryOps.h
│   │               ├── CommonCwiseUnaryOps.h
│   │               ├── IndexedViewMethods.h
│   │               ├── MatrixCwiseBinaryOps.h
│   │               ├── MatrixCwiseUnaryOps.h
│   │               └── ReshapedMethods.h
│   ├── mvtnorm/
│   │   ├── Makefile
│   │   ├── mvt.f
│   │   ├── mvtnorm.cpp
│   │   ├── mvtnorm.h
│   │   └── randomF77.c
│   ├── pgenlib/
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── include/
│   │   │   ├── pgenlib_misc.cc
│   │   │   ├── pgenlib_misc.h
│   │   │   ├── pgenlib_read.cc
│   │   │   ├── pgenlib_read.h
│   │   │   ├── plink2_base.cc
│   │   │   ├── plink2_base.h
│   │   │   ├── plink2_bits.cc
│   │   │   └── plink2_bits.h
│   │   ├── pgenlib_ffi_support.cpp
│   │   ├── pgenlib_ffi_support.h
│   │   ├── pgenlibr.cpp
│   │   ├── pgenlibr.h
│   │   ├── pvar_ffi_support.cc
│   │   ├── pvar_ffi_support.h
│   │   └── simde/
│   │       ├── check.h
│   │       ├── debug-trap.h
│   │       ├── hedley.h
│   │       ├── simde-aes.h
│   │       ├── simde-align.h
│   │       ├── simde-arch.h
│   │       ├── simde-bf16.h
│   │       ├── simde-common.h
│   │       ├── simde-complex.h
│   │       ├── simde-constify.h
│   │       ├── simde-detect-clang.h
│   │       ├── simde-diagnostic.h
│   │       ├── simde-f16.h
│   │       ├── simde-features.h
│   │       ├── simde-math.h
│   │       └── x86/
│   │           ├── aes.h
│   │           ├── avx.h
│   │           ├── avx2.h
│   │           ├── clmul.h
│   │           ├── f16c.h
│   │           ├── fma.h
│   │           ├── gfni.h
│   │           ├── mmx.h
│   │           ├── sse.h
│   │           ├── sse2.h
│   │           ├── sse3.h
│   │           ├── sse4.1.h
│   │           ├── sse4.2.h
│   │           ├── ssse3.h
│   │           ├── svml.h
│   │           └── xop.h
│   ├── qf/
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── qfc.cpp
│   │   └── qfc.h
│   ├── quadpack/
│   │   ├── Makefile
│   │   ├── README.md
│   │   ├── d1mach.f
│   │   ├── dqags.f
│   │   ├── dqagse.f
│   │   ├── dqelg.f
│   │   ├── dqk21.f
│   │   └── dqpsrt.f
│   └── remeta/
│       ├── Makefile
│       ├── README.md
│       ├── bgz_writer.cpp
│       ├── bgz_writer.hpp
│       ├── regenie_ld_matrix_writer.cpp
│       └── regenie_ld_matrix_writer.hpp
├── scripts/
│   ├── parseLD.r
│   ├── regenie_docker.sh
│   ├── regenie_paper/
│   │   ├── README.md
│   │   └── scripts/
│   │       ├── manP.colors
│   │       ├── master.sh
│   │       ├── mk_plots_bt.r
│   │       ├── mk_plots_qt.r
│   │       ├── mk_sparseGRM.r
│   │       ├── prep_files.sh
│   │       ├── run_methods.r
│   │       └── std_ffuns.r
│   └── rplot
├── src/
│   ├── Data.cpp
│   ├── Data.hpp
│   ├── Files.cpp
│   ├── Files.hpp
│   ├── Geno.cpp
│   ├── Geno.hpp
│   ├── HLM.cpp
│   ├── HLM.hpp
│   ├── Interaction.cpp
│   ├── Interaction.hpp
│   ├── Joint_Tests.cpp
│   ├── Joint_Tests.hpp
│   ├── MCC.cpp
│   ├── MCC.hpp
│   ├── Masks.cpp
│   ├── Masks.hpp
│   ├── MultiTrait_Tests.cpp
│   ├── MultiTrait_Tests.hpp
│   ├── NNLS.cpp
│   ├── NNLS.hpp
│   ├── Ordinal.cpp
│   ├── Ordinal.hpp
│   ├── Pheno.cpp
│   ├── Pheno.hpp
│   ├── Regenie.cpp
│   ├── Regenie.hpp
│   ├── SKAT.cpp
│   ├── SKAT.hpp
│   ├── Step1_Models.cpp
│   ├── Step1_Models.hpp
│   ├── Step2_Models.cpp
│   ├── Step2_Models.hpp
│   ├── bgen_to_vcf.hpp
│   ├── cox_firth.cpp
│   ├── cox_firth.hpp
│   ├── cox_ridge.cpp
│   ├── cox_ridge.hpp
│   ├── cox_score.cpp
│   ├── cox_score.hpp
│   ├── survival_data.cpp
│   └── survival_data.hpp
└── test/
    ├── check_na.sh
    ├── test_bash.sh
    ├── test_conda.sh
    ├── test_docker.sh
    └── test_singularity.sh
Download .txt
Showing preview only (673K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (7364 symbols across 394 files)

FILE: docs/cinder/js/base.js
  function getSearchTerm (line 1) | function getSearchTerm() {

FILE: docs/site/js/base.js
  function getSearchTerm (line 1) | function getSearchTerm() {

FILE: docs/site/search/main.js
  function getSearchTermFromLocation (line 1) | function getSearchTermFromLocation() {
  function joinUrl (line 12) | function joinUrl (base, path) {
  function escapeHtml (line 24) | function escapeHtml (value) {
  function formatResult (line 31) | function formatResult (location, title, summary) {
  function displayResults (line 35) | function displayResults (results) {
  function doSearch (line 55) | function doSearch () {
  function initSearch (line 69) | function initSearch () {
  function onWorkerMessage (line 81) | function onWorkerMessage (e) {

FILE: docs/site/search/worker.js
  function getScript (line 8) | function getScript(script, callback) {
  function getScriptsInOrder (line 17) | function getScriptsInOrder(scripts, callback) {
  function loadScripts (line 27) | function loadScripts(urls, callback) {
  function onJSONLoaded (line 36) | function onJSONLoaded () {
  function onScriptsLoaded (line 59) | function onScriptsLoaded () {
  function init (line 95) | function init () {
  function search (line 106) | function search (query) {

FILE: external_libs/LBFGSpp/include/LBFGS.h
  function namespace (line 15) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSB.h
  function namespace (line 17) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSpp/BFGSMat.h
  function namespace (line 14) | namespace LBFGSpp {
  function apply_PtBQv (line 471) | inline bool apply_PtBQv(const Matrix& WP, const Matrix& WQ, const Vector...

FILE: external_libs/LBFGSpp/include/LBFGSpp/BKLDLT.h
  function namespace (line 14) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSpp/Cauchy.h
  function namespace (line 14) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSpp/LineSearchBacktracking.h
  function namespace (line 11) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSpp/LineSearchBracketing.h
  function namespace (line 11) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSpp/LineSearchMoreThuente.h
  function namespace (line 12) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSpp/LineSearchNocedalWright.h
  function namespace (line 12) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSpp/Param.h
  function namespace (line 11) | namespace LBFGSpp {

FILE: external_libs/LBFGSpp/include/LBFGSpp/SubspaceMin.h
  function namespace (line 15) | namespace LBFGSpp {

FILE: external_libs/cxxopts/include/cxxopts.hpp
  type cxxopts (line 82) | namespace cxxopts
    function String (line 106) | inline
    class UnicodeStringIterator (line 121) | class UnicodeStringIterator : public
      method UnicodeStringIterator (line 126) | UnicodeStringIterator(const icu::UnicodeString* string, int32_t pos)
      method value_type (line 132) | value_type
      method UnicodeStringIterator (line 150) | UnicodeStringIterator&
      method UnicodeStringIterator (line 157) | UnicodeStringIterator
    function String (line 171) | inline
    function String (line 178) | inline
    function String (line 191) | String&
    function stringLength (line 203) | inline
    function toUTF8String (line 210) | inline
    function empty (line 220) | inline
    function T (line 253) | T
    function stringLength (line 259) | inline
    function String (line 266) | inline
    function String (line 273) | inline
    function String (line 281) | String&
    function toUTF8String (line 288) | std::string
    function empty (line 294) | inline
    class Value (line 326) | class Value : public std::enable_shared_from_this<Value>
    class OptionException (line 372) | class OptionException : public std::exception
      method OptionException (line 375) | explicit OptionException(std::string  message)
      method CXXOPTS_NODISCARD (line 380) | CXXOPTS_NODISCARD
    class OptionSpecException (line 391) | class OptionSpecException : public OptionException
      method OptionSpecException (line 395) | explicit OptionSpecException(const std::string& message)
    class OptionParseException (line 401) | class OptionParseException : public OptionException
      method OptionParseException (line 404) | explicit OptionParseException(const std::string& message)
    class option_exists_error (line 410) | class option_exists_error : public OptionSpecException
      method option_exists_error (line 413) | explicit option_exists_error(const std::string& option)
    class invalid_option_format_error (line 419) | class invalid_option_format_error : public OptionSpecException
      method invalid_option_format_error (line 422) | explicit invalid_option_format_error(const std::string& format)
    class option_syntax_exception (line 428) | class option_syntax_exception : public OptionParseException {
      method option_syntax_exception (line 430) | explicit option_syntax_exception(const std::string& text)
    class option_not_exists_exception (line 437) | class option_not_exists_exception : public OptionParseException
      method option_not_exists_exception (line 440) | explicit option_not_exists_exception(const std::string& option)
    class missing_argument_exception (line 446) | class missing_argument_exception : public OptionParseException
      method missing_argument_exception (line 449) | explicit missing_argument_exception(const std::string& option)
    class option_requires_argument_exception (line 457) | class option_requires_argument_exception : public OptionParseException
      method option_requires_argument_exception (line 460) | explicit option_requires_argument_exception(const std::string& option)
    class option_not_has_argument_exception (line 468) | class option_not_has_argument_exception : public OptionParseException
      method option_not_has_argument_exception (line 471) | option_not_has_argument_exception
    class option_not_present_exception (line 485) | class option_not_present_exception : public OptionParseException
      method option_not_present_exception (line 488) | explicit option_not_present_exception(const std::string& option)
    class option_has_no_value_exception (line 494) | class option_has_no_value_exception : public OptionException
      method option_has_no_value_exception (line 497) | explicit option_has_no_value_exception(const std::string& option)
    class argument_incorrect_type (line 506) | class argument_incorrect_type : public OptionParseException
      method argument_incorrect_type (line 509) | explicit argument_incorrect_type
    class option_required_exception (line 520) | class option_required_exception : public OptionParseException
      method option_required_exception (line 523) | explicit option_required_exception(const std::string& option)
    function throw_or_mimic (line 532) | void throw_or_mimic(const std::string& text)
    type values (line 550) | namespace values
      type parser_tool (line 552) | namespace parser_tool
        type IntegerDesc (line 554) | struct IntegerDesc
        type ArguDesc (line 560) | struct ArguDesc {
        function IntegerDesc (line 567) | inline IntegerDesc SplitInteger(const std::string &text)
        function IsTrueText (line 596) | inline bool IsTrueText(const std::string &text)
        function IsFalseText (line 614) | inline bool IsFalseText(const std::string &text)
        function SplitSwitchDef (line 632) | inline std::pair<std::string, std::string> SplitSwitchDef(const st...
        function ArguDesc (line 656) | inline ArguDesc ParseArgument(const char *arg, bool &matched)
        function IntegerDesc (line 725) | inline IntegerDesc SplitInteger(const std::string &text)
        function IsTrueText (line 750) | inline bool IsTrueText(const std::string &text)
        function IsFalseText (line 757) | inline bool IsFalseText(const std::string &text)
        function SplitSwitchDef (line 764) | inline std::pair<std::string, std::string> SplitSwitchDef(const st...
        function ArguDesc (line 779) | inline ArguDesc ParseArgument(const char *arg, bool &matched)
      type detail (line 804) | namespace detail
        type SignedCheck (line 807) | struct SignedCheck
        type SignedCheck<T, true> (line 810) | struct SignedCheck<T, true>
        type SignedCheck<T, false> (line 834) | struct SignedCheck<T, false>
        function check_signed_range (line 842) | void
      function checked_negate (line 850) | void
      function checked_negate (line 860) | void
      function integer_parser (line 867) | void
      function stringstream_parser (line 924) | void stringstream_parser(const std::string& text, T& value)
      function parse_value (line 936) | void parse_value(const std::string& text, T& value)
      function parse_value (line 941) | inline
      function parse_value (line 960) | inline
      function parse_value (line 973) | void
      function parse_value (line 979) | void
      function parse_value (line 999) | void
      function parse_value (line 1008) | inline
      type type_is_container (line 1020) | struct type_is_container
      type type_is_container<std::vector<T>> (line 1026) | struct type_is_container<std::vector<T>>
      class abstract_value (line 1032) | class abstract_value : public Value
        method abstract_value (line 1037) | abstract_value()
        method abstract_value (line 1043) | explicit abstract_value(T* t)
        method abstract_value (line 1050) | abstract_value& operator=(const abstract_value&) = default;
        method abstract_value (line 1052) | abstract_value(const abstract_value& rhs)
        method parse (line 1070) | void
        method is_container (line 1076) | bool
        method parse (line 1082) | void
        method has_default (line 1088) | bool
        method has_implicit (line 1094) | bool
        method default_value (line 1100) | std::shared_ptr<Value>
        method implicit_value (line 1108) | std::shared_ptr<Value>
        method no_implicit_value (line 1116) | std::shared_ptr<Value>
        method get_default_value (line 1123) | std::string
        method get_implicit_value (line 1129) | std::string
        method is_boolean (line 1135) | bool
        method T (line 1141) | const T&
      class standard_value (line 1163) | class standard_value : public abstract_value<T>
        method override (line 1170) | const override
      class standard_value<bool> (line 1177) | class standard_value<bool> : public abstract_value<bool>
        method standard_value (line 1182) | standard_value()
        method standard_value (line 1187) | explicit standard_value(bool* b)
        method clone (line 1193) | std::shared_ptr<Value>
        method set_default_and_implicit (line 1201) | void
    function value (line 1213) | std::shared_ptr<Value>
    function value (line 1220) | std::shared_ptr<Value>
    class OptionAdder (line 1226) | class OptionAdder
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    class OptionDetails (line 1228) | class OptionDetails
      method OptionDetails (line 1231) | OptionDetails
      method OptionDetails (line 1247) | OptionDetails(const OptionDetails& rhs)
      method OptionDetails (line 1254) | OptionDetails(OptionDetails&& rhs) = default;
      method CXXOPTS_NODISCARD (line 1256) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1263) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1269) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1276) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1283) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1290) | CXXOPTS_NODISCARD
      method hash (line 1297) | size_t
    type HelpOptionDetails (line 1313) | struct HelpOptionDetails
    type HelpGroupDetails (line 1327) | struct HelpGroupDetails
    class OptionValue (line 1334) | class OptionValue
      method parse (line 1337) | void
      method parse_default (line 1350) | void
      method parse_no_value (line 1359) | void
      method CXXOPTS_NODISCARD (line 1370) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1382) | CXXOPTS_NODISCARD
      method T (line 1390) | const T&
      method ensure_value (line 1406) | void
    class KeyValue (line 1424) | class KeyValue
      method KeyValue (line 1427) | KeyValue(std::string key_, std::string value_)
      method CXXOPTS_NODISCARD (line 1433) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1440) | CXXOPTS_NODISCARD
      method T (line 1448) | T
    class ParseResult (line 1464) | class ParseResult
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    type Option (line 1636) | struct Option
      method Option (line 1638) | Option
    class OptionParser (line 1662) | class OptionParser
      method OptionParser (line 1665) | OptionParser(const OptionMap& options, const PositionalList& positio...
    class Options (line 1720) | class Options
      method Options (line 1724) | explicit Options(std::string program, std::string help_string = "")
      method Options (line 1737) | Options&
      method Options (line 1744) | Options&
      method Options (line 1751) | Options&
      method Options (line 1758) | Options&
      method Options (line 1765) | Options&
      method Options (line 1772) | Options&
      method parse_positional (line 1821) | void
    class OptionAdder (line 1879) | class OptionAdder
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function String (line 1908) | String
    function String (line 1954) | String
    function OptionAdder (line 2100) | inline
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function OptionAdder (line 2107) | inline
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function ParseResult (line 2285) | inline
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    function ParseResult (line 2294) | inline ParseResult
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    function String (line 2542) | inline
    function HelpGroupDetails (line 2704) | inline
  type cxxopts (line 102) | namespace cxxopts
    function String (line 106) | inline
    class UnicodeStringIterator (line 121) | class UnicodeStringIterator : public
      method UnicodeStringIterator (line 126) | UnicodeStringIterator(const icu::UnicodeString* string, int32_t pos)
      method value_type (line 132) | value_type
      method UnicodeStringIterator (line 150) | UnicodeStringIterator&
      method UnicodeStringIterator (line 157) | UnicodeStringIterator
    function String (line 171) | inline
    function String (line 178) | inline
    function String (line 191) | String&
    function stringLength (line 203) | inline
    function toUTF8String (line 210) | inline
    function empty (line 220) | inline
    function T (line 253) | T
    function stringLength (line 259) | inline
    function String (line 266) | inline
    function String (line 273) | inline
    function String (line 281) | String&
    function toUTF8String (line 288) | std::string
    function empty (line 294) | inline
    class Value (line 326) | class Value : public std::enable_shared_from_this<Value>
    class OptionException (line 372) | class OptionException : public std::exception
      method OptionException (line 375) | explicit OptionException(std::string  message)
      method CXXOPTS_NODISCARD (line 380) | CXXOPTS_NODISCARD
    class OptionSpecException (line 391) | class OptionSpecException : public OptionException
      method OptionSpecException (line 395) | explicit OptionSpecException(const std::string& message)
    class OptionParseException (line 401) | class OptionParseException : public OptionException
      method OptionParseException (line 404) | explicit OptionParseException(const std::string& message)
    class option_exists_error (line 410) | class option_exists_error : public OptionSpecException
      method option_exists_error (line 413) | explicit option_exists_error(const std::string& option)
    class invalid_option_format_error (line 419) | class invalid_option_format_error : public OptionSpecException
      method invalid_option_format_error (line 422) | explicit invalid_option_format_error(const std::string& format)
    class option_syntax_exception (line 428) | class option_syntax_exception : public OptionParseException {
      method option_syntax_exception (line 430) | explicit option_syntax_exception(const std::string& text)
    class option_not_exists_exception (line 437) | class option_not_exists_exception : public OptionParseException
      method option_not_exists_exception (line 440) | explicit option_not_exists_exception(const std::string& option)
    class missing_argument_exception (line 446) | class missing_argument_exception : public OptionParseException
      method missing_argument_exception (line 449) | explicit missing_argument_exception(const std::string& option)
    class option_requires_argument_exception (line 457) | class option_requires_argument_exception : public OptionParseException
      method option_requires_argument_exception (line 460) | explicit option_requires_argument_exception(const std::string& option)
    class option_not_has_argument_exception (line 468) | class option_not_has_argument_exception : public OptionParseException
      method option_not_has_argument_exception (line 471) | option_not_has_argument_exception
    class option_not_present_exception (line 485) | class option_not_present_exception : public OptionParseException
      method option_not_present_exception (line 488) | explicit option_not_present_exception(const std::string& option)
    class option_has_no_value_exception (line 494) | class option_has_no_value_exception : public OptionException
      method option_has_no_value_exception (line 497) | explicit option_has_no_value_exception(const std::string& option)
    class argument_incorrect_type (line 506) | class argument_incorrect_type : public OptionParseException
      method argument_incorrect_type (line 509) | explicit argument_incorrect_type
    class option_required_exception (line 520) | class option_required_exception : public OptionParseException
      method option_required_exception (line 523) | explicit option_required_exception(const std::string& option)
    function throw_or_mimic (line 532) | void throw_or_mimic(const std::string& text)
    type values (line 550) | namespace values
      type parser_tool (line 552) | namespace parser_tool
        type IntegerDesc (line 554) | struct IntegerDesc
        type ArguDesc (line 560) | struct ArguDesc {
        function IntegerDesc (line 567) | inline IntegerDesc SplitInteger(const std::string &text)
        function IsTrueText (line 596) | inline bool IsTrueText(const std::string &text)
        function IsFalseText (line 614) | inline bool IsFalseText(const std::string &text)
        function SplitSwitchDef (line 632) | inline std::pair<std::string, std::string> SplitSwitchDef(const st...
        function ArguDesc (line 656) | inline ArguDesc ParseArgument(const char *arg, bool &matched)
        function IntegerDesc (line 725) | inline IntegerDesc SplitInteger(const std::string &text)
        function IsTrueText (line 750) | inline bool IsTrueText(const std::string &text)
        function IsFalseText (line 757) | inline bool IsFalseText(const std::string &text)
        function SplitSwitchDef (line 764) | inline std::pair<std::string, std::string> SplitSwitchDef(const st...
        function ArguDesc (line 779) | inline ArguDesc ParseArgument(const char *arg, bool &matched)
      type detail (line 804) | namespace detail
        type SignedCheck (line 807) | struct SignedCheck
        type SignedCheck<T, true> (line 810) | struct SignedCheck<T, true>
        type SignedCheck<T, false> (line 834) | struct SignedCheck<T, false>
        function check_signed_range (line 842) | void
      function checked_negate (line 850) | void
      function checked_negate (line 860) | void
      function integer_parser (line 867) | void
      function stringstream_parser (line 924) | void stringstream_parser(const std::string& text, T& value)
      function parse_value (line 936) | void parse_value(const std::string& text, T& value)
      function parse_value (line 941) | inline
      function parse_value (line 960) | inline
      function parse_value (line 973) | void
      function parse_value (line 979) | void
      function parse_value (line 999) | void
      function parse_value (line 1008) | inline
      type type_is_container (line 1020) | struct type_is_container
      type type_is_container<std::vector<T>> (line 1026) | struct type_is_container<std::vector<T>>
      class abstract_value (line 1032) | class abstract_value : public Value
        method abstract_value (line 1037) | abstract_value()
        method abstract_value (line 1043) | explicit abstract_value(T* t)
        method abstract_value (line 1050) | abstract_value& operator=(const abstract_value&) = default;
        method abstract_value (line 1052) | abstract_value(const abstract_value& rhs)
        method parse (line 1070) | void
        method is_container (line 1076) | bool
        method parse (line 1082) | void
        method has_default (line 1088) | bool
        method has_implicit (line 1094) | bool
        method default_value (line 1100) | std::shared_ptr<Value>
        method implicit_value (line 1108) | std::shared_ptr<Value>
        method no_implicit_value (line 1116) | std::shared_ptr<Value>
        method get_default_value (line 1123) | std::string
        method get_implicit_value (line 1129) | std::string
        method is_boolean (line 1135) | bool
        method T (line 1141) | const T&
      class standard_value (line 1163) | class standard_value : public abstract_value<T>
        method override (line 1170) | const override
      class standard_value<bool> (line 1177) | class standard_value<bool> : public abstract_value<bool>
        method standard_value (line 1182) | standard_value()
        method standard_value (line 1187) | explicit standard_value(bool* b)
        method clone (line 1193) | std::shared_ptr<Value>
        method set_default_and_implicit (line 1201) | void
    function value (line 1213) | std::shared_ptr<Value>
    function value (line 1220) | std::shared_ptr<Value>
    class OptionAdder (line 1226) | class OptionAdder
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    class OptionDetails (line 1228) | class OptionDetails
      method OptionDetails (line 1231) | OptionDetails
      method OptionDetails (line 1247) | OptionDetails(const OptionDetails& rhs)
      method OptionDetails (line 1254) | OptionDetails(OptionDetails&& rhs) = default;
      method CXXOPTS_NODISCARD (line 1256) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1263) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1269) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1276) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1283) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1290) | CXXOPTS_NODISCARD
      method hash (line 1297) | size_t
    type HelpOptionDetails (line 1313) | struct HelpOptionDetails
    type HelpGroupDetails (line 1327) | struct HelpGroupDetails
    class OptionValue (line 1334) | class OptionValue
      method parse (line 1337) | void
      method parse_default (line 1350) | void
      method parse_no_value (line 1359) | void
      method CXXOPTS_NODISCARD (line 1370) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1382) | CXXOPTS_NODISCARD
      method T (line 1390) | const T&
      method ensure_value (line 1406) | void
    class KeyValue (line 1424) | class KeyValue
      method KeyValue (line 1427) | KeyValue(std::string key_, std::string value_)
      method CXXOPTS_NODISCARD (line 1433) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1440) | CXXOPTS_NODISCARD
      method T (line 1448) | T
    class ParseResult (line 1464) | class ParseResult
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    type Option (line 1636) | struct Option
      method Option (line 1638) | Option
    class OptionParser (line 1662) | class OptionParser
      method OptionParser (line 1665) | OptionParser(const OptionMap& options, const PositionalList& positio...
    class Options (line 1720) | class Options
      method Options (line 1724) | explicit Options(std::string program, std::string help_string = "")
      method Options (line 1737) | Options&
      method Options (line 1744) | Options&
      method Options (line 1751) | Options&
      method Options (line 1758) | Options&
      method Options (line 1765) | Options&
      method Options (line 1772) | Options&
      method parse_positional (line 1821) | void
    class OptionAdder (line 1879) | class OptionAdder
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function String (line 1908) | String
    function String (line 1954) | String
    function OptionAdder (line 2100) | inline
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function OptionAdder (line 2107) | inline
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function ParseResult (line 2285) | inline
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    function ParseResult (line 2294) | inline ParseResult
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    function String (line 2542) | inline
    function HelpGroupDetails (line 2704) | inline
  type std (line 228) | namespace std
    function begin (line 230) | inline
    function end (line 237) | inline
  type cxxopts (line 248) | namespace cxxopts
    function String (line 106) | inline
    class UnicodeStringIterator (line 121) | class UnicodeStringIterator : public
      method UnicodeStringIterator (line 126) | UnicodeStringIterator(const icu::UnicodeString* string, int32_t pos)
      method value_type (line 132) | value_type
      method UnicodeStringIterator (line 150) | UnicodeStringIterator&
      method UnicodeStringIterator (line 157) | UnicodeStringIterator
    function String (line 171) | inline
    function String (line 178) | inline
    function String (line 191) | String&
    function stringLength (line 203) | inline
    function toUTF8String (line 210) | inline
    function empty (line 220) | inline
    function T (line 253) | T
    function stringLength (line 259) | inline
    function String (line 266) | inline
    function String (line 273) | inline
    function String (line 281) | String&
    function toUTF8String (line 288) | std::string
    function empty (line 294) | inline
    class Value (line 326) | class Value : public std::enable_shared_from_this<Value>
    class OptionException (line 372) | class OptionException : public std::exception
      method OptionException (line 375) | explicit OptionException(std::string  message)
      method CXXOPTS_NODISCARD (line 380) | CXXOPTS_NODISCARD
    class OptionSpecException (line 391) | class OptionSpecException : public OptionException
      method OptionSpecException (line 395) | explicit OptionSpecException(const std::string& message)
    class OptionParseException (line 401) | class OptionParseException : public OptionException
      method OptionParseException (line 404) | explicit OptionParseException(const std::string& message)
    class option_exists_error (line 410) | class option_exists_error : public OptionSpecException
      method option_exists_error (line 413) | explicit option_exists_error(const std::string& option)
    class invalid_option_format_error (line 419) | class invalid_option_format_error : public OptionSpecException
      method invalid_option_format_error (line 422) | explicit invalid_option_format_error(const std::string& format)
    class option_syntax_exception (line 428) | class option_syntax_exception : public OptionParseException {
      method option_syntax_exception (line 430) | explicit option_syntax_exception(const std::string& text)
    class option_not_exists_exception (line 437) | class option_not_exists_exception : public OptionParseException
      method option_not_exists_exception (line 440) | explicit option_not_exists_exception(const std::string& option)
    class missing_argument_exception (line 446) | class missing_argument_exception : public OptionParseException
      method missing_argument_exception (line 449) | explicit missing_argument_exception(const std::string& option)
    class option_requires_argument_exception (line 457) | class option_requires_argument_exception : public OptionParseException
      method option_requires_argument_exception (line 460) | explicit option_requires_argument_exception(const std::string& option)
    class option_not_has_argument_exception (line 468) | class option_not_has_argument_exception : public OptionParseException
      method option_not_has_argument_exception (line 471) | option_not_has_argument_exception
    class option_not_present_exception (line 485) | class option_not_present_exception : public OptionParseException
      method option_not_present_exception (line 488) | explicit option_not_present_exception(const std::string& option)
    class option_has_no_value_exception (line 494) | class option_has_no_value_exception : public OptionException
      method option_has_no_value_exception (line 497) | explicit option_has_no_value_exception(const std::string& option)
    class argument_incorrect_type (line 506) | class argument_incorrect_type : public OptionParseException
      method argument_incorrect_type (line 509) | explicit argument_incorrect_type
    class option_required_exception (line 520) | class option_required_exception : public OptionParseException
      method option_required_exception (line 523) | explicit option_required_exception(const std::string& option)
    function throw_or_mimic (line 532) | void throw_or_mimic(const std::string& text)
    type values (line 550) | namespace values
      type parser_tool (line 552) | namespace parser_tool
        type IntegerDesc (line 554) | struct IntegerDesc
        type ArguDesc (line 560) | struct ArguDesc {
        function IntegerDesc (line 567) | inline IntegerDesc SplitInteger(const std::string &text)
        function IsTrueText (line 596) | inline bool IsTrueText(const std::string &text)
        function IsFalseText (line 614) | inline bool IsFalseText(const std::string &text)
        function SplitSwitchDef (line 632) | inline std::pair<std::string, std::string> SplitSwitchDef(const st...
        function ArguDesc (line 656) | inline ArguDesc ParseArgument(const char *arg, bool &matched)
        function IntegerDesc (line 725) | inline IntegerDesc SplitInteger(const std::string &text)
        function IsTrueText (line 750) | inline bool IsTrueText(const std::string &text)
        function IsFalseText (line 757) | inline bool IsFalseText(const std::string &text)
        function SplitSwitchDef (line 764) | inline std::pair<std::string, std::string> SplitSwitchDef(const st...
        function ArguDesc (line 779) | inline ArguDesc ParseArgument(const char *arg, bool &matched)
      type detail (line 804) | namespace detail
        type SignedCheck (line 807) | struct SignedCheck
        type SignedCheck<T, true> (line 810) | struct SignedCheck<T, true>
        type SignedCheck<T, false> (line 834) | struct SignedCheck<T, false>
        function check_signed_range (line 842) | void
      function checked_negate (line 850) | void
      function checked_negate (line 860) | void
      function integer_parser (line 867) | void
      function stringstream_parser (line 924) | void stringstream_parser(const std::string& text, T& value)
      function parse_value (line 936) | void parse_value(const std::string& text, T& value)
      function parse_value (line 941) | inline
      function parse_value (line 960) | inline
      function parse_value (line 973) | void
      function parse_value (line 979) | void
      function parse_value (line 999) | void
      function parse_value (line 1008) | inline
      type type_is_container (line 1020) | struct type_is_container
      type type_is_container<std::vector<T>> (line 1026) | struct type_is_container<std::vector<T>>
      class abstract_value (line 1032) | class abstract_value : public Value
        method abstract_value (line 1037) | abstract_value()
        method abstract_value (line 1043) | explicit abstract_value(T* t)
        method abstract_value (line 1050) | abstract_value& operator=(const abstract_value&) = default;
        method abstract_value (line 1052) | abstract_value(const abstract_value& rhs)
        method parse (line 1070) | void
        method is_container (line 1076) | bool
        method parse (line 1082) | void
        method has_default (line 1088) | bool
        method has_implicit (line 1094) | bool
        method default_value (line 1100) | std::shared_ptr<Value>
        method implicit_value (line 1108) | std::shared_ptr<Value>
        method no_implicit_value (line 1116) | std::shared_ptr<Value>
        method get_default_value (line 1123) | std::string
        method get_implicit_value (line 1129) | std::string
        method is_boolean (line 1135) | bool
        method T (line 1141) | const T&
      class standard_value (line 1163) | class standard_value : public abstract_value<T>
        method override (line 1170) | const override
      class standard_value<bool> (line 1177) | class standard_value<bool> : public abstract_value<bool>
        method standard_value (line 1182) | standard_value()
        method standard_value (line 1187) | explicit standard_value(bool* b)
        method clone (line 1193) | std::shared_ptr<Value>
        method set_default_and_implicit (line 1201) | void
    function value (line 1213) | std::shared_ptr<Value>
    function value (line 1220) | std::shared_ptr<Value>
    class OptionAdder (line 1226) | class OptionAdder
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    class OptionDetails (line 1228) | class OptionDetails
      method OptionDetails (line 1231) | OptionDetails
      method OptionDetails (line 1247) | OptionDetails(const OptionDetails& rhs)
      method OptionDetails (line 1254) | OptionDetails(OptionDetails&& rhs) = default;
      method CXXOPTS_NODISCARD (line 1256) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1263) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1269) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1276) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1283) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1290) | CXXOPTS_NODISCARD
      method hash (line 1297) | size_t
    type HelpOptionDetails (line 1313) | struct HelpOptionDetails
    type HelpGroupDetails (line 1327) | struct HelpGroupDetails
    class OptionValue (line 1334) | class OptionValue
      method parse (line 1337) | void
      method parse_default (line 1350) | void
      method parse_no_value (line 1359) | void
      method CXXOPTS_NODISCARD (line 1370) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1382) | CXXOPTS_NODISCARD
      method T (line 1390) | const T&
      method ensure_value (line 1406) | void
    class KeyValue (line 1424) | class KeyValue
      method KeyValue (line 1427) | KeyValue(std::string key_, std::string value_)
      method CXXOPTS_NODISCARD (line 1433) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1440) | CXXOPTS_NODISCARD
      method T (line 1448) | T
    class ParseResult (line 1464) | class ParseResult
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    type Option (line 1636) | struct Option
      method Option (line 1638) | Option
    class OptionParser (line 1662) | class OptionParser
      method OptionParser (line 1665) | OptionParser(const OptionMap& options, const PositionalList& positio...
    class Options (line 1720) | class Options
      method Options (line 1724) | explicit Options(std::string program, std::string help_string = "")
      method Options (line 1737) | Options&
      method Options (line 1744) | Options&
      method Options (line 1751) | Options&
      method Options (line 1758) | Options&
      method Options (line 1765) | Options&
      method Options (line 1772) | Options&
      method parse_positional (line 1821) | void
    class OptionAdder (line 1879) | class OptionAdder
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function String (line 1908) | String
    function String (line 1954) | String
    function OptionAdder (line 2100) | inline
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function OptionAdder (line 2107) | inline
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function ParseResult (line 2285) | inline
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    function ParseResult (line 2294) | inline ParseResult
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    function String (line 2542) | inline
    function HelpGroupDetails (line 2704) | inline
  type cxxopts (line 305) | namespace cxxopts
    function String (line 106) | inline
    class UnicodeStringIterator (line 121) | class UnicodeStringIterator : public
      method UnicodeStringIterator (line 126) | UnicodeStringIterator(const icu::UnicodeString* string, int32_t pos)
      method value_type (line 132) | value_type
      method UnicodeStringIterator (line 150) | UnicodeStringIterator&
      method UnicodeStringIterator (line 157) | UnicodeStringIterator
    function String (line 171) | inline
    function String (line 178) | inline
    function String (line 191) | String&
    function stringLength (line 203) | inline
    function toUTF8String (line 210) | inline
    function empty (line 220) | inline
    function T (line 253) | T
    function stringLength (line 259) | inline
    function String (line 266) | inline
    function String (line 273) | inline
    function String (line 281) | String&
    function toUTF8String (line 288) | std::string
    function empty (line 294) | inline
    class Value (line 326) | class Value : public std::enable_shared_from_this<Value>
    class OptionException (line 372) | class OptionException : public std::exception
      method OptionException (line 375) | explicit OptionException(std::string  message)
      method CXXOPTS_NODISCARD (line 380) | CXXOPTS_NODISCARD
    class OptionSpecException (line 391) | class OptionSpecException : public OptionException
      method OptionSpecException (line 395) | explicit OptionSpecException(const std::string& message)
    class OptionParseException (line 401) | class OptionParseException : public OptionException
      method OptionParseException (line 404) | explicit OptionParseException(const std::string& message)
    class option_exists_error (line 410) | class option_exists_error : public OptionSpecException
      method option_exists_error (line 413) | explicit option_exists_error(const std::string& option)
    class invalid_option_format_error (line 419) | class invalid_option_format_error : public OptionSpecException
      method invalid_option_format_error (line 422) | explicit invalid_option_format_error(const std::string& format)
    class option_syntax_exception (line 428) | class option_syntax_exception : public OptionParseException {
      method option_syntax_exception (line 430) | explicit option_syntax_exception(const std::string& text)
    class option_not_exists_exception (line 437) | class option_not_exists_exception : public OptionParseException
      method option_not_exists_exception (line 440) | explicit option_not_exists_exception(const std::string& option)
    class missing_argument_exception (line 446) | class missing_argument_exception : public OptionParseException
      method missing_argument_exception (line 449) | explicit missing_argument_exception(const std::string& option)
    class option_requires_argument_exception (line 457) | class option_requires_argument_exception : public OptionParseException
      method option_requires_argument_exception (line 460) | explicit option_requires_argument_exception(const std::string& option)
    class option_not_has_argument_exception (line 468) | class option_not_has_argument_exception : public OptionParseException
      method option_not_has_argument_exception (line 471) | option_not_has_argument_exception
    class option_not_present_exception (line 485) | class option_not_present_exception : public OptionParseException
      method option_not_present_exception (line 488) | explicit option_not_present_exception(const std::string& option)
    class option_has_no_value_exception (line 494) | class option_has_no_value_exception : public OptionException
      method option_has_no_value_exception (line 497) | explicit option_has_no_value_exception(const std::string& option)
    class argument_incorrect_type (line 506) | class argument_incorrect_type : public OptionParseException
      method argument_incorrect_type (line 509) | explicit argument_incorrect_type
    class option_required_exception (line 520) | class option_required_exception : public OptionParseException
      method option_required_exception (line 523) | explicit option_required_exception(const std::string& option)
    function throw_or_mimic (line 532) | void throw_or_mimic(const std::string& text)
    type values (line 550) | namespace values
      type parser_tool (line 552) | namespace parser_tool
        type IntegerDesc (line 554) | struct IntegerDesc
        type ArguDesc (line 560) | struct ArguDesc {
        function IntegerDesc (line 567) | inline IntegerDesc SplitInteger(const std::string &text)
        function IsTrueText (line 596) | inline bool IsTrueText(const std::string &text)
        function IsFalseText (line 614) | inline bool IsFalseText(const std::string &text)
        function SplitSwitchDef (line 632) | inline std::pair<std::string, std::string> SplitSwitchDef(const st...
        function ArguDesc (line 656) | inline ArguDesc ParseArgument(const char *arg, bool &matched)
        function IntegerDesc (line 725) | inline IntegerDesc SplitInteger(const std::string &text)
        function IsTrueText (line 750) | inline bool IsTrueText(const std::string &text)
        function IsFalseText (line 757) | inline bool IsFalseText(const std::string &text)
        function SplitSwitchDef (line 764) | inline std::pair<std::string, std::string> SplitSwitchDef(const st...
        function ArguDesc (line 779) | inline ArguDesc ParseArgument(const char *arg, bool &matched)
      type detail (line 804) | namespace detail
        type SignedCheck (line 807) | struct SignedCheck
        type SignedCheck<T, true> (line 810) | struct SignedCheck<T, true>
        type SignedCheck<T, false> (line 834) | struct SignedCheck<T, false>
        function check_signed_range (line 842) | void
      function checked_negate (line 850) | void
      function checked_negate (line 860) | void
      function integer_parser (line 867) | void
      function stringstream_parser (line 924) | void stringstream_parser(const std::string& text, T& value)
      function parse_value (line 936) | void parse_value(const std::string& text, T& value)
      function parse_value (line 941) | inline
      function parse_value (line 960) | inline
      function parse_value (line 973) | void
      function parse_value (line 979) | void
      function parse_value (line 999) | void
      function parse_value (line 1008) | inline
      type type_is_container (line 1020) | struct type_is_container
      type type_is_container<std::vector<T>> (line 1026) | struct type_is_container<std::vector<T>>
      class abstract_value (line 1032) | class abstract_value : public Value
        method abstract_value (line 1037) | abstract_value()
        method abstract_value (line 1043) | explicit abstract_value(T* t)
        method abstract_value (line 1050) | abstract_value& operator=(const abstract_value&) = default;
        method abstract_value (line 1052) | abstract_value(const abstract_value& rhs)
        method parse (line 1070) | void
        method is_container (line 1076) | bool
        method parse (line 1082) | void
        method has_default (line 1088) | bool
        method has_implicit (line 1094) | bool
        method default_value (line 1100) | std::shared_ptr<Value>
        method implicit_value (line 1108) | std::shared_ptr<Value>
        method no_implicit_value (line 1116) | std::shared_ptr<Value>
        method get_default_value (line 1123) | std::string
        method get_implicit_value (line 1129) | std::string
        method is_boolean (line 1135) | bool
        method T (line 1141) | const T&
      class standard_value (line 1163) | class standard_value : public abstract_value<T>
        method override (line 1170) | const override
      class standard_value<bool> (line 1177) | class standard_value<bool> : public abstract_value<bool>
        method standard_value (line 1182) | standard_value()
        method standard_value (line 1187) | explicit standard_value(bool* b)
        method clone (line 1193) | std::shared_ptr<Value>
        method set_default_and_implicit (line 1201) | void
    function value (line 1213) | std::shared_ptr<Value>
    function value (line 1220) | std::shared_ptr<Value>
    class OptionAdder (line 1226) | class OptionAdder
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    class OptionDetails (line 1228) | class OptionDetails
      method OptionDetails (line 1231) | OptionDetails
      method OptionDetails (line 1247) | OptionDetails(const OptionDetails& rhs)
      method OptionDetails (line 1254) | OptionDetails(OptionDetails&& rhs) = default;
      method CXXOPTS_NODISCARD (line 1256) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1263) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1269) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1276) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1283) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1290) | CXXOPTS_NODISCARD
      method hash (line 1297) | size_t
    type HelpOptionDetails (line 1313) | struct HelpOptionDetails
    type HelpGroupDetails (line 1327) | struct HelpGroupDetails
    class OptionValue (line 1334) | class OptionValue
      method parse (line 1337) | void
      method parse_default (line 1350) | void
      method parse_no_value (line 1359) | void
      method CXXOPTS_NODISCARD (line 1370) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1382) | CXXOPTS_NODISCARD
      method T (line 1390) | const T&
      method ensure_value (line 1406) | void
    class KeyValue (line 1424) | class KeyValue
      method KeyValue (line 1427) | KeyValue(std::string key_, std::string value_)
      method CXXOPTS_NODISCARD (line 1433) | CXXOPTS_NODISCARD
      method CXXOPTS_NODISCARD (line 1440) | CXXOPTS_NODISCARD
      method T (line 1448) | T
    class ParseResult (line 1464) | class ParseResult
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    type Option (line 1636) | struct Option
      method Option (line 1638) | Option
    class OptionParser (line 1662) | class OptionParser
      method OptionParser (line 1665) | OptionParser(const OptionMap& options, const PositionalList& positio...
    class Options (line 1720) | class Options
      method Options (line 1724) | explicit Options(std::string program, std::string help_string = "")
      method Options (line 1737) | Options&
      method Options (line 1744) | Options&
      method Options (line 1751) | Options&
      method Options (line 1758) | Options&
      method Options (line 1765) | Options&
      method Options (line 1772) | Options&
      method parse_positional (line 1821) | void
    class OptionAdder (line 1879) | class OptionAdder
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function String (line 1908) | String
    function String (line 1954) | String
    function OptionAdder (line 2100) | inline
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function OptionAdder (line 2107) | inline
      method OptionAdder (line 1883) | OptionAdder(Options& options, std::string group)
    function ParseResult (line 2285) | inline
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    function ParseResult (line 2294) | inline ParseResult
      class Iterator (line 1467) | class Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method ParseResult (line 1528) | ParseResult() = default;
      method ParseResult (line 1529) | ParseResult(const ParseResult&) = default;
      method ParseResult (line 1531) | ParseResult(NameHashMap&& keys, ParsedHashMap&& values, std::vector<...
      method ParseResult (line 1541) | ParseResult& operator=(ParseResult&&) = default;
      method ParseResult (line 1542) | ParseResult& operator=(const ParseResult&) = default;
      method Iterator (line 1544) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method Iterator (line 1550) | Iterator
        method Iterator (line 1476) | Iterator() = default;
        method Iterator (line 1477) | Iterator(const Iterator&) = default;
        method Iterator (line 1479) | Iterator(const ParseResult *pr, bool end=false)
        method Iterator (line 1485) | Iterator& operator++()
        method Iterator (line 1496) | Iterator operator++(int)
        method KeyValue (line 1513) | const KeyValue& operator*()
        method KeyValue (line 1518) | const KeyValue* operator->()
      method count (line 1556) | size_t
      method OptionValue (line 1575) | const OptionValue&
      method arguments_string (line 1613) | const std::string
    function String (line 2542) | inline
    function HelpGroupDetails (line 2704) | inline

FILE: external_libs/eigen-3.4.0/Eigen/src/Cholesky/LDLT.h
  function namespace (line 16) | namespace Eigen {
  type SolverBase (line 64) | typedef SolverBase<LDLT> Base;
  function enum (line 67) | EIGEN_GENERIC_PUBLIC_INTERFACE(LDLT)
  type Matrix (line 73) | typedef Matrix<Scalar, RowsAtCompileTime, 1, 0, MaxRowsAtCompileTime, 1>...
  type Transpositions (line 75) | typedef Transpositions<RowsAtCompileTime, MaxRowsAtCompileTime> Transpos...
  type PermutationMatrix (line 76) | typedef PermutationMatrix<RowsAtCompileTime, MaxRowsAtCompileTime> Permu...
  type internal (line 78) | typedef internal::LDLT_Traits<MatrixType,UpLo> Traits;
  function setZero (line 143) | void setZero()
  function typename (line 149) | inline typename Traits::MatrixU matrixU() const
  function isNegative (line 185) | inline bool isNegative(void) const
  function MatrixType (line 234) | inline const MatrixType& matrixLDLT() const
  function namespace (line 293) | namespace internal {
  function Upper (line 460) | struct ldlt_inplace<Upper>
  type TriangularView (line 480) | typedef const TriangularView<const typename
  function MatrixL (line 481) | static inline MatrixL getL(const MatrixType& m) { return MatrixL(m); }
  function MatrixU (line 482) | static inline MatrixU getU(const MatrixType& m) { return MatrixU(m.adjoi...
  type TriangularView (line 488) | typedef const TriangularView<const MatrixType, UnitUpper> MatrixU;
  function MatrixL (line 489) | static inline MatrixL getL(const MatrixType& m) { return MatrixL(m.adjoi...
  function MatrixU (line 490) | static inline MatrixU getU(const MatrixType& m) { return MatrixU(m); }
  type typename (line 541) | typedef typename TranspositionType::StorageIndex IndexType;

FILE: external_libs/eigen-3.4.0/Eigen/src/Cholesky/LLT.h
  function namespace (line 13) | namespace Eigen {
  type SolverBase (line 71) | typedef SolverBase<LLT> Base;
  function enum (line 74) | EIGEN_GENERIC_PUBLIC_INTERFACE(LLT)
  type internal (line 85) | typedef internal::LLT_Traits<MatrixType,UpLo> Traits;
  function explicit (line 101) | explicit LLT(Index size) : m_matrix(size, size),
  function typename (line 128) | inline typename Traits::MatrixU matrixU() const
  function MatrixType (line 177) | inline const MatrixType& matrixLLT() const
  function namespace (line 235) | namespace internal {
  type typename (line 379) | typedef typename NumTraits<Scalar>::Real RealScalar;
  type TriangularView (line 404) | typedef const TriangularView<const typename
  function MatrixL (line 405) | static inline MatrixL getL(const MatrixType& m) { return MatrixL(m); }
  function MatrixU (line 406) | static inline MatrixU getU(const MatrixType& m) { return MatrixU(m.adjoi...
  function inplace_decomposition (line 407) | static bool inplace_decomposition(MatrixType& m)
  type TriangularView (line 414) | typedef const TriangularView<const MatrixType, Upper> MatrixU;
  function MatrixL (line 415) | static inline MatrixL getL(const MatrixType& m) { return MatrixL(m.adjoi...
  function MatrixU (line 416) | static inline MatrixU getU(const MatrixType& m) { return MatrixU(m); }
  function inplace_decomposition (line 417) | static bool inplace_decomposition(MatrixType& m)

FILE: external_libs/eigen-3.4.0/Eigen/src/Cholesky/LLT_LAPACKE.h
  function namespace (line 36) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/CholmodSupport/CholmodSupport.h
  function namespace (line 13) | namespace Eigen {
  function cholmod_sparse (line 105) | cholmod_sparse viewAsCholmod(const SparseMatrix<_Scalar,_Options,_Index>...
  function cholmod_sparse (line 112) | cholmod_sparse viewAsCholmod(const SparseVector<_Scalar,_Options,_Index>...
  type typename (line 140) | typedef typename Derived::Scalar Scalar;
  function namespace (line 165) | namespace internal {
  type CholmodMode (line 203) | enum CholmodMode {
  type typename (line 223) | typedef typename MatrixType::Scalar Scalar;
  type typename (line 224) | typedef typename MatrixType::RealScalar RealScalar;
  type MatrixType (line 225) | typedef MatrixType CholMatrixType;
  type typename (line 226) | typedef typename MatrixType::StorageIndex StorageIndex;
  function StorageIndex (line 258) | inline StorageIndex cols() const { return internal::convert_index<Storag...
  function analyzePattern (line 286) | void analyzePattern(const MatrixType& matrix)
  function factorize (line 308) | void factorize(const MatrixType& matrix)
  function Scalar (line 391) | Scalar determinant() const
  function Base (line 488) | CholmodSimplicialLLT(const MatrixType& matrix) : Base()
  function Base (line 539) | CholmodSimplicialLDLT(const MatrixType& matrix) : Base()
  function Base (line 588) | CholmodSupernodalLLT(const MatrixType& matrix) : Base()
  function Base (line 639) | CholmodDecomposition(const MatrixType& matrix) : Base()
  function setMode (line 647) | void setMode(CholmodMode mode)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/ArithmeticSequence.h
  function namespace (line 13) | namespace Eigen {
  function namespace (line 399) | namespace indexing {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Array.h
  function namespace (line 13) | namespace Eigen {
  function enum (line 51) | EIGEN_DENSE_PUBLIC_INTERFACE(Array)
  function EIGEN_DEVICE_FUNC (line 141) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 151) | EIGEN_DEVICE_FUNC
  function EIGEN_STRONG_INLINE (line 175) | EIGEN_STRONG_INLINE
  function EIGEN_STRONG_INLINE (line 207) | EIGEN_STRONG_INLINE explicit Array(const T& x)
  function EIGEN_STRONG_INLINE (line 215) | EIGEN_STRONG_INLINE Array(const T0& val0, const T1& val1)
  function Base (line 274) | Array(const Array& other)
  type PrivateType (line 279) | struct PrivateType {}
  function EIGEN_STRONG_INLINE (line 285) | EIGEN_STRONG_INLINE Array(const EigenBase<OtherDerived> &other,
  type internal (line 303) | struct internal

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/ArrayBase.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/ArrayWrapper.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Assign.h
  function namespace (line 15) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/AssignEvaluator.h
  function namespace (line 15) | namespace Eigen {
  function run (line 245) | void run(Kernel& kernel)
  type typename (line 266) | typedef typename Kernel::DstEvaluatorType DstEvaluatorType;
  type typename (line 267) | typedef typename DstEvaluatorType::XprType DstXprType;
  type typename (line 268) | typedef typename Kernel::PacketType PacketType;
  function run (line 277) | void run(Kernel &kernel)
  type typename (line 294) | typedef typename Kernel::PacketType PacketType;
  function run (line 295) | void run(Kernel &kernel, Index outer)
  type typename (line 330) | typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
  type typename (line 358) | typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
  type typename (line 368) | typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
  type unaligned_dense_assignment_loop (line 393) | struct unaligned_dense_assignment_loop
  type typename (line 421) | typedef typename Kernel::Scalar Scalar;
  type typename (line 422) | typedef typename Kernel::PacketType PacketType;
  type typename (line 448) | typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
  type typename (line 449) | typedef typename Kernel::PacketType PacketType;
  function run (line 472) | void run(Kernel &kernel)
  type typename (line 488) | typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
  type typename (line 498) | typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
  type typename (line 499) | typedef typename Kernel::AssignmentTraits Traits;
  type typename (line 527) | typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
  type typename (line 541) | typedef typename Kernel::Scalar Scalar;
  type typename (line 542) | typedef typename Kernel::PacketType PacketType;
  type typename (line 589) | typedef typename Kernel::DstEvaluatorType::XprType DstXprType;
  type typename (line 590) | typedef typename Kernel::PacketType PacketType;
  type typename (line 622) | typedef typename SrcEvaluatorTypeT::XprType SrcXprType;
  type SrcEvaluatorTypeT (line 626) | typedef SrcEvaluatorTypeT SrcEvaluatorType;
  type typename (line 627) | typedef typename DstEvaluatorType::Scalar Scalar;
  type copy_using_evaluator_traits (line 628) | typedef copy_using_evaluator_traits<DstEvaluatorTypeT, SrcEvaluatorTypeT...
  type typename (line 629) | typedef typename AssignmentTraits::PacketType PacketType;
  function EIGEN_DEVICE_FUNC (line 648) | EIGEN_DEVICE_FUNC DstEvaluatorType& dstEvaluator() EIGEN_NOEXCEPT { retu...
  function EIGEN_DEVICE_FUNC (line 649) | EIGEN_DEVICE_FUNC const SrcEvaluatorType& srcEvaluator() const EIGEN_NOE...
  function assignCoeff (line 658) | void assignCoeff(Index index)
  function assignCoeffByOuterInner (line 664) | void assignCoeffByOuterInner(Index outer, Index inner)
  function assignPacket (line 673) | void assignPacket(Index row, Index col)
  function assignPacket (line 679) | void assignPacket(Index index)
  function assignPacketByOuterInner (line 685) | void assignPacketByOuterInner(Index outer, Index inner)
  function Index (line 692) | Index rowIndexByOuterInner(Index outer, Index inner)
  function Index (line 701) | Index colIndexByOuterInner(Index outer, Index inner)
  function EIGEN_DEVICE_FUNC (line 710) | EIGEN_DEVICE_FUNC const Scalar* dstDataPtr() const
  type typename (line 734) | typedef typename Base::DstXprType DstXprType;
  type copy_using_evaluator_traits (line 735) | typedef copy_using_evaluator_traits<DstEvaluatorTypeT, SrcEvaluatorTypeT...
  type typename (line 736) | typedef typename AssignmentTraits::PacketType PacketType;
  function EIGEN_DEVICE_FUNC (line 738) | EIGEN_DEVICE_FUNC restricted_packet_dense_assignment_kernel(DstEvaluator...
  function resize_if_allowed (line 750) | void resize_if_allowed(DstXprType &dst, const SrcXprType& src, const Fun...
  type evaluator (line 772) | typedef evaluator<SrcXprType> SrcEvaluatorType;
  type generic_dense_assignment_kernel (line 782) | typedef generic_dense_assignment_kernel<DstEvaluatorType,SrcEvaluatorTyp...
  function call_dense_assignment_loop (line 791) | void call_dense_assignment_loop(DstXprType& dst, const Eigen::CwiseNulla...
  function call_dense_assignment_loop (line 799) | void call_dense_assignment_loop(DstXprType& dst, const SrcXprType& src)
  type Dense2Dense (line 814) | struct Dense2Dense {}
  type EigenBase2EigenBase (line 815) | struct EigenBase2EigenBase {}
  type EigenBase2EigenBase (line 817) | typedef EigenBase2EigenBase Kind;
  type AssignmentKind (line 818) | struct AssignmentKind
  type Dense2Dense (line 818) | typedef Dense2Dense Kind;
  function call_assignment (line 834) | void call_assignment(Dst& dst, const Src& src)
  function call_assignment (line 840) | void call_assignment(const Dst& dst, const Src& src)
  function call_assignment_no_alias (line 873) | void call_assignment_no_alias(Dst& dst, const Src& src, const Func& func)
  function call_restricted_packet_assignment_no_alias (line 895) | void call_restricted_packet_assignment_no_alias(Dst& dst, const Src& src...
  function call_assignment_no_alias (line 915) | void call_assignment_no_alias(Dst& dst, const Src& src)
  function call_assignment_no_alias_no_transpose (line 922) | void call_assignment_no_alias_no_transpose(Dst& dst, const Src& src, con...
  function call_assignment_no_alias_no_transpose (line 933) | void call_assignment_no_alias_no_transpose(Dst& dst, const Src& src)
  type Assignment (line 963) | struct Assignment

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Assign_MKL.h
  function namespace (line 37) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/BandMatrix.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 103) | typedef typename internal::conditional<Conjugate,
  function typename (line 115) | const typename DiagonalIntReturnType<N>::Type diagonal() const
  function DenseMatrixType (line 145) | DenseMatrixType toDenseMatrix() const
  type Dense (line 181) | typedef Dense StorageKind;
  type Eigen (line 182) | typedef Eigen::Index StorageIndex;
  type Matrix (line 195) | typedef Matrix<Scalar, DataRowsAtCompileTime, ColsAtCompileTime, int(Opt...
  type typename (line 203) | typedef typename internal::traits<BandMatrix>::Scalar Scalar;
  type typename (line 204) | typedef typename internal::traits<BandMatrix>::StorageIndex StorageIndex;
  type typename (line 205) | typedef typename internal::traits<BandMatrix>::CoefficientsType Coeffici...
  function CoefficientsType (line 226) | inline CoefficientsType& coeffs() { return m_coeffs; }
  type typename (line 243) | typedef typename _CoefficientsType::StorageKind StorageKind;
  type typename (line 244) | typedef typename _CoefficientsType::StorageIndex StorageIndex;
  type _CoefficientsType (line 257) | typedef _CoefficientsType CoefficientsType;
  type typename (line 266) | typedef typename internal::traits<BandMatrixWrapper>::CoefficientsType C...
  type typename (line 267) | typedef typename internal::traits<BandMatrixWrapper>::StorageIndex Stora...
  type typename (line 315) | typedef typename Base::StorageIndex StorageIndex;
  type BandShape (line 331) | struct BandShape {}
  type AssignmentKind (line 347) | struct AssignmentKind
  type EigenBase2EigenBase (line 347) | typedef EigenBase2EigenBase Kind;

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Block.h
  function namespace (line 14) | namespace Eigen {
  type typename (line 158) | typedef typename XprType::StorageIndex StorageIndex;
  function EIGEN_STRONG_INLINE (line 162) | EIGEN_STRONG_INLINE BlockImpl(XprType& xpr, Index i) : Impl(xpr,i) {}
  function namespace (line 169) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/BooleanRedux.h
  function namespace (line 13) | namespace Eigen {
  function EIGEN_DEVICE_FUNC (line 51) | EIGEN_DEVICE_FUNC static inline bool run(const Derived &mat)
  function run (line 60) | static inline bool run(const Derived & /*mat*/) { return false; }
  function run (line 66) | static inline bool run(const Derived &) { return false; }
  function all (line 79) | inline bool DenseBase<Derived>::all() const
  function any (line 103) | inline bool DenseBase<Derived>::any() const

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/CommaInitializer.h
  function namespace (line 14) | namespace Eigen {
  function EIGEN_DEVICE_FUNC (line 120) | EIGEN_DEVICE_FUNC

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/ConditionEstimator.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/CoreEvaluators.h
  function namespace (line 16) | namespace Eigen {
  type typename (line 167) | typedef typename PlainObjectType::Scalar Scalar;
  type typename (line 168) | typedef typename PlainObjectType::CoeffReturnType CoeffReturnType;
  function explicit (line 195) | explicit evaluator(const PlainObjectType& m)
  function CoeffReturnType (line 202) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 211) | CoeffReturnType coeff(Index index) const
  function PacketType (line 233) | PacketType packet(Index row, Index col) const
  function PacketType (line 243) | PacketType packet(Index index) const
  function writePacket (line 250) | void writePacket(Index row, Index col, const PacketType& x)
  function writePacket (line 262) | void writePacket(Index index, const PacketType& x)
  function EIGEN_DEVICE_FUNC (line 278) | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
  function explicit (line 282) | explicit evaluator(const XprType& m)
  function EIGEN_DEVICE_FUNC (line 293) | EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
  function explicit (line 297) | explicit evaluator(const XprType& m)
  function explicit (line 317) | explicit unary_evaluator(const XprType& t) : m_argImpl(t.nestedExpressio...
  type typename (line 319) | typedef typename XprType::Scalar Scalar;
  type typename (line 320) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 323) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 329) | CoeffReturnType coeff(Index index) const
  function typename (line 341) | typename XprType::Scalar& coeffRef(Index index)
  function PacketType (line 348) | PacketType packet(Index row, Index col) const
  function PacketType (line 355) | PacketType packet(Index index) const
  function writePacket (line 362) | void writePacket(Index row, Index col, const PacketType& x)
  function writePacket (line 369) | void writePacket(Index index, const PacketType& x)
  function EIGEN_STRONG_INLINE (line 391) | EIGEN_STRONG_INLINE Scalar operator()(const NullaryOp& op, IndexType i) ...
  function EIGEN_STRONG_INLINE (line 393) | EIGEN_STRONG_INLINE T packetOp(const NullaryOp& op, IndexType i, IndexTy...
  function EIGEN_STRONG_INLINE (line 394) | EIGEN_STRONG_INLINE T packetOp(const NullaryOp& op, IndexType i) const {...
  function EIGEN_STRONG_INLINE (line 424) | EIGEN_STRONG_INLINE T packetOp(const NullaryOp& op, IndexType i, IndexTy...
  function EIGEN_STRONG_INLINE (line 430) | EIGEN_STRONG_INLINE Scalar operator()(const NullaryOp& op, IndexType i) ...
  function EIGEN_STRONG_INLINE (line 432) | EIGEN_STRONG_INLINE T packetOp(const NullaryOp& op, IndexType i) const {...
  function EIGEN_STRONG_INLINE (line 472) | EIGEN_STRONG_INLINE Scalar operator()(const NullaryOp& op, IndexType i) ...
  function EIGEN_STRONG_INLINE (line 480) | EIGEN_STRONG_INLINE T packetOp(const NullaryOp& op, IndexType i, IndexTy...
  function EIGEN_STRONG_INLINE (line 487) | EIGEN_STRONG_INLINE T packetOp(const NullaryOp& op, IndexType i) const {
  type typename (line 501) | typedef typename internal::remove_all<PlainObjectType>::type PlainObject...
  function EIGEN_DEVICE_FUNC (line 514) | EIGEN_DEVICE_FUNC explicit evaluator(const XprType& n)
  type typename (line 520) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function EIGEN_STRONG_INLINE (line 523) | EIGEN_STRONG_INLINE
  function EIGEN_STRONG_INLINE (line 530) | EIGEN_STRONG_INLINE
  function PacketType (line 538) | PacketType packet(IndexType row, IndexType col) const
  function PacketType (line 545) | PacketType packet(IndexType index) const
  function explicit (line 572) | explicit unary_evaluator(const XprType& op) : m_d(op)
  type typename (line 578) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 581) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 587) | CoeffReturnType coeff(Index index) const
  function PacketType (line 594) | PacketType packet(Index row, Index col) const
  function PacketType (line 601) | PacketType packet(Index index) const
  type Data (line 609) | struct Data
  type ternary_evaluator (line 630) | typedef ternary_evaluator<CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3> > ...
  function EIGEN_DEVICE_FUNC (line 632) | EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) : Base(xpr) {}
  function EIGEN_DEVICE_FUNC (line 663) | EIGEN_DEVICE_FUNC explicit ternary_evaluator(const XprType& xpr) : m_d(xpr)
  type typename (line 669) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 672) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 678) | CoeffReturnType coeff(Index index) const
  function PacketType (line 685) | PacketType packet(Index row, Index col) const
  function PacketType (line 694) | PacketType packet(Index index) const
  type Data (line 703) | struct Data
  type binary_evaluator (line 726) | typedef binary_evaluator<CwiseBinaryOp<BinaryOp, Lhs, Rhs> > Base;
  function explicit (line 729) | explicit evaluator(const XprType& xpr) : Base(xpr) {}
  function explicit (line 758) | explicit binary_evaluator(const XprType& xpr) : m_d(xpr)
  type typename (line 764) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 767) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 773) | CoeffReturnType coeff(Index index) const
  function PacketType (line 780) | PacketType packet(Index row, Index col) const
  function PacketType (line 788) | PacketType packet(Index index) const
  type Data (line 797) | struct Data
  function EIGEN_DEVICE_FUNC (line 827) | EIGEN_DEVICE_FUNC explicit unary_evaluator(const XprType& op) : m_d(op)
  type typename (line 833) | typedef typename XprType::Scalar Scalar;
  type typename (line 834) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 837) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 843) | CoeffReturnType coeff(Index index) const
  type Data (line 863) | struct Data
  type Derived (line 886) | typedef Derived  XprType;
  type typename (line 887) | typedef typename XprType::PointerType PointerType;
  type typename (line 888) | typedef typename XprType::Scalar Scalar;
  type typename (line 889) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 909) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 915) | CoeffReturnType coeff(Index index) const
  function PacketType (line 934) | PacketType packet(Index row, Index col) const
  function PacketType (line 942) | PacketType packet(Index index) const
  function writePacket (line 949) | void writePacket(Index row, Index col, const PacketType& x)
  function writePacket (line 957) | void writePacket(Index index, const PacketType& x)
  function EIGEN_CONSTEXPR (line 962) | EIGEN_CONSTEXPR
  function explicit (line 1093) | explicit block_evaluator(const XprType& block)
  function CoeffReturnType (line 1121) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 1127) | CoeffReturnType coeff(Index index) const
  function PacketType (line 1146) | PacketType packet(Index row, Index col) const
  function PacketType (line 1153) | PacketType packet(Index index) const
  function writePacket (line 1164) | void writePacket(Index row, Index col, const PacketType& x)
  function writePacket (line 1171) | void writePacket(Index index, const PacketType& x)
  function CoeffReturnType (line 1183) | CoeffReturnType linear_coeff_impl(Index index, internal::true_type /* Fo...
  function CoeffReturnType (line 1188) | CoeffReturnType linear_coeff_impl(Index index, internal::false_type /* n...
  type typename (line 1219) | typedef typename XprType::Scalar Scalar;
  function explicit (line 1222) | explicit block_evaluator(const XprType& block)
  type typename (line 1259) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 1262) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 1271) | CoeffReturnType coeff(Index index) const
  type typename (line 1293) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  type typename (line 1297) | typedef typename internal::nested_eval<ArgType,Factor>::type ArgTypeNested;
  type typename (line 1298) | typedef typename internal::remove_all<ArgTypeNested>::type ArgTypeNested...
  function CoeffReturnType (line 1331) | CoeffReturnType coeff(Index index) const
  function PacketType (line 1343) | PacketType packet(Index row, Index col) const
  function PacketType (line 1357) | PacketType packet(Index index) const
  type typename (line 1382) | typedef typename remove_all<typename XprType::NestedExpressionType>::typ...
  function explicit (line 1390) | explicit evaluator_wrapper_base(const ArgType& arg) : m_argImpl(arg) {}
  type typename (line 1392) | typedef typename ArgType::Scalar Scalar;
  type typename (line 1393) | typedef typename ArgType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 1396) | CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 1402) | CoeffReturnType coeff(Index index) const
  function PacketType (line 1421) | PacketType packet(Index row, Index col) const
  function PacketType (line 1428) | PacketType packet(Index index) const
  function writePacket (line 1435) | void writePacket(Index row, Index col, const PacketType& x)
  function writePacket (line 1442) | void writePacket(Index index, const PacketType& x)
  function explicit (line 1458) | explicit unary_evaluator(const XprType& wrapper)
  function explicit (line 1470) | explicit unary_evaluator(const XprType& wrapper)
  type typename (line 1486) | typedef typename XprType::Scalar Scalar;
  type typename (line 1487) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 1527) | CoeffReturnType coeff(Index index) const
  function PacketType (line 1547) | PacketType packet(Index row, Index col) const
  function PacketType (line 1562) | PacketType packet(Index index) const
  function writePacket (line 1570) | void writePacket(Index row, Index col, const PacketType& x)
  function writePacket (line 1587) | void writePacket(Index index, const PacketType& x)
  function explicit (line 1621) | explicit evaluator(const XprType& diagonal)
  type typename (line 1626) | typedef typename XprType::Scalar Scalar;
  type typename (line 1627) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function CoeffReturnType (line 1630) | CoeffReturnType coeff(Index row, Index) const
  function CoeffReturnType (line 1636) | CoeffReturnType coeff(Index index) const
  function EvalToTemp (line 1687) | EIGEN_GENERIC_PUBLIC_INTERFACE(EvalToTemp)
  type typename (line 1717) | typedef typename ArgType::PlainObject         PlainObject;
  type evaluator (line 1718) | typedef evaluator<PlainObject> Base;
  function EIGEN_DEVICE_FUNC (line 1720) | EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr)
  function EIGEN_DEVICE_FUNC (line 1727) | EIGEN_DEVICE_FUNC evaluator(const ArgType& arg)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/CoreIterators.h
  function namespace (line 13) | namespace Eigen {
  function namespace (line 75) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/CwiseBinaryOp.h
  function namespace (line 14) | namespace Eigen {
  type typename (line 88) | typedef typename internal::remove_all<LhsType>::type Lhs;
  type typename (line 89) | typedef typename internal::remove_all<RhsType>::type Rhs;
  type typename (line 91) | typedef typename CwiseBinaryOpImpl<
  type typename (line 99) | typedef typename internal::ref_selector<RhsType>::type RhsNested;
  type typename (line 100) | typedef typename internal::remove_reference<LhsNested>::type _LhsNested;
  type typename (line 101) | typedef typename internal::remove_reference<RhsNested>::type _RhsNested;

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/CwiseNullaryOp.h
  function namespace (line 13) | namespace Eigen {
  function EIGEN_STATIC_ASSERT_FIXED_SIZE (line 302) | EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
  function fill (line 335) | void DenseBase<Derived>::fill(const Scalar& val)
  function namespace (line 838) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/CwiseTernaryOp.h
  function namespace (line 15) | namespace Eigen {
  type typename (line 91) | typedef typename internal::remove_all<Arg2Type>::type Arg2;
  type typename (line 92) | typedef typename internal::remove_all<Arg3Type>::type Arg3;
  type typename (line 94) | typedef typename CwiseTernaryOpImpl<
  type typename (line 100) | typedef typename internal::ref_selector<Arg2Type>::type Arg2Nested;
  type typename (line 101) | typedef typename internal::ref_selector<Arg3Type>::type Arg3Nested;
  type typename (line 102) | typedef typename internal::remove_reference<Arg1Nested>::type _Arg1Nested;
  type typename (line 103) | typedef typename internal::remove_reference<Arg2Nested>::type _Arg2Nested;
  type typename (line 104) | typedef typename internal::remove_reference<Arg3Nested>::type _Arg3Nested;

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/CwiseUnaryOp.h
  function namespace (line 14) | namespace Eigen {
  type typename (line 62) | typedef typename internal::remove_all<XprType>::type NestedExpression;
  function typename (line 84) | typename internal::remove_all<XprTypeNested>::type&

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/CwiseUnaryView.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 65) | typedef typename internal::remove_all<MatrixType>::type NestedExpression;
  type typename (line 109) | typedef typename internal::dense_xpr_base< CwiseUnaryView<ViewOp, Matrix...
  function EIGEN_INHERIT_ASSIGNMENT_OPERATORS (line 111) | EIGEN_DENSE_PUBLIC_INTERFACE(Derived)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/DenseBase.h
  function namespace (line 16) | namespace internal {
  type typename (line 55) | typedef typename internal::traits<Derived>::StorageKind StorageKind;
  type typename (line 63) | typedef typename internal::traits<Derived>::StorageIndex StorageIndex;
  type typename (line 66) | typedef typename internal::traits<Derived>::Scalar Scalar;
  type Scalar (line 71) | typedef Scalar value_type;
  type typename (line 73) | typedef typename NumTraits<Scalar>::Real RealScalar;
  type DenseCoeffsBase (line 74) | typedef DenseCoeffsBase<Derived, internal::accessors_level<Derived>::val...
  type typename (line 96) | typedef typename Base::CoeffReturnType CoeffReturnType;
  type typename (line 179) | typedef typename internal::find_best_packet<Scalar,SizeAtCompileTime>::t...
  type Matrix (line 185) | typedef Matrix<typename
  type Array (line 195) | typedef Array<typename
  type typename (line 209) | typedef typename internal::conditional<internal::is_same<typename
  function EIGEN_DEVICE_FUNC (line 245) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 256) | EIGEN_DEVICE_FUNC
  type CwiseNullaryOp (line 267) | typedef CwiseNullaryOp<internal::scalar_constant_op<Scalar>,PlainObject>...
  type CwiseNullaryOp (line 271) | typedef CwiseNullaryOp<internal::linspaced_op<Scalar>,PlainObject> Rando...
  type Matrix (line 273) | typedef Matrix<typename
  type Transpose (line 324) | typedef Transpose<Derived> TransposeReturnType;
  type typename (line 327) | typedef typename internal::add_const<Transpose<const Derived> >::type Co...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/DenseCoeffsBase.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 486) | typedef typename internal::traits<Derived>::Scalar Scalar;
  type typename (line 487) | typedef typename NumTraits<Scalar>::Real RealScalar;
  function EIGEN_CONSTEXPR (line 516) | EIGEN_CONSTEXPR inline Index stride() const
  function Index (line 585) | inline Index outerStride() const EIGEN_NOEXCEPT
  function Index (line 601) | inline Index rowStride() const EIGEN_NOEXCEPT
  function Index (line 643) | inline Index first_aligned(const DenseBase<Derived>& m)
  function Index (line 650) | inline Index first_default_aligned(const DenseBase<Derived>& m)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/DenseStorage.h
  function namespace (line 21) | namespace Eigen {
  function EIGEN_DEVICE_FUNC (line 125) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 132) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 144) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 151) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 162) | EIGEN_DEVICE_FUNC plain_array() {}
  function EIGEN_DEVICE_FUNC (line 163) | EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert...
  type plain_array_helper (line 166) | struct plain_array_helper {
  function EIGEN_DEVICE_FUNC (line 218) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 237) | EIGEN_DEVICE_FUNC DenseStorage(DenseStorage&& other) EIGEN_NOEXCEPT
  function EIGEN_DEVICE_FUNC (line 252) | EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) {
  function Index (line 262) | Index rows(void) EIGEN_NOEXCEPT {return _Rows;}
  function Index (line 263) | Index cols(void) EIGEN_NOEXCEPT {return _Cols;}
  function EIGEN_DEVICE_FUNC (line 264) | EIGEN_DEVICE_FUNC void conservativeResize(Index,Index,Index) {}
  function EIGEN_DEVICE_FUNC (line 265) | EIGEN_DEVICE_FUNC void resize(Index,Index,Index) {}
  function EIGEN_DEVICE_FUNC (line 266) | EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; }
  function EIGEN_DEVICE_FUNC (line 267) | EIGEN_DEVICE_FUNC T *data() { return m_data.array; }
  function EIGEN_DEVICE_FUNC (line 274) | EIGEN_DEVICE_FUNC DenseStorage() {}
  function EIGEN_DEVICE_FUNC (line 275) | EIGEN_DEVICE_FUNC explicit DenseStorage(internal::constructor_without_un...
  function EIGEN_DEVICE_FUNC (line 276) | EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage&) {}
  function EIGEN_DEVICE_FUNC (line 278) | EIGEN_DEVICE_FUNC DenseStorage(Index,Index,Index) {}
  function EIGEN_DEVICE_FUNC (line 323) | EIGEN_DEVICE_FUNC DenseStorage(Index, Index rows, Index cols) : m_rows(r...
  function EIGEN_DEVICE_FUNC (line 332) | EIGEN_DEVICE_FUNC void conservativeResize(Index, Index rows, Index cols)...
  function EIGEN_DEVICE_FUNC (line 333) | EIGEN_DEVICE_FUNC void resize(Index, Index rows, Index cols) { m_rows = ...
  function EIGEN_DEVICE_FUNC (line 334) | EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; }
  function EIGEN_DEVICE_FUNC (line 335) | EIGEN_DEVICE_FUNC T *data() { return m_data.array; }
  function EIGEN_DEVICE_FUNC (line 345) | EIGEN_DEVICE_FUNC explicit DenseStorage(internal::constructor_without_un...
  function EIGEN_DEVICE_FUNC (line 347) | EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other)
  function EIGEN_DEVICE_FUNC (line 362) | EIGEN_DEVICE_FUNC DenseStorage(Index, Index rows, Index) : m_rows(rows) {}
  function EIGEN_DEVICE_FUNC (line 368) | EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT {return m_rows;}
  function Index (line 369) | Index cols(void) const EIGEN_NOEXCEPT {return _Cols;}
  function EIGEN_DEVICE_FUNC (line 370) | EIGEN_DEVICE_FUNC void conservativeResize(Index, Index rows, Index) { m_...
  function EIGEN_DEVICE_FUNC (line 371) | EIGEN_DEVICE_FUNC void resize(Index, Index rows, Index) { m_rows = rows; }
  function EIGEN_DEVICE_FUNC (line 372) | EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; }
  function EIGEN_DEVICE_FUNC (line 373) | EIGEN_DEVICE_FUNC T *data() { return m_data.array; }
  function EIGEN_DEVICE_FUNC (line 383) | EIGEN_DEVICE_FUNC explicit DenseStorage(internal::constructor_without_un...
  function EIGEN_DEVICE_FUNC (line 385) | EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other)
  function EIGEN_DEVICE_FUNC (line 399) | EIGEN_DEVICE_FUNC DenseStorage(Index, Index, Index cols) : m_cols(cols) {}
  function Index (line 404) | Index rows(void) const EIGEN_NOEXCEPT {return _Rows;}
  function EIGEN_DEVICE_FUNC (line 405) | EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT {return m_cols;}
  function EIGEN_DEVICE_FUNC (line 406) | EIGEN_DEVICE_FUNC void conservativeResize(Index, Index, Index cols) { m_...
  function EIGEN_DEVICE_FUNC (line 407) | EIGEN_DEVICE_FUNC void resize(Index, Index, Index cols) { m_cols = cols; }
  function EIGEN_DEVICE_FUNC (line 408) | EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; }
  function EIGEN_DEVICE_FUNC (line 409) | EIGEN_DEVICE_FUNC T *data() { return m_data.array; }
  function EIGEN_DEVICE_FUNC (line 465) | EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete...
  function EIGEN_DEVICE_FUNC (line 472) | EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT {return m_rows;}
  function EIGEN_DEVICE_FUNC (line 473) | EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT {return m_cols;}
  function conservativeResize (line 474) | void conservativeResize(Index size, Index rows, Index cols)
  function EIGEN_DEVICE_FUNC (line 480) | EIGEN_DEVICE_FUNC void resize(Index size, Index rows, Index cols)
  function EIGEN_DEVICE_FUNC (line 494) | EIGEN_DEVICE_FUNC const T *data() const { return m_data; }
  function EIGEN_DEVICE_FUNC (line 495) | EIGEN_DEVICE_FUNC T *data() { return m_data; }
  function explicit (line 505) | explicit DenseStorage(internal::constructor_without_unaligned_array_asse...
  function EIGEN_DEVICE_FUNC (line 506) | EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) : m_d...
  function EIGEN_DEVICE_FUNC (line 512) | EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other)
  function EIGEN_DEVICE_FUNC (line 529) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 545) | EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete...
  function Index (line 550) | Index rows(void) EIGEN_NOEXCEPT {return _Rows;}
  function EIGEN_DEVICE_FUNC (line 551) | EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT {return m_cols;}
  function EIGEN_DEVICE_FUNC (line 552) | EIGEN_DEVICE_FUNC void conservativeResize(Index size, Index, Index cols)
  function resize (line 557) | void resize(Index size, Index, Index cols)
  function EIGEN_DEVICE_FUNC (line 570) | EIGEN_DEVICE_FUNC const T *data() const { return m_data; }
  function EIGEN_DEVICE_FUNC (line 571) | EIGEN_DEVICE_FUNC T *data() { return m_data; }
  function explicit (line 581) | explicit DenseStorage(internal::constructor_without_unaligned_array_asse...
  function EIGEN_DEVICE_FUNC (line 582) | EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols) : m_d...
  function EIGEN_DEVICE_FUNC (line 588) | EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage& other)
  function EIGEN_DEVICE_FUNC (line 605) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 621) | EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete...
  function EIGEN_DEVICE_FUNC (line 626) | EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT {return m_rows;}
  function Index (line 627) | Index cols(void) {return _Cols;}
  function conservativeResize (line 628) | void conservativeResize(Index size, Index rows, Index)
  function resize (line 633) | void resize(Index size, Index rows, Index)
  function EIGEN_DEVICE_FUNC (line 646) | EIGEN_DEVICE_FUNC const T *data() const { return m_data; }
  function EIGEN_DEVICE_FUNC (line 647) | EIGEN_DEVICE_FUNC T *data() { return m_data; }

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Diagonal.h
  function namespace (line 14) | namespace Eigen {
  type typename (line 69) | typedef typename internal::dense_xpr_base<Diagonal>::type Base;
  function explicit (line 73) | explicit inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) ...
  type typename (line 98) | typedef typename internal::conditional<
  function EIGEN_DEVICE_FUNC (line 104) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 106) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 109) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 116) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 122) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 128) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 135) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 141) | EIGEN_DEVICE_FUNC

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/DiagonalMatrix.h
  function namespace (line 14) | namespace Eigen {
  function EIGEN_DEVICE_FUNC (line 162) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 166) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 170) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 174) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 178) | EIGEN_DEVICE_FUNC
  function EIGEN_STRONG_INLINE (line 193) | EIGEN_STRONG_INLINE
  function EIGEN_STRONG_INLINE (line 201) | EIGEN_STRONG_INLINE DiagonalMatrix(const std::initializer_list<std::init...
  function m_diagonal (line 208) | inline DiagonalMatrix(const DiagonalBase<OtherDerived>& other) : m_diago...
  function m_diagonal (line 212) | inline DiagonalMatrix(const DiagonalMatrix& other) : m_diagonal(other.di...
  function explicit (line 218) | explicit inline DiagonalMatrix(const MatrixBase<OtherDerived>& other) : ...
  function EIGEN_DEVICE_FUNC (line 243) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 246) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 249) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 252) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 255) | EIGEN_DEVICE_FUNC
  function namespace (line 273) | namespace internal {
  type _DiagonalVectorType (line 298) | typedef _DiagonalVectorType DiagonalVectorType;
  type DiagonalWrapper (line 299) | typedef DiagonalWrapper Nested;
  function m_diagonal (line 304) | inline DiagonalWrapper(DiagonalVectorType& a_diagonal) : m_diagonal(a_di...
  function DiagonalWrapper (line 324) | inline const DiagonalWrapper<const Derived>
  function namespace (line 357) | namespace internal {
  function run (line 383) | static void run(DstXprType &dst, const SrcXprType &src, const internal::...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/DiagonalProduct.h
  function namespace (line 14) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Dot.h
  function namespace (line 13) | namespace Eigen {
  type internal (line 78) | typedef internal::scalar_conj_product_op<Scalar,typename
  type typename (line 126) | typedef typename internal::nested_eval<Derived,2>::type _Nested;
  type typename (line 169) | typedef typename internal::nested_eval<Derived,3>::type _Nested;
  function namespace (line 201) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/EigenBase.h
  function namespace (line 14) | namespace Eigen {
  function Index (line 60) | inline Index rows() const EIGEN_NOEXCEPT { return derived().rows(); }
  function addTo (line 78) | inline void addTo(Dest& dst) const
  function subTo (line 90) | inline void subTo(Dest& dst) const
  function applyThisOnTheRight (line 101) | inline void applyThisOnTheRight(Dest& dst) const
  function applyThisOnTheLeft (line 110) | inline void applyThisOnTheLeft(Dest& dst) const

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/ForceAlignedAccess.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Fuzzy.h
  function namespace (line 14) | namespace Eigen {
  function typename (line 65) | typename Derived::RealScalar& prec)
  function EIGEN_DEVICE_FUNC (line 74) | EIGEN_DEVICE_FUNC

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/GeneralProduct.h
  function namespace (line 14) | namespace Eigen {
  type product_type_selector (line 103) | struct product_type_selector
  type product_type_selector (line 104) | struct product_type_selector
  type product_type_selector (line 105) | struct product_type_selector
  type product_type_selector (line 106) | struct product_type_selector
  type product_type_selector (line 107) | struct product_type_selector
  type product_type_selector (line 108) | struct product_type_selector
  type product_type_selector (line 109) | struct product_type_selector
  type product_type_selector (line 110) | struct product_type_selector
  type product_type_selector (line 111) | struct product_type_selector
  type product_type_selector (line 112) | struct product_type_selector
  type product_type_selector (line 113) | struct product_type_selector
  type product_type_selector (line 114) | struct product_type_selector
  type product_type_selector (line 115) | struct product_type_selector
  type product_type_selector (line 116) | struct product_type_selector
  type product_type_selector (line 117) | struct product_type_selector
  type product_type_selector (line 118) | struct product_type_selector
  type product_type_selector (line 119) | struct product_type_selector
  type product_type_selector (line 120) | struct product_type_selector
  type product_type_selector (line 121) | struct product_type_selector
  type product_type_selector (line 122) | struct product_type_selector
  function namespace (line 152) | namespace internal {
  function namespace (line 159) | namespace internal {
  function EIGEN_STRONG_INLINE (line 184) | EIGEN_STRONG_INLINE Scalar* data() { return m_data.array; }
  function EIGEN_STRONG_INLINE (line 189) | EIGEN_STRONG_INLINE Scalar* data() {
  type gemv_dense_selector (line 211) | struct gemv_dense_selector
  function run (line 214) | inline void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typena...
  type gemv_dense_selector (line 304) | struct gemv_dense_selector
  function run (line 307) | void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest...
  type gemv_dense_selector (line 356) | struct gemv_dense_selector
  function run (line 359) | void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest...
  type gemv_dense_selector (line 370) | struct gemv_dense_selector
  function run (line 373) | void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/GenericPacketMath.h
  function namespace (line 14) | namespace Eigen {
  function Packet (line 466) | inline Packet run(const Packet& a, const Packet& b, Op op) {
  function PropagateNaN (line 474) | struct pminmax_impl<PropagateNaN> {
  function PropagateNumbers (line 489) | struct pminmax_impl<PropagateNumbers> {
  function Packet (line 511) | inline Packet
  function Packet (line 517) | inline Packet pmin(const Packet& a, const Packet& b) {
  function Packet (line 523) | inline Packet
  function Packet (line 529) | inline Packet pmax(const Packet& a, const Packet& b) {
  function Packet (line 534) | inline Packet
  function pabs (line 536) | inline unsigned int
  function pabs (line 538) | inline unsigned long
  function pabs (line 540) | inline unsigned long long
  function Packet (line 544) | inline Packet
  function Packet (line 550) | inline Packet
  function parithmetic_shift_right (line 555) | inline int
  function parithmetic_shift_right (line 557) | inline long int
  function plogical_shift_right (line 561) | inline int
  function plogical_shift_right (line 563) | inline long int
  function plogical_shift_left (line 567) | inline int
  function plogical_shift_left (line 569) | inline long int
  function Packet (line 576) | inline Packet pfrexp(const Packet& a, Packet& exponent) {
  function Packet (line 587) | inline Packet
  function Packet (line 594) | inline Packet
  function Packet (line 598) | inline Packet
  function Packet (line 602) | inline Packet
  function Packet (line 614) | inline Packet
  function Packet (line 622) | inline Packet
  function EIGEN_STRONG_INLINE (line 630) | EIGEN_STRONG_INLINE Packet
  function Packet (line 639) | inline Packet
  function pbroadcast4 (line 653) | inline void pbroadcast4(const typename unpacket_traits<Packet>::type *a,
  function pbroadcast2 (line 670) | inline void pbroadcast2(const typename unpacket_traits<Packet>::type *a,
  function EIGEN_STRONG_INLINE (line 678) | EIGEN_STRONG_INLINE Packet
  function Packet (line 683) | inline Packet
  function pstore (line 696) | inline void pstore(Scalar* to, const Packet& from)
  function pstoreu (line 700) | inline void pstoreu(Scalar* to, const Packet& from)
  function Packet (line 712) | inline Packet pgather(const Scalar* from, Index /*stride*/)
  function pscatter (line 715) | inline void pscatter(Scalar* to, const Packet& from, Index /*stride*/)
  function prefetch (line 719) | inline void prefetch(const Scalar* addr)
  function Packet (line 737) | inline Packet preverse(const Packet& a)
  function Packet (line 741) | inline Packet pcplxflip(const Packet& a)
  function Packet (line 752) | Packet psin(const Packet& a) { EIGEN_USING_STD(sin); return sin(a); }
  function Packet (line 756) | Packet pcos(const Packet& a) { EIGEN_USING_STD(cos); return cos(a); }
  function Packet (line 760) | Packet ptan(const Packet& a) { EIGEN_USING_STD(tan); return tan(a); }
  function Packet (line 764) | Packet pasin(const Packet& a) { EIGEN_USING_STD(asin); return asin(a); }
  function Packet (line 768) | Packet pacos(const Packet& a) { EIGEN_USING_STD(acos); return acos(a); }
  function Packet (line 772) | Packet patan(const Packet& a) { EIGEN_USING_STD(atan); return atan(a); }
  function Packet (line 776) | Packet psinh(const Packet& a) { EIGEN_USING_STD(sinh); return sinh(a); }
  function Packet (line 780) | Packet pcosh(const Packet& a) { EIGEN_USING_STD(cosh); return cosh(a); }
  function Packet (line 784) | Packet ptanh(const Packet& a) { EIGEN_USING_STD(tanh); return tanh(a); }
  function Packet (line 788) | Packet pexp(const Packet& a) { EIGEN_USING_STD(exp); return exp(a); }
  function Packet (line 792) | Packet pexpm1(const Packet& a) { return numext::expm1(a); }
  function Packet (line 796) | Packet plog(const Packet& a) { EIGEN_USING_STD(log); return log(a); }
  function Packet (line 800) | Packet plog1p(const Packet& a) { return numext::log1p(a); }
  function Packet (line 804) | Packet plog10(const Packet& a) { EIGEN_USING_STD(log10); return log10(a); }
  function Packet (line 808) | Packet plog2(const Packet& a) {
  function Packet (line 815) | Packet psqrt(const Packet& a) { return numext::sqrt(a); }
  function Packet (line 819) | Packet prsqrt(const Packet& a) {
  function Packet (line 826) | Packet pround(const Packet& a) { using numext::round; return round(a); }
  function Packet (line 830) | Packet pfloor(const Packet& a) { using numext::floor; return floor(a); }
  function Packet (line 835) | Packet print(const Packet& a) { using numext::rint; return rint(a); }
  function Packet (line 839) | Packet pceil(const Packet& a) { using numext::ceil; return ceil(a); }
  function typename (line 843) | inline typename unpacket_traits<Packet>::type
  function typename (line 858) | inline typename unpacket_traits<Packet>::type
  function typename (line 874) | inline typename unpacket_traits<Packet>::type
  function typename (line 882) | inline typename unpacket_traits<Packet>::type predux_mul(
  function typename (line 890) | inline typename unpacket_traits<Packet>::type predux_min(
  function typename (line 897) | inline typename unpacket_traits<Packet>::type predux_min(
  function typename (line 905) | inline typename unpacket_traits<Packet>::type predux_max(
  function typename (line 912) | inline typename unpacket_traits<Packet>::type predux_max(
  function predux_any (line 930) | inline bool predux_any(const Packet& a)
  function pstore1 (line 949) | void pstore1(typename unpacket_traits<Packet>::type* to, const typename ...
  function Packet (line 955) | inline Packet
  function EIGEN_ALWAYS_INLINE (line 964) | EIGEN_ALWAYS_INLINE Packet ploadt(const typename unpacket_traits<Packet>...
  function pstoret (line 975) | void pstoret(Scalar* to, const Packet& from)
  function EIGEN_ALWAYS_INLINE (line 989) | EIGEN_ALWAYS_INLINE Packet ploadt_ro(const typename unpacket_traits<Pack...
  function ptranspose (line 1018) | inline void
  function Packet (line 1031) | inline Packet

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/GlobalFunctions.h
  function namespace (line 54) | namespace Eigen

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/IO.h
  function namespace (line 14) | namespace Eigen {
  function namespace (line 114) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/IndexedView.h
  function namespace (line 13) | namespace Eigen {
  function Index (line 125) | Index rows() const { return internal::size(m_rowIndices); }
  function typename (line 135) | typename internal::remove_reference<XprType>::type&
  function namespace (line 160) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Inverse.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 73) | typedef typename XprType::Scalar Scalar;
  function namespace (line 80) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Map.h
  function namespace (line 14) | namespace Eigen {
  type PointerType (line 103) | typedef PointerType PointerArgType;
  function EIGEN_DEVICE_FUNC (line 104) | EIGEN_DEVICE_FUNC
  function Index (line 108) | inline Index innerStride() const
  function EIGEN_DEVICE_FUNC (line 128) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 141) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 155) | EIGEN_DEVICE_FUNC

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/MapBase.h
  function namespace (line 18) | namespace Eigen {
  type typename (line 231) | typedef typename Base::Scalar Scalar;
  type typename (line 232) | typedef typename Base::PacketScalar PacketScalar;
  type typename (line 233) | typedef typename Base::StorageIndex StorageIndex;
  type typename (line 234) | typedef typename Base::PointerType PointerType;
  type typename (line 248) | typedef typename internal::conditional<
  function EIGEN_DEVICE_FUNC (line 254) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 256) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 259) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 265) | EIGEN_DEVICE_FUNC
  function writePacket (line 273) | void writePacket(Index row, Index col, const PacketScalar& val)
  function writePacket (line 280) | void writePacket(Index index, const PacketScalar& val)
  function EIGEN_DEVICE_FUNC (line 287) | EIGEN_DEVICE_FUNC explicit inline MapBase(PointerType dataPtr) : Base(da...
  function EIGEN_DEVICE_FUNC (line 288) | EIGEN_DEVICE_FUNC inline MapBase(PointerType dataPtr, Index vecSize) : B...
  function EIGEN_DEVICE_FUNC (line 289) | EIGEN_DEVICE_FUNC inline MapBase(PointerType dataPtr, Index rows, Index ...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/MathFunctions.h
  function namespace (line 20) | namespace Eigen {
  type Scalar (line 818) | typedef Scalar type;
  function Scalar (line 831) | static inline Scalar run()
  type typename (line 892) | typedef typename make_unsigned<Scalar>::type ScalarU;
  type typename (line 896) | typedef typename conditional<(ScalarU(-1) > unsigned(-1)), ScalarU, unsi...
  function Scalar (line 914) | static inline Scalar run()
  function Scalar (line 937) | static inline Scalar run()
  function isinf_impl (line 997) | bool>::type
  function isinf_msvc_helper (line 1029) | bool isinf_msvc_helper(T x)
  function EIGEN_DEVICE_FUNC (line 1035) | EIGEN_DEVICE_FUNC inline bool isnan_impl(const long double& x) { return ...
  function EIGEN_DEVICE_FUNC (line 1036) | EIGEN_DEVICE_FUNC inline bool isnan_impl(const double& x)      { return ...
  function EIGEN_DEVICE_FUNC (line 1037) | EIGEN_DEVICE_FUNC inline bool isnan_impl(const float& x)       { return ...
  function EIGEN_DEVICE_FUNC (line 1039) | EIGEN_DEVICE_FUNC inline bool isinf_impl(const long double& x) { return ...
  function EIGEN_DEVICE_FUNC (line 1040) | EIGEN_DEVICE_FUNC inline bool isinf_impl(const double& x)      { return ...
  function EIGEN_DEVICE_FUNC (line 1041) | EIGEN_DEVICE_FUNC inline bool isinf_impl(const float& x)       { return ...
  function isnan_impl (line 1053) | bool isnan_impl(const long double& x) { return __builtin_isnan(x); }
  function isnan_impl (line 1054) | bool isnan_impl(const double& x)      { return __builtin_isnan(x); }
  function isnan_impl (line 1055) | bool isnan_impl(const float& x)       { return __builtin_isnan(x); }
  function isinf_impl (line 1056) | bool isinf_impl(const double& x)      { return __builtin_isinf(x); }
  function isinf_impl (line 1057) | bool isinf_impl(const float& x)       { return __builtin_isinf(x); }
  function isinf_impl (line 1058) | bool isinf_impl(const long double& x) { return __builtin_isinf(x); }
  function namespace (line 1078) | namespace numext {
  function floor (line 1412) | float floor(const float &x) { return ::floorf(x); }
  function floor (line 1415) | double floor(const double &x) { return ::floor(x); }
  function ceil (line 1432) | float ceil(const float &x) { return ::ceilf(x); }
  function ceil (line 1435) | double ceil(const double &x) { return ::ceil(x); }
  function log2 (line 1441) | inline int log2(int x)
  function log (line 1500) | float log(const float &x) { return ::logf(x); }
  function log (line 1503) | double log(const double &x) { return ::log(x); }
  function typename (line 1516) | typename NumTraits<T>::Real>::type
  function abs (line 1528) | float abs(const float &x) { return ::fabsf(x); }
  function abs (line 1531) | double abs(const double &x) { return ::fabs(x); }
  function exp (line 1557) | float exp(const float &x) { return ::expf(x); }
  function exp (line 1560) | double exp(const double &x) { return ::exp(x); }
  function expm1 (line 1592) | float expm1(const float &x) { return ::expm1f(x); }
  function expm1 (line 1595) | double expm1(const double &x) { return ::expm1(x); }
  function cos (line 1611) | float cos(const float &x) { return ::cosf(x); }
  function cos (line 1614) | double cos(const double &x) { return ::cos(x); }
  function sin (line 1630) | float sin(const float &x) { return ::sinf(x); }
  function sin (line 1633) | double sin(const double &x) { return ::sin(x); }
  function tan (line 1649) | float tan(const float &x) { return ::tanf(x); }
  function tan (line 1652) | double tan(const double &x) { return ::tan(x); }
  function EIGEN_ALWAYS_INLINE (line 1664) | EIGEN_ALWAYS_INLINE
  function acos (line 1678) | float acos(const float &x) { return ::acosf(x); }
  function acos (line 1681) | double acos(const double &x) { return ::acos(x); }
  function EIGEN_ALWAYS_INLINE (line 1693) | EIGEN_ALWAYS_INLINE
  function asin (line 1707) | float asin(const float &x) { return ::asinf(x); }
  function asin (line 1710) | double asin(const double &x) { return ::asin(x); }
  function EIGEN_ALWAYS_INLINE (line 1722) | EIGEN_ALWAYS_INLINE
  function atan (line 1736) | float atan(const float &x) { return ::atanf(x); }
  function atan (line 1739) | double atan(const double &x) { return ::atan(x); }
  function cosh (line 1756) | float cosh(const float &x) { return ::coshf(x); }
  function cosh (line 1759) | double cosh(const double &x) { return ::cosh(x); }
  function sinh (line 1775) | float sinh(const float &x) { return ::sinhf(x); }
  function sinh (line 1778) | double sinh(const double &x) { return ::sinh(x); }
  function tanh (line 1790) | float tanh(float x) { return internal::generic_fast_tanh_float(x); }
  function tanh (line 1799) | float tanh(const float &x) { return ::tanhf(x); }
  function tanh (line 1802) | double tanh(const double &x) { return ::tanh(x); }
  function fmod (line 1819) | float fmod(const float& a, const float& b) {
  function fmod (line 1825) | double fmod(const double& a, const double& b) {
  function namespace (line 1849) | namespace internal {
  type typename (line 1902) | typedef typename NumTraits<Scalar>::Real RealScalar;
  function isMuchSmallerThan (line 1904) | static inline bool isMuchSmallerThan(const Scalar& x, const Scalar&, con...
  function EIGEN_DEVICE_FUNC (line 1908) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 1913) | EIGEN_DEVICE_FUNC
  type typename (line 1923) | typedef typename NumTraits<Scalar>::Real RealScalar;
  function isMuchSmallerThan (line 1925) | static inline bool isMuchSmallerThan(const Scalar& x, const OtherScalar&...
  function EIGEN_DEVICE_FUNC (line 1929) | EIGEN_DEVICE_FUNC
  function isMuchSmallerThan (line 1940) | bool isMuchSmallerThan(const Scalar& x, const OtherScalar& y,
  function isApprox (line 1947) | bool isApprox(const Scalar& x, const Scalar& y,
  function isApproxOrLessThan (line 1954) | bool isApproxOrLessThan(const Scalar& x, const Scalar& y,
  function bool (line 1964) | struct random_impl<bool>
  function bool (line 1977) | struct scalar_fuzzy_impl<bool>
  function namespace (line 2004) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/MathFunctionsImpl.h
  function namespace (line 14) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Matrix.h
  function namespace (line 14) | namespace Eigen {
  type PlainObjectBase (line 186) | typedef PlainObjectBase<Matrix> Base;
  function EIGEN_STRONG_INLINE (line 266) | EIGEN_STRONG_INLINE
  function EIGEN_STRONG_INLINE (line 295) | EIGEN_STRONG_INLINE
  function EIGEN_STRONG_INLINE (line 321) | EIGEN_STRONG_INLINE Matrix(const std::initializer_list<std::initializer_...
  function EIGEN_STRONG_INLINE (line 328) | EIGEN_STRONG_INLINE
  function EIGEN_STRONG_INLINE (line 336) | EIGEN_STRONG_INLINE
  function Base (line 414) | Matrix(const Matrix& other) : Base(other)
  function EIGEN_STRONG_INLINE (line 422) | EIGEN_STRONG_INLINE Matrix(const EigenBase<OtherDerived> &other)
  type internal (line 447) | struct internal

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/MatrixBase.h
  function namespace (line 14) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/NestByValue.h
  function namespace (line 14) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/NoAlias.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/NumTraits.h
  function namespace (line 13) | namespace Eigen {
  function run (line 56) | static int run() { return std::numeric_limits<T>::digits; }
  function EIGEN_CONSTEXPR (line 62) | EIGEN_CONSTEXPR
  function EIGEN_CONSTEXPR (line 74) | EIGEN_CONSTEXPR
  function namespace (line 80) | namespace numext {
  type T (line 164) | typedef T Real;
  type typename (line 165) | typedef typename internal::conditional<
  type T (line 170) | typedef T Nested;
  type T (line 171) | typedef T Literal;
  function Real (line 174) | static inline Real epsilon()
  function digits10 (line 180) | static inline int digits10()
  function digits (line 186) | static inline int digits()
  function min_exponent (line 192) | static inline int min_exponent()
  function max_exponent (line 198) | static inline int max_exponent()
  function Real (line 204) | static inline Real dummy_precision()
  function T (line 211) | static inline T highest() {
  function T (line 216) | static inline T lowest()  {
  function T (line 222) | static inline T infinity() {
  function T (line 227) | static inline T quiet_NaN() {
  type NumTraits (line 235) | struct NumTraits
  function dummy_precision (line 239) | static inline float dummy_precision() { return 1e-5f; }
  type NumTraits (line 242) | struct NumTraits
  function dummy_precision (line 245) | static inline double dummy_precision() { return 1e-12; }
  type NumTraits (line 248) | struct NumTraits
  function dummy_precision (line 252) | double dummy_precision() { return 1e-15l; }
  type _Real (line 258) | typedef _Real Real;
  type typename (line 259) | typedef typename NumTraits<_Real>::Literal Literal;
  function Real (line 269) | static inline Real epsilon() { return NumTraits<Real>::epsilon(); }
  function Real (line 271) | static inline Real dummy_precision() { return NumTraits<Real>::dummy_pre...
  function digits10 (line 273) | static inline int digits10() { return NumTraits<Real>::digits10(); }
  type typename (line 280) | typedef typename NumTraits<Scalar>::Real RealScalar;
  type Array (line 281) | typedef Array<RealScalar, Rows, Cols, Options, MaxRows, MaxCols> Real;
  type typename (line 282) | typedef typename NumTraits<Scalar>::NonInteger NonIntegerScalar;
  type Array (line 283) | typedef Array<NonIntegerScalar, Rows, Cols, Options, MaxRows, MaxCols> N...
  type ArrayType (line 284) | typedef ArrayType & Nested;
  type typename (line 285) | typedef typename NumTraits<Scalar>::Literal Literal;
  function RealScalar (line 298) | static inline RealScalar epsilon() { return NumTraits<RealScalar>::epsil...
  function RealScalar (line 300) | static inline RealScalar dummy_precision() { return NumTraits<RealScalar...
  function EIGEN_CONSTEXPR (line 302) | EIGEN_CONSTEXPR
  function string (line 306) | struct NumTraits<std::string>
  function void (line 329) | struct NumTraits<void> {}
  type NumTraits (line 331) | struct NumTraits

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/PartialReduxEvaluator.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 105) | typedef typename redux_traits<Func, Evaluator>::PacketType PacketScalar;
  function PacketType (line 109) | static PacketType run(const Evaluator &eval, const Func& func, Index size)
  type typename (line 136) | typedef typename internal::nested_eval<ArgType,1>::type ArgTypeNested;
  type typename (line 137) | typedef typename internal::add_const_on_value_type<ArgTypeNested>::type ...
  type typename (line 138) | typedef typename internal::remove_all<ArgTypeNested>::type ArgTypeNested...
  type typename (line 139) | typedef typename ArgType::Scalar InputScalar;
  type typename (line 140) | typedef typename XprType::Scalar Scalar;
  type typename (line 144) | typedef typename MemberOp::template Cost<int(TraversalSize)> CostOpType;
  function EIGEN_DEVICE_FUNC (line 165) | EIGEN_DEVICE_FUNC explicit evaluator(const XprType xpr)
  type typename (line 172) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function Scalar (line 175) | const Scalar coeff(Index i, Index j) const
  function Scalar (line 181) | const Scalar coeff(Index index) const
  function EIGEN_STRONG_INLINE (line 187) | EIGEN_STRONG_INLINE
  function EIGEN_DEVICE_FUNC (line 194) | EIGEN_DEVICE_FUNC

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/PermutationMatrix.h
  function namespace (line 14) | namespace Eigen {
  type internal (line 300) | typedef internal::traits<PermutationMatrix> Traits;
  type typename (line 306) | typedef typename Traits::IndicesType IndicesType;
  type typename (line 307) | typedef typename Traits::StorageIndex StorageIndex;
  function explicit (line 315) | explicit inline PermutationMatrix(Index size) : m_indices(size)
  function m_indices (line 333) | inline PermutationMatrix(const MatrixBase<Other>& indices) : m_indices(i...
  function namespace (line 391) | namespace internal {
  type internal (line 408) | typedef internal::traits<Map> Traits;
  type typename (line 412) | typedef typename Traits::IndicesType IndicesType;
  type typename (line 413) | typedef typename IndicesType::Scalar StorageIndex;
  function m_indices (line 416) | inline Map(const StorageIndex* indicesPtr)
  function namespace (line 456) | namespace internal {
  type internal (line 489) | typedef internal::traits<PermutationWrapper> Traits;
  type typename (line 493) | typedef typename Traits::IndicesType IndicesType;
  function m_indices (line 496) | inline PermutationWrapper(const IndicesType& indices)
  type internal (line 540) | typedef internal::traits<PermutationType> PermTraits;
  type typename (line 548) | typedef typename PermutationType::DenseMatrixType DenseMatrixType;
  function namespace (line 597) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/PlainObjectBase.h
  function namespace (line 25) | namespace Eigen {
  function Scalar (line 152) | const Scalar& coeff(Index rowId, Index colId) const
  function Scalar (line 165) | const Scalar& coeff(Index index) const
  function Scalar (line 196) | const Scalar& coeffRef(Index rowId, Index colId) const
  function Scalar (line 207) | const Scalar& coeffRef(Index index) const
  function PacketScalar (line 214) | PacketScalar packet(Index rowId, Index colId) const
  function PacketScalar (line 224) | PacketScalar packet(Index index) const
  function writePacket (line 231) | void writePacket(Index rowId, Index colId, const PacketScalar& val)
  function writePacket (line 241) | void writePacket(Index index, const PacketScalar& val)
  function Scalar (line 247) | const Scalar *data() const
  function Scalar (line 251) | Scalar *data()
  function resize (line 271) | void resize(Index rows, Index cols)
  function EIGEN_DEVICE_FUNC (line 300) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 325) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 339) | EIGEN_DEVICE_FUNC
  function conservativeResize (line 382) | void conservativeResize(Index rows, Index cols)
  function conservativeResize (line 395) | void conservativeResize(Index rows, NoChange_t)
  function conservativeResize (line 409) | void conservativeResize(NoChange_t, Index cols)
  function conservativeResize (line 424) | void conservativeResize(Index size)
  function EIGEN_DEVICE_FUNC (line 485) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 494) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 513) | EIGEN_DEVICE_FUNC
  function EIGEN_STRONG_INLINE (line 533) | EIGEN_STRONG_INLINE
  function EIGEN_STRONG_INLINE (line 552) | EIGEN_STRONG_INLINE PlainObjectBase(const std::initializer_list<std::ini...
  function _init2 (line 824) | void _init2(const Index& val0, const Index& val1,
  function _init1 (line 862) | void _init1(const Index& val0,
  function _init1 (line 875) | void _init1(const Scalar* data){
  function _init1 (line 889) | void _init1(const Derived& other){
  function EIGEN_STRONG_INLINE (line 910) | EIGEN_STRONG_INLINE void _init1(const RotationBase<OtherDerived,ColsAtCo...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Product.h
  function namespace (line 13) | namespace Eigen {
  type _Rhs (line 79) | typedef _Rhs Rhs;
  type typename (line 81) | typedef typename ProductImpl<
  type typename (line 89) | typedef typename internal::ref_selector<Rhs>::type RhsNested;
  type typename (line 90) | typedef typename internal::remove_all<LhsNested>::type LhsNestedCleaned;
  type typename (line 91) | typedef typename internal::remove_all<RhsNested>::type RhsNestedCleaned;
  function namespace (line 117) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/ProductEvaluators.h
  function namespace (line 16) | namespace Eigen {
  type evaluator (line 56) | typedef evaluator<Product<EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(Scalar1...
  function explicit (line 58) | explicit evaluator(const XprType& xpr)
  type evaluator (line 69) | typedef evaluator<Diagonal<const Product<Lhs, Rhs, LazyProduct>, DiagInd...
  function explicit (line 71) | explicit evaluator(const XprType& xpr)
  type typename (line 100) | typedef typename XprType::PlainObject PlainObject;
  type evaluator (line 101) | typedef evaluator<PlainObject> Base;
  function explicit (line 107) | explicit product_evaluator(const XprType& xpr)
  function run (line 141) | void run(DstXprType &dst, const SrcXprType &src, const internal::assign_...
  function run (line 159) | void run(DstXprType &dst, const SrcXprType &src, const internal::add_ass...
  function run (line 174) | void run(DstXprType &dst, const SrcXprType &src, const internal::sub_ass...
  function run (line 194) | void run(DstXprType &dst, const SrcXprType &src, const AssignFunc& func)
  function addTo (line 255) | void addTo(Dst& dst, const Lhs& lhs, const Rhs& rhs)
  function subTo (line 261) | void subTo(Dst& dst, const Lhs& lhs, const Rhs& rhs)
  type typename (line 543) | typedef typename find_best_packet<Scalar,RowsAtCompileTime>::type LhsVec...
  type typename (line 544) | typedef typename find_best_packet<Scalar,ColsAtCompileTime>::type RhsVec...
  function CoeffReturnType (line 604) | const CoeffReturnType coeff(Index row, Index col) const
  function CoeffReturnType (line 614) | const CoeffReturnType coeff(Index index) const
  function EIGEN_STRONG_INLINE (line 622) | EIGEN_STRONG_INLINE
  function EIGEN_STRONG_INLINE (line 634) | EIGEN_STRONG_INLINE
  type Product (line 657) | typedef Product<Lhs, Rhs, DefaultProduct> XprType;
  type Product (line 658) | typedef Product<Lhs, Rhs, LazyProduct> BaseProduct;
  type product_evaluator (line 659) | typedef product_evaluator<BaseProduct, CoeffBasedProductMode, DenseShape...
  function explicit (line 664) | explicit product_evaluator(const XprType& xpr)
  function run (line 676) | void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index inn...
  function run (line 686) | void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index inn...
  function run (line 696) | void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index /*i...
  function run (line 705) | void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index /*i...
  function run (line 714) | void run(Index /*row*/, Index /*col*/, const Lhs& /*lhs*/, const Rhs& /*...
  function run (line 723) | void run(Index /*row*/, Index /*col*/, const Lhs& /*lhs*/, const Rhs& /*...
  function run (line 732) | void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index inn...
  function run (line 743) | void run(Index row, Index col, const Lhs& lhs, const Rhs& rhs, Index inn...
  type typename (line 764) | typedef typename Product<Lhs,Rhs>::Scalar Scalar;
  type typename (line 778) | typedef typename Product<Lhs,Rhs>::Scalar Scalar;
  type typename (line 799) | typedef typename Product<Lhs,Rhs>::Scalar Scalar;
  function scaleAndAddTo (line 803) | void scaleAndAddTo(Dest& dst, const Lhs& lhs, const Rhs& rhs, const Scal...
  type typename (line 813) | typedef typename Product<Lhs,Rhs>::Scalar Scalar;
  type typename (line 831) | typedef typename ScalarBinaryOpTraits<typename MatrixType::Scalar, typename
  function EIGEN_DEVICE_FUNC (line 862) | EIGEN_DEVICE_FUNC diagonal_product_evaluator_base(const MatrixType &mat,...
  function Scalar (line 869) | const Scalar coeff(Index idx) const
  function PacketType (line 879) | PacketType packet_impl(Index row, Index col, Index id, internal::true_ty...
  function PacketType (line 886) | PacketType packet_impl(Index row, Index col, Index id, internal::false_t...
  type diagonal_product_evaluator_base (line 905) | typedef diagonal_product_evaluator_base<Rhs, typename
  type typename (line 909) | typedef typename Base::Scalar Scalar;
  type Product (line 911) | typedef Product<Lhs, Rhs, ProductKind> XprType;
  type typename (line 912) | typedef typename XprType::PlainObject PlainObject;
  type typename (line 913) | typedef typename Lhs::DiagonalVectorType DiagonalType;
  function EIGEN_DEVICE_FUNC (line 918) | EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr)
  function Scalar (line 923) | const Scalar coeff(Index row, Index col) const
  function PacketType (line 930) | PacketType packet(Index row, Index col) const
  function PacketType (line 939) | PacketType packet(Index idx) const
  type diagonal_product_evaluator_base (line 951) | typedef diagonal_product_evaluator_base<Lhs, typename
  type typename (line 955) | typedef typename Base::Scalar Scalar;
  type Product (line 957) | typedef Product<Lhs, Rhs, ProductKind> XprType;
  type typename (line 958) | typedef typename XprType::PlainObject PlainObject;
  function EIGEN_DEVICE_FUNC (line 962) | EIGEN_DEVICE_FUNC explicit product_evaluator(const XprType& xpr)
  function Scalar (line 967) | const Scalar coeff(Index row, Index col) const
  function PacketType (line 974) | PacketType packet(Index row, Index col) const
  function PacketType (line 981) | PacketType packet(Index idx) const
  type typename (line 1003) | typedef typename nested_eval<ExpressionType, 1>::type MatrixType;
  type typename (line 1004) | typedef typename remove_all<MatrixType>::type MatrixTypeCleaned;
  function run (line 1007) | void run(Dest& dst, const PermutationType& perm, const ExpressionType& xpr)
  type typename (line 1111) | typedef typename nested_eval<ExpressionType, 1>::type MatrixType;
  type typename (line 1112) | typedef typename remove_all<MatrixType>::type MatrixTypeCleaned;
  function run (line 1115) | void run(Dest& dst, const TranspositionType& tr, const ExpressionType& xpr)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Random.h
  function namespace (line 15) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Redux.h
  function namespace (line 16) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Ref.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 62) | typedef typename internal::traits<Derived>::PlainObjectType PlainObjectT...
  type typename (line 63) | typedef typename internal::traits<Derived>::StrideType StrideType;
  function EIGEN_CONSTEXPR (line 70) | EIGEN_CONSTEXPR inline Index innerStride() const
  function Index (line 97) | Index resolveInnerStride(Index inner) {
  function Index (line 102) | Index resolveOuterStride(Index inner, Index outer, Index rows, Index col...
  function EIGEN_DEVICE_FUNC (line 348) | EIGEN_DEVICE_FUNC inline Ref(const Ref& other) : Base(other) {
  function construct (line 360) | void construct(const Expression& expr,internal::true_type)
  function construct (line 369) | void construct(const Expression& expr, internal::false_type)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Replicate.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 64) | typedef typename internal::traits<Replicate>::MatrixTypeNested MatrixTyp...
  type typename (line 65) | typedef typename internal::traits<Replicate>::_MatrixTypeNested _MatrixT...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Reshaped.h
  function namespace (line 14) | namespace Eigen {
  function EIGEN_INHERIT_ASSIGNMENT_OPERATORS (line 103) | EIGEN_GENERIC_PUBLIC_INTERFACE(Reshaped)
  function EIGEN_DEVICE_FUNC (line 118) | EIGEN_DEVICE_FUNC
  function Impl (line 139) | inline ReshapedImpl(XprType& xpr) : Impl(xpr) {}
  function EIGEN_DEVICE_FUNC (line 140) | EIGEN_DEVICE_FUNC inline ReshapedImpl(XprType& xpr, Index reshapeRows, I...
  function namespace (line 144) | namespace internal {
  function EIGEN_DEVICE_FUNC (line 183) | EIGEN_DEVICE_FUNC inline Index innerStride() const;
  function EIGEN_DEVICE_FUNC (line 227) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 239) | EIGEN_DEVICE_FUNC
  type typename (line 269) | typedef typename XprType::Scalar Scalar;
  type typename (line 271) | typedef typename packet_traits<Scalar>::type PacketScalar;
  type reshaped_evaluator (line 296) | typedef reshaped_evaluator<ArgType, Rows, Cols, Order, HasDirectAccess> ...
  function EIGEN_DEVICE_FUNC (line 297) | EIGEN_DEVICE_FUNC explicit evaluator(const XprType& xpr) : reshaped_eval...
  function EIGEN_DEVICE_FUNC (line 317) | EIGEN_DEVICE_FUNC explicit reshaped_evaluator(const XprType& xpr) : m_ar...
  type typename (line 322) | typedef typename XprType::Scalar Scalar;
  type typename (line 323) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  type std (line 325) | typedef std::pair<Index, Index> RowCol;
  function RowCol (line 327) | inline RowCol index_remap(Index rowId, Index colId) const
  function EIGEN_DEVICE_FUNC (line 343) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 351) | EIGEN_DEVICE_FUNC
  function CoeffReturnType (line 359) | const CoeffReturnType coeff(Index rowId, Index colId) const
  function EIGEN_DEVICE_FUNC (line 365) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 375) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 383) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 391) | EIGEN_DEVICE_FUNC
  function writePacket (line 402) | inline void writePacket(Index rowId, Index colId, const PacketScalar& val)
  function PacketScalar (line 411) | inline PacketScalar packet(Index index) const
  function writePacket (line 420) | inline void writePacket(Index index, const PacketScalar& val)
  type typename (line 440) | typedef typename XprType::Scalar Scalar;

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/ReturnByValue.h
  function namespace (line 14) | namespace Eigen {
  type typename (line 56) | typedef typename internal::dense_xpr_base<ReturnByValue>::type Base;
  function evalTo (line 61) | inline void evalTo(Dest& dst) const
  function class (line 70) | class Unusable{
  function namespace (line 90) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Reverse.h
  function namespace (line 15) | namespace Eigen {
  type internal (line 85) | typedef internal::reverse_packet_cond<PacketScalar,ReversePacket> revers...
  function m_matrix (line 88) | inline Reverse(const MatrixType& matrix) : m_matrix(matrix) { }
  function EIGEN_CONSTEXPR (line 92) | EIGEN_CONSTEXPR
  function reverseInPlace (line 141) | inline void DenseBase<Derived>::reverseInPlace()
  function namespace (line 165) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Select.h
  function namespace (line 13) | namespace Eigen {
  function EIGEN_DEVICE_FUNC (line 75) | inline EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 84) | inline EIGEN_DEVICE_FUNC

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/SelfAdjointView.h
  function namespace (line 13) | namespace Eigen {
  type _MatrixType (line 54) | typedef _MatrixType MatrixType;
  type TriangularBase (line 55) | typedef TriangularBase<SelfAdjointView> Base;
  type typename (line 56) | typedef typename internal::traits<SelfAdjointView>::MatrixTypeNested Mat...
  type typename (line 57) | typedef typename internal::traits<SelfAdjointView>::MatrixTypeNestedClea...
  type MatrixTypeNestedCleaned (line 58) | typedef MatrixTypeNestedCleaned NestedExpression;
  type typename (line 61) | typedef typename internal::traits<SelfAdjointView>::Scalar Scalar;
  type typename (line 62) | typedef typename MatrixType::StorageIndex StorageIndex;
  type typename (line 63) | typedef typename internal::remove_all<typename
  type SelfAdjointView (line 64) | typedef SelfAdjointView<typename
  type typename (line 71) | typedef typename MatrixType::PlainObject PlainObject;
  function m_matrix (line 74) | inline SelfAdjointView(MatrixType& matrix) : m_matrix(matrix)
  function EIGEN_DEVICE_FUNC (line 91) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 101) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 115) | EIGEN_DEVICE_FUNC
  type SelfAdjointView (line 195) | typedef SelfAdjointView<const MatrixConjugateReturnType,UpLo> ConjugateR...
  function EIGEN_DEVICE_FUNC (line 197) | EIGEN_DEVICE_FUNC
  type typename (line 297) | typedef typename Base::DstXprType DstXprType;
  type typename (line 298) | typedef typename Base::SrcXprType SrcXprType;
  type typename (line 305) | typedef typename Base::SrcEvaluatorType SrcEvaluatorType;
  type typename (line 306) | typedef typename Base::Scalar Scalar;
  type typename (line 307) | typedef typename Base::AssignmentTraits AssignmentTraits;
  function EIGEN_DEVICE_FUNC (line 310) | EIGEN_DEVICE_FUNC triangular_dense_assignment_kernel(DstEvaluatorType &d...
  function EIGEN_DEVICE_FUNC (line 314) | EIGEN_DEVICE_FUNC void assignCoeff(Index row, Index col)
  function EIGEN_DEVICE_FUNC (line 322) | EIGEN_DEVICE_FUNC void assignDiagonalCoeff(Index id)
  function EIGEN_DEVICE_FUNC (line 327) | EIGEN_DEVICE_FUNC void assignOppositeCoeff(Index, Index)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/SelfCwiseBinaryOp.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Solve.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 66) | typedef typename internal::traits<Solve>::StorageIndex StorageIndex;
  function namespace (line 110) | namespace internal {
  type Solve (line 139) | typedef Solve<DecType,RhsType> SrcXprType;
  function run (line 140) | static void run(DstXprType &dst, const SrcXprType &src, const internal::...
  type Solve (line 155) | typedef Solve<Transpose<const DecType>,RhsType> SrcXprType;
  function run (line 156) | static void run(DstXprType &dst, const SrcXprType &src, const internal::...
  function run (line 173) | static void run(DstXprType &dst, const SrcXprType &src, const internal::...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/SolveTriangular.h
  function namespace (line 13) | namespace Eigen {
  function EIGEN_DEVICE_FUNC (line 121) | static EIGEN_DEVICE_FUNC void run(const Lhs& lhs, Rhs& rhs)
  function EIGEN_DEVICE_FUNC (line 141) | static EIGEN_DEVICE_FUNC void run(const Lhs& lhs, Rhs& rhs)
  type typename (line 177) | typedef typename internal::conditional<copy,
  function namespace (line 197) | namespace internal {
  type ReturnByValue (line 210) | typedef ReturnByValue<triangular_solve_retval> Base;

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/SolverBase.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 73) | typedef typename internal::traits<Derived>::Scalar Scalar;
  type Scalar (line 74) | typedef Scalar CoeffReturnType;
  type internal (line 77) | struct internal
  type typename (line 113) | typedef typename internal::add_const<Transpose<const Derived> >::type Co...
  function ConstTransposeReturnType (line 121) | inline ConstTransposeReturnType transpose() const
  function namespace (line 155) | namespace internal {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/StableNorm.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/StlIterators.h
  function namespace (line 13) | namespace Eigen {
  function operator (line 78) | bool operator< (const indexed_based_stl_iterator_base& other) const { ei...
  function operator (line 80) | bool operator> (const indexed_based_stl_iterator_base& other) const { ei...
  function operator (line 85) | bool operator< (const other_iterator& other) const { eigen_assert(mp_xpr...
  function operator (line 87) | bool operator> (const other_iterator& other) const { eigen_assert(mp_xpr...
  type typename (line 104) | typedef typename traits::XprType XprType;
  type indexed_based_stl_reverse_iterator_base (line 105) | typedef indexed_based_stl_reverse_iterator_base<typename
  type indexed_based_stl_reverse_iterator_base (line 106) | typedef indexed_based_stl_reverse_iterator_base<typename
  type typename (line 107) | typedef typename internal::conditional<internal::is_const<XprType>::valu...
  type std (line 113) | typedef std::random_access_iterator_tag iterator_category;
  function operator (line 157) | bool operator< (const indexed_based_stl_reverse_iterator_base& other) co...
  function operator (line 159) | bool operator> (const indexed_based_stl_reverse_iterator_base& other) co...
  function operator (line 164) | bool operator< (const other_iterator& other) const { eigen_assert(mp_xpr...
  function operator (line 166) | bool operator> (const other_iterator& other) const { eigen_assert(mp_xpr...
  type pointer_based_stl_iterator (line 182) | typedef pointer_based_stl_iterator<typename
  type pointer_based_stl_iterator (line 183) | typedef pointer_based_stl_iterator<typename
  type typename (line 184) | typedef typename internal::conditional<internal::is_const<XprType>::valu...
  type typename (line 190) | typedef typename XprType::Scalar value_type;
  type std (line 191) | typedef std::random_access_iterator_tag iterator_category;
  type typename (line 192) | typedef typename internal::conditional<bool(is_lvalue), value_type*, const
  type typename (line 193) | typedef typename internal::conditional<bool(is_lvalue), value_type&, const
  function reference (line 213) | reference operator*()         const { return *m_ptr;   }
  function reference (line 214) | reference operator[](Index i) const { return *(m_ptr+i*m_incr.value()); }
  function pointer (line 215) | pointer   operator->()        const { return m_ptr;    }
  function operator (line 241) | bool operator< (const pointer_based_stl_iterator& other) const { return ...
  function operator (line 243) | bool operator> (const pointer_based_stl_iterator& other) const { return ...
  function operator (line 248) | bool operator< (const other_iterator& other) const { return m_ptr <  oth...
  function operator (line 250) | bool operator> (const other_iterator& other) const { return m_ptr >  oth...
  type _XprType (line 262) | typedef _XprType XprType;
  type generic_randaccess_stl_iterator (line 263) | typedef generic_randaccess_stl_iterator<typename
  type generic_randaccess_stl_iterator (line 264) | typedef generic_randaccess_stl_iterator<typename
  type indexed_based_stl_iterator_base (line 280) | typedef indexed_based_stl_iterator_base<generic_randaccess_stl_iterator>...
  type value_type (line 287) | typedef const value_type read_only_ref_t;
  type typename (line 292) | typedef typename internal::conditional<bool(is_lvalue), value_type&, rea...
  function Base (line 296) | generic_randaccess_stl_iterator(const typename Base::non_const_iterator&...
  function reference (line 299) | reference operator*()         const { return   (*mp_xpr)(m_index);   }
  function reference (line 300) | reference operator[](Index i) const { return   (*mp_xpr)(m_index+i); }
  function pointer (line 301) | pointer   operator->()        const { return &((*mp_xpr)(m_index)); }
  type subvector_stl_iterator (line 308) | typedef subvector_stl_iterator<typename
  type subvector_stl_iterator (line 309) | typedef subvector_stl_iterator<typename
  type indexed_based_stl_iterator_base (line 319) | typedef indexed_based_stl_iterator_base<subvector_stl_iterator> Base;
  type typename (line 323) | typedef typename internal::conditional<Direction==Vertical,typename
  type typename (line 324) | typedef typename internal::conditional<Direction==Vertical,typename
  type typename (line 329) | typedef typename reference::PlainObject value_type;
  function reference (line 347) | reference operator*()         const { return (*mp_xpr).template subVecto...
  function reference (line 348) | reference operator[](Index i) const { return (*mp_xpr).template subVecto...
  function pointer (line 349) | pointer   operator->()        const { return (*mp_xpr).template subVecto...
  type subvector_stl_reverse_iterator (line 356) | typedef subvector_stl_reverse_iterator<typename
  type subvector_stl_reverse_iterator (line 357) | typedef subvector_stl_reverse_iterator<typename
  type indexed_based_stl_reverse_iterator_base (line 367) | typedef indexed_based_stl_reverse_iterator_base<subvector_stl_reverse_it...
  type typename (line 371) | typedef typename internal::conditional<Direction==Vertical,typename
  type typename (line 372) | typedef typename internal::conditional<Direction==Vertical,typename
  type typename (line 377) | typedef typename reference::PlainObject value_type;
  function reference (line 395) | reference operator*()         const { return (*mp_xpr).template subVecto...
  function reference (line 396) | reference operator[](Index i) const { return (*mp_xpr).template subVecto...
  function pointer (line 397) | pointer   operator->()        const { return (*mp_xpr).template subVecto...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Stride.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Swap.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Transpose.h
  function namespace (line 14) | namespace Eigen {
  function namespace (line 93) | namespace internal {
  type typename (line 133) | typedef typename internal::conditional<
  function ScalarWithConstIfNotLvalue (line 140) | ScalarWithConstIfNotLvalue* data() { return derived().nestedExpression()...
  function Scalar (line 142) | const Scalar* data() const { return derived().nestedExpression().data(); }
  function Scalar (line 146) | const Scalar& coeffRef(Index rowId, Index colId) const
  function Scalar (line 152) | const Scalar& coeffRef(Index index) const
  function namespace (line 230) | namespace internal {
  type typename (line 249) | typedef typename MatrixType::Scalar Scalar;
  type typename (line 250) | typedef typename internal::packet_traits<typename
  type typename (line 265) | typedef typename MatrixType::Scalar Scalar;
  type typename (line 266) | typedef typename internal::packet_traits<typename
  type typename (line 303) | typedef typename MatrixType::Scalar Scalar;
  function transposeInPlace (line 344) | inline void DenseBase<Derived>::transposeInPlace()
  function adjointInPlace (line 375) | inline void MatrixBase<Derived>::adjointInPlace()
  function namespace (line 384) | namespace internal {
  function run (line 403) | static bool run(const Scalar* dest, const OtherDerived& src)
  function run (line 432) | static void run(const Derived& dst, const OtherDerived& other)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Transpositions.h
  function namespace (line 13) | namespace Eigen {
  type typename (line 161) | typedef typename Traits::IndicesType IndicesType;
  type typename (line 162) | typedef typename IndicesType::Scalar StorageIndex;
  function m_indices (line 173) | inline Transpositions(const MatrixBase<Other>& indices) : m_indices(indi...
  function m_indices (line 185) | inline Transpositions(Index size) : m_indices(size)
  function EIGEN_DEVICE_FUNC (line 192) | EIGEN_DEVICE_FUNC
  function namespace (line 201) | namespace internal {
  type typename (line 220) | typedef typename Traits::IndicesType IndicesType;
  type typename (line 221) | typedef typename IndicesType::Scalar StorageIndex;
  function explicit (line 223) | explicit inline Map(const StorageIndex* indicesPtr)
  function EIGEN_DEVICE_FUNC (line 254) | EIGEN_DEVICE_FUNC
  function namespace (line 262) | namespace internal {
  type typename (line 279) | typedef typename Traits::IndicesType IndicesType;
  type typename (line 280) | typedef typename IndicesType::Scalar StorageIndex;
  function explicit (line 282) | explicit inline TranspositionsWrapper(IndicesType& indices)
  function EIGEN_DEVICE_FUNC (line 298) | EIGEN_DEVICE_FUNC
  function namespace (line 334) | namespace internal {
  type TranspositionsDerived (line 346) | typedef TranspositionsDerived TranspositionType;
  type typename (line 347) | typedef typename TranspositionType::IndicesType IndicesType;

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/TriangularMatrix.h
  function namespace (line 14) | namespace Eigen {
  type typename (line 193) | typedef typename internal::traits<TriangularView>::Scalar Scalar;
  type _MatrixType (line 194) | typedef _MatrixType MatrixType;
  type typename (line 198) | typedef typename internal::traits<TriangularView>::MatrixTypeNestedNonRe...
  type typename (line 200) | typedef typename internal::remove_all<typename
  type TriangularView (line 201) | typedef TriangularView<typename
  type typename (line 206) | typedef typename internal::traits<TriangularView>::MatrixTypeNestedClean...
  function m_matrix (line 219) | inline TriangularView(MatrixType& matrix) : m_matrix(matrix)
  function EIGEN_CONSTEXPR (line 225) | EIGEN_CONSTEXPR
  function EIGEN_DEVICE_FUNC (line 236) | EIGEN_DEVICE_FUNC
  type TriangularView (line 239) | typedef TriangularView<const MatrixConjugateReturnType,Mode> ConjugateRe...
  function EIGEN_DEVICE_FUNC (line 241) | EIGEN_DEVICE_FUNC
  type TriangularBase (line 351) | typedef TriangularBase<TriangularViewType> Base;
  type typename (line 352) | typedef typename internal::traits<TriangularViewType>::Scalar Scalar;
  type _MatrixType (line 354) | typedef _MatrixType MatrixType;
  type typename (line 355) | typedef typename MatrixType::PlainObject DenseMatrixType;
  type DenseMatrixType (line 356) | typedef DenseMatrixType PlainObject;
  type typename (line 362) | typedef typename internal::traits<TriangularViewType>::StorageKind Stora...
  function EIGEN_DEVICE_FUNC (line 401) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 404) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 408) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 411) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 417) | EIGEN_DEVICE_FUNC
  function EIGEN_DEVICE_FUNC (line 427) | EIGEN_DEVICE_FUNC
  function solveInPlace (line 521) | void solveInPlace(const MatrixBase<OtherDerived>& other) const
  function swap (line 530) | void swap(TriangularBase<OtherDerived> const & other)
  function namespace (line 716) | namespace internal {
  type evaluator (line 734) | typedef evaluator<typename
  function EIGEN_DEVICE_FUNC (line 735) | EIGEN_DEVICE_FUNC
  type Triangular2Triangular (line 740) | struct Triangular2Triangular    {}
  type Triangular2Dense (line 741) | struct Triangular2Dense         {}
  type Dense2Triangular (line 742) | struct Dense2Triangular         {}
  type typename (line 758) | typedef typename Base::DstXprType DstXprType;
  type typename (line 759) | typedef typename Base::SrcXprType SrcXprType;
  type typename (line 766) | typedef typename Base::SrcEvaluatorType SrcEvaluatorType;
  type typename (line 767) | typedef typename Base::Scalar Scalar;
  type typename (line 768) | typedef typename Base::AssignmentTraits AssignmentTraits;
  function EIGEN_DEVICE_FUNC (line 771) | EIGEN_DEVICE_FUNC triangular_dense_assignment_kernel(DstEvaluatorType &d...
  function EIGEN_DEVICE_FUNC (line 776) | EIGEN_DEVICE_FUNC void assignCoeff(Index row, Index col)
  function EIGEN_DEVICE_FUNC (line 785) | EIGEN_DEVICE_FUNC void assignDiagonalCoeff(Index id)
  function EIGEN_DEVICE_FUNC (line 792) | EIGEN_DEVICE_FUNC void assignOppositeCoeff(Index row, Index col)
  type evaluator (line 804) | typedef evaluator<DstXprType> DstEvaluatorType;
  type evaluator (line 805) | typedef evaluator<SrcXprType> SrcEvaluatorType;
  type triangular_dense_assignment_kernel (line 815) | typedef triangular_dense_assignment_kernel< Mode
  function Kernel (line 817) | Kernel kernel(dstEvaluator, srcEvaluator, func, dst.const_cast_derived());
  type AssignmentKind (line 836) | struct AssignmentKind
  type Triangular2Dense (line 836) | typedef Triangular2Dense      Kind;
  type AssignmentKind (line 837) | struct AssignmentKind
  type Dense2Triangular (line 837) | typedef Dense2Triangular      Kind;
  type typename (line 875) | typedef typename DstEvaluatorType::XprType DstXprType;
  type typename (line 882) | typedef typename Kernel::Scalar Scalar;
  function namespace (line 957) | namespace internal {
  function run (line 980) | static void run(DstXprType &dst, const SrcXprType &src, const internal::...
  function run (line 991) | static void run(DstXprType &dst, const SrcXprType &src, const internal::...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/VectorBlock.h
  function namespace (line 14) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/VectorwiseOp.h
  function namespace (line 14) | namespace Eigen {
  function namespace (line 104) | namespace internal {
  type typename (line 191) | typedef typename ExpressionType::RealScalar RealScalar;
  type Eigen (line 192) | typedef Eigen::Index Index;
  type typename (line 193) | typedef typename internal::ref_selector<ExpressionType>::non_const_type ...
  type typename (line 194) | typedef typename internal::remove_all<ExpressionTypeNested>::type Expres...
  type PartialReduxExpr (line 199) | typedef PartialReduxExpr<ExpressionType,
  type PartialReduxExpr (line 207) | typedef PartialReduxExpr<ExpressionType,
  type Replicate (line 221) | typedef Replicate<OtherDerived,
  type Replicate (line 244) | typedef Replicate<OtherDerived,
  function m_matrix (line 268) | inline VectorwiseOp(ExpressionType& matrix) : m_matrix(matrix) {}
  function EIGEN_DEVICE_FUNC (line 271) | EIGEN_DEVICE_FUNC
  function reverse_iterator (line 300) | reverse_iterator        rbegin()       { return reverse_iterator       (...
  function iterator (line 309) | iterator                 end()         { return iterator      (m_matrix,...
  function reverse_iterator (line 318) | reverse_iterator        rend()         { return reverse_iterator       (...
  type typename (line 343) | typedef typename ReturnType<internal::member_minCoeff>::Type MinCoeffRet...
  type typename (line 344) | typedef typename ReturnType<internal::member_maxCoeff>::Type MaxCoeffRet...
  type PartialReduxExpr (line 345) | typedef PartialReduxExpr<const CwiseUnaryOp<internal::scalar_abs2_op<Sca...
  type CwiseUnaryOp (line 346) | typedef CwiseUnaryOp<internal::scalar_sqrt_op<RealScalar>, const
  type typename (line 347) | typedef typename ReturnType<internal::member_blueNorm,RealScalar>::Type ...
  type typename (line 348) | typedef typename ReturnType<internal::member_stableNorm,RealScalar>::Typ...
  type typename (line 349) | typedef typename ReturnType<internal::member_hypotNorm,RealScalar>::Type...
  type typename (line 350) | typedef typename ReturnType<internal::member_sum>::Type SumReturnType;
  type MeanReturnType (line 351) | typedef EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(SumReturnType,Scalar,quot...
  type typename (line 352) | typedef typename ReturnType<internal::member_all>::Type AllReturnType;
  type typename (line 353) | typedef typename ReturnType<internal::member_any>::Type AnyReturnType;
  type PartialReduxExpr (line 354) | typedef PartialReduxExpr<ExpressionType, internal::member_count<Index,Sc...
  type typename (line 355) | typedef typename ReturnType<internal::member_prod>::Type ProdReturnType;
  type Reverse (line 356) | typedef Reverse<const ExpressionType, Direction> ConstReverseReturnType;
  type Reverse (line 357) | typedef Reverse<ExpressionType, Direction> ReverseReturnType;
  type PartialReduxExpr (line 360) | typedef PartialReduxExpr<ExpressionType, internal::member_lpnorm<p,RealS...
  function EIGEN_DEVICE_FUNC (line 409) | EIGEN_DEVICE_FUNC
  function typename (line 435) | const typename LpNormReturnType<p>::Type lpNorm() const
  function EIGEN_DEVICE_FUNC (line 504) | EIGEN_DEVICE_FUNC

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/Visitor.h
  function namespace (line 13) | namespace Eigen {
  function run (line 55) | static inline void run(const Derived& mat, Visitor& visitor)
  type typename (line 74) | typedef typename XprType::Scalar Scalar;
  type typename (line 75) | typedef typename XprType::CoeffReturnType CoeffReturnType;
  function EIGEN_DEVICE_FUNC (line 86) | EIGEN_DEVICE_FUNC CoeffReturnType coeff(Index row, Index col) const
  type typename (line 122) | typedef typename internal::visitor_evaluator<Derived> ThisEvaluator;
  function namespace (line 132) | namespace internal {
  type typename (line 163) | typedef typename Derived::Scalar Scalar;
  function EIGEN_DEVICE_FUNC (line 164) | EIGEN_DEVICE_FUNC
  type typename (line 179) | typedef typename Derived::Scalar Scalar;
  function EIGEN_DEVICE_FUNC (line 180) | EIGEN_DEVICE_FUNC
  type typename (line 195) | typedef typename Derived::Scalar Scalar;
  function EIGEN_DEVICE_FUNC (line 196) | EIGEN_DEVICE_FUNC
  type typename (line 223) | typedef typename Derived::Scalar Scalar;
  function EIGEN_DEVICE_FUNC (line 224) | EIGEN_DEVICE_FUNC
  type typename (line 239) | typedef typename Derived::Scalar Scalar;
  function EIGEN_DEVICE_FUNC (line 240) | EIGEN_DEVICE_FUNC
  type typename (line 255) | typedef typename Derived::Scalar Scalar;
  function EIGEN_DEVICE_FUNC (line 256) | EIGEN_DEVICE_FUNC
  function typename (line 291) | typename internal::traits<Derived>::Scalar
  function typename (line 316) | typename internal::traits<Derived>::Scalar
  function typename (line 342) | typename internal::traits<Derived>::Scalar
  function typename (line 367) | typename internal::traits<Derived>::Scalar

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AVX/Complex.h
  function namespace (line 13) | namespace Eigen {
  function Packet4cf (line 145) | Packet4cf preverse(const Packet4cf& a) {
  type Packet2cd (line 187) | struct Packet2cd
  type packet_traits (line 195) | struct packet_traits
  function default_packet_traits (line 195) | double> >  : default_packet_traits
  function Packet2cd (line 220) | struct unpacket_traits<Packet2cd> {
  function Packet2cd (line 235) | Packet2cd pnegate(const Packet2cd& a) { return Packet2cd(pnegate(a.v)); }
  function Packet2cd (line 236) | Packet2cd pconj(const Packet2cd& a)
  function Packet2cd (line 253) | Packet2cd pcmp_eq(const Packet2cd& a, const Packet2cd& b) {
  function Packet2cd (line 303) | Packet2cd preverse(const Packet2cd& a) {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AVX/MathFunctions.h
  function namespace (line 17) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AVX/PacketMath.h
  function namespace (line 13) | namespace Eigen {
  function Packet8f (line 247) | Packet8f pzero(const Packet8f& /*a*/) { return _mm256_setzero_ps(); }
  function Packet4d (line 248) | Packet4d pzero(const Packet4d& /*a*/) { return _mm256_setzero_pd(); }
  function Packet8i (line 249) | Packet8i pzero(const Packet8i& /*a*/) { return _mm256_setzero_si256(); }
  function Packet8f (line 252) | Packet8f peven_mask(const Packet8f& /*a*/) { return _mm256_castsi256_ps(...
  function Packet8i (line 253) | Packet8i peven_mask(const Packet8i& /*a*/) { return _mm256_set_epi32(0, ...
  function Packet4d (line 254) | Packet4d peven_mask(const Packet4d& /*a*/) { return _mm256_castsi256_pd(...
  function Packet8f (line 286) | Packet8f pnegate(const Packet8f& a)
  function Packet4d (line 290) | Packet4d pnegate(const Packet4d& a)
  function Packet8f (line 295) | Packet8f pconj(const Packet8f& a) { return a; }
  function Packet4d (line 296) | Packet4d pconj(const Packet4d& a) { return a; }
  function Packet8i (line 297) | Packet8i pconj(const Packet8i& a) { return a; }
  function Packet8h (line 936) | struct unpacket_traits<Packet8h> { typedef Eigen::half type; enum {size=...
  function EIGEN_STRONG_INLINE (line 988) | EIGEN_STRONG_INLINE Packet8f half2float(const Packet8h& a) {
  function EIGEN_STRONG_INLINE (line 1007) | EIGEN_STRONG_INLINE Packet8h float2half(const Packet8f& a) {
  function EIGEN_STRONG_INLINE (line 1260) | EIGEN_STRONG_INLINE Packet8f Bf16ToF32(const Packet8bf& a) {
  function EIGEN_STRONG_INLINE (line 1274) | EIGEN_STRONG_INLINE Packet8bf F32ToBf16(const Packet8f& a) {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AVX/TypeCasting.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AVX512/Complex.h
  function namespace (line 13) | namespace Eigen {
  function Packet8cf (line 130) | Packet8cf preverse(const Packet8cf& a) {
  type Packet4cd (line 173) | struct Packet4cd
  type packet_traits (line 180) | struct packet_traits
  function default_packet_traits (line 180) | double> >  : default_packet_traits
  function Packet4cd (line 204) | struct unpacket_traits<Packet4cd> {
  function Packet4cd (line 219) | Packet4cd pnegate(const Packet4cd& a) { return Packet4cd(pnegate(a.v)); }
  function Packet4cd (line 220) | Packet4cd pconj(const Packet4cd& a)
  function Packet4cd (line 244) | Packet4cd pcmp_eq(const Packet4cd& a, const Packet4cd& b) {
  function Packet4cd (line 296) | Packet4cd preverse(const Packet4cd& a) {
  type conj_helper (line 312) | struct conj_helper
  function EIGEN_STRONG_INLINE (line 314) | EIGEN_STRONG_INLINE Packet4cd pmadd(const Packet4cd& x, const Packet4cd&...
  function EIGEN_STRONG_INLINE (line 317) | EIGEN_STRONG_INLINE Packet4cd pmul(const Packet4cd& a, const Packet4cd& ...
  type conj_helper (line 323) | struct conj_helper
  function EIGEN_STRONG_INLINE (line 325) | EIGEN_STRONG_INLINE Packet4cd pmadd(const Packet4cd& x, const Packet4cd&...
  function EIGEN_STRONG_INLINE (line 328) | EIGEN_STRONG_INLINE Packet4cd pmul(const Packet4cd& a, const Packet4cd& ...
  type conj_helper (line 334) | struct conj_helper
  function EIGEN_STRONG_INLINE (line 336) | EIGEN_STRONG_INLINE Packet4cd pmadd(const Packet4cd& x, const Packet4cd&...
  function EIGEN_STRONG_INLINE (line 339) | EIGEN_STRONG_INLINE Packet4cd pmul(const Packet4cd& a, const Packet4cd& ...

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AVX512/MathFunctions.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AVX512/PacketMath.h
  function namespace (line 13) | namespace Eigen {
  function Packet16f (line 219) | Packet16f pzero(const Packet16f& /*a*/) { return _mm512_setzero_ps(); }
  function Packet8d (line 220) | Packet8d pzero(const Packet8d& /*a*/) { return _mm512_setzero_pd(); }
  function Packet16i (line 221) | Packet16i pzero(const Packet16i& /*a*/) { return _mm512_setzero_si512(); }
  function Packet16f (line 223) | Packet16f peven_mask(const Packet16f& /*a*/) {
  function Packet16i (line 227) | Packet16i peven_mask(const Packet16i& /*a*/) {
  function Packet8d (line 231) | Packet8d peven_mask(const Packet8d& /*a*/) {
  function Packet16f (line 291) | Packet16f pnegate(const Packet16f& a) {
  function Packet8d (line 295) | Packet8d pnegate(const Packet8d& a) {
  function Packet16f (line 300) | Packet16f pconj(const Packet16f& a) {
  function Packet8d (line 304) | Packet8d pconj(const Packet8d& a) {
  function Packet16i (line 308) | Packet16i pconj(const Packet16i& a) {
  function Packet16f (line 341) | Packet16f pmadd(const Packet16f& a, const Packet16f& b,
  function Packet8d (line 346) | Packet8d pmadd(const Packet8d& a, const Packet8d& b,
  function Packet16f (line 353) | inline Packet16f pselect(const Packet16f& mask,
  function Packet8d (line 362) | inline Packet8d pselect(const Packet8d& mask,
  function Packet8f (line 432) | Packet8f extract256(Packet16f x) { return _mm512_extractf32x8_ps(x,I_); }
  function Packet2d (line 433) | Packet2d extract128(Packet8d x) { return _mm512_extractf64x2_pd(x,I_); }
  function EIGEN_STRONG_INLINE (line 434) | EIGEN_STRONG_INLINE Packet16f cat256(Packet8f a, Packet8f b) { return _m...
  function Packet8f (line 437) | Packet8f extract256(Packet16f x) {
  function Packet2d (line 442) | Packet2d extract128(Packet8d x) {
  function EIGEN_STRONG_INLINE (line 446) | EIGEN_STRONG_INLINE Packet16f cat256(Packet8f a, Packet8f b) {
  function EIGEN_STRONG_INLINE (line 454) | EIGEN_STRONG_INLINE __m256i Pack32To16(Packet16f rf) {
  function Packet16f (line 472) | Packet16f pcmp_eq(const Packet16f& a, const Packet16f& b) {
  function Packet16f (line 477) | Packet16f pcmp_le(const Packet16f& a, const Packet16f& b) {
  function Packet16f (line 483) | Packet16f pcmp_lt(const Packet16f& a, const Packet16f& b) {
  function Packet16f (line 489) | Packet16f pcmp_lt_or_nan(const Packet16f& a, const Packet16f& b) {
  function Packet16i (line 495) | Packet16i pcmp_eq(const Packet16i& a, const Packet16i& b) {
  function Packet8d (line 502) | Packet8d pcmp_eq(const Packet8d& a, const Packet8d& b) {
  function Packet8d (line 508) | Packet8d pcmp_le(const Packet8d& a, const Packet8d& b) {
  function Packet8d (line 514) | Packet8d pcmp_lt(const Packet8d& a, const Packet8d& b) {
  function Packet8d (line 520) | Packet8d pcmp_lt_or_nan(const Packet8d& a, const Packet8d& b) {
  function Packet16i (line 666) | Packet16i parithmetic_shift_right(Packet16i a) {
  function Packet16i (line 670) | Packet16i plogical_shift_right(Packet16i a) {
  function Packet16i (line 674) | Packet16i plogical_shift_left(Packet16i a) {
  function Packet16f (line 875) | Packet16f preverse(const Packet16f& a)
  function Packet8d (line 880) | Packet8d preverse(const Packet8d& a)
  function Packet16f (line 885) | Packet16f pabs(const Packet16f& a)
  function Packet8d (line 891) | Packet8d pabs(const Packet8d& a) {
  function Packet8d (line 905) | Packet8d pfrexp_generic_get_biased_exponent(const Packet8d& a) {
  function predux_any (line 1095) | bool predux_any(const Packet16f& x)
  function Packet16f (line 1356) | Packet16f pblend(const Selector<16>& /*ifPacket*/,
  function Packet8d (line 1363) | Packet8d pblend(const Selector<8>& ifPacket,
  function Packet16h (line 1419) | Packet16h
  function EIGEN_STRONG_INLINE (line 1428) | EIGEN_STRONG_INLINE Packet16f half2float(const Packet16h& a) {
  function EIGEN_STRONG_INLINE (line 1456) | EIGEN_STRONG_INLINE Packet16h float2half(const Packet16f& a) {
  function Packet16h (line 1485) | Packet16h ptrue(const Packet16h& a) {
  function Packet16h (line 1490) | Packet16h pabs(const Packet16h& a) {
  function Packet16h (line 1512) | Packet16h por(const Packet16h& a,const Packet16h& b) {
  function Packet16h (line 1517) | Packet16h pxor(const Packet16h& a,const Packet16h& b) {
  function Packet16h (line 1520) | Packet16h pand(const Packet16h& a,const Packet16h& b) {
  function Packet16h (line 1523) | Packet16h pandnot(const Packet16h& a,const Packet16h& b) {
  function Packet16h (line 1527) | Packet16h pselect(const Packet16h& mask, const Packet16h& a, const Packe...
  function Packet16h (line 1547) | Packet16h pcmp_eq(const Packet16h& a,const Packet16h& b) {
  function Packet16h (line 1553) | Packet16h pcmp_le(const Packet16h& a,const Packet16h& b) {
  function Packet16h (line 1557) | Packet16h pcmp_lt(const Packet16h& a,const Packet16h& b) {
  function Packet16h (line 1561) | Packet16h pcmp_lt_or_nan(const Packet16h& a,const Packet16h& b) {
  function Packet16h (line 1565) | Packet16h pconj(const Packet16h& a) { return a; }
  function Packet16h (line 1567) | Packet16h pnegate(const Packet16h& a) {
  function Packet16h (line 1629) | Packet16h preverse(const Packet16h& a)
  function Packet16bf (line 1840) | struct is_arithmetic<Packet16bf> { enum { value = true }; }
  function default_packet_traits (line 1843) | struct packet_traits<bfloat16> : default_packet_traits {
  function Packet16bf (line 1875) | struct unpacket_traits<Packet16bf>
  function Packet16bf (line 1930) | Packet16bf
  function EIGEN_STRONG_INLINE (line 1940) | EIGEN_STRONG_INLINE Packet16f Bf16ToF32(const Packet16bf& a) {
  function EIGEN_STRONG_INLINE (line 1945) | EIGEN_STRONG_INLINE Packet16bf F32ToBf16(const Packet16f& a) {
  function Packet16bf (line 1980) | Packet16bf ptrue(const Packet16bf& a) {
  function Packet16bf (line 1985) | Packet16bf por(const Packet16bf& a, const Packet16bf& b) {
  function Packet16bf (line 1990) | Packet16bf pxor(const Packet16bf& a, const Packet16bf& b) {
  function Packet16bf (line 1995) | Packet16bf pand(const Packet16bf& a, const Packet16bf& b) {
  function Packet16bf (line 2000) | Packet16bf pandnot(const Packet16bf& a,
  function Packet16bf (line 2006) | Packet16bf pselect(const Packet16bf& mask,
  function Packet16bf (line 2032) | Packet16bf pcmp_eq(const Packet16bf& a,
  function Packet16bf (line 2038) | Packet16bf pcmp_le(const Packet16bf& a,
  function Packet16bf (line 2044) | Packet16bf pcmp_lt(const Packet16bf& a,
  function Packet16bf (line 2050) | Packet16bf pcmp_lt_or_nan(const Packet16bf& a,
  function Packet16bf (line 2056) | Packet16bf pnegate(const Packet16bf& a) {
  function Packet16bf (line 2062) | Packet16bf pconj(const Packet16bf& a) {
  function Packet16bf (line 2067) | Packet16bf pabs(const Packet16bf& a) {
  function Packet16bf (line 2141) | Packet16bf preverse(const Packet16bf& a) {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AVX512/TypeCasting.h
  function namespace (line 13) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AltiVec/Complex.h
  function namespace (line 14) | namespace Eigen {
  function Packet2cf (line 166) | Packet2cf pnegate(const Packet2cf& a) { return Packet2cf(pnegate(a.v)); }
  function Packet2cf (line 167) | Packet2cf pconj(const Packet2cf& a) { return Packet2cf(pxor<Packet4f>(a....
  function Packet2cf (line 184) | Packet2cf preverse(const Packet2cf& a)
  function Packet2cf (line 231) | Packet2cf pcmp_eq(const Packet2cf& a, const Packet2cf& b) {
  function Packet2cf (line 237) | Packet2cf pblend(const Selector<2>& ifPacket, const Packet2cf& thenPacke...
  type Packet1cd (line 251) | struct Packet1cd
  type packet_traits (line 303) | struct packet_traits
  function default_packet_traits (line 303) | double> >  : default_packet_traits
  function Packet1cd (line 327) | struct unpacket_traits<Packet1cd> { typedef std::complex<double> type; e...
  function Packet1cd (line 348) | Packet1cd pnegate(const Packet1cd& a) { return Packet1cd(pnegate(Packet2...
  function Packet1cd (line 349) | Packet1cd pconj(const Packet1cd& a) { return Packet1cd(pxor(a.v, reinter...
  function Packet1cd (line 368) | Packet1cd preverse(const Packet1cd& a) { return a; }
  function EIGEN_STRONG_INLINE (line 384) | EIGEN_STRONG_INLINE Packet1cd pcplxflip/*<Packet1cd>*/(const Packet1cd& x)
  function Packet1cd (line 396) | Packet1cd pcmp_eq(const Packet1cd& a, const Packet1cd& b) {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AltiVec/MathFunctions.h
  function namespace (line 15) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AltiVec/MatrixProduct.h
  function namespace (line 46) | namespace Eigen {
  function storeBlock (line 410) | void storeBlock(Scalar* to, PacketBlock<Packet,4>& block)
  function storeBlock (line 420) | void storeBlock(Scalar* to, PacketBlock<Packet,2>& block)
  function EIGEN_STRONG_INLINE (line 430) | EIGEN_STRONG_INLINE void operator()(std::complex<Scalar>* blockA, const ...
  function EIGEN_STRONG_INLINE (line 573) | EIGEN_STRONG_INLINE void operator()(Scalar* blockA, const DataMapper& lh...
  function loadPacketRemaining (line 1035) | void loadPacketRemaining(const Scalar* lhs, Packet &lhsV, Index remainin...
  function loadPacketRemaining (line 1088) | void loadPacketRemaining(const Scalar* lhs_ptr, const Scalar* lhs_ptr_im...
  function Packet (line 1114) | Packet ploadLhs(const Scalar* lhs)
  function Packet (line 1253) | Packet bmask(const int remaining_rows)
  function pbroadcast4_old (line 1285) | void pbroadcast4_old(const __UNPACK_TYPE__(Packet)* a, Packet& a0, Packe...
  function MICRO_EXTRA_COL (line 1305) | void MICRO_EXTRA_COL(
  function gemm_extra_col (line 1320) | void gemm_extra_col(
  function MICRO_EXTRA_ROW (line 1369) | void MICRO_EXTRA_ROW(
  function gemm_unrolled_col (line 1634) | void gemm_unrolled_col(
  type typename (line 2635) | typedef typename quad_traits<float>::rhstype      RhsPacket;
  type Packet2cf (line 2672) | typedef Packet2cf  Packetc;
  type Packet4f (line 2673) | typedef Packet4f   RhsPacket;
  type Packet2cf (line 2711) | typedef Packet2cf  Packetc;
  type Packet4f (line 2712) | typedef Packet4f   RhsPacket;
  type Packet2cf (line 2749) | typedef Packet2cf  Packetc;
  type Packet4f (line 2750) | typedef Packet4f   RhsPacket;
  type typename (line 2787) | typedef typename quad_traits<double>::rhstype     RhsPacket;
  type Packet1cd (line 2824) | typedef Packet1cd  Packetc;
  type quad_traits (line 2825) | typedef quad_traits<double>::rhstype   RhsPacket;
  type Packet1cd (line 2862) | typedef Packet1cd  Packetc;
  type quad_traits (line 2863) | typedef quad_traits<double>::rhstype   RhsPacket;
  type Packet1cd (line 2900) | typedef Packet1cd  Packetc;
  type quad_traits (line 2901) | typedef quad_traits<double>::rhstype   RhsPacket;

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h
  function namespace (line 8) | namespace Eigen {

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h
  function namespace (line 22) | namespace Eigen {
  function ploadRhsMMA (line 126) | void ploadRhsMMA(const Scalar* rhs, Packet& rhsV)
  function ploadRhsMMA (line 151) | void ploadRhsMMA(const float*, __vector_pair&)

FILE: external_libs/eigen-3.4.0/Eigen/src/Core/arch/AltiVec/PacketMath.h
  function namespace (line 13) | namespace Eigen {
  function pstore_common (line 479) | void pstore_common(__UNPACK_TYPE__(Packet)* to, const Packet& from){
  function Packet (line 527) | Packet pset1_size4(const __UNPACK_TYPE__(Packet)& from)
  function Packet (line 534) | Packet pset1_size8(const __UNPACK_TYPE__(Packet)& from)
  function Packet (line 541) | Packet pset1_size16(const __UNPACK_TYPE__(Packet)& from)
  function pbroadcast4_common (line 579) | void
  function Packet (line 603) | inline Packet pgather_common(const __UNPACK_TYPE__(Packet)* from, Index ...
  function Packet (line 623) | inline Packet pgather_size8(const __UNPACK_TYPE__(Packet)* from, Index s...
  function Packet (line 652) | inline Packet pgather_size16(const __UNPACK_TYPE__(Packet)* from, Index ...
  function pscatter_size4 (line 685) | void pscatter_size4(__UNPACK_TYPE__(Packet)* to, const Packet& from, Ind...
  function pscatter_size8 (line 705) | inline void pscatter_size8(__UNPACK_TYPE__(Packet)* to, const Packet& fr...
  function pscatter_size16 (line 735) | void pscatter_size16(__UNPACK_TYPE__(Packet)* to, const Packet& from, In...
  function Packet4f (line 789) | Packet4f pnegate(const Packet4f& a) { return p4f_ZERO - a; }
  function Packet4i (line 790) | Packet4i pnegate(const Packet4i& a) { return p4i_ZERO - a; }
  function Packet4f (line 792) | Packet4f pconj(const Packet4f& a) { return a; }
  function Packet4i (line 793) | Packet4i pconj(const Packet4i& a) { return a; }
  function Packet (line 997) | Packet ploaddup_common(const __UNPACK_TYPE__(Packet)*   from)
  function pstoreu_common (line 1066) | void pstoreu_common(__UNPACK_TYPE__(Packet)*  to, const Packet& from)
  function pfirst_common (line 1123) | __UNPACK_TYPE__(Packet) pfirst_common(const Packet& a) {
  function a (line 1129) | short int pfirst<Packet8s>(const Packet8s& a) {
  function a (line 1133) | unsigned short int pfirst<Packet8us>(const Packet8us& a) {
  function a (line 1137) | signed char pfirst<Packet16c>(const Packet16c& a)
  function a (line 1142) | unsigned char pfirst<Packet16uc>(const Packet16uc& a)
  function Packet4f (line 1147) | Packet4f preverse(const Packet4f& a)
  function Packet4i (line 1151) | Packet4i preverse(const Packet4i& a)
  function Packet8s (line 1155) | Packet8s preverse(const Packet8s& a)
  function Packet8us (line 1159) | Packet8us preverse(const Packet8us& a)
  function Packet16c (line 1163) | Packet16c preverse(const Packet16c& a)
  function Packet16uc (line 1167) | Packet16uc preverse(const Packet16uc& a)
  function Packet8bf (line 1171) | Packet8bf preverse(const Packet8bf& a)
  function Packet4f (line 1176) | Packet4f pabs(const Packet4f& a) { return vec_abs(a); }
  function Packet4i (line 1177) | Packet4i pabs(const Packet4i& a) { return vec_abs(a); }
  function Packet8s (line 1178) | Packet8s pabs(const Packet8s& a) { return vec_abs(a); }
  function Packet8us (line 1179) | Packet8us pabs(const Packet8us& a) { return a; }
  function Packet16c (line 1180) | Packet16c pabs(const Packet16c& a) { return vec_abs(a); }
  function Packet16uc (line 1181) | Packet16uc pabs(const Packet16uc& a) { return a; }
  function Packet8bf (line 1182) | Packet8bf  pabs(const Packet8bf& a) {
  function Packet4i (line 1187) | Packet4i parithmetic_shift_right(const Packet4i& a)
  function Packet4i (line 1189) | Packet4i plogical_shift_right(const Packet4i& a)
  function Packet4i (line 1191) | Packet4i plogical_shift_left(const Packet4i& a)
  function Packet4f (line 1193) | Packet4f plogical_shift_left(const Packet4f& a)
  function Packet4f (line 1200) | Packet4f plogical_shift_right(const Packet4f& a)
  function Packet4ui (line 1207) | Packet4ui plogical_shift_right(const Packet4ui& a)
  function Packet4ui (line 1213) | Packet4ui plogical_shift_left(const Packet4ui& a)
  function Packet8us (line 1219) | Packet8us plogical_shift_left(const Packet8us& a)
  function Packet8us (line 1224) | Packet8us plogical_shift_right(const Packet8us& a)
  function EIGEN_STRONG_INLINE (line 1230) | EIGEN_STRONG_INLINE Packet4f Bf16ToF32Even(const Packet8bf& bf){
  function EIGEN_STRONG_INLINE (line 1234) | EIGEN_STRONG_INLINE Packet4f Bf16ToF32Odd(const Packet8bf& bf){
  function EIGEN_STRONG_INLINE (line 1244) | EIGEN_STRONG_INLINE Packet8bf F32ToBf16Bool(Packet4f even, Packet4f odd) {
  function EIGEN_STRONG_INLINE (line 1252) | EIGEN_STRONG_INLINE Packet8bf F32ToBf16(Packet4f p4f){
  function EIGEN_STRONG_INLINE (line 1292) | EIGEN_STRONG_INLINE Packet8bf F32ToBf16(Packet4f even, Packet4f odd){
  function Packet8bf (line 1396) | Packet8bf pmadd(const Packet8bf& a, const Packet8bf& b, const Packet8bf&...
  function Packet8bf (line 1416) | Packet8bf pcmp_lt(const Packet8bf& a, const Packet8bf& b) {
  function Packet8bf (line 1419) | Packet8bf pcmp_lt_or_nan(const Packet8bf& a, const Packet8bf& b) {
  function Packet8bf (line 1422) | Packet8bf pcmp_le(const Packet8bf& a, const Packet8bf& b) {
  function Packet8bf (line 1425) | Packet8bf pcmp_eq(const Packet8bf& a, const Packet8bf& b) {
  function bfloat16 (line 1429) | bfloat16 pfirst(const Packet8bf& a) {
  function predux_size8 (line 1473) | __UNPACK_TYPE__(Packet) predux_size8(const Packet& a)
  function a (line 1489) | short int predux<Packet8s>(const Packet8s& a)
  function a (line 1494) | unsigned short int predux<Packet8us>(const Packet8us& a)
  function predux_size16 (line 1499) | __UNPACK_TYPE__(Packet) predux_size16(const Packet& a)
  function a (line 1521) | signed char predux<Packet16c>(const Packet16c& a)
  function a (line 1526) | unsigned char predux<Packet16uc>(const Packet16uc& a)
  function predux_mul (line 1547) | short int predux_mul<Packet8s>(const Packet8s& a)
  function predux_mul (line 1558) | unsigned short int predux_mul<Packet8us>(const Packet8us& a)
  function predux_mul (line 1578) | signed char predux_mul<Packet16c>(const Packet16c& a)
  function a (line 1590) | unsigned char predux_mul<Packet16uc>(const Packet16uc& a)
  function predux_min4 (line 1604) | __UNPACK_TYPE__(Packet) predux_min4(const Packet& a)
  function predux_min (line 1631) | short int predux_min<Packet8s>(const Packet8s& a)
  function predux_min (line 1646) | unsigned short int predux_min<Packet8us>(const Packet8us& a)
  function predux_min (line 1661) | signed char predux_min<Packet16c>(const Packet16c& a)
  function a (line 1673) | unsigned char predux_min<Packet16uc>(const Packet16uc& a)
  function predux_max4 (line 1685) | __UNPACK_TYPE__(Packet) predux_max4(const Packet& a)
  function predux_max (line 1711) | short int predux_max<Packet8s>(const Packet8s& a)
  function predux_max (line 1726) | unsigned short int predux_max<Packet8us>(const Packet8us& a)
  function predux_max (line 1741) | signed char predux_max<Packet16c>(const Packet16c& a)
  function a (line 1753) | unsigned char predux_max<Packet16uc>(const Packet16uc& a)
  function predux_any (line 1765) | bool predux_any(const Packet4f& x)
  function ptranpose_common (line 1770) | inline void
  function Packet (line 2101) | Packet pblend4(const Selector<4>& ifPacke
Copy disabled (too large) Download .json
Condensed preview — 572 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (12,897K chars).
[
  {
    "path": ".dockerignore",
    "chars": 205,
    "preview": "# File .dockerignore\n.git\n.gitignore\n.github\n\n# directories to ignore\nexample/\ntest/\nrecipe/\n# in source code\nsrc/*.o\nex"
  },
  {
    "path": ".github/workflows/docker-image.yml",
    "chars": 980,
    "preview": "name: Docker Image CI\n\non:\n  push:\n    tags:\n      - 'v*'\n  workflow_dispatch:\n\nenv:\n  REGISTRY: docker.pkg.github.com\n "
  },
  {
    "path": ".github/workflows/manual.yml",
    "chars": 1550,
    "preview": "# This is a basic workflow that is manually triggered\n\nname: Manual workflow\n\n# Controls when the action will run. Workf"
  },
  {
    "path": ".github/workflows/test.yml",
    "chars": 2242,
    "preview": "name: build\n\non: \n  push:\n    tags:\n      - 'v*'\n  pull_request:\n    types:\n      - opened\n  release:\n    types:\n      -"
  },
  {
    "path": ".gitignore",
    "chars": 91,
    "preview": "src/*.o\nexternal_libs/pgenlib/*.o\nexternal_libs/pgenlib/include/*.o\ndocs/nature.csl\nbuild/\n"
  },
  {
    "path": "CMakeLists.txt",
    "chars": 10328,
    "preview": "# For Intel MKL, set MKLROOT=<MKL_path> when running cmake\n#   e.g. MKLROOT=/opt/mkl/ cmake -S regenie_dir/ -B regenie_d"
  },
  {
    "path": "Dockerfile",
    "chars": 2227,
    "preview": "# Thanks to Nathan Weeks for sharing this Dockerfile\n# minor edits were made\n# Filename: Dockerfile\n\n# make this global "
  },
  {
    "path": "Dockerfile_mkl",
    "chars": 2939,
    "preview": "# Filename: Dockerfile_mkl\n\n# make this global \nARG LIB_INSTALL\nARG LIB_INSTALL2\n\n\nFROM public.ecr.aws/ubuntu/ubuntu:22."
  },
  {
    "path": "Dockerfile_openblas",
    "chars": 1401,
    "preview": "# Thanks to Nathan Weeks for sharing this Dockerfile\n# minor edits were made\n# Filename: Dockerfile_openblas\n\n# make thi"
  },
  {
    "path": "LICENSE",
    "chars": 2633,
    "preview": "MIT License\n\nCopyright (c) 2020-2021 Joelle Mbatchou, Andrey Ziyatdinov & Jonathan Marchini\n\nPermission is hereby grante"
  },
  {
    "path": "Makefile",
    "chars": 6205,
    "preview": "# Makefile for Linux and Mac OSX systems for REGENIE\n#\n# * User needs to specify BGEN_PATH which is the directory\n# \twhe"
  },
  {
    "path": "README.md",
    "chars": 9231,
    "preview": "[![build](https://github.com/rgcgithub/regenie/actions/workflows/test.yml/badge.svg)](https://github.com/rgcgithub/regen"
  },
  {
    "path": "RELEASE_LOG.md",
    "chars": 6386,
    "preview": "## Changelog for past releases\n\nVersion 2.2.4 (Bug fix for multi-trait step 1 run with binary traits of different missin"
  },
  {
    "path": "VERSION",
    "chars": 6,
    "preview": "4.1.2\n"
  },
  {
    "path": "docs/cinder/404.html",
    "chars": 383,
    "preview": "{% extends \"base.html\" %}\n\n{% block content %}\n\n    <div class=\"row-fluid\">\n      <div id=\"main-content\" class=\"span12\">"
  },
  {
    "path": "docs/cinder/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "docs/cinder/base.html",
    "chars": 5804,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
  },
  {
    "path": "docs/cinder/content.html",
    "chars": 212,
    "preview": "{% if page.meta.source %}\n<div class=\"source-links\">\n    {% for filename in page.meta.source %}\n    <span class=\"label l"
  },
  {
    "path": "docs/cinder/css/base.css",
    "chars": 5616,
    "preview": "body {\n    padding-top: 70px;\n}\n\nh1[id]:before, h2[id]:before, h3[id]:before, h4[id]:before, h5[id]:before, h6[id]:befor"
  },
  {
    "path": "docs/cinder/css/bootstrap-custom.css",
    "chars": 132465,
    "preview": "/*! normalize.css v2.1.3 | MIT License | git.io/normalize */\narticle, aside, details, figcaption, figure, footer, header"
  },
  {
    "path": "docs/cinder/css/cinder.css",
    "chars": 2131,
    "preview": "/*\n  Cinder Theme for MkDocs | Copyright 2015 Christopher Simpkins | MIT License\n*/\n\nbody {\n    font-family:\"Open Sans\","
  },
  {
    "path": "docs/cinder/css/highlight.css",
    "chars": 1148,
    "preview": "/*\n\ngithub.com style (c) Vasily Polovnyov <vast@whiteants.net>\n\n*/\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padd"
  },
  {
    "path": "docs/cinder/js/base.js",
    "chars": 5907,
    "preview": "function getSearchTerm() {\n    var sPageURL = window.location.search.substring(1);\n    var sURLVariables = sPageURL.spli"
  },
  {
    "path": "docs/cinder/keyboard-modal.html",
    "chars": 1549,
    "preview": "<div class=\"modal\" id=\"mkdocs_keyboard_modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"keyboardModalLabel\" aria-hidd"
  },
  {
    "path": "docs/cinder/main.html",
    "chars": 377,
    "preview": "{% extends \"base.html\" %}\n\n{#\nThe entry point for the MkDocs Theme.\n\nAny theme customisations should override this file "
  },
  {
    "path": "docs/cinder/mkdocs_theme.yml",
    "chars": 200,
    "preview": "cinder_theme: true\n\nstatic_templates:\n  - 404.html\n\ninclude_search_page: false\nsearch_index_only: false\n\nshortcuts:\n    "
  },
  {
    "path": "docs/cinder/nav-sub.html",
    "chars": 422,
    "preview": "{% if not nav_item.children %}\n<li {% if nav_item.active %}class=\"active\"{% endif %}>\n    <a href=\"{{ nav_item.url|url }"
  },
  {
    "path": "docs/cinder/nav.html",
    "chars": 4989,
    "preview": "<div class=\"navbar navbar-default navbar-fixed-top\" role=\"navigation\">\n    <div class=\"container\">\n\n        <!-- Collaps"
  },
  {
    "path": "docs/cinder/search-modal.html",
    "chars": 1169,
    "preview": "<div class=\"modal\" id=\"mkdocs_search_modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"searchModalLabel\" aria-hidden=\""
  },
  {
    "path": "docs/cinder/toc.html",
    "chars": 673,
    "preview": "<div class=\"bs-sidebar hidden-print affix well\" role=\"complementary\">\n    <ul class=\"nav bs-sidenav\">\n        {%- for to"
  },
  {
    "path": "docs/docs/custom/style.css",
    "chars": 258,
    "preview": "@media (min-width: 992px) {\n    /* Allow the sidebar to scroll if it overflows the page. */\n    .bs-sidebar {\n        ov"
  },
  {
    "path": "docs/docs/faq.md",
    "chars": 6477,
    "preview": "## Frequently asked questions\n\n### General\n*    <span style=\"font-size: large; font-style: italic;color:#404040\"> Why do"
  },
  {
    "path": "docs/docs/index.md",
    "chars": 2520,
    "preview": "## regenie \n\n**regenie** is a C++ program for whole genome regression modelling of large\n[genome-wide association studie"
  },
  {
    "path": "docs/docs/install.md",
    "chars": 5193,
    "preview": "##Download\n\nThe **regenie** source code is hosted on\n[Github](https://github.com/rgcgithub/regenie).\n\n##Installation\n\n<d"
  },
  {
    "path": "docs/docs/options.md",
    "chars": 46413,
    "preview": "## Getting started\n\nTo run **regenie**, use the command `./regenie` on the command line,\nfollowed by options and flags a"
  },
  {
    "path": "docs/docs/overview.md",
    "chars": 22063,
    "preview": "## Overview \n\nThis page provides an overview of the models and methods implemented in\n**regenie**. A full description is"
  },
  {
    "path": "docs/docs/performance.md",
    "chars": 8747,
    "preview": "## Performance\n\nWe assessed the performance of **regenie** against 3 other\nprograms for GWAS on large cohorts.\n\n1. BOLT-"
  },
  {
    "path": "docs/docs/recommendations.md",
    "chars": 6483,
    "preview": "## Recommendations for UK Biobank analysis\n\n**regenie** is ideally suited for large-scale analyses such as 500K UK\nBioba"
  },
  {
    "path": "docs/mkdocs.yml",
    "chars": 612,
    "preview": "site_name: regenie\ntheme:\n  name: null\n  custom_dir: 'cinder'\ncopyright: \"REGENIE is licensed under the <a href='https:/"
  },
  {
    "path": "docs/refs.bib",
    "chars": 7743,
    "preview": "@article{RN524,\r\n   author = {Davies, Robert B.},\r\n   title = {Algorithm AS 155: The Distribution of a Linear Combinati"
  },
  {
    "path": "docs/site/css/base.css",
    "chars": 5616,
    "preview": "body {\n    padding-top: 70px;\n}\n\nh1[id]:before, h2[id]:before, h3[id]:before, h4[id]:before, h5[id]:before, h6[id]:befor"
  },
  {
    "path": "docs/site/css/bootstrap-custom.css",
    "chars": 132465,
    "preview": "/*! normalize.css v2.1.3 | MIT License | git.io/normalize */\narticle, aside, details, figcaption, figure, footer, header"
  },
  {
    "path": "docs/site/css/cinder.css",
    "chars": 2131,
    "preview": "/*\n  Cinder Theme for MkDocs | Copyright 2015 Christopher Simpkins | MIT License\n*/\n\nbody {\n    font-family:\"Open Sans\","
  },
  {
    "path": "docs/site/css/highlight.css",
    "chars": 1148,
    "preview": "/*\n\ngithub.com style (c) Vasily Polovnyov <vast@whiteants.net>\n\n*/\n\n.hljs {\n  display: block;\n  overflow-x: auto;\n  padd"
  },
  {
    "path": "docs/site/custom/style.css",
    "chars": 258,
    "preview": "@media (min-width: 992px) {\n    /* Allow the sidebar to scroll if it overflows the page. */\n    .bs-sidebar {\n        ov"
  },
  {
    "path": "docs/site/faq/index.html",
    "chars": 17079,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
  },
  {
    "path": "docs/site/index.html",
    "chars": 13109,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
  },
  {
    "path": "docs/site/install/index.html",
    "chars": 16511,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
  },
  {
    "path": "docs/site/js/base.js",
    "chars": 5907,
    "preview": "function getSearchTerm() {\n    var sPageURL = window.location.search.substring(1);\n    var sURLVariables = sPageURL.spli"
  },
  {
    "path": "docs/site/options/index.html",
    "chars": 71904,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
  },
  {
    "path": "docs/site/overview/index.html",
    "chars": 46286,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
  },
  {
    "path": "docs/site/performance/index.html",
    "chars": 19690,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
  },
  {
    "path": "docs/site/recommendations/index.html",
    "chars": 17080,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=e"
  },
  {
    "path": "docs/site/search/lunr.js",
    "chars": 99805,
    "preview": "/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9\n * Copyright (C) 2020 Oliv"
  },
  {
    "path": "docs/site/search/main.js",
    "chars": 3206,
    "preview": "function getSearchTermFromLocation() {\n  var sPageURL = window.location.search.substring(1);\n  var sURLVariables = sPage"
  },
  {
    "path": "docs/site/search/search_index.json",
    "chars": 188313,
    "preview": "{\"config\":{\"indexing\":\"full\",\"lang\":[\"en\"],\"min_search_length\":3,\"prebuild_index\":false,\"separator\":\"[\\\\s\\\\-]+\"},\"docs\":"
  },
  {
    "path": "docs/site/search/worker.js",
    "chars": 3724,
    "preview": "var base_path = 'function' === typeof importScripts ? '.' : '/search/';\nvar allowSearch = false;\nvar index;\nvar document"
  },
  {
    "path": "docs/site/sitemap.xml",
    "chars": 109,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n</urlset>"
  },
  {
    "path": "example/covariates.txt",
    "chars": 31020,
    "preview": "FID IID V1 V2 V3\n1 1 1.46837294454993 1.93779743016325 0.152887004505393\n2 2 -1.2234390803815 -1.63408619199948 -0.19020"
  },
  {
    "path": "example/covariates_wBin.txt",
    "chars": 35026,
    "preview": "FID\tIID\tV1\tV2\tV3\tV4\tV5\n1\t1\t1.46837294454993\t1.93779743016325\t0.152887004505393\t1\turban\n2\t2\t-1.2234390803815\t-1.634086191"
  },
  {
    "path": "example/example.bed",
    "chars": 5366,
    "preview": "l\u001b\u0001+;>>ο*+?꼾;;Ͽ?룿?;ᄏ;:ώ>ʻ??ή.?㿺ﳿ;Ͼ\u000f뿋?꾪뿯믯Ͽꫳ?>?ﯪϿ>>;Ϫ2￾˿?/*/;뿿ﺺ?>:￿;οϫ̯򿻺￾<;:>뫾̿//˪ﻫ믮뾿/+꿫ﻯ>﫿2뿾㿯￿󿿳>(뿻:κ￯+;꿿請ﯿ믿<?ꫢʿ?<?"
  },
  {
    "path": "example/example.bim",
    "chars": 15786,
    "preview": "1\t1\t0\t1\t1\t2\n1\t2\t0\t2\t1\t2\n1\t3\t0\t3\t1\t2\n1\t4\t0\t4\t1\t2\n1\t5\t0\t5\t1\t2\n1\t6\t0\t6\t1\t2\n1\t7\t0\t7\t1\t2\n1\t8\t0\t8\t1\t2\n1\t9\t0\t9\t1\t2\n1\t10\t0\t10\t1\t"
  },
  {
    "path": "example/example.fam",
    "chars": 16613,
    "preview": "1\t1\t0\t0\t2\t-0.4267761781290719\n2\t2\t0\t0\t2\t0.553949147355921\n3\t3\t0\t0\t2\t-0.6501615855731889\n4\t4\t0\t0\t2\t0.6658237998926421\n5\t5"
  },
  {
    "path": "example/example.psam",
    "chars": 9901,
    "preview": "#FID\tIID\tSEX\tPHENO1\n1\t1\tNA\t-0.426776\n2\t2\tNA\t0.553949\n3\t3\tNA\t-0.650162\n4\t4\tNA\t0.665824\n5\t5\tNA\t2.15353\n6\t6\tNA\t1.60361\n7\t7\t"
  },
  {
    "path": "example/example.pvar",
    "chars": 13808,
    "preview": "#CHROM\tPOS\tID\tREF\tALT\n1\t1\t1\t2\t1\n1\t2\t2\t2\t1\n1\t3\t3\t2\t1\n1\t4\t4\t2\t1\n1\t5\t5\t2\t1\n1\t6\t6\t2\t1\n1\t7\t7\t2\t1\n1\t8\t8\t2\t1\n1\t9\t9\t2\t1\n1\t10\t10\t"
  },
  {
    "path": "example/example.test_bin_out_firth_Y1.regenie",
    "chars": 69438,
    "preview": "CHROM GENPOS ID ALLELE0 ALLELE1 A1FREQ INFO N TEST BETA SE CHISQ LOG10P\n1 1 1 2 1 0.214575 1 494 ADD 0.0775674 0.230001 "
  },
  {
    "path": "example/example_3chr.annotations",
    "chars": 9388,
    "preview": "mog_0\tSET1\tmissense\nmog_1\tSET1\tmissense\nmog_2\tSET1\tpLof\nmog_3\tSET1\tpLof\nmog_4\tSET1\tmissense\nmog_5\tSET1\tpLof\nmog_6\tSET1\tp"
  },
  {
    "path": "example/example_3chr.annotationsV2",
    "chars": 14363,
    "preview": "mog_0\tSET1\tB-sheet\tmissense\nmog_1\tSET1\tCatalytic\tmissense\nmog_2\tSET1\tB-sheet\tpLof\nmog_3\tSET1\tCatalytic\tpLof\nmog_4\tSET1\tC"
  },
  {
    "path": "example/example_3chr.bim",
    "chars": 9712,
    "preview": "1\tmog_0\t0\t1\tD\td\n1\tmog_1\t0\t2\tD\td\n1\tmog_2\t0\t3\tD\td\n1\tmog_3\t0\t4\tD\td\n1\tmog_4\t0\t5\tD\td\n1\tmog_5\t0\t6\tD\td\n1\tmog_6\t0\t7\tD\td\n1\tmog_7\t"
  },
  {
    "path": "example/example_3chr.fam",
    "chars": 16613,
    "preview": "1\t1\t0\t0\t0\t-0.4267761781290719\n2\t2\t0\t0\t0\t0.553949147355921\n3\t3\t0\t0\t0\t-0.6501615855731889\n4\t4\t0\t0\t0\t0.6658237998926421\n5\t5"
  },
  {
    "path": "example/example_3chr.joint_setlist",
    "chars": 167,
    "preview": "SET1 1 0 mog_19,mog_20,mog_21,mog_22,mog_23,mog_24,mog_25,mog_26,mog_27,mog_28,mog_29,mog_30,mog_31,mog_32,mog_33,mog_34"
  },
  {
    "path": "example/example_3chr.masks",
    "chars": 55,
    "preview": "M1\tpLof\nM2\tpLof,missense,unknown1\nM3\tunknown1,unknown2\n"
  },
  {
    "path": "example/example_3chr.sample",
    "chars": 10920,
    "preview": "ID_1 ID_2 missing sex PHENO1\n0 0 0 D P\n1 1 0 NA -0.426776\n2 2 0 NA 0.553949\n3 3 0 NA -0.650162\n4 4 0 NA 0.665824\n5 5 0 N"
  },
  {
    "path": "example/example_3chr.setlist",
    "chars": 570,
    "preview": "SET1 1 1 mog_0,mog_1,mog_2,mog_3,mog_4,mog_5,mog_6,mog_7,mog_8,mog_9,mog_10,mog_11,mog_12,mog_13,mog_14,mog_15,mog_16,mo"
  },
  {
    "path": "example/example_3chr.write_sets",
    "chars": 19,
    "preview": "tmp1 M1\ntmp2 M1,M2\n"
  },
  {
    "path": "example/example_3chr_masks.bim",
    "chars": 46,
    "preview": "1\tSET1.M1.0.2\t0\t1\tD\td\n3\tSET2.M2.0.2\t0\t500\tD\td\n"
  },
  {
    "path": "example/example_3chr_masks.fam",
    "chars": 16613,
    "preview": "1\t1\t0\t0\t0\t-0.4267761781290719\n2\t2\t0\t0\t0\t0.553949147355921\n3\t3\t0\t0\t0\t-0.6501615855731889\n4\t4\t0\t0\t0\t0.6658237998926421\n5\t5"
  },
  {
    "path": "example/fid_iid_to_remove.txt",
    "chars": 44,
    "preview": "35 35\n136 136\n77 77\n100 100\n204 204\n474 474\n"
  },
  {
    "path": "example/phenotype.txt",
    "chars": 21938,
    "preview": "FID IID Y1 Y2\n1 1 1.64818554321186 2.2765234736685\n2 2 -2.67352013711554 -1.53680421614647\n3 3 0.217542851471485 0.43728"
  },
  {
    "path": "example/phenotype_bin.txt",
    "chars": 5798,
    "preview": "FID IID Y1 Y2\n1 1 1 1\n2 2 0 0\n3 3 0 0\n4 4 0 0\n5 5 0 1\n6 6 0 1\n7 7 0 0\n8 8 1 0\n9 9 1 1\n10 10 0 1\n11 11 1 0\n12 12 0 0\n13 1"
  },
  {
    "path": "example/phenotype_bin_wNA.txt",
    "chars": 5848,
    "preview": "FID IID Y1 Y2\n1 1 1 1\n2 2 0 0\n3 3 0 0\n4 4 0 0\n5 5 0 1\n6 6 NA 1\n7 7 0 0\n8 8 1 0\n9 9 1 1\n10 10 0 1\n11 11 1 0\n12 12 0 0\n13 "
  },
  {
    "path": "example/snplist_rm.txt",
    "chars": 24,
    "preview": "114\n191\n307\n310\n499\n500\n"
  },
  {
    "path": "example/test_bin_out_firth_Y1.regenie",
    "chars": 72452,
    "preview": "CHROM GENPOS ID ALLELE0 ALLELE1 A1FREQ INFO N TEST BETA SE CHISQ LOG10P EXTRA\n1 1 1 2 1 0.214575 1 494 ADD 0.0775674 0.2"
  },
  {
    "path": "external_libs/LBFGSpp/AUTHORS.md",
    "chars": 384,
    "preview": "The LBFGS++ library was adapted from the libLBFGS library\n(https://github.com/chokkan/liblbfgs), written by\nNaoaki Okaza"
  },
  {
    "path": "external_libs/LBFGSpp/LICENSE.md",
    "chars": 1189,
    "preview": "## The MIT License\n\nCopyright (c) 1990 Jorge Nocedal\n\nCopyright (c) 2007-2010 Naoaki Okazaki\n\nCopyright (c) 2016-2019 Yi"
  },
  {
    "path": "external_libs/LBFGSpp/README.md",
    "chars": 5724,
    "preview": "# LBFGS++ <img src=\"https://statr.me/images/sticker-lbfgspp.png\" alt=\"LBFGS++\" height=\"150px\" align=\"right\" />\n\n> **UPDA"
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGS.h",
    "chars": 4807,
    "preview": "// Copyright (C) 2016-2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef LBFGS_H\n#define LBFGS_H\n\n#incl"
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSB.h",
    "chars": 8610,
    "preview": "// Copyright (C) 2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef LBFGSB_H\n#define LBFGSB_H\n\n#include"
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/BFGSMat.h",
    "chars": 16741,
    "preview": "// Copyright (C) 2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef BFGS_MAT_H\n#define BFGS_MAT_H\n\n#inc"
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/BKLDLT.h",
    "chars": 16580,
    "preview": "// Copyright (C) 2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef BK_LDLT_H\n#define BK_LDLT_H\n\n#inclu"
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/Cauchy.h",
    "chars": 10425,
    "preview": "// Copyright (C) 2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef CAUCHY_H\n#define CAUCHY_H\n\n#include"
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/LineSearchBacktracking.h",
    "chars": 3916,
    "preview": "// Copyright (C) 2016-2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef LINE_SEARCH_BACKTRACKING_H\n#de"
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/LineSearchBracketing.h",
    "chars": 4299,
    "preview": "// Copyright (C) 2016-2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Copyright (C) 2016-2020 Dirk Toewe <DirkToewe@GoogleMail."
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/LineSearchMoreThuente.h",
    "chars": 13083,
    "preview": "// Copyright (C) 2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef LINE_SEARCH_MORE_THUENTE_H\n#define "
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/LineSearchNocedalWright.h",
    "chars": 6388,
    "preview": "// Copyright (C) 2016-2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Copyright (C) 2016-2020 Dirk Toewe <DirkToewe@GoogleMail."
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/Param.h",
    "chars": 14720,
    "preview": "// Copyright (C) 2016-2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef PARAM_H\n#define PARAM_H\n\n#incl"
  },
  {
    "path": "external_libs/LBFGSpp/include/LBFGSpp/SubspaceMin.h",
    "chars": 10989,
    "preview": "// Copyright (C) 2020 Yixuan Qiu <yixuan.qiu@cos.name>\n// Under MIT license\n\n#ifndef SUBSPACE_MIN_H\n#define SUBSPACE_MIN"
  },
  {
    "path": "external_libs/cxxopts/LICENSE",
    "chars": 1055,
    "preview": "Copyright (c) 2014 Jarryd Beck\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this sof"
  },
  {
    "path": "external_libs/cxxopts/include/cxxopts.hpp",
    "chars": 59005,
    "preview": "/*\n\nCopyright (c) 2014, 2015, 2016, 2017 Jarryd Beck\n\nPermission is hereby granted, free of charge, to any person obtain"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Cholesky",
    "chars": 1161,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/CholmodSupport",
    "chars": 1900,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Core",
    "chars": 12799,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Dense",
    "chars": 122,
    "preview": "#include \"Core\"\n#include \"LU\"\n#include \"Cholesky\"\n#include \"QR\"\n#include \"SVD\"\n#include \"Geometry\"\n#include \"Eigenvalues"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Eigen",
    "chars": 35,
    "preview": "#include \"Dense\"\n#include \"Sparse\"\n"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Eigenvalues",
    "chars": 1777,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Geometry",
    "chars": 1940,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Householder",
    "chars": 829,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/IterativeLinearSolvers",
    "chars": 2083,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Jacobi",
    "chars": 894,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/KLUSupport",
    "chars": 1389,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/LU",
    "chars": 1268,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/MetisSupport",
    "chars": 991,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/OrderingMethods",
    "chars": 2451,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/PaStiXSupport",
    "chars": 1751,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/PardisoSupport",
    "chars": 1116,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/QR",
    "chars": 1272,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/QtAlignedMalloc",
    "chars": 900,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/SPQRSupport",
    "chars": 1162,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/SVD",
    "chars": 1584,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/Sparse",
    "chars": 888,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/SparseCholesky",
    "chars": 1235,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2013 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/SparseCore",
    "chars": 2240,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/SparseLU",
    "chars": 1812,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2012 Désiré"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/SparseQR",
    "chars": 1195,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/StdDeque",
    "chars": 797,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/StdList",
    "chars": 726,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Hauke "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/StdVector",
    "chars": 803,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/SuperLUSupport",
    "chars": 2243,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/UmfPackSupport",
    "chars": 1382,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// This Source Code Form is "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Cholesky/LDLT.h",
    "chars": 24934,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2011 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Cholesky/LLT.h",
    "chars": 18760,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Cholesky/LLT_LAPACKE.h",
    "chars": 3974,
    "preview": "/*\n Copyright (c) 2011, Intel Corporation. All rights reserved.\n\n Redistribution and use in source and binary forms, wit"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/CholmodSupport/CholmodSupport.h",
    "chars": 25441,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/ArithmeticSequence.h",
    "chars": 19214,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2017 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Array.h",
    "chars": 16782,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/ArrayBase.h",
    "chars": 8217,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/ArrayWrapper.h",
    "chars": 7018,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Assign.h",
    "chars": 2738,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2007 Michae"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/AssignEvaluator.h",
    "chars": 41673,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2011 Benoit"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Assign_MKL.h",
    "chars": 12488,
    "preview": "/*\n Copyright (c) 2011, Intel Corporation. All rights reserved.\n Copyright (C) 2015 Gael Guennebaud <gael.guennebaud@inr"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/BandMatrix.h",
    "chars": 14075,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Block.h",
    "chars": 18648,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/BooleanRedux.h",
    "chars": 4429,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/CommaInitializer.h",
    "chars": 5981,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/ConditionEstimator.h",
    "chars": 6990,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2016 Rasmus"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/CoreEvaluators.h",
    "chars": 63841,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2011 Benoit"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/CoreIterators.h",
    "chars": 4745,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2014 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/CwiseBinaryOp.h",
    "chars": 7909,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2014 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/CwiseNullaryOp.h",
    "chars": 36282,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/CwiseTernaryOp.h",
    "chars": 8256,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2014 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/CwiseUnaryOp.h",
    "chars": 3937,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2014 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/CwiseUnaryView.h",
    "chars": 5551,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/DenseBase.h",
    "chars": 31529,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2007-2010 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/DenseCoeffsBase.h",
    "chars": 24484,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2010 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/DenseStorage.h",
    "chars": 25360,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Diagonal.h",
    "chars": 9870,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2007-2009 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/DiagonalMatrix.h",
    "chars": 14670,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/DiagonalProduct.h",
    "chars": 988,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Dot.h",
    "chars": 11654,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2008, "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/EigenBase.h",
    "chars": 5841,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Benoit"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/ForceAlignedAccess.h",
    "chars": 4909,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Fuzzy.h",
    "chars": 5759,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2008 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/GeneralProduct.h",
    "chars": 21679,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2008 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/GenericPacketMath.h",
    "chars": 38812,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/GlobalFunctions.h",
    "chars": 11543,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2010-2016 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/IO.h",
    "chars": 8238,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2008 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/IndexedView.h",
    "chars": 9620,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2017 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Inverse.h",
    "chars": 3503,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2014-2019 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Map.h",
    "chars": 7256,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2007-2010 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/MapBase.h",
    "chars": 11281,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2007-2010 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/MathFunctions.h",
    "chars": 60784,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2010 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/MathFunctionsImpl.h",
    "chars": 7156,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2014 Pedro "
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Matrix.h",
    "chars": 24343,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2010 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/MatrixBase.h",
    "chars": 23856,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2009 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/NestByValue.h",
    "chars": 2520,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/NoAlias.h",
    "chars": 3620,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/NumTraits.h",
    "chars": 12884,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2010 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/PartialReduxEvaluator.h",
    "chars": 9207,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2011-2018 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/PermutationMatrix.h",
    "chars": 20748,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Benoit"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/PlainObjectBase.h",
    "chars": 49193,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2009 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Product.h",
    "chars": 7336,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2011 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/ProductEvaluators.h",
    "chars": 53832,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2008 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Random.h",
    "chars": 7756,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Redux.h",
    "chars": 19195,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Ref.h",
    "chars": 17821,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2012 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Replicate.h",
    "chars": 5656,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Reshaped.h",
    "chars": 17033,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2017 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/ReturnByValue.h",
    "chars": 4284,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Reverse.h",
    "chars": 7522,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2008 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Select.h",
    "chars": 6143,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/SelfAdjointView.h",
    "chars": 14999,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/SelfCwiseBinaryOp.h",
    "chars": 1697,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009-2010 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Solve.h",
    "chars": 6837,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2014 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/SolveTriangular.h",
    "chars": 9368,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2008-2009 G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/SolverBase.h",
    "chars": 6170,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2015 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/StableNorm.h",
    "chars": 8700,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2009 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/StlIterators.h",
    "chars": 21641,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2018 Gael G"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Stride.h",
    "chars": 4212,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2010 Benoit"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Swap.h",
    "chars": 2765,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2008 B"
  },
  {
    "path": "external_libs/eigen-3.4.0/Eigen/src/Core/Transpose.h",
    "chars": 17606,
    "preview": "// This file is part of Eigen, a lightweight C++ template library\n// for linear algebra.\n//\n// Copyright (C) 2006-2008 B"
  }
]

// ... and 372 more files (download for full content)

About this extraction

This page contains the full source code of the rgcgithub/regenie GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 572 files (11.9 MB), approximately 3.1M tokens, and a symbol index with 7364 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!