From f146a248beed8164fdb7d300ff1ced061576af36 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:42:39 +0000 Subject: [PATCH] Update documentation --- index.html | 8 +- nightly/.buildinfo | 4 +- nightly/.doctrees/developer_guide.doctree | Bin 42519 -> 43380 bytes nightly/.doctrees/environment.pickle | Bin 3538038 -> 3599217 bytes nightly/.doctrees/framework.doctree | Bin 637489 -> 660521 bytes nightly/.doctrees/index.doctree | Bin 15587 -> 15805 bytes nightly/.doctrees/introduction.doctree | Bin 30802 -> 31420 bytes nightly/.doctrees/io.doctree | Bin 185523 -> 195082 bytes nightly/.doctrees/optimisation.doctree | Bin 1886284 -> 1927251 bytes nightly/.doctrees/plugins.doctree | Bin 161603 -> 118318 bytes nightly/.doctrees/processors.doctree | Bin 307059 -> 322081 bytes nightly/.doctrees/recon.doctree | Bin 95013 -> 98434 bytes nightly/.doctrees/utilities.doctree | Bin 198238 -> 179733 bytes .../index.html} | 674 ++- .../_modules/cil/framework/BlockGeometry.html | 337 -- .../cil/framework/BlockGeometry/index.html | 603 ++ .../{framework.html => framework/index.html} | 718 ++- .../index.html} | 636 ++- .../index.html} | 626 ++- .../index.html} | 630 ++- .../index.html} | 624 ++- .../cil/io/{TIFF.html => TIFF/index.html} | 636 ++- .../index.html} | 632 ++- .../{utilities.html => utilities/index.html} | 630 ++- .../algorithms/{ADMM.html => ADMM/index.html} | 628 ++- .../{Algorithm.html => Algorithm/index.html} | 646 ++- .../algorithms/{CGLS.html => CGLS/index.html} | 632 ++- .../{FISTA.html => FISTA/index.html} | 642 ++- .../algorithms/{GD.html => GD/index.html} | 632 ++- .../algorithms/{PDHG.html => PDHG/index.html} | 640 ++- .../algorithms/{SIRT.html => SIRT/index.html} | 630 ++- .../{SPDHG.html => SPDHG/index.html} | 628 ++- .../index.html} | 636 ++- .../{Function.html => Function/index.html} | 670 ++- .../index.html} | 630 ++- .../index.html} | 622 ++- .../{L1Norm.html => L1Norm/index.html} | 630 ++- .../index.html} | 636 ++- .../index.html} | 624 ++- .../index.html} | 630 ++- .../OperatorCompositionFunction.html | 313 -- .../OperatorCompositionFunction/index.html | 579 ++ .../optimisation/functions/Rosenbrock.html | 301 - .../functions/Rosenbrock/index.html | 567 ++ .../index.html} | 628 ++- .../index.html} | 654 ++- .../index.html} | 628 ++- .../operators/DiagonalOperator.html | 313 -- .../operators/DiagonalOperator/index.html | 579 ++ .../index.html} | 626 ++- .../index.html} | 628 ++- .../operators/IdentityOperator.html | 315 -- .../operators/IdentityOperator/index.html | 581 ++ .../optimisation/operators/MaskOperator.html | 277 - .../operators/MaskOperator/index.html | 543 ++ .../operators/MatrixOperator.html | 297 - .../operators/MatrixOperator/index.html | 563 ++ .../{Operator.html => Operator/index.html} | 674 ++- .../index.html} | 624 ++- .../index.html} | 626 ++- .../optimisation/operators/ZeroOperator.html | 305 - .../operators/ZeroOperator/index.html | 571 ++ .../{sampler.html => sampler/index.html} | 642 ++- .../index.html} | 622 ++- .../astra/operators/ProjectionOperator.html | 419 -- .../cil/plugins/astra/processors/FBP.html | 354 -- .../index.html} | 654 ++- nightly/_modules/cil/plugins/tigre/FBP.html | 348 -- .../cil/plugins/tigre/ProjectionOperator.html | 487 -- .../AbsorptionTransmissionConverter.html | 294 - .../index.html | 560 ++ .../{Binner.html => Binner/index.html} | 622 ++- .../processors/CentreOfRotationCorrector.html | 374 -- .../CentreOfRotationCorrector/index.html | 640 +++ .../index.html} | 632 ++- .../{Masker.html => Masker/index.html} | 630 ++- .../index.html} | 622 ++- .../{Padder.html => Padder/index.html} | 636 ++- .../index.html} | 622 ++- .../{Slicer.html => Slicer/index.html} | 626 ++- .../TransmissionAbsorptionConverter.html | 322 -- .../index.html | 588 ++ .../cil/recon/{FBP.html => FBP/index.html} | 632 ++- .../index.html} | 640 ++- .../{display.html => display/index.html} | 626 ++- nightly/_modules/cil/utilities/jupyter.html | 589 -- .../cil/utilities/quality_measures.html | 351 -- .../cil/utilities/quality_measures/index.html | 617 ++ nightly/_modules/index.html | 730 ++- nightly/_static/basic.css | 91 +- nightly/_static/doctools.js | 75 +- nightly/_static/documentation_options.js | 6 +- nightly/_static/language_data.js | 2 +- nightly/_static/pygments.css | 236 +- nightly/_static/scripts/bootstrap.js | 3 + .../_static/scripts/bootstrap.js.LICENSE.txt | 5 + nightly/_static/scripts/bootstrap.js.map | 1 + .../_static/scripts/pydata-sphinx-theme.js | 34 +- .../scripts/pydata-sphinx-theme.js.map | 1 + nightly/_static/searchtools.js | 25 +- nightly/_static/styles/bootstrap.css | 6 + .../_static/styles/pydata-sphinx-theme.css | 7 +- nightly/_static/styles/theme.css | 132 - ...erscore-1.12.0.js => underscore-1.13.1.js} | 151 +- nightly/_static/underscore.js | 8 +- .../vendor/fontawesome/5.13.0/LICENSE.txt | 34 - .../vendor/fontawesome/5.13.0/css/all.min.css | 5 - .../5.13.0/webfonts/fa-brands-400.eot | Bin 133034 -> 0 bytes .../5.13.0/webfonts/fa-brands-400.svg | 3570 ------------ .../5.13.0/webfonts/fa-brands-400.ttf | Bin 132728 -> 0 bytes .../5.13.0/webfonts/fa-brands-400.woff | Bin 89824 -> 0 bytes .../5.13.0/webfonts/fa-brands-400.woff2 | Bin 76612 -> 0 bytes .../5.13.0/webfonts/fa-regular-400.eot | Bin 34390 -> 0 bytes .../5.13.0/webfonts/fa-regular-400.svg | 803 --- .../5.13.0/webfonts/fa-regular-400.ttf | Bin 34092 -> 0 bytes .../5.13.0/webfonts/fa-regular-400.woff | Bin 16800 -> 0 bytes .../5.13.0/webfonts/fa-regular-400.woff2 | Bin 13584 -> 0 bytes .../5.13.0/webfonts/fa-solid-900.eot | Bin 202902 -> 0 bytes .../5.13.0/webfonts/fa-solid-900.svg | 4938 ----------------- .../5.13.0/webfonts/fa-solid-900.ttf | Bin 202616 -> 0 bytes .../5.13.0/webfonts/fa-solid-900.woff | Bin 103300 -> 0 bytes .../5.13.0/webfonts/fa-solid-900.woff2 | Bin 79444 -> 0 bytes .../vendor/fontawesome/6.1.2/LICENSE.txt | 165 + .../vendor/fontawesome/6.1.2/css/all.min.css | 5 + .../6.1.2/webfonts/fa-brands-400.ttf | Bin 0 -> 181264 bytes .../6.1.2/webfonts/fa-brands-400.woff2 | Bin 0 -> 105112 bytes .../6.1.2/webfonts/fa-regular-400.ttf | Bin 0 -> 60236 bytes .../6.1.2/webfonts/fa-regular-400.woff2 | Bin 0 -> 24028 bytes .../6.1.2/webfonts/fa-solid-900.ttf | Bin 0 -> 389948 bytes .../6.1.2/webfonts/fa-solid-900.woff2 | Bin 0 -> 154840 bytes .../6.1.2/webfonts/fa-v4compatibility.ttf | Bin 0 -> 10084 bytes .../6.1.2/webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4776 bytes nightly/_static/webpack-macros.html | 21 +- .../index.html} | 772 ++- .../{framework.html => framework/index.html} | 1443 ++--- nightly/genindex.html | 2184 -------- nightly/genindex/index.html | 2397 ++++++++ nightly/index.html | 898 +-- nightly/introduction.html | 423 -- nightly/introduction/index.html | 655 +++ nightly/{io.html => io/index.html} | 884 +-- nightly/objects.inv | Bin 4678 -> 5357 bytes .../index.html} | 3843 ++++++------- nightly/plugins.html | 817 --- nightly/plugins/index.html | 852 +++ .../index.html} | 1066 ++-- nightly/py-modindex.html | 255 - nightly/py-modindex/index.html | 492 ++ nightly/recon.html | 635 --- nightly/recon/index.html | 874 +++ nightly/search.html | 245 - nightly/search/index.html | 496 ++ nightly/searchindex.js | 2 +- nightly/utilities.html | 910 --- nightly/utilities/index.html | 1049 ++++ versions.json | 1 + 156 files changed, 40494 insertions(+), 34008 deletions(-) rename nightly/_modules/cil/framework/{BlockDataContainer.html => BlockDataContainer/index.html} (79%) delete mode 100644 nightly/_modules/cil/framework/BlockGeometry.html create mode 100644 nightly/_modules/cil/framework/BlockGeometry/index.html rename nightly/_modules/cil/framework/{framework.html => framework/index.html} (95%) rename nightly/_modules/cil/io/{NEXUSDataReader.html => NEXUSDataReader/index.html} (74%) rename nightly/_modules/cil/io/{NEXUSDataWriter.html => NEXUSDataWriter/index.html} (74%) rename nightly/_modules/cil/io/{NikonDataReader.html => NikonDataReader/index.html} (80%) rename nightly/_modules/cil/io/{RAWFileWriter.html => RAWFileWriter/index.html} (58%) rename nightly/_modules/cil/io/{TIFF.html => TIFF/index.html} (85%) rename nightly/_modules/cil/io/{ZEISSDataReader.html => ZEISSDataReader/index.html} (74%) rename nightly/_modules/cil/io/{utilities.html => utilities/index.html} (69%) rename nightly/_modules/cil/optimisation/algorithms/{ADMM.html => ADMM/index.html} (51%) rename nightly/_modules/cil/optimisation/algorithms/{Algorithm.html => Algorithm/index.html} (73%) rename nightly/_modules/cil/optimisation/algorithms/{CGLS.html => CGLS/index.html} (54%) rename nightly/_modules/cil/optimisation/algorithms/{FISTA.html => FISTA/index.html} (63%) rename nightly/_modules/cil/optimisation/algorithms/{GD.html => GD/index.html} (57%) rename nightly/_modules/cil/optimisation/algorithms/{PDHG.html => PDHG/index.html} (76%) rename nightly/_modules/cil/optimisation/algorithms/{SIRT.html => SIRT/index.html} (58%) rename nightly/_modules/cil/optimisation/algorithms/{SPDHG.html => SPDHG/index.html} (67%) rename nightly/_modules/cil/optimisation/functions/{BlockFunction.html => BlockFunction/index.html} (60%) rename nightly/_modules/cil/optimisation/functions/{Function.html => Function/index.html} (77%) rename nightly/_modules/cil/optimisation/functions/{IndicatorBox.html => IndicatorBox/index.html} (78%) rename nightly/_modules/cil/optimisation/functions/{KullbackLeibler.html => KullbackLeibler/index.html} (84%) rename nightly/_modules/cil/optimisation/functions/{L1Norm.html => L1Norm/index.html} (67%) rename nightly/_modules/cil/optimisation/functions/{L2NormSquared.html => L2NormSquared/index.html} (59%) rename nightly/_modules/cil/optimisation/functions/{LeastSquares.html => LeastSquares/index.html} (58%) rename nightly/_modules/cil/optimisation/functions/{MixedL21Norm.html => MixedL21Norm/index.html} (60%) delete mode 100644 nightly/_modules/cil/optimisation/functions/OperatorCompositionFunction.html create mode 100644 nightly/_modules/cil/optimisation/functions/OperatorCompositionFunction/index.html delete mode 100644 nightly/_modules/cil/optimisation/functions/Rosenbrock.html create mode 100644 nightly/_modules/cil/optimisation/functions/Rosenbrock/index.html rename nightly/_modules/cil/optimisation/functions/{TotalVariation.html => TotalVariation/index.html} (72%) rename nightly/_modules/cil/optimisation/operators/{BlockOperator.html => BlockOperator/index.html} (74%) rename nightly/_modules/cil/optimisation/operators/{ChannelwiseOperator.html => ChannelwiseOperator/index.html} (53%) delete mode 100644 nightly/_modules/cil/optimisation/operators/DiagonalOperator.html create mode 100644 nightly/_modules/cil/optimisation/operators/DiagonalOperator/index.html rename nightly/_modules/cil/optimisation/operators/{FiniteDifferenceOperator.html => FiniteDifferenceOperator/index.html} (80%) rename nightly/_modules/cil/optimisation/operators/{GradientOperator.html => GradientOperator/index.html} (80%) delete mode 100644 nightly/_modules/cil/optimisation/operators/IdentityOperator.html create mode 100644 nightly/_modules/cil/optimisation/operators/IdentityOperator/index.html delete mode 100644 nightly/_modules/cil/optimisation/operators/MaskOperator.html create mode 100644 nightly/_modules/cil/optimisation/operators/MaskOperator/index.html delete mode 100644 nightly/_modules/cil/optimisation/operators/MatrixOperator.html create mode 100644 nightly/_modules/cil/optimisation/operators/MatrixOperator/index.html rename nightly/_modules/cil/optimisation/operators/{Operator.html => Operator/index.html} (76%) rename nightly/_modules/cil/optimisation/operators/{SparseFiniteDifferenceOperator.html => SparseFiniteDifferenceOperator/index.html} (55%) rename nightly/_modules/cil/optimisation/operators/{SymmetrisedGradientOperator.html => SymmetrisedGradientOperator/index.html} (57%) delete mode 100644 nightly/_modules/cil/optimisation/operators/ZeroOperator.html create mode 100644 nightly/_modules/cil/optimisation/operators/ZeroOperator/index.html rename nightly/_modules/cil/optimisation/utilities/{sampler.html => sampler/index.html} (78%) rename nightly/_modules/cil/plugins/{TomoPhantom.html => TomoPhantom/index.html} (63%) delete mode 100644 nightly/_modules/cil/plugins/astra/operators/ProjectionOperator.html delete mode 100644 nightly/_modules/cil/plugins/astra/processors/FBP.html rename nightly/_modules/cil/plugins/ccpi_regularisation/functions/{regularisers.html => regularisers/index.html} (73%) delete mode 100644 nightly/_modules/cil/plugins/tigre/FBP.html delete mode 100644 nightly/_modules/cil/plugins/tigre/ProjectionOperator.html delete mode 100644 nightly/_modules/cil/processors/AbsorptionTransmissionConverter.html create mode 100644 nightly/_modules/cil/processors/AbsorptionTransmissionConverter/index.html rename nightly/_modules/cil/processors/{Binner.html => Binner/index.html} (59%) delete mode 100644 nightly/_modules/cil/processors/CentreOfRotationCorrector.html create mode 100644 nightly/_modules/cil/processors/CentreOfRotationCorrector/index.html rename nightly/_modules/cil/processors/{MaskGenerator.html => MaskGenerator/index.html} (79%) rename nightly/_modules/cil/processors/{Masker.html => Masker/index.html} (70%) rename nightly/_modules/cil/processors/{Normaliser.html => Normaliser/index.html} (56%) rename nightly/_modules/cil/processors/{Padder.html => Padder/index.html} (82%) rename nightly/_modules/cil/processors/{RingRemover.html => RingRemover/index.html} (65%) rename nightly/_modules/cil/processors/{Slicer.html => Slicer/index.html} (79%) delete mode 100644 nightly/_modules/cil/processors/TransmissionAbsorptionConverter.html create mode 100644 nightly/_modules/cil/processors/TransmissionAbsorptionConverter/index.html rename nightly/_modules/cil/recon/{FBP.html => FBP/index.html} (83%) rename nightly/_modules/cil/utilities/{dataexample.html => dataexample/index.html} (80%) rename nightly/_modules/cil/utilities/{display.html => display/index.html} (92%) delete mode 100644 nightly/_modules/cil/utilities/jupyter.html delete mode 100644 nightly/_modules/cil/utilities/quality_measures.html create mode 100644 nightly/_modules/cil/utilities/quality_measures/index.html create mode 100644 nightly/_static/scripts/bootstrap.js create mode 100644 nightly/_static/scripts/bootstrap.js.LICENSE.txt create mode 100644 nightly/_static/scripts/bootstrap.js.map create mode 100644 nightly/_static/scripts/pydata-sphinx-theme.js.map create mode 100644 nightly/_static/styles/bootstrap.css rename nightly/_static/{underscore-1.12.0.js => underscore-1.13.1.js} (94%) delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/LICENSE.txt delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/css/all.min.css delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.eot delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.svg delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.ttf delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2 delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.eot delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.svg delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.ttf delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.woff delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-regular-400.woff2 delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.eot delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.svg delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.ttf delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff delete mode 100644 nightly/_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2 create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/LICENSE.txt create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/css/all.min.css create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.ttf create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2 create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.ttf create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2 create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.ttf create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2 create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.ttf create mode 100644 nightly/_static/vendor/fontawesome/6.1.2/webfonts/fa-v4compatibility.woff2 rename nightly/{developer_guide.html => developer_guide/index.html} (62%) rename nightly/{framework.html => framework/index.html} (63%) delete mode 100644 nightly/genindex.html create mode 100644 nightly/genindex/index.html delete mode 100644 nightly/introduction.html create mode 100644 nightly/introduction/index.html rename nightly/{io.html => io/index.html} (51%) rename nightly/{optimisation.html => optimisation/index.html} (62%) delete mode 100644 nightly/plugins.html create mode 100644 nightly/plugins/index.html rename nightly/{processors.html => processors/index.html} (55%) delete mode 100644 nightly/py-modindex.html create mode 100644 nightly/py-modindex/index.html delete mode 100644 nightly/recon.html create mode 100644 nightly/recon/index.html delete mode 100644 nightly/search.html create mode 100644 nightly/search/index.html delete mode 100644 nightly/utilities.html create mode 100644 nightly/utilities/index.html create mode 100644 versions.json diff --git a/index.html b/index.html index ee32a9c208..90cc3af5bc 100644 --- a/index.html +++ b/index.html @@ -3,10 +3,10 @@ Redirecting… - - - + + +

Redirecting…

- Click here if you are not redirected. + Click here if you are not redirected. diff --git a/nightly/.buildinfo b/nightly/.buildinfo index 46246c5741..980c786bb2 100644 --- a/nightly/.buildinfo +++ b/nightly/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 17c7ce2270d5a12a22ac5195c0f8f926 -tags: 645f666f9bcd5a90fca523b33c5a78b7 +config: 4fef15476c9cbea3e15a3601839769e4 +tags: d77d1c0d9ca2f4c8421862c7c5a0d620 diff --git a/nightly/.doctrees/developer_guide.doctree b/nightly/.doctrees/developer_guide.doctree index 8807d47368bc143f1d5c1391faec81d9c67eca47..b56302c007340bb142467a8c6c7aa1a08e038849 100644 GIT binary patch delta 8311 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 m>4-vikz#}{F2yNOUTH-a{C9_wm0r?l z5jgssCV8xEfUKQ)>HbTNljnENQ^o4Kh`|Ed3htT&1-tUBwQ56BtZv#hhpkeRHL zd4K-BtK+QiDV)g6Hvo_CDQBnDWXj=qc`HQ%()W)TqO)NQ`$8|Oe4%&`j>0h0h*A2L zQ0`D6<)M5tJRBdFXu|1y3SAkfW7)6tg*P9lFfR2E&q}Ll0FLkap%_C;aJ=LVHR}ASkSB5rWNK{&g*Z)<9SI`m6H6 z@JLR2y1%Qdz4IEkyIpASES0WgO4~Y`VZkGd9eFa-hdZ&Z4sYWIp`$b)bTv^AH-6cL z{f|^a+`fm{c%ijH@U08bwyhH$+&9gZ(uqg-KwEHKr_j=bMuQu|{cv*Mmfjo_PWxHZ zY@*xQPHKknK2CgOHGYCfRX_s8~Pdw|~eQ*)TK4pB3R<3+rWnn{E$4V&(eiLRGux7JCYnMH!` z;jld%vWLUVp zyina3NQdhuO#Eg74i-)-pvmfS>ZPBo;KPH(Qo delta 7458 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 m*R+HzDkcYTBvSOn1Tr2QZVqj;C|ph+QWD diff --git a/nightly/.doctrees/environment.pickle b/nightly/.doctrees/environment.pickle index c7f3c5727cf96b1040fcab6fc5e0639a9efab584..9fbf4ba7210047d9c622d5fcb84d015a537cbffa 100644 GIT binary patch literal 3599217 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�Tn=~&Ik%&9Q{f%*dQufn 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�y9mkM609w?lB z^AM~6j4$85ueiyUMXDK*-i%4E4LR!-OY+lXSCSbEW&K;;?iwW0Viqjduy|~?JyWgJ zCTjYroLqX8nbUs=xst4izmbAJlN`*MH;W2R@qbVd0Te K}n8^%~n8J3it?$v;Vb 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

MSeJkUKEhA*`uXqI73Ocbj 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�j*ebfY4h0&+pHuO&%o5zzwGvJ{aNkfNZ* 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%0A9h8%)Jus1HUQP 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

J@hrB6mzQw2PtP1XPvMc@mKSM>zMN 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 DbpFjC literal 3538038 zcmd444V)y$RVS#g(R_dE`@>R8ZA&xKboG2l8jYlp)H6LZ8qX)wBg@#9%h^@gU0G9A zS*nkjX&ZrU&LFYHS>QITfn5%Emop2;!m$er3qQPYaCl+yt&fj|1rD&WjSVa;3kS!- z-HR8Q5%D52BO|h_bgQ4;)14Xde=pv9@!pFUk(nP{_wgIAyZ$=%-)L9A+lV^XDq-hJ z)QdaqurpX4?KnD&TJ__~rH`%d`OxaCtGh=x2Ho!JxzVP2TpRSlupaeRM^DT);&wRO z8+JNjZ}w{3yF7dB)EWFgH0#eUGPK!FwA>i9R%R3ua34RY^Q(Ue2m`^d~S@dguPx=5BtFOXk9-X43Y2f+92%oqqx&weHn&xOFH~( zgGwjp#;q{!tV*H4)nGV?fn$1+4I%7h|Jh zSOdOp1O=>)HrC?qN{`8Xbu@Ee-~L1J$uFVenz1e;v=!LWGs1w1c>cK1+Tc4T747ZF{v^d*c0cxFtmBX|BXb{eHgW6>n zY9FrGgF#T`GN}$4As8C}nRQ1Y9fFOZ)l~b#rKJeOy}1^*S|A-%{%G_0UOnuE_4x?o z1!i**tl_3g50rXtbYrDmUp+S*ZE6Qh7**8&x~NkJMT~ZY*J`a{J!B(>n`lU*ZQYe+ zHh22f{$QmQvKi7Cv|F5E&~yf~AX#kE2P0h!ddyCDk8XJ65ftLKWo^6XV$G`^bHck)L8V0AYXH9kjRMc6D znI2R+jRzZN8xJ)e98I0?gi|1za0=#otrv9}A!g9Ye5in|&qn=P*n&9}#=|~R-V}C+ zi`79i0DS?-F8ni9?o!l3jz*ign7QPF(XEL;sJ6rQBA7T9Fzd>&Wf9|66g7cTYL1cx!E_rnf&0nj4&ERbykv-|d>Co~3o?bO1=#8`vH z5KQCNq(MDg3WlwLxD6AN_1}i$s`dL-L3kVLo?PO#*i;&A?F`%CYpY9f4?GrH=lVXM zKC7cm3;egKw=p*k&4xWNmGvj0 zc4s)cI~8iwX@tFKz!cpF@7GyoqPzJ@&>Dg=V16_n07cyh?ql`bH?B6`2FiaGei`jd z^juZ^-F2&@n{eu|meY;5Ha^ULxxX=mT^bK3zl_#_hJuyV#)ml6M*Oq7)CNDmTfU`n zAHTI3SPxoZ6(Sb1)zNzXcYihD_wVFlsHT1z<;~~N?H}mH@!-|U2hw}5egFc|tE-&C z!Nz0!m%WXB94eXZRcQ?yhl8b=CujQ6GVe6nmUy==xDE&eARUhJc;g9USZ-Iz{0oVPbL18}$-F!x|H2g1(iMi4MK z3rv_$mZsg?JzGKVZ9gJuDCS^$pl@7}b-DC~7`LOmA2BaB1;N%g``P zFC{$oLJ@fq<3h-8%w|gxX7NU&*|>~E8}DwsN7VtOL5ZE-$S-qAvCELvCv%Mp3a<5G z^dR|9s>EPcS79cyEF*CXw;~hmAh}+>8r9iExQ_SYtfMo78OLH=)L{umA}oFz%ogH2 zOA24(vf6=|N)Dn5lHW|ydRSES)SEl8=T(S(;JTRqh1j_X((mZ~und4qiHqgQ#^J;R zVgTpnlqBA%ixpX?YG>S=@lKfUjP7KK8DBR{rD;`?pJC%9Jp>j8Ns3h1g=f4;{>$0f zh$O*R#xSuFcMD!w3a+rFKytCsYP9igqtl4_FY}G#y#01;57V+2q**GzaT|w*1id=! z!WtojxQ0QSk!d{Dcv@`+K@B7ucY;=uYC^O`c5Xow?wy$~qZ;}f+NT*mSNY`6VHQ1}awu zV222IJ8~hfizU!al>s<7-iQyKu>#Yj!?RqL1}O}&*_rlD2F@8`ve0gDIAlnApM)P_ zOjpx*m)zjiz~%&Vys1*S5aZ#XJB08n6Jkt(67F~55FuLTWRsrYXnM@`eh33YB6OA_*14|%wmO$nuJ}+{ zG+`k;mGiyHFklJD5@XgQ?8NCRvT=ovh*QM?3ke%rw)WCMiLj4Vndg9uiPb>5fF%Y# zV@B_83gmnL8aM$ z4)g;-{m7;8oilT17iP|$JyU(*(%Ca{4}MD|iunQn83NmuvXb~u7Hn^L&+b+Dv1c{p z!xNqBQ6Cm9D;SY)c+b08qnFc00*G@XCgO4ktMF?BmccPofc3)qvPT;sY zeUK$9rQCJm#WQE7&dr@YKK0D;vva4;JU=%-fARRj!n3P__-(Q`FZV!ABWS}a@66n} zlP}Jlgsx}KJl~2cac^1awuP_6!_G2`QlkxBreP2a=75d2H%_CCZsM)DL&hsR_!X$? zfnlNdOVY-B_zmVC_-}1kTY@)h4cnb0;Y?QltO=~o>uDZ(7jHj^yRGm_*s3OrMhI+4 zntLm6pnF~9C&5%A?+qOY9!y=g@NRgECBu+|LNsT$8ZR_XVUyc=6UE)92?pNYoN&fd zGoEuNsCsIK?GxdUIEy!uQV0aj8Yr11nMr$?@Q^{lM5a0THs%TV4VK=esrg;|#5( z48et$5!jjjS*?)Av9v&z#Pr6CjdvjSF0gN`3z^otBfX_mtFX`Q>5WY5 z6O|^(@n}Q3=H)uREd}U6Jt`aoQ41LV{!oD7gQ`K*6Ees3j~to#+6NzfU*a9M zVv|mI6@&@e9NjeRz>1T5j$7~^%Q!^z6009Z7on3y8Hs8$rm!lo*E`-S8a)-Ho5?l;mA-3E38HiqTSVW*x{JXkGoqqu`Xh*`2akf|9NxN7wI{&9=#AJVzD)3Z2V~AbhCOuv-5n zNabgeEdbGWheUz4STzv$6r5hzX4M>e{|?y~lhJDGEnXK8cgZGD)`t+)Ygbzke89I! zxhP`mLo@(yRPVzAR)8ox@=}_5bGxL#OSGd6Y{~KhXiLiK9@&Uh7n!cX;Mp1%=73~G zk-TWe>ohM*tlK3Pjv6vYTw0B`;~vIh)R}EW!vPeh#Q+pR30&T1r|6U3kiDiPAxL;w zeY6Tw8+H<4bux%!SZzulUi(>k+#d5%!j8bak`j! z1tOeU^M`^2Uj-yLun>r4zNE*NOro@ePZMNiEq3s-CV3L$1wyp zS>aAOy;HOR2M^0VV2hW)(+2m62I<}c?57Q&ZUKclXq-B=2aIM=gS^7Rb#cpnH>^cq zg?h`k3QU&k1$8Ku;&Pgm0Ks+x*aHNSB!v~pKt^L$I~FY;vcZZ1vuM7PG>0*<^$uFX zE^-IL2qesj;OVU%(_wn+R?_QoxWXJ%dQ&P4f*iP7s0;MbOawc(iSEQOk^-hwXKe`1 zubn0ZqUb3Ju<#5n7DR&!6cO>afL5`joK|=+q}Ta2A`oZW z->~RJh}*ThHQ3MXDEDtm@24}5`^wXMuzTZu$vS%*o1VDFg`A)TnOm}0#mgZ}4Mo8{ zxphanA)cg{$wmWCNaXA;y+OKFA)6Q&=sb98la0|`i5JBqVKwQb)0DWm1pD9s&AlO{aeOP2*&Rb^G#XK| zE>AWVSx_28UDkjXShVZOj$=~OXatQ#Y}cqak_G6;G8U{|&o z4i`sTd9?y01UV>MyFto|)s*B4i~PL+I2zpyYh@OI&NUu@y*+*?C)w77HN=JFU`Kks zrLm#0u>sqKqYYq0e4p;4P+3{uZ4IFS0AXx9jz`$p?vxy5qS z8zMNevT+F0;TSkW#P-wr6<#cb z_IGJm&EN_gS7Ap17#ry^pR^k*O0ny=X}$O<6n00a&klxUT<#C*aJg|O{Qn-eWdiC|uE^-|TSFm08I^=bHR8USBZ2%duy#VH3K(_3# z0jvs{ZNqjCi0}2$ZBWMxE>}YkLB253D>PzSKblIbe^;+wt?&V| z+R-c+$Skz%&%zM_)V^reb4ev^fdJP^4q$ zmH7T8SP0D18`*sN*y=}C;S3Xwg1Lf+DwSFI-%H?Z!3p$dFW>>ISvXuXi*tYW#L)|2 z4y&UJxKvrg5iJAq4HO<@;$7pw7T#%A{DzFbcf8<7SpoiJ2qzf_y%i)-n*f1%IL&s9 z?dd^c&|_5IKx<;c+Qv61XP1IbrOQqL-I82j2`!vlYw@eMX;%-{`StC|b?`GGUU>s8 zlOew}j)6q+?8Uj4PQaGXOSsv9BKqnvA)kvb#~mh{i&+0e>~mwnzI5uuiSaUf{GBf@ zFlHwqh!k59#JGg~uH&Z`kZ%QhVN606X#=-u<^`GMea$%F)ih+5r8I0er9Zm>^P(S~ zV5{J8K3Ymn$DL2^qsA{!kUaVeLTzd6)Wq^<_C#`K3y1ZlIHpl+?8A||I~zc8_8O7i zSO!H*C1@?f35r3Z4YqRX;w2PaW9)-csLZ7V$ET&d0bQ7X;UrR78T){w(WUx1279Y9 zoXdv%i`Zdv?6g%2>0eIi<3PtxOb+x69B3abyfTD5ypO~>6CBxm6fCo&C=(u?6y>|Z zUQCFMe`ZTjUV<`K>m5Na!c`**bNpUdl0z>{jB@;5SW1#eu|9SiQC!J_nBWuji^oo$ zSwJ04l*-)v*|SJxq9QwSYT?q{#AolRWP6F2!uX?#wD5~DJc+Rg73j-2wu;lEQn1EL z9xWIJlQh$l^T@?)~PY+uywsm_Zgz6z*GmWl{ot~WI)`W7BLFg1afWuPTqwq)% zTbWNX2%YQ&^#}@%#Ed8DsLvcY2UQ;)V`0S#!yCUdkVbQ6Kcj|ZUYVe+9D{OZCv07X zT|Xko<+0OLLPHfc4PbMnildvPL7t7Sh4nKBq$tC&4@)c?XZyH|h$WHH_;Xr0y%$#6 ztil5tt7pxDH?U;Kmab#bVN#Eu9Yo9U1Y}ahhcud4%UFh+QmWOu5j%o1gae*Q>3&wu z3vmNVf@nVztT8@S96#7!!jxWGehJD)cxr`JXRu;WLDO=gt5q{ZGhumsJldpxS)`{Jw^a{+cBlHmNFv1naFGfxi3E?@%ymGknL;V;52%SAW_ z1zR$RKb9b0+|Ke=P3tvyMouI_A-w4f;^ThT1YqB#^?mHNDV+W5OJI zER#?a^|kW;SmL&#hq=Xm+`~r-FR>%pxUn90pcW5`htpRRk=4876=b&-g4u0*EMg4A8bo_v=tr~f?YK@ zx_C8M>92ki_KqO~4w%U#O>c#!qnnbQW$be^?#bif1Kd%@-Frs4U+J)ews3+3Td+50 z@E5~u>;+eolT2`$Wkan2?|gv+=5XS?`6|L+f}<{M(V)j(NJP!uvQt=6PxVixz z6qSFlasn%mK>Oin{UCr7;_RW7 z7L4Wg^UCS1DdCbR<9UrZm!DlDm+bUQ0hgQEq5ccWsWoB(3Gq8cP5Xjvge%wJPe!DnKQFd9IVT0h9RjitTz7v8#zX$inpd%cEKM}frEE914qMN zw8}GsP5kK~455t=CE;r?P~f!oc+*NC9u^SO2+@2C{F4=ucQ+r*y|X*#PID&j1`6{& zT%kw<9aN%PNfIQ$wVk>%;j(v2>QiSN12cApN5qTJ3P#|orya$!0iki z%9}~KHFWZJZ(a=*Wj2B1G;~C@c22EQIVWcT=!pXvFnCCP7eCfkRe!Mx0E9g0`H`Z}lFktBUTM zW@o0u-b}*l3?ytb3a^IZKI+Yip}0|5h>0t1>v?!MPw0)#8tooe%#V2w#Z@uerenrS zs+Uzm5kKlp+EBy~mxa(35&Eyy?giRhhTJQbfRJ3w<3Muf@$Rw{dFwoR3nQ7h+C4s& zFL+DT-5%gk0DO@nf3n1|htGMFHtgZ|xESBWoM96Pm_MpcY0=bq zwElhXg9Pb)?^`8R9enesIx(Q?gZc7-vU1x89pQl>{`TT?qnq$?z;h~_KEA?re(ju2 zO2IQsWGodlUGCe;4oRlv4{|yCPqDHt?B)e7NL59n^dcAPyS<0yD%ADUi5iVr^-gb^ z#;kg=EQE|37r8d_mO^D^zTqN&;Z&VYJb9VR{p-93;41fx(@^(iue_?8M*KD2R1L|m zl!eeG?=z7TE@a-or&0+B$;JI;2O_!PzI{zx{JlMUDQkuI9c8bOhmCq#*`C6u{@~Gb z;t`4(bBp~q-tuy_*!!pPm0`f`49Rn5Qf>_o@~^#lG3@wXm4%QN#C2Cf{nCPX)>Q&R za#4`~mbIWep`ydzf`m04d?uPjV=Y(9Z^o_WE8b#uwVJzF6-RP7qi|^0%a^>lFzn?I z%R=ayDxqv?FTAo>0zz_eU)i++<6^kTOUrpV%sA6o>&{{Gdqi>etv8Qnaljs6hFwy8 z(OX_|_5p8Nh9TXD5V;G22^42d2Ua9N0ntL839IYMQ|Ozl1q zbQa-du6wArvb5uB`a$m@x~l0;mUM*5?3sa=4=@%@zxDmzOc<*AzOoP#SJif=Ds_I4 z1%+{!tL6Xj9*(P8cA#3UGw0uX6F1cH@5(|O1O5SmApn=Isesr zaIVU^gDHn|Hv`;R0?(g&^I+)cPs>6~Tt_=z?8A|>T>D;|-{&JwkI+#+7^7O3k?-8PK} z$%Xq!bSclK9QP(|n8VSs5R+E~d7%+aIkwV!ToEnrp|~qzk-c0gUlEZvX+sf9Wg(mu zQF`ljJ02f}n8x4wq?MeEyIdP@c#p?b8#|`i(eD|EVktky#Q0`!;)XuH2_Z_<1xh;} zCS@UH&EDxfF5w^X9;B;;x1ofEfX!t3hrCG}^8JCb5Ypa1$yGG&CFyphKEvcrRbkxa z%J?a-FN-Z@h=#s)9{C5N8Yjue`|` z!vBl15EB>vrgy+AF5{j#4b&T4{BMCT$&KTHs9BlZJbeYZ$d>=z-gFK5-%%D~;_}~x zi4GHgPGrbx!1XcbJt)`daLY8NLrfi(81bw(eM2u#mxa*vQevSY*D5>{C;=h4n9y2f zBQuQi_yu25T2QWYTX@A=kgm3{2~!1l@jQIJE76}^pLD#*8YXbLEX2fxzm*AJJZ(dh z1nnMI!pFUb;;ICmufb7a{^XCTh;Q{KZ7AZSWg&D$l$c0zF7n;F5)hJ$d&-uik_}gU zr18z$aP@pVviUE>M(nS6Yb@K|*no>RVt>h-mSJGOh!Ah$f@{}2yfuSA5s)0i)K<1x z4fs_46Yt?Vigt9%be(a9XaAE^knn|Z{!FcOtY7w~Z;1PgWg+BD`aIWI-ukO_yeBLC~4y3_5+~AvwMBw(OT>J;TMc_Ig-U7!~Ij7oTH2&oTLm9K)oEXa3 zTcC`G;NT5Bbq`+yU|(xXUm&18Ug`e8ynHnP8sB>Mx*hh;{FhgE!*>kGw<^A2^_=># z3-%}b00#S)e(Qo=QNNeL{!Tub!G2XflEMBIU)^AT7$4sFhSiX}UL@TSXk7qRJpxf!=+}_{LAj`ZKL1r@C%GQ+0>{&Y(-0`f5i-IUn zwj8`mSPn4!sW)Lmv|lMJ+OmFcXL=Gb=h#TbeJW|CPAxOIG!w`kq1qs_RQNw}Ip zt`gPC>drTM(>JW+e<%wvalLHE9j&RH7tk4Zxki4-dpNEd*}?a+;7Q~36Ox8He!!c! zp^i_Mh0xVeVy4N-%G1OW5R!{em(8e>WFOyQ_vR)09`CgyD}i4UD}gV1YcAXJ*uaZc z0-yJ$WfC3I>o-9I+djq<1W|8w|Ni8 zRU6SjCic}+ zDrtU+%lZS}jJwKu-E?iam9ZST=1tL%_OL9(RVN((XsSf$5sR z%bTJh?N5}2n7p*vM{qT1<0UTbpYvwiUE1&}{ETO-KIKi(koHfPg_yXs*WovZskoDC zT;5;wX5CfZH%~8R3;grmBn^T8ep!f#3;ZVbS!^nAeu;~F^VUgad+VmV^~SR4Og4B^ zG^D+*EX2g6z3vSAayJ!sa*fM-)|+*A^KJ$8cE)>X_Ii^v1iq&%#N-8zpMBQ^&aZKS zFL<-=F7SS~gdBn+9ixi$jt0l8{p=X4)AnvonO;*^=ed%dX}8hLkFh>2_Dp<{8o z8}m=EPQ^@HHhUwP+nGU0Gi2YB!i5g=6N?C}Bi+%f<11R>Xg;$2~ z7{B&;BjYYt!)@CqmD=u@ZXG~1%=8m}40Y`CCT^%>ds&Eyt7Ge#Fz62wWoSh(?H*Uf zVeg^1&WLT(Eyhcth>W7l6W*i^MI0;(F>ys~I~!dK>r-bA?4LrfK!SsQldIxo@4>jL zV*7NPaWm68kmsY`DF(>8SR-DM#ru8ZxL;sMl> zuLQk_e^r)vF5@oO#;3i9z}J3I%y;7#1H%?k*TJJ<6cT_`)*vtEx(1fA7@ z%lfMKa9w5X_WtC7H+@6guat$5=HKBO%QOG7dfArPcd{o(i%0rRu8;5Z9*nC#wx{m^ zNVzfG@;~&ZZRq0TWg(n(QQ8$H@=nj2WGX}4O{$n`^G z&p9?-442>&;2n5BGnKA-gG=`JyhrCM+0F1Ja>0dR;=kif*O2OOm4%Qd{u^Z>WX$Kf zT~o~GPOk)n12 zfp6P6o}`)$t?0?X2fb+-27Nz53F=rzMUA<#UiTiXtFrE&hVnMN4uWzkPDo_z zy?lc=FNW^EzAS{UyONQG3zg5)5)hJ$rzc}Un=i%f_yWB4Z4hgl(&P>w#!q+))73V% zKmoNKcN0DgSNUV!gbhRZ(XtTEDkvSs)?GSv^5Sut>L%B?+<(WLcUQUJ3@>U~?uF)Y zfZy^aX-NDx5TZmrP&PQ-c;e^rK#*;9r-8kT(05 zTnXb2Jh#B7e46l?u_*3LiN!9-1u|Q3RXn(BLU}D@Uhr9;gfDRt&s5F*-V7M3xwkBY zu9^}-L9Uzl6e|HCxhRM$<(=Bx!ljGav&rlDHEsnLy(Q>6A#a|B6CJ&br<2cnlQi^x z1|j}?acX_<0lCWXrs=5uggJA%-UJN^w#!0Dn{9F>{CDNlzTJCRKB_oms$$ifprMLy zDGQ;iqJ#&MPK-~f5)hIL?!-z!NG^Ewq6CEG;@-01Iw?VY{>?2xZ4#g3qYK66Uy2IU zZ+ja^wo$W@6;+^q)0>uI&%cfkC7g5VD7TY+)^O@<(22TGgJS6rO+Yj5^XT`t-lKJt z>}VJN;CEZ)DUp;sjq=ytVYr%jqJl-vhoOQa z-h>SmJXIFrO;W*y06zPbseit89wL( zlK`J^TI$8^DdwE0@6T_>mGheS09}=H*K`{=gfE>W9K!qh<95#H6F%b2g`uermxY+P zrnV&Exqmt8EK}{!TU;YQ=sgfujciSWGUvpYFW>J?+0erGm4(o?P$CDGX*ACYNX}HbG2<3df|-t>@&@INBT`}5Wnp$Q&)r74wWjxjbReM=}p@(iC;&E68Ui1 z6z$$)?6Z>L)cK{Ui*O(s%Y(<_UJojTu@aSuNNI|U!{x)SyVx{lnsaK#<> z9=PkIdKa)y*VTJM=i4? zxA;K5*?S@#c+UhJM!DHnI(y4XUU@{26arhAICtLgZ$| zxdpS*i;lbIIzek?0PjL+fwurb!p`In_sxk!N0xTngZ#Po;2i}$x_dehJc1t~JR0ug zPrcbNbnq3s4)V{5md$S~a4uwOMioE2mSze5FFw?3`B<%QXRfVXw~Z$|Hm1dBhMhK1 z)fD$;U@S9aES8VlZujQQP~eub5Yh*3M2Ot!R#wxGoR~kIscA53>&I_>I&uv^;VlH$ z`M76#seU;_!(t2;?H=^z%FynEnL8J z31511qrLK|w0fMYxl=^^4|v;0w&AmZ6-E4O-n0yJ9wJ0;#Ltg5r9=MKOCh}6hHVn| z!+}<2)b4Rt@*Uozbd>05+w=fKa8cvfI)J__1#2VPJVEjQqOQSq=> z3u)f$(~;};|MC`st8O0!-6rZ|D#lGW7{yGTk7B09MlsXpqcEo8Z+r7)==V3vLQGu0 zw=RgO8nuJvFk^;hH{m+F@%Hhg(?-l0-NxR&%ALpza+b4AdYv~1hIamLT-qs-kI0mU zyXz7V(nh`o2Qv2L{kBtR8DBMos{deRsvW}H*=t(-%xS}|DTw-u~R!5?_=Oq&+AhFtR3 zyoc{9`Mai(%Q}QPapy3og#D_v;E!BwPN+E{8FTGb_pz>#y_&VS6gQL(@&? zUR;l#@*cjc9v{M4Cn`Z=@^S9Pb#oc<)7~r@O8v>Q5EEDGBN0EA3+jwIuuC35rTq#d zn~C>?C1Z{Q_36k}`+096xTH4 zvO{SREF@lC-QD~g6i82RX?~IYv#a@K_RqTJSJ*%6n_uAnuMFmq6fG;4c0emQxffQWPOUYpBMV6LW#Hu9 z8{t64%j`#${Rr5P8v7BlAIt1V#C}|cA7OvAV<~Ed{pujD_QJ(s)T-lf7|2Hfj1A-s zM3a9pSos&jmwz!r@-IeF{>4bkzZehlFUE}cYdG4v+=>^0Cmdye^`on!oqYIVom|~i zkJ|yvJa(KLv@p89hW~8t!ONMe{gw7&+*)n^35;QM^8)|tW2<{Ugd-fmb5rL=Tl(;! z1vrv1w+Kf=R^{JE!&ZD1{$3Z=LCf&V=6VR!Xd;S_9+>@5Wk%^E+FsK_~7UlUIg|qxFgZ0EQa(pT2H5+E{~^DlCUkkiv1S zPyQ75H`F42P?OzeU7$yD1#M+(`WGm3iCr0vZme~?tabB!;6|E%2C`@d@EeswGlWa$ znoI2GXd{mKeD8c02D%N>D_G17!V56?b|0>6Nw3WHmf`Pa1G`4}6J^nC!tbv)FT>B5 zSDS782lhrj1_DpU*?25vf4x43UIs1R+y{-c!qw4KZ`j$rXKFWF$m3o&+uy}KUdRI* zaedF~=r-eC1v;%ZK6Gxd8sKyU#NEwr0xm{-=W4GEBmV80lW8uw8$V|cVQ7jWEx{ne zt8wo#KtDh(R5ChqG70+eS}z1SRhgh#t*~`qK4o2iW?@Xhr-L8Ffy0$c?|Y*%SvO`SsI*5E(2wy;KzU_fhS-lSGz$cY`NKjFoH*mhb^GV zkPorT;6uQtdy?GiMv`NjG+V)9*qRVcj!kGDX5(b;5oGI2wc<9?6rIq0Vj1Y-y2Vqx z4jL8EgyQ4iO=9>uQ|L+Xk>XLN$b{arj18>rrasb>u!93LNDvMlBGkeCw}O5@%R}Eo zhe)~+#C<}v=2%EC>4x8C!LA56LS=8Q1)k2Cf)-y09~Fcm=#SRo?us)wjb;@M9FPe1 zY-$P4_;0m|Cq*MP9>VwHrZ(lSRnm?Fq(VAO!P8Y;csyYRQXS1&NV^KdBIuQVBj{$> zIq9atYnD#haWH~^gy;Izc&Q4c!w!42BE!cM7?s>UYMZ28B@3HSuha)C;~O1<5qvmG z@O~fRS#`s(2>M|*Cxq0h!L_JRaw6%_;v$usiA(6t2K{Q#>jfDeis0nVMbfI0q7fQ4 zFHX8kBAOQ`t#Z6LtTf^tJg;p|c+y+an6{Z)0!GI1C@i@%62csKtNs}h!F~$$1pWk6 z56gPLk!ZOtVF;yFr@(}AUi2dsk?>mA z8T)>lEddZkZpF*vK?Wd#d@%XcU6no8=S%|E>2k44bW>3g39U!HXjnDNkO=l8^?2aS zzE$=BM3MVLcfnYZ0f-{EBT@9o5vH6)R%8Iukb`UEkw!bXMvxzcLly2!TXo2g2=;EJ z@WM>Wk{`W=&K|8JK|R3yWbrx<35o#uuoXWip6pL!nJIdWL8;b>$HAqB3U3IGq>BD>Fae0 z!k!97p!@ro?7SftzCiv)?(mFL?vP7vzg^uK;KY8P#s+D=pOd-f64!EmtsPHZ2sWX; zH#3rIAkwf4^rlDCz2GiA=4Ao8?t5pleQz%F1y*7B-@TdfC>Oqndo3o-X0KFrcxA0x zz`wCt#c%g|h`$J5&oQ3MT2U6$Q$}>aK5??}iS-_U$H@i}+nFjRD|}BuEEAA~(!Sia zk*+X7M_Yku?b5{-p;F1o$F;t4J{I_CGbi7dQ^C+FC`u}#!Ac@z6tmgud<%&J%QM#c zkE=PghwAey!z|s&&(!y3=DhlVgysu8fu8q1h&9TB4DSv)RYVse`Ms9hPV|u0qwy(P z1aCuqD3VGkc{WiG~aU~qh;3$nWREPu%XzP zU$ds!ua;d)U~{$paCW9Bx=5kio1@T*ksUsinH^?8X6*`~Ve1*;BRLtN#8l>g?&!@d z@S)5sP@;+%lFO-{`8}MS`DH-n%G1d9a3`xy3p!2)mTSjF8Q$YA8D7SiG=C*p6lHY} zWoC7vyEMXFJ?NR-Lz$VJ52BvEJ)E7rWkBX?*2vf%%FNg@Aalp9R}S`MXK4~rnJBq@ z8kyO{*_9uODke%krk;%*&dQc-X033p?SKnDiuVj2$<2!dh_p7XW+Pf;=0dx3av{-6 z;^ulNGyi!cC;ySCidgb-jhtsscFvOto2yeJ&zZI7ITBsii?+`vTIA<84`t>yqN9{@ z?wrx{ndx`ni}VT-nmcLylYK~(-kYBR$R3hMEu)c5viDW?R;Q^Ya7{so54npcOZX~rFL?=lQ2}O9=BDd}siOcnOTP)rk;1~&dxisK=W6#`D^&ca*s&7fpLNNQU4X*R6@B%$$Gf4B&5>a2N6 zaSu(#G6A5oXg$0;|!AIuoJAVF|7MIey+`RgS7yex~2w zA6)A$dKzCb9RwxgIRf7t33@A4cFYkU+{ri!XB(TgFJm^X7z7CYXNGGcukEL1kk|1E z^?li^FB3*8v)C&eRoMqwNIB2W%URB4XjOaBh471~U@!FITG)p-Xj{;<6*xl^-3a1= zS|hB%GpL>JFvGEueo_XS=OL{s3Lv3`ClmeXXtJhs*dhht2$lWpay%UP3`d(cCK--L z=*7lO1`5HN#`=pi+%RYydNihv>Ls?weCwVgtVpJzR| zCe72U=q?AKtw}`-T#{z!6ZgY%^eH+^_+0sDRv9LboZ@4y@T4Dm%vC;Y_rSU1?|gBA z+1tf1Fx^8G!?E+*S^g5m6|E@||8Az0p*TTlww8=zB5yW8y$<-g zN;Ml09KtucggOkr+K1N(i}c5YkTlRGm<^DIL?TqsCE&eyX$d6dG8A+PHZmNF&^Z9l zHrA_9g^YXAGDKBzeA&d2<3U$yHh?uI#Uhj*Vs~AJfngvAoghBiih&*zk_#*@eKKGL z2*H+C{!$N~9nr&9ww3dy1jl0K39wjD8dlC5WLf#cR~b`Tqt-!jA*qf!0Yw19=>zAY z%W-GkZC=x+1c%HVl||Y|T9cT8v;n~(6!tKG)r%t+a4asc@n?Vo1i>{dl=hJv3k#(U z(EbVH0W_|z_!_pzQ%#N}x|m%Wx{gICJ@BsMrxqN&veuN~nD(l*mVBo6sx`>6*L`>( z7v9h|2(;;{b(ZL<&(s=JC=%ga*Pqr^VyF7k8kqVcHmI1J)=?s-wyZTEID}`s<0BUv zg%pQSc;M2h6DJl1LG5yJyw;i$99_CvTPcH7x>^HMx(CyEA$H>w5o^6AJTA9k{%8$E z@DX5y`@<yQ7Rj|CIF3;TBeZ65jPM3TmY1lZHkS?- zwDLxl0udVbGOQ%X(B~O3B<@TSKiP`(eh|ZsCi4VM#6esdBuw#p73@Zk?!P$q(g}FM zNzyrkm0J^5NJE10HiT8UAx)(=?#@EW;OUVU=1)9c6)&dLRzENzaSKvpJS?DItI*zr z)91VJd6_|${}hl~cjN67sS)ROs8AAw{0SCtnd4?Dd+KBqx#eLROgxrIGOq)AL!A&| z(im=~25-FK1j8nKg^*lg?VD>YLq0xev^5)w;rnCo zNiwW?Rf4opAIu5EWzOx2fFt9>H%iC_SYc;5A#h)~uzgk{aA?>C^@_~35W|}$$0y@_ z2Hr6^Y}Kp%K`d6A9)z)4SJ)n&b{0ek^|Mg?WzVwnLM1X$t>KbFIo4eWFXeEQO`*c} ztmK?amGJkty2n$9EBU~)dxh=I-5z`zgw{j~Q6yD-8l%3xZU5G3Bc*ac&+4P9~@vR*29*jY?75ByZz=IWhD@S2_6p0{1I5@_RZ|oLpcLC6C%k`ff1XV<^rlfVxQd zt+~s|`K&x*pIaW`LnR|~cuMyXMaHSpv(5<^m5xoc^LWr}M@@KjBfRe3hp2V_15pK* z(8Du=B0Ts|wB~|9Q8;|l=ZIUvFZd9)=4C2jflfyJ7^Ci%hp1Y$&iI6CM&|K+b|&C6 z-p6fW4Jc<*AY*<)#v2F9ihnH{wZtX#_PN9{kgh@r%Uk)breavpVdB*NhE-&{1e%QO z1i9sz)vNaObb(fFbO=Y7X*&#Gc-h_5~XR4Nvx?o>K{_n=ttP<$&j!D zO|-agsTGKq4cQbUb!g4kkQl=xRPgO(&iMruDpoFSoLO=Vxw;l!#!s-;l?9H~%wovM z@kt1`JcAA!pM)qJc1EsoG&>XU8}}hwT*7f@Qz2u2QsxCt)Rmx7JbH;uXu_6jaTx_A ztxzkrXd~}y>5VW)C&~dwEE0lKexW|#L zP@2|k1;?vrLu8zOF`bgO`adKs!m8nUOT=_a+#1s<@ob;q5z{GUYg7}I#~0Hnb!$vV z>f?>+NL_Kk#iL(KOxLMdV>*u3uq?lrt`jV_X%bAyTv}61M@EDPwZ?QDH(^7|9|%`Y zF`ZH`miiiEx-M~ROvj;S&tI3APKRZU=}1YhFZitGC@t$+4r%4Bve3bx=W8_9Igf-DXfoo1a3k`jXRXPm^cXCmb)Z@eU-2DUv5j(6Lg|TWbqU@8 z6nM|RV#|@pgd&V>Ih@4U7%HLk45I|!hJtU*Ee_$kQl9>$*hY1HLYOeh`}6vJ!2gDlR@2soh&a_xoPiOe^SOQ=C)hZ@tQBD;VlG(ndv;f0Uo zct!{pU8cx{BFu}vf9~QkFA$c{f+(1}>P8%2_8p^36r}is`jge_)iAgWAJeQ>VcB9i zQi} zYbamo61SGGaH!d{$)$Wnhh;5aA*HpHuPCiz|2U@d6(wseU*Qlf<*U6X5R5)Wma`au z5P&aI$hloXC^9>qV%t-q##B^I;;e}IU>z5>wUn?PPfJanM6H&|iKfV8qz8F<#FLse z{&H#=#U%*g&czl@rq%;o>F@+N86l*dPURMjqBWft6pexlBxEiH7mb*MJTpozkm9sFT0$T~$yN`Z_P%88HXSnl!z{ql7l~R|cj^O64ib>)gz7zG9-gEff}u`< z(0`hitURe(-$B4tO7RKpM=#93aB@5+x)>6{#y8I_2kmxHEqwF{*$~RKdRx{Mi(v^g zq4_kkDt==LUj5N55+lg+s}H7 zN1nJLNq~&p`&1nryLGP?$8Pn4?$7)nStWp47nevlJAV3Y)Y8FPx6zQMNcfGlK#3aa&wkGt=md)` zj3mKiCa-Cu78wzt*t$`R<0fpZd83w6FP6HIiMwo@QXGWQ*gHB}d$QW^VrMS?46tx^0S3#8w^G7n}!Sme%zJw#|Bi&~f9^pH@~Lqer`< zV6IWMMsq$wodS`oU#&|cZnYOqJU_mbsC8-Nt+g(Ve0GHMsC8+ytus{89$&3Xqi?Ns zarzE%)uYzM=_`TNK>|6E)v4BH(6iQC_=t_z>R0PBNIKXz32S6#t*O?(Yj1%^f%`J+AxIpEPRL`V*&?SAX)X z|7e7*H49GI7TXsvQ5egSD1;(2#WA*X9>kom#&&GGhS=^;YaFp%qiT)qe1z86?mh!K zVa2&yXCNn?Jp=vn32neuf6J+kHJ{MPTk{ExeD>%)@(GQ$HJVD= z!Rad|=OBT#6m}`mc8Z~Qd=hVg&+cm=0*v<)CVteI0emK+k7$ezM<{#ILd+h51=DQ-r zU4ca`_et;^t*8?Q*{|R+d&{>%nKCt7vzMK6ctZ7YIGP*EZ|!CeM=&f&nswp~k{p}R zJE(qX+?kr0#bi)3zCVt8W~JzvUN(as+kG%-9)Sl7xIl&hJ|n5`?6 z29fWPUeJMay!z+-oF(lG@$@;tY(Ckf~S2d8Ii?t9#9}j+%^wrpUio1*dfkP z7)jdPoyr}z5pSIRPabib|Dk(w)VV}t!1D{!P{I; zM#n6xn{)HN8EBFX^Xn^8{}~-K?T?)eZMkHR8Gw=#o9oNym}3!7%tyg;3?IhzH3zev zA_bvi5?eUpWD7ck9JkHO>b(Jn7^Wl-^SKwiUI~Axrm%-F$(9BFWk; zU+Ivk>!)2KfC3~bTXQd|t~`%_stzB8iv}ycYPETM9h2zR&ExA3a=bQ=ulLH*vZKe> zp(Fz~kFWR2)VH6<*C8b%Hjl6Ovd!uP?+Sadul~(bt#VqcctrPyo#wULU5?f^!_*#G zI)BP-W~(rguvyj49%-ho=e+!QHUqYJqV}-q__4DAyn^qVua<4K6^cmo?6#Vu08-#K zk4F1s>DqBMNr5DB+iH^b$<+6OvqAr|uas?bNyQ^Fe&S>=s7K(ueW}?zw~k3Dx_NFL zLWE-0lSj{ka+642?<^ZR;pXY{ASFZQx5}i~&+DCOGxH1Zg@%5Z*T;6CR8WLn zDf4>`;%>!Gf#~bBlfLYLQb^BR)|_^XEZxm5th8a((u0L(U7rQ6VzR|b3p|n03vM#9 zFzdATvapjSol|a>Z9$cKGxx_8W6B>_rhQjV3_CSeLbR!9DQT0vzbftuETWG?%Soim ztc{qR?t5<{UeHar`iowj-&DIr#0HJ)~jH}9F2>T}5MT~LGcU~{ z2o%T&pGs%22VLQzZMLE?n(ZZyC`MF+gxWW)Nvm;MI_XoES%e< zuR6W0vyJr9X83Vmn`cSeiyLrdxk%?Iu~pv)XW_;c;f!wf z2=~OXxC19JI|JWIYs-UmOd^NpQomN<&~*^03|qBE@0D#4Cu`c8tTZpS+|S@er%L6L zT1{zQyyTKnBRo7+lxgTgQr)R}f<%T{y`Sbyk19d8^zd!#af7}>kVxQEDi;~$N;70u zi!A~%=@P#1tby+wHTOp)18f64#UqrSD6#>yr>cM3T3qd;>Hb+o6$PSJQKUOC_u{fg znHxWk>GQG_8@5=kGH&x;T+|JeHx2gCz(wb7I-3)<3-kQ0aB-fO)3@$ zZGODn(Fa%%rJ`)hI150wmpJP_b1m4Cxucf4g9RXWZeR4A+ZGy<$&+Q7)Rq>+;>1$D zVD>w4SXRfWCm@_%O0PQm2PYm+m6W2%4dM2{sZKqr1%tSEG`{BQGHg*x#Uqs7j;~xD zcDuc>->-&Og4PgU0$-p&6;IlfO=D^g{w?e_R=>M_fT#Wp)N_Oo-vXVb|2W^j+Br8w2|rIRwBvZtP`kKBIoqn;L?u+`QrQ$_AtsE}gRLTI_REfY&lKf| zCXhMdw{2vU?W5!nHqJ4y==FCvnhh`|MYAPPHCevRYUFyZ{ zY8uruZDlx!TJTcruwPjS+Ff?~K!3Np={Ai%6+(xY$8-Jgl_7iUX3pDX3@n4bnc*9K z;OJFKgb;rg#`$c_NXE#`%--lzQOOVn z&cKtM@BxbI)o9SD_QGx}sD*7%L`g}Qj??5NhazF?ywV6hfHelrOkZZ@Oe0E|n@Q(@ z<>Pn)9Nts*pi$@*chl)a@DH#LAvr2Qq-|zh$skfOKCpxzI`89*&OUEvU`TgtKAT`P zuCPzHCGcc~YoG2nM)iFJa?O+Yrl@}4aRNE!xxolLK?scB${CGAgvMB$JA-|az>dRl zG1S8Z^}AoQOZ zu8BOJNwbpI@d@>PwYcjk|NJTy0zJQpF}znYDmFoyZswSEm+D$Tm5yL2W{|8D-iggoTON zCdW0#R>D$>GX}^fGi@`PplwQQGRA||YA0OwHO=Cvp1=}XF#E2C!R21KRIS2Fry#YT z3I^~N@WtUEgoOasn+j&1z$Qcw;-cY%=UcqY1y))t?DJJf3P@-@1B!)L@k?ovPif{L z$jECuj!j0v79>cAP%k`!Ofb}Ps_h6e>7*6jVZ2ZUSEl3S#>?rD@%kP=CnJ$kw{6jr zF7}O&XB;w+l&HiS+D|^FkH}*rr9-Gc>F|wP zoMh)y!xeQubE_$jvhju6*jej0g03jc`6=Jb74n3j(<9v2qf-u~^poy>AdP~A`k_l{vCC=jkZ+{t#LPS~ zhu6v_Lh%^vw?e7Ex*W#fQhK63<3wLLA@i749(9cz;pHgovo42gWW{{hMII}Z8sX%* zDsTZ`-3;3~3x*s_X$a$Zl=QKw(2)w&VviZ2i0RqjzAE1MOuq=F?PIw+^c6;6i;;>k-V z%M!-m=tdZb5UO+OLN1+=&M?vl@cgWEzw9&)_@E0pXS_A=k+G!9J?C74A3W#m+|Rza z1NqS9gfs3MgS;_=8U!O8}&sF*H)>DR+&es}Y?J^WxVeQ}EJe*VOmra zqC_eOSr&Dw9W00J3=QKa>P)rc`mhz^VVRV|rMMkmXuzxR<2K|*xW$=q3yfw+%Matwm~2wPxhszr2_ z(D!HZimxU_2!cF&p%*tp{GR3cv=%~7K9W&`DDdzLxmYnV2n~yT;gR-UpvxC88uHDT zfoPv2193k`1{TeUt`eGPPTbGaoV$DxN|!Ik&y#Q1{5)AzOf9scnsLeuR<$*F2PV{3 zg`mZi3hzPGl_6-oy_5zwHvN8%pm!&%i20%Slelj|Bi8S;S~wdE;WtZtdPfP&)u-Rj zQ{U9lsAHbnvr3fr@Zc~ZAtJ8MA-|u;p+%-TurAXCI7_Bh8_;oe8%S`4&myvzx&S-& zem2T`5EMB3!askKVM+-B{TYV)G>hWRSYXEQs1W$QVSQQD&7`&~InZ}!Lo*Npd$0wE zK!Y9}sA+fI8OK-38BA0ZEJ9=!Hl17G(cKB?c9BRX!6D%L`^ndmYwqy6c_i=xi4fR( zwHJ8ECP(rNguq(uInk<^fO!n3F_<9Ry^jv9&+SAOGIb!>51$SCmrsV^fY=+8^%O<; zFmUVlY8FU363iq0ZdijSajNW%$f4L7Q0$BJH6BR8N7wRNS133k{3LtzZ@&?@#9`Y! z6oV$74a{p@5x9ihA$TbrJaQxt66f_dsPPO^NVh`dQAuG5v4ia}=w!?Y($yfOPi)e< z!XOEe$J=n2s{|Q*fnwh1feZsBgbqk^EF6=VGk;Rkj7b^xDu_aW_gc&+16Ox?oK@3c65YBpoaIG;;S3Ww7_qOF zcVqV1KzIBsg9m&Ci-^VUS`(ED1Jqq>B9$D=vjzkmS`P>bbhfP>JO)qL^}_Q@7vZth zK@@k6#l0THW4i;#6A{Yv$ps-2I(e17R^fmE=J77-yXjBPH&r0okaU+ZhU)$ishNMI|z&&`na+i@MUp;~W+zobOAln+> z%3jbKz*z*l_q$7TRk9Zu&GE250C^8WJm!F~^=jDb#p0n1g;j}RSeq_Z*|d^NfiN;F z#hsy82`ATmylf$5FWcm;tmGork%S&-6%yIXIgB5DY)Ab*Oy9XhSfY2i!+;OZ_rSl} zGCq9bNs)E|6p@~CL?B~m1xQk)yv`>@TF^01&c}ps*20YLFp8KFM2Tb$OD(7X$JpCY zd^J)4Md;c!Qh=1Nk%Eq;G*W;mnb9>;&{0k|BAK^cj5^B~!*&b`u+0ZODN?!-ynR;B zq4bgi(H8_tqdW=D3iHaaX{Em;qWdSMkuI6A`G=(Jcc)puhJ+*Tz`AfN^XvGBQBR#= zEcUzb=7(zHMnKRhx1x(=5Fd0G*O4c^Hxcx`y`e}+L^lbylW@nG(*9*i^oD49m4T+my3#`_vBB|C2NN7f>krSTstyP6ntu=*1%OY6C)~aHv7DX^qOEW*!&W4;zt%voqh4l+@<65)nn(+9j_ieK6kb{KX++Pvt{`f zf;#MqhS%`@9$?$JP{_Pl$wMYXIthlD%Eu38s@4kneK}WfC)y8!%>u&BoaFh!+{L*w zXO5romWUG{COYBcw1-qoC|xp7G5=L08572k&RT87c)!Z{ln>DRi3E==eD%3wFI+r- z>EiiwRdZ~P){VJjj^wQPgqO3$+O&e{`oza2%5Y_9bmkJQd)YAuM|of}mQ6WDA|pT0 ziUU!1xA&718B4nM#ubK3D9yn!VD`?bP7E~%yF*DiHOd2c_P>CzN`^4-LcbPWhNM<) zP?8Ue2T6IaWKc`k8Qs(kqTcH0A%14%X$)U-RIrf%x%UdZ9W3Y%A#lUd72XgJ*;?8) zK6Gxdnw%rv*XBZ|Cu8zEL!i)1M`xn~h(wa!A#nN1{PcL2U=l} zWE>B}-qY0s^Z64jg5^xG0usV9xP-3r8x`K4VD9Y)SF((p^pFz@>)(066^2F7k>mYq z@ z3;zO!@PDvasiLDChDD&FwKE>@9cqz*YJST>sar29TVo)hDfFHGm?ef z{B)jJFS1GpuFyue^}CIzbFIQ3lId4Kl#RHvI@)}Gk)3%v4*N7Ks~=l!GIp9H_FTrz z+$>kWarHy1BeYEUB>r6Om0{F}7iGqslgZOPtIc1Xg05^J%{N&8b(jnD?g!Zvvv#l4 z;A6N@OurEH;Mwx9bzoiv{FuRzKjJ}x_-zIvMp`Exp#&OI{yworG|Jm|8EAOYz|I?6 zrFMf(*iz;8-3F5ON`(wX;(8aJmTEy9R&@HkWuaQZV%Q>3|IC2W-dUE%RSk}|!Uzf2 zCk-$MVL|d+MVFwC@COVeeDcjMb}-f$KH?p!KtE&vIan)W=@i>F%$iU?VjyCTLb8_I z^Ix)_>QuxEZcaz6z!-A*af7(#4G8f{tp(FV6~|8+{W1N^;{jj0q!`{$8{M^c&QbDN z3i*@)p@|QlKg|;S&#|7W_%zz2BZ`kb*{6>F7Yy1~h%EL$Z9r)3lNT$h#D7_5Uz0rP zSb^`+6V^Xt(A5-AyW5X`mY&qR(9%x zl`gTv|7i5LN~0gWpLG9EMt99?(b2H^EXGlVm*|nP{H_6}Sp@}ytO4uxs&s$ffY7Ek zg~)VypEoctMa%EcEA1glVCD}e;4FB{#pFl-K@4y6H*XV~Yv4k|N$VxUIVRW~W=PwIXJl$Uz{qeL-o;Jd3U3Kt(qxb(*(t&u1_RnVEOnGDhjzCC zqB$cS#F)QtF%WP$mn#Q2@eZ$eR0KI?0BAETX`_F^5R4%8kbzLZf#wDF82t-G zpnK%K1^_-koG(KRbooAc*1*$}09~Z^zgK!wG$%c80N{pOzJ(Meb|($M0w2^3dhiAf$PZP`yxl<2@*&;O zGP0So21ddBHDdS$Zv^&U8g(2C210>?^+fd@20;EgmPLa~UNHY^1E|1MwTSv2qd)Eg zOGCkxn;wv=td|;)G@_zYb|_jjh-&o!*+1yQd%>%tO)2p`OV7#h`&_L3HvVxS6 zpEr!|T2PkVjX-wU=!=E;49OWGtYdW57K@Us7Q9|Ddgd~0gsp+mHa)ANA;}g`RIUx@z@Isi&f#^Kk=8TWUzCj6m@Zjo!I)#Rw7K>CsmY4*%Hbn=5ub zEPRjARVz8j0p|sTe`-MFnu`_+{%4~no{EwV?H%}7h#m|6IqPPL1+rHqYen(D7*z4Z zSr%2ZZ27}RXHCTlaeW=}qefp%O-f(Q3;&qWHJ@k04gZAEIiIfPhkwfGnm=6K5&w+Q zSDTi~a0@)~&l*sgPuHQ+QlU{|`*{ON%cC?Tqwf8S20*?rHD~@y9$htW{wqe;d_Cyy z{683d^EuZ1`L7yX^U3NC{WpC2Y99T!jJ|m0BXf!tx%A&Lu(X6t(RhYW|2?C7{>(F+ z`saK)>t6i}M(2Ft>u&vzjK12kM;UaUU;kqRBj0W`$NryW z4FKOf7_d(wsW_i1fdenU#*ZDTI6r6LXshdtA;EVF*awG{QT>8}qE+}ZQ25t`6p&9F zAX^q|SS^zR#8b;a~4jIQcaLM60M|$YoLg-jAxS z|7ZYeMZ63^;{!Viga66EE1suHPK1*BT?0d_1~4aao;^sCj0BI8+<%wmAhe8=b-Iu~ zcc*rIQ17T&J?ThZyv4_j)ZfNHh;PxxO;K2G!_T!V7`qJ&&CE=U$0fuQAa5`oFzl-*MXfL2kW z0EPmO82xW&$C;wIa_;y$UtD17yBG%2ZrRDL<}ubu6&pr$vkyvbm~P}@*AoUk6j?@J zHs18{qeRn)aLPbHYso>V!vLy%ct>FB@DbyTfq`ag!-$ub!0=Q?&Kn>&3o}6A^jDp| zk~r=~@ZR4b-6Td>wv-YYQFnJ)&D~4D44ui<8 zN$9*d_tFV?Bb7<#AL(@PX?CDPdYGjCCxaB$bD^U=DE`9yiN~wrPgO7fM5mhSShTLt z&hYw0cvny69Q{6n6MS2~g%k9zY^t-oEoeeNr#}d3{ia0X!k2~>8}X}E(Cs*VW^gb#lk`e>QNEt#|&;9p@vL&~+ zTroLt)rg0!dbK}@(19fXt7+WC9u4HuClJ2HZ1l1BaRn1nMinBHNS2my9gK+oM#&`9%X7&s7)8lyM3V z=E9E{UYN?)7Rc-`8Ho6Fr3Ye+k55GKxRL_+pKJaD4$ z_^Sq-qy6YI{0#%h{9aL}{bY{vw+u8#9g}&ZD&uzyM6AaZ>zKWVLlM~T893%gP%_5} zZ);hM;X`R;Ws2taIRg^Y=RDR;*;?F7|a5((nN?qGUyj!n2z(0 z4GgRLfe)LJ|7QcuYL$Q%^x9D~uJ+(n=&H8vKXvW5l~D$~UO+Q73K zWP)c}&)*t2_~yEN>wyR4id^j98<<7BWqX(F?*`)}g)>}jSa{Rj%1s7Bkpgo)zik273+ z`q9(f^pVM+An1BwyNV7fp5W~Yy56g?5=%6FjHkFg)qFOe@S2FsB#P!K@luB#2HgBN3?=94AOlFUXKOd%=L9cBaqn z1t$rT(=jmmO#ashMrUDaj!QMB1_5(=K}L`U=J1012zKYrnqF|4U^u-XqtB{iPbEN3 zFUWulFZeV9;Y@89L`-V)bOPmcs0=FJp+1wKIUVYjJ$u)yI`ABPU3I8VeZseyLv1wu z+K95~i}}Cj5mKDPGzKQFaa3vgM}p(@qmn4SjBrZ^6zYv<2#VAE87=5Nse5`UL2~+a zhU6+ryqw@UH8SLO5znG;)<;HEhQEqHIfr`!s${_2PGCCAZ3GUU(TRB-LFvr#k&!W2 z!I^LBNN*%aN$7zS@-^nXg`jkn8@u9Ip3$V^-AV8gQDyY)?F1!>t-(P*6FN2TBsgr5 zS6qS^iXN7&!BHixQFfS)4)`7dn1nElm^#kC5S%1zDjUN4U^Wzk*&oh?QZZ=xcY>0{ z$}0Yp&X|u8m?R9w*s9}vg5V^vGuU3=f>i*Tg?ySIbq*qM{VPZE_v>JvC16RqSNCg% z{(PR`Byo>Wji&DLO9Uzjr!YFgsUaGtzCw_ar~q8SsKb1Xz$9@=!d@q;)oXOT{~~xv zcs1qcuYoJbbf|A5)KcmC_(5Bp)ggAkaUUVgIpARaNrG9E!S549=P-dGb{;1Dkf3(f z5&JOVCj`lvIWzjqVZzS{MrRRdnZ24F{DOcvhY5@z4a_l2cz|Gc?yNaX_zl5u4igxC zR?YZ50dfu#7?3ec_!EKXY)LW0gn1``C25lt&S3(hCVrT3AVFixP2=MHCWKR!U=hBr zjuV{3u-D@U3QGwwPKj|e+eqPH0_60k9Ec|QhY}d)G=reWnoA!+u$=KrVwuVGQ3NMJ z*Jw6aI4(+?*w&Wuw~1WsK>6+PsfOaPP7W#mJr5tu|uNmJ@G z36L{ni4Hn)>az%9BGPD5y^;VWVwIUyugVBxaQy6SFlJtT9)U?@aU`+6fZ!zJGR>?X zO@I>FoGrC}41r4EcVlzwiwRny9@6Cc5(1RSVOq26O9@sYZrRf7tpqBOCXoDk2f<0? zqT&1I_!{{dfD#}iKT!?)RRVmv=NnIF+sc|4mC;_R0JH3o}% z1C_9w37oU;DB<+UhvyR%r+PCKyZ?J3LF!Bo9pSu~pg6UO(ZhE>%06yV00FN78_M}@ooaAZeSK%8-dQ)tz-`w5cMm2xD*5B{8BIJ0|>5tH5jAHi}atsE=f z6aJdOIX&SXbn~hz{0`qw>4av16f|3YA#o=}CcuYjDt9D1kCq&U@x z16tK+AwhB)AV-SzsY?i&)2A9}Rss(qkWP;kK~kT32!V3?R1VeIryfpV6HsXPsShJi zP9MW5G=1tZ1SEk-H7}?d((we%=~FpL8k)nWo=CtG^w;#M9szNBLQbLK2~Q;$PEW`& zVm#p)1k33OIaa(UTtVRI-lu8}x1Lt(joi-glPba?L{NPp?HdKaO>A%*o1YhluCN7> z!-N<*YP4V#OK?@1wjXN^0ivGO0;F7I!RR@cz);(>z+j=vggT!;Z@HbA&U6ebvrQ(#zUFC>6;aBQKFUqxp{Tu%_`^g@KVjj6*(WDmnQ+MMNE7b$Rr|h&0J?;{hn-+z6Y}E_M-?)4Yf*P~m>hKgPasseBy7N0B>W_T zM{6LlBLcm-KZ4hU5oTCKMMc#($WUb2YeY8o!M=(_qE@if0S;R3x=%Ys|MC`L+ zT4Zt!0d-l34b;lZ3W25BZ$#_HQhvM&C!N_Cd9BGvm#LXR7A`gkWiGuTfEE@`5kz*Q zyEYXU-`8Bco4JkvI~9`O2ss58Y}@#Fy~#(XLQ*UXD{mz9ITg}^Y2oHG2q>*>M%>(B z0gY$qvj{fLWh3l8tw|drpKCJGm8vNi76!HnJuU&OSQf^;fPgujf7Cg9cz+Rrb6N0~ zA{?f(c^0!o8XR(|NQ=;jZ-SRT~5E zFd6955*5V4yw?+o=*ZJfku7I?6G3x%0FAVGru`EEbtOaF^UZo`zm08onQU{}gAQY1 z+&>elT*;6DXVJNL5j>Y_Y=;YZY<+yM*+-X=Zm#ExC9qQ)(ECjwmyw!47IytB>7L6- z37~~x|3(m9MoJLl_3fhs*hT6lTr%lzERBu%b-z-u#@hcdndzc54$#8XPZCP$=`E4* z#sXWI`~L_s-JKpG?}44@4L=TF9oXDsa^fPgBq%AYg&$uaRJ+{Ip6N;0Jzt0XsAy`3 zO7guX$*%mvfoY-ltAt)!s8iSxPp|aFx6Ye)z&!k)ayr-7Nh`D(HP)&W@Yc9SZd3S4 zWx+R17SM_f1;~wu?nOoVZ$e8VC^-FYe`!)4eay!4-z8AAaBZQAEhX8H$LIyEapR=J z{~?f6e=LxKIy>l(2q=xP7SIAXX7DI*^0QVM_$fi7l~W7aHdP4!OE75K8(~12xyhmv zzeEsqKue2(R*alR%C871G+@QRK*3t=)Ncuri_J=>ta|zff=1(?ovs+U{h0vLH7zlK zc;I7Xq@z3+y_%aH zBw%!~;si6C?IQ>ttrEKMVx*lTu<7_{v!K-k^D!jlbdf4#W7qj}2)au@_rgR`11Fv~ zS-jgL5lYohm%Is*?%>uEvRv|^U@`JpM_^sNq_A#YUPRDc(x>P)>2K%~Q&6m0<|cya z@+6c_R{+^Uuw5~310?Lte5Gkqr)`L&s*@`_Hi4`;(N02}D|8S@SGRW)=v36&q;xrf zq;=WI?g_P;`@Di+xso@66=O|LB&c-s=b%t@+U}U1Ou%V5DFVkzoK1=Hh@vWyD{)gn zbazxF#L$Y0otRt<@5TwD%fV@sx%4m~u(U=PL#WOBOlF4@(p4Q#jlj9mR;|+l&aNyC z0_+-8?uHY)E2D6+n79(04afH(hN>#A@D)K=JM?s0vxu+34 zS9L(ebBq|CPCyg#O-NK#kY^GwmsKbf3NX8RJcq!#I=(YpY@*B!+g!`@5LDF{7pV?R z-P8OdA=QdmUP@ZY$|RvTsuI4Opl`|8 z2Z3(a%2$zgTux$3rC2K9db^9OTG{A!L{Zhy#R?UKA1u~J=1ehYzfMP-dTxNdl)If3`+XglccB#5p&Nke4I`|PN1C#bG0 zL_^i$!8-{~;{L{%>w5^I%ZX`}xw4RdA+WAEufYnnv75{X2{2s>8u_oSt#Wx3?j76a zmqyF_A;TX=Ak}JIqh13?ci8_=y*jDOr_!y5oF+ z068VA0mZn@-w;Tb+thg|`fAsi-xFk4BJ_B_G(OSvi&_h+?)(YiRNZmO+KOh?p?TyQ z?)8q$)sE}Zr2`4R%lp~!HJ7u90J*eEAi7dm9nmqw zd^mwk%s(MrRclTraITD4qf)@xmE|-7>{6EPrTyrYNLF(uqNvK^;-L!S%x%shw7Gbw z!HQ0+JX}fOTso-1X*#%y;J9>9!->(svk7A2j@ojb^9YuS(<5h^4BGYuH1ftX}3Zgg)nL5JI1xU|dYlToJ%RVvMveA-Jw-4;!w-?_5g2 zQ}R`4fGVr41eC5?j0QaxiUp`$t#%Oj&OT^0@j;g%imFhZt($}BQr}C6>1^F0PK>-C zPY^qMM}g>&^pym*v(pG+ZBFB=>~KQ5s>)nV;5z%DkU9ZpSC#?+cFB2fwV5wJE?+N^ z(&QN8sOsWMMRgds-kq z%#GEnlOw`&s_c9NfuoU@!ZrMBTe$5=UnhJU!J@@V3sy5fK91{eRkB`5plE=lP!m4f z3R8j0>!YE7~H5rNqONd~1_{bF8A`iD$)XMpSKM9>y$$Sj~ri$(ahI2ULuwP5C z>20b6TP5y=2%tJ18tlmXSvsPCmRl&NUY<0FB{HetE}VvARA7xv`@$RF~MQprURer&3elxSoagGBr>bls>TI7 zKhK0yA~O5GY&b+_zs`n3WcIskIE2rCBsfWAR-`q=*>l7b z33BqD!{PtL@;!n_6}l=9MPihS1uiNBPemBFLdT$375WT96#R9fxP0#j=KA(abgu z3u!~V#z-Ddv(nGSIhO#_aZ4PqI6z9v{mv(VG^39LqzB|YilEU^P#l_N6YhlsE_rXQ zr?9LifYeFG(T8&3=ktv;Ch|2+%{LO<^?Lp5lNUXK-yN zuymbM9BlkqVY>(_9YMsQvb#Rfr1fyUrwd3FxWxn?M2mWOV|}R{o}=*d?|WX&@8jRCN0Za2gBSp;_2d5K9$X8r9nIIIGBRAoQgMrQ*7Y zfTpo9pwuO*e<0wgDW+n2HUVX!Ihlg(MT#f&L0$*NFWCiCMyR+Lm9{d~k&BD^@iP4y^TwINWNrSZC-+jQ|R^{p4;TdK0Kt69h^ ztXb{gUq<(f3Ed}ITV%_yNv~f*-ewmL=#B5HR|7cW6i&U^sh^L@2)NB8U+Xa}8mZ^a z9>3CjMI%|hVkh}Egk+6h(c4iXrgHnW0_k5UoXiFOe7Hnzc#xE97lcB}1a^ zM({QA`f@{1c*@vjAM5}(&Zr&!FML(??QBj~k(Bmku2J&~Fe^8Ln`C^=j=xQ4U`Nr! zBH^YJIK#UvrsbIM?js;P#zoFRCkGZI!z`h!)G&1X?(ZDi4eJarzu8c&<6-W)4KGC)Rbb~D0*gh-?Jpo8Fa@wx zwj4|-W9614l;z-fFE~RTN=x-x#R&F?5?Hn-DG{t)07no+R#{7gXqCxP1n@Y6o45@k z5A{slYL3PCR3Vr>i(bpY8R5XB@YH$+RUGl_bzQ0_5JGq!82Lg4(axNQ6A06lDG*j} zoJ3tu^Jr|i2vqdoSQNB00R)*Qr zQ0JlJVUOAS8%SG+Yi;GCyH42io5=G=8qfRCC$)twMp5%2N zV2n#T7|~ad*N>q@tK%y6))UEFs=jR8suK8Qd{*^gs<=09HN~AL(5mp@d6)2tpG1xZ#ahaR=m0RovoDBJN4@nksJXH5|{H;;tomJzm@m^13SSuyrEtedH~c zGDJ(dicmH4_p{|?xjkF9U%qYq-b*%)Y}mQul97uqS-*W`KoH=2a5MeFE9D8)31eFhF%9- zckkRWLZMY2v`uo^lzSFbli(K+f|=X5L+^!jO(~=@k-x|!jg9c!@53eSc`@2$Ah!}K z*pzh#lyKQ-r3x9S%B`0XG>68BKIIyP(lrp=;y_YED4V9Lax@Rh^&Um>CF}l zHb9LqilqiPx9J>IG^W;URGIKrd|7o4YwfqjVWuxCJ z&8s)&#!BNLK$Y}&BY?Sf%|SkZnB>2YknbSEyd{e<{{v<(*bv#yKM6qS_zX5+tBy#Hr{UqpM-C&p9%h92!h8K@z;a4Gb6bK z2K&=9FP<3;Si@*P6E{uV^xP)cPGjPvt@B##1M9Gk=6ZOddJJNOUpAUW{IY!zB&p+g zJq=WI;fwI0_M&or)Gy;VgY6~bex+0?`fzs6C!qa_o7&47wTV(?Ke#8De)DJAhmWw~ z3@-}of*m59q))=r?L$Y(`Rk@fn&2gkp8uZf$2Ps3w_#=Gr>+O#)GMs?ep5lzhz!2VVB1ITnud$XDxO9gbZ+S+Ow+(1unNWH zA0vCzFRopRTxhii@|9{Ok_;0^D3fP_8A1!emsvCL7j`4;3;czxha|vX|AT*FE5Q%o z)3at;s1)sm(EcQfywzUNtQM;%{O||(i|In}U3lrLncxTfAB2Fve!~CxAN~)X^>NkA z#IfzA2msTI9-pDj%>>T?xT^s6Y4ESw!h*d>fB19oENqm2^-Rz)K?exA z4Zj5QSI(Q)8qEjKhd=PQ7r?*Jt6TU#FXsQ;%Kv#O`==G$2LA>(;C~pzpOK*#Ere!X zGTds^hq0994^P4xS|GKUANDKz8p9j5Y+E_nDwT`F<&CMV<$T;V0g|NF1$E z-;ii~L8-X^faD^u&JLENd z--BGd>94(d!>%=}RCA*5_;QS0(#rx z8)jvcRAkAQuMaMW3Z&p+YO^%bn+f-;DNAEsqSNrhrG6T!pB#kR0XyKE`Qp1CSjPLpT3x2KXl`7CVaFQ@hRPa6A@5NdPF>(Xm6GDXQDDM67 z^6+?#5sGbvk9qkf5R3ntXf|tWhli)8rgC{kXs%ix2QS3B(HP#gWy2*q_FS?Oh=ms} zuauz%@6};L9b5xj^hT$>d<{q`f{<2!r0L4*;L?74MYwd%P`sPVp{Yzh}#yp#kslTlQYM^YXpk`Q)$4Uk0RAsyc-q#z)@+2fX;~uOE2}{%vdn&~NuUwie@fno{?NM%E zV0{bxdA+fA0NlK{(ckBnalK|^2wnuWDS|N8GC4Fr5aU2>YZPYCCx>wn4)epM!WNhX zfu=D|43Czpqr*HU7~ZjSF9;~t+z-Qj?mbvU`@0$Z-3ZCsmrFs~{4C97OX0~X$ zn4Aqas;zp#*AlrLj>CAGa%7l>P1Lo(rep_3LK}PyQ%%MA+ehz&F&lU&o;k~XW?H=F zZ?PN|WGaOF2L175yJJPo36q8{ukLE4RZM0FHbcCLgm6QtiD zDrp-Y#(k+GFq=N%!+#*JDT8M4bxthStE0|_H|3YhEWaw_x-rb@Kr^U;+jiE6bSXd902FStKT$tg68r3^)$mgGHma2KpRyPmpk84Xjis zLs0{?6ZTEQ8jqsp_@s}+st5OcOsQcwBea&Ome8kA{~LxXJtTUhDbDp$ah}qD#W_Bq z;+(V>LIsGT2*)(Qu?%H4jH_1QGb>@O)iU^Y$EURpKTme}x&80(@|X^v2m^PeY@wtq zr|7@5H>`#6Ig}@MhQ9UcwcdKKP|m~Hk`KJ5S)}#`3oTesRsmNIL!}Cg&sRvrj&#^a zB7#>U2Sh1lH57pqn%ak%E$dugA}G?5rFQf+@A@6kL~L@@UVxp0T9U0|6edZlur|fQ z=BpVL&l1kg!Uk0j+L;hkLd?Qgf>Ng~Qa_wyzTCwp7k^I18W7{pOHrD7h8-o5kf8>q zZjFW#-V~mCVAm}z#0&oj+SkGg5ZI$v#sfgT20Ne_N)j-M4^^0=kJFR!s`oJ@wv*~f z!VJ|D-y5nYzvle-l#``*!LJDw@8b-JE8cFa;&sO(O)vY=0OtqqMvv6?B#!w}CyyOw z-G$ozFjU+1qNERcE9XM^umq9@NC%;6iE|>5AgE)YD1(R+h&+s>V4Q;Ilhs8wp}!Ok zbaI|-m4zbS2A1@~87ZDO!{kc|%p=T6VSI}PJ}?VNoy*l~E$40E*=nO%t<@kA!I2h} z{3c<11iL|C5hE1b1_q?o8-Ba}{l5tgi0%&tW@tK`^j|#7jdZCLlI|gt@45Q^!l}L~ zT*Uo~i@5ipsE#@#ADUg{I>ANRBRA=B%pW=RtS4?V4Z-b2qi{0`EPQJp@CZ?&kc07R z6J~u8DV^Wl#9oe4LYz(gJBLv{dd*=qp$r~@TF(q?1=as<49hl}Ig_`fTbjkNZbQR@ zlqj+z7&-Wj(s%{SGLR-E&dAu}ml_rZKqqBoX#h@A0ds*(&sab*$2rhc9n!)gA4s!; zXK@%B4WAPu+pFnw4X|lA9{@7P0agQr(t9)kD%!**vDhuVg_eDWi6rKpP_AV4D@gXB z-~kiF;5%5(iuoi@B%yNZ&Lr_oEPB>ivKe|FBnmT2RILI`D?@Lg;u_WEn{ZwMqY(O# z2fqT-==<5Jmn?gh7COjXcJS8|lok@&f6a!u-agV{AtVbG1rjmryjo8}mx%B6PDNky zCNF{}V+$lfiWC%S2TNmXRF0*ZTVWcm(-Qw!7wnMMW3WSfuajWbi}v<|9lxRM_}egK zH4wD_X1UN=nbRcCVO`P|{Z{gpIz_+s+jsa=QS57oIsw$tO1Lf)ZiU483s^Gb?}ycI zEJMI}LPotjezEAmV*pGE%N0kssz}VG!1OBspW{vXu)L<&SPKi^nj@{+kS9(k9r9W= zsN6v~gDA>Bj_?QsancM3=Vc>bH~g$1oW+$ij=E>%f~j6PCnR6^YA6$7IsdO9Ma>)h z^_uN0u^yS<*)isqe70qCXky$vu4dK{ekCjgzJxRlr7hr5>d3>v z)gA;Fj6(TB6Bk#rfeKs6!G6b~2L1{I8ra-}hgyW|tV|2|0+P|m0>UOG2)6+Kt*$VO z!Y?_SzT#w4ie&mr42UPwxs*NE6esP=ydS*z9;whHIp*h_yy=e$U9724lu_Ww8Wx$s z$Q$Tf?uw} zC;&Ezz=)5(NRb8L3f&LQ8LCy45KGR_0ey%sfZ1$6*ore$+u%R#g-|Poh3C(mII+Em z?**J`AA+k2%eZ|B&Se>ATQRv6uR+Z-rnuI{sEQeFezVs)01peUJTod)V3jPNje#BA z;qU};lN^Td>vM=!%8`H zFtBqf`gMpU?a)$G5Qa^Z{y+`pcd&TvHK51<+e5=bHI&MmFs~H;rIxGBq5lG8gC0Qm zSDcNT9JWpBr#%~%?{sQVig=3Ti(&bFf_D#L*{bH){#)p9XDv;WCO9gA8)Mu`@|p9s zWaj*0*t@}NMVbKy>`4|{%MSDFYG-zd0!L%Vty{oma4YJ>Irfb>#tvfFLdo`Gm>h>a z2aOrnJO1wDV2K`Q^29lup%y~q6egpgy#V(O>rq`wU!|fn%<4^{Whpn%CFQb95h_BDpW3>2EwK)+2Uqsm}dzD6RQD6*J z^Mwe^RHIFsXuqMKyX++wb7{8PM{mhbe76@CD46j0zHm5ixdMyB4aT!0TD0($7Zc3p zN`CjFHX*%^aAt$WEv&woxyY$PS!)7Arcpm{d_B!~ClwO7P07Bt6L zr$!kL8`Fe?CRo26xp7_P6TP9@LvYM05fP8VPm)m98_Ci%LD$Rz=Tuk~QaeIp21w16 z&1u?5m(`ze59Vj(6gbF!fPIL=Ng+?Z9 zhjUC!PpV$7ExzQiqy6Z{QY-*6Ti0zw`9A7YTofcq+23igef?m>66w=45ky~iW&_Eu zI-hA5O-e-JW+88>Q@FWe2itQ{fTK^Eeq%Z$U-)(iFl-_|zb{{cBMf1kFcfn!>Vz&G zf91OaU|&Ga!)h&G^Cgx^59Gz8c<0+FoF8&^RBMKH!A(4(!-qv*JU)fHiX%|5#2VL$ zVGIga1IWVl04r#-@^cs(#Znn4>x_@XI%T5<%@=ON2@miSTgS{U3;|eJL=g5M>>Kud zAnXmB>|()_9dn43SXMlT;Z&Gp7|xD>4b%pAbtADoz=iihP|?KJa*#r|Ac1>@1EDK= zlk6Mb#%;Ya10+^>?xS#8ohXe?L(DT7dcIU@qu%cW^j-%)k>i`Y`qAlABDIaP1)T#) zUdX@>5$>eL>0DVNzSoI~zUEDSq#rE0W7ZqL&XhSoZw3X)=qc{)hen*6&BbcbH6uo6 z&h;o15Ac>qD4qs?WZT!6rXr+HV7!k`VCZeKac%p~IZ=macUZszR9TFERt&cWgXihL zv`>};$Pi@kESy#u@?D$H(Y2bsbV`jLO-60>d-X zfVnEfj~eVg)R2q_RfEANjVBkfC!^o*F@8V5D4xULHgO#b;))-rejPxar*uTc^M^5@ z;M)cn3)mVEu^N>PWBFG$V$N_9gXxNsn5a(9iAm$Gh`L2}^22z~OaWNtHB1>Kp24`# z+3^%oSZkMpn48e#AilIoVw;no6q4Ws^;8mFfkiVG7B3PU3f-0t_K&(MKWGya?ZZs} zJ=0;j!qPQaTPNImZ?C2+*bGH*I6CJ#st;fF70p#h=8CHK?=?T}n5!V=@Q3a3;n3+C z9|DUxX5kC@AkY4Ys_VgxC~a0-x&c4+VKO549d?nGyTkdJr)Vw3dtTeZyO5)UxcrWh ztuv6%2uUu(gf)>hFP*gK*QR4;9NUZFh;cZKdnULQ2yHKh!U7y+3fH5&<5c)_2~LVC ze=mmHc-XBM&kad?CYX%EM@A$|x!7ctWCqTq_d418z(Xq8v)~|uuIx^< zqh)vDm#VFZ?Czg6_02vnM8a*9-Q7u>m@C`3TUtw9MmU|lJi6P#)Su~R!??*KIP_k(DjyY1gn5eeO#Sxq$$P&_yi9#A&G$)WEUpg3= zRf~g^=k&Bt`$e@C5#bJ91NzW|RFHV>D8d~?n`qBvN%lR=Sr`_ah)kSyVeTlas&*Q$ zS^5_r>;AP5vF;pTCW&>D!y?u#(e&04>jueyZIw9ch)xr(6?2-f|3yYZxKL9~Nz=cs zns#t863)WlMOqhn7zP(3uo?!}X)OV>%q3mhaCVqYx#CQ10nUVinUTI-V4P^+Ucv#!KEqmY{3MMmKx zJ6J~Xewk6QPsuY1sYCt9C_a)bqxk6D$SAZE(^z6LBA4-HNihZ^zwLr{#I1(DyXO!olEX^JNA$z zICp7%?O{}IBCwj^{FByFm*ae0L_8`>Id&11KZZoIsQe)rmD#7{QCW7pA5r=4WKsE_ z=0;Smz=3&LqOUT+g%GYNyMVW$8WjIZwFeP3zoDsUc4Kfv&9BlX+H+D`eUFY7P6asZ69Jz)8> z9@*j_Q;jn?1jyyV>R|lTgIXIYN`Fb{mFWCZttHE7{3L#S$r=yWWW%oWA{>JSmlwkk zL8B$SN=NT$$EURpFP9xYULzyBLvnOD95b68?rO}es}7IOQop*0&a06fEIR+YjLz&+ z^5`rj-H+(}@nq5YpXWw&hF!8F)m9VEPtOvgkCr|l7Xi5<^+5EPZanG_s-1|aeQA%3 z#1XYO(k9w-Sc-j*-4=cYk3$~Ly4d|No0@hS$6C4Hx-GqLXF~ahi6rb4W5D&v2o|LMq3Xf+eHYhjyv~hEp<8W)LF_S zo8)^Jk?n;@B#UhSAtM|6lsvM@j`t(7eJWXG``5V<*-DKO+#e4c@}@^%=477_Cqh&* zMY&TV_hAQhMZBZ!ujtV)?jhB#L?nEZrs~;^$`J`)N1JFrM5NyLsA%C`@E+vntc!}# z4M({c9qlm2wRAN;LVmIj5%M#@R}vv5vqglwUDM_?5%RJP6Mo?uuf(qo%8Lb9>^NlU zQDAV02hYR#5xCqp02ictl8DqW%fz?R- zWv!(yBe5oZ4L$4{zp1t(qV1w{KvQ~9jdDcW`Lv1l+?K2vWXY~5vT=<( zF&JdtH+3TLGv4o{*f(_?10uWE#1<)S0#AHt)1gN=2}-eViW8KkYDd&A+QD{|lPcR* z69N{kIk)I=@Gxj#_GLZFx>4OTbVznAJ&aFw{$C%Goy$;O=JqMcW0CCq#R$JCj(S_8 z)&tOAA>m2X=)>g!1-d)U0-)MUFoGJx@|CObQxDuO$yfet<||ifEmcbRs8YdbmQM6o8H!_}A%dev{c$@mfTcXH6`PT1Wb~k9zkEz-Ky;Y)t*GEdRvc-iG=xR zlftdEiS|Q4+7E8N`p>}Bp5&`{GNA7B)ek!fN|CQ}g3`EJqI*%k`er9pDf3l}A_s4R z24-Krx;!dATO37)q}9^R_@wooJ|wN*L!p^Tt7NoDT3>{mm)TyL3fO_NIA`L9}{JBO=50jEx5Lm61-LJJ2?*nYgO_CCwi99KhobDniS$r-~ z&61KY$fSgQN}iO+j(3}s+&X_AoWuzK3toEQym?p6XjfBwF%xryRC zOgPt+mF12+)tuRo zHqh%|*@0VG08~2j z(!%iIdDv_iJjq!1-rmQSwq1SAXfwAIK}5uTnheuK#EW2Syj;#0nKjnlrzT2p6DL;S zqcAxE!^Tm(Z_~$`J=`5@?8xgLPF2z1&Dbv%E#Ij1FuPkI(Xu7Q1(1=h#p7Cdo=~k zZVHYF`FYwzdk)FUjExIaIq)+r`B$p55edk5Y2SMt4=wBs?!#u|;^9~O5D!f?C6REB z2weE>&uVgW#6Y?!Z=)In@v=s7dK{aWj;@m)4ScxG18#9Ew&42daTXh8%+#~o-axAQ z8ThHCdfT`xuJJr3AAC&#dI1HcJS_hcYXB?c&PvdoB zaC#Wr{!#~4!O1+BOH^8uqwu$OLJ_<71+PCDz$eVAMYL=HX7+V1|J7U91hVWrA&`Uc zQxD2^4uOO-@}@vY>fHHCpJ+y2HyNItIQ>wrDYFyyDS37xHL)Mr$v2W^ zC$suiVVRR>DRD6WiFYnh_!1p2|5xO5`>rW`CN#pG|@GFQ&lG@ zVv8)J7}eVDVMei9=!fX#h}Ke{IdpCOh7b0QRk9 z0qiZad3ddz@s=fs9TQD-8CX3IWG~cIHoI{+0$H0j(VmOaGlSVOt7P~P-1trPOd_bg zhO(vCLCwPX;MLe{Tu}RFAA(w}DwDuA*OWrI{pV_uOcUHrhc!xkwia}$G})T84k7h% zVZwJ*l?y(I6tZCWevQ`b_D)7~&k=ehxbj}Dr7nY^&SD-6otm657=9j!WWn(JG8nQ? z$%CQnct3*ScM=6d={JJpx4m5)MHsl}bWoOh8tZmcEB=rNyW>Zz4S(J0A-FxA-$5Jx zlHfWxeo?BL;gic$g&X`IO--^ZBnd##s-XL56SF%2X`+eJ2Xi6N*%^c;dEoOS=D9ANk$5F3CS?kC6%LjrjwZNm4?&UU#02g z-tbpD`H@06FXuX921~IGTnm)qOPkW(=_DwH(sF`&Dv7SZqP^jkge-UflQdB`o;CN8 zEz?u64x4K%{gSCUVcmcCeykmQ5p~DhTq8LvMrPkeR?8VZ$9R>_CU1bTf)^g_+ALM! zsJMKk7|v?4DNuG(NwnZN968{DIgOfMD2~hh_7ywfvd9+%b)=7@Kf8qiyL6biW z2B*aQLgq1^5e=`rl`E}v9^AAB_Qj3>s8r#w1-QKy7Y*d)F;i2ea(MtvuvKZ6%EmPU zaM=L=8ZS?ZPME@j2#gyB27@zz?DipWVzFP(m*HZRdbKjHcfPF-=7buseFEwaHhCR; zep-38532iPp?@gMJO`FnPp_S<7F&37^w&Xj?IrL<0Zuyr&3O+j#SZ0rG&IBw{Rq}1 zA3!Yh?z{2Do;6`sA8T0`YxG?LD#O|j5)Bd0;+!K1R-IQ~uss^A#CT|G`G@j68I+RK zb}*M`V&l3Z97>{Pfz^a3Z?Fm$9LnwSCHV)oeq4tIAn8vP)7kCO89Lc}{R9{FfO*Fo>V5Ca|7? zcQgU@vF*KOmD=TYkFmL0An|=s*$Wx-GK84yDtnh0_@d5&i_XgBYu6_o2X7fepZ=Q%odEX?w^UK&R`%O z4e)rB^LA95B{&w8Sw8y_m*8Ty2XP8)6AcG!5UTeD@UG$AlAessu1~b zIcj6NQt+ng;h9t6K2aFHiM7BIGdHlM;x$^}3JP$BX~V0)%2q}OU@>UFD9@N049u8# z2zx}bM>q{0l*}Jhg%*C{w$xHh;TLXA<`>k*9!M+Q`)<5#?#ow|O#7E3&!-0)Y3 zSVu3JKg1+Loxd`FR9&wKiVvW=^q`7KW^tnx5HWEg&Dq3l`njmouDMhY2xD7iH)oBKhud zxM0B%sDft>K`r=%LaCgq)|#csQUmVYt5$NdJ`UyKC(Q>2Vu36;d=>m>2MWxb5R*(6 z(<1k4?$0qHMymQJZGh4`EVF?zU4;$c@}sRX9vu+Y9Cb73__S&u!IMxISe|tye(FI4 z2ssfQr}IPCQ;~DbuV=lt1Zg<@uB3eHZ!DwMZn(pYE6W6Z@1ne+p#BJ74wcga4oPo4T$!p3o`E7s8319(5lN{(PLmh9^QnFjAB}!G5^s(r z9@C|5iJsF%*axe~(PQSKvc=(J;)!tStoYWZ1m6Ze#>ev%qmOSepsb^h`<-N@7=46f zn4^zWYa##OB&PeZ2d9xFx~>#=D~8Z*@SiZ#h{hgY<$O0+S|1bR*@bG*q3aR!4e>D7 zBijQum3r9P9;wt}3@EEgo#G@Tg-V5Fbfr?OoWyjmQk=&As?;HRP9T(nYSL2qpm>HW zkn+7vZ?-sjl)@EV(v{vk-bqFZy$Q+aN^g88G2QD8r?J0!)5~SqH#qr`LO9oP9Wf)Q zSb?qOAmU4#(zcxhrBGTX--hdRg|FBYc%#V;IukVYQ|+9MyD&AyaHG zgav{nIFIrFK@jXvbF%b8X1jz@|8rcAYEF=@vVs#57>4ef#YjBLghiR<4e(S{HEEcHqn0RY#Y~y5{QQP=78~xaAej&HiGkXTu26d zW;`Pguz45xtxbBr0@n6qMEDCQP@-9pXqa<910(ZtwlRr_-6k(w&oZ{y9I zp`}is-f&1sy5ksQd4%yp`QFBc)1B0(NPSLr0%c+YiRftt*HP+YaWlbB(e;S>)q|e; zw3kXx-|4CgOJ`&lC;a+RuQDK(oAD%QE6UlNb(8EAQTMCJUzu&BN`g)b{b@J@D3&qC zWI`RER+T<@0uayBp~vGVNnrNyM$)0#9l(Tq_G;Y+`TPu)Tq#9s$O6JSoBxaXVKDfu z{!8{vU}aRP?lysyus>`QSfq-887zTGP;0k(uT!H2oY`UxSsbv@m{3!X?Yc;FTahpX~2FYSXMm=%z~v1(Y{!!61IFr z(+=AMD%VBA{*Kh_NTDcqaYiw9btsDZ*eMCPqV}VmYq~cuxph%T8`e> z1~(YWc{pPm??aS?PSX?RdzGz1J-(5;Ybn&@tI5r6O9Yt)~=vMwNj>(J~x8mo%b${2HH* zOSMmWG$X#Y(!Sgu5ov$P#tC- zES-rTcmK2x z5(k;6<3L8w1I^Eq1)4i%U0I%+?T8#?WC=M($&eG_xPlM83t7v+>CdW-h=6pfrncD) z#1W8gp-r^sk_7u6nk)-hegt`cH-$Wu= zp!<^ybnH{|Kqouik3jc-$pYOgXI-Gn*C$Isb)?Qt%o6@7`LOCR@FNO@E4&?~Jf~-W z+Apd-h@kd>rlQ%6!4cGcPMc`Y5oz^3o>_Pk%wIRF;@Kg(9(D?4mLA22vS0QglpP1` zBcV+4RD`noHKlZfGP>C7!u7RUxdht_@f@f1%*f${Kp26+)B&6yRbYD!*^gKuW|dNJ zP!@~jQXf7%>lRG4>EKM%92VnF$4@;do{$*#Q{rA1+p>D&=avI9w}^jjSFHf2jqN!>d=XT64h#=dL<`mGoyT^+O$l zbFpEynAB}UDl3J1d?YlIE^f1O1l-m+!w3xdHzW`EI6F0U!jh#er#Tjr&(q2PZ z;lN7VAPaYHgXWg2a5yEX?^p>AEkd=<*Faiua1fqvBvscNorXW)6niK*42;#Qlkh%l zJ)ZW;`TDrLXmc=Mu1(}uW!nTH1obvzprk4OSEIJFeosCxN*)lv~od;;3xSJsurkT>NIqZaYG?qP4vg`@{ zXW2k9mR)f!_>I!o0JqY0c*0?AI#;Vs`SrootA@t&lau)s14X~w%zNv+vj-x+k!QV? z?6DOC>=bIAuJWKc1!p0G;lt5~D2fPz`4_QdLHdchUxTgv=sM6#DfWAf$JBEGF7>U0 z>7xtshP^dUz6L0hpaURGMz#D2rOPNA;E%%JgY1b%g!JP3$`|lrxjMdj)!>>H-jkS< z-0z*8JKH2^>8ShR^+Q zGk=ZGvI2iB-zqmf;ZT^_4O{~O9Bh#L9yooq>dOos)m9-8y4L-3&0_;=r zvX&g{^rNix>ttoEJ7-Z@YrQz~J{Nt0xIKa=9*^*gfYX<`j)(Gs1~Qo7D!XOc8(Oq& z8^5X6B1Uzu?~$oEie9(VCfajUmSz!*>?kGsLdX+?WE=VXv(D1RhF{oZ^+8}{{0Kb7 zp40a+AadcE*j}oY62zA_fN%Sq+q4O>$Rf%?SL>n(G${V~B8W6K= zgyvuMzK++%`nPW8q^c)r5>>rdA(3*pnX0O{X1CvL)uASW0}FPBJKWe&hcm(LcB3xKL$!OxL+mZ|+r>qhpXJSiQ$QV3Bn>?c}Fmg?QhAyYGF?B!X~ zScX{*H5>dFxuda4PVnPF_V{afM^(@r+l);aLi8wJ>rCYFT5`IJc>O#ilEv$#GG4P!$>X)`ct7IxACtxFx6FZf z&F@Of5~mLhO^+kE77-1gp@@c5D^Y(?EknfN*J{d|-7JVpjN)(s1zf`3Nlg%pqw^@l#V`(>KW%@8*)2@>w^6`FX{xcL*+QM-Ak znlVD`@T{uZ!6%U-=JY?V(Ux7iiPL|%5R2f#-C9dsI(?m`-04fccj5HEi9|A|zf3xP z_9?m3mmTki)Bj5{r~jT=?(|EI5mOfJ-MC;k6B^|rL_%BHHR;=UFIS#K1LH)nz(pTU6~4vY!>J7 zV8ta|LyO^37Vo_YsI!g21@7`jTsRU~tsis`r)pzxE%u8=y{gv3>^4uL-i1Qt1TV{4 zOI=1iT`)ZAIhCAG&UHK%{fK%ClSRE3&911IbzRe9hxmnVBHeAYiT11(iy7k;m96lR2uxDXJ z+Dw+=HLjL4Kzf{a%)bZ(--8;HBk%Y#HMREK5R{pKEVIgjXClULs@oAM$>IItbu`qr z@H#jQn~h6J7WW|~p;}9Fli4qS5l{c1X|E$mA%XUEm@DQhXhCg^-OAD{7}c7D@2J`p ztVH>;EaMS9QZSNb{2rNrDkQivsI}DP&{=0O4{A=OO&HWJMj}~IJ5dHT_9=N#lO69z zP&+7DQ2XF43Tn|pi0G5%6h~lveQiX}on#4mC!0afz;w-UE_V~77O>opsum{v_Y*Xw z&z>`qSQ+{6%V`tshlc$7KIds+T`-R9j0=4OeF%NHfZC~oW+aSA6s~o*rUGdK&Lzcg zuPxeOG=B*vbkxPr4UXWDGoowp6pbi9M0ZVqg9|7x-WC81Svpir`{Qa30 z-QcxA_^vAeE#Tm4py6Ms79ax3TQ#N3uKtdI@+R6udv3|6?}5X@qTv0=wz$BttPg<$ z%eYK+NPv)}2v_!cO{9(hLCdDc%B&5S!-$iaM$7Vk3-0veA5*nB_yQ8b{P^cIlCmo@ z@#C)(auA*WjMkE+ym?Y>x;as;tbr9ig=?nr^&&3&nXJJQhtX2G)STAKksY7bI{aR@mv3P6v`h6k+&f%ms;xR^FE+pcj?_#4KGz$_UqRi06k0_A(v#fZ${ zc-r}1&t6*i8yttt#)ZAZ`VjVXEj44`ESI;4NeeV#IRY{%5iaBV*Ph-An65r`g^ zC=f|gPjNf-qrl(8S(k%RWqI9>YQ-PIvph$u4S(J0Aw0*njA>E$OM)YL4g^R&V`AT^ z$|zh`Uek~4n&=qJTt%B`zjl@nHW>p&bTG#5C^@v`cMNcdeXeMSzQ#Wt?E;M zunBoTNFd(yQ|zs7G9Yq*&;jcN(R?HVf7{4-mXnMW#|MRE9B15}x&Tc_r-XlHBWA`) z%;^A~x8C~JKC;oO)nKv3NMjO?-@Ud~ZTgLw=Y~P>;Rgs8&uNTF&8^79graTeHO}`> zn(MQrmk_-kBpdM;htG&7xP;`lHrCwbWK9Znc?&1|9)s+J>heJ+87b5yB*Rpf16J!i zfxm6s_>_~3?iGbo*Iz|hro|A^ZK^Cw#B<^it}W5mHU{12WKarq`Bqoz@^dE{Dbyt- z!&H}4-sR6uV!BrvPGf(Srk5wj9dofO0;Lenkqn4qHl;n?Nl*%<Tsn@KHE9+-=yX`GwM0$(%sz38JcZ!8TAhKKOeqev%!{o^qRI z*SV8a3z2WuH~}L6nV!+XASJB6{9nuugTZh0U)lq^^7TC2N8s0uMLOyas$|4SXvFCe z9H+bd1}NZ?eG>Ku@3f8VY%3(*!IJam&0BHP%=I&a!PDU`gQ#04F0lVF7$m+;{Tb2l z0q?%HF8jrE_2EJVZ_AihsW!a^p6?EJAm^09G|J@xG$MY>gFeFy^U(ZjV}csyBG_sD zk?qin+0~JWkR`kST>Zf&jq6fNL%nJH5){NBa6Q1SWTBxPjeoQ9%RUCqa~sD+?CN8! z2ZymLYuXPI4H3`cyjGfkrFtzUj7DlnhY%-&@o?H|T%L(-=8AAk#4d{$%l-IwFxTYq zgLl{!2!%RqrW^8Bf!&Cb%n%%fIq4Tmt;r!c{CuJ`K2e?)zlpS&8iE{fX;vV=Rpl%k z((6+*CWQ&yp3DT)$F_st2+tN}#i=e?rFOa9V{EP#NPJ&Z_Eo7R)3wUpC6g9#@;D1D zPrk)1A5HMYa323Yzp+*v?JCv|!C?v9bqx)$V_W6SMg+i*ip7+PWk;=g9nLrL8r5Q^hxdbQku zo!WS9*92UDG?}kVD`pGESohCFQ)e&`j|Lhn9_73p)n*9}J7Jd3e#BjJn8dOC&PRjB z+rrSCsl5-Nr8lbVSB^XhL9B_p$RP6Jj7L|Ba%JBY4E(v{83eC;TL|JTB<4h!UM_tg8JA4 zX{CGLjknEx`Kpp>|1vEL9tsN1@>o=azWA=a$ zvQCMF9r>jkVLu@&757UBz38BqUovngI@?t*U>S9QE|zIMdIKmHn;l;%XUEy6#Ixhk z%=ENA6%$n=o)2{itWUfE{=I6(b&5-SF=U5zxN~&|o;xPd%y|2*Sw7txjtAwDt77Ii z`H@N<)H!vO!SK&@oATv`FYmJ&B#Vs>(cd$|pz)*XY(*H{g9_4vf+CrKjCQ!}q)p6O zp_104CSO@IM#w3$B4Q<=u)69b86=trHz+N#F{ESkBoSX+>X24ZJ!j!ralbL+f$ zFeZWjwNEIN%DHL{uIVf_*fDZBSqp}$`IF{DQ_&e*hZEOEXLBTVqO`va$(26IF`GkH z*PXNhs>-mY!pnOVHpt13vRl02+{ae4)`C4C>Wa*cPpg_0ybY;h+1i~NeR>v<<^Z)Y zLpgjU0JF;fRs_cQAvp0Ct)+M~x9LcT9_1K1TX~C;_g&-|cO#K3$5<_M4E8B;juFU? z_hSX#@yYUxSI(k51FQ!A59hML{l;uBY?k%lxG7(OaP46_NO?}T5$zY%9z+81bxlRH z8v}7^Q3CN5+C+PfNXyI@dVWy6g*U+ukzXPW{bLWZ_N8@y4DO4ELhela%#q1zu~qgP z!w?6C)i^L5#ew0?8)w=J;jL0}rhSO6hcoR(@I$d$mG~6kT$#O5L?v!}6QlJ-^mE39FlA`qx#v z4VG;boIVIY$vB(cbV(fhqEJA=tR-4Yz%28Ks%?AmP$^t#ftQFE;2^4TEI~r8yaaz% zD^R4S6xJx6m3ZPmruUPU~P_SQ+jPGg(PYg0Gu* zl|-VHKv!Zz)4NCsRv|lBN^tIJ@QGd8%RVJf38W6ilaZ{CZ@>d#buAA*fZv54GKPU2 zcfhTaef-6#qL1uTr#{|{jiXbEb!+YUp#w~hiZ!apqEN#O$Z(Dq+IxdmBT|?O`dzNM(Lvpw12-0!dMEfQE z%(RiqsqXw?FEH&E9wB(G!Pw=FA+Hf_+>hFXa2@4PZ-j7%OsOnF2&S=FktCXX7`e4~ zZ~#J!p3|=mL?eKX9We9k^dv^FkqL z`FDwUPCUYOCi>c@G+%NuD238|juW48$IW+~WTa4=7O#iXRDKp6p9m)VJgl-mTBvp3BR*(p@e zWq(ztm)o@JPJW~iPlaoVnNNuwSz1;qzO)JGMkhfj)Rq&}Q%Q6M7EShb%!_+n{aul$ z`pZUBqW&A)48gcV&DYWoIR+xETHdRgFAQJ~Uj?HeB#;z*<@iX{FpKb1R7Xlx@I7lo zwGy<(aarZ&dcIh~CDPmcJltWh=h{}jj`Nk`(mLJ!q%FD$yku9s3a6n>uGJYIeXX(eqmr#3(SY@GUN>wF{tbay#V#!P zk}g~i<+1j_WWG5uGFq+{u9*uKJd&I_k@WMmHL-`&6QgNwt+x$SBo8;5g!NW-KrXIuFX5HE4P0=}yug6+ zc38fFm$&emtvBBCp}aciZ43|H6;G`5R;^Iq#6cOnw!Uy}t5o-k9{U^jQTi~G)o9jR zg{JzrOv=}KdqvfE*xLgq`m(vf4Rze5i7V&5{CNizHc2BgVxqOz{te31X&P)yfE7)Dx%t?BRzQ599gHllmL&3wQft zuptDd6V?t)G@G@?+Tr0Te>B%<<|}YkbTQ`_Tf^h^YO6N9XXm!zMs=(S2Wk4lh4FG@ zcwj)pjzLb|0?sy}G5%1NdSW##Kx2w{YZhjCe*!7w?!0}+RGzQntc z)v388d%bdjK9#l}iBzZ3GGMEW1EN_x*pQlQED48Ov0yO~z8l>!<$#Y#4QS?s zieo>LV?H`7=301Bl_VJjbe`ru4I%8>adK9&PLgC{CTGZm(=-b~xATz+el;)|X3o}v`=0w<7d zEJOq!%@#e6fd%GlQ8e8X#{v2TV?p$_jR$XalAeMGZ*l_lh6nn@hN%JiudMI!(;jy_ z$xYGke{%x$rr&+9<$uH3i4@%UDg(+o3G^c;87YdzAsJoP@_*wbr~6tyr!q|r)6s2o z1r}A1Ex{+a8Mq;rhRlKra{C}93+S|b*wP^xunEsj>QyP3)sT5L`Qe*oZXGQjmMj&8 z$rkch<`ppTTM@f9&n$7A6xJQW?Kfg$eM||t-8|7*wn*HN@zUu}5Qn*pMhvNWkptA!BFDq8l7xk+2RIWrxS; z$Dg&M97iNa2~wXcQ*%x|>){M!8aoh7nJ9`51bZ9<=fw`kfne%mXC`HXYMbrEZ*c?0 z2ICBvIKs}OX;v3wg@-+*$4*Pc0ktRXWUp|&!KV76H`k};W7m3f8Y{hn(zt5z@ye2F zobk5Q-Akb+|CCHk)W?=P`>d&l`%$hI2;CR8cvEV=b*&Z`$$}A{;@8Eb3q6-eSxTjO z80CAF^}@&eXKE&-P@a2}DUbTt*;$yPcC4KVfvXx4(ic_xLTWC@s9J{j8J&i+Ju4N_ zX*ih2b$J@j1zD+xPQ%f&V||E_fkV-@G<|SnB&_lK!8&f)T7D@g7TcD#?lkzswxzL8 zowjVTYBuK0atPG(jYp>@s-e%?(Gx$;F`8mXe)`QaHn`{SyY{Fr5>05O`|wNE^$4GO zHcGn(BUn<3iAwjww23(*A+vPf^R4L?<^=1JVPe?tjUTGU~cqNPL99}s_cN*_u~ zR{;0Ih!mBUBuhonVn|a;M`?-d!al44o6*a#Dh4L_*%oV&8uQUD{aH1;U<})3BgCRc zfgTvTsT~E6Kw!2w?f~9WUTY~+btDQqI^%fQk=*Sf>^udDWMOB$3_I*o;;<8S9M_2S zdiwT^WTEFxvvhWw8}EobSTsuzIz|aX5t1t$9Y&i~0~7sOwG|PfUZkmSc0+N5sDGqQ zwCA2A`yQ+;Yzl5i*3G71b(B?0JI#n#x)vX{PVYn5dLQtSge}Qj5w@PEDQcRqwFb^N zFR*jI_!0Bc6DZfV7zdN`-s+3m!VH* zJ`a6TLS2NuuOpEx^j#uDAN!O%^vRC*BlN9E7W(>nue+VomjGY^Y{@i-tjD%*A9 z0DFP`M?1Dlc&g+>uOmzlSHROw0@G?++ApeIh%omHO;xiSg(J+}Pn+oPokqQuTHhm_ zg+sw#kZVG3X2WpoFjFHt1vg8t;)B~@AA;M_TP(p%@>K-4A8YEFCb%7eHz(v!Z@a?L0uHZ^x%gMA?u!7lOH;?b1fXrSiT2!( zOy47qg*CyGkzKPX@+@VMhbdKuGN7e9@ge6CeF!-%;2jxHNrnm+yhT&UG$AJkhb^}1 za1-X#gpU`=u-jguDbtC31MYkAE9MP;yhxb#Wz}4RXCTdN9CedMeRhi_q3TiuR>x5{ zXf1Uas&uCFP$ebPMW}ii63IfLp0%h`SAiEGQWH}nk8_)WDK5#ZjgDRFjlag4CuN}FiU zS$UceIb5flh((9mGO=y#p?HuGNA5nw7%C#P>Njv zoFFn8=2%`xG%ng7^I<1di8fqB3*9a18+-^F5GGD&&hDlzZuDt z!!}1Gr$R7AuLWLNj_xF8 zS0%@TU#MXdkr>B`&SpY2F)w|r5c6XEB(=3KVh&G6F~v+w*x`0UC5k40btB`Mo3z9( zGPj2#J6Ps+nateSr{tNN)bD;|ZflZdZtt2qnVU4xEa}_Hdio}@lH_nlNXIT;)19g9 z0o95`Hg|51Oo+tRXywvs+C+P9%lN@f>9zqsdy>*!%7D60>8^AVlp>|$1f}thl35!Kx|64x(_KGUpZp2e3I8m(nOk)Lt15|bmVm;e>pl|E8k=(UEDB;oensEIg@ zyFXDK#fJkIfW<>_gx=s6X)o+lw>fErWwbW&>(nZIE zm6UH6!D=lM$%55YGFY)s$%B>bct3*Gqml)yzTW7{j4t&WTe%M^(@Zc=5mgL6<`@ia zG42;z3Wf$J6E~-gyW5oSRZ|d=<}yt?v)ciQG|}~K+i4U1y?VEIf-+~=qZt~IrZ)Oh zL}X+0)szQvy-%9mY=q6x=+DCDU<8|u8`7-pLu4ZQYF4o3g5*VK;zj$>6EjFBS!_(|VZQ`biYrA{0;X za!PBd%P6P|hDSlCs`E*_j(huWK_Xcc%*!aqJ|&NWvg7@Tf)^%>g0t{$%&aS+_=-xk zF5R=p_hwBav+F)_$x-BcJ#At(UU{Mm$BcOkRPOUNN&G9-r-*doeYD5Dj&l~K2JgjY ztLUfXB|=#`;m35PnLDOW>yu7*%)v# zzaMWh5$BME0U|{~n6I@oV0t_PU$zaz--Ak&BM(_hn`qA+ahVCpGOIjzW@7xNIv|mv zET_!qb&6u)cW?qW8<(P7)Q1$srn@9pnHyRl;_D(!bdIEj1m4qO+Mch(1?4GCwkEBS zRS%a5-%)ieI3FowS;u)Atvw8K3xy&HuAHs4)aB4xXE6_QPSs5qt`jwj4#DH0L;i8^1^7Y)h6o(Nk$8HBenMqs!gos3lbQqpFn& zPhQj%Kf8&M$Qcz?ucl43A1XS~_qkFF^MX1uG%gHo=tCIfi?N+*Xhy||Na13y($pYL z;JF0ujmx*nO%E+Gn)hUvM~12CK4m6#t*23H-yYi|Ox2`|b2QH_wB@A4zK_Xe;nv{WyeM%m(%!C#)e$IYS@l?%!{KrosQ0QZXPqmuZ?R80>43khNV{OcM?*_E02 z^S22}h|YgiYspgnJgGL_oTygTzzU(lHE=m>5tj{3*5H`f(Nek8oYs5V@oBBYKb9T- zp+-huIvkc4%?@`}Uer~G2QaB$5IJJNJ5Fl;1=+y@*tIf%u}{eZn3Qxs0@!1d1+ZCo z4vw7R$TF@vgpI2dh#r>}kKPVq?{8W02-?JKJg!LLv8Vu>CB>!6Gir*Ue6Kniktdu^ z8PMxeqJ_u7Y1nLB2;9<#5NPVE83*Tp)J2RsR1=vaK$8;UGQM99rsC*?xbd5+E5Ukf zkwxOiXl?f}FdZTkLiF;{T1#DytaO&~z~ofHgd?lRA(1RFwPavopOObA+3|h^rtOIW zlQj4g(@N`@?}usJK{-3sShu5E@rOLvy)asB`0G{=d2k|e855=O7jbrs<7Vmu0aDMQ z*f**=3fEQEG$gw&I)*qCw2AiXXZ?5g{>90f6zcMBPWC;< zBK3so@^L2_Dbyt-!&H|8R_i>0zir&O*GWeAio&Vuuc9o|qKN1=RhA{JpM+s!J;GvUG>b<94q!oW}kt4LQlKi*xEuaq=UDa30Qp zh?iT0g`{y~JBIkurnIY^1f@_~PEb!J(G^&9PMsz53a$eqi5)a<>%*XNiAZwkjzmd| z7_az9oGey2MrE{Yx&c>1hQ(6c%8sSeVz?@jEum~RU_s?n307R}j`IjGaq~wGjGljTa#F2lHa|!08oiNn0p_=wkG7 z><_ybJ<@MTzWaJH`ZJ;-1YSdHT`mkK{D6(HBLyo}n27fIp@Y%x-KkQ!Jb-4@sx(Vw zV+Oif55G1huwjm(?&k{=k@e7vY%>pAo|#%2>Q%P8P!RE#t>47Jd4A)#E?a%9_24j8 zbt3Hti3aYskQs4)D^1W+{T8c<-H=++Aw+Z${8P9*6JG>>MK~@(g8^d*59nld7np@#Zha<{|yj5PMDhe}0aP;P+Uo5pIhrBi3L}`4YJS~0`sWUYMIq1?hjmmFT zIg0|#+fy?pg$cZsv#isN@#y7#(rRnXZ`(tp#@u0 zaT6;#{`j3I@pcdmCpANezE;&jSi;v*^E-tld^wpVsE^$-`vst~u{{UqIAGqq8f<%OMn^)U=~kNlxL=3beznr9SIZ60hhQ}AO;o2K?W#;GW(&qx z_s>LAXD|?t26#Nmc{{4j5*(t!ET8>|yX!ECgE$4Y8SWux!yRhx12{ZtRN1c_c@lzH z6L+6M> zXiPkWJtEm7oCeR!%pX;S7JlKtovuoYEoD#P7ygpWFQ|__kXE|)-FVyFm#-?B_Ak@2 z;Gv-4ERRJ+=!@_AW3PNyhBSTo0_YU$-u|pqEIwaA;P5zh6_a&ZBy_^Re58OVW~JhO z385Dq^a4x<4n=3b>m@9s4$#H&tLfoF!+U63>!HGt|Al^m|vL8S?hqXZ@sa zI3kn>yNdbW)H`NHkYJ=_J;gkZxTGhPw^^6UMq|4##3| zK^Yo|ox|DLhdG=hEnbaI=SZ?dW&iO=r*ub-=^V1i?xYP+RBpmpBJWk$7$-llp{os zQVgA~JjIZ_?;^#x2Z>}0@vfIC2K$sa#Rz1_NPcu^mV8&%ceeVoSc;?}z+Tx|Fa z*~bfHAK9l)ecXbLH)iqyCnfBs{PxxZ=gqrnCU`0Phs$)L&h_xP z9PR9O^a$A5t(Sx0?0~;k+%$9j%wX_z0DyQemWe+N{#1Sm-gq#)ry9qCJzI9~)z-D} zXP5>2Skp_re;F*`1|Wua=?4@zh`RJd=u)qf&^wGbhtmtvXbF67`~sZwf|^5r29 zkJrq@&1XYiG2hG&!7|_}zaB2mY}Me$@H5nQ8qInhhQjeHH_g*K7Zsp9+c1vq6kn=d zOk{jZcM;W*T}&fD63(L2%NEim`g?jAvOAaNfK~PaQ*+@Sg4YgfX3<_=D3x>7TC+4+ zYQR1tIO<-`dp2Zoir1XnkJ^NAEagydgm4G+g4>ft2*EMftQexa)95fa`wpH!Xwez{ z>OeGZ=-2@>6@P5+3{GSVbm{Hluo3YDSyn_IV414?)}{@Q24==b_!JrZ`A#5Psz9tb zN=naRVDu_d;mu+>u!KCpSP*?}dlEO}_`C$R&DDhp-FTL*n;vwFLjp#(;lt(w%|?EdpUEwtLS62=-GGCz(RAC09C&fctYt$cXs`E1^n^LIGkGoQxKRU@s zp*kTMU8&B%Wv;xVd)47I_E&X!x#Ij(CqGgM=OhM1QbV!0T+6Y=mo}wc?Ib9L(sF`& zDv7SZqH1NwEdP)CFhv$Jg6Bi&0LvRMfPbM(qSa9J;MHDQ_s5#B*xzr?v{#HwR*S8& z-x!7g-mp5r8;%Be!)$EWUI_1%;7I*Ju-f(__@h`Y%mhE0FRQM9a1FQQh>oyocdsh0 zz>ULK!I%yS46A-OBS~yAu^jD*n&NzTDp7TnE|$M!51f5iZssd~wbk&p@S{=T{HfhO zcgU>*4w1dReqrMOv-c(dmKD{(@a#*^!TDk9muSQ#afv%_$#+iG zt-Wr&TXz{=`-Sg|bNk+URj1Bgr%s(})^D7L^QfIL4E9Vwmhqmk%W605-nDCFj4zu9 zsm?w>SEov3D$dylT_cZ!dBx=Nff@Zs}I?5f0fj;ZYVrKK+DcZ$SJY z%l3Dah=~z$4TK}f!fxfTLc>k&Dt!SR7T?y zucN05madG~HfrNx10L2jTZh`Uxusi;mD;@kH8lu=b=GBMofEEwlTXME%9U;EY*X6E zGmk#P$@k&v$+sb8ayt30I(+?+8_phC1QG@ZXKUS=_UsX0?`U!K$o|E_0KYBkti;@;X!yd0xR?t3O$ zli+w9fH2*DNSFnK6}HDP4HZuNcX;m-(GL@%lV4*pJF-DYU78jocmy?a_$dK=Kfs5% zu*sj4Klo4EVWW1KY#0P{wKm8s_)5Ctvp&IuYCHH_iq9`NBqdtJeX~ynD^{p3$r-(I zs|xSK(y5>T$Jp)b-t3m>S%g*0iT7$P^jk;8O&Ka? zFU3q!={N#TpG?OStb(gfaf>3=>d@LZ3c+d4Io|^tGtAhd}Jg8V`J zEENMfg-@0#Obt?^n^Y_uYbY-T492m$opZPO8cuqjhV)KXkO~NKuf{pBvoXQWevR!{ z?pKCpv%jd^*{`E|Ul}T9FLTUhE2A~>FtjPHqjp6ZjLqx1a_6<3QPpm{WVa*k(Y7}h zN?QDErXv|X`h$5C{7_!9h@;?L=z==yB6@>{U;|{sONtU0A&Dn!hbV>Z!(f#8SZg!c z(hdd{%?jBnNd@w~aB!#@?!aTO*FYGpOV)ucNK;`4dwAeX{DvM5+#5VAY_|fXU#7>* zgFSqcoK21_F8N!T51Ayq)*I#WQJ(A3-jeg)QUL8le(>OS(m7q|uL=gOqL{R4KuIzAyHJ8btL7H0 z!5p5pS?hTK%4+nz2~q1Su+Cyq0OfbpEDmeAh5N`BLco^`vvR&QIE;>U={Ps3_8u zf%efhA4FEbMbRBAR=}n<{09ji#C2Rtera_dKjfP7U~~jlY~%`z zc-`E>IRJ%wGhIXh|J2p5HIS&Ljwn+6H_(~1hrSx&usPjy7u~j6if+e=BzQ;|m2ap= zV$1JgRH|fJZPPhX!DDQGHoHjC4e}@s-5@tRF+~CtHIddx09J{{c#Aj5i)##$1?$on zPs5W#J{rR>*Y=m*bN0{}50K8?8Y5|wPh)JmHqjUv6vc7SHg!L~fTGyy>ep9MoC=*C z9Yt{}6(*TPrY2CN()?_8k)kN%Q5=dwZgye{<0~MgH4=bTq9}gsEi{D{#fOEr5DZ>C z-z2-%x?(3@|2|Q=ja0RTO>Vf+xCV7QL%3XPawrIgr-z4vOCjNH0*@;`xpi3l0yn(n zFT?EDgFA)>pw#EJt!}OH^jf=4x4x$mKu8rh^_%od$Ld4Q=T@9^`GZVy=9ypPEp;Ax z>nWsjx86$HXnG64OQO1ZbYKG`ni>}nuWhrO@t$SEXd>hrdUv6CE}r4R2uACPXtDlC zkf`G-bIA7=@5veX@uj04)n)W1eyaY_M$^|6hxvBzE{f3fb-8Hj3i-=B7d^5QoHHVD9;0b` z6uyt!z~dx`NzFvML5}kUk@yS0A}Tg@3}hm<%nOY9I=J~ zlAj??uwsbS*zx9!wZw~4&>JW3a`3@JxgJn`zjO{b@oAbS*sA_gfsE;bhr*Al(FG52 z_3TUeGoZ6Fb%BnWDzriLT@*>Oz34P7x(0x(SgHY3@^KMP=YTyr2b`SJMT!=9f{SED zw7>=`x?`&Hrxj@>sYt4z9(LM8b;0iUc-lF`qJBW4NeWNMp=+ zqclZhQ>{7}GrqmNvdIFBGD*v6@7yx%ha}Bwhpc;X^HH@jot|f&;$f zoQ()Ul4CGfOnwfkl7$dcOj?lr&oL4WOx}>)2zb*DsltV8Q{dJVDB%c=;8$4HOj}3L zpV#K*;Np}z=xKdXK0Gjx3X%p6TdN9mq>xu| zva4rbuiz}`tW2*!MU2BSc%(w0B*=(cMM6ufls<-Vw)9o$Kno9+6nDMQiRzq;o$mEe zMU}&|u$}Qw5d3MXsCDb}j8yAWmc1h+b=r_;5bRcJL&nM?U;-KnNGXZcA4U75te&IKdqGBM7Z!h3Btk)*>F7RaDxW0z z0_G*o!Ch!A*!#vpHh99R)^67pI>F$f5U)Av>|p-p6^a{sV2rx2^=48h0sL7w`vE!e zpaeSu1H;2`KNEz+_dv;jwDa!rhl8E@+0i4>Vr}$DeJEO7lzUJQEXyb6%^vE!2j&Kt zMSZTTYT9B*B5G%58b_7EjK84-f1_OoZA=`yD@2%pz_aoSbu9Rs_H%bxa+m-_M(gR! z^??3>4*dZQ`U45{@2dj(Q(f$>0^)8eQ!0ma+l=E*+UF9b{(V|?mJ9L<9OGWP*2&+E ztXP>td7qO;w)5Df*M1ptV=bSO(Tks4kh>cj*1q!KV{KT*S`PkoS|?s9j@0#lbm95& zc6~yNw`{oRa1CP;+Ku(%wT!vwSAa4K@-Og-*N0N0J85YLHbzXA0YBp%JI(B6BWPze zksLk<>Fr?~E`&XDc<~6UU;vT#*?MzvF*tZL)KfYqm^^s%^+$GtUG_s23inD}jc zhHH&$n|0~px0_N$MIPXa#M!n$ohP`&q&qs^XieOpF~GGKUU*^9sl)w>dx@{XE*OA6 z>(fx39)1Ghv%y_E#Ek>+X&>YQ;xVAT0Yu|wYllb4QDjoBZ*OouzgvnbyK088QDVD` z5(Mdp2dGYGBZ^Vu>J;eBhF5x&UL?Vv2Z%2F8i}Wy*GQ?o7o5w|5=Njf`Pw4pnKpT za&}Y>4%CCBUsmh+#_CtHVoJX);iXP+J?8yFXGi7CyNcTq-r|JY0|9R$9p$|(;rE?j zcvQ+xz|bn@#$LB2{FxJ&;$_S!j6OcUVK{o~i7IYO_^cBz9=vj2Azt~46ATYtNx&$? zE8lYhQ=C^QjMehWQMfH(!*#B8k_YRoAsyvaGbcL1@L-(;j6$sQNGCAGS%<<{D(e*L zOw{PNIJ?mmAV_@8&<8d8<4w|PWJx`7okT7~v3|>hcnHS8+0)7@)=#SR(|Y}vAumOD zVi8wSub-oo6&k+)am?2-uyoy#a;c+v8|tO>?!n~hI-^b-^VsRC|MXt1R| z#*;{bs31AYs~-=NT7Y{;hIcs@`47cKzU|j4tEM-Td6b3wUaYW9eg-xCIS~lB#T=sA z+szAxdh94>cS7o+fsLGWoDBNS=4KP~)~2g?Z^SZ1u7nMeTvvfN@+Bmg?u~FHGaI~!Sm&0@;frPOt5(r~AE#n9QUm5HI9sl_{FT zj(L`Kn$g~c45#@y*a-}WgDd7cT}*Kw54(rLuo>(kNtwGb@qKz8?yP{EcgVu;EX>Yz zTiyBu)+2*UFs8%iMCdsAQH_|INpH4cbtDCgS%}EQE9f}H5Bh%g30|HOe4-1Jy^Sti5<&QQ6}u3+W$LBO7|^5Q6E zj_@lLru15Qja(JBr&{gVP5@V!K~{SM4mQ%uTj91=xDO58LKIhVzn?0OIesroZuD^k zotTinQ6`aJcxCfO?hNhM#41@l86`iaAOR?;XGlJ!)H@0F6w16)xL}OJ^nV)UEx%OFr>}oxTmF5ufyZSWu(?lt=Ar*oP0{g)ItD>M_!1{rxwO~rvSn)NUd8n&Vy?^Uqn8Z9;oei=vif29vUug%N!nfB33xQT3XWW6i~d`;MQOXsW<2+Vr-t46c9UKO$fZ{m$dop+R7Mvd!HIY9 z7*k+z*dhT)WlZ5hTCfL)CabD{9&L-DErTxM}>;y6{tcL|9^dDig-Q}-}7FcNXh>zM{di$P;&f7Q;N{O2SEjV2XL%(vT6r)z)*wuS?!i=wY>MCTVOeH$dEs}4HR?6+P9SAUU9ZZA)YBTt8Yj9G@kQLTOYn(%nI+ooALBG-_w0Z& zQu;#3#tsQq#mk&v|x9{Y3n>=N=+kE0x*zFnQ<=zpO_bdy$-J0*t z&3E(I>tngSrhT|JaRyLW*if>h$RA|sVD@-kVc7hlVJJpnk8d=Gh?ghrbUR%7=8Xka z(Tfm$NwCf^Rnrxy{bMw~GnerkB&P103W!xQz)lfa`{Mi_>L*DE6xRQ@VTsq*J|FQEM2i$D_P|7NcI$y0Xa&nI4m z^1mUQ^8eGmSN`?RC{#ngsW#qN80CrHxeNh41!M2eWfV@d|3qE5r8SbJi5ZKJD-51r zlpMz5ugoFh`+bLI>Ju}>GV%a_FavS8aXiNu;yxjqaGX?SxOjImPeuoDUPLsX ztjw@PD|jqpJci3BDkBxNf+}IC6?C#X-Nfse$^1+Nk}TQY!L1;9%5DYu#H+A^H)gYf zukSxAm^Tw@Be9|M*EHHzn&q2QI5I!)J1k$r93t*};^;PSjf{P2?dU66r!aTo`R0tv zwsRJwM$f}x)9l<_1$Iv2OT)tTHHDczt}BFc*fukF`haZQ8gYGGl1qpECCuC8 zd>gML!POwQg{pxor%Rb3qq}f|G%l%3HNT)6OT8J!bquMmS4IM)>N!KLYXJw1usPkG zp=g4IGr{0&Z2{{UbY@y@ST6vo;0i&+S95-L9R3CbbIid#fAdXnBf{nYws2+%saQVh zqbme?Hz&xu6f{*rkR-cDCx{W&_sQ;2MTUAEPQ{ba>-Y$wgLob9=3WPR%IcMV@?2CBS)UH z8#zAlDvaErY)0m0FM&?Lma5nZcVXFoQH1+sTHyRTMxn6?>+_20n)8 zBDhMkHs2s;X6D4cX8V{sW?NjT)s+~Yl(*I zk&N^Vt5+x^6*OEbiKyXnGFwK&HH|Y=-L{eQ&s$;o)3K zJG5**{@P`T*3jtlhT{XoE*I!0U`SQtqMr_ znb`<`-oz-uCjZ;YNS5&D>2nL+nO1W*WC%^*Y4%A>8=9S~b?f8xM!mbB&a`K1Wx{{N zC;VOoj7lb)gctP*7YZ+`tV0bL=P$4vDV_J+)ciQ2gBY;)aRWx4vKuf?=_(A^Vm1SI zS6>-0vMAy^9C_ANTlFqV4l91CBq=a#m`LpT7juYsd5}pDDQ=WVDZ2>Lds*2qKjAwj z0?H00T5ueF8;4CZfj3uR0(D;1?cg$?I#*Epp6jX7J6O|w&KhUaqXMTE78X5 znI&G2PbI`F3`_iZ#t>|lYm|`+uB=p)QN!e9!Hg@b(-25vm_Eo26M4#RnE1r2Fif{( zGE7|HJ#HJ?OLRYM;|_{l-Mv?~n&D6YW$MRUopA5SP%r@(Vxyy!d|}mP90h<@Lzk)# zMc&Bl$W+&P3Wwx(k__`8mN>i2A>z09l@;e6w^Y1|pfFLck-oxtbPjqkf|z#;AEWgq zTI$7kZox{S` zE9W3^d}ZWVm6>7F{g@4z1WWNKJBCgtldMRRLOI`o1j<8o$hgFGNv7uT3}a_5oTyL1 z^-`+NE2T%7^Pbu^8YPDPN4B#EZldA~@$9Yf=+d z_yHLqB?X%;*oaPUGOV%k+aMf`#sG@Ze6w3`XgkobPfcHADv7j#4SN*Y=Ja565?r?= zO(>RECyIWSKgg28R;O2ZQ$xP@>!C=9^sCh_C7o0M#&M~a+-%;Ohg~^hWz@tE5)4#t zAu`hRmXFbr^%hZx7kg7W>EhuaA{4g$l%APo=DK8EgaQM?kQC@7aTnNw3TSa3l$y>& z8xG|S!R><077NS_LFvueaI!u>I~42=X6n;3jRp3NnGsVE_@YaZ0{&K}GZTSB-iYxK zfeu9(y#X-z>MgGetP3Ey*%jrYN}h6Da^I9K5co=1cFvnJg<1989Q6)Wc8*jrarZAQ_B^3c;^8)EydX1CpHbl}8y*j@-`T8F^xYA&#pKw3Mc z9iD}vPPzemG(hdqaBwBwX&X|>Cm->29XfGfr$9E7Gvs8sW6JvgE{{4b@|E^H3r39G zrVEx2PnvZWniIjHc2b(U)|i-YK!%36ZH@OiJaB0<=*)vEn1G5eouCOxD+CNU$ws;k zCwXBp(9H2n@)-hwiSY(&{&mRd-ca6aRkf+SM z7>0Ni{QI0GS9RlfJzP}Ku7{l^X!oK_JLK{2_x+|XoV%WHOp?IQj>LMl!GJ=e+J%uHe7;dJKJlJGWv zYa`*C0l(?Hejd31cao0srpLX<35G|GL;{AMz_OOe0!J_n`_p$etbEW3PVp2L3Z;+o zH$+4v$lc)t*0ynLbS4rfEb@Qa6L+zJQzY69kgD8Gpmw4DyuS&EOMH2g4Ot5p!I1mCQPHjwj)} zw1o`K@Q*(7ROEge8lyWgPJ!R)9ACiaNS=Dl@f%NpA7Uy6k6q~6B3{#}x4TQ)O-%gl z9W;>f2J#Q3=}epQ;mO0$HoNZ(pIzMNKB~)Qz|?1b1Uk-1h2_m%@!c| z>^#m!oP!t~tT*f3daW@OObrFoLvZ0}I5*mI~Cg5H4oYAH7vW?WwK~R4>Eb)JBFUnm8(l40ppUsJK|j5M7AFvK5GaJdjFt z4?$;qbVXGY5J9@06VN^FvogvPBc6FyWqr~EYhhe2Xf&YSH~X25)DwWIbnEQleUCaj zvf8K1P~%??|C1Pe;ZQ!CbQbBWkd;%ZQg?Y+j^iq0_4s4cOGXs9?4Yld;oNH&=A#8j#Ceg3uXL(_@5Qf2? z3D{oQGxlV-uIk!w9Cmjb;pq6-koA3SjBmRPQf@JbOd0E*C48wLTel#VT#jM!q{XD zJZSAOUR|HutuN*yWf8CPe~dCU*_y4@;lTT?2*r97vV}RQmUJ8bxe5LZ56?B~0Nm28 z=C$-?eOC0k%P6y+)NF=E(X(! zgV<~_I42Nq4>sZEQb_2hpLXmR7~qmd#Jbd;WkfO^|6;&ms*bm6^>{rvBF)+?C|h(! z;&t?R)Y6sl+D2_WY{0|1X6sP9HV67vUuoY9n4?iw!Fp>cJq;}DthWu4Dj?HhlAO+I zHEz;s4DPm@O(p-qw*Z_2jCtLPRv?jqLmb0DdPD?sXS%9feKN$1!_J z=l6aG7e)7j>Xx<&;*ETks(7aai$3a2#YBmHGGN*f!DEKyAvV;ibF()oFw<$_GPvSI z|4{Bs*C%|UPL99LFrP)(SBW=-v!Jy*_0H1kmSi$+VEm_2aUJDKWl$!N-^e?``{9QI zUPj83QaE23J5FsSIuu4;wVVd)9%l-bI{N`3ZVD6(13%A;0Xs8qU?Qyy7K_&z<~RbI zeKK8-HPnMT#gzD7EWM|rZkcdd(|aJ|Y~L|W#CI3KCBSDiKStM8vf_`8ucCuA8kgiU zZlWU@cKg1kso1^$VpPwV4B6?{npg}yoC|P2Zz!k_hr?XU6E|sZZH$yhPq^-egVW)S zBd~OrFOY^^Ec7gq5vJ#BZRj%uub@6PFfcp}C#k@k>`7d#gZ1X%uA$)IRJ%5DWcT8c z%NKVH4GbuT=W=3r&_-NdpX*G_)Vt3Wpu$L8b1R{R{Vlkfs|#rpPp>uLF6&SZBIt&0 z=4j2IF>MmZ2zrgHN>K0Sl-_3(9yj#FF$tm=6&Wzp?O&g~R)%C6;ykC+I2JNOLnJ^E zQ?r&ZkTO!7ymQWAtIBig1lCbbRC;CbUs5jokIKgF3Mg^bAITUfNe^tJeV#@6LU(ab zrRKpdi7JlWO=YdeFhAyv`O;S}$1AhfW&ddv>l(uF%rTWQqyIkQe zhVCQY=r;V)1P}uEY3P@xYhDF}xL0FJh92{r(&uU4ti8S5d9I_TL!A$Mslcs=c^{gD zc@1;J1xF9`z70TE0=?Vx-zs1*%D%%j<2(_$yR98!MDDz!8Idz*pKzotCU=5D3&Nu5 zF*(XK|P?v7g} zyT$r-h*+(V$B4$XTaS_rg^=oEpLn>YkoZg#4RV->9tyPHzs#;((ZJ0juFW4iS&WK7^D zI>h29LM;lqZVbgl^Q39=myPI09OLEKr(3}8h%#|bglNq3a>=qhi8x;uy#dVO+mUTs zGV==n2Y#D&h1KW_r-d2~AfAUTK-4LCK{thmxf%r}3B^`vK-`Q~SEXdLC8gf&jkcb$ zFO=+?N#|}QE4SIq6ewa-m16Z1<)!4O&xKKB56e>)Kj4jlgmHw_$#Y22adH!fj+2|6 zU}Yl}Eh%jTep0pC*TMCbv6f>W=d*yhwElBwF|oUYSV-%ba+75@hscqNozzwt@Kcbh zzV4Vp4&11`=EhAv^<0{UcM-3UhJRCDLCxM(MpwUFLai4t*`Ahw9%zI(Msnxy?q7UR8vp_f%+;A8Af`ym=2);e(V3q>XUH zv`x+EOn{2TKIr<9{6HC!q30|YdXn(ps=0-wc-`E>IWV|8;Ztm5KEl2>0a(uGeC}}|<%Y@}NNuQKKnbg)D0H@)@5j7LLsl73=k!x%PvRHbb0VlfOv0;qr ze+?1q=v!qZhJ%~S#ewiWdgCB{Z@~52LT3UaZOfB3 znpp;pOdJwD41TPEIyGo!`EHx{`@QFFM9==%y9>nvp8{T~&Elqn!#@C{^+dghp2?_B zv6XTYhpm*Go#y6HMXAKS8dIHy-KQD~jVt2g_YhIoGbXMX6zWYgmC+ZmXT`1M5~Kji zwBMIq^pyR!4dAyCII?1(5o_U(34%BZ~Rr)@#9HzMswug(&80+2H1f9wR*m z@t2oQ5!*DC>;wg4kW&uM9Jvpt70`$_`ZRF!2d-tu zimv0j7k+yQTLT{mI}`A3cwoR7nWnmzJ#sC$isi&#)q+ag;!LDud-e3B!v=6i2`$V3 zCaH?sbT|}k7n`4{XrDEOj2P)|5J zllJ)tDg(M?zfhN`s^==@9>&zQ@1xHvy0Ao$C83hbUTep}fy zkR(}NXT+N%1DKp0PMJYL8GlQ;GrB0djJvF)f{T*+q%umeSd!eICChz|K0Q(dfBtlB z-|V8pHLPUaQI+}z{#r(1^iiNPh4s(z$un^02vq$Hz@i;nd_d`p^-k~&^mO#y2j`oU zVH?ySoVq;1PU}KU0}f&?E*`vjUvL->=#C$}`Fc1nG7A5vpT^A7fs7Vr=l;%H21-v| zKih^xz}czKP|5zz3opDdn1aL2mxr}Z_nI5w%uU!C+&2`A?;VG;3VU}ApTA=O+e||n z*}xCd*L8fquQfMJYc`OkbvO$IZ_%G-_5R?``ZScIYqTby{^;NisQ(AArl1BO`~!6W zXKRN?q1Xf*_k>igy(7Dl&Y`1WxW7`|xQ=oKqOH29L&Vv}FI1MSKf)y4as&UBy;cIJ7Nc26Fdm7FdG)kBp zqxH#kiXIgCiRgurb}g-tW5e77F3c4Qi2TUavu{9T)pWT5kpv@-V928>8+@P4A_;G% zmkddo>9MTMoMbZ9b$XowlT(6Nt1da9_yVVa;dJjC?lo% zEmrR$>0K1vSCL5FagOQqivHw4Qi|_Sitc{^fg~3TeCm<#L@o>@PrZun6Prqo)A5N{ zVa;Ea$(nPv_b46z7$R_^aHVX$J37kNlpZzYb@RD_^~Dz^L;;J}GDk9(_Fjca^0T9% zOoh?>q&Y--Mrg%ah*^SWcI54@3GDXGbD<_m5 z)BTyVqmrg8j(g~C6KwP`r;A8y%EsRbGbK^?SZ7D&Ot<4$~d5a)WzBf8wOd_P5a z*-M+DopS=@!L$^hQYlfWGqKRI82ac7pkDiHp|eHtyLzp0EOX+{o`JU8D_G;a9{EOJ z<8Z99HO|Ko%~{qsX0h^3aFPvf+nJw$qLivFQohJM9lafZqRW}L;u9Y@zyGK&XO@kJ z$SCmJ3L;>YsqHPqXX0WKQ?+2@j#L7rWoWVT#vIgyn}ut4+nqfs1v36dq0Jw2+Wesc zQhBtA-isZRrDjra*qHo-S*zu50J?Nf*k-B{<`cDAK86z{i%TJCn7CDCt(Mhw&1QgmOAv+HH~8SS^$a|)Hfk1zE$Fy>cDC|=v>czSU-PxbCX zreib!KeuIyr<^%>I5aQ0+?`@R)jpC4A1`=QshkE90F7+5UrSp-q6U)|iJRC%D%L5x}Q} zV@@3|Rj{k7g*6j7FMfYExQSGX?;>ThEWgrCCPQ@S0)y&4;j zexx{@AM);^2p#|8=+g1?-jgd#NA9MKsM<$*Z=>WlibMJ}?=Ff^@>{tm>2hCWo#=31 zq-NJ$12+19ZLQt*7O}N5hyE{;?f4~ciy)c0%*f7_xXcUQ>Y%9093N=3rbnmhjWB=& zzP2qK#mnkJ%K#kL@fOrlXw7%Q>BHlt_*z*~C{*!nuvn_MuPLF&e5k373 z;l`apI(NHqNt^6$9H35};A(tho7;Kbb2H4_h<6u7jK*VNw4Ue{Zd`)8+-}_E-jg%% z<4e6A0Cip-^L~;;4SI$>mFn!}}udE{f3e<++_EZI>vU)meh9n%8E^J&k|6Z*wW}JjeW8o+BjZ@@(|^xzyCypAj7~uW&-| zfrd++9hHNIGBZ0vC%hh+oi)-?q|<{XaWZ-lVz8GsN_3n6c~F7^6PcYB zgBAS}jTk#4(HBS9Hc3uHue?snjJP9bBCUeF&O4E7^t?`vQDh?iqcZaTA;QTa}S=<@1TvgNjDFdf>QD zUp@3Zz4l=QlAK=q9A7<2XlmG9%9OhO%F(K-vEk&}S%nj#H-c{!Zabhq5=5_#bgq*oG{h z*-lV{Gs?|r*sqR7eNStB6m$ie>6unJg9;0*__tNksPODnVrZ zyG+71y|HQ-%+E3lGH>dw3RmRkKVy|9_K@CU4iUe*Z%w+1RJNF`+(=ju6}=ac#~|nn zBXNS2QG1yR%iOq>7^dP)6_|>T10oGm!LiFs#a#-oI!uMRusz{v=7R2sJU*U*X1@JY_c4Tm_WAw0uh@Lmj`R zzw8iEt)rupVWZaVwnslbMIi0uz)FVRJYT z+sq-B58-sLVSPdkW*E#wlQr0aeKt0I)vsjBm%g$Q=WM`Sx}R?BS>dv ze#yCf()X(QY4J+&i6&f}YfVbu?}XB0!~KcQj&e=cM}r%(AhtX#vJjmC&@vy<80O98 z`%-Xe6qZevb%xl@Ij79iqm*T}3crPX#1}2JeuoE^QgA3(khqemu z)mWC2C_5r&Su@;)SuS9p3|~#WnzaNxFQ4VK{V+gvMJ|pWf@?u@9Pz|%r5|j>Jo8) z*P27b%Ys6>2`_yg+k%p;cqDQ->E>UZ-J&3hRdaZlB72oWP9KH7{XjTX zn{R+RueS$x1a+p~N$mwqpZ91hvvTxdgovo~KT}}K&&~SEIl7%ug<;`Om5~ana}}jj zopZbwQ0JdPAc;Ev7FXxwDZ4u76R$#@zdf5ezq2pZd3a;KbsCMMjgI2)2eB?mk2Tsl z+LZgqG}|+IDa!#<>EBdXGrtfxRQlJ!pgC0(O$VEAX)HCJV8NfY+nSe9v@32~Bl zHro6TATC{5cr46*;q1ufL>lB2iT^((omH?fJE`fKuE)accxOksrfV2iM`+E!omiMz zL?QYKibt9ae_I7MoaPlLI>A_zad4RN`U=9AYfW}M-57;So*Pqp_Y%?247as~EDF(u zKuc<_pMXysj{KU+FxUUa2*76iIAx@C3AAyNvHDWcN6j_IaRGCE4FXBb^>?_rCQsST zHJ^AD=K5XP%=Mf5(p+QiVGXXa$P-#UJ#mp)AA`w5XD*y@2UrJ2N7;|K2_ZH@{vb;S zGvblLu=z#9&|G3&Hf0VGFBjVBhJ33^5r%8ioNtmEvQ~ysw>BbVQ@+^f_5wg^x_a?2 z@QcolY_Tw|3W#&lbjvdlx)xGmSnyyq7eNY#UpKf{_YCQH(Q?*ZZ}Lf z2ZtH2`xWu^G2Qa&`@){QXz8qT?3?o)ky9;%<`TBV<6 z?I}YR)HXEM>gcj9H$Thb!mN5z;o$tTV(3L-)gyC=emietC4mUJ==S}nCPlpj(3h@R zJeKA!aCYQr>=sF971;JSJE8Qj?RPpm$~E1RY`aAuqMHHQRNMah71(yMUQkqsVdXhs z%;rraq};mtSou?uD14%|9BEO`ma-a){u-eni}a5vaOKxzhSi^9q+uBNs4`NzY}$Ct zu=*-GsnzE=FJSfm8G$5L|7YCllc(%fpHI9BtN-3?R=-ad={Y0vTa zI2lSd?Chm12h5!Rm%^I)g}`CXzikfDuZwhrO1cq0>WlRCb0rz_)y|G=TE`%#Sfu|C zkQ0>n-=4c-#f}#&VU3d)LX8tSg*j(-^XX0~Jq-CN&W>_Tw3>jx zA?J&9=Rug2q}!9yQh+!v&1>vk^#QtbfIgHF?Tztog*NFxG#Z%~;>nms{vFwa!ewr8(Qa zqCL1$m^X}$vSDOXEndrVz>IZUVa@zPU}$%-_HLR(#LI(9y16bri`jyj=oUm*n)3dm z3Y0gyGdp1(Lw$3Am^!;bA!r`;jYE;8mwpz7sc*S~%(l@Racr{Idc6Wge$F-2cf<(5 z=KDHjq=M>OMIKe(9K!|F_dN(CQQs@igr~bk;D5+dcJ<9CUWNL8e>U~~_P$i#SOj~t zGe17jsC7E|^!SNMe9!2L>T0um(Xpd&f2B68tk*5yWl3QQ{;w70%`YYn1^*Z35b-jj zW96FOf}`jk5N~Ok{(Ti_`ZOLiR6d7{slY#1NbFGgW|4;xax>{{*qv!jl1oG3s!+Is zl-$Kt3y4JFYbIUcq?Rg^eBX_ zYoTl}yR=3<%@a(v!cNd^b!VW|<8W|kH<+z01modA3vS?Q*C!{#CSJZ39`1%sxS2Ll zN?}JsTO}hXh<$(~_9x18D?#jPNc3TUgN^dMvEiFtP!Lg;nxe z77J!~ABjv*LUh4lcLQ^Xcv%vya_eisRJ0qhmu7uGP=WPj>#T%n45P~dVpe3kLSKi` zHO$LHxrm@?tu<-A;Bj$XBdx!e-c07`=r<7#VnKgHfv7}9e<~veoBKt|NCnqiDk7<( z=h!Zw=tmJqqUbkrMNgixD|$ZhDir;Pvnl%i+}~>C%w=KwTlo8o`&)D^*@OcU8tb+ZmcQ~Q+ z*x$O_*-@_P`ncwXD2PL%7Ey>^4A7>U?hjR9y4n5~;daAtb8wjPY9V~w_wzB_auVtj zdM2Ur7P6X({vJms=K7Ng9QiesvEXeo0Tp1}{0&SdRtjkpNQFG04T)QPz{rDlpe)Iid70*N<>^ zlxw;rnQMzEMC$0>*j*fh5NISZ=JzQ+8v`CtiiI z{@8Lh*3E)zYy5piV@-$Bj5T>F%KVGPoM044chJ!0RXJXCBJDO#S$d z%V2w0uwzI^My)4yZ+hm-)F18y$isu602Q)=V!6M`36)K&8mub9)fQHb24H|xlls>c zm{eAmm~x|GQ#m}$!u(i~FCUwF$^Ld&>%tA>kc!kM7r((BwJ>Zz>mLmV!8KtR%!G}( z!S2FbxC09!1+|HZ`8NKlQ=e|u;I_C>%Uvq1S6N?0zky^Rw)OkPjAsUzCgTo4b+8m-!YX@^o zF|$*>;jj5VEk1w4^l^}w_WzVZREOy^%))WM0gI!sO%_IT^@$rA z`eMk|KxW`lD!(_ID*v7SI){;*V@!l2Je+Se!|K9I-3-pPTiw<~tKqH-zlG~|I=1W_Y2Rcq zVH*BX$P^{4{T&+q40DKh84*!m-E5NR!mO!T9ex9A#hMu5LbC-i$>Oz*TzdhR>FUKJ zWcWB|N1390B4l_z>8yfH$EP`=^a$Br?d&MmbbZ`)Lpnr+)FK_xc>ryyiT_juCjK~! z7Bj3ohl*Lf(-BOrJC3fEzZu6SR{psP6eU{u)1c!!R;*aL0{O?(GfX@3#jjZM<9v%-oe#3dCIQ7`NXSOt^H#*_5GH7MuY^?em5oNn&X=@0+v4oV=2jYH6|1w2q%&i6rrkICW$hr6_Lhy3r6mWVL5lG_noWq?S@|4}_;S;aI>G`K@PEUXC zHg@XI4O>(Bd>*#j$og=tTVc16HREcQm=F1bEDy}ZSyEUuzc3iKP^?{FZ4S|=yNv>c zM{V_LK~D5mL|EExM+88PuDQi89-2 zFAU-1_(IpHBbVtHGIK|NhR_jZ{{aQg{QPYw`ie9ShISmRZ`}+_` zqU=YwvL{d3l|7$$70Ui!vMKxiJR{NR=8R8nWgZuH;8OE&3L+Uqj!yEovJ5Z<|8<2e z^9z7O!GF~pqEF98XcW@ducaqZS}+s+2(gu>-T%1)?aos1>EsR7&f#H-?8^!{eN_9g z>}rIrJu+$eF0*X3`6i~e2k@y1AN@-V`)s!Bm5~anZ54G?ZFBqhjAc@*OpQ~;1 zlwED}iC3YvznD#J_vhV(tbXlGt93&@Pn{Kz(R-pw+N`S$cM{s0(wd0oXIV;^V!uFP z+)5PtdFBv(dS#)G&ZFkPTTm2TjA%>K@L#Av!>90{q3StcO!%{Tb@wrkt-5N5x)*66@OsvTU}>hd5O)GiN#OQ)dPYH}E^ zGoXGR0@8#~+q*qmYXmh`&=_m9&UeU|q26T`zk$5gpAF)vJN(j`?@qL4 zk;=da0Q;m)Ydc0)VN86IR|da09SQTRvNwi4`snvK{FsQ4oDDswX4SQ4W;R*y^O5PiA>Dp19& zdo6k;+!Bbl1-=UYea=$!zJqT+KWR_bkEx zv^pJe0ebe5qNfrKuXK~8_Q@9I7ph!o-(-yWW8l_K+ z3=X5kV5FxrtlGI#r5wJnk?W^`%XC%akAM&CuAPFt^kwE~MyQ~y<2H*7kGirMskMlg9y)M3-j#rkd8vc%QN?4x#!C9W!D)OX{OSipCC z3ZjGfZu_|JMxL_!Zk)fX@ZG+i&3F5gW#qeY8O`IsJzRC*cwbq(xZ}8H=RZ@msjY!5 zM$Dg^DoKV6<0_JK#?2w(WlrP=*Qr|sgqGseEs&0iJ9W1?0rGI_C_p~i)!;kf)Xh7g z@^tDfOdNG#fK;dM{tBGBlTtK>nLW!vV~)xw!pdDDhi7L*Yfh{+>NOIZ;W~#dS>^nY zv_`VZiT(&-AW@h1D$tZ@xvys=Ve`I687WO9taJCQ|uf3Ezh6YW1y zt#?`@S)7;!|B}Mt`DMw_q{4##i#bI6Yd~z>ikF_7Wx-qYZNz0-B;cDB7>!dLjA|MV z4jxmW|D@2~$8cP|ANQ97SODYNmTygw{aY@2!FUb!gmIf18zr(C23$5L;2G}24coZA zr3y&}{mb$dtvSrh)hc}A#xuW&8S#YAGiG4e{vQq7#_o^LUaCquYOXka3z(~u5go)_ zUCPZBdCG3C_{6I)SKrQNuKMvf2aoOK+7h5i_HrLAJ?u5we(gq(G^oebT?kZ}lHSX* zz--N~k_5r9HLnKvsB1W64$+rKIbO9hS#YLzN$SJ$a@&_B9pJ*cCN@g^CRDywL zVbd*mjxNMu(`?g!R$!Y9hD|i&E07(Yw06acWkGtTymu&6^D&iAqE*Fd6j*Q;Mt%>? z)F)<$apaMnU<6+ngLW~$gjqyp9y^41yGiCH_oEKTQJyV%siH2~HaUR3v)0L45 zuG>_?P($eCb!uhfRdWkVwaB(KjP4u(oXjDR#1LM=4Iz2TZV36rt1yJ$%Vr4Q&|m8| z;;-i272hcRx@6<`GKD4cGrysfh4FilIYiw5)X~k}8Z$mbU&&g9xfHKAr(CwFvtTv4 z1BXpBb>FSP)JcqK7`gr?F;mI6D3o%TH*<6NfNbAb_7~sr?3i1glk+6U5u0#xsM@%4 zx|BIG`XihmjZZ35%`fW4g75i^?HE$;QAPr!>UrI*YXJw1usPkGp=g4=VuHch+5$KM zn6}-9)aC}^sL zAjwv*P7t5Xh=klCn^_eZ>UcOcPe#Y%bBGS&cwEgL5Au}V@!*_Th2!yqY>r1imW!RO z9UkR^lP54tGjFtRN_IuQU6MFBT#;{@L-b{NUk%Y|OYtpQJ9#y(eUnuX^HP3cVxw#? z#e(qY=QwPdm-77zyc8Sr8t%$65nExZhmxtq#j#&r39h4b_K zl7{gV!PO_4L&U!}Oi=l@sRet{)riqFOZcM-EFsO#bMm2X7zL0_$v#2h10U0K5uALg z%{NFE^_x|)7pq_XLp-b`lY=tBqy(dZvkK+4a}hDLuSqXe7$`<0O_ zQP9)p7P>R7=59zAn!xMbC!q#JYjzHf!Hm}%_3nad=z6wRCj1FL;g2g|R5IZt%BWAc zP?S++9cscje}U~t>AdIm=9ds1#DqPEn=tZ}-Gp&US7E|_krM<9u9s&U&yp0e8}KJhAS(|iI4RGqz7wwib=M%W&2b;7+PLr@{B(Li4*`Lc5- zdQHeaYM_|Z8C z#wcQ5aB_^+n`o)u`5|YUDk}o{gN@GPK!kMp_c+&gJ?Y3OW3h5C1Dcvl_}d1?oD&R> zA{Gf4CqH(@iXAUl!kS7igqlk68k8Ot68g#p%=4VUoC#gqGX~@1JM(jMkgGA;nXR?E zH_o@93i;Bli8?+Ft|O#cg2I^MvfFbJFT*>rE{Fd~Iul1ApGEQhw|e$BR}^g4gT^7y z^+_Anf>MaTwV~z>PSkj?%j+oEdexJR?D7sL7#{4BfT6R?$`KVO@V5;cf9wRKIHOSL zs%4ZdiWyUZV|6-2>N>`f;`yeZws-@zc|70V3!08on5@N%Qv0C6lWR= zW3^0EX8od-M_d-jgE+sUJffRM@A^f@I05otS_)99lql4hs9$7py`pCV`cjvTzj_!N zJ?gmIE!0bfz|5ZFC|9`@9b5$?Jf#NzbL=i?yn%VS<`G2>3tO-pK;XDz?O2wXq0{}C z7}=CFC9&EpO^_tnlu)s@9UQ7d@+D?YGBt;X8as30M188RpS>uhM_FA)j{%mWzQK9; z#3!2H@7C9V%gVE6R3A~00aX94>ej(xCE2w3VakWW=mGUhJaAR54c7)jKCOOWOZp%a zhpmV%b*cs136g{cKLrRVaWBUC;F%{OY?p!e9c{Qk@m9sOwy&{&7>v$H`C^16UL@8K z!8zwxvzxFeCkV+f)|zUzU_Uyf)u{N^Ge}3HF@SP3-|W^K+D0_gj;60Mr9|4thAd`n zk9sgVNu6mdFHaaP>5WqYY^&=v=}nF3Q84z)qqE?DqjQlEgZPB%D52Ad_%{i}jFHZ% zgR?gH>MgGetT4#U=B+u|l_OSW)c8SyLEtP+arsy+S#c3!Jja{TNf!?X5uva>i_$Z* z%v_f&j8I@e7?R3uB=Q0qQCOvXZXQIW6?7)ra7J$^*adRKLNh~9lWjJftk2I51-pZp z`t%IcXxCO+rXcWDmm&rHtxRX8kZ$)zjE4xkBAW=v&8{dHRq~YMlKZA?fxuV7vM=+d zOktM2hx;wSv!HovyaXd28^JRE6Co5D?CgQN6iAIh;SeP@VQ7HV59C`Nq61p9kk#mC zzwfjf^H}0Bzz-ygHar|o%)?1lJkyHFN$ICh*c#H51F@b|1VOx(*@8*J2fXp^Aqjty zO%mj0clSR5WHiRh0A4Dwh~!En_7A-|sHntVw+7;Yb8rN%D{6(J=tAAl>97sa{Z_Nv zZZ$e^06c6j1T(Ee;C3|^B(a6nN;^CYMV)j5_Gp0GqhY+uqYhIYmJHd2B}tR9P)!(N18!r z9#p{u)PU&(O*p_tz<|C;*Kk)zx-QsCnsD^6hSV?9KgtZv^ukxYsp_E@zLZTb$jyG_ zOWm*Da_91=uS}Wv2firybzpGf$08$CqPzapo6A#lR}MG*RPJLxBQF%|`LYX_$Em4I z)~Hi5kst6C_Wrz3e1~_T1|8H0Ob!f*lcH)2ON#>($l-d_&A?b>pFHIIgTNFoxU-B99)1jg&3++Mp5J6~{<$;wl*?2*U!^#8Umy*rB>o5_>VMNi#HowyQ` zH%aYOtEYUC6)Q7&dyyGRh#xxk?H^|jv1|!gd6u#TSthrudqv!L$p>5J(Dmf!%=TCVkSdS+|6CS?XaWHz7PqEMLDl3wCAJb| z9gBPLBzk*3BOpW8^~y+qEWO0T<=0|S2Ha@C`wb_cki&FxyI~#vY&9W{)P*`2vvZAb z7St#ArjsbBd=99?J!a|%m)o_1${RTw6BS=}UWQE0^}peH=po0)kmJfyC~7x`No4gUlXTuP4I zdr3!mbL2ke1j8dyA^}6sVp&Usfg_k~!zJ%*SoyRQoZ@*b6iOfUZ^($qlKXupu(r)x zqcf2`VG+3KJupD3Pq(@PpYC{zS~C+VI9SY6c|F3(*9Q)_&TwH)-w(UFkkAP6#wH0a z*2XdHhn1blewfNQJzL8x6+M7Z5ufcR3VbCx8h0=PF--hW87W=9ZOoB)gko*4qLn%t z9QOs*_FER2qcO`J4f2%T(clwL2g4Ox5p&#unLC_y=o~M^cWFzRBuH?|WLm;3EwPE; zsWbJ7N5a!xSay><^_t^W92^~T9>37FMZ5;CA+14yPbFT#-`)YK!4RZ)1Nn#2bf!)D z@Z@3WTbt|^xBwu>C~6=$SHfRXiZKtB3`Wm~{-iI_cQ?cDWJdb8fG*BV2?)KD-z z1ozQ}bE6%&CqDg5gkC0l-2`lVcC;GV?4_)vm`8VsiA6pEAMzLmMjV~nZw?XP*FlVS>26hx44b>T(%i@!vNkkeC%w1P{$tKLcp&2=q@%p6%}+bQ@K|joVCbt&uQL;0 zaspF)tw~|jy+_q+j1+ItUn`V(X5yz#e0UJ&hm=POpP5+uypr@Y1*lX?6zWW@`g>Z^ zU#i{@Ul2qdd#4-Q;Zzq+@rK={c<1PBYjVC3cFqMi>fF{`w?13%kez{Zd1iL!T)LEq z*TN6$a7V-x5Hwx~e@wO}mZERLiHl^d`U{s=!yP9BSL@0OT>v`p)CU1D0ZHsWai@wc z&YuL+5NjYun8G~oF?liGOnoW6K^Znqu9<-(s~c+5;W^jNv_segYfR#n6hGPvtA;QP z_DsN5%bu|(!*y2IhU2aIMk5>@9~-j1uZ?l%b&#s`^K*@<*upqxAJkKQ49K6rm%1p9 z8dodp(fCCBWVw~nRCTluJD1n5TU9hE^I*R1ewRiVjE(?I@ft+>Qs@dlh*Psqw00P; zu1}t?FYr}Wt%^g8A~xBYt<{@L(X9x@dX%|^IXE7C8~(Wo{tOS#HR=G|(yinxoU3mx z-5TAFpY^#XynF+EBWUmYg&GqvWEl`F;+L%&QcpO<_@XS%s*R;`)|8vGYF5sgu`)tp ztn+Zzq_sojtj9cfoK<7NT+Uh1^@uGJe_APM!$`PtSV2~F2QnmC#kzEZq3@MInJPyK zr;BZH1D;1CfIM;qkm=jtkM-1(!5}eje1nd1YwliTcRP9&0!t9|N(F3HdHO_j90*D_ zw+#f{caf@^zj1IpoUS*IkaXF_fdKwn7(H^sVz4(jO#VG5I9O}U&D0Jy;eu00@*gCx zcLc$~gQPY7dG-jlKR8?K&a`Kbz%_7(7e|lKp9Ry4gQUY9N&Bv7Kh>^H92q(LVCTkm z7yb>-!*7e%AKAUQxCsA~`~ZJV2cQ6*9ULS-B#qA*Sv-Od@b4mpEI5Y%4li~L91NS2 z$;`M$AnND;nOVyW$PDFOzz^8Lw^B#={0YtZTLo zwQF-=wDigm_X5We7MIk?S}F$yck1H14bC+{63Zkx`qXONq*c@~Kg;ut{(uYIJ=F`` z)|4sf0(auU*?M#I$l*m4r5(Z9!8H6cFre~hS|fRSjGP~O@X5I?W$rpTW4JD+4X!UL zialdfV|Z?8vOYBhFX5Oc=ohFrlzf~XBRA63f}I_bq_h+7afN#MwMKxKOxC(^2o#SE zB+aR^xgONV*Z_2j=c@Niv?js9<}s160DdPk~dvC&%Ar zn9tXthL%jZ4UFYf!mXo>sEos8@Rxb#bU)VbB0hmky^~UyT^T!0Z6!JszLDx=7~FcC zDM#w;2ZV$vP%sP}^L$^U;^f~AOp2AkV(~h|97kZIR;KH*hDK1Qm=Y$9rT28yGn{k1 z2exVL<(iTi?*h04_)KDt(bbcz>to}q=pc>8C3)J%(UA;O{a{u`c(RiKHV-C2y{L@v zMCgKgB_b4r+Ox{a2z!!ks9^9wty|j<=j|XS5Vm*Vsqbqb2-n3h(Oe4-EU|NKJnY6e z)jYq-cd?X!34bed5tG&Dc%x4~rM4S%9W7;mp}z#NqLjfiN$1HbKNwWxmjRHp(ZWRV zHHrEB?o(CC-J;-&;ew8#eY4HC?LFUQR__8hDEqg(yO6^^q$;v4&O@U>Sf++FPXe(~ z7e?!eanvs<6@_ub&mR zTdZTrP1Q=7MEfv}Nsf}HxR&qnMomxN6XO0ZiZmM3OA+^^O=fZ5z$ULsx_B*f9@8lw z^`506?wi?M|LmR7u>UEfsL=JWar( z=K{yd9@)AvlnQOxkX|P9YmUBigv}OEeu(mL0!>)^yj-Fy^J$!~i{1d{_4CNg-wr7C ziv<-{n=hOeYBPXUJhA{$pWqPP6dvYk6Lca}NTZ7`b3H_AN0qNr-)87kdjiS8Exvf` zDe6L}t|OhhT`0NDW~MI@ovO^LpC~gWKP@PXfj0&c&JkiK&ml#n$xR$8O>TCAm5)@k zq_h$ENmXGb1PdMym`m$FhZ++h1jIsG$CR5aAp;^vDt1y^Wx!8CuDa4Og&eq1dCiTR zeEPXG74ITmAr-$mub}4ljAI^j4F>009mtr5w1}xjtJWO~*iqfRLh)Y%Nz|a|p9^h3 zfnn@+x?P*BLrj?DSL0%sX8#W0p;p#`7z4a&x+MggL6y1zk-9JYt|y=q!3A zilvOAwd4oNkPJPqa-k>LEnhXauoSPGTQ~;>cc){BVA*Z1eytfDjy#Mzp)-+(5wAu# zY`%Mvh(T&Ns(}xhoRQ!mF>SV;^V1ac6K8UpE(Ho6WAn4wMT)tUIm2NtpkOV!O9E5@ZoasM27n&%Fv@$ocM;}P3M9H(_p#d{5|DO5btR~fLP?=~IJ;`ek< z9rd7)X2NuvBo(O)%H;Ml4uI3};Rv;geW~7<*vNIZ0$D7*&wvx%_1G{*Er5oIb@Z(= z62rmQ%Ef_jKYHUJJ)Oq&+d`hfEX?*OFa9p3SH=W`mxT+5T5YJ@*q)xp0u&vx1l-5| z3Z~kvS>g(eLmjt(9+~19ln$HjU3`7x3w)8_Va?Z)&fV5LX`>lt;K-C<_^}4+)G(Rl zyUmL^&3oQPyzCV3E{ep<0vN3)>P5UvMtzF4l$$uLrQGZ^H-{=pCGORj>NM;=)lg_$ z5g)&Yh{B$+VJ-|py=kU0x(Iugy|#_~M+%@!`(5Iqr|h|H0MCuUk=1wG@9Nptce@%o zlYFj89T@ENj5x%SP#t%gi zKHP~dScLBhd7%(R_|*Mv)f3^JC$pChI0TLBGh zqgw+-yRqGvys0yWubSjNS=fp@*RhN6#`!u_K*r@S{CMBQMA*QDC&+@kge{8?gq;ce zKE4oK8Nx!i-MT3lOp@%I$&1~)c0C%llG|{kV*;|J7RIDeb`S3!e%y}XfdOL{G%2g} zSzH3gO4?9a^Wu6N&PvF0x{9TBT}3v&uL$8z-pPQ^W*UDu^0>$CZia`(0J{^x?j4f( z*E7ui+L+KXBnz|W$ytwW`kWNy9h;x2rg{}o5XPR%YG7100Ch}O+C$uL%&TC8*PDPq z*B_E}s1w*Ee{sU@xnK02vS%Q~S)YOQ#W{nmsvb}Yv02s;$_UItf27B#h$lrJdo)jqq+`M1 zF+EbD5m5rinKnqlV{B_6cay_eu^k^tK)a1#*ElrteqG@vsmja7D$*#UJ_{AoX=dXW z6eoHxWi{Y{OAYBiCEH}p3w_tq2@46ck$~WDHd0{sG#e+CJp;)&$Sd)9ljI*Jhu>0W zP|$4bEO$nu9%h3$ex#~=cGpj3)aUq)=H+Ipc-IZdLlU1_@j|&6=*HuTfM&&bY?gng z%!(O|eJ;x6F&KNT9iqXw;Ak2Qb>&-F!t_#B2E{B^iVS3~CT^^m#9= z5Gh!eg`_z6gr!%1{&ZzA8E?4ga1G1wYPZ9Q*D@BO7V;QL-I>KF&;1KWy#8kZR)!f| zwgaZ1pK02CaK1SS_uGYCIM;N9odbl>E*y1QTs(O5zThw%%Nsv zMhg?CBUbKrmDMQyXxmO35&>tYK0_t@yDz-(!e9!HOC`G9L~oUcKxfWdu3!T8>B zxQu1*uHo}{3}BmSXd^ES2I=cMzTelH8>UCgNz0!9Ky)^+r zguxw9x(r@n`7-ziN|?>o4v!{PpIgnnBfDt#q^n`Lflri;r>n(f1hpb;B2^!-C>(@!FF7FGEG@VZy%{B*#&ZXa z8Vkp0eR3gw4yBK%(HtjvgTf)R(=+D%FS+hi8W z{!V&HgQS`6U2Ntglc}!L>k}}B;#I7=5_r0k|B1^LpHVn~D0 zZR(f!G@4AN^fSnNp3 z4?#|1RY&`w&{%xDMQkC7&{=uRGPCr`V;jq=JVr{6(c)wKkxtQ_s{xs!_!!46tBmwN zU`T{!0Ecl$N~vcfRC)3>$<^6%RxHV-Rn?QDoy_#n)kt=-ynG5im7uMX*$XrJ-#A&h zsL6Op8MQ8QdcC3VI*zS9emlM|XLp8uUA0Pqw7NiJZSKNFrv&2aM6t7bT{ zuH+IQKJhB-`j$*~oio2j;p@jzxf_LRG3(vYQMRn~sDQ28(G9FGl}E*EnI+j$TRU63Q8-##|fp!bl>IdsHEwN`pLTg1Ze`y`yzf*O4`6*Iid8J?nj*+l{4L{ zODq4Ya}FNJ_$Sg)-qOn7a)RMey*B|v+xUpRN-O`=2~6?Q$`nSQmA=1LaF$lSRl&g*HVe1y#V)<*L8Z;4BclqwcWU%$PJlePmjYBONeXo)mOd7f zAH4z?w7-@v}MNaoX+xqPM ztn)@*v%u9BWeAnkv~My?v329^-iVbCnOu%I9mEUct;MchK{`+Ne^RR7ByF_K9{?}q ze9vmYp*l)J~blk{Qmr6+Ky^WGTDGuomy}Kwv$p>;#k_G_mrREZeAx#{o>f~mpIxT~Y=h)qp z`ghoMntx~bzZvV#lbHC+yh)Srp*VB(V$wzCB6HW>2208Lxk<>}8HE}JArzatDTGKY zxLt5WDAnGM5POT~j(F1$ZZ%#A4$agjW`aXua0qT3nG8BLD9nM)Cg$5%gE`3dABSWZ zDs9Y$wI&=|BHi;mqM=}S@@lszxty(YQr5ZC!df8Rnc?8t88{LJ{~wMzF_9dhO=idx z#&M2tn>`#8hGRpS{)0--O@OY}n1{=4pyVbZfKLg>nrO|=&3DPoH;^~A5WwvmVY366 zmrfpO)%fC*Q>mmX5Jx+i(U}Pweu=MN*i$cyLQ^|Q=Wh2UX;X#!vfq1dhFX7;cNayJ zq9-XQ;!T_@R+O}{MFF6V=18`i&TTo-BHQxoN z50BjAZ<*RO<53$}_pAx^pTujKZJ8VQDQ`6N^fQDT_X*Ou+l@=wWOw5Lb?O9H;~U%D zzUn4+2r!P;_!}mcTt3%kI6+(mot~(yH_kqZuT&T zO^~r1yBboXirrRXRR90H8byyo<%ouf+CMMI8x0e+e{jpHVC|pTyikbRKk7!Hy5*Py zLn0Yf-Qm{u=F*cSSVxBoeu$Z!m|5f2V(Q zOBn{!GD}wp{CnIsZs12G;#lw#y&G}HAn1!T2%BjlPJ*2thYu`M;$mm0m18PM!}$xq zU*dv@!v`FxEC*ys;Y_bIoJU?2wjoSE+X-rL=AbzZOD?_xz^itvVwmkGvXDmiB7kK7 z;fw!943pjvNkqdCMfBAtFrXnjHsW~t3%Kx^pb-w7G?lOgI?ve>4tY}9!qpe|jf zc_ftw&W>yulZN{#PXC-rIx|oIoXc=x9=#BsXawS1YjE@lPAEN+`Y&*Hlxw;^O5DJm zaNRA!5S;?hGS}T0=D6~G-S}8T$*`gj!u91qF+XY@Ldi9S!}T@tqEEXNOEzKQddNy4 zx^b`*HlU~u3W_LDOJnlA8p~o5O(0Cf+pQ_kmFMk7YZ-AE9mnFWmu_7QhV~MHncK`E;^jdj-HewWld+&CdNZOciOCp>{e%h>`xb@2 zOr_2NV#@603PF98`t}3iRBgTiD!tww+!557iYJMHJoS(2^d4X|g@mYU@Tv=~%K}XD?+*U~2s<3UlTc1BY7wqB%soEa;?b^$m;w zY$al@&eoD9?7MO9SNlviL+MX!#CZTPm#!~77HB_mc4YG<4SI?N+JBMGDp;Uxd%0`6 z9t*V1&W>_T*D$b-D4T&hu|TuPLi9b9k2E{}&!@~^NzaW6Q)@H{) zHSEr}n@~l#F|~IuVRX%STU*Go5Iq)%Nlo_o_{8DJud57`{m+a7Y{t8lk#nv36seI0!D&{ za0&zzR9wKJr>AG8UwXQSK9URy0tx~)y6B*SqM~wm04pA=>*BF4D(6!Cb-LitMMMj1LU_l8?w17L)H@Ho20PoE(Dm_5{ z)y{@e4L2u{x7bN|8BiMw@=q%O`Z_Bq=nH;l0R1l@ zkp%Q_5};2$B?o;m@FGC};AEiRr}MvwN;<$7^K@(=;XIx86`7}#FI7w6@cw;GIn$eg z;qoQCKVo*#uk&%sntN;k#=LXksJs^A! zXG5umn-hdvY$1Fc?IUiUeoz4rF6QY(-5JElHB>}TL7K}ULDWkB|~xdix#kJEaJH$j^!8IY~Bk3zQKaR$gf4~Zm@eY1dU@+moF zi-8vb*@q^B?05F(Jbj`9r$a!=`)CKw(suJI~lEw;Vi92nsEx(<#!y1QO{zl>yj~aQ^f0uGf0>mP797q1*cTv?1h8)vfK5In2W&C$A^>|Z z8DPJ;Kd0)GrPgG+DY{t9qD{C;o8jsr-j52`@@v%+IACwllry~<7#>do_Jr9*caF#@ z3fZ|=H(PiU&LF?y9QaWMIB;>Z15+Qvg$s(fOB>Tfn#P4=S7Ztn-KWA`xcY*sxZ%y% zH<@$2Mx!FV?iwz<%q76b+tqr?=)!g8Q5P;aoWX_Pg+vk;e!Fnt4F_#sWm4!3V!ma~=|p$%8HOg6^I z>DF+jHJp`A4vj1Y#HjFVuIQDqNcl{P->a4o{uh!?P~#D85b2G#3z z9k6Qv%zna15L`=jdNS6iJXx6TBaMGeRq1dO(m^nEqefAVu6|!G4L0ixwUpH@Vzmn!NVwWX`%>LIEP;_P zRZHN`y`d>*dNXi1_bp}@{kqzv%PH#2clc`8b-=lJf8kNOa*eYg&*h&hNn-`9cD=<( zrN?U5ZO(>L4c8|=H*7&}A+^{-cm+@!3*T!BfN!zdMbzB@Z$S?Sut_9P1b{x^t(K;q z*t0ZMyrDX(@FDD-K=!9JI@0?pW7<2xCBR4g39YAi6SS$4F+0=QMKOW=_G3r#uG zn}Ok`;s$)r5bKd zkZrMr@Xu%;aWn2?3WaP`cLTBoJsiM(tQoKmWb?&KJoVwkUIi-r1=UT3r-LXdV4sSg zMBtF#QyGB$BhG(5-jlVSG6J^FJPO!?!x;ekVkD9P_PqkI$*1IiEe2i$U>`rH0lS`c zj*Sf@1Z>(@1hC1MswHs1ZfVMy-V6)}F9Ew@cG0hZt;^|22kaYxbMgMdV~%~Dvms9e zyM{DY0ARn}Nu>v1zs1>5s^R7Y*cMv|uLf#k0sFWj0h_410oZ~b4q!DTP(Y;*V5@WN zLwe4!#T%-l3LnPa$sGGL8Xf6ymXxCHo!|5@uP-UMx`#9EgtpgQ{~WD6c=fb8!e zkp!~eCm@@AN)Fj#;6*_8`ecyZrw6gtE8Eg7d5QuM(!$`%m0PxzniDO@HV`--m-VKi zw)j@H1`gZ5))X|oDL7#J7iJgzdT4G$Rt9c!8Hio9pN%9&c8R_*Xq*MV)5?|N=VTKu zeqj^MZa29=+XKaRAq^QPLM@{Dq!Yuxv=Q`FCqW)j1SKdF63S`+0w+~A$7<-ROkG=a zHQX6Gh=tW>6acH@6l1E62CfQ%ILiD~voIfAJ$+NNQfgOV$$2bj(vuKN0dyPCQ<8>* z;QUG@n5@*M2ir5#l@)kwQcxC1|4ax9(PSnEG zp^`5hoQn!3+C+~ECf<(<5Pn=G3dMu9!| z{UR1lg)c$w#pP2^EC5GD1rr;-0VIMV?(W7l0Xu-iEF6xnP10_aj(<(n>F{+(2=Vnd zYb2#tYs1%9xH$OWU#;~7gO8R0pHPNkXejdypxCz+uo`JN*kxj((rg9vo=1YD^y3J{ z(CXI6Wz6ZD(O7hcV9{GO!V6&$E9i}~$R~tj0+7>LUD+rc3XRMFhaWr zIUEYzC;|?joeU29^xWEJWvo+9nT6hqZ>-^sxIhq&6Xvh!Qxx@qY7ra=KcAC1IDqhB zvx|N`XIS!Zhk>7kJK;BxV{zd3tOCGKgj<3E2K)({I0AfH6RQLM3~1Qv445KSnq+!3 zT`g~^MW;lz7gXg9AIH84;{8ISB1d=r5SIZT?@zU!GR|&v=23SpIGn+q@A7Ky&L0%+ zoP0{|&c(osaOaznx$`^vYkx+>6IZsUo79MN2BM!QjN)ZFLDFBSfscCOBJ zBF|Jq;a>h=REr#P01hwzG_#BDToPk+mb0rO7!IlCY4W@9xA-eY;?R79`j?6%MK^8~8{g6)KJ$5Y8cd&1Q^ev5w9FhJhTnv1?(^^mQc4*TlW8$VWk0QO` za0aBm5s4%dw@(VBC!dldy%=~ANPk)~r0>%+Q<|0Ota~qM6Rt@cq$qhmDxS-)ZP0Ls zrkv@`!0=Tvb9uYjMZcbH!}+(vrfU}7g!d!A;-+h-7U0K4u96MkaN&X??$U14MC#?j z+3{r9mGf*H^#xUN!_Q#f#DzbkQITGE*?9L{1r0xYA^h)FE&)E?f6{u&=)!g8(H;ed zGq~_?A(6y|KO|f@`IOv+i-8y6!p}_R!r$7TleHE-Nj%+D?GPR*iB{P8;R((c-F0L{ z{7Os<=;cxB6V*oeJneB!ZPOcw!@2*=?4mn&Bp98gEyG*khXO7Y&Tey}wg6w`kBv#1 z{*=gyeq|HVz-w}voGo%TWQ#5hxys4ePNXqoau&Iw^t+J~oXBG`a`v5V=!ZHf_L!F* z%ia;{vg^^`I2(OFCbA0dYffzMVXk_0{vi@=9`N*?%#ffo_@oSiK2>C;8W zR`v2qV?15lBNiQbBd+-?tS$1_gr_C$RDGaY1P^m=(v&p4IT&y#=dd@JUG(dsqvYWZ zo5fnV6TS&K7B`DMs{pSr799lxjCrh}iMzM!G_m?P{lm@&vj`gFtXMOs)}bh6s?nSo z!jGdfZR41^M88ngJA6Mw zi$dF;rL;U(l{Q@Xx7>B_jGu~#)&G;TpO1E))>B5;t+S50Zo%ISuKTG-Byrte60Vzk zO76PFz>9F*&r9aI`}BT1e#Y%&qp>Aj#4b*ki8e(YwR!wDTw`c|l^&aDK3467JNLDk z>K5YMSD9V(>n(>-e(tb1-om5sS;)6IFaO*EynLJn8tz_D#vR~FO~ej&Z&uK6*fp&Xwf+wC0*{c+KnlU{HrZ4rNL-!Cu3WxeS|N>A(1J-^R>aH zHxXkBu!0Miv+;RaPr$}#E&i{_Ipt7>U#)L#Y=INXE2U;_CTQTiCn$}Uhc}+Q=^V&} z4NKQho~)F?BLS}l;F#{#WTR6Po8B&Hb|B||TB+882~{)L+-Qr08XR#R1ZR%Jk*sWo zTx&poJOrYtz!BihsZuQ{@pF&yAlFWd{Pe8s^i! zZI#lNW+i2+P$cb@R@mh5fz|Wot+;yjirK;Nnw{s(>%xkt`4Y(#YEM*c<$=b{IjO2+ z7I~A|MZd0yDqLg;UkYym4kM>u1OHw!8(vTV!dpabfcsmKi%1klr5iQ2I>6n4t97+% ztBpF0!v!1}uQV(5GGai3I{VSE0>D359mjhns&(-8dj2_01FG_c_af~C#owciB1czw zLzG|lXgy_|4eHFNu2M)SgRA@}B$BwwuM1a6J|%aRV&Fx%$_taZ%KQ7PWJMfkuiXCt zH#(2NtxWL0MyoZ;1Nt!ev7-l4FR!(epwnt7aG7 zxhv6VD$qC;#i;2p-pFun%Flt9@xI2R#NmHQLq=r{KO#lj*UZ1P>Cc~>1bLL0P=b5{ zPDABnbiexaQhBawc&(zEzYLlU*rxcbmOcNTjqmOn>>Y+W*|~( z58x#%H0Z~A)Ki5yhZ&xC4XK1PUnt;YO9#LOnTQ861fd@~KtZLY$Y=;}sB zqc>rR8KSo{kR2p?`?iSQ$fxAdo6zqfqPL5ZMQ+FnrYh(~lIIT?`wud-U_BD0I`9GCKw8`f2eDz@-xLtm?HA`V%!*n;8xK`3L}EoyC1{7bnB+ck~x_Q)@Z%{0lY?qvpag(sZYt2C7-%tZc+p zO*J52(;-=Xpqd4T;{Vh%HN8z3UQ9yqSIjQDb4zGZBMy*4ZmUJcV@vf@Z;UAGA;_iR1(UxAdjT!kD zxnwvOp3r*A=?0 z2;&PzOHd4i^-1^=v(8E&tg{TC;lA`r6YCmuD=DCT)xg4YapVNB&e3>~-o^~TI)rNj z=k{~7o-zWKE;!Du=EvoJcm0lSUEr*Z-KWU6d*ax*uC&pmis zlba7-KD$XSnxLzHQnzr$Z`)+GJV_8zB>00#$ij_QD)pd(D}`|F#F(yN*_%_lDoof=hlr|Fs5QfNyEhPSQ-o_rLEBxv}U zKtu8=IU0(A7lDQo$1oFi|!ndPZawW zmfTR|F>NK$lOGs!oP~!~xP=r8d;`)^32^=eXi=raqzd1Wb)??P**9 zJg8Ob6YWXLCMXml9Goi6KqP=WcbYI!hA;uPM+1Y=UPFtQ-^S(QXjxK zob^IFmv?yYnm~4a9T&(F{FFn!%OMa}=Mxo(&q6e7U2bU6O@>AvPT!L-`UsF6B>MP; zh(5@tY5_5eRgaC}Wvit@v9{H3U^~Au7K)tDCsQ0n{nseKhOf?4y2Lm;xN5pze z8b~~x&dgoSx|UB5aQ#p>IQOfnopE>mYEAXi8<~NmGUa-s*+us+MhgmGP_=L`d^2)1 z4h(ArfFY~Yb}C{N8zq(8&Aw7o1RwA@6*j__IyJJTW?C+ek}I}Yw7OMUZe1T}l)@fc za%h5XD>=2P8ddlK93cU(2eh%Kw<}}Hb{&^J=j#1hPZ_~W7ZC+7r?w>ouZNLH0$#rr z;6*+q2QM-3BEV}p8F<~*|KNr9yQTrD-6%-m&s|`&fVQu$>d~)MJK*5*Jxw*!8-W8{ zzGZgNopVwu97HT!3V({6ivy8H0U*M%z(j!zun^R6xAt{Sunw>=^R4ms3Tu6!LqqrMJGiOO5Hm6~I4Fi>M^8g@mFR%_Mv zj1F}@-_{1aj~MV?8X4*B*8nj&V3v1`4meZZQCA%bVnV+FJz^T~x$3zB*+D?;j{?NV zr{o|e23`b+wUU9@?fnH}6nDfLe;Vv!2fZq7Jkji;J69wXT?AcX zNP-@|sC=(_93C#5YqB8k)S`vU;b!bM4hWkC0HL9-Q8b(rg6CNE3{7edpf*y9OX;>c zSgSJ^%_GlLbqTj%k7Slr)%wm6pibaA!ACi+^^|dzrL&9zlv4{6&a$pTA_+jvKN3E@ z2}^azr{n-723`a}ZA}DF!sb0r13HPK2rTptiq)&uhRuyS-kwxxjy77A4Qq$s@WfgT zBPRA_opZguZ#vr$W+>E%`Uok_7|Mn5~_rU z%)^G!$<8q;1jZ#|UWB!Kq&4|w^lm7%7*(4Ws1Iy%z88cL?*KgZdcTV_6dJcTZQw*x z)SSP;dVAAHon&|%ZN$jf|9JgW!v$zPIwkZg8&4i~5_1GJZ7(P6?%nE4PeTpINNcLp zY+u%Cz(p0aH!wgv2$nLbqo*{+1n%}i#k27G#IxaltTDMQ{!YsG&qk}mg`?o39yAUH zSj^txZ%_$|Z*8o3)X5qTb@>h@JEgk(+)0Lqx-c@L>N0<=&J+0C#*IHY$;hrKl)7RS zWvK=ueAuS4?84vUuTX7~U)vb;lv{H0E_;)P(t4L8oMd>Y3nL?{E?(Z{7$-5=m4?z- ztkUFps@>U6es~Dy45}khXygajX|Tw@v?=Z1I0^Fbag?B3C6TEydHjhb^a|ez&MbE3 z*ePJ^%%E<c^4qRY=Fc=;h^TbF@yj)Hqf>o=mg-&=_GZ@J*o3^b z{BEn(Y6ECToqD@ki>ye)y#n-WtS(U&w4uB?vRFMBK1CmCSDl}5S<-t6CE3>4>wa%( zghxW(*M~>J|HI2s5QF$>{0b3NFUP-0D&{?;aT?()3?9Aeb%B)z^|g+*Si5k>s*2iu zl4y`Ti*sB)u%$XKB8+>yCC!>R1Wbg|b|;l*Vw<^;&5Y1sz!=zho+R}G>rr@v1spwu zR?{jsVF%w(umTBoZ%PMuq-JIK|YJtQTqOxE1mP}@qy;sC7ptIn4OX6T&+)sj6yp$`| zt(De#xMzo)JSzhth6zIhZZ>Ky*dAVK&IFTr$=UsgX0Rjop86BUL?Ub-)#r;h30KP=}pugbZklG!6Gi#ruL~ z@I2IM5 z5Z`sAx0c658!5u{14NAd_Ou>!v6yz@^fv`XHecX*MbW?@b<(wRk%)eCKD+j*o9lj=~!-rmBb}@&<7+ttOw6}bC_+hToFJ?dHZu|s5q|#%!|Ke;YpW!YM&MJ1;mRHE|mG5m*|ACWw4>tUlv!Q(0kmsW3 zpPlr2EPDQ)G-Nm&zP_pDQ23WNNi2PXD}&-82}+PpoMe=U$>J93ZZb6{7dxMVHKw{&8OsIEl1ce zG0@nzR3!kOgynMfoFy_bm4n|w+fdWT}*MHH#NG+Fq4Z~vEF(reAh2KF?;I6DDDX~nfMa98C$ z-CndOs*Ui-`%+D9(;JB46=mV<#by`XxhlbE9G?3H5Ef>Ib!1@NCW)66;Pu(1%&Jxy zu3r$v9pH;JF*{tpS@N<*-C{nCxnFVS!+L84fUe~JKUXawybcK`DX&*(Lr8B723lOm zCCHg|wbm0bD|-0a*%#n(X;|q~h8%Pmj#!(({5UMsRN>D?9Tsxia6;YGbgeQ4`3sTG zW@QNKj{KHLS<~cizD;YaoE5Bmtv0|ySjo08Mp@|-ei^{4D=`ILq3Icb_g%;i0=!EF z@RCo-fmi5I5y1PhM8GTaZprV8X19h#PyTbk*&flCb#pf#t2)Sm?c+Hqpaa-GYIf0m zSAT^jG^a;0gC?vI)w#v;MFqXD?*i_xaOf za8x#}$Pr7Ix<1FeqbhayeI$Wk)PHHj_heh?q zwq|L1_6Ebfd;zGZxbq7f7+T0#4C$gH&4hHiQqvxV=4U{4xD za!AY=_9N$=f!W1e7HxFuxm1&tkU(^2o&7a)!;~o9)N-)mTbm4@2@H<+j2=nY<4Hql zw@aPrB*P;)&B%yums&`SK`@x)A=!5}uDsAmPWBB`lu94pZ`g>;SRdmg)|RU@8j~4o zi@}BKpo7>j@9F}=ynSqb&D^mg=;C3-fk>!uNRA-Sn5rMV3APPjj8_Wkq>8OHiuGl9 z%NV=!Rb2+}`L?Q4;meRJ68Bx9(U)J`7aqVR#5r-f)>FKJ+qA=&Q0r`^VTRy+hA?9m zi6mjhz9P&ZpAv@|a^Ue~SPMpsF+LmiWJuMaV|+e-7dO3O)hMrgS=`oadeaL&r(?WK zoOwh(^%~<5*f}m!h)^o(F1icHtF3kkE}GFQW8~Mj>^yHC)Wf`i{6j}P*`%7d|FAjS zb8umV#Hy2EI-B9I6<5z*F*_Ju0}VhV&CdjS8T_d{3HMqGzf;X)!Fi{gak{n!P2V9l zaKEOR`Uq33=3EKH&>_9oY&eudYQT{44n?muLs1J6LVg~{ah!}C9HeDCc;i~B-GK7k zcB#V--e^@Prb_HHtMiCIlH+E*zN)*Z3`O^?$Q5q;bOd>#>LXRhtmLZE`3dA>4s0!NfEzLI}Tw-7+6&9EDE}y@%~{E&54O1CX89?@bQdu`JETXPD_{|H?7gMY(HWu*CA(wJF_B@2*@;mSvJ zxc1tl{qq{`zRreh(T@Lcci|qHD}Yf7W4=KKFTb`K_*y6F9y763&W3X00mmZF19LLE zGrYo|(nTxsjcw>>Iw|%T`l+O$w3E;mI?3>ugfcRslTfcSJ1S0MvQI%NjnSA=4<$n_ zg7mkP0U4)oO)&LjA$f^EXM0=dcQ#$Q(#aPOUAa7yu5_Jbc<2fvBa^P&<|HP&u233_ z)s@}UIF@UJsV$;_S&KTvw>FJ=zmq#28gqXpjrpXL3=fTAWMtBqFFJ|It}&FxVl^hu z;@BTL`Qag)|E4+;je~d{tfsa6OPkXEpOYXDrKJSrDv3;u$y8&{X#EfR{7R%CLXV9> zOPZDOHk?seY0q|7j7&AgI<-n`HB8i2s}sG|a-z4I%<;Ml;dfQI9r-Z`dAp0?511&@ zr9hTC`n_w~BxYs?t6q^;x)ivv=Ng!sA%Tn}S<@?KZ9E_N8F)*kw;&g?64E;caS4w} zJ?b`SjO6Y17kNAKsaH;mWJlaNtp(F#lM_Zti+`)dBR&}|O#dX$XdM^LXe~T@<0Dl`tfxqG1>Kl(pap1EY$*mcr}qZ zRLv#JuWgg5Upg7&p)^0uq%`y1}Gtd=YhQ;B#r@k~Nr>|~3Fs$7^!RYE5j z9;(8~h^orYF#X~@V@o*rjm^bwcaoA_Q7DDQDoSxF=$oC~@z9r>GU>}(on(0E3nL?{ zFJ22=_d1Emt}&FxVl^hu6!fQ^{O}OYKT#ctPQZA!S&N(amo}6BcPBv}N=pgKRT7yR zlPTz)bLl511x=ETA_d)sptDB`+A8D}IqE<5)S?IlX2zq>)qnc?pycjmc z@Dwx>Xr!P;R)wdaH^W;pOA5Km6|ohD(T%ick*pLRF^i|=pIxn2N=-P&YAo1TgEQ6Z zP^$&?Tc=dvyxDfOQ4h|kz}=ouxjP=519x6mr)yO>cs&>-jfnja6wh*PSv8_?@ta|| zBt5(kKjoJm7Ux&=dHRsceJ5@BAor+rPd>d;hZ4sc-bOx!QbY9*;12R?edHzEuL#7} zubCB)7KR2u%yU4Mi~E@V?)8o@b9X#hJsP}cTErk8#bIoIJh17cb3>Yr!y*D6B=s{7pyt7 zc-AbW2Gx@_n{ng)Wu4L(6wX%50r-e1+;Wf3qtuzez4qWc&Mr+fVMl%yw&sIlsY#~- zYDiw)zKZTMjcmQoyK#-3>jXR36wl7Z3E6q=IVIqpSRw_Ej#bCU;UM5TocBwdG911Q zZxFlP2G^OuP0Da4chKI}fD?Bc+pAMx++euyc@&O1XblZ)!()WGNN~Y5zypQZn|Ktk z_ydkf2s;z76C)ypKA}ky-m``9PAXn_OA-q2qUTk(s0Pnx0C~a+aIcf?_H=9g>eZn6 zTZUVB>@l1HJq)s2jmJQPjjWy?8(+P4&G6baYmQ&tTDxZLn&VfkS$o2&wa2VmyK3z) zJmubGkb>!cab0OM#%}y;bVz4Am=~_n?;z=J%5fNU6uGph>IGjLdOnORerdy2mr0_& zPO~~2z7T&K-in(YhQ#r=$f#6j*V|I9N3`v_t2(%JME?IXm<M*;J zAG&)a?089@?AXJ}4l-C|2UmlmA=o1vS``pZamPa~w)gAm(8I2f@Qry6X)kq1#-z(J z-C|m^2n>xjp~p8Q$n3tQPfG=c`7yzK0X^?cR-eP!DrM2+v3~*lNq*|iv&e*%F}UYu zFr!jNcnb4UW`2ybo(f`;RBeSr*8^xWIZR=Vbz@o9aG%-5+)?^y$;H}U`-%){agSES zW}=6kZq6f-_mHz8TLfbWTy7@%Bx$UG%|wqlsq`4`x19~;GhDfF&5bddw>95Lu$kz$ zPSQPi@M~v7Iq@LZW!yb)cZJy=Ltjc7O1q4Eu#*grbUq^^(^|_aCo$RAS}2V^L65&< zC}0`)G$&g;RORGMs&avo3=dUdWJFcPV;OhUNlJD_p%fOYD8((~zQoBL4}IB|NndVo zlHs8*jEtzhcrD|;!AVSZjiEH=sxg@wlZ%Izh&B8Kz@?}q?t{g{?r!QNVz$RJqGd$! z%ZLx>wTu|z`XSxS@-b8tn>d8t#ZKBbH8@Q)< z=uMLe_E*$NQTVSwC7p?W4nGM>a$F92H`gOR=Fez7`K1vVN9ED)hT&ybtw2AO59k1w1wIgr=D3O~42UWoqD8W*7aN8sPln`LJkeAoqiLE!+tgy#)-B zQ_x2+#F*0qhAbnBhoOHh0EP|(_8BlFc*gUJ+QnN6h_H?AyQ$~=|*-Jr6$RPf>x1J#NY$TF^)QkWr z@+mn;iGddZQva3=r0(h01p#W~Bg#S9+z};Deeb8jm2AodT;_@LJfTL?W#(hmS~!@! zP*dPS!0ddpi|!nhW#O=9;Zs;a-f?Z}2UuHf*VA6}EX&y90q%o^R^jhjt*4Cer!$|zpO8=n_o54@ zxrAYP&^sJCG6Dx}!v7krR+>56fz-KZ?F=Tkxp%4d3*D|F&s3A)82BMgi__bSV?y_U z*+qBG3N(s@#-0#kiPLyv&{$;JY2`{?aQKByTAv42#(Nr%T=2uBA>$}RzClC_rudgO zg1+e_$RkHi35rQY*^^N5mk2-Pq{^DniZ&(_zZUfk{~0>qp@~8Bm-C14?%o#fU>=b! z$l{oOKhh~CgAPnLZ+Khxyh^*%tkX>x=-J>#@kSFWskfGDoeID76TMw9-l>zV7`hIp zX+Tx6aHqEd@dVW8;U_VS^iIkE_4~LSIm7-KWmvTA@wVzX+{;=a|!CsB@JZ{ z>Pk+6Jc2q(kdJdU)J|3qp5>&YiW!hb^cG4(OP z>T3l!{yn0KXHMk>P2BO_tI62M;UB2Z$9%J6{+)a~}@|FPdpIYS- z<~pVA1*33G2^_{lkKbU%iDyJGL z{BHxU{uG6)qqLqf!j&#M3RgnD8Q^Lo5=r3dCIMIEQ*yWx11|!uzMBlLZtp9&VrI$< z{!%RovoKMt4?rXQG=`h?%QCu4z|`R8$o5R+qDSR>)fhO~T&U@1j$kA2dc45wqB~ba z^+1Hna;Zj$f^H*FAK3UjVKO0=$8mtVh0ozQb{mII-zfl{OpT3ZvgU;BIaoed6PwSR z>)B0Z^;8-#F8ytrtd?m}lt}dllaP=btyJnk1(yu*CTec#RKKz}r)p*RavT?d!mG6r zrgs1a6rRUbkMr_Mt*4Aos0)Tdp;Ort-gWavB$7bk%>oL^r{qv523`adKAH>)`|G9= z3WaIwq6XBT=L~=MYdV=;`wh1&;qN_W7kze;qsm{NLyZF80&|6cex%ny4HAXVwRuq9R-kuBPWDL8R!V#s88RHwH(W z!NILKc@%)Cqg*~sswx?N0|!WRl-f|!+q!{tcXPetO#Q0X6EHPeL)5qccu=dBk`pO`gHxp$2m^xFWTOca2Y3LdRU*IYovBgy8{QS1YX!|t9b$<}eE{ExFG+%` zA)U)Rymw6?KNJG_AB|0g2!vJpLhtu^W3_bpc>>#1XEh6+FpOS|j zLKBM!J-(kT^mtnz&cdfk+ed`qq{$Am>dQzwIR_*A+yM$uMB-NlBYT)#bmx%3qEX3G zt3c?CDe_G9K|D@5%;ZMiaf*fE;i1@VT%7XX1;i;w()}V z3XGCU?qtU_J@A2^Q^zXfCAg#nx6(|@g;2Z-gU{@?!lea#dm&tkp+>Gjvr;NgMpMH% zwW-=vcr%WWK-X)uv8FdGW7b^evgcgwYCUCyE?q>iWboJ)iO@{m1+hYS{~FiGrbKspyeZG7u~rg zq{1P@!ldwDka2Mk^5X&^ge856{uodpsNqiSLz-M2P+{g*_Y-j(R@mURHCRgkH>&87 zQv7SGDu@4tgb5wWXXdbJUs(fch%QH(NKBIwo-EpD~YD2 z;e@2oYOUIy(MQ_zZEe865Ci_1Mn)k6W_iZwfHUP8b=9E|CiDxiBc}152O=$cJBP44 z1cZ@K$stTgx(EpSX)*|Vb6-IiofwI=jx>|2-HkSK&MzK_f-g3|xWCy&ca8`unp<3= z2vZFclG8IxpSaet_jV7(ncytkz|5(r$8t2 zDLFccffs>Jzet2m!sNr`o6%09{vTF#2gO=dYs2P7y)qQQ#)i>GtFmG3Pyk15)i7LQ zPZAsuv@002-ykMUcG};Fe2^s_KO=2A!iW=3@LL2AVzqk0xj5 zQi#ok{vwSRAoQOeZ@-&3d_3mCVEBaoq&sk4sacw;Kqfu9flGOy%7)L3E_1pC$6+(S z0Sc&W>o^{A>xtBF2*bl&PKX)Sf%@gwKnl+Y9vbt+$WOdnP9}m?tE`1icn}cS2swMO z-hid)3O$`rtU`lv)M^80MxA=QT8pen!^$=NIcQ|S`bfL#JVkTR>I0iJ zy57q3#@UV`dY_Ypj|j) zRn~N$BpM{o;{28mYN>vU2;*9BNwX#n0TZFLT|?!W*k&$dGbA(^Fa}yGNWX(Msem2< zgjUlkH(|@(P_QPbH+YI>2+ru7s*F`TQ$xYJV6r+fS)1X{co1zGf|!13Rv^Ar<;)$@ zhrAi%VFC{%GXeFrbMj@CI^=H7ZBw;C;tNsP`@JQTS!M6#^EA|1TrCzy^5PznHhAK4 zrMk7!TF=j%<<&-TP6KsaLj&YIS+VFL8z9?xNYI4)OrpmJkq4xpwz9oa?!d-X+~SIL zO7UA#;_X0AEHy)rU#n`tE#Z6K{PwVfZ;{4(f`R(l9sMr=m5tpwKrgjeWO5-E`*m*( z%4)F}E`VgiH0+0K%d?}=bm1K7iAoc){Ed3M*{HQ(KX|1%6HGR?LD*HFQOp*Mu~|6^ zO`S9Ycr-xqXgJv1XjkE!6=M11A#S_FAP#T}Y?JLUCzBu3-Uo1c)M}8YwB;!Pu{Lf? z1LVUkXswxgIoQ@@XIQhFKVW8M?D!iVII|wKI^YV*a41YGs6!D8Ap_bXO;^Um5ilku zE+el9_Hd^`O)>gVRcP)P2HxpP0NFxz55KU8G~UxMsIUFXSGtd0b?e-huPT}DFMV0? zm!RMzjzvW%#CPrNt>rPkD@B-ozycm)zbvf>T`Z3E#zNZrPkvGB-;0+iFQ?~ znB$ZQcR>`-y}nqJvRA@=jk?EW8beR9=WM+-0jcY_|IbxJ2w#PS6U4ni8-ni1eQbd- zOI`$b36~&e)^%D>z^v$b4`*M1Cp6$XLm5KgGMwr#f#EsK6RYrNqYinbHXMpEHC?Mr zf%_CU#IoeAx+SP3B4!$U=G(N!%3B31-=Gb!5LU7Z>L@ESL9VXE6mo^8XMo)MkR1ea z?-h_sJ|%|SQ0Pz*HEO>}2D|t7J?yeX>YWYo3v zqWIP(!fye8bE%d48fhqPt=x~DWO&p`FfyV=EDMP(2nLf&l-YMSt~}u+CwmzSrP9ay z8zv$zj`?>dvDQRT{B3|1dken;9mK|T|5rdvw~x)OnROI`E*`0T3<(wG1&*-J2w@K1 z1gp7iNaB@(I!P{;Mmse;r;@FQ>6+8?ZB?hj;7%U19fY3*eK`gi4{`}{PCQNPDc-}fAzFC;d8eFlx>i*{Um_Ei z=W42{4>85WmuePhD8v6?l&K_kSCrVTB(%RuQLxE*qMfAw+MP*nrZAH%8 z=3lA~jz@#jCjZ6IeFSSjojl;HW_HoNwa7T1h+%koX8l;B+=9d(O!r}ls9dcLH>TUw zscMT%W`{*FQEQm~f?5D~9^u>d%wzWeR|`7UxL>u&;bkV1@{z+GqEy%-hww`5mQP`# zQw`=4dbtU%N;efX1bNy`&mlx(^-|%+$OUh1nps5qmM=v2%FG|<&*p_RZ8$&~>%WQeJvu>L zL;-^9fH^aqKf#|d{g|-o$Jd;^@X(Kcr*x*=3iCfsGCcHyk&#J1e&r-4yM9m_i`9>% zTHwG{!Bmr7_0yR zOl?`rUgK|2eG%W?nN3(8`mE0B*Q~h7#UGj*%=aoI#0+qHjb=wl9F9fD22r; zN}jvB&vNp^Lo}yT4T)xT_(pCmZN|T}3Ft*mf;_w%B`8-(WNJ+A?(Uhl`-7fq6$=+W zRh~*PcVmoFn$;Vro;=2%cQ zH>MwXe!BssU@h3I5uDeoPL*oGDINIV88f5J>R51kvouyEmszVTM@fIA>VDV-rKc-E zH{z!P)>r#}je*PSl^O#;UeQv$UCx783Ci%+>mFZzt#S5Eg0r`34QF1olhuZA#D;Oz z;4D@mXAI$sr)tZM-QzEws@6wdvi*u+eDJL8D}tkgi9z^hLmabOxI*0Bex=nF*Gp^o_R%-BJQN6LPS(=`` z!AJ*x0XRZe;U)JLQVTG+_hcR_@NsXpFpne;75GO~4|1r0^i9C(LJt)f8xICgt~JVA zPV3amc&5e*+;(~@?)jYRz%6F5y{klT{N66Nk&+WOO2MHmQs#OnYyfM(J($va=zisU3LH0b;ww9NPvO_@{oZ4AdS-y zd8c5|x>&&8sXbS-Pl>npJWqSjU8*saGl2FHd1f=RpL&m%Y17?62epo$csJ3-NMNin zRjSr!$TAQXifDBRnp5hojQz1;>$B9wVb_J&bN~(e1z?$N`gFcj%7TS+S!ost z76{VuZ)ntjTiyXhg0rjjN~sy}hvJ+j!@#?8)l~}zQ~8g_rJcN1Cc{zmAnC(EVXt1OSPd-WBE-K(!1?W3S7+q+)B zq*jj|7h?4_Z^31@`WL{0cQ82JXhDf3>{}bJHA?NF0Fy$EdZ{)Pu+4#_;F5TP^V^l_ zpjEvbj)dSxvytntSV{z!E?_#&)!uXh9xLph@McF(J(Q;ZkEC(8>9cndoBlGLkDLj# zljuWL3pwb2)qBK-@qgL7i7dwdpU_)Rrc2{z42@2tb{dLQ<>D7M{ygSAIDer==kPuc1Gy>}B?0sgn<+IsOEDUcEbS5hmJ+axds%gYqrF%k!#OI4h<8FLr?M3Cz(+CWCRC9Bke5nx zbTX&XqJUJh4)Luj9}ZZ5@@7m=w2+YfJJPrtve`R{A$zIDP0kD2N937pynDYp^F(70 z?L{$a zApMceE-TsT9rbP^i##V%$j^_tQ;Tr9$aQQ>HzJD-3#86 zIi{ZP-9#37E`r|t?b3zas=st#xBA)(3PKmvb9RgBghmHAoI;|5*Qd3B^c8Fuk!@1J zAOR<`uq~If*<}tjJRAonHwD@9&1MxjK zY@O(BCOy?$V*UxFaX03(cM@a%Lc&fR>e+Xyo^phLuJ`y1&$rpTi7cMveCVwwizULV zERI=LQ(tj-67{v`OXil}F(>&_X;TA1++YKCh z$!8<=;|rhk6UT3zMwJHn1H>7 zlQXN&uTIf}j^R^%qE&=W1EXE@&msaIcar$#G8?8d!B zS@2W`Z^Km!bn#8@=yB3v?znDM1>}*=VZb53%0IH}ywj}ChDYFU>8|r3;H6}FD!a99 z**(~%$)LDje7-KaD`0&WPP(6{)ZyN~YAcxNKrJ-f1qg8lx)qnK9~c-OhI;|qlk4H*#V@^>6ntG&z2wC&S-X1O6~W5jEcgTdftqag)x|G; z@wy;5F_?ypzvFOqGu(C_04Mmp($U?}$EBl-H%JvEZ6m6iQg zO8>QK+gy)4A?8b2kiygsk7w(2TCxrnWYy9(;q(CFKpMmPuO#<-l^bKq#a=DAPreB! z&j&4xv&mWM_1er(P-=mDsI=g;7jOWu1@fYGmk_%j1nq#s6e`=>l{yIl8o^WpoCU-Q zaLj#;T&s(*?nP@a!8XP_?G8NM)@W`Kml}nM9mVAt3C@97)2E!2jVRrlWNl2d!;gYK zQHB3VTFtWgku|i<50W;+#D3(NIdGpko=h!i9Qs$mq0gn|kj+!Ar5yT9+BT)9qD;=o zQ!&9kkd`dzsqRbLL_$v$o%Rnr4-V{T;?zT=Eg1$W4>ZaC5-6ln_&I*s@ss~!EtCJ> zgBLthIa7-UT&u`h+9W+w3#RnsOf6XqOT(>FbF>PJa?P0m;h1q54g$6bbke11Jk5lJ za;-y$24MO>HQK1vDnr4>db?4t)`x;~N^S5|;Dett9Gp7YoGdlRVB70?aIIrAcwV(U z+5XfW&FU8L^w8|465Q-wT6J=Dv|55Pp!3UVSnkz`YF-l-Qr_z#Q3aDPgNoTo&!vfik# zYE3m7?Ma+GG@7kobS8kb0Gzf{WjcZCgo)oqeGK+nqbg2-f=Xpnb+NRqQUg70ZmCwb zRm+#hsN$zS#B}kz$(dHQOl~MWr!oeI`GBe(8Jt{g)EW~Ivb>;C>r7RGOa+fwRI6f3iV96)FWNHW#YwYSMk~?9a+0G627Z!A~ zkKzbk^yIM2NWK=Kx_STTB2Kq@+8O^+)jODAlDXHaoRrQuQBPhAw8HFSE=fLmY0(8m zh?Gw|%zKKIYlxy}*(#4{shItSqEmqX@d-c9YYb9qI}ZH z7Y|)|Fq5u)(Mg7ft}rq(>B_gA#AMeMN@KCQQrx8||L5e6hsOLelg2E#&jslo8pFuQ zq%nIriOH@pl*VE;CihEGj&?G|Ls5<*4W)&lXE@35P!vW+CPg{jNlbP{p)?k(C}Kty zAFX)S*k9^oi-)RQoJm#cPBJ`Hg^>|e6^~0%Ug{(zyP{AEi&c~XIbU~ZieG8(El$38 zXv)o*H02#mGCVYekrCAtuh{l|PGYj_3Z*euUCGp#ytc)XR|%g9VTHIcx*x7>>F%bc z!)AM2;9?n)ST8rY_J_PKa3MFh&^uhdhT236{Nx=jf~ovYkRy@HB2x>=`W35UYHK3Z z8y9{TF06qR-Kx$suEOI60CC~Xz+v{!Y*@Q4fOj~tK1hD-G;0ff z!;ci_&G1YH>*ZXQ*l-`!%$ke&EpHkU1W=dDcego@ePs=jUnD!ej(0-xvFqV5X?pgZ zr91N=JJuWfDc|7X*DuTct`8C&t-yK|Khh4Ti91_>4-pf~a)k2SfIJQvV1&^wI49gk z9&oZqNVQ%OE38hnVZ}4`_D4nwYnKqg`?`4L#VfaLgL|l2>-kp%gQ0tm?GUU3_Dg-V z9PP=9_=P{n(crBI$j9A=!bnVG^wxejPycH8c)B#>#$OG;-D0fhcf+5za$eDfuV&)^ ziu9378JL><73ph#Mf&`+bN5N953TG1s#WhOg3}beGY|IBj6iRY$`6(CSFomnzQjI+DHb*93|z z6f<`pBQO>QWgW@xW*2iwO3^x!oh1J~oP@z2nGdq?Cp-js#`UD1@f$iNF>3)PYMhqpORys7 zBhOTI3IBjS5`g-h)^~clGyv*ht`mHeztMWi2v9o9C_p*2Fkw1z&%fgU^^gE4@+mn$ ziGddZP)m{l)cyShP#bF#jV2s!HZ?3iO~9778f-8fp_*O=F11V%_?F{lWOC8C^ zrP?p_$S?9twHXd%gQy{T_BL-9d$`#}ckW6wI$M(`!}8OsqPwz;HwKM@s z*u?cL;AOn8@u(hrCTYmnFtv!5cj(0MFKq;!<0R-Ot8u<%Tkc>E_B-$b_1u&o18!Y& zwX<+J=4|*MYfSEsJKjl^jUFQqlc`~g{)Wdv2eBc-E(L@Ldt2PYY&1-eWO0-_1nCs! z?ZD!}Fj8&TUH7~SoNrU7lTLJPa6~$shBFpyE!8@3_Aaf!Lw5%!;nc}SdR=YOG@ze=1%!2Mea>S0Mrx0tcPKhG6E1NtsXizC9nwHTv?nxba>VYtxJ>xCf35WtZ#Fi4FtA%^BE@dO=?qH) zyT6ZP_vZz6lTXR9TMWDi?A|>YcE5LSV0WX_p6;~MVD?@TvuPu)rSSnY7v7h;D6T$G z?So_Tk*E#ARMQ)W;Tt6;A8K~doukr=VsY-pUKU=3$0GmYlK#sIaQ%BkHP4*R3!1p= zJ6IF4V>)lR`~%h5e004yGIQ+luBzbS*+>xqfahqmrPp!hqUGA~L0mGN3#V&6Wds17 zr4#@J-!lL}35g_=w=W3*AfJ*0fEaiY0I*jw0QhkK13T_?$jdnJ*s}oe zIKZW;CXfjFxC^~Z6TT0SJa^M%rMxA8EU2~t8#A8L_=3?AUakQ3xcCyYPN-Aj)(O|H zlwk!8PG@h_Bj8g&`>KJ3Z^4lhzdpEkSb&KX%n>zU+|jgSR9!(9=Q>UKD;f8FFl-plP4Mu%U+ZsYK2p91j7RM}`g zYiW)b@mHZvzi-H2k_iL-Hv(8j67z zfrk4fL&G=rBO0bHks6?2s-~)QL%>5&-bG~SBmy32cF~;!@`+;K0+s(1_2^fsW8rwW z#vF6rcxPd2xEi~S!@H*xfOo2D8c5gYLgs$?shX@D7-!ZBouYyqKhZ}Nz>tbw{7b^z z7~BX7SH0ku0uyzh%cn_IC&ROGfHYUB4K+uw+n*~QXX@!%Pr%e@JyGKV;6bfYpMZNu zNKF+?qzMP7N;7yHS!=SL8Nnehxe`t z-1TO{v9|4Q{v|1PR2X3FA z3Tz0g!)C(YsA?9z4=E(k$Nd_uIfC7lT$eak-mCSLajLDen1Y>CdlQ1)r;$hkc8>_K zBcGCkofvo#V0Tb5u=`klft}o%BtK~masK^xRRDIkhbzitUH&ASm{I zfnwxSaugE-F9O95Nrqx~^*@T$;ez%wXvGfG$Dg}UX#s6tE$^gXsdm7@Wpz$Q-~gAS z%`UogPD+J?h=ohx2IO2Ehy(?I2+IN!1v0=wP{ZBYpe9%cSeW_N{X|TMbvKY0BoF~- zYwOdL_}5fj4xf*NkeSK(8cFG6CBvs5#YMpff1cKpB`Rtz>L}lERJcji} zQ`2x9(`dC;ZO`Z0kgbgbikSNj=Jhl5EJ?Z=n>O+&*NveBRdF) z{YZcq`IH>QgrtiAvBMLAm`K}r9PWA&oytHSeNZF^>4m{V0aTQZHd>VpYli|ji>rnT z$!-`ui~QQgpxr-^lXuybG?do69Oxv&LtPjdQFZaU=k91HG1--d(paq0UN21WkPYlvhxBN?+(mu~gkcW?>1m!A;OpVE7ge;*~_-1fsu`|@e3YeiT z5n-;mNkkCC=V-4)>O_XmYl6B73sTs$6i=kZN$MCYOd(Z2ofg!zY=cA8$Y0#g;kJ_2 zbfsJ!uSS!ZxwNRNUN{3fN2k5p@RJy5ezU+i64&f)PH)s7B9eTh2_Q`k9jZ{ zKA}J94xCqNmZmCD#}uuXS01Rs;Zvfn(=Rx7`2Pkdpu)WY$3t#LkqQpsceu+5F~d4= zf&IZ?cxcQMV@>(xauN}&T4h~O4&d|!FcNa)Q@sIs{|Y@6s>BZ$1na2P2GEW=^>(!u zN%+IE0R0+Q@s#xfNC!pM0tUmU=p*f>p19oYEsgL<===KcDENQaL_rMVr`Oym&TLzb zf0NwPJ4oX+!dVzRde!R!Yy79a*0HVB7tdH#QM*qP4U%VZj>`wO)O;Ng#@oCl&6+p_ zOoY;QJC$c*o4Jt9jL=}f7}x=7B=rL6zJMOPfWmE+o3KG*C|DEJ8$35N1V^JyRmQ5F zsi9z9Fj<|Ltj+LeJa{$@K}@^2Mj<*?UFY0y>L{cySUUmg}~`6PGJ+aYt*tIH6zQ0>gx%0dkC=ER5zy zDYByjF>1n+-sp)9B%C6JOO@@FatF2v;f5ky1dgx%jkg0iq0|gPeyyqnw}jt&^V`D` zev`}+)YtCle*vg$?9Kstsl_6b3$fT=d23Ksi@k6GloU8JCYWq&gRrYU!z(c8e)eYNC^U7_4B*iK#iQY1bE92_jqSwp$wS=XfI%GK z6xb%)&qvJJwD$qD^j3pBr7ceZh_!JC03aXk3~0^N%fYrLJ36#fD|c$zl~K&{mNImk6v}_+?TH^neH!rS@4&j;3SSkMJU8~9ptU$F}^EBn0|nWv2RQ3 zK^Kc@7fz337mTe7BWxhQ6f^AW(o*r5XhKgq=oy$49FjY9^c+?s50GJ{yo!oNR>~g} zE9K-<;+1l_N}cy5tw$wVCGXzb|LeZ6`K?nMBbCZ&D!$lO2c;EP;n%LpdphiCPgKv! zG4CpeoAIeuG}attjqyv(F6OKRqbvBiAMj^kR`_aUU|coWkp<-1_oTUYRjZiml((S@ zqImXoMiaAF&V7wqLOhMZrzq}UZ%sk!O78!2)e^$HkZ^*z@6?8%`*I&+V9b(*!P~h6 zIkWE2dIDxeH`ktxn`_BZLm7hLGHjupzyKX)idFctQHM-Y8+IU1P1h<@aDkqPr`a@J zt+;N9n3+bO`8KVw@&kgE4`>4{gq5s3Ey~JFpsOn}1zn-(89?`8WCsD=UkK18pAv&^ zD0HZZ^0bx7fcNkEA9z_VRvdQAYp;^uXLK0#etJWL?9UCSm1?bu<5r_(`tNj46@920 z4@czhM2nv6ubH(hBCD>Y7{#|X8U6+soJ*bDy z!%&`tH!g*?RI6NaE?hEPg8S22T2TXik<6M}npNoBO)+b_5-6hVoHiR)*!c=`)^uS9 z7D;g8)ZW$zrW$bZ8%&Vk5TX*?Fb*|5lMUF4Q)*U%_2tG`W&NdNRaoY1UrJUa*;l2p zumLIOO9%MtWKCqO0xKm|ScJd@&1R*AyIo;jqclBTo8gB+;a$wgrXkW?wcQ$EZQ&1~ zFsu#BskNCQI9V790ZL*=P)$&CN~vAi1W!xVdZl?OO!MGgh~WVo4J#nPRYF*gnS}B) zMs4ILbR8vt0-IK6v<%C$tpRws(ik5OHbO<4U&xyjs{kg=#a5SPRuX|=@j!YB)f+YGs zt4y^J)*P+{OH=f@yG)n09;+;(8lY3czoebr0G-7<`g_5yoVP@-0dgeOps_SYBHYxw zT}Z!^FGnmoeu%qAbXOnaVy1?AZ{l0p-|a<=vbH0QNFUyg?K*|b_O)8DF1e+edFum= zJfjr6uLvm~Q+9IzT3cb{BRdP_MPbcHPLa|F&ZnJOcy zYiUnUTq0|7DDK= z5h^x#90HXf+uIdZgvGoKAKRsLTo4w}nstl?FkB$P03bJe{cMOtN=@;j0eb4Q2o*3K z5#5pFKIE~`5lE7u0(Jq}erS1Ycwi&%>3k?htBi@BWH`c(w}ODHI$f)lMVcE+Tlh$6 zF@6cED@(OfGa8EQAIlWobvfRnTJ|$jB=MNMN0j5bYu|+rRi{CIO}l&|FE@p>^Wfv) z9>Uj2>iKpG<}A1Cm(HSPy7uW*MITZkcKiFBVl|arLq2M+Q|b596pYLv@(YUK+5WNi zt~1E-UJ7n-wTd{Ch+64Sb$XUX9#SHXErLZGviUd-?K8I3o7FkN_21H-bZi5+ly?=$ zDswSQ?^DlFc$~Fx828(QV~r`8sEj4mx3+@ z&C4UaFw)%eX!ncFF1l~aeU*|9xUTLl}3!7^r1fgb~)UTfT@HJvdeg z7}T7d{Mt5;G!{k|HuKzX{T?U19!rRKQ(80cxBiHeAP-4Uf_$K@rzA2p zCRYo4TF)PJuP4&^;Z2Y`$I~%h1OLJrg=1FTUDB+Kw@Xdfi8I?B8kuU0b!wH?YH**c zRWA&GFfS}T_iT3|{Im+U`@9T9(Om?8fFqv`f3y>rNO&t|?|<*|Xu@e4+!{)@==s!m zA3qyj3{(I=_FMyGAbpG?S+^$qDPPok5xgZq7Q&Ggv5O_qBCR7iAVJm~HZe_=rdz>y zvoQtv{nm5|c2ry#tU4)pk#J1J-z5E!>W0GqMIuSc;l~=edL-imLyR#Ztuj|opNs7W z8XrJxPv&OtKLauG@L==mjQw)6_aAUPWV5%_P@J zyMYesEQY+BAh+T8;zOo&&Z`Jnf4c*0v8#B{zUL(3%6-L6f&|6QIZvpO6 z;ut%lTw8!@r!$LwW#iEq-UBpvy|aYRunh!S+(+glv033>X! z9;AunCw7cCu{K;}B9i%Vs6&9ccB5XZ4PiQ-oZr28+iW50>AlW0zyV`uN|D93)6_jnDb^$zbQvY7on&|6QIOUKUGnaQz#%zJ zaafi5+P?OHKxJ?@<{cVtVPl1aTQ_UgWBs*a4mv7zaZ=T+LB zCY%Wir@dmKJkNV#RU7vKs#zv@Up3e8?~pQ*NVrdqYlpM(p5blDuF}NL)Or18lZ^W@*T5Pva?S_A;8VAR+Z)y6P-ZC6m_BFGM z?%Wey6v%c}1i~jyW>v-f?fjWhN1;5TGmP!l$^GNNy?8g`u|oedXG6ACHAAMdR^lh5 zF|$^Jt0*6}x&M1-c!fWui#OyOn{Mv<4>=8eF=;66zVH2=WOx*9FfyY1zP)ZRILb*( z_FdnUMkBg#WbJ!uNv6hR9f!q@gg-{t(r1C*?h()3E6THsD?Z9wmw%ME88wPln#d?m zFqTJoUqw!fIgd}2H^ien4DoQ2r?T+?zvAqIy_|vcmc%9c{Zw@!;l(g28j<}CeiD?Y zM>r$)`**H^J`?`1B^+08Tz7kNw2J zi-`S>OBDMF3-Ks7ehSyL;d-MvHE1a@juwP2z!!C}qF<@1#v`d$YSK@yXNEtOS%H_E zT@-M&M8haj%T!)WxGj@8(KyN|uQY=SE-5aFK?BKmTDg)xWJM?Ng-u9r0S?9+rU#ba zMjA4LI)1l}w$R1Dv=Q`PCqW+J9VI9e*2?hi^-ij6{>#u>3EUQ~4R3)C`VF|3YW|@Y zY+FVpoRT4hr{@pbUq%r{VOy}3L()~qX90c=*f#H$y;H?)bcDQyL9i(}w;qgFn{Y4$ zo_|kLIOIKk$TWOQ4yT3_YC5gx$qsO|uy{U#KV$pbhlBGwqpiwi9Xvh(+ilT9tKoz` z$Q6-J%H)o7I8D1bCH5y$v%kAon#qaKxlpaTg7AANB$B84jwY`37!r+D<`hbB-TkJ< z4A9-Un$*EC`3*#inTF_aA-+}R!h!v9pd%hLY|fCeUzVf(9EU>kX3|2T&G>TEXl=9} ziCh6?;oU{B+ow^Vn0?)>dO`=lDcVI8597m@fsd*lBD2cvg3S?KUXX9YBFZM6SQkYbH(RzwJ{|wO6n`{H^ z9mx{aF%xBeW?IooWk%8FqRc4{^06b;LXupYuhbU4FAcq{4(nFucw6Jhcx z@kCg}d$})wJfpBluv}Mw3!_NfHHdi8Yh7U%{2^w^kAF0bLC)IWs2YvQS-Zuu!rP#Oew(%LDW;>ss(O@F zSVks1xgm)Y@}If?4~i)|a~G`Tv!82`*Xd^NYtHA_CZZSN({`TL!>beF#KaC<7&=97 zmy1lI{eP}H|L|8xIEih3sSQC73F6$0O-t3F2}9U9=i#|bf2J|SF{AaER;0dCckw@_ zoJPq>#R6!824qrwy{5Grh=LB1fL?B*A=_roW77>d*#!>N!b{U2jl}PHZNepMb=WjV zXHn+sq3D6wY<+^<;t2;?Y@4jWJ)D)=I9+#Mf#t2Zuu&NsBFh=A(pLU^aX%+r z?SQZGI#9eeRIEBcPt_9n-E?Cc99~V2)`q)2#{;To*gU0)HczM_eb(UoNoW$zoSuU1 zs&Fq9mS2dAh9N9Os*I*FUKG8Prv$X|w{?cNQq9fFBz&y(zwt!>L6wB%p~gL%I0$C}bQs;7*tZI{IrBAwrv5*7|g zEVy-)9CkXI=CZhJ}8_!*I{7ch5i~$*S{G0mI}| zVi=YK2QqSBd43k!+Ft?`M~_kBjx!Au>uouqSbsGF#gT`q#c(J-PgCMTp!jUFi#Y(r z5#9+PEF6k0>y(&(xIG2Z~p! zP)u0ES424wuMb{CPngxs)#rz*DTgmdTFDCN)f(05t=Ry-Gq7P)K+c~lwVpD9pU!Lw zenKJ{!0(MnBmuuY1^AIq$-z$yya@0+IT`rnf4MVXo6qS)|KZ3unV@|N*bwHgk9_iKur-eeqe(f62L6mVhp4wGr&2x#F~_#pDI&k%6GIF;?Sm&Y=| zcnI8>KLq|eFw=lQ!C~&=@6puO2Lg{)Ay7Z>m9uO;oUTqzS=TYp>zArIhmRt)1O&gQ z(VgC+4G_E=8&*N^+geWz6M17^slUSlLT3t{43*kA55+*3`E&*?s+75XJ>JLXoS{XYh* z&LO{I;HA9PXkW97?p^(wi`Qi!BcHeHw|sP+Hx_AOi}Ov@=kX9`(Bzj;=S=DJJH$;O z7LkNUVYeKTqg&aHJO0!SNYRJ3K^<4rpyV1s&p|~aoqoUP=xpFwJPLVK)SuyO$W}9J zn6oSsKZP__=r;Q?C%qmu{FhQ%Gv9O6bQ0tt2}+R9l5|f=WNJ(n?Dw>u{>W2>Cx9q= zq@*lE5f0Sg)+sr~tATp2L0sBC2{t|ZW z4p8mRu{%J0E$(6?mBT%5Kf>l@B%nj75v=%>)&Hxv!7-ba$MHW*n)v_e_M_)`>u^sU zl#cy0(zx5Pvv+osV;}Jzui@A)_HH7J*_WWVo-CJ+ov|~MW8daIK!ZoVQnkA6bdLS{ z?9^ZD-9#1%-NyoXEY5vR?+kNI&(eSY7J2B4R`T*9 zxqOwpZ1t&ejkyYUlpBvUH>iBCnkdJ#<315@jG0!ts1AZc}jV;rnZjt0V9!` z;FcrJL=(KPnr>J{%E%(Xghr$8qJ6BFaYNpUG>i?ag*jtdPpPuoa%+apTAJq;{EshM z>A5xIN+gmL<{T&rbI7M&MJohqNV;7N9LUHW zVG-ZKno4*_(qhrGS_2`zRgHz?+%1~^rneMhEm-2*&1M(fIV;L2%I&DjlHLnUjQ1`c z%l!8^8?r6J8KRX17w;sEnFSZQUY7LFPKrH-{s~I$7b5ji2~ThQvXcyt$`3|Hrqdh0 z=OiZk>5Y^|pZQ)-Ey>iFEC#W7lkgqD4dHD2Bnn(^_vF1|K+EvrW5DO+9|JD_q$LIv z{N*v=tC8WNG}93Snl&Ov&;x*4O2jKNc-6`X90s=Gv{J2AfhGuv8;&Y<+Kr=>>ql>n z1PO~C~02S5F^aAoIsmr=*OsTG`eXo)nMtch{Am)QdQ zM#N(qecOO&At#bCXGfkVk{a&JIFT&TMFpdUSy_I6r73GiLL;? zGxvbc%%m>_l|vY0y{yN}@#ImfO#sy+$=}=v6qIXQ8_jBaM7!MF<2!kghaZIrAV$s) zqhFn{BA<(>A%_&)r;KE=BHx87rYnRPgu3_RZ78vcYS-7w&8-!D}7f(^cNmYSf@FQuZG;L4D$@Y6i<- zqDN)>M;k-qwec2viAJwgCZLvntD;rwoZg@+Q~e;H>dz_@P@v^pOf|Kf8&e&Zp6PQD zaOQiHz6N;5TXbxO7%H1Ye&%C{bU0u{;0k?qG(YngX5R`*s?`|Zw#0UF^C~4_-cq8D z#ABH~m{Iq?ylEt-guEY-CqBLMY1}!{#pc9ZsYKhP&ce|vU?{liFKrml`C>+{5Xpo8 z>rFH{8r(O*axMUzNOX~hBNKi0a;ptXZsLdrC(R7Kz$Y{A$KI5pOHhPrKSh`*b$auF zV($z}{JvudVd@EnD#PXRS{s}zcr{%(KDq_2W`RwFZ@H~t81`YbNhn(q--!8+V6H&T zoT{*<_Rhwcr+RZ{B3p=zxHY(Q_ga+ONcTa@u$uQo(~qLlxYxXSkzi8h9AiQ>` z(mp7hOzxJ6qfOoXbRzlFn582(aV#CV+1gA@CQ~QM)`dVS zPSMM?wpV7ItL$t0B5IKiN*l}V@>z{~yIieTntYan^-z+%UcpQIvUa(N?@k&+!Hd>K z?O4j(%B?J7{#2eF#=F;h)5Bx=?o6?KX`9qr>HZ24nPNdig!ayc@9p0B(zPl!(l>i| zA#bGN;qbXf9{XFMc_PWhMoP)4C$y$ccf8LVIfFjFGrE{=Z*(1~Q>wqT&FN?J!~FN& zUF4b52Q$s7D^*TjX$}c5H#;GftdZ#*rTc_Pa5Pj$B>1HFROQyr-of2Nl4eG4l@-hj zUXoL&5O0i)p$qT^!3a`mLRgGlkOyatR0g-PH?38n6rxO2BsC$~wh)X|SLr7oI3 zfTv2+<{UTL?*9)N4_iW?li^O4u>%>`>4v>PT?VyEn|Kli8$*>~aHIj9<87b7fiB;L8@dL|^+eEr^5pezSGr|5ysuas(D6~8^$4FQ$sIIg zZgjdoYaoW_G(?U9M663E4zte`i`l+-g{sKWXU=&!U_e=98de7aR??!6!{zZ}aS_%* zI7+K1sjr-vEf~neaZeSCOUw=@FD%CnCpX&$!Xvn-cAqeZAq{#^7- z8HlaQKLd^8`u2&2x5^u>q1uCfnVCAGe8Q4Dw34e z5aqH|n?@e#V(?zaBXU+Eu-_wiS! z#g$!tMtu{_zZBV#H`ZaSB={=M}#JZyk%Tk!@zeeTpqV z%e%VjHkYYr2EG=ogN>r*A@#zDg z%^g=OW<$;Qm|L!FtuB0N5u6@J0UGW;8t2Txvq zTaa(JQ3xHKRS2_SEtEi7&}uq_tfqHoC1B!edPR4)w2`7k)U8Aabd$ZRV>>Tj68Z}J z9-th%!Vb`&=DiU9mM~JLnXRWEW+kUsPd~t2*v;q>ihCpzN1Oe4i@Mnzpb=SxKSdnI z@3La>BY;E!4O0wcC0bFPQ?Qh2i26IuRCpy4;uo|M4<%H4A}iq&SK^lLZi^C%R^+VboLdZZZ zXgF?4JAocXfS0G}1w^`JXIn)_IRgui?48N*6(k!d&WCwV7^P#PY`C+#TRKM~nZRAK zM3nBivt$=vLYh#C-Zp)KW-ymR{TK?Gg+gi8k{$!4cUD(uEo#|NzN@Lt#oW_M3f z`GpO*+CD(-07IZJ37dSTeIHvHutHbPs(cCaFfy7JVjlLP7bTM@zpv)ZX+~V+aC+>; ziaK(|8T-tdg}iNJs3aLn9R*>8V&TCC2&TayYC3F-^iha!7=f?{2yvLi*2Mu5`!Em; z*UDSL+Q%ifw&62ja+Kb*?X^`1AZAh(48&cY^~)W=6)VcU-<} z!vGBjW5~3w880^>TeZ=^25B6pg4151GF)$^7b7glyUs%2t1q{Z80EYQsxc7yTGuq& zJ17x$Au1p)WA0wWCjl6mIddS_tOa=_=z$9xL90^1@wm{(0OOiom`32z{;ib;@LzMX zv^-e9p4W=(g?ZjukzSJd1rI^1(KX(pv3E3hNMTOQ2hgq#bV5wP+Sq4I3i8$Ul#39` z1uiV6GL*<3z9Dz_>TXs*e`M?UEKxLc4PpTk6ATZ6hAVpM;jEjG&>tu;_$WD#2q+b8 z_E3gBgABHrtdAmneu~gTV~;EL2QS(GNy>EtTv9T=p!~g`OdNI2)K`Sc-?ww!VO+*Y zfj>*N(2yg@8eb0qK~k%@@Svyjb0q~9b0q|tqa;x#*7T4r^RE~g zu$M;**&d*wID3OaLS{7iQ&wEQ958c&jLXR$`?ms5|?`Jzgu+6oKuRW;_O~!l<;HMA=fYlUdux?P)K`%9ldZq6pwU?F_OHWIe|yOdaLzj4&?+Pv0*W zv;C5snN(`d+kl@c;INfk%}Oz`2gnqALC({f0%MfBHz&I9)zt}-cl@<@p}T{w}SSBz_lkt-`V?* z`&iH&V#8CJ<;dQIQ14zm^@h+tfFD|jVMOJr1BHx7uj54ehqJPk5a|>=jOmGnNVi#M zRMb;`P2+!fiF%S=aP~wQ)$Y@xuf=28dmR1{ID!oH zB>GicF~r{kSSc_#zXaC(qhG3`@X9mJI3w5urt$h%Z@JklPnNE_YISeVs?9y5Ct(I#B@@FIF4LTM9!*I#cmM^S^uSTC+)wFzGgQi8wLHeG9aSHb^IJ!S3b zYfoLXcGa5ao~kaw=>U*CZEQXNw{tz0fUIR}V1!XF|0rmhX0}$qY-t9;=&}KcxZt}$ zX{5Cp@?4C7YhgQNn-XULwo2nE0h2$kR|zJhaxkD4`5Ta|)4Dl!e`PdvniB61ne#|S z1BlpL{)|aZPA#WoLROK?QN}*VWFcVU)~vBRFVU&25-&~Nz(b3rU%blaLM($gwOP4W z+W6ffjC!b~k);XZ;?i;=HcmNp?P+VCd&;S&oPPSLn%MCB)V9D^I0@c?1->SeGgw^p zrPcu^p4`o!2QH=8=fq7ODq|HRtL|70pQHEWs;?85!LK{fGyE(4RbM%2ghsWb_H{NmfOCLRYiKQ+N0}s_r+>cO-gAmZHwkgSTu1`(I+p~*d@g+ zQ7K9uTe%ZT)XyFJVB)eK`niQ8m#>u)#w|!c$Cj5hd^m@C^!0@ZQB|&PQ%g>IhWUFCkob1Z<$TM2GZBS6LY> zFYSJ)#NRG4TMSg)AwfJSP>WtnNdkAI2RsQC-&A>OPte`H4Z_K{ws=NpDJ6L@PBc3WV`IZApgU> zvv1kt?_%sQGr!MMU?9jO{GQ{wTCCOx+?PQQ~#9*lEUF2)&k zg5kk96bzkl@KuwVp^iSYQDuh{ocydqpzJK`EMS_a;2C{GnA6?OUJ@~b9@ywH<)nwl z^t_31iN0yhBRaAQ40~t;=pH9P9&AehDs(1tbtZ1*OVk9XiQ(k%m~&H-$;5&mSEdaT zURJ!x^08kY-YbBW^pW!PO#VC_4`cQ|S6R zsLq5eJ?xy(bvCIc56vO*1icw<)S#X`E=P6Ecop8_+D#*k+EA;jw-?<}H?nS>y0-f} zJe(rMqK=P7P9om~juPb0ekj*XNi&=)zow7{xbivLk?F_{6MgOKC@|C{IPNC{`p1T= zFP~7k#?{caOZ>>WOQbp)u0cmboYnb5ga)?f%_Y-q;I&8Z{QJE(u9VHhoqxYY7-C$x z#o>H7qj&VqzvWD<1S?i>5reYmu;@Y3MK{!#HRi=de~RWS9@}{1kT1JVxmMmd>GWB% zUPr1zJdQ{efB)YS+&R&y93^JuX5#WgEAlc5Q9@h7o~ZLUX=LoL#5!y}@5<5$Tg>))$BUHl2I0qNW%^+|v8);ITN;%4xKCH&YJT618K(YZ11E{T9X_ld8Y&@gQMP0GiWN#vmWa2Z{ zdb2mG9;|h<#9DFJ{Z;#9+b2z`QWa#Q>DsDrp04o49ao0(EWT618uojk8!i9 zbV`_FPz3?j?Jh<$OJEz9rn2XD4o79q--jb)_=(suW+1~gW(&s4eF7mAB z07mmz&y;+brSqxY$QktUox%N>bVjRzF*IQk^_7iZ&&?0-M(-~2%;$NT=F=sg7hwEv3iNq4OE-HcPYV;}uka>9qMQ*|r0&3- zyG1!|lUkI|>DA&jwPX&4*pxS7hK#z^yNf()9@nBsvhN8ETc&M{P9`^Tta;jO7er@9 zi^iIbEwu`8QFUw>mV1+n&biBYqr>f(?iW=eY3*4kxWF&DyzP*3MZwC(u8WvtpK_j73q9!O%sXnTt-~S0AJ6mzYNzJD=b@H&$*z zHBP?gmBQGa603jCJAhC2#x}=>7I9D#H3qS(EyEB}jX^8z#^#K+ans=_7cFg^uwl2- z#tEJ`y)uYtvFK0mMw~7IvFOnfC}h!RKtvStRh{8@NybO>ICKY!o=9|2V_LMe4jCqK zP$Q$9J%T*MxuxhmNpxAk6J7AH)QK*|;CIkx0S>hSL%0k*qXGYM`27#Gap8yF6a1dV z@x#B8@cZ5;;6t<-a{R(cHDDvlb{EaB)Zx-=C{VF^DtxJ##Dhmw$sop0pTyIB8DyYU zhAv`tAy{-lPtbxF{xoZZ(I9 z{${#n^qix`I$dOKNq=cW>Z6@PO5`6UBBkda9m%H5Tw-hi?Y5kvM}R(sc)7X?(C=- z?2C*}f5r)~M|AqH$xInD;TxSk@1F|dLjq8o3Xo|ga&;!6(-Y;y^oULmKMqr>-Uvn4 z=O0~ioNpBdwO&$CAUfz!2d)B%f#9PMy&ge?tq^<{VS(K@Lo1=aVB$7}8CSgkrp!st+?rh341D0UYGY1`X%UOT{{-KY(d{kTY5 znd(@*!I|Y2^i_k~j;n2Y-vYX$7p^Bz2I_)=&{F^io}-J0NkMbc+fdkms2B7Uwc#Ue zueL`d*n7Lqfnrj$mo^%2OJ$^dEyNPns@p2+r|=R(&d>AssQZ5u62ui0k~f&}xggJo z&T|_26{Dv6Xu6c;d9{R@rOUEqxmKYDEKAKU7WM55sl&5T$2gFE9+}icG}f`zw+=Ey2AE(N2w>&u<;A*)m{=Fkn`xPP!|F`SJ*i0= z`zfyoWS2W=V3a!R5|FV`i7jgZgIF1mS+q9881YJ@ZI7kQE6T$mFk$wwhBg;bMHwg} zk1}9XK=HP*VzFCd%&*M7k@-3qYh#N|whnQzA@TCU7+#)#juIy*Y!~`kJ(%rZe3z>5 zU`jHz))q4U;mwF&@!>GaN_QJ>i%6e0W$kkw(7;9>qHS<_facQ`odTHSez#f_#`07^AG(Xb@pL%uFcG}GS^IL!;T#1}M(Uv#Ii^Z$_qT}YEQ&pkn7oYc6I>Q?FY%y~pMC~GNV4`o5fxaoTZNkPG5R238U%YQS6 zn6cBSn_3r5h-qO&H*Kr4MbfNp$dX=>aK#DhqW`UP(R&yYf9dSVrdk^_E6k`r!<`vs z)CG)D1x0kU_kkwtEz#ug6B~yv{;Esfd7$2fJIY!|=V&Jw9u`dshF%WEs{~WG6PWzP zPza1Z$ACmG$<>)Ka$1B*_+LoCFb~i4FmghohN8)_{UE{aX~8bu?)kEU?4H=*Nlc%Y zAimNHa0v1;8_RbPz4=iB^x4!kOZTVNL~;X(Dgd;1vM31q0WPA4Y(~HM*aezkzRj43 zVR@x8lAp#!X(&P_RFaWHlFYU-t0S>CXd3~EYlEJ`LkjS(q>uuvTVcyKN4yiYK{uz< z>OMF_v^siR%A(dCuL%Tx@)8P!L$909N0uGb{HeTHm}d6|g@3cJ6hpEL&F;145YddC z$~~pp-2+67mo6Uq&0jk^@>K2KhCA!9YWFE8#2%=BfW}Tf?m9C z*H^r5_dkfSblr~AmuWq(Mg-^jm5*+>m~K(@!h3b)=`ZDF7%qAY#>6K2h3FR_J^P+T z@f0@MS1~?fc+OKsikH7Ov1w>`D$$5`$0-{h5Syso1qev2-949UclcL&?T#bf3GHqm zop$&B8KT`GTXz=K?ifuVV4FEB_32RR=8^$rjgCB$R|iw)PE!~*`_eF^xlrexV-69` z%(>HbIU}^qRBYIMF}YPT3`MC+vt9^vjF%`L`oxQHM`jqJZ}3~66Ce*givW~szZc5G zIZmi-g4f_(p*&c4H#{2#m~P6$!4_GOq&Zk{i`N|bi`N`pi6%aC&M?P@v#JYWtH&ER?b!b&A@DJuMCHVeJNFC!XGGw;R` zacr8jm01vs-^#WWzm@#}h-qwPoWg7?yI)~jpRH_tlU~XOL76m-8E)dO58*iO`c`xm zF9b%D=x7#WgQ`?9i9yZ+G%~YGbf(y?BKZZ`i2h4~SY69TROUhsnkp}Ng0f9o{1#De zONJ;{5tE641Y%-8cee*sWN;#%50h!*qskiUz{e5MWp&^u$}D7}mT(!VOi0uL&Z#-n zfg>Jg>c9rB4&Yzu)d7xpJQ!9>qM`DrNfZP}o@o)^d7|OuM2_QXjwAk+gyU|=v>i6p zoq{rLm!Aa}d^cKERBo8XSC_h(m}zw;(e`Uc6$obzEh}Jx<)yQwEFhV7_ac*Me5cJdFLwhDM6g=sB|Hxe%d{0eI_+R9ab)|K zwS^76D>{XqP+k+!)78O4Y-^2ev1U|QmuM~;87?gCI-uG1+komoj`;n?!{ij=jtrC2 zLM}xZsAL!xI6^XSX)wi7-436C5AW7NcP#%wYnYaw6_AA8)eH2fK(# zkrC{nZ6@w<0^~6h1fW7^B3Ea^1emy9r$=a5cqL3lLL8U{6)wCDYE=q4Cc(~u^Is8s z#uHlw7aQF~wgE^8ZPX!+v>A*xnj)RFMe;{06XnsdTBRo#uxuKo z8q{v?37XZdBkkopLV7tIwOT=iU3difw2fc@wPY=Dd-lh~^5p|en9&2*3NOIaGnwbN zWC#7aLPS-0GLCIMK9pdX(bHCX8Y);ZW#ZovOXNHJAynDn?;vxYlwl)VgA5dVcDmUo zG&9OW0b4YKQ>GqSj- zd^aDuAZJ)1EfLQzfJ=&`%AvqMROQw49VgJOn-MjMw5=ur~wTTn8fRzn|`$DpbJx}*ZhPShb{dnPT+0=jb% zNbEIPDCCiihR1r-P%iEE7-9!}fs?cYiQ>6O;m!#NaW_=ZHupo(MTy|iY%b`@=kT`; z{MAC?fd<5q9!tF*R-FCXSl6a^`T$MtF z7nQ4;rY`6B>67G^Sri(s*rkf7W=U~O7Go<5dnmIn+wETt#E;{xTm}_kak$PLBKqib zb$iCofUtMz7LwhSE_b_gp?I8jZ*_KLTeJ?l!y9pDX6R9&>2miuA@)H1Zwa)9K`LEL z_1`#d{u?ou9v#JL%+5O75z)Du#LHar?6aV57b(_7G=J>i;gu9rQti@zhq~lSr?4a=t^${4I25*>Otmu zP^Z?`z&5|z^20vj-Gw~A;Y;9ikINTFp}GJ3l4=?D5;>IixQW9kA~##*Eq7$vNB*Ca zeHVcs)B<(i^-%%keHU-&CwfmI?LyoLz7%(nUdn$C&M~Rvytp>^LT~_Ksej%us&0ea z0${%k&|_l09B+@oV_I<3BK^5pa~RBz9cKciZFbjg@_;wK zhNQgTyNf*1=2I|QBFV*WLdltHH+kF}L4!uVvufKc6ib(_fh^J3PWXfTuz%OPi#+rD zR3Y<=?qOEwg&x@G^LuaPa?dTl-xG;R6-xD$4c@M=XFNd&?Qgz!7kTD$KN!t_y}Gmm zS&BNe1G(9&r^Wsx&u26}Kq6WUB2`DUn7gvBE?tYspi7C1`;N^Dg>e3$Q+H11&!VhQ z2)w?@q&qL0la{}!*p#3G#cl!NPa z&OO+}%kyeyN1hI@>v3ltc5uDZ39$$2cM)haI=DXQ1jEC@MZw7B;QF)^nEVbd0;A6+ zYDfVQeoeR}S7*Y(Wf3XiD}Wl)&B1k)L#8JsOV!=L+zuX5_Q^Q8Eet*Ua7C*u4Iy zLYh770Gs=bjK^0Ir8yhAAR4M*;Z8fiuFUQL!0YM;85ayb(8SH>_+cah!?_SH`N z!89GoqFGKmx7h98(~!6hgj?)ZGC@wa7;V$}J%;e}`@Hcr#OA%;UE~oxAAr#kNiMb) zO3qwc%NM*6G-%{ItG1mZ)7J9!{IEan-9?`H{bnKao7ye*Q*Y#Q&#mhFQf5_sCGS^E z2mVujcz^HRMV|TmbEf%psS2_bb*Kt*v)fX+#dh;{B~NcOEg>XZ1R`WdRGyo?88JrX z$)I=%r`bVSp%6|pbW+dhH2X80PBSGg3#XZC|H!SH3a6QBFw;yD4yPG9RJfdG=sj_o zZQ@Qd{A(IG%^InkX3_mK$tfgNUu15f^oeZ8TD13G-eU)HAaPtkA zL(KRY)g66>mwvPmEo>q}GM<_ynL5Wf88*q4VZk!ql~FI=m2neLl<&pM{m;2w*x z4|R-~j#1;y%1D`ZQ?co(q}Avjzv(4b{QCd`5*InXgl~HISL#hqARZ4!x~hh1X&izh zuLu#}c_NOVy6yhUf!`BUf)2UXSC+ zg-7I8t-{y5!CJZ1(jq(ALwTLCW8q^8>t|nN#%3vs8-B$cB6^^M>W@y%-m%GbLyf^! zyIF<$wBU9ftk!xPW9{l_wS^0bz#o-nx!q{CdW~=O2O{(P9*y+Q`i072-PzJMN#8Xo z$oCW*<`V(l5# z_1K53iBV&4fzbk+E5u_PjplsIb-?q82KqA)+i!0(_(g=c`~i1n1VSBRlUIx$C4(Rb zXw6wmqBNqNIs$q9x>uoML&SFqHnPGIr}OA#1-j3QgYGIT4N)2G+pG*%ho-`x!7@t7{!{B_jBY(*)lanEw0-v=W9s$7#Z-lz7E)5Uy}>r8x}uqqHDdEvS&>=oL7# zZFIcWu0k=dL0a#t+FR*`a)~c250yvD&7t7pCeR*|-kv|wZjZIrtz22D_inFltBzGb z(DpW(TUVmLR+ zKjB~YJ^Z9S^iVLN*{UjO8p6-UF#H4GoH5Yf1$ss~SclcIbpuL1^FS~#F@O{E;$E|D zVgQgG8VGusSfoW9S9%gmiHV84zb2=#5s)cjj#Wi5T%l&rNAH;tbHvC>cAF(^ni*TE zWHVnAx?JOwwYKo$Xl}hcTA7N>9v_)Lub2XO@*ICM3n8c^89Mt8GaTu z#&%=cN@v8b0j^f5{OCS@|JIv!PPWvutRoz7!r_h;@;WyAfMTekF?&d1c4pvP_-)@) zzZ-tgMrG!W<{w~`5_-Ox* zYEQW9>K&VUF5DGtB!2}H=)Xa@tE)>TrT^zLNf_mqdQ(1{4|Ynd9EMNNfmJrIK0dmo z(ww?5+P7BTQmMg@dG*HjW_b*@s`FO>5iWp#=zM(@Xh1CSV%^LoGh@(8E6aSv&*2ny z9xk)otWK=B77B?#`KoHYU1^TN4PET?H5?3V#0BW#V1tfI>jpOUffW_1++R2l3{~n- ziv%C6Ca~y*N+-j$a=TrrSB83m?Ui7pd@U+g!anW3FrZ&=>W1&hpuJrig4S5M30<+( zO8e{y$mx$OH`T3W*=9Zv48rjd%0CY_E4cCr_@`jd^3V`=Q&F7CTN(fa)P#mp8gyK( z^I>|sAk+svDTG8ZPg8B_L1FYN-5ADHLoNhIxUaF0GOB7_w*smd(l_;MJ6%5lY-180>JLF=tJ6%2dGTPr3#%LN%{J1Rs+~btG<{q2&Snf?j=N|iPqVmKkQ7Y>v zHBQ0M`fjsG>^7Q?u@7u9%J57Oel05n?ECOJd|%0>9V(zkMRl5iq6bilGCh^=L)h3e zpFUQ=Wt9CJwuaowlnf# z_$D?cA(!m$a`o&h`;UOmicvB&ns~~7)%FtJ4hN28zAVW0LNy-4mar$Uv|8sq$&}!t zSi))01u>flw>CNvE;wB|%z?Hxs}FfrQMvwqU5r%%3yW43I<75zRlU@cX6QZic`>XG4_&(r`uOWl(_wGWLLE$UlbDOUmJJZ8HWRTp%A%o;*ZGWDB^7^+Tu7C3SJ2LaVJb%%cKL~l39Tq}}3>}ef zcX_i>jC9K&V@0~{3$sEY(ruBhmowdVZB{5mx~-}~Yrc?4HLE~qIBLX_>t4oaKHM(T z1gSr@c`6(?vsNtQN1vOi`55#{M3I(}J~8!#jau4Ghp$&WXXlnILjoo$E;>keOSR+N~k%6(y*^w<))R=3LfpI+U%*eo40JWL0I>rQ7wv*lE^sag$+~zA;xN4&EhjXK)!ZLZUXFrV4#7ZD{DIIN zv~Zv32$sW5P4_HVihD$8qQL^zPBoc}$K+W3W(5#Uq0t>MOX9{P2A~BD7G+3w2D}py zW{b~eNy#W&F$ma9I-tlO-w)v{$0gpP5FitPB7a<+R$`jubDtx(`T+za&L4jn&#lJ4 zl5(rDzKF{RaKr(O!mrYvNT;bjIAb+cqqKf{RrN$ekkQUc6REBOpU=mZW0Lt(`S{9~ z+G7e&tBcxa0UCRg&{n@<4iW7|)4QkC)gJ>{<7JSC&i16UBTsepySTFstE+!@LhOP1 z9|*J=)z$s})inbi>M8{zm%4hS6PWz!DuFSVhA9p;giCUDCe&4ndJf2L zK1pA-AR4c)ZZBS6-GEq3*H<~EnZEi6B7G)(^+=|NGTrg&ZW`X7QDfZ%01Hsm%`Mb5 z)`Q|lB|2-@Mh=fvYki4x1={4Op|v7_b84**GtOu8@gju?@jHeCK%up&lS{N#&H*{J z))oR1Ypt8P){1|n*IGH^ozPl$q|#dXY7Eose9H}KFj%e)jzdaCrN0j8@}=(XZIHFN zwY6MWdh{YKi`7q9L&CQDOPdyWlfonFLMccKywMyYdU(bv`8vT_`5avtT)<|J&xuh^ zMsHCvYLm?A?&hBp*Cjl#P2)R(#_Lm{~fcVyIYnMXKL1%^Ge0rWv9Kpu)30VtQk zAheISI-#=3LF05Iv=0kkhi`!armOaGY=XQ=QbH{FaTlgrz;_x;B3=- zC7OXWN{CUaBY2nvee!4pUnqlgNfdcpRQ>fi{9cE(9%BwwztT8C8h0k{I3d^9jb zT~N9n^Sm5mDH0&c)f2JreP5xOx(OKC(qgJDQB*aNK%OcPGK0g@X#Voq_7I>f8)G3S zvNBpEJx_t19yXsbiTF=haTB@i1UF+LdF0XVWxFa{(N8Gc3Dd791E18lb7SAm{vCw( zcAb8~Z>>^5=zQ`OR`g{k^E*6^lR5!JKZh0nxY3@;@ks@d1 zQYEC*+0rI7H=Cs7%R1L=-3>SpX=s_Pun!H(4r%)F`Cuz?WEYCHg$=!JokCBzQxehB z&!ER8E=Q)ll?=Q6oW>Y?X`BY-cjQ@_C#BcR4#sb#N1>z)9Shf$@St zD!5|tHd~O?3jU#u26s3?_n^V;&W?(q!NC@h&B$TK87<_kSsP+_lAhZr@)0K@9u&Ec zOk_qU&gYz9c-TxR7`hW@A>Z^g>WJqy>im-vto-gA0&SeGlZlOTbtVidiSn)J=%drp z)ONLP5xl(XC`^`Go{m~5{^;72_`YWlZdXBO6F76@@~#Lz!)C&_M0UbD7g`BL3QkyY zfkvjyaj0^>;+se*(nw^I>JGu|LW z1xgE*>qE5Y4`js!^~&}D*VtiQc3D7xdPLYdv%OlY1?91^+9bBpaH9?kUab#dl@wyB z;ccVdRVjlxhk*(8YVj8q&{{OU|}i)pv7zfxTUR`y#*hE``53&HhO#d`5i(MPJL!GFZjM5rHVe{INohWt<)-!ms%AfKB(Hn2U7o zrKmF;tSD%JY{FVPcXaq=_I-!zV%qu&PeC2aN59w}6y)${I6dpMtjKYpCQWM>Inh2R zYo8(~3K1+*WWg_C(sfExu#UxjdN9ml!WndTZShIKY@@$a==)+AiqPV+th5l!b1~{H z1@jzqA+F0PYa|?Goo@zFpEBRrK2}h|UtpH0WJSrwGK&bA%31pqEQ82Y7|T$wyjkV| z!ZI;OOyjLW;a8zK!4$qBD>Veuyc~6wf@v<~=enRo)25dPphhkO{S%o!xo*i(0<9A& zRaPddtv1?9`SVs6{4b8-q8Al64j%)r!%HDimfC4iuB?Itydr3zH%v+90LLPtScSsd z`Lx`Yby{qUzaN?ETe9{k7#~e_VT@0~B8+dG^pYJHBBAu?teDLMC4dk|)ekT`^HXTy zk^VOv4Gt5sbC0Zz9Y1Nu=2~2)dF@e!%>q_L3T%8G1u|>{={|Xb!J$=*8R2&@{FYuEh z?=0Bz&D$X8^+%&<1&4YO-q-_1>m%bY$(+KaUqWO%CRXG#5TEIhcbweJg7qate{Sq> zSdk6W)_yD)ZewYJ2M7?Os`^S^1mOh$6;Uo;gnsdnRprLVwQQJK{(-R+!|_~Yq)es^ z5s#u0j2tmIRddAKlo60P-lodqQSh&%coeK8;*$KZfwTvhW?5|?l#@#-DjyGoOq zqG-OBmBq+>O;pFKK=2m|lbIu?Z8k+uf34dLrT}zT~qnF^5ihoH<0a z7xRFwTJGLl)8_-Rjunn0{*{E|Zpc)7y{Xz2l&N;yW#gkP@DVc9D$O$7e!3d!s?nco_)(%1 z=1xlcgu?6DSCz3Dh@`ZSnnOhI>Y&EUXy=oO#=nthzem!}zGM=M?;$?E0b@Sy<`Mpu z`3V034a=;)dfM3{g(!0DnDR!J+f3K_dZ*A42HHe)boKKPwvgmC#r7*Rvuq)6&e|9% zprr|pP?Db8i1RcMCw_PFPy~PE?8vrF8SEhx!5`qx4AUpaWlb^}L=%+^Yn1pZ#v`-8 zR}dNgr+6~N>|EAu(V(f&hZA|UX#a0dnp7bs^rm=z&^LjC3Hd=5RJedLsC838N-nSp z&JRNH85%B^T};FM5VT6A;hOnD6CmoKLdy0A-)&pHUFSelWM!g^G8TG*0ZAB^YH-^~ zPtdGx9ceG;(NJ(THY6let{Ja_x(w+$C^;w?KutxHlkqp=Z@u0M(gECXC`&0y(VpnG zYhbYn+Nk?|s8<&`Aq}!z9N@LSG?_dK8Zs7QiPgX0Va<6z4aDC0)f z78z)idS(e=&vx^H0wbf%g++w7}ZCs9Op4{gp?>ieS0h%lHe_8$&u!FuwKw(To1c0S;Yz2&Khg#w zF59{ucTV7lyKIZL(IsTp0K=Y3aMI5L_T0Ln|H>O3L)yte$6Qw>H*s87B{%C5)2aX- z$uEeMM4zSJNix#uBaShAPD57e#R89akVP^(%PbiwZ<1+|Rp?@)*RHILA};c~4tJ6M zBEM4`%+6q0@vX{W1JaurbIUZMLdUV>{f-6S_D0=f$$y;?1R4Y=T#iNF?=ZU7Aj z^32KAqvX=##%LK-9aQF_S*~xbh#YY}*K$4LWZ7Ppsdstv32~R0GB1G6{L^Q%BcA|Wi)7UOgx#^Q~pA>IN5w^4XhygpVs%kraos{2jmksE1M z6_-7f=aU`rh6<8-h7C&CNe9d!qW8@JGd!idu*U25+})MUw8ObLJj}J*ogLX$t}(5` zT-(B(8Rptzuid-N39$$2w-9JEMylTJ1j8eggMyJOQuRYlVDd+*5*U59@I)@j)tRtn zTO>)?1Zr>x()6%qM+cemJ1K<2f*RjB4C+M%S+}uOf*82Jg_ueY;o!7ohONzr*l9vI zOau2}XF&}eQUe_9G+fb9cdEEX^3E0h5CMTTktY>!R0S)8!p`-RnYTT$3HqKwkv(jA z{2c(3Nl_G*$6q6Su;o$kVy7*SmrVqvjpcUvET}pG`gWy>ic{dCP0CYjj6Azm8AYBJ zYJnUg8amW;LiR{W3NSV|j1*z-*8oFVRi8bf9EO>qcF+%ei78tpzKiG>Z-`usJ9ir* zX`9+5%DF|@eBXPi@*>(_p%xqLN#6KU@pUi2LBzxH-d#iso0VZQiBmX8 zC|U#$DidS1>R`1!byGAS{%lWbkp9@%L00&fHj8u`xZLFPhGp|v%z!G3Xm*f)81Am9lAF9jQ*b-I-alfc6V7cC|LU1e821J&fN_)InuZW_V#+DIzTwDG+Z+a)P zxNu*+n#_dLmQCC2u3h8p-uN04@onB+ zJ+=n21Y=skL-}FyxwlI<3~9j~PFk|*OAua6DSut5t4)TQPS(fenD1Ij3iv!^^zqd>uU zOP+@trt0j-(*sq(opsm)b)yqv57ciU&}Q^N-R1O|p!qLP)FaN<2uDZi0*;_zDtL~QQ*h61dr@%U_Rlq|wQHS@MFHh=%DkYo>g zsGbI3;`cS%c0^}Fc&L7i@WCD`!K$71P+gkcLxls!7~4xif*srqYh!8$)!e6iX(`*i z9!F%1cTmm3ox2@Ww9W1^H6G!OFXbKKpgPpM3)ytx>!3OkMoT2QFf~$g<}x*|_D0a4 zk?*Y9EQy&+jc4YE{RQ4#$nzVnfX_V~R2!kW|NOd4Q}U{Fn5N`r%QOd7th|wT%qaC& zWLrf83LQY*Rt-(X$368wS@#3sp85msBE5U+p-#J}G*w5E`P0r@b)ENmN#u9ot-2O> z?%qOZo87gA+~SR|As!>|F7k+&TVb?Bl8Y^bk~7y9a<4an2911YwXiMZf&8%F@7+b7 z`TbNO^PAdR^|&{3x#w1ONhykf`byrPnD_Aq`QiPpcNcl)^Qlbp=~4+~De6!OvvfdEaA&S2kxA{tf#U?u;B7#q4&g>wTt_*@ULm$%epOlIpJMC9)RsR?LD!G+gPqEb`b+cHR%;#f*<((y+S=uiM$?5HofL zb-&vjF(u&}_n9?o*HkII1^&Bv%6XxTUeI0m6)eOGUy2CGN~2Aa%$7r~44ULwuwWPO zS$K2to`pJ4lI~`&N7d-Cxt5ccS*Fia7#1wkaksl0_wpRaO0L5V(J1hrW$~iGQ6>!J z5dReIbB#vZYedmLm}LNI>v=vXf4w1%1D`vPsH)BIgaBTNBk=ZN3#~G zuDV5sGEQBwrQE8l7_60Btx9W3yB13{3sAE_G`pS1ytm;05Q>a638#*I0;Y!h=?FPC ztzb-cGc2zQ;jiU4Od;9%O6UN#CbC9K;Va-z=}q|9{_vf=fDXL8S-rMeuJM)DQlcTr z2YA8Ur?7GE1@m%%jNtb^v*S?U_YuHPOUjQrfd~Z2=`wLnkGXP6NPZU zWeyQN&_QKdr>RdtT;p5)fzYe(QMoKSD*mcIZCyEA%FBuA%TJpWjdY;b_~IcsTD&y8(} zWv}tpM!x-jqwd-?C5a7L%1aaf9wcN!X<`dXe0MOYc6&kRTiBX#X<`JQak%9h2Rqz;U6J#S z!>w7lp;xEPx*#}jXkBncu;Ps1Wj*K*xQ;ehA58RB>%q%ZL6QFBS@>gFkVNS}rXyp$ zw*^Z}J9+Tg@Y$>NGxAJVnHVdKDfF=%R90LOtP8e|_LF_I>t*CG63I~tHj*USb-~ME z%C88xZIWyZp5MyT9o~ol!&CSw1;pH^Heu#?CF&TPIrbqV8N?|1=yHd7bWz8|*hQb4 zsp_~>; z*&oB58CrI+1<=0kgxCZ1#|X69l<4pWPB1)lX9`9x-TCKEVDjtE1V%$~yA@kGt;S$O zA_(1?a7nJtgzjt+FX2al8r()Oy>#d3@E8f7##gZsK<6)P^Z|f95d4s&j_=q*dpFFtmG8q!^iofwwKDkH^< zVVm?coFppAFxUzM8cAkb!11>fid!$TFMVB}H-?{or_ zUlk-U#_USIsvzN#T%8G3&>~;LtAQHRRTVrUPRb|gf)+&Mb-_D}*9E_TSWHh#=9Fey z(s_vVTp!yVy5QqzL~Jelsxo%=-Ap%lhA%`N%Rxb3QAUcF!#440=z=QAh%U(Knj>K5 zM+iu)3%-%-g7{Z@U63Q*30?3V>2$$|XRIzbSgs9@*PxaMo9^|=)4?(xOyC+Z-LM6&Uu=2GDU%fIRd#0#Gh} zLa4BdoKV>Wy1~~%IkE6{*aZVjSLNi`1bLIBqge2b*HQkucpc?jGxNenQ5F7f< zuMt6H{pMn2q@4PVN^YXx@Hxq$--HNAtl!+a41V3Y8ven*((5-I@pv$-hZ{qOQ^N`f zjy(1tzVk$T-gb`TjT}e(D+xy&7TVd$d-s_7TS397Yp$#`8+$Ae^^J(;1uQdTUl4() zHY}ncpN$?7`cq3zjgwX-$+VeEa)6U z*eF+L;vAAF1&a2UuSyeZs)$Y=XZit{rGz+B3p#uwFer9+LB|XhXNur6&KP`;U}uci zKr5j{IL;VmoavZM7l<*vND46>EswR}dW^}SLN8o`gU7nja(iUm0FFAnVgT;iXg6^7 z<#nJ$@piNkjt_-U)r&}^>P7uKUbc&0oL(ZKiz_|HR~CNc{WUq;ob>->dZ}ld@JH%h zOVMH#WmOW*BZN?(Vj9Fs7$ttkunBrP(_an%JbVa4fWmZQQ_JBo#8$?RVq1w01*arn zesr37B)}bFn`;F!MwK&*qKdKh9HBz`A#^6{zihD|uP`rg$IniS$@}|N%!^X^jQS?( zy13jdL*`wj*;4sieqq~kH)owqQOom6gbxk|5poSN{eshD&^l(W{Y5E#{kP+Jpmnff zMLGNvIwN-Hd;-1(@L)TwG@#F*Xoq^1W{Ml;4WL=+F@Ll6gE4su*;hZ|5$kG^YF~Y;v!K{*SdteFj1NJ+) zvH-uUYF&V@1~0cL>o7JjS!Dt1lr8{&GO)L($h0jh6rv&%5}P?IGQBh_6rv)Nx*2Kugr1AP?}d$a zWu3Yb=rfsR!tViGgbkiRzY4I9>HB~964Ws^LeD27sffV#^Vr$SE)$)7(bYS;cR>OU z`VUINx&r^`YgZ=PJ4zdd!UpKV%Xf8kJs<14J;7vf2IT5IKY(~T{Ap=&d2oh`d_jH6 z#A7n#r`~fL%^zwE)Q$weprq4Svk4H?}v+V^cR7My;;` zwa6weD7!F*vPCERyvH;RtFws#i#|4!OrALsd;PFDrmC&;cC>ehq^{~<%@9fBSur=maSTK*pof#I)ViS5^;Dp!%_2&_2Ga4v2Il=HS zP*N~*87QxE0+ZiBNnrF*lM=ZkS7*XNX%Q*mvw<4i?=pQ1l+nQ!X`U1qVZkrnV)^cZ zES4cUmXbuCS0c{R10y(rnH^&xqBz&>K;ueX`E5Uz$b$@vsz#;0k`<%yO=vuPxV%{z zSyftnTziIAxd3%6hc>)H87W@)+GHl}UDP^L2}ZOnPSqT4|MwsuacILG%itFdZNR^h z-2Pb0!j>D3IDk=j8qa&v>31KWQTiQEpJBe<^l_TUDI%fcX*-`*csToNF{HcD@g6XT zh-Ub7?kOej>p;qQIpd+}Jm&1kCa{bN7E0b%aAzG>@_y=s*aP+dAkb!1@_z3G!$ZlV zVB}Kr=KsXS4*8Wl0%I<{Oy`nZoe3q+B2&UI!_-ViCGQZML{HN4EC|MHdG{8t<@F-g z(zQHJVW#EXk4TzS(QnXhGSFEU>f-ESR0E#S$%n;E*_#~E)i%uiEB zikHbYQEKRZDjA9H$7!8I_q!AUiFLoXbKMXBO0WBI#52tc{?2ce8iIH9r$ZG)GEGGgK7a61ez9hH%z9I_=zC$Zoeuams5c%9_q zXwr0@gcF+W%v%uUGwCGD94R?6*;G{}^;fb66Mg|fiS1PnD)43(wua79Mjgxcs?R7R z#Y+hr`x`ooN@k+7@VUsLvwRx?iFKB{xz2)rrPoZ_Od1 zk9JTsRmtU(YomRs{<%l;Z5IAi7Rm)q&)q!V#xgzO0yHdBz>REnoi1|5&0_7PEWBA1 z#^IepN~p<+Na@<<> z5v&ehp_$-t0-;QR0++@rLnMg499)2}i(@+tUlEwM(|sbde>ebW5M}LZ^ouK(+2xq7 ztj*kwgiYdA3T0pt3kY1_cMJuttJAkH4raHCrxxP2Eg5{gB3yk8VS$~VHS`N>&(NnH zt{xp&4j_PTY%&Ms?xdo2P1pAl}%ikT?WE%2dbx^KwZ zr-)KT)XE;Es*#z3HHwhtD=gD=iU3xXDb?j#xF`D~rsixJKlfrbK>aBKZAO>&Z=7Iwn2aeHxm?=&{HJRV&+pPE zFcxG*CR~!MGjZ~;2$t|6m>Pb5olYl@=uoR%PqH9eaEw2Ue7K;)NQh1$0AZIoCBCz4uqu-vXT>MZ+^ok#+BG@(ifzfWax5}poN5k2u# z^ov8DegD&sC*g+~BQhF2M;R%TnkHf&Re}@!o6kxPJL@I{B(^30Ew{7cUrBaWthZtP zlp_vc6s|FTJe|h)sTrs-=7@kiUK1@HkAWOgcscv3acGSL<`B_dF|B(_ZQKC_jh8we zy3=-NN1ke93wPFGwedD5#2%>MLZHp4Hs0+7!$WPPVB}I8KjZ`^zuHJ(%%$lGgEirj zT%8HE(IQ#GCQxH~s*Q))WqXp|XhAYwZ~R#CdgHecd+B;3r!v!tHY2ig?aRxKePXlH z9&grLxFP}F@K#pq*FwpT3at+cYNV<$ru;@x6@Q38#3scj6=1V(dWNdlhdP$S4!)<1 z1Z2@Iq)Qw1+GJ3^wp@i&gfX^$VYIRG}e4wEHOOEz`E5LLFZEDEW(e_#I zl&C^OR#}T^$ejOjXvp*b3nmL|$oFv#8UISJA@li;2P0jyh3W<(IC5W6eCLVL7Kd;g z-@|dlzmjm=4bc{VXPy8Ginb_iDz~<=^JZxj{(u4}jnQ(o-oLfdfNDU^No>g~G6Et5I)*mRD&mN7WC{Y&2?>ay=+F zo8`%1d$m1+kC?c^-B5M3Qg6Yz66(N`ljjh8kB(nk*r5|bsv7lPCT-0McwQUS54~wC zSHAlkA}cPDDDj&pk@$VwIoS{91SM;L5N%UaYru+$c<-fZRj~aPdNL}IF|>C!Ui!T^ zzLb~l1vtnl{kPs-L<^ghVX|9J;iFNs2p&`>kT0s*p1LWT4}Z2N$Dj~cA1VZfnz!NJ zrwVwj|A)1VUAPSX4Xq^K2Gk?K$t0h>+(mJ$xj5<($~~Q349m(B5*5^^KwAhh z^^{}C+LUE$u}S6$@5!e8BFbX^EAAqFsnmCCdR0(5Z?wF%axOg~Vi9uLSY@y}T!o8j zkXMr(9+^wCF;;1o+l?kYT=oX%4F}6EY}6~uK-$!5!8jPO(05os@sC^8>%c);9|~Gy z<-uxwD-uA%wMM!9oHf0{P-VD0UTZ^rJ=9O&5I=_E$3!Y-IODC%6YM0h=4URg*(UH4 zSBMZwy|{C?P@-+p3ngWSG@+!vv*CNLH@=2Y+UVVdER@2<@VSRjIuDvBl3WNSndC7- zNp9j0N^-Ls{TIQL*S{69?~~WxQQSh1Cp5ajAEv?=CYD=>P#qD7Cwntmj6lpFmPI+& zZ)X+DB2X5ogxLdSF_FKR6$%jz`yg}?H%~rRAWCFmomN$QP4|tr++s;kwi<`SJJ1ze zixFdC>-0ysN?zuF(ZlWk&4 z&TW>5s&FqHv*{}O7HN+e0M@(0drrE4udUr%da(1qgo74bxZI zx6KV%Y` z8AA;{ZxlP$ z35JI$o`Rv9;urG0LnV#$+(w-hPO$PDa@H)nW=Z+~yU>8BHD}_EvhvX7PB1)ph=O7A5YshO;w8L&~}!GjKWDd$|CJ>(!*n#wi9kKM4<1DY)JB2>Lka2|pO5tv}((W;UCSC`(sm^p> zgn#!R5klJH>$HD&qjmtY`e`cdV0;WaTS#l>q8T2q52A&|Gzim;TfpJwC*FjWjryNJ zG{w$cNy-U7%8zm9Za)fbv%CB#|Lct}WhCL;{gZbWvLD6QxjXy6fy9z?*Gh8XN0CV$ z<42L3IQ%Gbv*RvHWKvnoMk(48DU1e*lfuT%teAP#qmC?vu{rfA?@6Lv2&e4#aTn>G zvacfN>7dkVH~FoE0Y6M)r|gEo!OB>>wN5q-XrZhTA4@+zcu3BJVC_DG(k4pL=*yFM{TYkdnbQ-f1VRsN^r?6wXVAxY_6}s>0|qaXxwO2uL4Iw1$XniBcpndqFCuv?%2ITA;KV&q`QfCp^P zfG6tCzAi?=-$$ZZyRf};Ef8_i~=hD!~>?e)s3@iGXo ztt{*6T1I}5Sj0hM)x|TkmBtmJnnd_Gh^7s~a@!Cb1%_RgA^>_6?%}Kv2z;s3S~R@3 zS|6;950MbxLGns`1izXUYzP%1qBAjG_2U&J`bG!mbpx|aUAVLBMLz683 zpd6f8YYc8vvJ1%hdn+8wQ5{=Of1I(~>J6&BmEPbgO8lPSsw;bfm-Pf!Y~I`xG+@G- z+u>L*y=SkPIJT%>jDJ`YvaboJn@t#Q@|I+Yl1Qjt=i$x?7!EN*n+4}60drt%AklKA z@I>`Z^v>kfv1bWH>jtoi zMf?$DhQr~Gi%6ea$fQ0`MU2muQ48Yb(_<VRJARSC4{P9%i5<{9%Nz)S{`(=W0uF=nvM?>FuhcKe)E92wic_ft1C-?sjREt za1QuY*4eVHtAhv!{2ce0eqG%`duht7Y>tj_x-)6wR_ zFF&6wRrPJ_n$GI%tbK}gO&Ft~bxpw{>pDZ9$8wDp9XUHkmXf zqN*Jz6~2lx@F9+J7+aFJO*K*dy#hVsuztswKDm2T+)e_NDUiYQGD7Dcb{v@l z(2fNEmmW>Pp9UY8UtwNQAEPgUALOMKUC}wV!{!9nEM^dUcmu;7Uj|c^X%7@)4+(?a zE%p`>u@{gUE^>;n@irK0Oae8#L7 zVOf_#rlhYIaRN(?Vwq7LzQ}IguZodV#`Jt-C6icl%ps!B&D0VQ#tnsf1%cglo!v1& z)%exsk=OYwXGgX~C1b8dmiD2zGb6`;L7~^#o#KSp1NGGe+KdHu&vJs{k?Kpq&@-~< zqN-l%wm}}*gzqIzVDjf-6BvE8u0$@$)tSitwTPGS5TFJxUNXJ1f1|@=Bz)4mjhbT*qTxmCfI848qgcF)2Vg9e8FnVPL_wW>86c}bn0|q-3&;C`{h2N+0 z`UziySOp(%UX6Ygr?PWhcQ4uO*bLvGkZDh++1`P;GT&9)e}xdjmIlGi(5HSCH>kPv z09Zg7ZVl4{I!&wiEp^X5#u=i^KpM3V5J)s!JnEw57Z&JwSgX<9$;uB*(j5{X= z%DAe>v`wsWMGwYb$aD4?@}z(1xx7>vo{xCrNyU~(i2agx7qaEXHzD@Rh_q5dtd-Ql zQX`W(CSgi$;)q}*&5X^#CoAO3&+v>a2M&bQZE5zF({eVI|x99w9-bsT*C`y ztXWx6u0eQfxs8g4kGG+G1k}l6U2hAnNf8#B^V&r%RC`16jy;-3U9t5PV<@6xjhP&`60>fSX ziWCagf?6_fOu`lnvK+AVS7F_IP zx9i~Rb-w+9H|CU&gxBD^-d)H?WM4PkQ;67-o6bsn;WdznA7gEnn>eh^a6^916ZJZneNjTrE;`c@ic>Nnmv z$vdd$#u>@br#}<@!W%}qM+j#9S=KHDv!bahgjqAJI^iZ%tvb1nPr^;8+5|Nob+`$U zF6?p>qW8p2_!;gd#J{G2oA8UN+=S7?Gu9I}Sgs9@Lt))Yf4$Kh6&DSs&m26CSq^yS zpxS3ix;a|+buLz$GP4&sMCvbX0{4vH#cQ2DJFVg75T4I<<`8?~eCrO-IbzzvH^L3+ z=tlQj;J;8S#bI(W$S52<7BYqxAks1y>@-W4IyQl=ll(jueB=E*Unt(sGYGV$o1C~z zkrSM`08Uew+sn_hmR2XiMSRK-9Y5Kw!g7WPw&p0S?PJhTUE$ffkmW#l4MG5WeHscX z>b~bA3S`Xy>tUy&j&aG~*<_@eG7=C?FB$M~Nu=ptw@Xg-pH%*uz)Af|+ z`J=v_SMOM}3#Io!kGo?J?*ZZk7jktlhO^q<_bCyHJO?N9pOL z_2~q8x=Wp{y#_0pftcpL3+B|%`{YqX;3h*ZiXsAnyY`9UF8y%)qL)HBbW)K1+Qvks z7PP9@LG3JXC27v3GPJ5(GY)GK@={jAI<2;#Ez}gL4p-rWc4M77!9{i~(>S~pEf~B= zZ&8*`M;7VA7&6X}tI(Y~tu8tdDw=GqG~o8SCL-Xv(Q*<<1eU}I`)+R1| z4?>PD=S#Sd-G00yQOng+MV>A#A#i<#xbv7fo`>VReMy(94*#fl6n0n z0-HXsN7&|7fd)_P5@llHy)q=5*>7egp_o|$W=jdV zzsIItJLkPUD}3{KflXCqQ01Nv)D&28C|4CYawz9oUi_gP`>0)q@_nBHo_^bE_~-Nd zP>z44K9q-iXNw0TbcA&X9Mv1Y36A_)a7X8dz`Zpt9MOA%Nw$1T1K3I3=w%aC#0>W%Fq?uD@R z+@np&QI26$jnUcCHhHI-l;vwE*W}&pn!NB7G%PbT=tig`;wdC&Eyp*rA-b_shzi4$ zg-caLb(_wWom=3HElNhvcsJx!(zf2j5UIa`DX< zoxtSh8vrbvw#G=rHjWlDjoRyg7)(LaYtds{pwgJ z7#=)C!7zDP+|%kB8Nx9sg9Vw`f1&^ZQ2| zL*undYb6|uR?4R@_=BFlR>mG7qJ5i{;VM+TI0xX4=D{Cupd)36sV(P^u9FKt92wO6 zQb8_5I94CH3P_6JqYw#yAwM@Ue_^0d-^*Xv;(1|^2ZPeURjT+9MFivMnsb zvL)u;e)OvVD+Zl1Za3ds?G%gw`xLqX1ODtZ#h4H5Ob_kpgJiodE;peVIIy6`F!Bp| z9+@es?Ucf{Vd4#@`F~Di1Og#W zMi~2nBPvIh5!eg+I&b>YE`-D7MnXl+l_pl7=KGAc@zZBeqV`N&YCjlmHb!aIqu@SZ zKDg7ovK7QUDb0`bDK|39GxBFwt}WNbA#TmGXE3R6WKTxYS(k|ktcps{<(Xsa{FC1F z^5Dn&2_-QcamkdlO>7*mo(XhZB8eG|$T~>T-bRN3~ z;?#&dD@t~qx^vMjzA6F9BO8tW!y7?^M!vJZSY10Rr20!6%+KV9`8VEO$nzRL1)qE5 z&;0?K`_C(0axv*vl;*gJW0#Pdl~T(mndVXY&&aNThV00$@KNt6%e^a{Pb^D8iCa>7 zf@SPjunc~)lfg2)0c@(YM;dTSfaPbN6d0SEQlFWs6p_y!%5%Zw{i;8>Y!5cQE|K|! z{?UUwCvrDV-qSXz<-KHaQjnCM+weTw8&5+vo$1|0o^^gMjFw1hA-^dZb@`n-Pj<66 zat3{TXR=GMKVxXZD)I~4T-Ni$y3M!k|9s94`>=^g%SSBsoLm%_TF;TFKJ@hNM^Tac}-0T>*=#`ob(S@<-I&+3P{H++- zqeEi|gb&ZC(~fY(Biqb%B)(T$b&>St(GR8l2b5rC%M;+gdYuqAs!jpj-Jo0sVy2hhp z6Lx~6R9g$)@qY713i6v{=Mr(9--0+!FR982&pelhp_$+wUx(}5xJbK4$+R7V{5`mP z3f$W)%a#T32k>Y@-3a|YmAA|A?Fe41@!qLGu4+;~J0_(O_f?07qK@Uv+P5kr#S3+t zET+ASv=Noy#L3EMB|dE=F*W9+2uPe7^C(Xn!M~EyMzBVReZ3rU0Hg5Kk$+65i+*RX z(?yM{?&+1$6|o|yN0j2p^tva93uJ)nEpMbkbWP?9WT2)w6cG9c4QNR z1``N{^gFn-4lAV3I3e~x{nrHAj0)+zKe=YWLm{PL)q zNG))%7LyRkX+b<*BmGM88tL;8%jp^^r##b0zksG9jYe8BRMHch zmG*eE4n-s&MvM|=Wwm}SgwR#sx>OVv3ks^Li>CZWQ9{oHM2Hf4F8alR&Av?6j|!X+BWUekn)$#R@PT zL7Ubc(b4vi0fz3avKG<3IsfI*y=#aZSoi)Xu6yHO>2+^D-|=9iOG{T{p$U#Wh||$I zifwVFrK9%*$1ial@vkHtcSBnGV@Ct*WVT1vl7(4NT6*QOu`&pcI6d4uIek@6z+7IP z$wR-npp|K;Y$6Z+_2v-KlN~&^xu?J<8$F>X_v<~9nf`W@)_lwMF>)BwDKgV7(;41{ zhK1CnTWK0N;_MNPERaDVO{BL1KzU<>7NJs7IG5& zjI$%pli(+DXU0izHz%b3ixVY}qvAISIvJ0O|KS9~yMqm6t1udv9+)>u7(4(DTcrXnGLuZ=VoN^?_1^%{)?`|g; z`Pqd)*I9Pyd?xW(PAYi_niu5anM<5tc<>AbL+6==JZOonI>I~Ba~lu!JHg7&Lj>AF zc_>$B!a9|xnH23VJu^)vae~Un^NH_+ts=n+WkHauv<3~odNewfIbEt7Hld*m8?Oi%Bf~9 z2BOYc!2G1@`pD6byq?0_U?Gtc@vZ1r2TWCeIcGn{9ycqL?0~QIYl!PrdxknDHtR%B z@BN4F9Fcq_x6I=4d{Pxay#^Z#*i!Ihs)2L&hh8?LQwtv%+_Bhk9c8i2MSt6tU;` zsVp4B|DU}#fwQcr@5N`BVOGFllSPoju*{vIr-vCtWMGK03?c(6i`#3Nxzl}n`W||- z?``O2rVVHkpL#TEnwJpQm`zb6f-#FpOw>e8G|}Ywk4tbzWAZdcjB(HZ_p5z7bxzee zw-*yX33L0LI#u;s>sP<}R@G0izXY@OBdzE0{*m!WVz%Ca6|0!7?`tjPo36{^SnU$C zr8AtasR*g$uc;Jbwodpd^qQ<2eM+pUkY7b>DkK^pm@PqgemBak8|g7GrBMXN`IQ&a zc$T2?lY&O_tBA%0SU38V9cR_FZuE?sXUAX{@l?Ch8ZxgNu@{Z(C854#+cvzF{!m8= zPhM*bYy3Q7%})74)dG2Vaxuz6IF5Mpv%(X(IJDDlBKu4)8}mcNkc`U9jgYt^Us`PaL>R0Oc&2&Eu$q36}!ZUp3CSvP9R zzrMlSt?Kz#+FL8#=S%eEZ)(cXp>=!+mG)-}>8Nen_)D6W#s@AZ^!r|Z1c>R~R9nnx z=o&iM>z&~bT^;(Mw?hHyOFLAnBq~)VC!~d5x$X(+&y~uA=SK?jA`N~ENT(nT?x0SL z;uZt{Z%tE8o(9MMS@TRW!1H-#Ka`T;qGz6Ir@(i|U3k^@kRwL{LJ=UbALASK~ZIex*-j@^H?t$gP-XOV?`NGHVK z)mW@Y)EYK*T~DfXwK>yts6Yr{|O5DU`RyBR6^dXgxv$VlU9z^ZN0QnEO%#ge>seVy;-Dkta$s6LUZFbALWo{=4SL!Dr@P>}X!g+ILOkj;+a_ z^qawIRJ)7WKn4Al;GR@-G3#(L(jA!=eu9cgK33V4{weg1_Va!C zE5{8)g!6KhOsf9zRaO6UrAMs|VYWesL1{Fz)M((!aoCB|Z8t~vA0~FR3x`8uIOZ43 z%+xPPCGdq}dWY$=VypU@rc~8HZm=H~i($FS($(`-)NYWW;PPUT9uD+dH@lf){ zMeu_hm3%XVSksdv0YvNJnVI3~@j=|1+s{K5`@F{*Zg4ny#mc~phVv>@p&gGvodBXpz<{OlwiV`p~w`0+Wph>#i&J!nXe!Y3JN-}xP z>CrB~u80`tmDWu~Neir5UTTE4%ugrHw^MllD|b62eJCHRg5hJ%GlCU3z%uuiuuQeg zDR57Pi&?tv=a!;+#46kg_i=B%XMS$Jk-lUVEDAhs_u#}(Yxes;A?IePIXWX34c4#DyT6b1N|Uv59FKw^&2f*74`MP~>AOg4cSQ>@iC! zdE2YJM&be~F!QM3Z3ic&rdp%)5Inq2$mK(>8flJ?w?>J>y-F$1JT0JD2V1NR3ZDJU z_qH3AMtLc!OWGTk&wV(UMFBqdK~lLt8dA&TdQ-LMS#Bw+tgJ%Q61dN0%rp#PE$6Y; zl6XpM{%bF<0(^i=vUI_~jTOkLfB)!CHf{hd1%@2|1@IQ%# z+2#ksh)D+nU##ObY1W*{$8@&wXIfv4ujh})%Q#V(>Ph%no+*~EPY-V>t)`hNacAHmCjCY%W>z&#FF_7!Il8%M| zN%zi`YEu1r`UrNKq|rX7bzj$kkg$nahKo^aXiFBOa#3L>2RqjdW5|d&!0`#l(*t8D zZhE>q36Cd+0lGBR8tlSK&FE-y5HFk_9R=ug8}472?n1bUiTgWY`(e^d##?tL69-c) z4b`>BJKg3utfY6LI3g72p}DOgvGzuFcTswvN$gufV*d|*McIK%HVpRjjo3OR;7k`U zU5XXPlD}uR+=g7;tJ2Da>&>sca6|6;qreWxrsGG%hFtQiXhSZU5t8L*mB!jHiuhc) zx#*XEcITq}IByZ-l)o|JLSM|$^GhQVR4ow*#5-0ixRmqJGwdd^|4yo~SQFAqfbaPp zIAB(Gk+-723F!_}S&t{A&-C^N>Tp15KX5}h>!mv(J*ULrP&6ZTke@#z{cQa+($}HlnKM$se?B8U4Fw_w zqM#Y+Q}{d*cPX+FlcUr+azZaRH1eH{`n)B+8Z88V3lc&mEpO6DiXU68Nz18Nu{yhZ zz1Gq)ncclhFzTIJ_j|%9HoLPJReE;UEu7tP&Fk6pZgIMxDfjz@%>ER9v_|id9!Wpm8a2XVgtF2{sMUQ8*`JiKMzDG>D%<2 zCKBUAtJ^0V(1ZN=8x=(Q_0Ln9HZ4co|Z7o3h(s+ zNO?_8wK{MdK__V@uvu%Q1^e@!{gmLq6_0VU4wK|%$Kwija~?5N2uzmLwgqdbul|lN9{Wm+=>pQ zi}(Ub-x%Eij<~J0F=C>R4r_TEnB5pT|kZSd>Qtr1Iq%#!>uWBZEe^`PS*^0QP`I=F+Dnz4AKP|bbX{d+;{PT@4yDS z$C(wU>jR`wUc%~s>yGB=G+j{uS2xal-sD7kyxYG4f?cFbbc3yF7(G3RPI7c~;!gC* zoi-ASte9z!fm`MSV&4X=N$)lN@^hXQ_Nlo4mfRaRd9#2lU@vCeA}=&9dor1!dvB z&{P)wT<6F-@t8KbzZc5#vL)iOb<&qiuOftf42vGVRtYuNy( zH!Ge-5O{(ynS-%ZCv$@wW%X9o7qsD*^@8N%38+FH+VyTY-bb)uJ!8X+K|S1Opa$af zS_CpBe|;~AUD>ZUcP}8Qim9n7l>Z8C$qMDmXEv@jGaJWT*#yYU;3x+8MskCcC7gUO zaIz=Kjfd@umE^{^V2G_7`2TquY~kpHNZq96kqDc(88-HrxcAEEn19OVljvedcFDpS z$aBm;X*ZF*rFO^(pFnhWaBdYJS}wln7vJz7A;*!+YIOJc1nVj-rKIXwI7acSHmB+l z#&5uJ_te52!brb@&E_3PuB5Kiyrq2XBIG;0B1EEB3JEdc9c!rZ2oae#+ZgW~sd=#Q z%6;Nny3c!`=CHXC*RA&D_5v^tt4T$%H&{O2+l>H>1M5a5jKjI!&Q!-Z&_0HYg_ggP z7>5>x#WCyVuu#Nri1C-vI~ zv41QT`3iJq1UxAm7Y8f+t>$-NkS`CPKmTb5VV`*u5{D#Yk-2otP&Gv=OLqZfKT>^U z`aIAt>WrU*zv^4s5eVJoGQ4uJ-K_Be#I~5HN!=c7{!B0BX;LFdkD;NM)yX|g%7m=X z?n@fu(_;r)aPYz8L8iaHQS63-izfiq5miJZr`O z=2n&Lg^6n)9>5HVWrAVXQ^!ii^c4N*tE}YkcXu%R)T0n?Le7zcp%jCc2SXhpmD9{z z-oa3;%&5KrMQof&-*%I>B%7_FjMfdCKU58u5AgQ}Q^*wLccEo!_^%7DB3lpZ8uXyA zd4gNWHo}9}%;ac$u-%=1dA1h*?9NWYo)5gFl@y0_-Ve39u#%2UJs-sRztb)7-_*(E z+r@N~G0^1GQGJQdBYfcE&%1(&v-lG#!*$$9^d8E`u71A1dO!apxC&K{>HY9|fE@n< ziZ7rX|1p@j%5pqLb#b~Z^;a%={&V&IJ{nv_6?y(klstWBOfkD5MLg%7sKsvX#UP@J zC+kTI)Q=(|c>$Cal9oJco#drvgB5}4zC8N^g8&`KT9Kec z1nueH-Kr0T_v50i)CX8H$0g$2SOV5_n<6}cfEgB-dC=0ChJ(GkBTaD(_`s3jEf9Jn z+Y|VAcI&{A1de%rQL--?I5M++cHjtHSptc|=`oD9*;div-N|*=YB!b)Ain6}!NWJr z$yBWoI;C5V29=7>^3ssyk8OwqFbyT|D5~ zN%|0y4P?e3PcLU=5XZDp5w+G{roHjfe{PVDkY>;D>66wEPWRPy(H-lG$P{7-eH_6z zGOYA@vEBMxFn7vThgV2NI{+rFJvsg*J2~#?gY-=0ljBd^%g?*zehO|ED04)NvV^ZC zHhDEpm6!zH=M6X^24ZE5WMXsFZX$d8Qcsun3$BSovYCHfsPkT4<~5Ii{Oe1-6_v^Z z%B14YlgfI$z3$E49tV*AdfMB_?R5`$yAhCjX5FZidVZg`Gu2biw2vVk-m-mDODa_+ zQ_l`ZlD-(YAuM!hq@J_mEe~F_bIw7T7&BkImM3Z8TX<07fYf}yWA7OVt^w-m%J=c`kcGum-43ZN*Q zz71svWtVbEBIGU$w8mYo6FYj#o6(O4cs27!ilFU z`?>JX4HkY)cZ-|@4buq;yKl^*E^qm!kv;~w4P`$R(88zc-`C${8=fWh^5{%aU%2>k zc`#p?E0^mxmm-B^@+F-*dV$>an;LEdIe8{&X!}*j3J)jUy2FE_(bS2H0axQ{^4wr{ zs43=uLB-8qkGYvt?q82#WlFEd9IJ7GGk~^XymN{F_F#IM_~q)%NN^Qu7C3ZuW(-;@ zWVu|OQCXgI>a|+LlLe;5V*N2mlRhh$Q;ga2X!sjQ73DADcn%)r)nNNlG*uy^7dhRF zp3|kh#LXx4qt=kVlG^V#v}_eLsB0m4;?li02eYG4@N(_*^^{R063JWpWMxX*+DR@x z>cqN>xTt?mF!h$@y*s!H)$-E2;q!p?wD&^sLIFt2W6X_S7yVc;aTb3<<+}yK{xTM! zi@fw#E-iSZI+dRduA+(-d|_d=;6H+itE>gbs;jC3;lV~!{hdpqYt}~2GUSN5D!7U& z5?u$ah1)fqNb0*fco3!fUeAb1i&Yv?e=Sx$%n>!B7xL);XTW?fGL~W~xv`3p%l2u(W*=EM&&}K6 zqPoc4L7Hv`kH#RwGz`~Dw8@fkPpe$Fo~Wv!KAPsa2e~E^oJQ)-yqIy#0i@8#+tHKT zT|#|@r|yu2Ha2+5%Nf0$CS$;AOqS{_qmLq}KKcO2(;zx``tZiZpgCfkkk01C(Br5C zt8_MKdbK#42tp)GMo(essvJ>q1CIe#I#h-tq#|LtIw#yNHsV1Ye zR{i9P|08x2%OKM&naQ_~nJfOAOxbY0H>`DVNM7<|v8-)Z@)Zry^=-L4ME}0m6$Pw) zf7e@4;IjX>No5wft3YLQ3D#Z`lF1X7a&B7Z^S=Q^ALFg49-`~L+os{|aRBM(l8R!t z**)3YjR33z>qaH4!`0r-RL45dK8B2kme-S52WlFXDw9|ThYL;r4c#jDO-l~zAlzrc zt~&>1V&t}%_m%pw4!5IDnOFzGTE4*fS>&~t3It&tp3WxiWX{C7A`h7Y+=G}aanLJx z&t$I&b`Zk^n>KALU#}kQhkQtbygPwMl6pOQw4l4k=~ReefOz^f1B5oMLwtn0+iTq} zAI;<@VYt{)j%L_opc(XGHM3tA(`xBsarQ*+SzP)UN3NXoYyhtMT}}9owf%vCZfmA{ z7{8v|f0zn*4zciil7VSB`f{q%>K?vp4&Gof*s}#7__?`cU>J6z9^N^3c-P#(k-Gpm zKQnOTHuxjCAfa_M?y>*_y=}@Bf&6-~Qr3h*xDVM*V9^YPV98-oQ3wwO^Mx6!OiDe7 z6q0nJbhl`|%Mpd}@nCkS3H%OnA|HkDQBt`dg}};`UKurz27GctoV4-IWforwrk9Cd zu9 zQ3#uGm~M371k2`B5q?0O>-nd1C$INS=UgLvp~xhD;CNEG-%41S(pIvDa=?gT*h80H zYzwB)vWqRjRj786eh(xafD!0})(V*{?LuX8j$NolJa$2gRkDlYf;m;$E|xMn=Y_%S zC=|T3uIH1={no|Gl(sH6^hO(s+(lfLHx*31WqA|9RaCLOF0@uC0BL!QxzXsHR|FGh z@h4QirExZz$V-3a(t_7lr}Ec=tEi#{Z(LX{csQ82%34qno%5mUJ^qW}Dym5Iuc9PM z0;il2RrS4|5tSCJG@?Eym{U0;YD6z2I_J-0<6XJxigU|~tFG^)A#-^|zrf*W?o2#& zxvQf$ga*Wn-*Ogx6jTv3i|z#|=fqe#q{NVpg_f8Gz0stmy>UsdKbB%CxeF>vE_;Ck zIKy*zT7uaIj}mY2NndkeebyUy!3dM#)hd z=#|x&eAGJ1^V3iFv=9N=ky&eR*U7-J8WB`lr!xAe1nm`pO8=`~swGgV4AowslD7hr z>L8%f_~Ox=e@eEG+=$^;f}Ab~YAb@A(3REVydwyaASXRTuDgJUiY3TNU;Q&iTMx(y zb1^=U6TYV)r*8_76Zy3SKu%xp8OZ4j0dj&<9q(w(?1z8S=|gZO5G)$;R9ho`2#!Hj zwo+!B%+kClO-k6WUBmW!YqD%>-Cv@e9l#vn|`&DYRN%v^W4?cJ6j=A9fu3%5bSpRhF(BXDYB z_z(4Vcy_ITe(dej-C0jsP(5P0Vk3}G)|Y;&F+v|VBLZ6qd04J)k88+}G{!if4_EEI z?eI3hI^chGyu%FO9XivK0CN~^jvs>i=}4JA*b6Z*MIUS@XBC@ABGgi&DrY`>ITpkn z7Uk6hWH<)(Oa(GnTwPQk!+F7cu~IObkwOAwkUj=@oeyL%QZQMs&PLcBOq;qO@k7-9 zd{n}dN#*_(Ay%gJijaXk&{8tSJC}~%7)&pdr9>rMA6$i+D-J~^JPTSYWVu`eQdypp zD^`nma>cY*#H2`08!rmx6l1o``Jv%doHm|Cs_5+=%3p}3ROb5bfhwxF2=L-;&tQeE zldp@VLrM(kSZIl9xmeByk`~k6xE#U*u@p9ueMjx6$n}>T9JZHbG;|w zL3H&letjUAU#j;@2jTPb*pmvJQGi^|QA)bZKMSUac`51W-WOYiG#gZ+TFfTGW6S)Q z9(d_-eniDGKc>&53_s_|kDtf^#N-^JFxV^71r>uY+a64g(=B!&on4f0vNLErHAQ;-?%IZz) zScN(&q^at+Xbjauk@|Kbz8!^I?ObK-D9D>k(T>wuuk*%y8A0cY~XqCF{@b;Z^$=^t=$={ z&EfQ-E>4~r%onDPGJkzCR6#RxGCIY`WI67#z9^U->f+iP(0}BwXYL@C``0sBncR%L zxjV~Pv(y$ZjCU@xxHgzxCVsh|d3A6VYDPbFJ@Yzft&rt1Ij^!jXFXFb;#tq6#bN_d zf`aJ_<`iSL+-1F$RI%8*tPckhQYbRH5A;q-BAM6Zozl+Al(v%KUDmG&rqHsBR|Qw0 z+C@45pO;_hN?!-X3z;nKLS=G}U8qGoc0r3(vWsporz+dUQr>0#!C-b23SL^*`$^^g zF^H8ZZC&my)Y?$wF5()IJ{?TGWqF?puA++NeHL0P6o9lm#$0n8FMT)sw}XkZ_!BDM z()*<~k(d6;r3EXG3k}yTDt{Wxs47~p3Oc-iT5wu*{)B2l#a-6hs`q$Ha1~V~+7~5J z61L=wsEp&Jh-XBl#VU=ce-fpJ#6 zYjD2uXigi zo+4BKLm*ShuO)y?{btXQsmji6SpIBHwTAXLyNyBe+p}|fBP~Hn>j+fsjVk~+<8k?8 zM~Hv7pjUFg_NjIg**lj!^i*SM9_DlnEhTtvZr3*7n^#kq@5#8wAG*YK5%4nKAqC(N zcX%rbgkWA!y)p@|bEr$Y4ONH>VTtVCK1qP4Z59CIF4dSY|rjX#+zfU(OJAXO8`E^ zTMnk%3+GoHpj*9(OT>-e5b`7RV`8d(s6F1l;TB#umkyTUXpaUi(;tK?n&U%uHFV~1 zuwUGv-bgPnh-fVc5!{_HwBY4c8r5UPYE{wLa+Damg$3jhHIWggfF{~k<1?)z91Su} z>IxZWta$|M4)L64+Co)yL+e3SP*$ZiB0$;(ibH~-lbu!SlFTVXX?UGmTQ`|5fwxOFb{%LeaTQuiTx(xnU29plh}J&Q?~b%C zWJQHlsw4DPLZn^|L{bzV(}rJ;rFu8o0zm*!g^K9bx!jymt6QzuZk;8%br4Av!yTQ& zh<0EOlP)Sm>0_}3$`sv4kwB7Ml|wy*k@*lM)3UFiAx_fJ(q!b^`dbipNpfxo#-zhC zI^E&v@xd-0-_q=gowkkil&5InLdIiVEo;dix&q)Y1#?4PmTDp+@)1gpkjnk5!>ml{ z)nNmLq!DVobJ6>~V0zgIDG^GK1y`Z28-*g2zK<+cwhud5F4u!qmglS+sYN{NMryHh zOKGLb@2uP>)Q@3PhQr8@;!9p(L>%O2gGI%pE%Qxi>lO1&e?_Y3?UK>XO}>e&YyQb7 zm0qnMs;J`CWFS-F$cLYcr9(;#=~!rqX$wP|Ptx9~7Q&;S7sOI5CHLHllFLp-`*utt z#Yj_drbGVsE{Z3DDOMe5x)DAv4`uVwR^F}N9^7SSUNZMR5?h7TY?N~?njH}`%G|dj zysP4^W$s%~lNheZllw-6@a4YoJ-zRGzz>%O9e!^~s0O&XB~2 zm4JT@^pA!s@3EU$76LL3s7+t88d$|nX(BV{mHV{GF(08mY|~p0OXZq|gQe+TVY4hr zZ8@xet38*iX(jXCuRxiTU7t(c0C}qU-I}btsb+Ih+Su2g>J~Yy8PEAeRnGB3IyCVk=9=>VL+% zYj0Gs`BggZON9&Zgr6Rjlr;YBD(H(ImZV?7XL$o06VLrH zM*C>Q_msv*1&!oa5seRH<0xF=Ytvah0uupTT7EvCt%c!Ys@>|$zi>W%%#LkIt2!HG z`{e`3Q*NFf<1u7o8&8dP6i9~|O|BUn1#fJGlKi1MFmc1X4wWaTr!~cq*Vs*DzqwQc zeTCyPKF-47}wKpzuhI>VhjHwIBF;9HkAT3FZ<0b;fQKpevr*CZ&-_v=;Hs{!O z1bC1?(g&QrHA5;&O*GJYp?rFGl;;t3O*-X)TU~FjTw{<`nZyJY zs>ag51f?TDbO8d$L5lDT7VE!L)2tB&iQ_MXsUh~yoGMC}!KWQpLMb_v1kK5ID;@@> zBa>6D4h*pLdWO#Q7*5Ps6goa|sP&><2gEvIhwD6B`QKbzlV+q@nGa~x{6397BdB=v z+4>6Qae9AwFKK+dhEkz*gb&CcLS9!p;|e><=LH)SPN`lXQ(qL*XQ@~~SiOt}d#=iV zsEHbQX`buyg2vwchv9^l3ljKu7yjGd-%tM%}UEZm5t*I6@ujrPLQLRoQq#sHajF z`2PU8K`<4{=puLAuO*e!j^v$Z!OE1zRIC?V;@qJ1E6-hYCc$(v(Mv4FnZZ@4OM#(S zip|hkA*&^pLS=OhmO?G!!BVKj9xs@!siZdMWqF0@fP~e_fWjDX4XI}*?3$Xjq79^Wsv0yye zB@!Qvd=P~RGjpL=YmuBziDw3}rujjy5)B>#mt;j!lAX=|&+Rt71$44w+B5^>L3FB6#=%=oYQm z(fd?-{*8|L(RSRs0n;B?B$Nl?4o@`)VbTQiC3p<$i96{lbIKF=t;!5Oi}_rz-qb#e zImX30;M5t<)rI}nS6p#LGCVagmgFaullIu;#8fxgx9dhY!S?1CO*dhS=LYRV;O$uJ z&WWkpdD-j6nul7~wkF0}-Kkkxb|(l#tD>=$zSspXF6_TJ*=D>x2+!Mx`kSMp6N7jS z@XoFDgT3%viLx5QJNuI1U1C{+x~-oj!dyD`O|OnMK+HJ{TIO}OPk^E>Wue2lw6hZ& zc6L6uv(EI`{=@A(JLhgYeDQ^FyCpHOw%fqUe&nM1M_#I3;co4gb&`u&4$Inu24bq} zw*RGDz`;H3t>nOncG4bC@CwjY2nYC=kdU!y4OCxXRm!a z28-+sOKiDMabAec;|pKqS7whjYN#3A*AKdp7f^+ab zB#SkaN?etTkq)k=mt(Ve_=o?fX{m;+(U8@e%+O615lf8UGB8G-hu@+}4E)ztxCLHG z<3PN}EzeAr?&8~@5#c8xe{iIKr`rUqA0G6CuM|Vp!|j*~R6n0S4?9l+^XF(}=+S?O z;xSRm-InKb)#41hS!>A=Fr2gxVmG(}8>5A}WFP+5jKAGQRML2uJp`?VtyR?&3`n}! zVu3}ssSY>aIRfXR@Kr=Y_W^zZyhA$}GPE-`G0`0nOKALaSk!6H9Z)hJWchy$Z9>m* z@`qFr?$E@eD}n_^~=C^x0~J$#-8iX8Mwe>F%Bz zC&pVM``$>+P-q=5uTSyhW0#j6MppMC;FOuagLV^3_YgN1|K(J{+%U0Gkqqa0!@4eh zB}_ILpvv5#puD0RC1#v+@j0&}3fPe_>#fMONM$9;<&K1DQkg|=y%)vb>+Nv>>93`| zwYIA45yGJo*yEJIZ+g2CuvLY1qtZq3@Ah`4`bF`yk0C=tp_WvtOzvB8_>!~>+~Cuz zbZP8c$xd?m5gnY!BC8*X?Pm_+#28}n??<)I8`DptTA63r3hwf`#C~MA7%_q-V_kJJ zrrk)5nN9)^rI+;-eNINCCE(bv}0 z2hB@lwbe>zhF{fqtj`RssX*Wb6yHQCSKCH|-Q!b$b4$rU4L!1QpA>V#vWbwbH%s=w zbf@Pa{*7DUmo)8g%;ulj*t>;q!hs*^E*$t1x8V>78ZCssVfzg!M}M=uH>4;$F;~HA zuU%CRo;_H5a;TQpw1Bn-8m8Q4*#nE)i@Mw9tYE${k1hexXCQ@Sok03_H0RviHfOHR zTUy?n^Ts+?<&qiKQK!%1$DFosFaR8#e&~$vpwqPf?_qI-Mb*C0d3P|wR50=v(bV$y z;yjsDPSehLdvRD9V^;>~IqUq}Zqm4$8E2UCVuVKHoy%};45pVUh}@HNeQ*^j06cV0 z&aiU*ya+dsB$|i^8p>fuo)RI>0^292u9M!7X^!nNm^e2 zd?Bf#{PoXE`I_681+$}2>*St@mr_O%Bg`{&R;IL}yYH~o?A={NRYX2sz9E=;%k1w9 zu0l2YbPztz-S?3W90fb3*5l?Yw(a9hP`pq8((D;?O=ns9n%nmT6KC-!RKBGztkpzb z`YV?f{AG12KM-6+6)pJi!fL@I!NgV8f{NGNeye(q|24RZDiZy6ltgI+=f2Z~*&Qk3 z8O~|3N+ass!JNt&Q6qXGueseG+Y7n36GQxpTf0spRRrwqT+0$GdOB4+b-Ak@j}M*X zF@DR*OdnJcG?_8heq|h9{){u$39`yYBC$QObV!LI9Sbcn?PPLo5YpbbB=@{nilyXk ztth$d`P$tXePr%flvFeliS(Y08My2!!NoPqCc;9SnKFEOT@C3u!}_YF6OA@9R3v8g ziAL3=;gqND2&jq#)OtHjT>fg5j?Ovys07vK&8%wR+svYI!$n z8LB}SwN7QLQ9b7)s6P4tD78WKDtM$-&uRX(#iKbNAK~Ly#8@jm_b^Z!l?<1j8~s=< zo;!jNxs6)SQtHMZQL)5$=*vCEQ0qAqbr9l*oNb=>A*31KQ;f&40^>n`mBx68wXxbE z&i~aje8*X8c3-*XvZq(lez7K#wibCM#^aytCYCP7gP*_CuLvL?seIN%lbOk>)hH}={nb&s%tIl7SYPqg|7 zy_Lx7Yk)|K6JXc5?v15dUgt^`DxzERI#;V(XT)|(Ugvrmk}8HfIt38zAijE05fLwq zB~YfK?nVL$B0>ZqVdsx7o$FkGEtnhXBHSs+h;oW4q=C#41V$zoB8npF_>6$rGMQ@iz{yCOX>D3;EDyn$3T9!t>7fXkf z7}BxO64MqyG@qosQ7wdfq~lM;?ncDyQgX*Z6;&kXyYiHw&T{=TalB#Ixt-sLwEq? zjAvuuCMc$r<_Q!U$=R=6ZfzWNHE&E0adw_0a%wk`y?corBO-Fg;)l&#erTStTTp{6 zn^|OKBcPc;R$dY341c=>^b1~p6p%K)+gnj!+IX&dWioB-P>}QpDotM6cqLk6>e&{O z{$d~C5>L-RV0NA$7nL*Q&d^qHOv7TMgv=d_?(y95A?&Z1OnY<322>@x`5Fq7hilc? zh9`Oc*4}LiTuchvQRz`z@F$!`j@zlIdg4FSQ)nla@9ooFK~Gvxl{I|_l21T0Z`T+> zMhD>*LmY}aFykD4*}4p_A-|(B1~kOHV&|&8w;kR#*OANfjejEgY5~Pi)(J_sij6$&O8|YL!c!r7_Mm>&mSNY(Jk;x zb1bedYSQWx!F*wAE++{eM+!;OO8OY!b^bOU)192`+>^r{f^{8^HhlR8qDO;iQ}ZFe zg=D!>Q1`A{v2q3ekGhX9kyiYG<6gfpSaT-5i1t5By> zp}D9ZA+ME5lau!{7p1a1Cl{p_@#Latv4~lVOa*;Dm{W||a{7f9RB`(C*QAQxrh;~y z7V1MSU(p9uRPhzHq=NRu(jg^=bS$*Qw1ki560|oihw!{uilvvowW8#*OKyQ6P=m#~ zB0`K5ho{E}@ycEjND2&W{+%^s42Z7Y#jmkoeyQFsJq|t(NF+sfJ-}tQgDGORD;?c% zY!%XMP>E_Wn+T6B^GtdKrU(2H70W!6KBY4JoF~tO`r^wo;d`2AI$7kI$gd@kXF9rP zd8YH#3GU?71RR;z9K|E3y3Ofw=TPyFcqmDOv~}XK%k+OAc`c^Jx^jff20iJeciT;5 zZ(s81CBZeGGKoh$4^Q+Hks0?E;S9V%?~8{MM=7 z&Qw2si}o>ONVL43Jfw}9My1MR0@mR|(+`4Rxo@(XSzUhuRy$ftct;jC$;7MZ7Ei0a z3;QWXn4rY#)73Mhc$3M*WNWI~h0RHDC4z{Z+0j%3;CYh02NM05?lzXC?Le_-bKQ`4#Pq3gJSDms~@iY8~R~zH7af;qq@xZgN8yb`*p|n%ZRX zPxa23{koV|OG7=218OKvGRw;?THvaGnI?QkMtNYM+nVVfM%A9%f0zmw63lvX`7TH< zlVWg!!&rNK4zkSZy@hwdy@kq^hQt6GcUh_C-ZrJ`2Up5wuu|5PgFb+4S98#o92PYP zJsZpyW)LzvaR*XJa?sM=T;q2>WDMNYWV*3>1vhE(p)Rk6qAWmF(hE z!JMjW7fbmJvvZ%|o94RW=R(0t>qRkE^vu6hrXYnUgzNJqi(?nkSE0-1=tWM?r;3}$U!O+5L!Ck?` zRn~%vXPCXRdXN8ia1~V~`l=|2lCULbL{)vSXGEpNDvhXT26HNBM2+Z$Jj3i|vE#a2 zw8Xh(#YM{wsiL>&jE}|gTh5|Cis}|Ji#Cv4wV*RT8%u|j7}BxO64Njk+90I8aSb&8 z5lgX@+;=KUE_;FFXfbDk*#c-JcedgFT{^i*NXE{8h}qtHTGG`tm#beAi*GsiL#?0Gk zMz!}CGj9bZ)j`LYUA%ZS=O1I{BR68Wl^CH_KyCi2yldXbG*~)sbY-nnpF+EHZqmJryzyhHun6L*@ZW(Wx6v#7C@u>hHAo#6wrcUZ;R?tv3D&-va92-8 zajCc~OMXTIHGA>Z({T6PL~_H#RI54t<-70eB<&%*L9{yyJL+4>Nb`m*T^bJs zVLpf~RzR3emP^Qs%JQ70akYqNX`B{|4MYhD^L4?TV$7Bx%wHx|EH()9OTmN`icG@9 z9-$<9L71#eX)ED)OU*p^Lzi8AFPK8hE*=Z6LbZ$Z1MqnO2=n_;ypYM#E>tGx*o9ie zV;8hoCA;`+FsCZp#Zm@gZhc~CZlF-`(z?zgmHWpaR;ILdxe=C{t+|W1Eboe7>MhH= zEVzm)miJU>txy2c@)&cYL72}8CeGqdsC-MqDK(Lo{>r5VhpJOK6kJ6WEod*S7W{lL zah0{8A_(&})qDJ^;3}#}^mS1Z^?@)|-|HDsX|YNp>gHfh<&3Biy^tWxEOuO%s1Tf6 zMx{Ewa|u7FZH83QTM*_aWBDy-(SM8TMnIS)XVFFuu@(^K7h>s<5<@x`T4Ea1QX7P{ zH?D!^hp`k($^BvXCMUfM?#^gFa~a&#Wgc(3IN7v%q%5 zB4|P0c0FIq5@~N54d)zde3GZ`N{~%&r^zsK45s$CDX{ZQ0qi8d!hxNY=)3ZG%eSV_#b*q{msk14C-~{Z_msYs zfuXZ?yR(v^XS~utf43K9Qtvz-Bq*_927Z z<4nG=8+r(Z=1Uh*@8}g#68P-UGo2{wOhVJJxY^ie60YM#c@gWRKDz|rjeP9l%3lCi z@<+}9u<4(AD+Cn0vGe85I%P@uK+RM6Z-i>7xkaCska2RNu56O-Nc zSi9526O(sv74GcV%MMYV&yJpI4Y!Bp(+7Zq*&6s`Xku_a{l-x%RF&m6!r5s!{(7oZ4JSP&0RqV~@do^r6KaGE5{#(=^s~H1W-j=(8aF`j zM&2viwXfApn(_q1y?E^mLgfI3%qP!m%0JK?og8T%5W-|=_&-AZ;idC$b&NcQgsk3PD8e=^qUj!XNK~Q?Xcc9`tF>?)c8=YPIXyU~-%~_nugZNS%APqH||}&gHXA(>;GtsxP$ansjhI zt@D9ciYw^g^O)EzOnh=JKipV7_Lv~#sTOWUz&v$cV(pKQW*d~t^UPTI)}FM;bMgFgsLE|swTDGKGeE&X?yba-IwhjZ%?(Af1K3mhAY94G4!Vky=47X?INAAhibf$;#XL>Kp%GmU1 z0QgHet;eu*okz}D)()7C4W}%w>`F zV3BYULU-0!8Bw0A0}!8XoqDzvWr~znNRq|M#LLBzlk6szk+6(qg7hV;MQF@&1p74C z#~HiDrn(-+%GCe|W7G4o*}NsmV{1xTl3XRpT4uI}nmNp6B5R&!J6@9;xU;R>wOKdF zmz$s&bu{+1Cp&{9?e1OtT4*u5P_HH#7I`yle9O7;yLnb|%&aO6N=0t>y*CZx%pLm&3$WvJo5z7rOw&J)-a@~a4&LgF(5;uS6gGgfs+hR2tR48^b; z5O{4i0xxq`50g@Esg2YK5wcBYXD%~>s)W&h`iU+e}a$@r)~viGJd$vZX)}G zB{t&`3y%c?5i=q4T1M@<^pEIMlMJw~c}xAuE4mak<8&_%d)-UG0{?^Fid-vKmSpAG zY45CFnOxv^s7d+`R2`0_SsDxc*;z#@Qn32(pi@|!<(@ay9!jU5L7}Dh!IDra0RV#0 zJOukc$a&!xg5uLBsi#d*ABE}4bovmiJ@JsWLx6c=8QF+ca6Ktk;jlt>Vmn& zw?#czjxwpHSv$9@Y)pm9;ZR!T$FQMSbDIp5M8&{`qO<(_Pn z5vjbIu=@D+TKXc2AcYy0aHTON?ZdTz2U#BdtW+ zCK(*s<@!&;g$fP0c=q;So~a%%eFl79{ydmU+)<8Ka*kEfasGBNO_uSzHMRw z7*B-XmOIS!@Jo;CBPy0zE`8=>cstJyGt?MgmJ8q0EZ0_%(Thcn*Z$)lvM%ndBcDlp-iiXVS}RCp z)~20$564fuJq{rK4BFes!}0sQ-3T}wpLL_s;rN$(J5&8|eA>s5!NKwXGWSWfq*7%v z_vvsa>3^Y%;TF0?a-XNucy~NG=o5pP#ljQo&v_1_W|=up!C;;V`xnir2jx7k zQgfc%!RF*T^~2-Y;^d6AP3F?*Dm7o5Rj7yNPbYwRdBdr-03CST$BftHU5=ZHQ9=f> zdmt-1&h%@v6KGj65tas)%pZ{B?w9AN&sBa@ldU89dx{fTZ{~M%OSwk<*9ObHrWEdL zkXSW^Yf-`I&~f?L)k=usD~@Bn|B} zqpivI?a8wy+OPuz&dcYQl;8#_xl^Lq6)QfC^pvM)&?jvv)fYZ~D41btlJa)sReoOh z&q?L}yf7=1o7XT;oiuX4S`x^3=Q5m62h+G+q&J)_m+1|a z-kl9o90KPFX_H{+#zMDOwE z`sRtQD4|g6QwFvuA+(-JbPia z;7~Aem9?Pa5xq0jdpsRnMHPwO6(vy`!EJS#uIhU|!#OQhX++%+%&D9aHKG^th~7Vl z9oOaR3x@a=S6_aUh6azpnZ5240KTuk$=0$|1kVN2!BRYRxvM{l<+q&7ycg9iWHMvm zQRI}R{0Trz=<-Cy5699WC5Ch?w8SbbHh(#mVkx;VRFqtHn>L|@+ojF5=b#kZOro4v z3X4w4)RQ=;8)|J$b97nFb<=srW60l}1+JI5G}P<`|PP;Z0iRq)73 z^XA2)Isd>TAHO1oUg^lc9qZPlBS*JZizAO9L;@f5q@}*P9Z|6aKIqFI#>nddKH%)o z2YkTy6!@@R03XP&B>;RlrDwp0t;SLrKgj@r4{$YOIrIbnNDsW$iN~(UE3L__t+h{y zei*i!ST^Vf!8@_GYN8)DnG)jM?*#xf)66c#dInN_i=*?(%@XNt^+qVyY-1hQ8+WT%MTr}5g;0|QY{#79JkiL>VA*}uyL6~eWO?rY`- z@e|V^%q@YJMIRhyB1bCK2i7x5Yp2Ay$*`cmz{um7;A3O4FQn`OgnUyKMq-@|rw1q|Eoy#oR!SpimOYF#S za24ueQz&-ic4)1T<#G{OWqA&EL@nZ3Y@)?ty+46(+!)L$#%u}SxSmu|9=@>&re;Y4 z1C8bs0bucYngy@Q0w!v23?`&dWD|-UG!8nJn!>Wpa*Ps6{+>L5o$gi~keMsmgY-lwnPe2D773@Y1@z zL@M`>L99$^>vCh3G+T2QaarCEgQ>SH?>~d9sA73PhSmxNAT5tEHyYM-!j{NMkQ}i? z<0dwgAR6;&j9W0XWm z*pf4%GLDlXo)MK6t2Cm1KG*~1jHnU4kg%qw$M!<5t>WCW;@awyNEN+3L*rG!n#uSr zXVI@fbqkqA_X5`R`dB)o#E_1KmRJQ?(|cnnmXdq8qU5sM9Y7p9~YdSe=$ z?M>y)>`f$2On-bL^s z>U#07EFL!skX~MPRz!MzuU@Jp(#zXvq5~AxrAEP-iuCeUU{W1~^jhD@x2Xud51~09 z>E$CgA{voMuMdHQqgIdP*oL0Ima#2@5Q+5C7Z7w;7*VlAdg%+EMlj+*dSR-{hxEet z6zR27Aic=1C4lrgy=O?Ti*k@&`^BNBA(*cdct9XO=c!zp%yAV^eF}%PKD#EPx3CZr z2X=$qMD|C^~3#g1BgE2 zt*9QN>qUh9nzzRRq|Z|kMIyp}$J>nnL>TKvB}CYJyq&3z2%~)r8AA(Aqf%uO5$15I z>3-nGQbUBDT{!3!oeAWiG#?vwTK(9t&!LW)*f7Cr4uyFJ@?K0wgRo)Gzhwk2shMhZ zr>Dm0-RFGFN!0Vu;Wn*i7bfq+@c+2aiC-?SLBskuN(`s^VuJ^}X8FqM4e1loIx3{I z*sp8s(?i&*D6wy&01rmYU*xvpb9!olMV_McR3=jE)8afy4>~^6m358>S9v4f7P3n zDZT1#psTdCPvf0y9(F@8z05AfB$A|L9`cHnDQzVjWTlx0f9SG{{}W81 zWf#8^T!m^E=|T8B0D1LmP`r@I(k@gc=h%f>#A6qgjzYmp z>-tMlxql2|WlCF@8&;*+n!AY0@;)C-y=8fy3$CJy<$V!aD-?jVJjUE;|< zD&Nu=Doy02zjA58+HH|j4jGrM4z8k#7OaQX7ElY$3MQ_y7F0xDU0A)x+k>m9BGFw@ z5+z|v&WNh|UeAb1i&Yv?KM?CA%t$k$7ZQ2Z7uyTD)`@e=iff&xk}7(Oyn0cvW-@b> zv*>YDH-fw>Ig9QE^6KYf>5vjbIu=@D6_8iI9!s&5+^<%YTz1F@e-i7o5`$$WWBD=0 zWXJAI(i|TugSxt*)@Jo2ZOwJleC<1s(IVYlZ@%_Dp1Lb#alM@;qs7rgU^@TUvk1DQ zGQ1yNJn9S3R$lg*xTC;xwLV)f)e?E+?Q|KmmA3+u>L9e$Hy4lQe6*F1+=vK7qOINr z)JCns$ngxldoANx1R)Y_r7s%jt}miuiMG<05RCxDgSNu-ln-r%?n z>dc;@tu`AA&x5V;ZfmMFw7=PH(BGcx#5O9WbySu1#x-5O_=5bAF=X_zfCLgwwbO1Q zd*@PxQ|+A|AMCa##``sv<{_xo&{BfuAK9UuJ)4>D%?riM_r$~Vhc0pL177C4r2tgT z)4df10*bD#UYUf7IMgM*3RQ>+!E#z>)DEJ^PS3Z-c{cx&m&}XK@pamM?5&74z2J&u zuck2aY~S-0QbGp1rqk3#zttuLl&k$Q7Ad!2oTCs8k{!clsI^$6|5f&$f zX5ClgGp$D)6njsw0WvL?m=V@5!m=}M=_*R1^&l%Ks}gNlZt;aw+dzXzXt5kejO&l0 z)OV@KFVn3-+PaaC$*!uw3c2PmEY-=*Ds@Tbl%X`dNvf@?t(#2Wz}ux7yN>$|ttGCt zzgt~vS+|JRKGE-&v@T>tg;lB}^j3h6(q9K6>G?@a8(tqv^=`BU0tcW9716D8xjEV0 zdQoh*&Jx`kM^eSOM`r|re3%g|E?()=u>{I|-KUU1l4+G=K7?cWcqP-auV5pl<7Tm2 zU_7NmDBLc_ilNh0aFfab@5bF?R-joJNPaVz8|oU>C^8}+uJjF3xqqpcl_|YcY(SE< z1w-SVD{wxl&lfnm;$3Um>%W3orY<6d!j)D-hYMLQ7l&1r=PV+rMLdg0YO!-mX{E~V ztlTHmk6}}W!^p=<7Y7S6d-JtmQ88)D>AshIA~n#44;G4aZU}B{x`6a@nb9-;VjD7-`a6|4c@h{O?ttz~jBc!4#_w zG(81AFOO^U(Wczp=p4zUTfH;5%gm8TU(}7QLTWb3xfaci2pMH2*%97V@zyevtmjJ% zSLDegqeA#H$@rdTk}nmRWb!LKlN`Y~N#D!PvWB_z4frfCqeX{05;6Gb`(r`h*@8au ztBAgbS22$-S0 z>5|G9Y?cXasw9=)@JS{8JT}Xh10FKSJ>J0@Rm&XjU8H@pSER``8Hd8@q?vogPvC-+ zHpVT;zCUCgFU*Trw`$lWh!)7lF21bV?wi8}EPnhKFgSk|#WfkUmbc^<@*k1PtS#j0 zxGT!%fmMR?KsyF?Aj4 z&USYM{_c>`+ZX_@s92e5Ea{D)+;n8!hrenVyw$KC=gP}&c;@oHPGbnj+q?u}b7OCE z0h7^ISa3>`Jqa#6iHGK02W37`rNgI#|0~!7)pVu73y=jkhF`ymDv8AtQ`0Yc+GuxV zV*1cX0$RG4K?Go#wUdlbB!^n#u-APwY0aSScK|%l!Cmjd?-Q>cRfEd4bOL)#(*I+c z2+4d&c$JXQ$JFUmGUn(U#=J0DsjgOvX+p!?SeR{sVeF39jN`Z;gSqM5NRApN*`I2R zAms@oUIJf+jpH7Y*HV&S99yRZz#q2dBUy`K^5)h0ny{~f z?u(^EE?r4=SVwttZ)}|vcyl5@T|#P-Kp3P3n=;oSQko!zSoLc7C;ipG6nE$ifZbCP zbYDr6HBwR5f_9ric`krba3!nL0+#?l^QlAAV-O(_^ht6Ro3IO~3MI!8!!p<$Plj4k zZ9uZ%$IXKih-n#bj?Q-55I>C08u3HVTG7(G?+2dF(fr?fOCx7lWEI%aE0!Q|ILs_-G!D7Cq!$uF7p()sTe)F$&JEWv9& zANs0hy5L>6!p*S?#7PNp&4Eq3C6W3y^#rV8nCdckRAcW2bke)^K-pUoH*?q`j(+aS zH5|oIIU;aOJDw87oXTHd-6nm<{W7Gk5t^2FVqwpG{($r?2x*8 z+u?0Qpb{IzS08wpmInz9~;kU47B!{XMW9w&BpFkhG+OE|R-(#xaY$URQXbm+ahmGRzS+EnD%4kU|!?UanJJeTFQq;fylj+My;bC_p}7=St+ z@ev1XymRUJ+k@$4vXp0V{7!HcDpn*EZ1)aiv4RS5vRtAy}?bIS3upKQH>%B>y z;?=>NV$7EK5;UBO_>#Lw6}`o}eIb@o=_39Ks;J^3L^POIz`A`imJTT~q+_8aRsrj_ zZU=TZA~!81cQjN{MRM8BTOg3Wqd7VayPar4%8IJ>(-1_0iS41-5m)uY&1VF#Wo%G&kb101O+e&`&@v%B6tqygt7ORUOMB?!D zxQ*CE{=B+)9w2dQ`c&93HV+Q(&%hb^aBBFT;_#j(aBAdN5l)R{Au*s6^wpmGJilkT z&ptbY!k02aF3yk(Jz5kdAG-puv?j~8vSKpjIcztPJ+ypMo?H~Usm^TEOkV=0lJ_MO z)7?EcPK>vB+QY^>Dd|mfhqv;IIzD&i^B%8r3dnrUc`I^dTPzvN%;zkr%z`#)H*K2) zYcC1OXJzQR#M!k9#{) z{dNr6$B?17&@?JlCKm-9zBHWyZY;G$fz$Jcw4!S<93+ZC-QwbT^)Ci|7nRFg3=ll# z3B*BUx`?)e76W#w`FcLO$dlJ#%E7lvv!wu$U1rmZvkNQGLguVQc{+tyaiL0-9xqx` z2(h8t>?KVwt>X(BT3>joe?7DmHO-S#2kdNAh%HbT%Qp()TKE%F3(Yk4&$VW{hf&Ao z_8(60e{fH#%xpti8&lf&KS#N}b7oq*a&4}${fWV9sQB2ZO7qk{Le)trfCdX2w;P=VZp!BA(1REoOxV#rX`m^YR(NoMOzDXuE4k z6((Ra-%d8+mDLTl)}L(OF1DF9QuD}$kcm<-A%!B7>qqxe63J98@74@frnHst3o^8n z1%K!oF5VSPp=B5E2(Ci4i}Wt|y!`Is^!K26A(N$Ds7%hW3$=*HE@-hzcJaDkPF1#x zrF?6~mx9?*D0pdIkC4j!V-PD-+Pd6VVraJJF59v8RaCLO??Y>a0+5!+ zm}{r5VXH}>2jNmG&Xu;Xg+5&39 zCBej5RuZZO6>rUWdi5S(6I?|Vi9RDrqBN=QJ{6I1oD}hlsI*w65%sgd9x!J_jp&8E zHRI~oUdRP34RIHEo2sLfW_n-paK%)S7Ygr z5<@x`T4EKDAP>b-EG73~MagBiJFc%_&=1(W$CLvnQ;O>4Q=tez@qs`!J*T9N-QNEHX7O+MzSyAs;O+iBwbPtTW?&P!jx z5*#w`R|vdS;tTb1NZu+@%%Rn&uR1U2qX?>lZk71X;?bOswD<8VVuY3%sXqs5qZUY{ zzen#^i@%Q`L}HNiq`K}XA}W>`Bz* zjv&aKddj91;(VRuBXPdi{3K0!L6C=CDq>+@d$Kb)((c|R&fvpCP{`hWFmS%TpJV8# z(Z*DuT6fyQ&XZjbgBlt7fE1#HOrQcykY2>qj5F+j))FwxT%A8@AFRF)bf(AlA8yYj z`|!W!lDoTzN*Xt=7eQ-b5kpPu=#p-BNRCCfF(J-wzH;a4u=x%3><0z%42pgInaG)-BGhH`mLp{IK08dTWFzxsXgU zMA8=6xk#ohMAR-rUfl!Jkk>o7(XJOB5Buk63BSG*@^aUSkeB=_9r8-&ho=_Ree6hI zxv=-Qmwwng)`X)k_yG>(Bj3k6B41Kf&B5b`#lh6PywMW~=up z!l0g-K5~uIU$YrdcM$C0ar!7Wn->IMP=64dr?OTYyqtv3BfC#%G7JiZcdMZ=s7-qe zPQG*mJ%u50m5NloOpm&VhsG=LR}JQGg~or!m5(#FSqgo zWFIjRA*`GvOIu(8vS|wuwaWlm_scXu_6~d{1LPN?C6EC51`!~WU*!X2L3l3$mn3v}4^N zzNg^&V2u?8WmQ@u;*Fn)tA-z)ehoRdIhvaBUp4$_b**LHB3fH? zd$6XqMTM!}(&{7hRz~5U1|rFz#V?-zOf1#%s$r^75#5qk4O`uMFt%Irs^NDcsbaXJ zQv%Tr22P8*$@B3~3e8C{A1OhOCqfmJEIHKUe7N*khD+zF;R}Mfp#uBwM@i@J@!Ucx zr!F9G_ZllxdVh^^!Xb~PiRBybR72+(siy|h%cL)NjO+=nLPg$(o_=^Gv{uM+xuZs9 zdCp!owTK6KuNEtJZ?MYmpsR+lDZ^oiiF1T^laRi1gGI%pEg^kq>lGn=n@APC1>GNx zrBr&g8K|O)R|6AcfTRkb`4`#-*vo9q`Cf?INq?U zhW{v-V%34Bx5DS;Hv{`Ytiforz+vaj_|IE zx0b17JxyY`B8VIFdW{Oqx_TPxrgf+v5Pz`)F??PxrgR+l_$J z{a80Do$j~K+nMU8`_Vq;`R^z#sZ^Or2bZb^ytu+5Pg&LucI5H%76pqJM?j*_rw_YCh+Mdfc zm`+H%GIkFHPeSo?OUXbTxwCSg6m!C|l>iv;avZ?91x{$%0fI1*RnKhf-Ln7i&N;ZH z7k})+AN~FP?9cHza+5FIb3+Qz+k9y``dcjuPt5%awb!mH2M_D+4c5|{wmQrsb8)ek z-v?}Qdr`B=4+QgtS+AVE-;Wd$D7zSVu19mu%_i4yWZ)$;NkiN1z7@|yd)7o7uKw&! z2=7j|hll~7sqUCJPE6A-A0&<_=SHrN1T##{evTop@)OPg_TpQ{4^*7mCmRR9wWI9-ir!IH(r?LE&lbJt8bqkry7&$3HP?bCU{w9_V zDKVsDp(R#f5&3Je6idl{rK04r=W7#6xSz?q($A4pG!luEWCA)uN~P8P-=V zooM_gGPFlY!xfk0*B!FT#@vidC3-teMupWV9i4OZQ3xWA1%5cZlF!44>h~3kQ*USus_!W zFjoOrEH++~-Fvp;rFIk9!%OTy4}qN!KU@sv$9tGN@)q=($X^6@)`F?H$6JwWwqOZa zUK2S-Dzh*Z+65=(Mnvr;8T82$mzuuO+t&az#eLq2>LI#bAj$80dmKReyQzpGfg~UF zb|U~t!n#ojNb*TlIGkyE1h|n4BzaQ(K$3IIjAr(JRnbkp zpnVAYEoLr3kdoU~I0tvt+D(f%EwnCoSFk1gkhuZ8t!eK8u@*U$G`sxW%x#Ca&6#&J zURk|qeOgmTg=|u!F;tHRt(~98F*prlfF3@qp-;7r@->GQPw@>vE*EM~|A_t4RMBxd z>$N5`^JN5`{Cq!Mn6&Mq$wRG4PUVSpQ5j3JPb3dDs<=^JU5u_wL62gRLLw( zFDfW*BA72s9p!4oC{#g{TQWKY{p=|yu2=Wyz9N_%DiGs4I8Nt7-hPQxPCZ249&1*n zG!mvFN&~&ab-?eAC-$GK?HUZhm7j)S0Qjir@l2 zvlg?mVs(~I3s&PZtvQ~%K6Np9p9buK$bRqgo_yr=~7yr5nlNMLKRKIDTuecwh5 z;S%KegIM<{2LyDFwG0Rmgh-I5o^{ukb|Na4AWt2DVT|A&kSFGMd>~JJPeGo~7a&ja zD;(rmiN25aS^h8mJU+`i)xG4U5h>acxin&rppX12qVM5V@F50D0;F5}NncN~L9C?J zydkFiRb}VgGSwXKi~>@XgCraLpq9Rbo>Z@#@?~DyyJm2-+36TJ_VS0WY4qJSIV%g9 zC9mr}VmFb!eW@Z-E$++f=H9wP+pU#7VX!^gKQY;DkF`6^ZhK<9p9`uZ&c&hQrMIL@ zD!**AOz3h*NMT9kH-H8@{yC(Qz8ah5@LThew&NYFQSU5vymyiI#$J&okCZDU%|aG) z!Ep=YFfIGEwspKHFOr&gTe}1a)#PIrR~`ng)B-nt&|8rUHfHIFgd4wuRA#}A`7I_q znP+mqd{5}-4_(y%jknVQ;M)&-D~h5%WN5TlDG{ZGI{9PWyTnY^NiM4kc&%11`Q#-f{cXsTZ9v?){HJ=?l)f#RO&8Ke$4rXiMkD-ad`Scq{tysbG zK0oq#4&j_EZe3CnFc$c6{Dt7Vuz##a@)$MYw>TVb7D~zKUJ&N>d6t_?rdpFztqy># z=nczVHb4X4)MM0=y~&+zxL+BHPPPWg$vXrc3*WV-l7q&O(7R?-151C3j37(PKh{{H zheshp3S+(i3N5>#oa@LBG=_kV80oU?vVE;?(iF$!fqa|eL*&kNK;BJp^zyZMtQQ>j zMefRA@tJj-_7nY8>9f_M!c?9cFH==qm#2k7K7)bzoShXT8S&F6xyooACX*hrG>Lb;1I047hr5lik>TzU+I&lT}n4k@C;X1!L3eoHr0uB?e zWp8$pYt45w<7WDRs+DP$-jB2pOYg&9ITMj8maediK>`cem0UOMw3CBd4SMxIc*c6;cuH2xHq#zV8bL8^0))0F+7`-qIIpxugkj$P+^zJ^h*N-yIN ziz%&1;ThD>lHd!Il{rUJY+kKTe=f-3aMDQj?}x1N=>Gl5SgSiSF_ef2tLbCYCd!mw z!fl?tS)&YxtIKduk>N>BA~lJ+i%|K}s%nztdRpiHSPCU{YygF!I}T~{c-4=o0^7L? zY+-{S{0k^wwC+YCP8uv!f|p^tc}j3vZX3EOAAhac3C)r4K`V=8lN_{OPO6{|1f^^f zYAJ$UgbIyTRg)rYpmqLYEQJ*m;RY@w+$ln{(N|MP<6ac^;0^Ig37pY;5H(M%mU7p$K{O$6p_W9nhBJ2&s)n?xnpFE3TIVNYDfFs#_SPkq^|n$S z{rg0^JA|R>%ClhvKMMb|3jPCQ?P~meFPx>$rhEesR#MjL5hq;@lk>3k5M|8PkO^B0 zS(mAHt26(?`Sdb-t;W%bWhI<|3&>A&3YkY+=K9fkFvQ8$RCm@`LQVz8VyqBwrB<(jeYIO&frM9dzbI_ zj%3)#ESLXGwdC}2>?p|}?bf=iXBI<@*~}ED8@Nhw=3Jt+1k5p6aCjeP(k3T5?QR?P zH$!r5G#Q^BJJ_1)OFGkoBaljw=SU13875P}?FsxlyLI45GBDbDQL=B~$jtWHfg=a{ z5?C6ahP~{Ecus0~cXHje$-q?m&OikRG42(6qBL@#2zR5a};=EE_(JVMC`3+_J z(=}%3Y`0>>Ej&gnpji(D&njS%)_d-Mo(=t~nEpc2K)NK&yHOE?)?TK)iQvh(j3=d} zN;`9gudLQP&W)kExDgUxc`RuaWt3@25w%OelJ2u;h~^y*N&o~8iwkY7cB z9ulq*}Vufs@Qd&1@?TzZtxx)S` zGQAg}nG7F(#cpEh-T=fGaQZcta?p#34B@B+9;kgppPOXn`^r#=cX|Cw02JbWZ$+-v zIV<>%ySt+BO9jGrJxLL|Zj#5wKp z{tXuCScZ+AbQv2H__)@s;1_5$d>wNGcS4Qy0)vRwf)F9wCqc#KRT|aC`K(%1bTs}f zF&8Un_ZVezrHp4e(HdobPgvRCU*JpP{wH)ptFqGh*5()t7aPsP7Z~eo5;>R#aG}IzoX31Ss)SEcDMc^wp(Y3ZhZnt72_VA8wm0-C|}gGigw3p zo7}5+2~Fv0~_bIUo~8YLU!oq{gLuR;)=3 zf(M|k(Epji+)z&`_*;}TIjTs(T*_l2t|ygK7m#-d3oBFln23r;6%7T`%Z5sMR8cdy z3Uvc{=ut((&{`qO<-rgt%X5xoQHyvskgLVcEv1#Jer4r8p?(aTG8~4OK}UEux$*4j z!J=Z)mK)E|)+=s2dlIRlw|mFm980P6YHxrls(3XS$h>ORiWPJ7jr5n{Uszl#3AZFe z+5@q4NQogG3oWqV-fjfkbi%q(>86wa?d?qUn@(sS zLq=xH|H;J|Y8sU)lZ!D9XPRCF+{j&wd20QOG3S;U&FnQ9(M`T4^F-{o$W3|IWXz<^ z|J-zUN=;Q=hN~p z1Z!VSmm7Q@#YL7z7*ffSpXrMK=cbeSd*(62_7cdjE#6Hh|E}3tf$!%&G4Q679|mis z<@vFjQE3yodM8zsZELnv)O0a5-$tVOjhgFrIfLVV&Nt(84Y;*C1GfFx;`E}f9-be} z7p9IfTYC;vL6ciDI>pE&clGd0eOI-}vp3Amw&INilJ3<_Cr=Azhq{*acJv?l%ZGbN z<^JVERwg$+{kEGlU{zLe`S8|YdYSm;^5IRvRjAqT(B;GDLTiOAmw9fL-h)Ro98d3i`)=8L=W<)RKO(#!^ z?S({$;M_7Q)gf;>Nk|pFMXSvQYbG;CIg7pn)s5`;D>;ica)@%STmh~2vRFE##E_1K zmRJR}+FN5OmXdpOMalioO((--gAPaYBzPJ}vkNy{Owbqf&@4PVE1f*ayG>BQS*8dmgcGXiqf5Cxq3zKs~dCE)z`fZBYZlq+q{^jr=I z=pJhs5F!YXAWuE(uDghciY3TX2VfW@xCi8k`5hm~6W>#iXIp?g$*&~<^1QldAkQr} zEQX&WiO|l8>F%BzC&pXiaMea?9viTZmp69oiN~rR_BIm6c*xt002m|dMkN^Iw6`I*piPAim`w%>4cch4CIH$!bji?s}b1G*< zjp&6$3p^4#uFItc4Dl;2HGGtY29I5$!K`7p;U|`VUw@OWWixn@)+7QGPhIZn3$gr` zlbL@)bqkry^a3sL%~(35#E_1KmRJR}z`CnKgDqw$QgTN_6;&jc-FkJi+q`OGyxVM# zx!AJ2FQJpKK1{^7#y$jGEv|3ZASAt12R|#LiW`x{gM)^nF%Om2`4(8ZuF2 z-1NzXbp&bPg8ybu-4UrUx!~{ZH1Qg%Q7Ssu=%W%;n~U0O4xo6Ay}GOMnbrUgq%W?Q zYPqakhHB73ty9@*R7(bH@K#__ee?lPW`pQe@JOqk)BN_kd zHc@20OL}YcUA1`Y2twpizMh%XjX$DdxsKS;{{V1~K1KKE9_*`D0=!pZr<^ zOZnIKY$?CbUiRS#uaHxk*71+@082i0MOd$?$+E4bJh`5q*-b2`#SY0;b^^V%p1+_6 zGX1XCIR&h2|E9Mh*8++qW4WmRW>T58sIQ&5RN+9T_j~&qK=k{(71cv@y-0?C^!7M_ z^naitibOIz>g`4Vl7V%j5|ZIDZ)d6_8E79vM#w_bs8pFmGB|u``X=DUGC(p2KU#of zaFCdfWY}9jlHv5LA#^j541&jevHRu7bTO|ALNZ*cA{jVWEGV~QVk)MdbeW+-J!&M7 zHh^F{Z8{%+38M6PF=9fuEU^t-AQZmG#eI&(83(rE($HIUw;$Y!7Y>^Mhzj+nLgf>; zi&2>m{{QTK37BO?b@1#ojP^Ohj#^KNjx42re;YP6kO0OiM`%*F~U>NLJUb@Q5pxJbyu?_ zx>d|$%$pqQ&fH^=63ICbBLuj6Ym~J~y)~LM2jYk~zKs1c2V&YAgt}?sn*(tJl32-s zu##MEhN>h_$bnFsI5tgaGav7TQA&nW%HEV>AY>ZCegYzW8bWu9dA!RTk&Y~r2?TGa zD3a)AQZWzKCbgFEx*gj7F@I>AEX!L{88P zwTVM7XtP{;@m6n2<<^VEoSyR=Z*p{Gywt8=5#a7Qh_y+rUH04?P1o#AY?^oUGkqO3 zL-TsPLFCcAW1+W>43L_~h?_Y*=L~P;4Ep%;H+7t({m2wAMt=Uh&&uEXW}SvTM}ke)%H4ORN5@pjQVr$DI{S=%`gg?o^y59 zQONB>TwCVcKHN=bysoC_{JFPeGJ4A-kGoOad{)ujNY8m^Ry-uf5RduhSdR3Z&t=6} za_(<(axS{Yk~zbpZ)w7zG&=`xBF54T9ny3zD4;VfH6khmB8|I#3rU#}cg>rm^REur zK5;>&xiU$|IcPE;tR~m7>QrOTGT@!54#$5k9QGYjl$_*?C+m2oD6Q{LmZuCnmnlll zL9@gxXNr;&KpbnY6s1!Z4(H?)B^SCGd<+>=`v%ChUtFK*ubi>aeit%hWk5uxDCye* z`j%4$z%oTi-=K@R7>*Pr3_!V3l<+-GQMyi~D3M=_AVuj}T}x3q!%R`4wWibyt(LepxH(Ap`}xM#H4aU&XRUI_Osix6#hslFA~q$QC`s{ zpZ!ejVIX6&dGbhFx!wuLGhe5bADGO#1g-fN{WVB@;Y537WIS2T$e=o;)X+;lDG*D@$PPxecHuh_5mIa7?HWq@ zJj;%nY?F``CaMhr>RNSXnlb#m@SENT>W zE0N+y-nglIDEA^-$%z!-Bf#C8SgcLzO{|=W6uHe4A1Y4HMc>~M5Z$d3y>qv(=`>8lHUN>w zM1U1%#ba_*iGD^_JmfMR@tALpNjVB$jGx(k|ZtNU1T~sDk?{$5f%d}Rrimg;s z6x%`+H3K3to~FBcx=3UIEaPeV@+xLo9r3i|fGn+Vf6aT}7-+Kjq*9iQ`uTJ>gzY;n}A2)HW9c>sYw<=qQYvop}(wZxWT5%}) zHjr=cfZ~kT%!RKe|IqnztVs>YZ&#Se@7)UZ)5t2~-@&uK6#m*QZypu1V=255;3;py zv14L&*Ea5}j!)Do!RTatxLs}3TbePX?a6ZY(@3fWbC$v6+3E)qdfJ1@a-qp(i zziB-NCh!Z>&;HTcO1<5z0w;jVd(BX+WfX$7;Y$+wFNLqr-$bWe03>Xe>up|xxCFBs zd2sG_B?5bU?6WmQ5Moy+@rSnM>jNgy#BhDMVMJSB2_vI?`HtB|bnjw~w#LaW>pQ<8 zM(UG?tF^wyM7ug(ZIw~t`-JEV$AYfnoGook`MF84VwiG|iz(sHuv;G3jMow0Xi`Qk zyJ)_)A@)DrLQKZ?Ez+hV_Nf>jd!%BC?TUD;+|s6G)azcy0SPd~&ykO96glA{*BZzp zhJG9Y6lOg5`B>*LJPv-cVZ;x9F5j*b1^%{CV~2AX`Hy_k(Irgsp)FWv*fn_?`e^51 zQvs734IRaHacne%%K_;Q8wnOvg!M8=zo(#$1enT?+YU1hj*mqNWQA&B*myws+nOB$ z$6#}!;}ef5J|k`icLlq~%k8mUgZ-r`j6HKJ&?|loROx-gg)KUdH{ofj z5!o8hiFFuoP4c9Sg<)T|QPLUg%yhVE0|$-}x2)!^CX9b_F^Py~T6D?1kR|4Da6ui^ zSlk5<_A=9h)%(;JCmtT`nQ_7HSkdAHK zA)2p?OYS3Dox~Im*XJ*sfKpAwa#nu>0cO-VDYo3lr<^19K>cHMv>Cm=FFS|f;q|d$ z#JxURUX4fCY35*J#kKD^2b16TqhmB25G|S#YS9yi??AgHlMqFuxHmqxmg|$rgjCLtI+rCYEMs8u&tKy&S5}>zg?^e{tTLx_GGiJ zx9!E6f~4eSIjC0-=`Vw7i+xlX=?z9Iqvgq3o3s|O4d%Z-E(7M8pBQC=Kz+;OfUlBc z`fP7_z{heAm=RoGk*>wtN`MdA*tie-D3l+s0vm=8i$evGB1Z6D&ZkAsYju$xEuCR^ zmJT1&&3Gvn6HC?GICbi^vobC7!kUUOZJLiL2GFtZF5tMv0oG57}(Pk84B{Lu*voG}NQ&->&fMxcDz5t0C$K>pbj@b!c zMOnFP2ZYCGMRo%D)hRoHgaWnfgu=Jb_jN4*dAhM&9d6XGuT0J7VWuAyq@_kELWU#1 zXLb>NaLI%t<19%GOLqAz)9;C8Ntz-(B69!b1Z10Q4c^LNz#f^5Vlyr#}m(srXSQL2AAV`!3R6_<>&Gre|TMDpei)C!9Qp zw`PL>3xAL#A(4h9qD*XaQs0Y&Fi*@AK07^R-4XWrkov*ffl3m8eHt}_H=B6y#)=0= zf`(U4;JcL?vf6O@3iK(+seFMQM1u!*Rw6;wm2O0ybjCM>+aSXcOWoRYh1jYI1km(L z&(s$2(SBeo9`xGWb8gSTP~~8?J~Irtk*(RD0RG!L+#8&UK~2&IcH*}W43HNf2BYn1 zd^s>a)R>xSw8tvVL)BJgwr8MHAK@^1bSdg~XR4TRaop!Ejs+biyBtYR(m+>IVKsOW zi7ZICw=vZqMXrt3soJhINva$y(OV6CJz5@a zLmP-T50~q~5L~}hAFbA_?diUrD=WcBBd9mp!68V44BCxgtb9FbK(qc^9DLjk64-|- zv^jh>QK^?}z-`(O4bGQ`ha1h2YW-jhdP0*o+NjkUhu{HkPR5C0@X1zXbh5@fyX?Y? zb_eC!!A7&%9vkls4vkgn0dzLp7@wE~8$8jhj+bj7Y9o{IPh%*oKsN04l~&IvTxCQ? z+B{gP4@1Mr=0pQzHy%%4FNmre66HDNP({<04(9VXgG0KouNSP-dgXFi_m)c|fPlkg zX7Z{nAUppnA?YPVH5LC$JYV%9!3USN5nKxaS zRg*#N*8vC`r;+YGnz^*w4_!N={9bR|)bp~vh!#1byd1MK=u$@3*?kuQPKlgU#hSI5 zuOrHz^~RTBC66e7#v4SQBg&sg5-UfPtt6L6lvR=^98p%AIF2aOW?5|>F{bbErW7N# zjO3!?Q@R=b|Uz$^s_#>Nw2su>P4Mr4qNp0%dZ1yfP9rVDUs& zNbE=%X`?I%5{)Mj+(+1;!5}A$B4IB65#Tk6-Ak;|zf19-SVwjhTn! zJvyR7t`o$lVswx0X0b;{el3DMy61Imk8aBav16`%yf$#x??k-|@!gs+c$D+ z?oZ7wme5H7&WXe=xoBRmM18l@GC?ZT$@9`M`Zo7RHFe2?x`Nb_u))>o+~1vpiV zD*%igY}{k14v*nh4D8zlB(1YjtBk{%363!IRr-4Mt&Hw#7h29|4aFTB|&zB*I)lfP9 z9VfXAm8&FA2$ic%9HDaB%*TUKZ8!;)U+YaN20~toIz~XG*OTsCi~1pNL^`reZYaH< zqDaD;NgGP6O=>OSH=y$9IRVZe+NO&yd1Gkk#TUFmsCp5;7CuiOW(~gr%{vlV>V-<= z1iet3IP`)x%cU3hds8a6UM%KoQCIBsbyYetUTW9x39a385NnfKyX<$KYPx1`V$-}6 zy|Fhm@8RAc@@U>8p|_3mQ1FOauxj+6gQt$bSw#5tfD>Y*Rny7 zC=*$sd>|_xl4FR+d~+;EYRK2JVk|lL<(!<0HfwcTdV|V!m@f|5>Qf!AI6W!pL(OxD zlAF<><@XSQgrKEy_{Q@P`a=%b83LlR4xn?;#0qz~j?)PsejMBL5c;x9lPQ`3Yk3IW zIcSEp^ANfdKpbnYL+B4%IGmHO<8+~$VQ!O_^1E5>hP0GuHwv+o84yvDV_8hph_E@Fu^{`DeQE9fPW6NIUxourIP>_)^wyI@``m4+?mK4Kc#oEJLR)M~# z<=L0-(cA;RLw2o+x7c&`nX?Si${Z*QX~Ph^Wv9*!dvjIcTia#{Wsp+l2a6)nONQTk zclEg%?_lpOeGTi#2}R=FT>-4~p!Coja1!=~3dX$~B9NiUMygL|ZRu7J~ z%gtuv5FYSKr~rOOs-bB58>Re)lKoFKV(4TyeEqW+2Ay!`W}b@1X&sttqvzJ=wJeL*otAv%h-Agy(c*50W0oXhKXk>&{zgo1pBe>S^_ z-oD8EXnsFapZKAXl-JgY7g=9JTM3%SZ=8w0k6+Oqe@`qRe`sUZZ=B}EBc1kFPC%ZS z#6QaqOy-DM#3lSGicpfPd3Euwrg3jqpDGSF9HMK;RfEq7?Jq|P956)8UGJ%NLS zz9W>vfJ!V-MuWrVnt*NC%n6@^_cR0`%JmTw%tWIKB|e7wL0{)wwD}}efU3F1DnACeY{n^Cr`Tlb>35YgGYHt?z%us)16*AE3 zcWfoFd@Q!%g|Xof8??#ft|BDb2%-*cRa`T;9cP0C5f@`A&KZ}ipx6hL)92{gAay;y zuDPH9EsQC_309CgCllIG9G+#D){RnHscqo>Qi)y1ZHCqp_dfRJms&O~BDJTw?UFWx zs8eGV>kM)$62QZLK$7MWGilhJ73*E73uFyW1uDa^PUq@m4r^1^VVx$1^(aJD%zJcY zAkasbd_gm&Uz8O=xnp=UB1o24!X>!`m#(QRg*=T-yd`Y|5P}k0gDYSbrc)?vAhKp? zbVVem+!mpnQh1_X8a?7(BX=J1is-6Vh1JCXO@~wb|*Zq*7g~MCm@E zb_~0U84R(0&S2f-F5jPcvx;$B?((6o=iKGHfq>|4agztLVk)iL4**0St0o=W zIx8NMV~EFmb1X*&%kh`ta5MPql5@ubh&-H&PD1^*tS7}x6DHbcGQ%W)ui6Ce@15n1 zv1&lWPXm9`XV$xLOK(;m>pf&ro@A6n{8Bx~bB{6|^ zWE`MCxH1m#J&h>eDk93{SL%qez_0LV@`0{Jlb>K@1@M!dYSDbSU!^?R8^FzC=i>cg zj_~sF=I8n%&(^@E{tb}gq}krb3_3QduQj`f?qBr5W*dQ%V$SnguHz+6)8!FwzQqa1 zGv0gy0oJv09j|we)dT6foPdf!y4Z3Z?{|*a1NHY%7G*5g@z>5_c$Dj4!^l;x7Lh6E zj!ZlldoABSz+eow)V7Kja4U^|kAsNZuo&q8%(y}SU{JyGbY2T~KL#<1W<-?1@(ns&rWeP?#m#~|}mHa<6nFOZCi*`?0N|oSM z6i}{&+(-c>O9m$EBT$37(w;d?-ptTX%FTn288$l`42(9*!!tW(XLimG93f3$+k<>P zaAZF`47LPRp7HAvX|Oq71!dueVe`s2drMzI1y)MXG2IwpSxN@~;->h93nw93(Fpc7 zAk}a3ft&7x>mx=WI|i%K|*E|$wLh*ZWAx`mP%&Oq~*t9W(u0f zy*nwQt10S+h{jFK-eeO)Dk6ckK>J{{+CQ^($7}$FlkhG1W6H1_1;e%(gR8vBUbrz> zn?UIW-8-D{rVA5C8LJ%!5Hz$Ud}#OH;UccK^a^iss5@D|#CbY-^YEnvxO?-EwMh(4 z$E!5t+&uguk*yg{h3Z{N+sd!V{su$sV;q&x+LgA00c}F5ky-lHb-r{H};0+ZS@9`NAq?NEI3ysto2&Ne ztn`+v=ue=ykqq3FtLRt^5#mevFXH-2Ry-uf5RduhSdLt^f6I!oVYfqVE9^I`BH739WbBpmWx`mFB!H^ZVxlCGK%XQG?_*=s65n(slUoV1%4O{qq4E!^(uU(b;o1Z zk6cJvDDtZfF4~~hB%4b?i(EyedW)rjETq+09+HbnxxURXh07Gr|H^6}<%EFdv5*NN z10piTQ{Ugvw{|iBmMNZk0!C~Gccge?e8-jIiSKEO=j|fJll<~e@yvzaw|5)%FZ>xk zOFFikvM9o}s7ItI!nDAT{OW|?C$MvLlw?}Qv|h?7iz^hZh3(d6wbGiqW-c5uQ&>r_ zNmESvid4tEpwevc6UZecH#J_3YRzyBs2{;La*-@Lb4oJM}&T-^DmR8uWwdHq3qGYN_#Hq zJuu!FnXFY>+dvSuse-Ug2*Nh5uXE9A__R7Q7ydbrqQiw*7E}cL4TD@RD8CTsaol#0 z4jdnII7JCDDH%Mi=&;66uiU|NR6&CJR1?ig3k)c|1nV%^IB~kOS1Gc9i2~b&x5-u> zTRcGNj-S_;RAWA^p&Xk=;@N%55paFv)FR*!aPnLm75A0DfGo&z2uiLHaIl#?Cz0o| zl*}`i%1>x40;w!|cCT1wcdbt%7SY{{Y-Ur{1nXFG8=ukn=t3#XUzt=CCNI~FCtZ-A znO!UyM#U!M)MYSNUI8R;0Pcwi1|2K_R&j zdq|U0uc+e(kQfd-Q zERSna2Iw-9rQ0kbiS9`tWu#{qC7eWh?i7(8@~dN{2Mq_=5)+7bqx|JqDt}OTG9KkG z1I=esO6_&E^yM_tySx6vq}jz%EMtb!wBV&LU+FY09!FCnCm_#Lxi8BPOrE#2h)eiV z6rm*d@?i1qcwuEP3$1qf5uzzZrEK$5OvS+&c5$%?hCc1Z;)!?0wv zOJi8?%Q`Gs?eaZ{s+jJm2QKs2r7JbVn(h;7Ua_l~!4S*k4AxDiAD!*ZD#mS@euTQ7X%kIm z5I=%|=xzq_%~>&(R_z7=k;kfK*-Tf1y(Ef!TUImz_Rvv$&-3P+s-S^E}{=Eva}1H{MBdFYcq+= zQ!-*P<*@Iokdws>ar`Q!7=rt+p&;)7?c zb{TFb;@OI^Y`fusYF)Y85$-(V(#C?RXQzj(318&%AzdY$ui;Oo2Wgk%xp$j*fhw9~ z7sG=iLG9TIED=v{qz#uFwM)FElJQk$zAs+7FB+_3L`h?HL%Vz&&0w!{t_`HQN)we_MxpgER3s8)<{7r2_-x1<3p; z7EU`8t~DKMOwBalKwa}twN;tz8K~4pI1F)}7v*KQJ5$Aki(|!G91E&SHG-rkIXNto zz~Dv91YPw^xG3zR#-Ymfcn7Uo4wB^b28}x2(N-sC7i*AB-^ROpt8mpL$*OO`wY3d= zJz5^dYuVuHwc&C-7=qJ?_0eh_%G~w!Tv-W58bQ6$4i2F~gUWW~vNvcz4?{vpJPJN; z2MKImBo98Ds6drG;5O}t9;7S}4>y`4a0PA+dP0*o+NjkUhwx5Z)|`wJ?}VFdRYoUk zytB(Lyl8h&t{sGHgS^QpbvXyz1UWvpNo!^PU-uOu|2np|CQHSN67g@c1Pe zDI}WLhoQjgWE1Z5t;k~q%mA+!MAZ$6@|>EJLz=d9FrUX69MVnZdZ9B~uUsx~@|H`( zOyY2vnY?NX$j<*tNO}oTO~wBb&sV)j9Ll9Fc_!abTFwnrFAd8XpT*83#UPbRtZ*4O zUbsCqFhjJk7bdRRcq!GiAE~0kwf9bM?Jay(IWB=V3%YakZg09Ut0p6L?*tGuup!-h zG;^tUj!u{gELWs)<7`}irY#*^i@?9}#!cOnI2X}M-Us>=0Z!edqfTc?Egnb~jiDMs#Hp^=Bh%x=RH>DV{ zW#|(XCuivMZ3IMjw_!G3>58S;LLi2TI2u6YF%e+J^A~bCH7g#HV~EFmb1cU;%u}*r zERFjUb8;?v0oHmo{a~{^QUzOBno4zF+dAH!yUWyE$j3J2emjV#jJoTBQP4Kly=E8D zyO+#1mLzJz_EmJ0!X8fgl5tC!vRjpLBkR*nW8|@s^>HU4n-^yk*^oC+eV70<&@J|U zvTr*_?1B0>=x8(EPxhd57#{bNv0>!8pX}Gp!Q{W6jE>P~a_A@}xq!*-PK!YaKLpfB z-0mDNe!KGotEDy%%ZPFDU7a`MK(lRg{#d;hOsjy%jTCy!u$v>cJH=K+|5>n6c<%PW zo?R2=W_diA+7(>ZsM37|ek~dKQb2-R=X-Xwrza}dR;zxHs$6k4wY}d-pl#4=y|RBCDGCu zc4z7Ev3HD@avOW8x=7s6JxWs>kjf&0+iRI2h^ZBSs!9@9tNyHNB_kgfAS&dfwKV6b zXKBOQg~Y6`$cl%ISs@-d*P_oLAUvXsIbv3gtQbqq)c`~u&PC^(7n`$ShCK`gykN^7 zC)!qd9R9C*xDu3G5YJMIu)>tcg_KwF@&Khx5YZN&FR59&2@w}=Mu$nuv*z#19k6}Y zjK=ik95itRRw0RX;?PGau#VTYT{DP|N&N6BKGQnjcI0)%Vl6A%rokG#C~Z*DDs-$^ zHD4!yIM%BNK{8`VuS8+B+0MUQ2%NLdnq)6#7Dk-OiIP?lZAKwhG6NzqVy91^x&mha zEF*UM0wiV}lOuLyL(dhl`wq$qsblhH5wRn`7D2@Bx~@g+&eGO_yb?V|?4U|`y09Jp zh))+RY$qPu6!TXFDWEDgm-BHhXnI(?^)>sPHN^Y{$C{8WWiI41PQdRvL#i zFpao6Jci*xvBs*@D&w#f2JytcN?)(APQ(CpuN&2>g*PI{sFR7m5*Ak(7C=ie=EJ#3 z3+-}QIjj)|WF?;LxyiTy8}Gg*b)u)@Ii4Nbs=VQAvC88P7e?;B@*-!thk+ts{}8UZ_M)&P)<5J%kJ#O9EUcw=v9UfCN&9?ctt-a0ZsY91qQ zd>&7Ijr9?4ge}&@avx<(@84$s?@Ya>fmSG6)Hux9rWb|2~tiIaU zv1f84Ifi)5H^*{hk_1^XmYmxJAo6f7+N>o}_6C*fup|N$WQeDY#FHOSO8QXSvX7FR z(V*oHL?9t(X{0fFW`yi=z|Ig5l?jc`K@%(7AtS^IAf6lHnGv$LSgd76h;z^kYiCA? z6F?kmuZ)nvg~K`derFfD8Rj-wV6_jh^@}GPmJ;noA(k=&A~Ksq4@VO_CW=dC04%df z^xdJDflSUOA%PE9HVFnsXg0}PMK%ffwFt6F+Fi>g*p&nr2eZ_&ul^=&g- z1KTR?-hx!#*lm@$CT}vki0)skN5n+QLmPpU4vEccw#mnxX3Hb{;KNQpo{1NKMSyiJ z+vFS0v3el=H7B5AkS;dcit4aMa ztxJyO-lDMd(RoHFnJ%<+T_mpLeVR;K5{9NM2}4-(6q1HW=~F1LIWSotfsB|+d*(2C zGebWqHxG_i>$9`Lz-Y5PJhNkVX6Nj{5z++ia3Wt19N7;KgDnA-XZ*TE8f=c|A}!o7 zY##ZLxAYa1=2S*@scB9I|6=jV=!Od?q0(q0*xP7U%99V=bSKm)9f3qXsA&pmeid58 z6l$H8p(yEeyE+V&N1Nl5wK9Igi-=+pAosOx*@L_z42soo~Y0q|P_VSpoAOz42x2mpPAL_XeTv zMEmAEehW#g&O79d5pN3a~^N@M$Vv*FMm^KFKR4L{gq7${v=Ua!JP zt=1inU0=SCv{2+%8(g$OEhxu|eL0DnE48yyEDdBjt8>WIt?1Jb5AS#m+z3k|ORjG- zOyM%M^KpP}&eTpckA+MK84!`Fo%;TUZXz-OmZ_b30!C~eaHMu(e8-jAiSKD@=Q~7d zC;8={+L;T#!}|=|8s3J_SPowT@Q#Jh-h_HY3ZdO0@FTxE;qE`P@U^9KZDOq43-?#H%gQy}x5vI%Gh8dTT0tze zggvw^oj+8Nfie=YUI`#!1mJ@9{Q`6Y8CzfXV}>BFng$|Pd0za@y%M>f1y zA1Da#yQxrB@-K>mON9MwB0=uI%@CO*hx$waiLLz?avJArb81%Znpd?qI$Z^|2Msa*h zMrH9dVV8J*+x^f=POe@_tPhh^5%)O=IVX~AZJ`Qw_+$`7=11eNgjwFlP&1T8zRl8_ z9XVSbr%}U9JIo~ZYe7=$P@aoQYqX|5IX+Zr&RrUHTbcn-Z<1OPt3jCnC`y# zOb{s&BfAiXrl!~#V~vH!q7qyK-#d+|N~HlZ4`6!Z=KVV{uMv%7X?p9_{+;kZmmcM_ zWwFne>7S`0<klteH;k5>O>~3}iDz6nS zC%l9;QK~OgPb*wG2*V>z(sKMI23nx2I>RN7ljQetlEls=Ea3V>j&&uaiZRys`eWZf zy*yMa2cvu$GEl3GwyzF$o?R+UZKWRRW>}N#B&(5NimgXB2j}odrD<{^Yv<-57-&`x zj^8fImI|9< zdl=y@t3XRs6S#bj79ZebeSwLy@Bn)heVDsLJa~YA^Kg1FDl(vGGJN{aRK*P^aiBzZTiTEd^ouUw zV#J9vq4fmBiTfHed+=6}iAJm1u3le(+k+u?N8_x$L2DB33~7(a0u2L4M)4M2@Gaoq z>CFR20`N?(3-$~gnc6x%aAdF-E^Ta0Lg?=xFX=G4E4X+!^FhkZX5&yWfU&@#p_$8# zv&3hl8j7a1QOa*9*>Bc}p_ARH*Kiikdg_2PH|$h2PU}D-ZS>sc{1J>RIk;ep2{46~ z6&?^Z;4az4I7(rI)?cK($v~6S8BJ1gl@8_6q$ z?U+!i6m#F>DwP4cbP9FjMV&(DTtGtr9i74t0qv+$_(9wrmyy~9taBYs!xzjh zqIWJjm$`qkKHRQ0>V4veMpT|)5|84pp{)efKdbL>MDh3Wbd30WVg~s`8^eC+G%X%6 z&3|C^@N z_Kdpl4E;rPAFm_@wNRSndaG7$S4M=F*Bjtgb8Q;00TyLc#9Qvqz|QdIL2`*26!Vf1K5VwP$^;Yiy;6}u8){tXg>Z>Uk}%WQn)3CL}gx(ko^-? zdTO3dbr&QbDC)C3tW2Dp??Xp*6SvCw+ra(jM$xn;v5a(k-VAZbI0IyF|Y&LFwc z_kIE(NmF;2G(0gY*1J#}$f|-0REA-l&J`*&hP5H_0a!XBm}AaqhvhFstYe7z^MsHy6up)NnLdzXXT%}z42vp zq^$gNmp2IYJhpG;pFcwqE0uq&B$ss-RFWrDI8mE8&SR_1PERG3>gps)_X)LQ*j3D6 zh~;ty>n6`}-R#XO#%+197j-@7Ij(U6BJAo>?0?LPskCZe2M~FznlyJguAliqRy-uf z5RduhSdOFE%ZG5d8N7DMx!>pHTyzrZw`CzIW|}b3K9dHxC9ukeh57tT-cxKW2Xxbm(Kj39_j{CMzq<8Z7sZ%Q3G^R-RK z_k*-2P3b?QH`<{vARLJ>Yo)aKek^N_5tQRuQ4~@aDQUHHKWEaDGbchKT zAN2PMp(B#jl^#@C4PT4slVHc48X?H+Ak4ClMNubaT*EJ6o55w|Pc_njjKnfVqYFr3 zZd+CSso9x<*5m{f!mpL<2Wu5t`@Rr;iHHl30p}k1GG*bwmM-dutco5Nid>O+Wh63 ziN5ZQn;H?BL$s2EP+uXy-9aeUCUKE-@8w!xFUlE&de9qR#!DH5`hhnHbq(bkg!&1R zSXnJuNiKs>D#;UqP-+uL5Q;X-uw0Srt}l91iV<6`yHIg*uDd=&Ky)_-blR}5=`>8l zDF7mmi6|rnv^6Upl4FR+d~+;E4Ctb)7)#^+%$%Hyo`f+Vt^S_P6+{3BgED$VkTMV5!(=|+8zZK>($GCGD+sAJC`5&*O$LiC15CQ(rF;4r z0LuWAzLtvFIY)pA<;4|X!uK@5^hpt5BEJ?vfaxV&3oxCbENpqHPCQ@^WfXgZ#$@~4 zOB?lyBhIvrf5aU~mMb70+cf{pAfa+OtjmVaD$o&Ey2tDydfO66PZV_H(Ty;kn>erc z%zngajy%FkA8-Ql3@^Qx05gu6uf*D)Jk%DCr)e+AI)*&4iRa%t$LfLfmz{u$LAuzp z_5bD^u?OluqAbdIw*J4I!|*s;&xVofZ2h_smq(ueY&{*L&zxx3J(;pgRU;QL8F{rB z(eQp?4Yy53H!m(e@~WPi7sipfO)}ytM#ZCPug76#i@09IlS|P}=3Q#H5(?j$AISm3 zgLla4H<^mqK1J3U-2)F1hLNW-jsAhHsBeS$R(7G=H&_DN2~u$ec;H+f752MWO} zVvjc(^iz#SKoysR^ruGlFN9tO7etwwc5lHucpni&K+c*bJm+ujM(zJ#KQzc zdOg{QPDqK~nn99~`BKQ((uq9QLSOJkq$A5@YVl_&ie&arN-bt>QfrC#b&22g#?a7< z?|6ey^&)%+e4aj%8U8CY??_~+7b=kx^g?ao&x3gc&u%DCBjChqBJ=a@!KumN~aAhY5)8 z=4X5)E4}3^`hzHLKC9?hPN-N#hdIvZd_F54l4FR+d~+;Ee#ZB+Vk|lLKu*p@FVN14 z!ZvGCh}lTd2o6=-V;+|x_7~HW=9ol90i}`K|3qqv7=4E*H7}-s7yPBZ^zVNhJ@{-i zGm|Of*3O}miD4Dq?59(YK1zXm{F1*lgSZPH#~Pn$9q<6?@uSIf&49JM<}VG_P_0B8 zRI~~Un6Rr2odDukuO5W_gBa2);gJTO<9x=#;k-QYYC{*g8KzsACG^Xzrc4@dG-ZVt z?+l2@EFnEYuA6`ifMu4DzW*1SZ5>%c7>jXb3E_L1CG;7QB}9HLf-IqzcP&duxxcB8 z?}(}g(bDG&9dCZlnwR1-Zu&!kjz0NsS52Rn?1XK*t#by(|*EwPj)Zax}lrfv=Q_f*{ zWD~Jr!edbQX0?KS6sv5a~$!sEvISprk8j0CNFDpKqXp<$~RWXyy z&zE^cVthQcViX4~)-15~y%}z@REoZdwRy>?YK+rvFZMt0@4n`Zz@kzJ?2MfA2 z#wRA*@VP5^XV`IGToL&wq8cnU^tyQ;jb=Zh1?Znz#it3GOI`) zYFKfrc)qt(8nz#YnJHKztYRodl-=cHh-m!0|K4O1gXRTmabhskXtjT4>yBB>=ft<< z5A)=I!LV({;CbF;FWeZg3rh`3FK8NO-J32<9OX8|wE%*Kw4{Fu^0_3_FkkLX4mAVg z=QvL%r(wRB0H+orDZz}jNu2_dvuwcK-uN>1%QVcpyg{g&v}rSzS?*hIxxOr5Leg8s?1z#6qWGe#IM+jx3XjVt+?bbf#glHmSA5I}P&( z-WVEs@vq(>RJ{n_1D|`OVg3l3cOml=SLVm^3U3g3q~Q7UD+LX2crGvWuQW)1lAK5k`^G&m}5%vH&vH0+JL#O;#CS-k;ylhr)R2?5PxArnFdL}Y5G9(C8Zb}|5#shxTXMr;Omq;_I_ z$CcWN?`dl1=R|5J`Q@M5nG3)B_Z#*v{4738s&}693f?N}(Oo;hOMAD#kNoO{-zRp% zhv+DYQr&UZsNpS` zWidu=2B1(#Sb3^gi*y4Fmts9>0uCkC4@0bDPH1$|6=P8JeYge}od@Mwt#OD}fS+tt znz&bes9A-bYKan*im$>Y>LZN`Z8zG$Z{ULTU3waBabVS%BYY_$NND(C6ICHz8D@F8 z(JJY6!g3o`Ey*0m_Xj1|PsLr;-SF!?_^DIF)yR69 zAlNnB7^&=nqbkkuo%^mE42H|~o}o%mnVNv+Elg5tajLSkhc$EvnwmxYA?4kh9b#gn zhjB;qytt!zp4J8D);qnq#n$Z7rNrTZKoO(zl*|;=Mi=FPlY(aN`#+j(jMg&tan?{= z#8aD;f6_{~XjOIO2|MFSkrMIxxhzZZs-V&pW?qn|DcKlTr)zTE+{ zmog(n$Hs&;hCP#EoiA(oQ##gvuu_4~dhdYA$?j}08QKmbl1OtIdbm|_(9t7a zg4-b~p+hviO;hbGQMqU>(7#!&wC2DYjm%S2mQe^_C45Oj|E2I1`kQE*i?w_@g{sR; z00du4;q5U7tuGncv{Lq%s!8+y+6h#J<=GS3m;suY#H+?f9o5Xd__Sg!GJ`^ZHEa9$Hzt_&w2?n z#}9#=46Wp(39d%^vtE}e-Wvv()Bp_D@qm*BT)bgf9PA3%GQ89u3^ZWsfc5oxo2mcY zUpjAUvslowmGgFA`1(@D|8qLWzh0w=9uqWH3?M2f(2v#;~i)kuJes3CTD}1qqe0 zz?BihF|&(5AkM}DW#KKWKugtl*z!HvP1LTOKRqBT5LZ6C(K0_LP1Y?eo=u!DhrkFv!_ zFd7Rsr~gc~2H~ILK#6}prwv)3ihbnLm}N$|CFR2f`MA)x?s=1k*TfI14jmXApp~w z9ETJb9(E>qJvUQtgK=eAhR6U6q6XY0i`t_UHfa4t+M5hCIi1lY6<6tC zPI0x>M#rh~v7)Gv!QmF+s8DJWTd2l0DFbwwcd6SfB8l!CLxbq zz|~Gbwjhil4ss`SIRR$b31!!5bF53ob}%V#&1pgqPb_%-Xy=GMP~SvHo3Xa$Hs>%r zYHPA#H|IuL9;tV}18y#G34yvE0dVttZR+?$LdHxZnzQ?Fxbt!Ep0gkQsU2{+TOg`_IDt za2??@%=S>xPkaHt$u}C}HwnaV(1xS0uyQSICF0B-k0WkMCI}FuAll{|Mpo&L>%v6c zaUpTZ$Dm00CwpdccqbkXx&z5U-0`mqcbxo6?~V(^yWx)Ck;)wx+Fww9X5TObSSroR z$boXZM1Kn*EE!30M=7m!QPtk40?FOgw-qFf#>^wbe{V6nSPJ1a5$qN}G%E81#keoJ zhPD!H_^h5a6~*7jUD5b^;+FA;HV%FY$eSD)@$k$(<^*Ij5(d+yQ~II&z@)ojk)ZH{ zC{;-ThD{Y7*iFS!jRW1HoAt5$Bq z5hxy>?G5UX;ZmE%v(=*7ta!@Fx1z>RihMci6K#$7bIl=M7N%rr&BFD7v%#*{i1&-ierRY z`Eh>2BaQ*}zgFQhZ6MsZ|Jqv#nefV>DH{%<)FzXu$YmxQ+6bZ!ZB<+|xFu)fjy;Cr z{y-*@OIA>V{FpNT99=Jfoh<$o-30yBemECrbjiwN?mZVROiA?nmv#X5s1%W(QeK$0$8m^2)h z73*E79%Pk81uDa^PUjjH8pHZwR;zNF7}oaygq#8CVnXzTUVIUGojsTFyiRctn97>^ z!sbz3nw9P{8XRvO>=n?}t;LR$=ZJF|mx}H59l8oXa0;0Pm?C#HsskCbE0uXtunlyJg zZW8`vRy-uf5RduhSdJ2Q|CAMD$+>UlbGTODQ225(LR$ICi#2SCUAf6=iV5r z1~j}CK2Kj-+lAYiFnhi%JPZCmw9aJGtUlyDWM)XDE&6d*5K^*{&xJ^K2BRu7u`TXh z9&0Uw(0b$~W{Q%7&_p0yL1+{h8if9)2tt!zse{l0zryoDUb8>}=tlke%9Kn(#~1_i z8O;Fn#&}LUZ%REo^R-RspHfer<9(KXMpROUqMu-P5&iYzPo&|&wm$L0q<2C*I_&!@ z*e(`6h{vLpw1;>YT6sn6cS1(Qvw@(61fMT)0`d$#Uz8u13_e?ACftp3loWh^b@9RH zUT5$*rm4Knk=z*;!{rg^ojCq<5$JfxY2P#HEs#}O%1&E&_MeS6LqakREwlxHLUb5g z7`KzDsl)xT{p7Cnpc^+{fmqb2*7i{sCDPE;QF^w1Qwpyadw) zPUU~7O;Y~{Egu{wo7R9Vj*%ohSK z$#%xbPEy@EypEnlir}}f`-0c>rEFX`Esf88pM!b>RJRy*!HgN>9XtNAU9=UdVt2d<>vE|wg6({G~?G6H>yK$ud z%8IEp5x)iyc}zqhainz(-zmW07~(PC9Lo_$dTdsVCFcSFk%x29lQ52?-F;y54K=S4 zUCOj!rp(}NPQsJD>7`n~@S7kV9#N>wL-#P5kN3ui$-FdlJFP@KsZd^AK`MMtgH-=4f>h+!A_!8wwrfGEC%TrtyjB7p=z-gZ z)1B(!A90V8I&JI3W1A_s2}D*dm~~n>9;un z6@&CTein~op6jI2-#SO^f%>N@i!z>6`nq!%9w(L9Fmjz#`d8;*@}E?qWAvFdJE}%5 zU^04Zv8v%812wp9GP=2|_~@EkJXpff z0|V{KRC@-cefGc%<@qcGnc<+;z+`=-(ri`QGlwBEO`1VbS}4jf3nA*!W_fsK$L!3` z*?}X6Auv5PaAZIH5o`%4jM8BvPTk$ERFUCw+UqT+1qHCTAlcObw!w!54PamBO&6xW zGRAQpVn_nm(gLGGC+2Q$TBXHpMRckZJ|^LfQDUZBG4BK3~E$Bq|TmmA!o@_*~q|_QN*UC+j49#bDV_PWFmQwE3(p$U{>Busf;`~O6A{jwa ziZg4IT1(bY3UK6^Tf-jOri+hwV`%8b2fab4dJ(=1K2IMF4L=6WI}%yyg-YZEy-=Gt z^ny0ar5AthO{v^^@jO^U2c>4EJ=v@W+L3`?Jo85`Pb~-a$|3zF=4a54DkHtYNM*D< zS!aq-k9+^_bQOh#|Hik?Gp z^I1j55>3S_I?Qoa=*?O2kQ_ri=9^w84!_~MtX!?Hvt&{%Swg7URk^!uK@O=({4* zi2PavnMSYgTBgx6(qtN`2jbG_939WMT;=DwH)d;KbIdL($O0JK@A8b?g=QDg-z?=k zB$eg~r{tn}%}6=`6izm59vLcEI{|qn=UhpEbuA<5kaMgaNVlATib1;AjHKI~BbKP& zv25A$W%wV|y&O?sPiF!@uH=oo#b zS;IEUtUanDxq!*kB#WU9p9j=POijAG_|&96zd6r5S}F$2(=yIO48(c|w$0PuVtXwM zRFEU1e8$w0lyJdlJ1-zgAL(g7dhQZ?H?@D}Y~x;)^YeGD`NvTa0GWTS5mfgci_3fZ zmQxLFR@GcC5)gE?dW=qboi_288Sp&X%1qk#YQkZyOR;Dy3QHdozz9VaHsoyZACx!6 z_5O>Rm|D`YrYz}LsEUx1h5y9Tvd9~EY8E!Z^ep^0mZF7^N{8|Pja03L8-~rFU(s^8 zf;P1)D2;15bgZRu8T^aIW1|}`oP-KMjbLvBF2I_EBIm83Is(<_s_kic=_On=UapsG z)9vaozx0w+scVc+Ot#_kr0i3xVP`r{PL+!g35)z)H}9j-3`(>B{ZljfaAcgAUpq_( z+)U~uWM+~))Ue`aa+9}I8j}GIGgIV6n8{Fz=xU0(A)@gD1bdTB44M}#PmEDiqt*VI ztvhCe{@D_~C4ZQu2nvR6GX^`n$zHfIU>C0%lwQ!B&WpY2!o*STY4igK8XuDmE6C@P z%;_BQCWo5N@dccxlXE%;323jhJvCui4Z}&!|Bgb2>lijiI3zAM*yG>P2`feD0Cc`Dtk0k;qanR3aznh1$fS7qnR}y?C=XrE=@V zV$SLOl{Yy$GG1!e&j@h$9K_nB)-HR(CNGRf6xrUy=BTZ2`>xsy&0FIQB9G=B1-*4- zfYdxj+{`(hkM>5+ppP$qQ)g#tEKmKFO$v7A$8wuDh&)p8`1zHBXL%!+TMA-%n;NfU z?`#~sI{%2T@&=KIqt|5OD6w`4GpcHP9WyFzmTN|R$a@M&m{Bu~LgsW{nROI0$pqJy znL-`EcoNT{xq!}iUCrryowsB%ddpSxohWW3r!(a$Iu=8O_!6r`n!6GPy}o1$L&P50p8L8m1}**>b)^Ryy!;2` zK-#$NdcM6S!rs&yPN>5CFAmrl@&aWBsB_R{8rh)oP$#DTDgzZVWyAhrA!(sxE5~V} zzDhxhTzR6aCzE9@gFMJQ(a!RaoG0q~Hp3Jy^F+S}98XTCvhAU_)~ckzUvtHkok3FPB{AF`bc#ckqL$xQ<@>9 zjY*_=U$I8&1{f7Z?lKc_D3R+!ch zRZuy`AKDhhO_Q7g5ueG#NUM9LNN22@T|{s1V#={f)4qx6T_cU*7Vxru5EW{;TI*{} zw5#LQRvDGEkE>#mq^T65C#+aK;sujbSdt8hOZ^CYQ9`$=- z=x)%dqRN>5%7)Nw-9ktvw_7AlM<`yZGPTNaW|}1|d!*LNM)CVrR+C2jJ_^i(*!jzb!l%~8Dl^gAiO?r;Kz936;6akdg(rj`L!$W%5FbwHIw@D|> zD)PuilP%7{Hn za@=-Utl;?Ah-A@M;a%~(>T98uj2pt*CH;AdGX!14vXDgUU{QvrD8S_{!!6Rf(5L)H z)r#-{r~_SkU4y?8f}B2U1x6N;3%V3n1Dt^`&}ae-TnpErE9+;eBJp(AFORZnrQ_xH z*wE0-#Zbod>T+)|bj>W*FdeEKtk!3S%dJXlwkPQP-}YX}e#MHYcvgKD@7}7`0}3w~ z7)S#FJ{ZMpZwjUXN!!gs)mFvb`#_~W!bYi!+8-Wzs#XA7NtmPIoGWb6$%2x4uSL1T zbsE2EtmZuuriN=kU@0=XEb9@jFeyja<2s_A%gW92c%==sd39M)U)ZR8YgXLk7TF&m zy~yUKw85~(>S~Jc^<;$?ltycfa=SNHn-9Wg^~v#x>7d+fmO<;(dR3%4-yVzxL5K~C z8TSPjj|NcB7!O;}@KCjl#r-PRO;%x>4nkGO#$a5KbuQ%D% zETrcn#Yrl%G8M`+us0Fl)J;uFMP_YMr-7{|l-6a7J+q0`N4@c5DkD>mKjaNUO$hN# zJ^nb7R4FHGC9zEOV&u!5==BfY$QktUzSX0-Ggo zgWb_s?yo1zq0Z3Df!3yL~jsz_<2qye!7zI7`;goM-raeY=^fqpzX^=8NR13 zAr2yG$rtVb_fvH*jv5?fKFDA!vt=!Nu8oQtr2R9sUa8FkAE05s3o`6Vy1ZR>&kF)xr&&8ccA3wCS8|oL~exbL%ceKCK4ZV>7 zce|miO}E_8*LdS+nD9HiLF6%scR_C*Ni5w^M!w8$=)1g;Gw9>X!JKaBC-aZ^W8NV0 zaP-rKaMa5U{iZj9xw)!2n_7m1_QvM6{5bz;f9MS&4@dv45RRsHLsv}YcGG=zRQEMC zcIvNe{Crsc@ow}6k%ylrKyUsw*X4#XdUtX|)n+@qeF4qki!yvqJvkgil8b1#p*@3x z)CGxqp=;=4ZA{z=eKOLw8&0Tm=pCF;*SEQx&?DZqh#BAPPUy>&P3oXD)M(UX%#$Rw z1zWcU`z9*G)lo>h3l5D{a03G4nv*SBT1EwMJ;ab9dkYH`*BcO9oor!#7lavx%J8g* z#v6vp!`H(01YUyD0>JI+^_AMRBRs0@mTLw@dt;^3)aMi6ZXcDkN$sPq zLJsJQclyYNUDF#oW3Fy^gUDko+t6D_0!t5-5ihfc`bXZ#8T9expP1sz%m)3Hji0a0 zKi=1PgUG|ryEF0AHT$VL93;UP_@mr}yMiHE z9IyU`$J*&TcwK_VaEmI;nIi#7D(`7c4vz)p7PP&1ynL{NA8?rG4Z}_(J?%grZ^ph5 ztP=Sj9E6hEP$G_OX|{TXp_<%Kg>P$)R7XcEP29;O=MGyWm8DXK9wGI89G)xlHqq;q zfSKmWMdS&Upaq(uy<``YHbSA}LX5iOxhOp|G#)3CCj2~7k#wR_rY1!C|8w zob7lXYhQ517^LjL|6o$9R&ZJ!n#S3Wz#bgrU=BzSFuTGi1_#l_9~|t1xQ0migyUlH zmNf-XuoN!Wr-N!8#tPRg)oM7JI=lTd*dCue4=oUyx=JnBD5x-ufLf(i;S&=$q^t77 zEL_xZ=EiqCze?lqr2_$iqICog1U|}u={hcOI%>)J@;4QW%Zk1p9TR+z0gsJwbTW#p1QaM_n}|>-A-4N)=>MA3=NSWKysCJluLgRv}9K4r~_~LYC3UlM+e095q_5}M7#GCEWYG$eDC4by^T3Y7G0z5+tAsW41Mt;>_84go7CG3*%(opN#4zh%z9rrhp~gSjmzUtg}) z$}r)@Clco>?CqdHsSPanNRm(^@z8z80POqnD=Q9{8`Pr|`P8kE_J*o}7oOhc^|Qrd z_WH%GW;(GK`(QKhAJ#mEA<<{1V`J|%l5hv&+r>)78L4cUHj*giHyLPjjA{$wrl3cf z32i)_GXGvIWi)+Pr{(Z(p(BYLSdRGe76MDm#On-RO`ci@zwB`CP>gEEE-7$s(Z(AU z3RzMy^>p#*j#HgZ^G(i)QNxW3(!+}7#d-PXURC^}0^oI~dqKY9qi9c^e8uPmMXpQH zhv^Z^Z(SU^*^$bnun&ZYBHxR@ipwytMLAASAoJt&W4qCT>JS_;RD%hu5C$9~Bw^xn zcWmyd4)x(gWLeRc$bLOG-~k9c$@o|nZD}-zUZKBu$^sLvgmrVi|DVHQgN&#e#xR)@uEws2`2?x;ze>|uZ>bl z`qyOtlzn1j;q6Xk{0T^+y+j~ml)RMnRwp3aK{SKwvOdtu^8=GrJ1im;z6`~Rm+@LW zRXd{7)2RAfhq@jXgp=!fys@CV9;BcLE$#7F$i47REJ-L!dkBj2$`CDNf$;ZWd6>Sm z$L4)(PYFVA7}jHM7D;%dp*il>3N0df;PIWRE8%BwsAQw|)7qeQi=L~*#~+YQ;|%_U zMk`?OLY7GQM;J_U$vB&NViGJ%Bzzt5A%3ltWekX})2j%GiQL#cg(z_iZjmI(y`+Qz zg#B@;Km+w$WHo6vwk?~L_GGgjz(NG0?hV+@94^;}Cu_7=BNz8lXp}ban-(7OCYPE{ z`f;RGa%qDH32=A5E^E`BeBBi@8HGU>HuxWJ0;&0(zJ(1|!GJpwSmx`h1Wvf=LT%#6 z?^K&Tr+9Hyt!&f<_|#}45^|=|jds=m4w(&p;4K8qsK}g2G%7iBCcm0>6f$R0H`Tc* zBx`T$lYGp2I%;p92m)_+Ji|M8fM0>{X>ICr2%e>R zhy2co(iBV}<;mUvW&=_Y*|7**$3NmT1+~KRv8s`L!M-1fEj%?{I((cS!{L|9ycd{V zMDJTt%REU~zO0C^>o&&u#Cc#A&4rsT`1zXn`c8R8eAM=^zk4%szxqg zGUQ<~r(q4Ku^2-hCs-%7PB9J(hRHFGzbHP&@gtP2c#K1km@k2^M4F44(<{bt=4H*s zRCOHEv&0=2kancfDuAn`~YZ3+Jq2TAZ3QF1mG8+CN+31jlj4@2^ zKMHl{l4Hbj!oIJ<3P=^J1RwB;-o#R43_nA8PY&YjB*5K49M&dv5GQsrNy9Pr&ZaZZ z^2V15hYaiN_6CtBtg{Dt>qv4L)=^2G5Y|zfIKnz=vr{j2i=j&Cs8eG)k05wC?dkJ~ zkB6hqBV>Zw=FJ`kLe^#IB_PtP?$gkm(-O5rY4^1&6G5wbxY7ruX4}tir&>QWJQYEV=+(-#R{D-7Mv#d>OMfNN-`xPKX4`y4QPX7auc>O|0J@^uN4y!BTeX|GeWK6H5JY3A zB8aj-d$NrO##p|;F-4QQ(|9le-dtZDsf@t6fuLSF6f0#7=MaYBL;_q-rW_B5Z_s$G z^}p;*s*bWM&A}H4aQD2<+N3rIvANrKUjM!~zJ_^tz#Bv!^YBCHts}{$d0^zc_j1k8 zj8YdD`)_aL4Ep$TbRAa{KEF|ck&jhd!`C#&%=)frjBy_24I&R8H$rdze57I7&DNZ0 zRl6K!UTyZA;*F5XoTv-%=~RJ8bY-geTvmCHdx05zQCTo$bJkJF%|Bd<=G^={A?qmQ z=AXX6*S+=dOV8Df(j|j~;1JV;dfeq5f+>=om8;TYb}e{QhCGD|pE(a!>QE|WIOw0O zLzyu+j7=)02-^|M0uG;#ddIUN(p z3RnzCs&jOx8RS~T>OvU++CX7mnU#WH1lge=EFvcRacl$I;#`b9a*tULvc^I?4&Vns zbzFPQ_@3@D|6J@blV6KqkNLh-d(2BL?s~9U9;repBbgeTK1cc_bc6}kgyF6@D0htJ3c-KSbC^eQlrAj-T|v6?_{&}v|QXAR5iaJtbWt8jTClzqht za?iu0(q}fCjix*aT%xAznT2$rEo7pCU{b%}dm8n0Yib-9hEvZrTq&wO@|8ATZnqyo zZVvfaXu}P}!DjN-rEfKd_>x=cmQwRO)Q(Un5QkwDo^bb$bk5M*7JELKayBo&3#0+#YpL5~C(G7D;1X^xX-`8X zBy~ekd2Vxp9*qJajGnHxJ}PERmal~IQN`F~b`dR22FB0fVL3ZqBS)vY_Qpo{?Iuyg zl$eX|G7-~4_i!6_%lrysY5DfTXWmHn*a2E3n)Z^2vO1#*Wpi^n_;8j@;_aNeAH}_c@39_3JCKYm; zeIyrHPVC)UPeANg#3_2}g_Y4V6oZ2EWHcRv9G4*#xL8cRO7D>f z8R>>c@~(6q$wwBuN20DD$U$b+81pG1Odq9rtP5a?=$s>9V-$YUd=}%as!Dtr@REY` z$nad`40?;%Mf3;4=vWjdiXBCd2XbPsX$1LBxrR_9cx31^OK~AYe5T@&&CYi;K2}*M}adwuZ}4gBo(}@bU)5 zp*@$ClM@~pi-VnD{Zxw+MG0*v8U9%toK6NKPIZEHO!`vqIAhe>X!vyX1L!x|=Gjb@ z5w*gh12t(BN5pIGjUb)Gzx;3E zUy@(x{Y!y(H~h={)A^V8EO!5LPnI~>G1|-nAPSCdor=sCW?xtKTu~Mo-FlSSMYNQd z6^m(wx2yt^sR6|0d#v_stBJRm_j8d}y5APkhP~KrQUL2cg}WC~Ttefn#**PR_k>Q= z_~zvamG)F8T5zL7`>;p`V%z-qw+$mFt2%14pK|P7fS`JEGuDs>yNO5oBMC?g}p69Sk(92gllF*atim3?QhX zp_$8P#Xa-P6FMW+P&D0*Qhr0peuYL1o$TTFpQ9&}os|-2ZsMtEoYsLv+UU6_bq$Ow zlPC50fNx14YTT1LN@0W6U!=XsK$FvbxJn6fic12t(Q#@_6h(~;-kbCdr6w`oFs?}% zpiAFSw^`ITbWQ{*V~@9@gcILz`DPG}*W$h?`IX)`6o_}jH++98-%w1u9??7P^l{%X zWNN{UbR!4K?GpX%2;Ci}wAQs*d!yQNE~{@udUwMelRm?rnO#KhT7CApdJE8fl2_eoVzh&!BeXxwRe9gbCKmD8gO`n6db^pbh{XXr1Y`z|NN>EJq) zpxrFjTTqk^f;8O4>kaDVakyX_qc(>s>@FAamOC^3;QPR}Ua(O~@j=fCoFjbD01u~H zhf7~LY_0{^hRvGrIe1P(0HRzUF~LkUs&Iqm5MG$X7mZtDNL1zp3E4kUrl;oVRGZw5_z+5EU62!3i+lDgq!c5dTSjMUg>zT;Sfq~GMTE#hBktzLt7Qs z44%f>AUMRUSgKRSB`YWe9-!PlM^^-?=JCDq3kp!cnEan$1*vm0p$)}h!%f6Dk1sGb zN{OXrf%i+Lb{#htT2EYZParUT!V-q$vSAU)J=JZJv>`;D8mm}mkX`A6uLC4$9G*$T z`m9**LVX}hZz@n3hIKkusn8hKzhpHdr-@ zqrZuIF5{P}wRBliU)X%6{;YJD1!^xqUXsct!V|d!SFEWE)IN>Px%!!CauWIqEKx#c zPe_nq&Cu}j*&QZn5y3GkmPFiHg~kGVTpRJsRs@wpN;dMj5XsJ9ROK;ti+h*HTFXGP9x92MqU0n4A`q@) zH7GDNki1$1lF6^sfn5i1G0#^4U1xbW!AZ6lvcxG2NS7Tf!3q z#9FfdY*O16?l^&~%qs!>2@zggZPFp)Kh#`kDFpq!x;^Mh52{HC>xe$_4{I7B$Q&Vz zvyW9#r)ONrFKN5MrKGA62LclD%DETx@1Hpv>gD49Z-#3P2PW$yl_uO*H#0RmGXOVi z&O#DIxqh%#2}qmXU<&db=!2~RhMwbvb_;>1@|rJbW&oFD%VaYs1=Zy}j6_7+a0%Ni zH>kRx;j349(}jt;TrRv4F(lzDX=i}e>BCniSgY)EqhLg(v^k8d7ZU2|-s_E<8W}l= zXe9@u-b8@AgHfza;$r9CSmn5!_4YpEjW6S+3`Tv>8-%)+@(o6P3`wl4nye(3t0tA? z3Bf3}i6a&_gwn^{gtQbqqodh8Aa4vch#)9anTvm?N<_w~fDBMWAA0ch1 zC^L8)y|#PPOSOLCS3o*EB1xHt?qM=}y)j}kFAd%1tRSSJLm?_eZ8BJF8EDcSFWuMA z09Xc^^wm^MTO5HVlowZ^3E$H|(|QqTBEJ?vpy?xB3pDM}7Pq{1vl?nje{I_F=I7k4 zq@J6tfz2{ZfdtD1vo1S6>qJNNscm)<{ne64X0#DGA^sH2>t$-UIZc;GIO-KnK(^JR z!DyM!_)-F_YnQ3L#W_|Fq~GWSR1DI^UZ(bO=ZHN}|1f1y#>>?H&N&Q^%hcE~a$TnO zZRcR}U#3RK=rezIRE=D~WTe(&P{Wr1H4-DWA1*#pds>IdY>v5GGFB@_$fI!A;gGY% zYOm$#spwvFD=jW6;^AAHKQ4T6mWW3#$Lb&CcU(hyusr!hLVF^wlpR<)KY!PHW?c~g zY0P)|3sr*ZbGeZ_dyGy1-FsL=$)XLE2ON8#7r%fb69t(+ivxu?8VPY7qmy3iGK#;< zfalQ+Po0^x@73g?)+NVsQ&Cv@=)Af_A;I>g?Iv+W|9xE17;FisOq0Mq zX<)?Y7j76f&wQu11Qrz7-vJ$KfqjF2@vXBPE}Vq4m`1P{E}SY)K5)~WP?3HFPGeQu z)39a6k5<$n-?&_xhAXPD_8XKggHsuhy4e_q8*SioFH6qTsF9m-3w_agH5=9dvWOk7})Ue`qaj&;j8rC0&nJH*OLN{bTMvCZain<}9aTBvQ z*~H)mA0E;{`(U)%KeKhmY|uYj!nfoPb8oL;*fwKO_9lDb#$as%r5ALUZ`zwKOdMq( z_<8_ALtD~AMejr=so$}3+45!hUw8{7YRZs(0rzlrYlm>on=WeX^>;X7C+`rxk^rZs zA}L*+wVAIS!h5~(WpW^Q2;b}tLXDC8?hxJwy>%qH+#ys+p0GoxHgW6_(q>t`Qj%M8 zt2d<>vE_9~e?&l}zw~k=x%3jsY}Lw5a{Pm@SBy<`pKC1t$s3W5ER*-v{Ub$@EOL^x zgtbYnC2J@JIPz2l`9s^h@pEqs4ZZkxZxE_pgdc^^)9)RHzl7!;i7fR(C31pZs7)Mt zL7U~$i?4fADz{!dkK7p9B*&cfOCEdiSo5WgI^M}(y#bPbgjYn4&{D&sbzdj#f(~`@ zBlkqwWbgDB`34F)GG1y|K!CgFAl4?ec0JriM;%#v6C3tV@y6cJyeE2t$fJ4ZKyMux zAT^H>H=gN}`i{uwcq3=f$CtlnrPK(W<*C22Nx@KlEDv~t$Rh+%8|xsJF{ixLp;JS>g$D>38a26OJD4pCb2!&}9#e z;KQ{c#I1$N9DGrcPRF+A_H|(lS|Bv)N)I%)w&um4J81*B>-ol3EO?ucGk&ZCwojrD zGq7?q&pBu^jcibPs1s9vm4OPp1Q3R2V}w|R&$RA%5c@F;Nee}OwZTOjprDix?YR`R zI6R^i0f|-*f;lb3IoAwwX4q<%EFdv5*NN z10pilQ{U*&_job@mbspKHb!g)cjS6ve8-jRiSKEy=g}h9ll=0}^~{CewUdTz4R69{ zNyi&mHHNQV@5T?`Q~VwjmD$O!PWWAhoui{9&gI4Ni;k|=N2R_+3BWH0IXCaFx z!HJ(8EwRI@#0FWv2uJO-g}3 z&_bat38he$zfhp1C2R#s{{o@(KX+f}&fJ-iZ1a_mFMgW2bMM*ix#ym9?zzP(otFY! z1ijnLjzfXovk-dI>Q#eT?96Bt1ht#hN^2gd{C~_uVG9(TxgKRrpQBN;G}IMT+U0G? z?CA=|%dMN}Pek!bePr84xCLpbyiqE5dXI`M)H|v{mF7U*?XriqZSDgmK{+Zu=7NzE zCu+{W*&Jd)PnT*`?U|VF8)*!;fT2*j8jf%bS8F}!c9ijI3!eh+VYyu zXzBH8H>R9`jH4wZ2YTrcdl%}(Y^7JkIvP^6C!@=kfG+VCj7JLa7n~h=Wym-?a%jTd5;s16Vw3bAIwAHz{d)x3jM>k>a)RNJ{Y=5gmHoW>RW5PJpZ!c= z)GZR#00|X)!_f5NU_gwN9Kn||CJ3gOtUztpYa%D)kxfv}bP~lwP)^4kg&75<*9nG) zpinS!3CcDnF!=?Az__r2a*Sr^FnKV=Wfg77S`dlhPi;bTy^}y5LUVO4p&4<4;UP2> z3|(keQ6o{K40~#$Ow$Qce$gS27AiWqIuj=>5-o&Zt9D+d&BPJS$|&5AvcJ-vkIvsm zuI_F1g2C7;TcN$&3hmXc&S)j{P#u{MAA^-C>VQAMo}CY$T(*SWCHR!fl;hT-L9|a4 zbY29=a_o6vOd|NG-%y+f;f5qj6Tcr?3GXND*fzy(NVS+jw3d-3U>i`y@HAh`;vT*O zK{%u#m1UDz{|`G=vCU{N zDF63Ei0Np%$Ey4oQlQVpEu=;k3jWXt#d(PP=LLPhyFpSh3yuaf>ZpbmTm(O&hj2PY z2g*(;l3$Sd`e{WZRd1Sc;^}w`IO=M+MuJosnz7+=Z#Ed=5(F~L9lX^$!AcF8|B<~( zGWLc}Pgz_RM{WhvJIP1})8mr9J;Kv+{c%NG%P(YFFedycD-%Sh^ZQ6{Fsfn|LR=9! z->M5VEFjgpe<)DPn8W=eje2*z0%a!Q7B*7UoZTcss>`vZADu~LH-#{XH4|S`IucgD z+O>1EsS-IW?5&7$I5k{a)J0m}3fwu7?zp5^+9q{cUe4lCr+ec|=d4H#f0}m}a>9;p zYWR8>Es^9R5s#8Hb0Xfeypc2L=hz>^G#OdJd_I>E+HJ5$w0yo!^vBX{oJAvhsKebKN*Lu?{QS*t#=GC}!_hLiaq+V=RGa{=>Nj$b;`BrZ%4Hf!k z?=JGFqX%KML_&)th7wUOAU=nn4|JF0vV-agjf^!TGuTaDK+Si#%NX zn?ksl`mFA^y^+h$N2cF2KJv#lKK?8}od53KMIJu>JQE*X#(}IE9mav&tRHR83Rpd4 zjzmRuN{kQ$Zk!R4YgK=RH@jn2^$bvm1Ex=9jcAF}DJY_q^K{C;WraeVPEq58T0HiN z>lCBn#`i$>{w1RQ~Sud3uRF@0dmF75l z4MhNX-Zm--3WpHJTlBUjh(vdmhi{&&HleyF-cXM=YPH6J;7agmwjd5YQbkGNLzBp$ z>Irs^qLOt`zOF&5(y8AbsJ6#~zTw75r4O9hozQt5*SI^-thOtiojpB}px++r>yz#b zs^U9?#-WT@X=vX}6^ysiEvOzLxL`M-zo8Hz4taO6fH`_Ih^(|S)XWLFJTW#MG%HXA70{am>cJZt0w)7B zD-+F13yw6jI^lq28)%7d1cw;pNMjtza-ugVLd}U2j7;KWc@*2f^3rPqOc@v))9nS7 z`Y;?%0A{quAYO@5KQNe#y_CD1oOk1ua%&O*AdU{;K^Zy-hAQm?m5P8AQ4`Ak%P;YWV~xhh4Ilx#;e>0sxd)`6*57FEsQ{xc9Ba2H`g(g??P{~9)tGD! zSHO$2ztU5$w0j{jYjPaui4PXQUsKb)W9{);FFuxmzSy^A-Cqs z*~iSqbeHA~Vv)vw%$-Uwc+JkM`w7G?0C_)PG&$4*r5Jm!nXXr^zG!DJYJdi4HAdS9 z%FT+jInYB1Ph9)kHHn$UK~EGva+sp0Sme=Riv=+Np7$EGyoFmJ5lP;c9>EncV;b2L zYEi|o6FHJ`sO<%~qc|7C`yu1dewdLi`{w}w3PjizJ4RauRMH!7nuts{N48i#Hm16NZkA;ZRZj=?EBLB}7`gE&FY|&c} z^=-I1xi+WY$E#%X`H&Fo``&DiR@BSm5O@C>d>P*H4{)LP#A5p`*wsK?z-EQ-uLN-9 z-CgS-_*6J6)#`K6<_Y2~gp({a?g>J^z#8@h!Rft94c%%1o*<)6i{H1(p=x}p51elE z;ja*@!~0OhlUD$p!Z*Nw*vTw;xqVJnpO7kx*}G9#s!!!jsXb4e5!i@Wf&5V_gyaz! z?WntaGn?2vSO;H{d9WVM1BW*(wb-7O>{#Q-X;QYLRc($M^246SNXF?1`4p1TDLM1x zZF(fXkhxdTc5XfCllUew^!Yf%4M-Q3@PhDxK#i(U4>6nt_ckE+9m{m6j!!^ffcat3 z=`-Se9-6GyM!LZ{%0mx>H`VryRBsWiM5SVSTEo?e=^pUvB8P4-{;L;`-By~&_uad{ z0%Z@8>zKUhX-!mytL0h`>5BVoN1NbXCp~o{;AnCNyS1zj`-J-j^`bN2_HIJ>V|cg% z1(vXb8W!hUAP@qcYUFSq#6^Gv!1zxna)Tls7-Y0ts#S-Y<>oY6-m4H6DA#Jz`MXf_ zi`@9XkcCEDoX4j0dZ$$jeQl@ z*q1YnUCi7x6+ES*ZkJpoCRs5fZ|CIG)&rnfH)tVaMPRfnt0h>3weUj6nn1C_oC<;j zZKU!rxw#^MTJBYJN~~_<1kgPEVI6Thb*VYF9hz`SS1FtUM=Uv&w|Zi_8|&NoN@#OL z8*cxat7mH$YGDQ?TjW;gELw%iKuk|m=A)Ga65G)-2*K6oUlVSGyu467f=QFPUWZUJ z%5PEdaXy!JvUj7xDJ%@@6IK{i77|-41L(SFLz?A^O9cjRC0@}~Am}qP)II*Zp}V2` z;7ei!p2BpBv3#ah52p$BV002Y(aKG2rBh{O2DVh`5|3q?gr7o^fg^{HpW57*-GO3H%tp^5$6PDBp{CF(TQeuBiGLa${2;3 zGZ2|A*8*guqU${C@On z9lu)v|4O=h09$U@A;1ww?(?E;#!siR8TtC_Q6m58x+yjcS{&T)Bm2tj68X*d7o|`$ z7NRv$Yjr{^Z)A1O#I=n`UVtul*bfut5YfYjrdi!TS;txQJ^Y74Sym=quczKYT5-~U zRx`Bq_j<{6{XN!$?4gZouXQS!AHeYTX+~|PZ$bm27GCY_D3zfo%3{Afe`lg(twn0W zJCG#BS)G4byw!QCV^%Wv8Mi+Lbj*4gN8s|gpL}@8JS3{z*C`hpBNaI)+<{4C3>Z5#J zk(u`ho-9UDPnJWCdBiXvw#W+fOaX)`@yEO;9#sUw0;Awy&2zfR)HcL*sca|^LHWwE#2bloTDX`AkrOMElHUx)n*oAhj zt{K?4L~vI#jiHRhg!f)VO zMHvD#*K?L3I2L!|q1#qbLseZw`BRzBYz>{wimA|Q)6hj8ttRHIn)BnjVu_MlaO|$E zcnFRmJQkZ{IqtdsEiHFTYt^TPu$cAJ;oV5!f*@(}DNOlILDoUbQ%)30=S~!(eZ;7Ug z92fQ?fv|hKLhMvV?}=0S6z){UzfwDuIevvZls~(O4&_GumdeyV$X^I2;f96^@+I(S zzwS_83(b_)tSPbP%-6PwzU=P!b-kd_^luPv)xAda=wahpHfS8-{P1ws9!yaB6#9Um z=p|Gx?%zAJd9E~t{<{e>7)3>uDO}xaVh)lc%Ju!VN`TvR1yhg*K^}BN;jbwu^2HSo z)-HwgD6^YwZgvAM@%qW8RthS&vI`LrX$W>#m_gNp>dG4NrVEvJv2`dT3~}6Cs2ZSk zdRNxEDXj!N_F^%?FzUN2E17Fen)b#`Hs_y%(293VP2$eojw#wEcH>j9W9n{id?_!5 zW9lyNF64ccuVd=@r^slAr33ag=0!4d5mL9ZsKrEk!BgTFv82w^rjRgw%CiI ziIa0LwikD?uzsPx$cm{@5syI^c~nFpexbk1iihAB!eg;HmcuXf!>kw!&OMovbJ4Sr zUkF)^xGZO!J&2xjOA?upY28MdySEt$OJC=0B%u3>p)hE^!nle(eO^qj-#gyhBLbVBcm)9G~X zbi%(50jJa7ESS^jY&~C!<)fEiZ`qh^Z^M@Y3F}aIJFRBzSreK+z#rRY{!WB~X9l{f znY;>$=>E0k(1g7ul8T?$gmlUYu?OmH0`22khUwC6Dj@K;4UAVg!T5So-stCf-Y5m* zlxM5q`4#3RNaT?Xn0Y5KXG7O^4I3Tbnw&sqLHD)B%gy%9lTg^aHUAoFqn`mKQizX; z!059)BuYuH&V)PCqEEsbfEsLu8pHf`@$Sfz<8-x|*vdg;-ldBWtlazN<%S$%S(wOd zRBTJ8rxYI}ODr1)|t9HWs} zMc;Uv1HUO9KYL8#ABx5Alz1_bHB;nhmyEM9Ydx;0KU~cTrV$=&-$XLxs!$5s4X z7%h?H!c{DjJjPWlH*vU%NwchK8OIq<^QIIfwz$ds6x>Dnd2&7MDuPlIAM*(=fx;pe z!;LlIq(VoU!PY?*Hk|3HR}QEzkp)CPs*H5;0)eP?k2@w4d2C~D@+LkPkS8lf{$Kk(h= z5QmSun-h=4=8Wk1TAf9V{0k96|4XN0@`xip=IqE8Kr%QiLg*jEof#qYa6#MH%x3mfho84?Xe*C>Xi&2G%-( z$)7hsVDwoX6Q@S5&P3jTMU#eq4vb~G$r$GIi;y?KH6%5G#PKB#8jBLX1HsA-Yp=Y4 z7s&B@He|pqJGbQw41j_O`t`&Cep-%hLN=%GS2dk|J|qVAvp{YI_Npyrl4 z|IOZA$ngi?!(R^~5=)1_tRxq4MVaI=5q-IdBmO{|WnDmUME{lEl%m8I5&b)G7wIGV zYmp^VY7Lib52ac_NX;ypV|;GcV*Oj(I_v<(e0t_oh_td2uLbx}5fVt{tz< zj80^{m|Z91&fRMeZIgO-+0$59)et<9?M-YmZ;Lnf#?0&S?jq03J0C_%WPq4?l(?BQ zU3PjSXVAx&zo~Op6qcv{$|eOb%8%s@-d*I8f`P@Af~GfexurnMW>I*py|Z!j<@q7L z-MfoC9DQXbj$&;Wv!cqn*Ri6KX1P|>b>5VUSy3}UAu?TV%et|)SdL7WA7#Z@aPIp#ITyXil8wTAc#5Cd z%yKzUZI8hP=xBRKylraQ3$KSjUC#Z*jHGyfqoO(`?%UrWYH~+?f~%TcS%4gkT1v8?k%BsqQ@@Z~^_*bJjD6rW*qR`QZ&)+pgXvP_FQf|_q( zymF0hO3VpDdq8JxWHo!oUb_U9-sSrxx;MNi|Imub8x_$ZHJKHHss>?k=}W8TUCWP6 zftou&JbOuWvfb~~io()o+EYT|y$Y^%eb^gI zY_310h^8g0YRZyTg*av{fPE`|TodHXpT?T;EvP==;`r^$u@irI-6PDhC|O#=5$`;D(SkCzIoB1QItq@5XL8}aR*`? zUsDs70HzvM5>nNOA1YWe)%ZK!QfVvz2+T|l6s{UWA)+e@>V}BwiJN=kRSZhrL|5h_ zXQnt6*iU8p#U&_oNmAZ{*U zq=I}NmZ_Qdc#}iU%J?N(r{hyI@5Y_G(_(0w)M+s}Q#1eA8(+$Pk(&9ScNcQN+&4Az zoiJJ=$weZJO!An3x!lANFelBj+M_r%^Db{nQDTeK%va+s4t8qh*Srx)WSK}F`!Ye% znVL!4q@E?-shL0a#?Y7-Kk)8Co)_Uq;d77F%%4E>L?VlMArm=fUdT-x^MW+XH7~yC zO{v`T;!sY_JoAmdE`mhHi`jKL?%cfw(Ke}Pmp$)N$=$Lyu^DR5^2XkndFM-Aym9#w zD3}cYo0~6%uV21o$xG&4H@4=Pg3p0r6FDKKAfumEYl%p5XzU)sk1E=-lzV` zCJy`ZV>#g6MII?AFRm0E@J24T6li&v3a_J3=%h- zqnUC$tvM6H(L}FO%~6f)D_QXn97A|4Hpg=0X#OlK#)5PIo|AJ?+mbn{+#!(OzYBK= zOf;%>xULHMiaoM7uUP;X6h~;ZAR~||zWhxvchWj=*_8w-OZFe>=sQ~-lv+7p{?MKyierlapirY_ayIg6VLm^zx?w) zbK!UYD-GQmegHkAX?<~>Z+*2JKlGm9cPz&b|4PE|HZ(Xglwz;Si;lTzvQ`@^58qU) zRN>B?=6qS*{M#CU#{fAA?#2HQYj~_ll*v=eOcLxtIemx(d!Drvf*zN{pPODbk2d6Y zKo8s)D}}egpVFJ~7e~W~)KbG*e%0E{>K*#oK5V1hkt~xXKEs`z14B*a8J-Z1}2}@k`-r)i=?pySE@BmWJ?Ud?GSpTN{et{M3ITzl3m?>od#a-gmEz8p zHa5K9q){o-^4P)XAy01h(1ygHFBB3Ym)s&tDiZpgiN{;!595_t z__2eu77g@jh)ajqJK}nVzipKGJD^0omEn=B`+3|^m@!%RpPXQLBn%U#sgc zY4ySa*DJ4)y?l-ArHetd5YaBo}-Eg^8Y4xdO zPiU(!p~9Iktbm~I#quyA96}u<`)b#6!fpfEmjp}Y-4vh8#)W;+(|US>@p5~tuP^8) zg(hcbr)FpOK{ZKE13lUCIK8EQv7@blOeBB@@7bmRk$8i~wzw9Qb|@%F6Fl4AkQkAm zn;q=dQ<9?fHnKyK=nx@&XDsbc6ttI`i}rZ09M{OkgL!Yv3+F)xk%r&(hQx~p#@gU0 zJR2@O6V{|fw#Wf;GJnRzU z@4^9k$ww2h5WxYSB2Tw32b3Y%Z2wqR{)+Mr2s|Jp7VT=4T+&b zz6@Q&nNEfp-{4Z?loLWX>+9&Lf)z}cvv0&lSk|2_Z7lhPHz5jV$r{3vpL;{%#S)(h ziM4w8A;jRE+Pu@E&3^|M0-`5}s1Zfk2`4~iXCc-+Fg(&|2M1u@ZGlGvt;z9yGu3Td z=Jw9i=YrX(ebw3Ez`p9BuGd%Mo)w)M(PxClC;q-eW_7K7Nf97&`vi;Ug?Z3b@M0=u zJz(T#8B(bcYXu?-TPxy2f-che$d*Id9~GnQ<4(4C7~j| zeC2Wr8)P)pB+bK@6nkCjFw1pk)KS-nK?iCRo=)M^zr7XGD}o_ag_Sb zCc*dShj`w*3z?(g9q_rwp^y8Z`66=k1K!Bx=ID{~&BrQ3)mJutK9(Qek9&8Kho7Iy z#7}IX#2n(GGYB_vWE#uO&Tua!iZK%OOYIu?5_G@}B$1zTw75r7zvJqY=4@ zlnnD-$1rj3$oGTa+MazwW%oP)F9jBu!s`O-8Y|0Y6w@Yoh^)36_CsFfEyomnarE$V z+=aeD1ap>#xpnvR^M(u~MxM;rYPq&quD5D9tpK@yfdQ3F=$oqUv z>_lZMERxl@bKeons;^`n!M2Dy^TXTk-9;XL?#jeZ*ZL*TGROKQH#^O#RAf3w?xsW~qpsuDu3Rd4 zr8jG0RB{F=#L=8xSr-P8*Ne8vIrDm-ofQg^*Q-Vd)mUWV>5E@6(-)oNr%zve8i|hg zkb*s;N-0DxnfY4^^^CK%dTZ8{EKlZZc@{8j^LB@z$5~Id0H%>0B(l)nY7P;-_t4E~ zG?*Y#9JO@0u;+_lB~p__Pkvg;@8mQxo}^bq3#!*oGS+<5sVY3u;{MdxQ7UeVT(5`o zcP5f|ETR#92#E{JvOE-$ccPPGX6JlDMvn!%_>7)^C@7-`r}B`bo^K&mh4-P1Z;{l) z$;&cI-i+wYb85iRnLerKGP$m!a%9b@JVxz&>Vf2GKmnXso8m@4QCx-fD(k!O#|TZl zEBc{=u)1dWs60wqkwkR(DK#boPbws_1cCal9fP1f{2y)Bs`ZiTaJdb~t|(V0>(w?3 z@9*9_Gf=IMwx{O?gF2+-^OPf63-qkyo>XT;nhywLpHi?;8Ee$?JdTEoBzV>Jvs1iL z0AlKS#r?kfOe!!Ul!E|fp_~p%Em>$I_AnX04CWvg-0)Y3a5(X51sTbZhx7sb7f7LF zTr?6_lf*auqI|5Op_!fN3gDT6SsXPSfY3gbmw{U4<}CxfdL`$E9$tPvF0)t4+OM7x zkiR>bWlTCYcuPk?foj1^T6r$;hQ!!$oDN-xB|@86XRS~@dBa5s0J`P5R<7@_RY*nB zuAu>N9KoLw2X)zaVLsVNGbA?I7H}M!G(F#&hlNWMP3^hR8xk*R@=;?xX%DJG!xAiM zy;Y!ubxC^NfS{yox)M=U& zcv0u}Ej58ID`+^yEQt#1m6!k%E}gIE-sCo>roDy5Fs2Z|sxhVBlSGXvUfQ3p^UvS9<=MSNHoM`UaB_dSUFmL&cGtFaBcr>UokZzIDOTO;2`egvEAgnR4AEx< z?%#7sK)1H)mlq9uvPoQo@oY-%54`0R`v@kR)%ozv=v%TK?*i%xB4=`=+63-|7=cS~ zy zlj$foab$|f&7PN6PURIk%H12$F$lmo6D+GX!`s|*yctYoL}Yp(b&+X{B8spchr94l zkE>{8QC+9_Q<(*9<(bWjsZfm5&_yoAcqs~xr3!@JfD2SrMzpdBI3CK8KH|?+*ZR)Q zn+q9W^JYE-)~5x5ZR5&4h@?EajET!*;29RN)j$z4W9}}tW4xWlGv={Ydqp<_|6Q_XhKMAlKS6N!QS#6Wo8 z7SKuPJ*j88h1avhzmn=%;tWEio@L>Ai(g-`yu~wVW)!PXU7AXNDf?>nk-8R%$F|9Q z>>n1hoERQ9k*;`@IYjifLpWVgkdYXEg$!P${#)?$D=Td9#_k?MN79aX(fAa z_}iu!Mx9`IRO6#yX8XtktXB{;3ok-{dqat)Q7n_xv8fSivw_Sn%uK zkkBb9j(2~>Azk{R@92`8T!u*dkcg@4tiB)fI;)uBsN|b&4l}8Yztl|UU z>%#n^Y{I-PXzi~fUAY-277WZl^|V>2p@+0+S8!f1FsG}wg&asGGt++O0F4i__M=(7 z1`qVL`90S{Fh;3C3Kwdja>%Vxd7mt-EpyF8YEOe~t zto~}V)$YEci7F}YskFx$BXIty9$bO%#JCj~uQ;o7Xgb(2UTp>!Rfccs3a;6?V^6U4 zye-cTSTba}IXni1O?z6^@_0|9xxaU)(YUGAJKos(O#GjH!(-3tnHU*mVop;tUz!K< z@7(@}DPaH3?Qf2SUNJwTTk`;ukBl@`_c@Mv9qNgw=VhfmaWD9PZkr`L{AWoA6o5+p;Z%Dkv;oz8wYr)PssHt~v&Pr7gC%+#}G8`ut?mOg?iA}vbT|H+3W*DhAVcdAY z-xxlMb=GV>VRB?mw|mr^9C9%HZD{8ipKkYI+_^j5j<$(S5ztFU3rIg6R`JgwY3=Q@txC?#hik~MN zk*lgST5FWsU83f$l9z(>Tw`ZWgnhS)&o9=SyW}mt`=~@tiYj%#CYa;pF0M))ZIgQP zti*(2xRZ%VpV`*Jb>8?HljS(?F67A)ejA98K5-{J2}VmKv6w8Be7cHR)}`Ghi5}SK z)9sC%K_6cZuA+6MRUY!EHYm5}hw=jNF7j~k`HRcN>%Ec7&BdIH*#7(wk9c>HhojX@ z9L1_HW)YLMqhk>x&2lYbzg+x9?8S}AwsttfQa2uo!`I=)hRYjuxR(c|6gMla$r@bY zP_5O1p-Rw#xD4Fe1OBcys{7Lz3M<2Ho|IV%HIp$~4x_4S1wXN=l>5D@drf_1 zli#oAhxg0gUF6~C*E8|cr9kCb=1`z=vu9=0I5G#Ktep@S83HHHzm-eNzrmZGRDwkq zmTXlrKp{%HzBlVyBT~PSb0U+ISse7a7k9C+2Yt@?Bj2qPrMGayoC;ldxncC!((_PI zL^6IsWx9^@o)9qU2w z$+4bi@?$;t*CBAM=NqYx^+azxB+sshqT1=Jq_3u@jdruuvlQN=ofbF(mSM;%Y)@-$ zIO(}fnS2;#M-j`Jk!Jt9{Cf9?%pneW)@T*y!#h?0nUpJ7c3YjBe_`Uv^W}YVRt<8B zQ(6{shMz*i(nC;&Hu=ZG)AA!Bk5psxD%*!NXIXOd`xP!h5HkIFfzs~kL<>@z+PAV2 z(EFR^k!q#hMt`&7bHONg84;IE`p@J^8h#T2ij$%LQ2|+9KYRpBUSY9$^FAgzj5uFY zMgrpKmd(s=R1TY8UEQpdYXK?g)fKcRhsVHk2DQz3k)F|wD6OwMfPbeq4a`DiTPTvY z8|vSjyDRCki>j!3?BvPPfyO93?xcrh4DdR=4A%q%m7n_}H zBsM7HMar8DG}++8RRYXuE(uVeW7Oz)YeCd7bf?E5k5J5{<%CfBOv=!^u=7-%MeIDM z+9#mn$hphTdpgjL*m=+8b{_tf+RhV*gSlDw5$Tm^_|-F@yrF*6$i8yB zG>m`qQyJ#fGiyi-+*+N-${SgWGbw#8qI3bC1BY$!Omm3nJ%^MP+&@_#M#Wrv_z#7k zaR<3ONGncp{mvQvy?%sSe~+~uduU_Ul}?r7akzK4vm?)Q%`eE`nK-d(5ti^WBtUV7 zF;Kv?HXT4o^8=M&tb9u)DD$_>bm<36XOPr>!}uUO2}~grW^8~xQ?2)Ovdh{k zO#V?Dx<EQh5|v9&{oDZgI%#1 z1P9v?hu`wBYZ<|PitzaYbqa_Hu5Vi|E@0|ulE2Q{rOL;cHUx(U?XtR7$SP3?Y+NF* ztC^xuMq)Di-uyC4!NM|ohFcjaAVf)xWvnwutvJ&07C@35;ib~>M_IA%Lo)$yv57!s z0BZxAOrZhRWLB`&bFi8SRle8}!=I0XEbfDv8UBx15fq`8uOS4nFM?YiyU@-wHZxqG z+1rV6s3rf93zuQ(CF^Fp5zuBx<+61hmS^s%F_U|kfyiuzM62B%ZNQ+zre$hh$qiQ&t=yO5(h}FNih{#Z99^*99m5nGIzr@mUHu^@b&QTOXkCrE-AdE zU6BWU?0u4`v&(j|k zaN%~&bCxW*Gu#OO4XrDgP^&ZEAk*n3bkS7SE`($wJ{Ka{8I-C>46vAYd9<}~7^_Ya zO%*v31CT(t9LDH9aTsso4rBZ)wZoX>SGcqIpBKzod>VCBv1lKv_X(-r+fX98!(F_Z zwbyoV{IP9D{}rOJYVmWD`NaAhj^e*Chlt*Jh&zfo&6tBS)XROYk(j~=z7Ul@zX{Zf zkG^?0hrjOZ$kRFe54ba<(r2+nFaMttVh_}RMxf1D^m4_6E)IAUy`*5|DtdXG6PWx( zFA0o3tBf)8MbS$lCAm5iAq0yW3BL@CWi!+m<~zlQ5Lih|t{$kZz*ABLL@a*r7y^+i zSZDk|_ce?$XE*X9C~44ad?gQrIr0XBfZYuB5-%q5=#iscGS0?iO}W!V zo7}_9cwma)nTm*mH0f1XR`sLoCB3E&e<~B7iFVza^##>J8Ar(AvX(Ue#K7*LdWv7= zO&7zb@^XYB_Nnki#_cISglmXA;7tzMZ+SkVM7*o`&A4;7tC+S~ELZVIyz!;%7p~$D zd3PauI(%Klk026DJ`F3$g-=5!d5o)AZsKqilV(}9G4}i2?@cL6Y;iE}Uff0c8Y0)@ z=`_Zfz3(h@~lXKB-%>Z>e>(EOnA1IiDWL>g4!zwKqnKa#XNAA8Ak5N=Wf5f-* zH;8K7tEu_x^b1%z2GOFUIkQ%vX9{%8sqrO8-##HJI!VRFEKZ=YUSEMcqzX_Gd6WU` zm4m=f4e8i=P5*WJ_4FG9V&?;;QFL73B;ai=epb`PWtl zM^GH?U|d0Q^qvI8ckrM%{&ffh#s77|g5u|DmtgK2Zq&oc{pEJW=Q_;eSOFRFxw`MM zHLw}P=e|8&0s1H@BYGwdUvD&rh(36T$IWfzjXP(xs265l1jLM2S01tC?aq#DJ9vY| zB0$=QJ2S%QN`+hfc$xANuUfI?Z(rnu)dT74ogEc}bg{VuO((=2sMiULGUg84?gYal zcYuPCD|g^^PGIuq4iFf9*387Ik*hP2J77_z;d6l+vAF}^Ek1YPl-LE#JcY<%W5L4> z2v}}!du0*aBuDd^el{+egw^zx%2dD?Ra<5Oxn*w9o?WnaX0uT;;iCLQtHyW{9THRi z!wNxFtItR{IGQFLPy(nHLkD@P0Lr#9A9v0;o8F|G7Lj^@0A;BMN2{b)hK%%=8Sp%c zrHUxbB%!^PQ|O^GB*XFxMPcbP+bN;=F|EVaG-6ZygNj62@&l#@+LfucdgUYH3Ec35 z{=rv2PS)WjtyZNyb1QxW7ek^?%FX>y^<-`?7#MAqhiA6T&1{_;n8i)t%pd-GV0JG& zgqvK5G^4LexPg(7aPYve+2P;ymc4>9ApQlhOU{5W_@}w}qL*GW390&xU=LJ%E>C{v z_WR(fvk{bn)t>GW2fgcX2C`h6ZdZrl9<}E9WDSm2!*R04_{3xzK1Zi{;LgwLI26J` zHMr2-o~$~Mp~G386yhfLL{Qh#&5I6=qC294Fh0?U|E0{c1kKMhV!uK{suA%+1uLcz zm;AA7w~ss2d`xry%W#S20MvpppSdKNzj{&U9~?Ll@AZxA+e; zk*VOmZOY&TZ?YGz4CoD_2Bi;bI#ic8U5o(7Cg_5=u!L=j?2_1nvxjgx)Meh}kW(~1 zfb>UvI@HCub9XuvZIe1hBj?H47klGN*)Ng~ZuIU#4&M5vL%jq>OC-5ShmuJi6TFq1 zID)sNSynR?r$as8n^Kh6A{}ZQ?jn6U)LML{Qfs(eD>su8nV_kb_vHL16k%_iRJxe+W1yuCdL)&ukc5e)gdGUaE7xKIaC*X6BWTkgN^F$(xc_9-y zW?slm9P@%S%QY|V^rlqqd2uMG34X^XqSF?V|t+syl+ zH}=NNd(yj$JTvddFj^u5#LT0_&73B<;vE_H4`RjkLxv*IB*hVWQyj^#)bd{shs$ie=27#{O)~|p0cM2zo^4AZ$Zbz>R&S)@90}9g z#nCE=y*I0s);!4SlV;ws1q#j)kDDJ(+PxL=pR&KSdGk#NARVJ6)$!7A*XkIq!96vB zN`3awM*Ja@#T-%}*)dom?$z3B4iSA|A#;&sqV-Hn_l-1$Tfi;2x(BX48m`uQ8WZj6 zc(ql=7d)^dHLV_n+Uj58GPDO(>4{Etbf~hy+0w?Fn@z$M!H2QpnOya^}Juq^Rf zyI?FjN+FVpp!Uv&(rpWcl1P0|L`kp4wwlc=j*Wh6htZ-G>N&m3^h;gQ0~-b22o#9d zb{<*1_u!5~J;l3&=m?Gr-YBq#Hh|vd1jr-XnE<3OvFf_2t?#>#-rf!Wp_?C(-F~+d zDw|ztXdsconWfU#~+h1wVM_cxdH%2CFl~ylkhhACT^m296tInio zC465UnGatEm`5G(2dFJrT$XX-Jms3TTrn8*|6W1q$Uu~1&jWTL_$a$X=`yY}SVrQD zp_SNi!>XJ9>bh$b!tf)HeXJN6x&;Fgir|X2DUx}(4`m<11D?QGotqhe%i89q_RUo1 zP;MgMz*1+%$#Fv{Q#OikMzrUb6eLws(?|rqfMwL>0H5r?&(A;s1upV9uTJr>J8&SJgmxRou-cFA0{)8yv1xOL}@rbecXl zq?yg`EnEtm~*~#X6?ep5t^FWk+n~e zHnbdfVesWlgD>cw7ol|r`5jL>b0R}q<2$3IPq~Gnvo8IYn0+S;_Nl;GS=gJER>CiP zZq_brEbJiDcVpH*bru@SzoR%}xb#ezKp(mn{<9o@!Tel-9^CtBZgLF33?=|B$qHZx zzaU0c9IA?ny&T3PEZ2Euxe1q_!5xV$E?Zba@!P}A#2+Bo|%Z^Wp9BfRc1_??0&3LPW) z1(`4MXED)!xrrm%FE=}tUF2mG1DODkv!wu0nCR+!^id;}WLUdlTcnzm>LMn9=2IrK zQiS!d%L;{v2{<*@6W6I0$BX+R0EH|(xET>0$r&!!gGueHS27K*SiuhXx6+vrc%NkRtX7YskodmKFHNVN#JU zEOSrnMbLF}zq($f{HjZ*%HtEFAUTmd{#4eE;V%I`GR%LWUon{h8TL)T1fWvDzw2l~ z;Itc51YWp(`}V*xQ9A93Qg0{ z_E?~8(J`JMnlT=WfJToVW?_vUb{T+(Z=}DM{OQVa#=Ba`8)wb|St??-8nPwA2WOc> z{5G&v4|*)t6*SwNv)?1S@LXp{w)N0pvWPA`6L)6R&MCHx%ymwPJy5@jK&ywGmTpt^ zI{aj9g`8Zgv8bzl;ol(Z`rcl#*PXi5QecuY}J4YVb(wArym(PPD7` z`GmNX1;_Zf)DH@ZOW}YN2~GVzlCJPRl)oZEQ=G`mW4|6zotu1METj)jT`Cu)iM>?^ z6KMlbmXeVkP(}i> z>MpLt(1zlwN^Gql{9%sphZHat1Yvq@iGgqdfso^v!yR4c0v>~{QWCO8&+xMdQ+xPB zd55K}6JHR6d$g_+pNGzJhBp2>YZo@5qM?n?WbIS<#s30#VT3kL)G1w>>INSSUs82y ze-FBeqqh7GQ~PL6ZQQGs;y=oYnutVvKWi5@iqlBMzh>=Ir?}U;=@E%|EGvK_5~0pq zRY&-MP1hQc>#Hs;xMO9JkLeuOIEdK=;}qCa-vh#TKT3w(!&6}KucQ=Myh+7A8m_OA z@1*GM@xQ0r9zS-tZI4M+B)Q%z%Zp3DO+HgG1$y)@LC-UtQwsHLyR~|2)|5E6%-8aw z$Q&?Rk??SPN0oLT6Tq;P#iqH(93uKHVz#z<4tu@`Gm);mdafW`w8viQsd>^X;*+)C z$@c;vX8cm@v2VP@*^%d#c}M=v#Ae7MFX8i%46*5TC~bz$a8KZ*O_2rH_)XD|i{BL0 z5##ht5hpg=6rGEx&y|GNrf5&>rif@SwJ@mP=BVJlW%U@&B9!qa=~e~#>>84iSy)$_ zQOEKo>3}klWs`LJ#WXVvm+Ko)bXOIE|f5-CjG7nzHcdv7~ zuwHHa|Cl$`3+F%G_C4wiNeusEwm6|pn0*q^-jo$UvF%g!k*fK8z^0gsZJ)Y$;*J$_ zCZ_YmZQqlCGuifC#kYO;>c}8JjCG_8Wprl*;NV;_Y2PZP~fBaHe+r0cAm&f`)7>SH(`-+X=j1CvwxokRwzmG%>dqCcV zeyK}4XOfTgKnX28AiqF#l|3MDP)1rr56C+>vTs*F$Zje*kX=E@Y9L#z2gInQkILwi z!?D;IGBr1|<=m~PT9d;A;?aq|H}3ZPR+c^H0r?p4BHsS7t>6XifQ4YP9k4efl>fp5 z@)6vH;Q_foct8>f);%P622P40z6H=dSLb_orE@P+4>lft)thpK^N?Ph@Fj0ZVtDAa zzIz0(Ka>?f;l)sOimJVQz^0fBFNV4V;*J$#B&PF3FUHFE!4iOj*Vl0`2L6@ai@_)B zLU=L$Go2UXZHGbdI*Y>ss!T~mhI)20jZ+Hs;zCD&JpM|=Qj0l8sdKe zwuKRY7A1yGHiw7~FMer}|L~3#Ks4p(=5A{i(YYq(nG83BxFWc3A#S)C4NDy;hFUu$ExjH*RK&*XU= z_9H;?HsKNlWOePywM{sI$rB^a4rL_EHeqIWP;Egi+g7z*y`>VswP>}VJ~=*AX~NmP z$>A}GpF*-NP4XL<9mNTi-2wbNy$MRk4Ad$&2fHCq*gZWk3nwq3YT6{+bGM&;G1?dG zyet@KR`-uVQJ-exKrn#9jzdE;R~yx2&Q1l2GJT_z-w?82tq?;cyHRImV@jM=9lkz+ zL<;oGcz-d#@Qp+u|XLxQr={s$p%W3R9q#%oaSn)K*y+2FNzw5 zLUq(|pac~gZZVT+6keZ68G08sqN=lqjp$qp2+(yK|(%Xm}@rAGv zf04>YI&`NGncwJrhuWuLn%@_gDwAhc=!)>Qpcuv4amg zJF+=l4D(Q&rF$rUXTl+Fk(uxVNRHxc&HpOi);vYs5XrKjTb%+nX1CmrfaUYbY19RA zb+gV^UqtU=4raK{m6n02jBqQjE2u-&o7!|x9Thjh^0&;MK}C`VaZVY*2N_RbAE9i# z1{gWjdQYcOmjJb4rzA?ad=qq0u8)}AkShg-dU!dgQh2V0L}gKsV3Uy+!?-Zdpvod2 z=(thfr5oa_YAjAQjtw+EMuKPc!eF_0Z5X- z7nO!pS+VXz69R9)i9lrlYXh58p#j!6vg(ob9IUTH7h=sLn*u%#vc?bU1;&?TrMsx^ zwgd4JpQ7Tnh+lQL?R3#CDfP@qVK;Oud!t&1wYU+`W=QjLCr-J|y*NgNw}_dGOr<2+ zkT3M6hFt3HtBBL_rQWW?of8!hcQY$(lltyRt;(B%sP@igGuOTGrOTwa4e=)LF63L~ z@YdJkp4JH%Es^Bnwn&-eF?HtTCXPCDaP)gyAYC%_*{r&XHcr53Z})p%cHG@ zGg|g3=09vyj&nCJ>am1=plN($&%@Px zk+UODSMzq<*@7KQ*z1JV1L+qzJ1Pe0Vvi-<;)K`(^(J9a#$ySuaDw4+EP;ZN>sZ3? zIf2Q4EP=onx5#CZl3bmMD2zp;hTDJ|u~C>`6(5CBE2#BYG$pmTcnXjJkp*K)20 zJd5a%Y}_AJ2#PH>VJhi9;-ggpsP;n#%1RIV6+qeE_LI(uXPX#Q6oh{m0m{-!j#f#p z3>oP!GvIj?#ZzS_@q(?y50xPqmR~9gOP@(E?^1A#<&Zp^%k3lngUvu;&5~4CHq$?% z2qth|PnVyvq|5J}**pj5CD1?kLNR`S*sb`@4EY4Ebc4jOxw&9~6`0rx1txG42yx)A z$*nf1rT`Xd^mPe0*rey&A3QK@#`%-pB3Mx3{`U~OkfFPaCMg;G)AjL7FPQ|7MI+eL zfK0#1@7#W0D}ej6>g{TKx=Vz;>ktYm*QVRmVRSS4_+$+t=HOLtj89Cq;d3ul&LUih zo4Sg=dC{R!R7i9X#wUvLDP^7|EC5U~;<_B1gj6x&hYD6qF|PQ4YwwXt{Ub2r{RfUN zMEp*OD6NoUh^Ve&_Qb0gq+U=!6zK<})!v!zEpzDP7J7^Sm@@Q6!F}75!O7laFI*YW zQ#=Nx4{H4IJa4+tMOOH0yP*r>-r`oYJAQcj3gv1D?rAq}&f{;4YP;*EvKM zMkGz+LEPFyrUR zT4b`7TEpd9x#^xFkw=A#H+UnG$TD%G+Up65c$UV6*=d{9v!sJifawP^1=&NJ9(b2G zhQ_@3WA85Hc@ehZ^Yn3{@IBBxk;r0R$V85r7jhHFydceT&5OvJQn}~F^^M7PP-<4% zlg)adq^)$JOw-F7^-53<>XifPOO!K8KB|m#1tXQw@?@=zTlXZ*E*MZ1zvbwOP4@n; zH#rg+FJ{+QaOdtdh_*>RyH2ptQAO6?#D@J(ys*C7TO-W-z5VZsJ%`NwZul>X*DVV9bh|0gBUL zcSqbQ+p|I;azxPHGLx%A+?2W*cd@YfYA^SeOiFLDi@qI+8_vQ_xr^3(h++?rBVX;F ztau2HAv_kFV>$BG-j@|)!MS(m5548%SQmyw$)3R7(}hln0I^b3huc_505 zJ=m*;SWX?T)_NKf?do{7RmPPRSQ1o=TT#TJ=4@%>(Um3vxm4%k(F1@3SqUvX3a>!J zvP@j9HdnMRhCFh)u9!A96!$I^iXufi5k;0F3EWX=RN5fALj|UTKC}UJhZ7)=bXWqA&+=j@6H#fS=7h>-Y8ah~ z9M43NIE1d?3I_r6gfi0>e7K@8=>OjZ<*S0(f9!dnM-Y5;`y$d&xej4TYJJd3tT)cu zAe!qUdeW+L_#xpwsZIw@Wt*KEnB6yXL)X^1y;~voWZ;_W{_*m@>VbXLseM)Qh~2K! z72GgIuhv0XDtoWJVQR4Rz!(%EVx8WwjpVG1RLlG4N(b=z43$7&n>MqN zj5h66#I)=i+hY5l#p1UD=^Yh2@+bvv`piE?lTV?)R4k8WvdJ4L05DFj{!pRw(Ui;Z z+dxZ!CrsP|RsqS9N3!is(A~`)2u6-%WbAp!rdB+*k>omWlE_i=4R+D5g0 zD?tkcHfW8NCm=7Wg`YrCol1QK4qS~i#>>?@DU}SC>J2sz6St)k(v;Xr&7==+Y}rE_ z|8MmsoCp7Jk@z2%3aGRxYfIxYctF%FZDuYQL{n?te^+YYJ>D2oQ4tG<408us&~>=k zLnrLHO_R45i^(&B4AQDt5>d7;oK!k#&^jSBhI=@)9x0Y;NARhsl0tf};D={qOvZCV9!s zrQKqvRJe9K`r(Y5II+6PRFkxrLJH|Q(QfibG1^UT;?Qn#vvbl-Wo7X*rhIxpjN+)0%VUSQ8`p8J744f@)rG#IWq?AYOuis1 z6e8aO?J#rZTRbBx6e8b3-M4GgqUd=2(leGUDHH8I_6#yDE#pUz9j2k_9(MhWh*77{ zI5^j8@bE5C*(}I@+J;gCrR)PeD7;#LAe$cIu}ulI3Q___oKJ*)8|DzdO>EW!*J~th z2@6pVUPC4$GZ6JyvGj^;B<#mv?{ZoJ9ueYKIXg-f)D;opJ8)-4fvjR{MLp<**aP*q z5NP$Zfu-9xa|j2vDb@#DKp%2~;gK{z!N^rB>Jv_2^4E$YF#0TLmY^j!bi^aVS9ZZA2TzO7oth5^meJ$_l4kH- zBxU+l)|}WZAW%cpmjeQux??=&dX~W#=?8lu;pG>gMil3rgqL?qLD1?kTPq>iB($g@!Bz1w(FwQR)Z!_Gj zq+vKQ)}=N>8b*IsZ0z#OGAL{0o2|JOoTz9u6jOJBsE<`jjfx| za*E5qEhQuUSXo~)t$gC#iE0O7uocTR2K2~X;dSUKVg zaaZMvbiSU?95S@Hg#&pUOphZE#;&W=3&KcC6pnb_G| z2590M1MMAB7g#6{umHe1M5Mqx!Fv zk#ZU*Dhr8m!ucG3C^peJIS~;C8z}*J8P`qb5YgeuKh44m z?^prElcRY{cU!lW7n&5{t42XaoQ25Y1!&l~L*^ZYFHTXc(CRDJVaR@_`&n3Fv@h6s8RP?^0s-Y_vvD987%#WShK6RY zHcGUgoeC6XI!7tLA!Hv`h@q0*NNd{2JXi@htGa!C0*MspnZ~aHT$zj$;p0N6q3tvr zvxwG6Y*5Bi-(;Z421=7uTqVGq=4z`z$Ea~zQPha>7KOGQnqwx>`wsM(l%aRw=u&kS zu_c{rL&^dqe~2U;+mbhPTN3|DZ%c9&vJkdpXDVBgufzqohv32qI2S##uiP$?tC}6| zp*5rhZmmvh<&CV=nb3X+5q=?zHsKWd6LW~@gNLHg&98vrKNPw$UxeoUF)qf|JwW=! z*?Jm~{vPW>_Rz+&&p8#1hePPo&W>#A#<0yrs>dhucP1P{7MTejLvj>ngC0@54SJ@1 z<0Q+3ZjA~UnH}?91T>#tP9raXTkfr=4$oF!MDJmq6}WN+4lJ~4_^K~v^>qbxIG$FU zMkmP+RD!WGSVv`H6S7z{_?rju(KUh(J}Czhpn)JA*`cZ>`{ z7v=hh*$pXsIMmb0v{5NMS3{z*C`gF$@vOQq&!EbpALZ+c*f9Tzr;K62v2uVYRa{GW zSb?4?fG|b=8}I2yg;&^O6dX*c(@myIvY|i_CA5`s&0u_N2EoCG#$mf?>{>=h@KeI> z3)Gna45a&heT#E(0W(mW0PCz>s_cwuLvT3tPqDqOht1dOdV!5gjOo=Nwpd>%BQeq4 zfcy0EUKpZF!NQ_@hFd2oAVf)xWvnv@uLwY&1W1wqG?j*vvtr$cCIsG&6M@PA)&@4G zLIbQHXVoL?Iaoh{F2tHgHVJ$jWSz&A4Ja)}-GJ+|(p}UIxEk>iN7uPc;=W`_pV`~# zqFYi5vSuz28`m) zi3*52GEUp1zTZNt^1^f{MpS!evz>4A#+T|Eabv@*cNcQyd*3^jUIwEjl3d(qA(K4j z=$_ofadb~^wjq^N%Jh!XeM0mY8cI_bd@G$nyNQaq!``f-+!iOe&|J@Xg6j(0g@

  • *1I?prxI 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
  • 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

    u{Q5P#|1tJz@Zrv7tU(EyqkdT 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 z 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®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%0D_$mG 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 literal 637489 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

    }RHuY`CzJ0&#IC=iXT|ki^dd$ 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 diff --git a/nightly/.doctrees/index.doctree b/nightly/.doctrees/index.doctree index 3019465ad91cd47c59dc508193e98efd80d6004e..ce0dff3019ec3cec49718847af8ff8e36f6d5b14 100644 GIT binary patch delta 2631 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 CVZD(6 delta 6140 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 Gr~U)6z@44| literal 185523 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≦x-?)&U8*ugC=s7>&>qHWut`56T| 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

    eZ{eb`JCg8UMelRgx)M)hl<+lKA8D32ngv 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%0Ao&5|nXB zU_^XF+Kcj@>dY+e36W<xkUj&Of&Ld0RN~@an zPO}UzSl?S{aMIBFZd6JM8AW{OFJofG!Mx{bb6X#20MPi63)x5!E>~hKmM`$cWeJ}4R8=P8csP&Y;l1u`p*1wvn z3F*}sx1J<$^j+jvdm#oUlECp(QhqhwVaxn#xgb=>egUD*abs63iSrHV3E+-Lpp5|V zl^Q^PN&?VK02lSsTq)P_^@F@OA-T5R$(wB<;}dJ3Jxa%|h;?O8^{RtX#?jY>GZ91``i{Y0#q&Ud#%>(q

    L$~BH+EbaF*^MHYBD#j0Q4I|u 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 a4LG!X=*x&MDb#G>0q^Q8bZRf(JNv)xH~g*u literal 1886284 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 z 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 diff --git a/nightly/.doctrees/plugins.doctree b/nightly/.doctrees/plugins.doctree index fe3b5e91079230b2d3e028805e8a618010cf961f..37aa741e538a9d10b9cc1d7355b86c60b498807c 100644 GIT binary patch literal 118318 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 diff --git a/nightly/.doctrees/processors.doctree b/nightly/.doctrees/processors.doctree index 592fb7baf429bc887227a7632189953a6bd66b2f..dd22ac203f001fa64265a14826822438c6867cfd 100644 GIT binary patch literal 322081 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 z zm;|!98z44iz_*`A<_sG+Pe%3(_>Qub*mN4F%|_(AVqT`MLU}Mh^<%lP`x36X<;Q?~ znOmRCIQ&~S(cSY)C^Ez#^<_MwN~y^FfMreQ>dUtC1y$0g`mJ!q$a8ll@_Z-QHgM6R zLh1SW*cD*1CL12jT`qZWDOZ`Id;W4bq-_?L?sz56i9uA4PcEpbwrO$$_*<lpCk;za3;cVlBF*UDpEj|lD4~$FsMk~LJhc~=MaO;^OetGP@zHK29-ry z@x}r_*xURVRMz2=-wAe=ZwhQo*QU%atP9}~`FVoTvM#JaS|6+nhuZ|Ij0?O`rq&)w?LV=+IMKLp^5tGD z<`!*bVvy9GDz6$V|7wC^(7#H6A{m%T`kk`h(88l{hSJMJly+JQl10ja%L-(ggsZVS z4GGeVaYWS&1?%~}>3Ku*X9fZi9QjA%8zTct$6vzoNdghS z%)Z=|sV_p$e;x|O==t$u(3##@};8IkXpIEqkM3u3c?1K2e>MHr_2?M*)6V+t~^-2lu!6_zPxtZR(-UCHKM{=WtI*Y zhm}*Sm3>65#z(8_VXf-p!E#QO3N08hEUWqQdYKR$c3Hz4QLCb2<94!|6#n81frLSS z5&gkpEb$S~B4~WaP~uO(t_IgL09R2`;8o%oJi zebV=e^6p(>9Z0CevJNEW2H2~uj%wC{H60+yMWe&JSmBQ?g~wWTx{*g#1A>CB9m`d( zRh2=Q76ETas1Y_K+Qnc5c&Ro(Zi0F27C2ruyxgTzx$X59qt4uxdZU4nsH>yo-I)~R z{+Wb`LI3nj_#k51ph__CFV~6b>fgX9bxDm&fF-X`%@wM+xS8&0CKsYYZp#%A1>pA3 zrleuHCqT5sf~BTd3iG@~_J-^vHWKReWuOFshdP@p)+@DQrG!lbwYPxKEcg|n$(c%t zye*{9k}NZt17Nd_0-7p%s0}7A{9i6K*saoqV!7h&LJMttW0y=T$eXlJF@{FLWDv-O z;yJI;poxO0t=W3BLa>uh6hJom2PkJ|>oxM09UVA7*90ocgoi08I}*AgzG8<&?=9;Q zwnS#pRe}W_r+;;9jj;a7Ceih36>WefDwFM&Hz4v>>6$aD&}-JKZ36Bbf^-HIf7j(k-3OiKCQi z;t;WY=XwKNZnBQe=~-yg)vAZ}3R}`(cVKK@VJ0{2)uCfI_VQI`W3E)0Vq4rTtZUQt z2DY_lnwx|odnLNCe`us_A}zq8(^6V}3PkirV4{KN@{QHHK&!H1p`ltlynI|wj-kkCE^A{+$PK7y+hezL6O zlNf~idKiTGRlu(v3B$*tb)?dBXJxKT(XdMe#gH9d7%@?YIk$%d4n>@Q$AEQm|Iyq< znD8Vb*K1X=7Lb?#F`k^33N5+18j>eI*x z#M-!%lp!rA51lSq3CVOsVupn^UedBm}zKDAWUUyjF`#d->d;jcO=^*Rw;`OMjy#W zP3iV9d-%kLR{4_{{fAWp!TbBTgBXkU(b>J5O7$X)2SV3QO9U?RAXZ;~SdHCkt4_HV zcBGplwEQAdDlu`LFF#U#)UbX^H2&B?qrZ%*VGxBL_Ac#!FAI(wCX|D2DE%d{-S|uK zh=lcbF|hh8Q9>bbl|DBZ_RQ_t&hPLX&?`82-8zYMdNq46?CgQ>@<-33C{}f2gLojE z#7E8w@=Dl`zx zFc)l?n5mcARj)aQnJ^X_r^jNa|xl}UkINHP-@cVY7N|5X@?(rwc?(}g(o-$9iTM5bJH zMptyoq>{WTK^+xUlgMaDH!HP_QoJ$JOe}oDi3Mj=;R7g&4jXdZqRp~RyqPV1)!mXy ziW4mvQH9Ipw3iKr31++Bb+_9^bRh>P6lG%6C13de-Our49NT+DC##AY%){+$va_8Z z%ufH#-D#KD`X~oC?XWJr7?dCDmf#f5MN7u8E?O_Uh&QuON4Z<-VjwvHJq_eaZGDLv z!DZsR?3Ma$_HD%7H`jQrMbQk?@Emtbu4yP*GRA8$)>YXz_HOp;5_fA|j2Q8WnzhO^0G_PAQ!@JeIn99YKuUR5Ip?v+h$P`QjzfCaDL{01( zu8A>y3+^Hr6|SPa+Z3UC&0`B{qWUkSNjm61-#J&Kbge(DQNK}i-`GF6G~5D++3h25 zn)I7}l2!J--f%Qu#z!;AI-34pP>HqM7K0Q*T+IJ*$#2L4sPs~QJrx=fVt0&}dg6w! zu#km2uPse>&gF5|)o>1WXHCIW#}NsYlR3JdU&C%i%bSKj7ryfYzsaRUd8V;i$uiSu zb00ZnV!_T5x3X9c@rJ-I_5qDFHQY>(G-Q3$jibtE8t(q+0t=lF!f>b_#t zXKA;V7mGMn_KOU@_^iD+!ha2Q>yGey=r?nOCu=6zFCXIeOO7Nn65!zBoSeq=Y7WIu zyXmTEB`M&2l}?Nj1T)bD<`3Nf^IH^hMK|eq_kV=U83Nz`3)$xf??*hFA)M*FAua$UBHxpH<&+A$LC;lT zk+UI;R}#2wdC-4v!qgzr5~r=bn`JfJNjjFBzp}M^w&pn3l&MOi+0yKs%<&{#PMB*j zJQhZCS6~5Zk_Rt4H*#U>v^$8^ zsq=#xEVe{ln`tVDCF)shDnu?(^hqbfUYDp@tG-nHV}`*OpS2fO*+AW?rm8|x$5gd( z6gO2P^8N3)sk%=IP?1ouFyH~xuyK{lG_FV>l8j8_24PUj<)^Ck0wh$qIMD`24(GPg z%ts!?G2zaddKGTWIGTz4X}H%RJYT)mZqMVAD0wIHAkB~$89s{Bg;}=RSpupuV~Odn zeybs4v;N*pvr5eRyBWeFXFYw&H0zfzB+2z!{4!zuh*f9&bk-z?4>1_yv-UFcA3)uy zW*>{{V*02-}c;UvG~a@HH6ltR(jg zPIBA&Lvly$caqZ#cbhkCT%U&WqDT#Ak8LK3+sIbxAdr#AAk_|^+Axbk8}j(^^rG)cAH zA5zWPgz~a3SG6u?W|qZmp@C%%#?Ad1j8iZe|E$X_TK6P90%tsoL1_?C|;D^n;8xZruX4qTDaW2dgR2=8hwRh{&5ZXQMO{i$Qo*Z1yGI?@*%*d$K zY7aiHbMdYnRwFTPu9Jo0POnzlJk+Xy+Tr)A%slXNUBCVe>{{X;o?>|drk`n#-Qj>h z)*241C{!mVD>XW`LZq%+w{tgQ03za<=D{`g^VV!g=NkJptCVGQiFS>prd*ny48@^{ zrcbK|g3lbNuCW&3%-Qiot2;7qZrG8oSQyh#9#*L7)<-r(uK#1ItkXxfqA#pcbsWyk z1Cg^;VITR`{?Um!r(f;wQ55TBS_jOPPji_KoDP_xCBvaFbfXmuW|&~o#&Pa;yKwE} z;KUn!q$VuJeAa*d&A z$r!^WY$2EZ6Ti&9-Ry3$i}B-t^fZ2JIwX&%5nQF`lASaY&A#5{?yGAYUz2Sd?{l~0 z8b{HRF^-9MAAP{xUKgXt!RToekBSl&qXu%dl~ImmN4hzjUv+odHJo3}Hk{vex8xd5 z(NebI{Dr%{E{2nX(bI4)mr}kMLPN4}MqV%7*0pSLFp6RgG*;fFT-lIRB7d61ag@7F z7jf`5GvX>ayNC^l6lM2EY{1&o3S@kEK-ig%@PLm)uIfX0z$PL95gzboq*t*BflmnO z9t7Toqo_Ow0Xh@Zs=Ri}>S@^{1XS2{S7p^)@-LxzH0WRKoKBWmh(%EUxeeAJ zw3C6=kyTM=py@{|iSKl-5?qe7Q}z0JuF^sTEgX?4J|d-VM`Q`+Z#W|JABwRj3!pL- zqfLc|gmtHHp%|~ztU_TZM(FJ(4Mk3G*_06&+*uaq?!rFG&d3#{E8Cz$0EsOK52r}S zSR*<^SWb*IMHS4jc4sC`3&*(IQ79&2gFflLBfYxA-fPuo8C|0zHtu2Y#b?!>;<8>{ za3AW{o#HN_-%$}897!3R;y&I@S4AsHPH~G7u_0Fi_HI(a*Scx?%P3@fjp)m`j%EKN z$ebZQ;~U66KUn@*H(gDM<<2k+F#$V2nE3zCZh-n73e6Y(|CkN`QBH`2Go2H}IUz>m zYsNW!_sB=Fy~-sj+F!MKsTz@>K2OcZv++US#zMR@NU987Tjs&$I2}hx=g`u6q@6oSH&!s+!~d+Nj|9rJEhdEet+38k zqtl*l(o8%Hr{0OxXbgp7RwMeP(_rFiv|M&xGRrW*g!HLa&2C6VnAe32()g^saLlKn z?o=F;qbtL@w4u6uwo0iSHY_0irgK_-Nss39}t+P?hz>#+qlSM zFI7U7E5DyeiCo(h65LNqQKQ57-`g@#x!`~IFtmes4$kGRAYl5GiT|YtQ~9V>XFNNj z@fMu#eg*L2iZ^M#>ui*$lcJ!Ee8B9BVx+CDNCKg`|$aHXBEA+#(|11-;W*xVQ%Ws10+n1J3aN`K3FEtknhdeE;60 zz-zLMFuQ@iqrEl3NVb`yAjn!UqPNK$=-32u%*cWM*76cCnNYKGqvA1ePHignR+JJf zDP%eP)B*^a#BP{hBQY+L6}?$p%E>gLEE*pVJ;gUY}lVQzS^~G}` zO|X0ggD*a7FAVEds5=$IQb_7xST>I07*<5S^~A8U(4@wmvX{m5?0_K?Gx}hb(PPZ0 zqrEi&t=e=F$UM&}H81v6gAv$GW`27TNIN6*d%bkN!QF|KVvA|dxE&_9iS0Vk8$Zci z*!Bv1t4Z1zcw8E|QW(EmZ6idjIeM+ga@{D^k)v}TAZL|Pev%G%D0#Cm53*BT5PXa~ zYnbJ5NE8}^&wRXI!xZvNgfxw6hBP8)9Cu4GuB06eR{{r>!Vr zdUoP0nS=dP0s(h$FlUwWoQ0R9*!U3VERaipEBb~25a%p3Qq(HWS&*I(U7xeCou~qr zPG%tvdCo%ExOA5pH2jH94;i#PFafsBgaZ~N>*}tsA~1gk@7VQOI>w?6h3C&Pz>4gk z(W_fS4=LB_4_0uIIsjrgC-$_~4ycMcPJu`Wl5H7BK)hVl<2;VS21wt59M0hvi=4x3 z?H#ai6l#1Fs@;ylamFZQKGNZNy!jimG#^jhk2C0?I|3E@QFnzyyuOro?A9zD)2aJJ z1FxEMW|!2hc_z_W6CiTFU+bbJMYiHx6Gqh?r%ePZTPEu600;!mKuRER)mk)A;Rw8j zkHD+C9f6aK5ildb-%2MePvXXAY-cyyRa~t|3;}m;*4xz*KIBe2b3INj6IX6Rlr6DK zjwY+^2D=fCU7LGOzj#jb*->_T%qlk3)QKSCSAqJ zT4R+Awb~RJJA&=?okOrD?8QB=>Q;1a5zvU|z=C^C@b(3RXJWr0rb%S#z;#G^_i@s@ zw_DO10_ok2!Y+>;5=TTJy<7$1(8$-uj(B+8)rtzX_(8$aBV2hxb`;EWXDmk`JvnRf zK>AMsVjf7(-sUHe{yZE_G65dM7FgW7X`D_H9|<4c4s}}EA{u|`A#Oe%B(45DF;z0* z@-tKN!C$H^Y1uqoBkvdpA-0YlWDopmJwu^si7fLtyRVOI>Q9Gc;PX zlr8#ejk~=rqQ5v8@%ot+68#H?pLlIoW)~4nA&L4wr$M3M{ID(mACcC3AW(2he7KS} zBf(4Q8b<*Li?aD9!Gr_x5~FO+-QLE&0c{5$+F+_O-KKjCm2|_ddv18Gc0*(mUxck+ zQfhCNC=&P2CL$R0pX8(kYZYN}HwOflU;}fy=o<#+9?jhljFZBj{QDx({zgj+1}-ZQ zU&5}jIH_lik)&|RIPuf7AW{Y;TtbBuF%i#rKm&jSstI##aI9Q@D+Es*^hFnHdX3>+ zeYOR+%0iW!Y+)ehB!-(#y@rP~bxS#;0Bq>k_$DGW>5GwHvpoxYY_sXfI*1w>4 z@M!LG$%A1Jn932yhgo2@0H!Rq!9Y}xPc9g4HKfW7;Q!6)aXH-eSh53fsQrxyVfj(3 ztP@*oC!?b^EUsEl)nFK@5l|+R+fM+Si)U!$M&s9Ka$CvCE!WyRs}5H-(o|0w***5M zF39dUDwLk=tYwg-p@`52keQXygmgn{NPA$)HVCQs^9UeI7;wgi)+OhYe26fdi7=dG z>5Hu*DWJ-&B6lHS!jbBR8gN4!A_ke~E1$!JLn|XU;grxZZo*-2^JBu<93H8?wi^r1 z#?%%Z)ld%xoZ)yyP*u;42FI^X^UVsCM=mg0iaCRx58THuF=>o9dsPj=8y2YXMngyE zp?b^6tc@HDRi^32{A8TZVtfLdQol{~&MD+%HsHJ*MO_?38YsjOZ$ZlJ!k!V1n*SFB zqh-%%A*~PgjFVH4@f?X{WX|AlFs*qPft1Faaq{IJKiHPv%tAv+o{XAmSyxfTsq(7f z^Y14Z2K^5TP$YkJOBFbm_JEiL49kBPV!6{cku1b!GEICb3mT;;`wvt|5e8<1+cdGB z6M<=*P%&8iW2a7TSrwMBe3Ea9Uy3T2eDs4%eG!(0@1jtQWr05FJUBuSG8Jn}CK8*+ zR;mf}@2obQWGpQUzh*GUXVrzOtd@m8pl)4~dN2KsvMeaXb!fUa-r_XfhQnU8zm7h5df ziPz1QPr8mRhU-9Kf7&X$R?g$Vq07NKPPNa@S}zlV)x_2iWrPFYtCgmwmb{L1Mc)4P z=q}oM4*f}clTLXIC9Y8=7-Tbm>}?VdVJ$x9`8e6@ICKb#fR6HD8HGeuyyhGo{q?@! zln`Qwq#WhF6QkH}rg2tt-@`p^o^5q9)LV%r5i7i|YS7=R4 zRlI6Rob_EQGEt zS(%<_&K8Q^rku)>8#?bipoX1*wk8nNsm6vaGA~qU7Jd1$YHN|YR2Oe%savd47VnNe z0i2q0F&rUjmgxlW=c)#Rm-bQG4+mp(cJHQAy@+ESC@KZB#Uux9@U>TQi1)(^MXRk+ zay{=zH_>;O>Rpt$o-aRAe$?P05;H$GFyp_Dsv%~iZ>fh}l)wyVNhTckx#94az|`k2 z#Um1$-^D;aoLzTrd4Cv1AtM@Rb}rg1 zo5Y*h(wE#Vxeh!PEoIyC{LSN4%p;LGpe31D z{k6N7t}{u0#oG*2)w$e%fIULRHXG%+Xut z?xSn;o`|9uX5U%vmRz$>v}BCl61FZ&@)W2mv~cJUNA&<%0V#N|(PqcuP#q*wGUpR2MlaY?M4loJ zZ>Zt2_;S5fhvyUAtZQDo)xf)OW?r+9APVW=rJN3K%}NLUEmVS^W4kK~|4+N524B}r zHnu~P-=^Hgt+Z|I!;>6C!I8>no9R)xJaC8;iHbY9ssz(aKdTHe@EVSRS9OblrI*qcgxYc zx1g|VAAwl=-Mk%%2$*{~fshIlcKI=vG7snus(=liJ7{5)oq58JJ-{3MNVgqZVGdij z28at0Oo0HXmN%hTNNK`rH0q6rtJ1=ik|?`XDaN~ZhgnBsTd-^wA?|~_7mi}>0-q_k z4hzc_X|RwFdB`wZ8*y$iW)YoUT*YsHg@JoGawy)xtYd#txQH~=q%e?#*!2HMl@T?Y1`@h}RxEF6 zNKwK5zXAbzlG)><+O_&j-sv=z%mo8V%beI&mlAs zBf1c#19<+!1beu9u=5=3SKj^8gV=xNIJ0sZ_?5J64#6QRo#1CbO!&8U5C2m*{JnrZ z5OTo?KBO>j_tA8JxF-+voTmO=lm&N&ldDDeN8t%(c=cZ{i(t3q#o4+7*vP$Hwm|)-Il=P=s~G>QS7T zx%PlhjI1yZn@~UEVt?!;i8QX2-&ZvRckDZzFbsbU-!7B8@B1kb_Kyk^QS!c1`u#nM zX4scld4*HXcI``umW+J~ek!KecHuu1?_iqDaqjlI*p=X5m<&N@@s_y!Yla_ForuaV zq@0i@{YPm~NN)<;^8W>Cy$cM%(UCJ#xr*|Z+3NIN0wRs8Xm3HQVg!4uM2)!TnI_zRN{u#q@dbOw{{9_-|pmeYQRx?Yh5bJCymnN(;<&~429TbjM|fC+W2 zWI~2;NcB(%t9jI+{Pan83Y!my)E8K7#4{k0d_<`0a~aI>S$lCvy$N;e4yl{yH*-i8 zTax}md;^pt&h*GVcv$&l(W{#1jK#mYo34sh`WEVXZ#O{PgF-ILk&bWwPGrsy>Utlt zXTUcIwZj3}rc>luf+NfBvPie! zU(O?{l%cNUENgO7yl+BX zAF+CzCDir5tg=pQu~65J)>4ML+U1hT?U#Vf#WOT=qw(uAxfx-tg5-=elk85pvJ0|1 zi3+7BJ1Z`OfQnd9!Mm)CCZuPlhO`H!Y=e-BKc4}}5(b=wKx|CTC;1RzI1^zw$x?>8 zN&!`Fp|}ePV~f-;)PNiM4l&3)U-=xy7Frp(v89TRabpX6i!rtc%SE?_7VX^7&QRA- zu?n}ZPmZ^+slnxS`EinFpF%z`&5aDJT%4G9uVHX!V) zfYg7>)EA-uKa4^#`agZr*=mHiVyeHE#N>!xG1pb4rGTU&{tfOHpj7>k-Nvm$qY3f;&0R-!+d0#pmC1Pf5z)x(zM z*?I@V&Z)k+qE<&Op*o=|Ya27{MDjM~mV~PFGnLvzrPlIl@SESedHpC3V&7fH?XeS8 zZ$n^gnB=lZAsBn(MX zlxtG)gzx=|hrL@NCrTf1$HRt*_1{d@kjSpZ!=9Mf1@01>m``yGCRY5d8{!m>p;2&~ zj-iiFo=?n~CvW;tuIVTyav7T1p++w06lA5Eeg3So&(6*9Poijs&G84_Ex9(wMN7u! z_+qdk*+cej_Uni4*1Fgl=RlY%vcAh|DXAah*fEss)fVTB8pD-Z9@#%5&FtqN-Tib0 zUH+a!m^Nf~<+EIisWW6&v}BGSRu0*}#q@6W>o|97U5p$eG`*1Lu?C z0xpyIo{GYJFUB_3XETJAbLOy<{tHm9TVsff!lbsz)Q5Aq{=Ak&W@oqwy-Q`jnNWUD zB;De~bP{R#1%oYJ^qs-AfjCK>!VKA!D+MJ756Ealb|%>cp4S+8dSPags;L%s%gHnE z?Wl?AkJF?a^q=mWn>tSYoo3JnSQDaPL9uUgUR zY_p~#P4jEHUR$2XTenUzR`SSfc3#@~2*pAwg0OG}FvZM@5ZNLH)CxTUZ;>?3BWA5r z)r{3on1_rsMW9TIdtN4F34_)i6pAru(I;JrOf+aMVf~lWQ~WYve1%n~rJ3N&Cr!DQ z2CSDc7~`|{V!*l+b?XMKi|IFWU=iG0Izz&033X&{{I{Bj~Qqsp44$;Ye`4e`h!X@f@7X zTlLW=y}o{MzU5b&b-G~`u6s*RXuf9R0P0RP6FH(XaK2nOT@|hLjq`2j28hvl#P@00 z@EyhZY`To&d=dF}ba1|YPvwv~&VO5Aadsb*`RC8sgm=$7gMT`!l-Cy5Q`9OP1xYY< zSy+iViEE3mWm%JVZ%8Vx2I?#?tBgri`K3MI(Vnt;4l2J=~m%?#%*nJG+r z?A#fgZ$f|7B}jCQyjNof%wR8sA1zBeG3?TXVFUuwHAb|gsQZoB-5NviIK&n6hRY%5 z!t?hX1h``oFtF>m6%-2P!Tv+4n;d4U{yTVKk^#P_CbFQ{YmXo0NbbkY{)P;E^Q?W%aQBBt6*yw zyc`h-ov=R;dhMQ_&B4Hk+%^~+3S5Ld!>tY9zgAvc; ztsUeo3_tM;jm$1~AVWg+FCfq@H|JB4*6q%oPex#N8cVP){Tx=#&m0`KZ89Q|ig9)%Shqjs@4;xgEBf7DG^MJt^uvDt8V!LUGjn4nk?Q~7_> z4G@o@kjto{=oz&Etvj$JI9PLU@v3_Bv<0UL&G_a$B;;Ooes|E`2V z)O1c_kSTS}yI9t~Sy$IT+hjTMbDY2x*3}Uzl%Ah2tT62JtsZ9y!+x4o)`=|^hTYLx z$}nuZTr#T2%lw>jTY)n!RRU>`5gZS$h z4PDMPX*i96=gX>w;4KTQJ z*HR*l7~&@4@2AWzY#!m*`QIZLEt|*Zk=6&B$J*2+txO&q8m3c!fdJdj@!o5$1q_4! zYWkDKczpoP2!`ubqJxoMxygcVrXcWBvLI8+9VbztAwjIk=8Jt51b%j=z6k5X87LHE zeV|V|p+yKwrVeb$O=+wT<5n9c=eNAjrS)MOgE>B{E_h|NK3s;nb!lsWen(j!6yiFx zVH7JMbWu^@2v=9C4U7?m;VGP(rdslZ3GV4k}g#|MFvCo+fbO$s{p)&U)h6YdNG zKc%IGr;N1fBVj}eZYP$J*=${K}}8QD{@4* zc&f}w#_`_+L}7V+H~mSyJkou}?^GpNxcCcu*w{Tggjw%gSK;CbRaw$~*aNUV^_W`>0y z)cdkbSP%w^m!eRNfr38iWSnTAND_EG%Sw$xqefxEinw_=yJi`hVfjdsRw(We9%0Ohm* zDn;;&8x*YK@!X)7UTe*#T3S?pqvE&H_1M~rF?+pxpY+-SAw$oTmzu4NBH~9&;}SI8 zGI0rK>(YlsstImw9g$yhW!SfkDsuAQOr$jEzcDpMVPwdw-fv)8M?}?f z6qdN`!SL>ms7lZ{<0GmP3L4=$MnskDk|GaRL{<7$`V~?2N#}5-ak%-Is-dqDRY|Cr z-Mgt&FE(2ZI+LnCl_TG%FpesGQ&Z3wBC<1^_S)t0s!ukLOjE7-&9c%iMnO6E*t?n% zY+ZRsp(n~Z?zGB&6GbyvWq;~!$z_!lEg4qX#E7cjy4&l*Hp{_?=ep9^D!hxn&hQh@ z`ek-un+*xo{~CdAc^BP}v~F#lK55`0qAH1S!-!AiUc|v+cEyhfq$b)GdkcmVno)0+ zC_?v7yq@v?6X;JSYhphms*(`jBgbIFbG+!`KCu;U%z{p-Q;boeAwl8Ew!#A@qUz#I z$PgyOEhrRYGNeyBttOfbEg?3IPt$X(HsVgo5!<})(4x%+N7}zM}`D8+$15OVLJ752ryU;5=|bdZp9ROS*pBh_3__G zFbw*CEkKd%$t`n`J5)bo43n_f+l*kizAMCa=ZP@Mf^MdWs`q9=rWAMIO@$PBU}pFa zEVA!3&~{k%RYcY2GWA7RA3lXbG1dqAq^klE!jh?cTXItx>%(`fHk`yPtq%_|nB%kR zf>&1S!@r_#UD|pr{f@FeD8zL*)Yy27(}pAR^%zlQ*XR_im@N4B38>VR1fu$svfw*Y z)G8vXWI^3Owm|3-DCHfLSol z{k-BMs>ltDL$^^u$KE=iW1%z=5mg1{xJ&U=y030@L{*rdot>%0V@ZeL6cJSvjpT@^ zTD6@v!nS)ebzDp&_oK|jaJk!pj$^qypZ=t_*HeVld8!19kh-;pjoK#=zye;^<(bD@ zrygjE3+ue|)2vCZG$K3E9&O-H! zp;(t#E|(REkH%3HOZi91h~!VRoA)@o>D(KCBZ@*eOnckmd)zI#_Qpj^#@_g%(`Co- zX7=gh?v}dP73Tn$i<~23>Gd2l#!Z#0biNifTuWF6*(veM?AW*59dlhx`5*@=?O^@H z-I8mtL`%kCE#>T7c252@d-of6n_UbW2c@TBTcH-9$T4GIWw(~_UuLgX7hDUxbAqiz z(F_yp1b0iWF%vBrV}>h4&yYQ1?`FSFb+^{VXmKEV8!aUxM2*%V^i_6=|1kTs)!ir8 z{CY~ZvD)r#$u(A@C1b1(A+bpHjQucsw!__C7o)|&$T(Wb*@e+8a_#Iki1XyQ%U^Yg zKm}~R0&FNYU^9e^%O_!n{A*FJTSJ}<*rc|Fd2Znec+7fronX?5mcrL*$jvDaz)eCu zYUb$f)(ZS;bL2lb3-8*gMtvq%Ft72+tE)c7tP4-p4z!!3ZNYChSEx?c*~JQUS6sQ( znr&_x8!Oc-qxHu0*oO6^8%{g(^s!4X9NqAw(e>-kI^)bIapnNS#qRwCWGJxgKMcc(eJ~ZdB&{zd{+Z+I$_5iXOO>Cz?!T zBVKUY5}Qmf7YM*)x@S>{dFUTdPx>A9`hnEgCj1K5hxbvTA)!yjxUyxx^7b8EGs)#~ zeJ#7;7OFokVJ08q-GyCV6&IW!M}20t-mJ7L^;$DGf~j3>;9h4r=WD8jnUl-}EF(Ay z@dj`guQuH(Q{D8tK^5R`==!cgbzrjHg3o^q4215Jq|dXB`c$Rr$=nnnAS8*;Y6BEV zT}s%17xsefi zIqeLX9*4?>LIWw1qe#{xS(K*g6W)qLNQE-K4oJ%z`9~O^sXqEnbpp;>T|;ldt&rcp=}!E^uhY)J&tZBe zGNn)Zi%``72k%SQn*}%127P;Il6ltg2{f6JXFZSEj>KizjB9Nz%*+zYnJqLxBgC+v z-CR_M6pYvAY@z6xBhD)55PvE+GS*jUv~WLNvDKtYvWsOV^-MwGjS+%2HDGEg4i%5 zPmuQ}AiraRIIEPGoPRontNBG1o0F|ND!8jBdJh=vnAt&g6-5|}OEZAmVUZjU0 zo|qy$6(fvA;7?XYHL{HCpPd@g9vH6;LMk476&pq8G-QNvd2&8U7=+!r1G!4u-0wv2NajH5C-0CpUek<*&hYV6ms82`sf zercj6Ua4vb?%apoQsKcD;hWk3(-0MP>5O^IMgNY#c$Y#&lwXz83*jAXW~6rW`KY@k z*Uq+R$=ul<$1yx|E#v25m|W@$?)JLa+2&xx&u=RnQLG}NujZ@&OJNABNo#F+?io{syp zZn`R3>D$p3*LDNM)fw>ZUxdsVwl1zi_6+!jyx(E7u<10;W)YF^fIZs6?o0ei&)1AW z|LBB4)D%o&kSX+LTY_X#)I$BG4w1r(RncUtC*izavX#Dz2ZW-+v-^_wYNp|0$Lg~rQGE>kzh*(gQ z>={2#4XM5eW@O4Pdq(Vf_!BmYZW5%+f`62pPuepG!cSwxI7kVDLl_Z|s6N_SO+F$SfGW9&ItEqUFIx>&z7CWxabE>4+U*dD@h@-HG7E!)Ew()wU~I69J4mFa=E%=Fz2 z1jK$mc48O7FzB}gD3Y@!G2@{HO6d%*H-vcYv?C-7oSBZ8xGf9f-Dl{aBFxiZ- zua21bt4w_nR)E){P>dCTKIxn_LTE9S;0Qq{Nve5|)rOOBr4`^^4CeT(x&V~b3h+ME zt!t%q`W@xPs}R?rmD+fV(@G=q^?1aDU87ULVS7xkPC%um8xqy0l*w*RQLETvl9OF> zE+@$HhzZGg)g+9N$vz7hTt`gMcP^9tf!>%*#@?JVSt{^klo7zYi2{zyg^JvW^W4uf z{)h>31Le>yo08D6w+`sonFUf}e9GDv%{_lEUtSVCZd1dX+O%W4*J?Lvxu@3QLwxQ` zp$SL4R=s%M4z?#@Olbd5G{ocyeFsCOf{3MRMU`28u}4tZSZi!PIAjl?nF|&-Tcx>R z8J;8b+tY)PiPFyEBKK<4<`N^!_%?mE`zN4iund*A_Re}}kTts!Puz%5trRP*xm(%i z-GxRCuPZ2Lp@HqmxnPAt4=wiGS$~KfQt@)EuqzW_LJ>01tNijP34O){s~T{LMA!Kd z8%$VXHzu=m;m(+RGcwN12+1%wY_{QzAn>CIzpHwqiF=hnU#!;7FDK&5N!Kx1W?gx( zJj{oT!Tb!P(t*ed%~Y$h#ad-Y>y=4(%A!E9vBoId|urApf!PV8ygo z^BRR#y@B#85DDWoTX0FmkCnWc3Dmt4KL^CmcB6`4hhlb2Ocshe=_{IB0=OD`=Yk`q z>h)Hw-tx4M+ZF|fHsQpAV4jIRaC)DaL&{-r8n4Vwz$bnNMVqMdF+2rvK`dorccoRH zC{_#2CO}4uqJT(hpVUVRCYksf_2ZvK1 znm|+;D5|1QbHSn2LT$PYe?wrrgx?2ywYlI(xFXdXrHPU^3;IAaxGn{FSceFbihD z6rXYU5EzL!J3*Wha}mr0jjW=S$pT=f$q^hYBPx;H#7Qgg)Tpr_)w$qk%ElKtjCC#rRJZ4ROKgkl+9?C@@D@c9NTGZdoq&h{*tI1JFWDlOoj^MTty zJ@q0v(T0rS2x1k@_N19_m50#5(nMtjB-|um`R`_HFNU@3VO_c{IJ#J^7j{l~GlfcZ zqEIT~A|GNMw+3sdN*e2?SDoVg?6zRBSKBoQc_>)U`3NR1Xs}W%Rmeeag0FUrV%7i} z&{PZT6m^umsU~EH;0Pm?PBUW3sBKF9SW0uJ#L|~hB7e{O+c3NRr_$p;x8m_TdOWlY zkAI@aTUX<8H$A@hL_EGjkAFTBj|b`T2xa~yJ+@EZA^qhgt8+m$I&vUtNBG`D6Z>iwPEbY&!&x%jj|DQc9x->-l#G z5&ub#gO=lwTZzXL=<&cRJU&T}*B^$*o9MwXbRQw?GxYcZJ)U_K9?zo3&SUYofgTgb zy@Gh{rkfc-KjI{2e_`Jq3^T^f>nkc$`lUhWj5r5pRoz@K{QZkLL0C z1U){z4v&AJ$Crlj_&Plv9L3`ydc1lA9(U2>>eKPKjvl`~1CRfr2OG<8)6o8&9)F_8 zi_XI1CG>b`6CVFck25yov56kHKN*iXdNeM;V>dn4Y{g@c9*iRXL~o2DHe86e@6+R9 zdfajm9sxZ*ehD6*rpG^y?E6k5AvK0d4U6rK+( z3`}rlvR+kul4U*0N>sU57&Wett+GN#81+L8L9ibdm80#t#FvAD0j#XWdYjhGxnO0n zUafMj1?g(p7Lk4@ChLpmwqun*yb#tK5kx=@=F2M}RPBZ4G9!~iL2n5xmUI?YsP~+6 zK^qOUa@9%`k&(3$LWUr3K`P1NvNQ+_JMpFFos(zYp6W1- zsSi%M6eCOjVH)|@QNpSGEK!2tAzaB>_N?=_k6$u=F|BJPFK;WFBDVik0%Fjo8KVj5 zlW>{(8oo%Cu>+OITp8ksV~Ek7LR0K_69xZ~83q5I76pp~fr2F$Zr^?>$VaLc{w;SsmIb%QElWbfITt__*qLKuLH88ZLmehM51W=fh%(PdQPfJ5$V5^8 z&oKZJdn-(&x^PKWnBWK{56kJw*v3kg%mk8^h&!&fOAtfr(cS!QE zD55Q*$B~C(MT%Oi+P`4cidIByMTFweI@VvS1)OS?TE(&c{%h@dpR>=|``jUUq2c?& zyXTxeti9ISYp=c5+H2oD`;G$+m~jC97cOenOXceBe4$vZ){1^}Dx6oWjkPEIYHRBD zsi9X+-87X8=Qj$wnzeRg%%2JmfD&V+a;4btt5es)$Ahtat6XX3Sp##&Y7<)h((J3A zJ@9}7mY=rV8>{!+&^ZI%WUcK@6ehiDt>v|w zKD1D7dgJAa@AQ$jGi;yYdABXuj6iF;bz!XpX#S!-W@b+H&!702V4-QLXsRrq}Rq zXqOu>$k9o!PzO-P3ZnpErLfDZHN3)(h7aFbH3W56quc@v4|~npcxzXo;SYGlaAKjE^Wk zFtEPeD%BdzwF4J!c#(IJztgYOppE7*R0Osu0x{MSIy8Y0I{?`BXdXyBvb8o*+tDb% zycydtQP=@pk3a(>qm|m|$V34dZe-JCTY*6N*6!9+Y3{XCrTO8ktv)>5KDB=)?4Jq$ zOJ~BLPLb85G`ln>oKpvx14~S4VSBU?4is8U^fbwOGqYT5!rBtf9jg?YO<0uR_v~t6 zg8rIUY}e((XkqO7hCfcq%-=mxS=$703G386lq!B>r$5yW=e7zvu*Otrpfp&TS(;Ir z8P4Gg+8HCI+JrySXjiK+b9dDm*OTdtQyNyb<_Ik}Qg778Kum$W$Tym;sc=@MT=l0m z9@ZX(**&-EkKwW;mP{NZ&iovFoZTw7D!%e59M~)xqw-;~_DUjZ6@a?}!7VM_RLX4v zT$PT51-W!I$dqH@-|_J8MEG~owNvfVsiiy=Kb;mYEi2_V9zlSc54Z;54+2Yt;i9d$ zf=$$lZCD}-l}c?_lSo)t+(6XUV6m%~>+MRR<)dT8D0MzpZ3>&tBZsG%8IahgOu%M3ms9Y31SYEf|+TtUm+mQg<*N?&C4!R9M%U+HK zz;sPYgIsBG=-HZ_5@T^F3(#*<2Mdh6h%oXtm~B2xUYKNDK`hM<7bx&@Y|a-$kUhh+ z7%T-gMlNCRfUm{jEF8S7&Yokyl?7rK$1uggSrkE`Y?T0YlRHrJy&6ZpM5*#J3Z9=j zYdQBG2h|9}q;u~A!o6Ei6>RXKY3~F`rFTG!Z&!(E7awm`IMxF|4hUzLL1o^p(3(oN z#36-qL9jQB8bFFi%6vcY&59m zsI(l;p`df5^GAtqYNL2<3F&YwL30s#awEP)^^nj?TeWt|$KgUr__*WyA3Gyx?U zHbzD)3uNOe19(_S@c_F*TsM`8z9>?iV5YZ zD%y)f{-}5V{cPPoZR-9|(mgJw6Fw;UxJghEGmkS9#R%s=Q9ijW^4&qCabVVM(ecfM zb~%#CZ*643fv}N}O0IB5b*d0i4g%cq!?6B`kaw}@4!1moR;{6eH)9>|5Ps?19cJvV z7VmDc>~4NIr(7lKlEO!`aNhB5=!4$VDW;wPP2+`jrL}Emq0;vCUcUR4_`09&E=y&KfnW&C^6I zBQk?)8SsEliLDzz?~{ron4T&Xz+J6Q)cGPPki*1y25Ng1Ohm90Rz0wFG{BYxt8l&D z^6KT?eg*JcslftK06Py@?}#aEya5(CsOL3-2hm;x6+jmd=-&%HOM2cw=~>H4&!CDm zavNtR;j@7FthHN+8iGvF$^k35XF%o!;~ngfgn>^Yc!v-B$QIzWU5A&{)CTjg0$Msj zB9*kDzYF~Bfu1D3UP1A7Q>XZvt>bHcI51xJE5&V*b&yFk*!Ggo%CbVg;EtHpjIMM8 zoB7(>Q42%pw-I_NFM%9-sE9@>e$pXG|+1ebLG{enStq%Y5 z>qEny{JzTY{iXqI{(65Bwt+a;aN=Qu9^wi6K%4F)c`YO%ydEZR$a?6NY8AAv1G~1` zb=cQ4e&wxQe%S^O7yd@Mj{C?hIIGus2ZX10@+`pu!WOMf>`og$u(4AOX11dg?Xdd{D;Of*M=} zb-_$Ext6V?xO4{hA+HVwA0X|5I(wj(i)di%6R7BQzlzk}wj26TU}iJ$fbbALEPtY2 zDm2SYr4a0!fT{U3qYwH7d%`j_g!XX??W2~W;6OrsWCBFzRCr*0a*Ch@4F9l+Ew`p_ z3+KZ3)@0qE3a*BxNO7k11Ydv`!9(!B*94!!pNO^KVfbH(;Oi0mrQmDEkQrTz!`a@G zH{Y(95{MLG$drrezwCi2z8&WH_D&}Gb~4MiXPoAQ$Y>zC-ZHi)Z@yCsuqSVRyGewp zWmXx>P%$Q{5RO^8l~S>DsW}Ba@DpSOMYAhOqtI-Ea?b5D0sj&{!Uw;Ex|Y?X1V$;+ z2P`3r!!tUepX{{5`st&b%lLzjb2i;1>C<{Xcw#e+bR;XgiT=XORSn})b|(glH|XbF zpPLJnaXPd8hM3Y<&4HKQEOpy)t=r!7#V)bgo-B8U*2RLiI6Su-d?;MpT{}RqCBTgd zb9N3L0%vBEiQsfcUdCR?tbK9Msi+{M4~=(?q4Tn0=qdw-dcu$jqWafI*Z6vIR(vhe z@C8#$O261A19Z;P4IGz>bhA|(4F1Z#pau7$v>Xg@d(<9HZ8CThE&6(gR$oVpa#IEO zT*9_%PNO~AD67W$aPGys3lQ`n41wZVpfUI}APGSEYW$M{_L&yg3 zATW-BX{oghf;PskSJmQApLgDQ9b}(t;2i?d?sZrrf@*V-2DwVo3j%Z~ComWG9xxof!R!zqU2e_fuRa zZ9aL}`fQ^XiyU=jfQIrM7>Qs4qN7b2=4LpTQBpSrGZSs_mLxU+&v@`E_$b_lg7KIq zSUd|Df_rIW@4-LaGvZMI!R;ypU+t3fP)ivm|BEo6`k{0F10JL1Ey{@ei7_Kg1i{os zZhVf8PH+d|(7y$GMs@4pFW{x-jIlE3@kB<=0vDv}dAsT_p&{H#fu#lJe-jbDvs}bD zwFa}$!l$uHy9rT{5ZDI>7>rG%&lv3nW?{eLV`Qeu*2^uOqzP=bJT5Iz#TxX7p^spK zf^baehkQc`h-L(^B^4Tz#4ZH2>KL;FP&HM9*fJ1{Hw_GI7>C#fFk+$gs7kFlVBq2- zA*L*_GeIY?!B$Y{mKmz1)YPLf}AzdcGCssy_AK1pwRz@*703!x_WfMLE zL8M)u(7FVcGcTt$Hsp+Go3ApDfs8^i`IJiBAA<;s5- zEr=N!JPPv%6p2R+lT>x@p#w|VR-Ob^K254f%W(LrX)u{MZf@Nhu&8Druma)amYQ$y zRf_2^XT$W#CQN_!xgjw)vA)oo;i%|e$*gdF5rU?U6hWxa{3%NFf6qqqQ%yAAwU?wT zC(_G0?>~;Oj1peK=+7udpUH;NoC%}v0k%^m{j^;+VBfM&z$#ajKTsT~yk`X_<}w^nJp9i5K9~VE81pBXV4?{faq9pDvCYdt(2%xy zL9ZW;Bn!?qR8SQuj$a6<3f4H5g_tUZ7Qq=v7Q{esfifZ+zjqQe6|#^}1@$6|D%cF2 z9ogd3AQS1jN2fR6rK5u$_X1*%&Zkl4dV*(y8xXd^pvFMtGd|TWhl=&In_vXf z6^ZFEhUwtVu~)g^t;#z%zL6nx<<-zvbf&2j2U(4UuDlY#TFO}hY6b6Ax@8kV?zCRW zq=T2c2t?_HJX&ekdjU7z@F*6_Ct4|F7+#L>M=rQu=}gKEZX)BNNbm#^z;CyVPIcyA z4`mf+J_~-hgR}sWDjxhmKLwvv;G#$f{z-Wi9;6M7GkfH%4)%Q(u#qS%+~Kb+MY{=i z_#k3L33rHKh=n^aG-zW!aM7^By`tQl5h?SEut(j z7tZF8SRx2rCR!{WX@{UU8eeqsEZ~~C)f%zMk>K#s#|UCsa4kD$*RgV)V@qt#u38^& zR;^hBT`1N^@q-`qa9IvKL)s}9saMYxozcS+;#qJg5$Wdu(p2tCUgNpWhdT9{qE`6Y zX`oY!p++?7c^o}ddPX}fBi(B$r$JpgC_UIBHq$$&zNQK}~brnlFhOyn$ z{s~Z7n;AIA={bymwSThOzV!%3)zr&Kv={5S3)Zad$sVwdkB!>kX zpxPeVDIBa%uc^d+f&?$NPgn)ucCt^n1F^&Q33SLrdp!e3@3K!gYBQAy;LgGQfZQ!` zUQR9`7(93n_BI&2i*?Ece6mzPh*9&OUSfb??rw>>xZa=ZvEu(x=qxG~RNlt<$`t<( zBV0=vTW_=~{pHA!BjBnd5#WUi32VOuj*L)-fH+)wwzsHPkmntk z7zKY4bct#XCT78dSD3_uu@yaKLRc!Yhp>pvf3hG*Rp8zUW#fB?M@b9Dy#xJZ-8(3! zmf1!}c_StPSr@-+0T=1X_6*;)6jfE*tRd1*A|{kQLj*Hy&%lQ7zGwK21!QG(j;M{D zz-9=Jz1Pt^Fxx(D7@Fr=imGT1o`nHs*g-6Ww)=qQB^HpgqdBtAWk`;^)lt0K9f%c{ zqTQf)O@C0l(E@UI6wl-Gldqfdg^t*3+`GQoQnVYyUY7x}rroa)tH#~0`1;3vT1f;> z!+!Mu`V5Xj-Q^_ftH3X0kNp`33CZ@@xSmJ1veBiV1zCQO6t$}!b1x@{ImKBy@hq@K z7OA&d*b14SDIK>%(F{t*pQEj#Sld-?k{C{*5kO1|)c_!s7v$Aq$CNOsiPSl9Hx7?b z6tk+0`fCR=C@-Waw?ApR4u8p~<#Yy7kSUzbP{PFcD`X4Th(|Ip{?dWx*u+4d>+!@` zKqrPrEIw@Y)7}ZplL_*O1F&p@`~zabT`P|)xd@6u{RDX%DX7EuO$&TotP9bO?dr|f zEWmKl_+@)JZhl0hX5xTU!5lF2Bj4EZ-D!FyW`5-RXhGw+`4N>y&Bzj*1aF8g87zTc z!s-~Dg6|KR1OGb}eqkPp-kKUuSEIhIj{JnQFS3m;435V#i->G2$Bk-nU;cnB#ig|R zO6UEhfIc_T!)-{!n=fjGZ`pH}$8k&ygZbm~@)t9=)EY`q^c2l!BYpb1p|R8(3*I3C`0VCD-K$0iiX?+1BRST{5}fOT$-4mkJnHsnM_Q(!_%vUOq{?YeY=z;FSpVVDJhCJeSXQ>*4gA%7hYsA}P^-E8-M%7Mj?2W#e|jdr1pMJ0bmKP}I7P zF?h%VHd2lmvOZxcsw#b1?S&5`MihHt1VhYT$k5MQre8D4fAU_#aT*6|p8O3q=cjFuCb@4Sc$&azVffVhTg=NWHXMubo6wM%zN6^BeFUNUr z3wO4VGg>IJ!HPl;U6HjKQ++J4SCkP#PNjhus}Xp`4xlC2064aDRl(p8KQ~f0eYwX} z8?oLXNwP9h$*$^KLp?i_t#F_pV=|;)kC{xfOxUdzMF(J+wW5GHcVGP@Mu-lr6_XbD zx{$AF)(Z0)*0un{#Z1Fqj*A&YY9GJ+{0KFm;A;vJ%PUFkCl8t+f+WB!PD_FlF2MC| zd6VWv7Mm{m+7qvpZ0SRgol;HE?ZKIfl&s-2$MOYbOcT!qo%T*hq~LJ?8YI!@@Q)%d z(`6py3lAO8e-y|h`rVHOUMLXBnB<#t$g3RuK-B7a4o^BzTWV!iisO|8 zo_$q}JeDz;p&<5N$Hi~Os9bUJ6%7}`Z?FLZiwp#u!(n7el-Z-+^SpVk{LHC<#yCj@ zrDtjUItC7rljy`avoLK&v4`=p^h+cn4?gmFX~>g&0stS~HK*Fcjv*DC?P0^F_S5WP zto>~Eu(hUMID$AUJXb&4CeJWF?{-*b|7m}(9^OojcSW{2idD(r}n?rA1Ct>)5bR%tpOz7GRiK4$@Y zLBSrudjKe)z`O8|vrd3PlfAwbfQ}~X(nW(M8StQ%$TLT6WvdA%h)6Psr1aC#WUbw& zpx#TpOS*oD()EK`=^EURHE0^@yG?j4AYNft{Txd}{V>JXL!IIa(@;x%1#xq`-K>-8 zu-?A_pi#Xc!P@>s9Fq_^P|IX(pC2w5g>3ndu*;Y@8`ERY$1mF;CGmuknGEz`)Xl`a z+n=5Ke?@j`{RpNd8}-jDysFx!-w9=jTZAmnXh&tIFMmQBF?vSmC#z?~np%3!eEXbY zevp}#qN+J5s~=<@w4II;<_ZxgiJb}*UyK%e_EpT;aDR4bmLA`jIeHi}bju9X(=5C6 zGGG=}anp?7n9!Rmg@)|XD=bWm$|{yL1K82|{{_>6l&mn&dg_kX_n$t^y+#zahZQgSczMCkP+BJ zf^I!$J5Fe!T$_yU#|-GTlbwU8)1jUn>u+(mK#>{B5VY5(n(~gBx!Z}X5unZ{kFqTy zMV9vh)*0$81Mpyg%Pzt{Xkp2i2v2P?c#2BDthGy4Hr`{o;-E5(Lh+i(? z%6v(e3pjG(b98h%bH1TB%y}ZP#>0?RmMi1?uNA28zg7S*PuM5&L#sJYySNm9ZTGrp zLCnqI-BfblW0;;1KOyEo;)($#yT6N6kuJUc*9xfi|M;~6AEcPRFB_&Y#e59Y`>z!+ z-K(Oaf0|q?@DQc>gV|`l%tZ73*9uJKO0$C}C`KR8hEYsdADcz{M5=x!>-Py*<*M>c zN~LdPqtdXTQu=P4T`LgVxyC75zJViTNjcI9Xx;*BcOkev?Ml(o~I*VBZW)E;T}A=y&P|%f-9gfv#d-)Ab;(> zbOc8M=3-mxwD{h`Nd@Ql-leAY)8czs`+9sY?q<2^*L30R8Kz!3i0`GHC(lvNJs5s{ zh@nqavE*ejzE^Tuun4L}(-Hg{7%@vgEeQ=GF}301*qjm>3209wK=ika(_xR9eqTX% z$pn~4@2(LkYp+364F)g4KZ@xvd2*v28AEe>ospn7vzbuhN;VjvL_9>Y*Lh8A&{=eH zt1ODPWOgR8f^aQm+-c8iy3b@Jc(nxusu%1EC~FM8yO}g%485bDtnNX>8BS;}@>Xy@ zaY?-00yz?oxeDKEDXO}$vIgV51CgR6C5R)5xe6I3++BqqvOuj2&=Jcr4FQux@`aAu ze{}EqVM|dJx50f-ID;GZ5h$Jkw+_kW4cF7K&z&%+o71!NCi4@@dhT zmed4CM(U=o`{+N8_2!tGAX?APWD5W`+sewA4C&WnCd-(b;Q0=~GG;p$aqg}LL>4gQ zdBaj@Tj{o1;Oj!fMweJ8X}j4150^BT+RJfCgLuuv1gR{@vlDP-GJfhldTtbj9?MR^ z_X2{<@l*h~j2W^M;A>NMg4e>};@Js^WuTAOwos*9S}vm3ws57LUaSzwqL{^Oag^Rt zip@e?)53*6OA!+ZHn|7zrLJkof{pJX(OPkrsMYiP8u$PW)(SR)TBDg~x$oE?KD0fO zH1Pp4eRMpf9uogBso-p-c*N9xnw5gJpUq0~Wm7L5SSe`d$r6Hd4O%JgH}t7)0eM-p zQb-O9?t^MkE5+O3U58eRgE@z>$%qmZPXW_z$j12X*dqzzx0ooBZ$e?SF1div!Ghmm zZ-c>aSf^Zo>KvxxiOT%mUzNfU)7jJ`nER!~T>ni92Onfte3&k=0E$W)!}4c3b}7$b zJx8ueIoX0BRRj42P|j#@IFU30dQ&_enSL^8S$Y;kzE#O2V|S2sEX;}QYf6k z>`;W_{lWB&7O1mh+OWg0Z6{vm4#aCLMZ3ZB>-&b~_gJ9Lj%8^lV~i|c=p6hJ_pble zQnVY~el#0yfn#E^^>n7g7o*`!eC^l0CIYSfyg3C&p>8yiRYqVLlGpP%3(=6Zm|X*x zcgHR5JW{l0#@xX@PnoRo6aCgrk>7Fg5LiJWQzomWDKgUtHa08fD%B50{Ro+skq3 zh7<)yQVoD_HdIjU zIUK)eBYVALS+tQ!S_C1IC33My8{TzjBReF@aUzh1c0_DFyRc6eE7`~vzolI3hJ?YZ z?sxb#xO}}aiJ2i;l1T`z6GZ4eZ5f?viugMyYqW@cmox$bB5o0*pA2eoHx|foH^eMszqAxpRhq1pvELz5ln|Ual9(RDFyU?)J9Lqq@z?+zu{=*>7(lRm zp>xH_?p=G9qAG5KgQ0K+TiB^kJOgfFKru^#U`?YXL3};gWtIsXg-*pm++zExN|CA( zl0E*nEv%~S@lo11YO#+ww93wcbJ5CIh*Xfd+nTR@LiokCSR}nci^bO_Ew+O1V^;vG zZfhsNc=}oZOl0uZE0XLS2EZ_Bhat88q!BKX?>#BI{wU3UFEkI9U0=LT$*zyN?5)}L zHy4V+`W`#~LI^_G1le zXbZWCTG3y(3~q93whGnOvSGOUrMPWZx!5YPJnHzovruXK&2=mIHX>uf{r3q}QMi(o zE3V*T!u`J#wR)bln2z0+wV0Knf7m^XT_@asK#a;27hlnE5quOIh$h_UFw&je9QG)< zoM<$UWbPTaagqv3&obfu@=W|g^)V&+`=Us7rm)R`>pS?7@^BWGp_{YC>_H#c|Am1? z717jf*4Ie|=QxWWnc7c_vtaFOaTWt|j`6Xmuk;c9%G6^AF&7jNU9PKp89v=`Klx?S zr$U>9>zX7mk!HRq!pEe%(T8-%AsLCZkW_Fc(g~*a(}={{*N8+<>9CD~>B!Eosh182 zLp$$~FbfguTqK*wG9U|Zx~Q*o!dz?`QrcOn_1Ors#ngTpVOaYbVP>r01A$*U`~_3{ z9gu`}n}sCyvS@oT3DDl(lCYWTI^vduM`1Q6-jX0eqHB;GNbna>Pbg#=Zb`uY&@zJY zQFMhO_K0`EYbVRk&Eha28hL?Z^myU2E(ZfkTWVpw*04{E>z~?l=7Em_M?^2TKCpAjAq{{Zeb9 zLgx|el-73*iDb}TGzKhmJFvK_oMKjYF(M_ad-(ibAOUdDbvybLz1uKF)n$k|+d!^WZ1`ifi3vz83Hh*q z%iB$#m@|P#Tjeq4ARy^)#l_0rWUbxc+k@I@;E%OD;NFtofSNEv%GGkKT!0M!I3Zdk zxVmwyQfM~4Vj22sRVL}w@OKv`>J`7~je~8h=z}$_(iGQ@+&&#)6Z{i=lybsH7+U%6 zJ9!I%QV3I{d>CuwHqHVzk~A?KU+l3}^mEW{R2fxy9l4uXMIS*3g}8)ThET)cX-GlG zRbf!$LBY=jsp(Ju6xC%f2gkRCl@yHUrCJgBjqqK)R&Q581QO<>V%0;7Yu;NA7p&D= z&9$CXR)@W1esPBn8^dK4Fv1oZ+u&mQIzEB~ssNMW&*mhsHJle8!v_@5%a~enexD`URtvu{25Qyra&y>gg8I~M7Iyev zwbt^Rrn#%^>)7^4d85ydm5b9QU^>&X+{VjEBgR=wKiOw7phV1K{H;TIi3Lh!7GG#7 zs?OrzASj%{lK(;|o{kVUi`l5%y(HIJpjHOxh|$@Ezc^0WlaAGzd#4pk(QdGML*KA^ zs|D)pShe17bEkWkcUX#cgVR6HhEtfjvGs=X8GJFWH{$D=DAYTVTY?wEj++2&5#h)t z*H5#cJ)>MNpj@Z+9WOUtsTFk5E>qdB$gdD`9`^sR6{uAU6^~V|`aW(nMkl={gir7_ z0JTG-gjX#@OvJ0N1a65A^d-xP(?uGS@lTLOj53~nvdZ|`1Uo_^(I*|!?^z&KChU`z zqTS4%A3)pbNMUlGjoe+%|K0+%GC)_X+U5Mgho-ObN~a4fMZ3Z3A<%Yzu)5R&wK70Q ztXk##neJVlVJX@TPS5TePA{`SogJqO_$><{3Aq%|-s!SnyE_2aT8egq;n8duHm#(T z=aN=Z@pUDxq}f&mfw8cI%CLH3-`Q5r#~cKhwkt~AXz{xPzUHvkx)-by05aNPELO(g zO|2y|7kIzAg0dNTKM(p;sLSh}bSRp4+`qzf{;+Mk{3wEbpUWn1sz{y}aA6G>6s> zEC&l^Ypr)N-)qtfeMfz?@S}2~+4iZ50ya$4{h%sYhUm@~S{br70}caWGGOikublVu za0!qPmQUCj7sgwDV+fkYE%I7#OWhwUkCy?C!fvpRlFNn#Y->F~za#IxY+0$+DBp-N zh?Qk)b7u{Et5y$zm20Qp0HZCw^H#37X@E!{yl!6_<>D=I z+xbK%bFX{g0^_O-4TFhR zN;|N$N_hugxWvQvDD$L%2#!ZK7z~cJBUz;jN`NEnRdl)}i~ z$QztiPdQAhe}^(ql!~V0-mrrQv8d<(hx2hd89xbsxYH*5DUsrIQ?9I+xHysxD_hr? zBZe$O)H4VxA*m&nLS_pffB14pN{FS4xOn6$Sg2GciPKLQdowMF1-Jx{!fja$$G{g^ z^B#6~;!kTvfGq#Uey3*?%&R`Rd@8pue? zrxRaa&5nXv7m{9rCzX-Au3$^uI3X&2E6^ibuUuP@!jx1V45|(|RQ#!fFwnqWg-_ZY z6ep_3GQ5tiPW|HMD3V?!k<{;=C2~op5LRr*lqwOA1mwQbUL_5=e`FN*ozG-tiQ3S! zruob^FRO82Q`aRXd~jJ>qb^E!Bi$iClpUWc32-9cX|JM_AX!obYoM**dDviVMZ&36 zbm)q$NL0KecNJfea4fhY;TF=i!F>SB$xsQtYgNeqC|v7<+cpd}DO7i0JV^`93)LME zP0-+0XNW#2@4yS+AixDbvyC1)8pSH*?{0x7w}vqYMQ^-On;<2}%Z(9zYJj z$`H#!-thj)RdE(DPeI6gXySlnui-UIwRWZG`PF8-L1P;rRcF0TB5w*!&)*HZJ?Kyb zzC35fBc;ycz)e8J&*2|evw_O|$0!^C;V4%%L zLy_GNE*0F2c7#SA0}FD%YV72~${}*+p(vOar+>+TX!;dHUbZpzTqheca(dp^4AW$bamc4Bk!%jpU=yCXXd@L^4DI=`sWo{KU#g>1Z@SL z^cT=9Z&@_X+s7_QZ|aL{nN;16Cr?F-0Z(GW5MS2Qz^>8Vr1hT0xRLGj4kpYm=!E(2 z-b|Q$bi&-8JYjfbjxuRfOV_qZuyw5*UO6e2deNyjjKm$}cbVXPY6r2wea@Erxh#Dm)>Q zWQ47gyrD>r5h=~W*Y!A82kY2$r;u2ln|W3$1|>P?mU21M8Ic-_I3st-#^e-+OptXl zSCWSq=Q8Z^ZHai+IpGxG1UI#cpR2-SjGm}99dY|TVWyfVd4pQOzgzHJ4${E7LI8$*wfjjDRdP1E=k#c+{#@_3!_;S-2(j>g!0pQMocj7bGMt-o1jofno-+ zs(A@^@O->@E)I(1EK_r6BR>v-&k+Ls6B~zi4(tvf2DO@@=1b9D5IPDqp|Qw?JeoF| z5I*676URHPS%))Xh019I#WEZqYeJxB(`#432G@k6k!Y92&`-#a1y;5?nBb`W&4-hd zU>GAl6_V0nJ0?dGSY$GJJ6lc{hi7#Pp2S@jZ2-ofVMr6ipC8WiC+ej_v)okT0>b$M zADj{9G6YFT$lm_9gubbK5d0cDrF|1tIHMCB%YMVo>YGL{SwB-G$U#TAF+XCPjCdBZ zg)##AoDR`qGaJEFvaH!&Cg_~!+)Myh&bj`d^IK~l20!O_CKQ#z0Z`tPbAHqG^v@L* zyr|*2j{yT3&+xsNGy=R7Kf^~qStG+|g5{OV2J%~1x&jN7sQf)kx5+XZR}6 zb~-{>R5%;8dsO(VEKn;0bi}B`>7Ob0PTy=Ps$w;G1r*M3rs}Owygyj|KNhI7W7QfJ z{z>;P|K3ux8=QVB8%|N98j>ptS&J#3!58D{AMv&0qdQ`TcXj#);ZTh{wgqS~*knOF zG6joY-bjjSv3fK@L~*lT%Qf)KM}TN3kapJ7>1=0g!Db;PvG)SQgr3h@#+^O|*%_dp zkw%P?o_?}QdWSPW1A|tDh)esqmZIIvp@qlp;dO` z2X|z)fGBq2=M0Bd*@+*%{SZ(Inye=HV@ znhVt65Qf?l}A9W>j)$rEtSJrc#B%UISK*T47K$J3#E_qSVyK6+B#N=SCC2s;020-t@4?_6JKj{Gd^n)`E_;?e36ou= z%3}qgrii%Kg*oxCYjMHBNwdINg^qXAB~(Wr1@B{*P?1vvJO~bKpQZQl;Bw~VJQ5ey zqk)}{g@4DxKX$`YIM=U2_GrjU2-&Sm9|?!aalRqA52;+q$4&{v&N>`pEJn@*CZBV- zbsC&=z+tj`g;LHq97`iOqh}m3I=_1=9fpB@Ev5IT8V{ei+g{z?~=bh7#XHg!5z(5Z%twL{KwMFM{5cXm@#pVMEV=QY?f$Y!u|p zXBjd%GX%eZ=vb~mxktQzkx)B%QNvw6i+IN#31ckJ6!ETLAY(!=gjYWgJ6#SA)yFC?%S#LON{8C$_w)4Qk>(i|k^bD)Nz zj4cFY1okT2>9B+1O>?pJF9L*MN9c#at0cnu*Qb>6q&sjx+Oea`_=5nUue4W5L+Jjf zlhl;4cOx5sx6+Pel`c5z@3dFZ>5?o~jNUc23getAI&{Ue^O2&-T`Ar*)&Y*?e1{HV z%lv-N8s0_^$=;`Zra>u&9tT1Ly+4P4Ty-p!@iE+r>slRn*1kcz|5}#rlU2OKqn@?> znfZhRZGUDy$Y&@LBMLtmPmgH9lbA5XPxdshYjpEz^^@^gBDO;tPjd8=aT_Dl6gGZc zpp)~x20z*F08o>k><{=p$xlX?fo}X{tCc%6-BW{|WOkP+Z6$ln-Y^ZkW*VTj1YxVd z@P`RPl}d__pJtc>;@np0_Ja zy>#Gtqn+y#(&SA;&)aI!r%D)o)=|RgNx=qW5zcPvE1lcwra`5Vra~$>ljh~7_R~ni z+Sf>9Nd*>~`sjc#wCgN{v6n@csA+EY-z9ozT!bfkMkRlpaG$ zIyg8>h7EL;F>LqV8lK{W+( zc&wYGpwJ~RpgeAZNeXlwf08kc(Nm@$&t5-IXF_w2oWC)0p?(o z%j^i`u49H9^sJstY8iYw)5~?dmX7f(`xw<_Vjc`|jlBwY9aCJSvKDt8D;V@B2Gx^{ zVL_}C&9(H_F)au|yHcD)B(w^R9k95F1CF>1DNAiEuaGeu;q(l>at%LI9m#W7QF{Eb z19F)kkzs5ANOC#F*psnj2@21hfpHpHvBC${S!Fr8G9BFx`{-0|!=V-JRXDd%EM(y} z>;Soq>YeE|nHPhLKCrP-0%Q$VxQ(LXR@Nu3eqYC6B`QU))dypzCUSlRYqw8E!x+Vn13fiyQ5{G$UkFj|3$TukZk zDSH*}#C?$BZSO=Yd_y8^Pedz_?goQz+OeYwdUOtc&0Zx9q5Gp1Qlk}qj%)y_uIxxw z>4LNVC-y2jU6RF$FHQy+KeibX3>S(MzB60N{Gz_HvxI?zM;W?+sCspnMGfz-Jd*U%(V})*QZ@@9Dww^%E+uF|u_9y0&WB#vGM1$ksZf&! z27?P6aH%X@m|o#Ldlf#P&!M={7Ot{2lZ6;`mrNeT*_9G!dk_eTa?<}`aJ3zOstCmt z1XtLrq@jFM;&3DUgZZGO@;f z+G!ZtH)tnR8xpJdF__j-$Fen6F+Q!~7UA?YjOFy;?tTymB1}rJm=vq{MF7+ktN3Mn zpA@S|C15wPiX#nwyaE@nyT>UWZ;n%B?Ig!2zIGbKC<-8L@rftUXpB6^j_~%8@V1U) z5&y$^kx^q2zb|Tq(+`O<4sou)F12KeXMINgMvNv){Gr4_@M~-!5`SpQGUJo zeCLTi79DSpDQPin3rGd$n6~3h?We`GvG%o?Hfy4f(@njMfVQFqQrj;grJd_SE-Bn_ zuAxs;S&V8kQM~_AZ3pWUKRKdJf)|Tu`z|nOhY@X;BZ62&+w_|2B%19hHg`eEy#_di zr$L~3q;ksc8?P*c_-^NDHYPguR>qHQfOd87p_l>ZZ|AUa8$g0wD_M9O$%=PdVqYXs z$dvjZ3P|#_!sgHh_9T&pggV!-QD~8F?*U3Q>6MlkEWic>*HU`yMj~?Mt;1hN{^B^!LU@!>m0aDB0RZt{<$N4{)l4>`wPB@LnbBXUwBa;`!)7!3Z{j%1ZCIO{LBSJCN` zELM#EOD14&PMzS;6;BgJWKnWgAU`9^JdWkJq*i+HYiya{@4MXhe3!4L?0yUWan-R@ z#>Wsru4{GRyL=1n{!LlBPge0_`9n@j_FXbNg5tMaIqh@sg9lI~zBmJO@PoqJ9aUoWCZ4&wfoU^)=J;F@nB8a-m!2cy@QL1|Ao)ERd>4-?_qnj@f#;w`P8-0F$M~o?ppH5;T_&01| zZ~Ez;1ps0aCe2UxGg86XPdD>KL;GodI@W$RKiy(eFCF;lXy>}fQ!N3UpD``SPYjqd zl|?_DiQ@hD(;X5O0Lh*@31G}q_gNTchn~8#kSxqoH{Iqu@diBxV?&+P>Z@BzQR(cf z6Cz}9dFw6))T`RI=4_DAStZ;i!^~2-oZH5*zeJB+6qw`*hRvaI=W|FHnw#PRHWJNa z_jaI1W{(~E_DBkU=G7y)Df;H8yRuIpDn6*bbpax4Ji~T-~yG`UPrU+HSkJ@(NCcR=d^);po7oXG$=yxj9nsd?&YG_4Gek9mwR}W z-G1c&8A2|&U+GGv9Wz=dQuFUD;|m^whF=qW3jQCQ4`qXg@z05CN$Od4vMNMy(C;z+sP% z5P#|ee98i~GC)U+&L&5gc#rH!@AMb$o&L;HRK;rW9VnautG|Te{lV%&55;V{-IcM8 zBUWeOfgg@k`k>?Vc=s-ku@vnFrzb+&8E^_ycg9eJB`HSW%WUt-n{SUYtoXXrQA`Om zg|0Q2U{O^&+cGg2+-G4_oJjZ5Ns98?7RUW2TJ+ByT74ZY$`>cG5@hw$Ujw9rp}z$G zxZ04p5jWQPen0)b>8Ed6WCLyrwtGP@*YyOJz3Zo+!dcV1%o(J)!Qib9)KIo^=u>=)y$W|@A&Ee zS|V&u_~}V^gTdd}v7_#d(NF(=dzCbV?)THD`sqK5Y%myn#*So_E;#ESwpY>Vk}Ot? zetITga888|T`@mBl|{*2p&IZYBoY&=^hO*@$)N-0rMr^D6H z6hfPG{#fu1pmUxeMHoH1J2|@!C8(3+=6+1P#p7&IE1YKNlP>vL6sdF%Lm%|X_aZTf zERJ|N^k5@4us0p?qX0lme55(zuOk(l9r1Nj`)Q7N)_yie{L4+fbl`}mo$K;Ubvtqf zMo0Wh41Jo)q9fi!@%}sF7bufG*#|FSi}~PJ!w@_4!QYG6VLte2G{1@a{doWz3M{Mp zeGNsRqP(F%sN=otVAiQm=0Sqe^P3a3qVH|TuY1e${vkFfp59k+DbAsQ2~#q&bQTial=?fzW*Do{9;hf)L$iTM8AsuR}${D3$r0=@{=b_FVF6g7qnoIn~eh78b8-G&UDX@L?gfXw%MhNYr26x=(#&QesxYVaZ`oFQaj42t&$tCJR}vt!j7 zGVogWE^oCI?FOe|Hk_J51}L8;g$#(Vt^oi-UCa_PfW4@e0oyV$7#wRsDw3Rq44}Mr z3>lc~&?*ZV;ER)339^O^JceT)3?9WlPDT+N61#09*7?Q-unc`HcFBsKPyDbMkWU;` z+iknb#a2m4CvI{+L(*^v?^^3!%oE0loXOAv9G|D#nS#gihm(+1$SaMpZzA6~iI9W; z4OyG1!jyLN^nO4heXxn741 z&{k6?8xI*^8!)_I;u{2(y&Ezx<7AjMy$cy2%?$=Kp;g=FR@sfBhx-q90&-94|4_W` zosfZ}B*OMY$N=eXFgPX~LeZT&Xs?on(ET9;sUZWakqriem3AbnW*40G%k5Qkx+IGg zW5@s#FgT}v<1nXK$N-f^$z9=^$wCGc3HDWo4p_*5Txs`*4D5R$1KTLOUyFZSbu5+f z@n#mz0Ud-4OwjJH&(eLeigyG+aQlHWB>$@8K%Ywp89)Q5a-4ShM+?B&eBsT09!3km zaefg#umWGKQKAJ_;|p6Aajt(qo>EbJtu!~1K!HhM*Qgd`4HV$BL~MsPF0t*oSh{WQ zWPzH($*Bu;VrVb~3ZVVL6ew^z3?MO3fGz{w1PYu6S3_?rSL^MRgxhdZsZ=WtO@&FP z`FRtGu>x$l`M7=nCs%rizX*>8e*if@&)dpj8c+a^r?!^<>G=X=?%Pq`h#fnj{`;MU z758yI4MOr>QEPe}p64i;iu%mwG8|Dn{7xWKdmrG2MrZW zeqr<>f6TEg`j90pf(MW+7&Xv;AF?>iEl?lMA&0icrh?6YPSnKK!(R=+m?QZf0JuX( z^7j!%)RD}_O?m-3>ck4$Zkq|^mhAik+LYGdHAt2OxSaVjg=Blrcv zFc|zd1BLsaQe8->hD^J;L@@e{#Ax47a?U*^z80x-1i6ZxewZwj%%>=NQx@Bxvp$5}?CTF8G2 zm^M0Mjv|eKEQ+7qq@S#gn1kZuf#xD_b;ws*AV*p-=S<#GR5f{Lb^$9(k?f(_Pky&@s8K{-aso0Q|f#P};atB8xvl)>)U{CHBjM?At^KxIyXB@Cd*%RI*+v(tF^^uAjpYC? zEqYZd#{;qypQh?7!H`6J|2?2jWxV7yTvd-hDr$vq*>g#{#xY~Uu3F>zy!^G9t1@|Y z)RDl_c^p|3A5u%!KSXX{nF+Nx0?BV3bN>uDh;1v=^yANy3eEwf-!ZkH7C_3{&lW)X z6H_l81d!6s^{K4REzUit{6A*s(^M9ff5~aV=b#!<{$(%0-@?1j^y_dj+iog+12VJp zNf1r6C!!pF7&~=Qx6i%2U2PKWdaPC*FYjpM%@sn?CQ)|{ztwKALhK8aDT2Dj*{r)p z1b+rcoC;7628ZFFEOx?aI-3b44q=0V&0kzi&-FOtN)9@UPHvS&adl;S`l$$);2Eo) z-Ug`>)6r{n5;j>OI{GEx`=y+OIYAnJbqu&fQ!3=uDLNYwE^D^y^#<(jeBK5!9bvGD zf^U&;>ntcx^{RuRtWmK)n>1on?CGa|DE60IAXoI>%Pd7z z>=mU;!l^V6<52`&S-X|6=h@o@yDZV@!th>oJoppiJhG+*-`ArM(j)CCv6~2VfbqJ&QPZR|6uJDFnr^6asTa3hMA3 zv@~5!=|aRtJ9d(`^DXdjNi)Y@j!PQEYbGX0Wx;?MFSs(9$#}u{0)otO;{`5b2IB?3 zHW@E21U#f0FVaWDtSawzB{pO9HNBe%Uo#sEa==h&u(XN7TUrLEpjN?gi_>%)O|CS; zUxY_pT4-JmW^Ax#7x3iMc%wE!^kFUmlM9I15?lu(0(o@}{!yfAx@62ljjKfs0_!;d zYp3?4WjGKyjvT=_xMw1kBk-~w7qKO26(e>e383A@`YNrV93I|Vx2#$B$I6AuHhOMs z*)VKkVgFF7Rf_c0x*TRNANEKN^I`9XcA?rT!-22Jds%C|fG5<}tsaJbO0`(qwQdcB zyTTQXn!V~Xg1&Po9ym4mqo5s;#IF!!prcGC9Je&!S?iaHTH)JzY^TyNnXgZ-E!M`G zU_FE*k`OzbM!&pPm3ef(D$ubgQkUZ;_FhNO8^lmu5%d)eLBZ>>0b)3lro@9HpwbA{ z$XgwbyE4Op{&q@+nfmnUv3(+D{`TYhNSfLRE(If$1;xQO#Ut zV9*XoNP+2)goEa_#zegNq9`Ao@ff}LgRwF81t zU^*n&p>hgwCBQ_iL!!kv&Eg+)(!JO;$TZSjnvHbZOzo$UjgruNgwz}nZzu!av}#+nEj-fe2X z12WKVJ0!z=p%R-AH~;A zy>vhc+IbdA*vq2((WIAl9D8``Hc$)OuyYy#6@Ntd2Ad~I+;7#C`epk6w@>Y1eO5o&@ z<#yo{t?U27W}Y+WJ_);+OTmI1F>lPrKhEY2jL4kE+hW3ebJ&QwFuSbN4IGA) zc-s8)nymudl+73kj4`L{b4K63=k>-TwiymRx0;nw!rxbDP(<3zRSVU1TN`aK!<4Jz zMmxh$N406uX;#u$sF{LbbW)i-?LQ~3+s1?3n2Zgt{WN;8_6_t%A;Wu2y>vhZ+Ibc-*vq1_W}0++ zN?8k!OB3J8NeCs(F*WWKKz9~3j_7YxlY1N~MK!s7NLrHxe<^_Oq-|ccwFIvCv4&r0 zL8w!~)9|k-e7j2Jv68ogx{pZ72~<8&qlAfy`sE1x1bOOF2Z&G!``3XG4#B_TXa|F@ zvq5t`A=$e@J*Z3fHL89^QZ*jDXO9h0uSR16N_{2pN%WilgubGSpK3J*6!O@;A0b#v z*%F;_#wK`rUTo77s7WvAMo8HQosP_u8?DtU!?2MVFSIKysi-1>NCWe5Gl?U=4|)QQn@Jjh_=5O}8~Vu*jiBF_HVX&H*F5^5 z)8RM^oCpm&Uvspjs2azRH4N_rXgeJxEDVp0+dT|#jRk6DfQ~p_sIm*kt^QKS@g?pc zTxcn(;y73dg)@ZXy%36Lz%j60?3@k75PUJ7vk_kxMdy#eM;QCW*j(KZCo2*_ED{8F zfCWuR)E|OGfX06hlM9R@>9PRVm{eJ?VbdjPvLIcte7ObMbfPd>a3g8NC=2MP?q$L4 z7C4ou@+M2sZus;LXgeJxOctxd$pXQUMp+=f(h0B3AAt`h3zSbVU9ny^S+L83rkE^96)(Y4RBZf~h>cVgj|ab@ zei9AkimEa!%=Y^Zt+L=Zu8eVQGaYIcW5)Gzp)SQ^%y7{#1i#^HQ}Em3)8KvVP9-mz%uST57;#0yq=rFJ+%29uw)HIo9IHH^ z%yp`*?_^OceAjff^$E1a%zX2ePt?Mvyb&UTh|K4Sfo3u8N%RD3uz`qi@0esdQf*%` zDlJsYvb}(wtb-Nc%HUl7tPkWx07rDslNwL-LQ=um!1NMR`)LLy*1m3FvUvkbrd~QQ zFwxGF#Tw^zwDVm=`qW6GOguA5XaPwQ_Nvhl+Ibd|*vq2L&omeJn9c9V1WBH3?vvog%zY;SraLtEeFlld%zgWWz$TVH51@9k z^u4ruOCL4up_92;h6_tZYwc>WK#uw|#k#M32*D718OJ;r{4*Om*T9mOWh5*5Y4;tn zenFD8@20-*LtoKlFRCB2^Epo;Sa9(Q{>k;s)HlMGV=p&esTEq%-baGv(cV|7K|lj% zxJkC2Xy!h#q%&3&&w_1;t}^5F^s%b@+9zO?Mzi1V3Brt9efr6|)t^lU%GW;jq(eGr zfmGQGA7&}4ZbY*h{*HpS(~-h9`)uUyoBa_B)XD%Iu`2fUs*0q))Ny>iI|%D6MO7RJ zr$gZkhQAA-cm^DsHv57ljhlV(_29@v66gq{UqHTMEp^+ItV>Y&IvD(xOpH`H%*}qk zB1O~9ej{x6mMjJL_NFzqMKtJ_DF1+3XsWNR|Ybn|d&%P1b zPDcup3vA@>a^YSJ)XD%Iv8s!Js1eW*Q29}J5I$@v+6|6BmJP=yxgc25C>O-ngCi43 zkqeP8AQ!M!Ho0(v1xZL!<_@58Ayw3H6W}i#q|Lq5QHOeqqY3c44y`g1AXn130-6pr zGXZjiU8qrU6Cf@h1`{B@Hkkky48!~Wm;le@2SPGi08dS|0P<$LFaVybZyR}w#Qw)0 z6eFPas$)ywNq}mV^^=!6ZXLm>zvD%%@Sf>v3FP>R83O0YFVqewUkE8dRO=ODlv&Jx z5;wsJHV`obo`PEg4nYz*>3%@5J}r*bVp|5yDoD(Rylt+F>o4^YUIG9{H%h7Y!3#(Q zXJgb>Q~PPgDAs;9W7Mdrmkx|kwDV+{$7cZA2hSsYY7_#sjN_ir)l4C!l%$aQQm4?% zOk+zk7w#ezoGEmhsr@txvG%i3=xwH6I-n5kJPU>FWzk${nzMV%TsUZ!`^nZq32n?; zcoZPILu=tfNF!z~+!us8F%}*JK>u$u7JeSbJQ(~F8#>q3l2>k|DjEy-8LECxQnl~4 z!tX*~(Iqg!R`_iMYbjgRduA&Jc7j8e+bP8Y2M@9oRrj!2?T3d#+v!MQb^C^f{_!%Xu^ks7AYAT_XlHmPyF1zjsAje?o|I~1 z#3sA2FP^9GGYNnq*@T+jjpt|)iQ0(QnrfS+%;$=a1thCXpS(}u_7$`+9w};tcTHCd zBc(?qH`*-vmRc6+gAfeFs(6|hSr)6J#78iM4MePpr@0f7(NW%Z&}GJv^8uXb1}fEt zcrK~nY@ym@YCp|F#oEtip}NM@O9vJz+Ig}(<2;Tw#Is1BiVd;fd6L?uL8ciKZy*(% zN%bmI`)QVEQ~MndiFVr|kruE#Ng^a8az6;qjl}le{81MIA25w1jS}z8 zMv0G^+E1edYhR;;HBHZFO}%tL588Padf3aNS=S^q_n2At(D-tjY|@pG#!R}00+Ks4 z>HY-i!%VuEw_LA4&Y^Kk_JWb1#pOkRXQ2#G8SurxA(irMFn zEJanDOIB<6WzcpyQkY$fjojU?HEw}g8K5Ip=ksIqA`_?bM(2ZF?wz+RMOEwuqfj`5 z9efgsXTYw>qD657UyK$l@%7A3XP>}Z*l`me5D^YlnkMUabiEo3R$9=G?7{5mc~Ugp zo_;%SpuJqV3c>m`Uptjam;`@(lH{pJsRQ3Ve%HXVVtK-^HbFJmRw<17mF6;%Ua(LZ zYgZuo4Am064dY(5M(aZdB-PkBCL{zsqUzNk*q7v~sqKWQ-*Kqcf`l|huh3`|Ch1ZY zxt+_J0Q7zfUeei#S?2$mG-8xs^pjPB%>+zwM*{gR_=L#W&sd;TCikZ;MZ1|_pM|#5 z5yGSw8@0Ri`j!Q1Wq^(tokQ7@Bb7huc>RfcxBp=&+6`Wx$%a>x+!8Eklw0EKE9s0f z&(J4tzB4*UpS=0)y`H6l0^v<*!0Z8WF&H3TvdPi+S=b<>9KDWON0=n#3obDr zplW+!6eJ#KdG+#c5S>U9RP4%d>j@K}AXo8w!E4ki6}&$~7*-=9ky}_&4KAmyNY{eX zr2rF)Cy_>sVv&C8RxGZyK&eQLGc85CnZD;j+vx~lVv&v7T`XR1fm#`$BStejE63bH z*lsD>4UYY6I5vq$!Hz}|DZZZH^`w&$uKTt?*+a;(38@n-gop{LRQ-{=K~HxOeasDt zJ7Y&T=#dVsGB+qU18^%%I@HV!%57v~qaJsI;x5DB2F2GVH|WQZ75n1`T{Gbq%N;mE zPqsKhvC%GEq31_!vjj+YA6m!9Exr(8{baiwcNC#B^l?!uynFgOLn%!n?$9}u0fg4d z9)(09yMb?u@nvy|N~{Fm!Um>~OZ4XePSoU<>Joj1RB-mQ%~)w@Kh3+t+Rx_QS!C*^ z1Md#)JXyAJPDhvMj|n37pi4Ao8f2Oy?i5nNnN-g+wVy^R*1krn6qo2lruI7^679A_ zBK5>2daY?BX_UA+8zrtcwVy@_*1kpwt4nm!)Jq5Spq*!-hrKMiL`_0-kGVt-H!Zu# zPEiSK%qjW^$cYY}qW2($m{WB6ucpK;`Y4PR6=v&IE3fafTa>Qe9yr`;l{T0-!8=Ml zGhXh}^%o5#cu1!iR6_R%?gv(YIq^66CyOg@AJD=G-+X`#3~otzKEIzQY)E%0(Rvdd zra)0}m<|uXUvHf^b{bRVN%iII0V)r%n|j99Enhj3Yu?akcJK+TK^?aeqy2Z>ehIpbYLN+!+s`9}OPLznGso>F;bYC_ zxJ8EPx1;vQ7UZbrtM@@!qoei*q!FV%kAAY+^BmG19k9wyMs{rJ_m)Aa_NJ_k+5-WM zbfhqw9viv4P48&;0Xkw;amzBJuJT4qXc|rH-uW_1Q5Czv5l}dTqjngIXTYw>nkSgi zXw4H}mqi`5NwZDhDRiy^Ya#Zdu7$~3CF)S;L5-&^Osm-D{+$&4U*d=zwXj<{yD*Q# zb)*ragrc9U63XI;-DQCismG*K%TlzP`7;S^rz3<(CpKz#>GVbm)XD%IG0Hu!+~36f zvSPjwxpa?vx9_wR?FO&!&W2Z$ToNp3luP34en+elw=ozXUb4y2ms;2$qa5AdPe&{@ z^}-pKPF%6yunaU^4lu#^71D@NFw#%m3dWyUpj70>e^`okGl8Fhw$l;91S1=@yI`EX z+F37k#As$$?4UachgphtgX5#1?F=|J2}!|@Mja4HP(pE}N+O zXA8r}L{+L5$=$L4=AcM2cP#FA9o?~yJG9E&v3zr%$sNmWb7K1)cgNyh!r+d@*Cu!D z^~jF>amTLO;kULyw(EMkWj&ipZ%l@ZZkMI{Vr7e6_+yvohGE%e4uB=ew7ADrUfVh# zOL6a_`bta_qK>^1aH{gS-S3LmwcaFZg>T>Ee%J9vVZz^4Yh0g~zr;=2d3Ep+$LBnb zGl~{@&{O{qIkq+vYH>W0-#P;C1XM(gQK>G?DN@1NPxf9@`)S@8)_ykc%tuVUbl{z# zohM5*)us6+L!YV{kC#R7jAXdrjZlrav}G^BZg|(3*CRYCX@*UKuqIc#(+-K<_(ts8 z#ouu5qt?EVPj!nFzz2Udo4OWOMBq+G#ZP++KrKkhgD>KHJKR>9j==h%!n2H_YOjjZ9Y)wIc`3FM2gzw^W4knD#Tytjo*)1p@%$4hcNIKfmefOsuZnF)H&Z02r|db9Jq`b%pCaIWab!H1MmA|=2+PTGe^0a$;y#_ z!KY}j3nPc8Z^1;9Iou4vQ{2QcUzFkVRe7V&1`n{Qu6W5}kMB3pz;T?Y72Y|`3>?bP zBleBC3||x{(!8O)546Pi+9wb!;#o)HnShSy&L`E#vD#2U)h;-$F|>Kau`JpFBwd0$ zk_a&%r)h8`yz9^o5V@OBVj0ELCt-He{>ZNLXzbd>3~=%mzeP4&WX_SzJq7^b7L4f> zwFc*4r?P@9!F343U~mlsh0CmD_NHQX>9po&g59encH?_`yUIAQxqt@3mfvV{)T*xp z2FY4}1N0STY?V(H#j%QD2{wRQ!F%Dx8LodpYna(iMiZ`}B-c0fWGjz~A^jNN#YT4H zvq?EV4ECgt;Lj{0P?zW{p{#L7ehX;?=Kq0SPHLqDL-dnD4GFZZX+$GoApnuLI^^%L zK#sU)JMud%MOBq1>yG@Lh?Iwbl&=Xs1^*A?NMbv3futEjMjQe9jJrlr@5m&|3%rDh zMPRC9JL*a%?G+ZZA%>Y+joht@QbUsgyE*-OhgO+J#iuftPN^UVOrzq`RZKQb z#v@?C2LS|wMuo3U8rApkeX2&~1laDSoB+Y=@u$A{AYg>|41hf&0GmBlfqmjsaLOzI z>E}kcuEw_6jqVbz@TiGG^ZMmGAPoj&#;7%xW74hVxZ+QV6_1wjL>U@(&dQt!;_0Mo ziB)^3G+5e1S*f%P0(j4XIOx-KNtP>(@E74ilv6}WgVW|*80jws2M05r2ha}&e}JK> z%$mL~<)Oy^h#CZ@ivXtgaS)hvJ@TfhTHwP%D>V;qUS71AJ+lOl^)_R!i!Le^&2^)62HBu zR`k~`BUkAz8}`WGbt{HR$`f9~Z#H}q@7Cv9TiG^ zuHhEvQqreFiG>r2Y%mi83P@t$gHDXsnud{fD)7%p1!rR1X=*=>7_5Db7;~BQ;{y@T z`dHp;>Z=2iP!KvK$y_F&P1Kl8zVT78Cw&Z`GL0dP9-qiYkI$RhPooEGU!%v26?_cv zONamen%eJx2DIA_Y0zcH?O&M2kVb?5%0`0&&ol_YG#aq>H5yn?${u3sr2|UP&O4;U zA{yl+R1?#zfD{I(zHpY}k2+rsnMRXFlT%3rXE}AIsr@vXu=X{Y%;OpuAB%jUkLF@i zZynHv0+EF__OfUnGpQ3DpJF~?8>~|8ir*XoU2H_E&m&A73THzsLb*5<$Cz5ffPHed^FS(o0k&XpafS!z3^aN{hJD|#@6NpFM&U#Kh)9DEJyV< zVmLY$nnOL0lDr8A!AX|2S8x0<%H@9fuFFCgrwK4@)#pEY#xu*nUif{ z@=Qt4wvZe;zM)UsLb7cuZAaZml7`oFfWP|t)XZmub6*q`)6SczE z?EMWQ$8Kb6=AfBC{NS_KNy43BTHH{%nhxr+);7o~` zXBjA+MhVuwMu`;NezB?j4roBT%|ZivS=3rgbFJ@MOSq7#F-))|>Ms(wnEvt>AafS| zg(xmmg*gjJLRFY)C0)sqItAl$Qlu^>X;r{iO2bM~CW1=DbSSX+p{5jfeK!0X+J3Xe zOA4K+N3DsqFL(hU8QAM${F6z&nNI5+p~wYn2%y^b-6#4IWX;i3gFO#(z7oM&$`;6k zFz4Xuc~LiMF8ERGo#HzE5%N(i9D2ht3_3F4}~WtS8xO@A4LS!2L7_!XLD z1HhTJnI~ErB;&1mqds@Fz}Gg}J}g6-@&fLoS*Gj*V1ob~ifRj!rbDD&r40UQ%J~tW zuhk6Ow$Mj)W}XjasmB-hXt*n5$3$-+jTk+?^iw}PzOS`Fj_@&$@2!@i-FSRMM9M?3 zkz^jsVcK16)Iuj54v^7)fx3zPVFws1iU z+R}wBNh6kd@ecaIl4(XPGGJjLvk2wWJZF?m$0T zbq9y+U|TGZDk5mJrD!*^{|ab39Vtv#U?X?e6|T2Htqjl+t0EVe@bW2d#AGFk%AdG* zK4~f14R&9i4Z9}UDwxq2dndjQxz8+tsW3w&*k)p1*(A%E7StjOXp$vWSn+fbB?o!M zqW*CI<{0(2)uB}u^~X1>+~%DQHH-S=HV3htj7R;UB5DY(!`G&$zkf#NibeeqgFK6_ z>o~w{nB1s11OaARTp4o&#QX)v7>niUy)7NP3r@lX8^WvzEVyN6L1iLaf5-lUA4E7g z*%qMs3!W0S!ds_-zkp&l;x4dWLjFrJh%C+mIrQLJY#`z+INU@Xq67CZI&0zDxVoGg zoi&eCa5hpOV`@LmNX^>UjMP?lLC(}m2c~M;d9vi;jEnAqS)@ zNCjs~TxM!NjS{T=Y?Qdx)Jq4Hpq*!-guN^}4NP;c|4xGiiqK6?&@N$%`3(LI+OEu!wzpx_#QrO zp^v&%4xy~k_wY&5h|zvPKUwVuk#l7(r_H`*fn3>cf7w!0-SK8UZT1aBisE~SBZ=7) z7$)593C~!dRtD&ZWyRCLFs!^0f{xe|4mig?Z<($3_ZB!+>;^xE!Wn!I2Lc%V!R}G+ z19Zf0%*ViR9DA>0ddMA+rIw=IVEXjFVS2p<>g;?R@iK5}p?f5BEMM*p#ATME-C%iZ zHY}U$W0V`=i_tzNzV7!u^xf4z7$CM)T`+m0gK9qBA@KJWVTqH0SqL8>Mbmu`Tj^!) za3pUS;&NKV<-jxVl24u7^!x2U=icEXmZIHY z^zm#MH3?S1d`7`4zFwR*znt%3mvJWH`m_d}?oyuu!GiE*6GgAGkRv9FQl%SrR(!-k zz%ge9ZulIX756x_%A6H^cbmys!L1!){~32ypyq0DR^V%sv*P%3;eCIc72qHs_nA4n zD~?NYSJ2xHI(Ar`ENo{49<<{0%w@3}@Tc;#o6BNE)CzB#7A^~l;fT}1>8juh#89$0 zE+hhi_1M7Pa9msk9Y<|Gsg8@Sq=K`#eB9K2nz@{{pUqs}GWF7dxtw;MEIU=l#b(lH z?;IDeH;p09ad8`|;7o~knA%UH1ZzJVCEjo9r2|UP&a+U$UKSk}ra9Mt$HhUK@J)7I zNa$j&i_-wH9l9>QgfwBUi)kfkiSuF@pu@$(>b$6Q=)6F&-m&{)&vq&{K*4tqD}%we z8FILSl)SPcf$?zY^ds;$C4u{XeB!^Mujq1?kW%g$1Zycc^mqix#M}V>jliaC2d_-2rJ>igttPU46s! z>n%`c$8-lSjJw@|c!#BEH(0(W8;V@BVq3MdByV|u$%zYN zj)l2!GB6j$Oj0!6h4IHdcVVD%Za#^LU2*RK^=Js~n0URvW*J(#9A{39e<6(+RSEjZ zs!CX#7(cc^sYs(AT8eff2z~->rz3=^4Q$lzYQxO)(lt6|fUX!#cVZmw-r-_P(QYt0 z2yJJ;s7bU6<}->`@%061J_k1^2AySM{)88%HEDNaut_@@AdJ}r(ibgE9ur8ZGLAbk z4sd9dIWlnD=jh1zPlwGUb7b&6F5jo8L(NWIaLb3-g~lBjsJ|K<8Ti`d$S5OI_Q#R2 z8fK;6sMjimmhYad=_Io^Luo6L^*2k(rn8wBBvN?uZiZPed%S5g44b#BUp`eQ;{*}pg7ib@8#$D~5j*mBpk!A6FNPGmZ#|9#P zk5f&)sbQ7?ERqvZHNT5$EG9y`Yr~q@;V%J_sO2ct5poZy;B0>Xkg5GN^E+!loB91= zQ!gEu-)ZN`QjD`Vp5VBP^r=!p%se9{Y>M5#n#Pdk2>B|h;7o}hnA%UH1ZzJVC7w0) z(g7uC=N(d_XNg1)etyQ;F+eIf)8sf)`)M>`?Q1lVc|(~LmoId&b(*QS4roJx$U+-? zS#(mF1Z4l6RENfw(_~MT1Tp5R+6kQBp{MG_NEqg+ntn?qaaZkz(K)%Rb`y71t&TTF zz|F6@F(C#T1<{Q4w_dBk{dxi zOtd7DrA?3@cH&7fSv4e=v3=M?}W^rbg_2ycS-h?;|x1|&y{W4@_zR`#59>e1O4ede^tQqC8 zVQ;KGihm$Y^UiXu4P~nSZpzb>#I809DSZ2wWjpYC?;tS_#38l+-K$hYTwmZP_I-kv=R``}Z z=Kvqao9K7d8rSFLFLC!+ULAGB0X>f+i{j&V;$Xf0A*bKqIumMf1d`u6=Kg(}pCN29n3x0zOCYS_0eK|kJ@zd?0$CnwoEN^ZJ@fJYQ`@b&xB6Dy?v^a^UV^Wt zYdv-9)Twh$ol~_RIEe4?sprentb+Fm+96x}X(wo+ed7epc|+hUY`t`Ga>hIF%(?XQ z<$|S8J*GpJrIWLW(t=4;W3B~JFTr(4>+WbOT%A}`>@{zC1&{Z{PKU0iPJM!zF5BI% z@oUr6%XLs6)ysIKOg2ibc0&{rIXL`b4~mQ3vA0GPeFpC$s0V{T6~Idt-Fb0i4`RVa zN9Ss0Gw~l+H)*zaFxVsEcIEE+w)a+g~-)-L6K7u-hjj-DzyTr zgkEOZQLnXdc8FuggOyg9ojsal#Lga@?OA$jg-#&pbdnPt<6|*F-of9#=0JfilRb{I z*3*zLu|}-M3ZCUOR&;S1@?!_&G<#Q;6AyhKu<-0-3Vb72hncYUIxsE*rU9tvkT3wZ{LXTYt^l%Yt|YRXW#dk@QU zR7edEPy66YGy+|+i+0WU+v=S84+fuiECyOPk8zSErst_re1sKs^XJ98`SvI&Q2kc8 zVw`!GgQ_&nd_9V0;LKxt!7fdPI-1)fxoI(1nWCqra&YmO#aj|3{!;T0Nb4MTMNPHz zDUIpN6Y!dcMY*D+)`j~3$3BTCi)b3e>Zb4eWm|8n!vSriY6^^0OFcJ{z1U;^1d-AF z^_j?)aU#pL4$YP%0*y2^QbueKc>pWKfIlRhE78#@23WQ=%T@^DiWM~Bd%FX^9$0L= zV=r#|RtG$i)4a)DPI4N;YbGK{CBZ-#FQhOjCFAr;!o6SW0&1F*#tYiUEXE5;wiz$J zP3ecnc(D=hNKUZVB0X#uXW6~_RTDj!E>00@mTGH=6dwFa8ZMTqGID8ZDJJ3n6o}Kg zV`mO0l}R#NJgI7h4<0RM3vJ9XtHol0D2|NCXknzACJQ4A%tQS)u{W?IDLQcKuAx?Hmx#t}*mGZ}e9-KFooV%ygV%k*l z`BkOjOPcj6tL7uvOykBiHuR6S-FGHv&O_H7ofOQ_IxNO=Bz!7&qAyQHeLI1*P7qoL zpGr+p-^Ay7$k4o*f==Qd&ouHF0mO9dg{+(;4e?7&K9ezSb&NpYcsHV~RnNYOHG&m? zd~PU`HCg*S%OYF^hQb+>GlW4ZmTE#?b3jg_xKKm)JBsRpN>)94mXM<9*-0b`JzF6u z@uZ;2vFd^<_vB79ukaFfEP^#o?dWSfRp?+IGP@mUBMb{+nW)=SPP*KqRUs$IrJPAl zl5ABiwxpc&a)4lwlPK9HCw-98Q{|*oTn0jbI}NY)@(Bnw(Vw*8niU!CSpfT_0&HQS z3hi$$IBx+!`ivE>r!FK$6Az;Zm(zYeGJ|^>abiEG_BEc)o<-*AXWc$mKKpjIUu`H4 zmd827<@M#E>vrn!hO0$`waRQ8u>`OnYOS(Nv}$C=ntqnn^r`L1@mSuKR%TR;tH{+slV_r5lY8eda2*pROWTvsSCF2xFLDlNU4IS7`U;>XSjKARl=Y`nsc$h=(%m-c=f4e_w&kCtlOnS0_M{8$!ZOR^gAa z?*EN89h+O3w0G(oXj&aEQDapNX=xTHP3qT0Iw5ATIk-WamUJ>XeFr=Z@$UBxQ@P#s z7Ng1Bj(Vd3{MXgh(CLK~zW#u=8C0!HJ7jA zT~K-kl-z3axgC44x#Rf1O-aMj%1#u-VtDwgIn31%#T#;vFwNJg>_8DG3^dqWp=2e#*$Kt-AG zFa@qamaG93}8mE9IHazMZ^i^kbR%n%q0|(G1 zo~0iu*4vZS(#T}JQN*Fo1{p{7|0zJH@c*|cAYv|OaOQHFVilZiJM}KcQEmc5luSlv zE@5SBp9ZTX>d5H`S=mu$4yJzHmS;FAW!0 zD_EZS>fFO~YMVUU35MK(PU#4#wgsjX0wTtM!uT!~E+9NW961BROeA##BOL1+SQTto z&+8jH)Xes=O$?48)i)o%4fD26^ig$AOpeZP>kaU>$vO^sXK`pNv`79O8S+`MF|ciX9cVu$xWS8#o@GX>Jt?=_rQq^iak)n`U!K1(zbR6J1=( zDu6Do>n9o_(&%fmm}7!BJ9WI+ppM|5mqha;1aBkIAv~~yp5z-TkQ~M3eC&%&V5ri{ zV}r{fLLt}0?v6jPfkSeTL}Stlq>C1I$~)Q>Y`eME!8#pw3AqN*$`^0S6-(2N5?)G2 z{nqFJXAzO?-F{lYkc{eS>Rr)Ja0kuxU{GfyYSMI!%aJDy+a~s*{C;kSac2bArJC{p?Nh4aA`Z7?newN?J2NVL${XqOREMs-`h=<#ez?y^ zXB|g7I(ukqv0i{KE>u@@Hby&F?3g3&$NGvw*{WEZ5_gGo6Nz6^=y0hG5{X|nkQjWC z8ej*0k>hrnn9aFwN(mFb?`DRN&PSt3*5Lb3g{$Q{^>IW+r;^FcA=B0Q_>CJSa_LVK z-k$^BxDFAdIXnN9RWMIK2coqhd(xB49v5C^=`rn6D&Aw~eL+q%oq;}S8II12WLY`` zwIRLhyMZ=O%+!nRYNddiwDmA&8=)C*Udt7|T}m0DXAyb%Ae{>aKm9@l(1u+zhjqB+_WoQJYy zb{`LCd1PXOYpj%sus7Cog+__=YFPBxHfvGFrMDN`Vx`~&iyZ`HT*@OADYbzfxegVn z1{Z@&f&Po=pDa7&vCgF#DQpp=hKZ%yUH-XuYHE|k6Q(n5G|7Bj5JEO~{tHc7PT76* zE@NVV9FdP0aC=ACM)e+snD_`+pJM6GZR-n+*4I-Yr_}94)+UlUrzcwV>b6azo0GzW zx*=0Y`s%kLMkYSI(3=t^lOyrrW>qWv@5iwCU?4tm*XDA4TI3F7CYrdcD6IHO5wuH3 zxD3kFK+J9E!mj9nfjgw#`FN788D7fVb(d)c<)Do;bIkVuDwwjwylt{4 z{AITP2e$UpBni>J5jM3%t|Qq^lwkJusI9jy!lyV8(WV+#UgTOL;o>0cQ=6(a$+d2q zs1xGFgG|S6f&>7xTfp z&N3hFvLun)80^y_k%#O2B!JGBdPXBjNbNUbqO(ZtOkC%J`!LO)xYYBvX*Xvw=N{n2 zOZ~W&s~=3s!1;SdEu#=O>09)T!`Opbkin&xOwjx#^iL)Qsb?5`b; zRmerb|5Qb?#lE*2&FHm!MxU2;MuX>4jiKx2gB&7U1j%4qcPy74SS!>CJxRgJG>Y5M zZCoPMjU{A-5J5J#5`^o7*xSK{*Lj{M?8MQ*R!fs$b3?dFXE+C&qozx#drpLQ#k_#G z*I*!Sm8RhugM5CaFCDxnCm+@-86p~O?rx+k3NYq#qe9GE*btiq-i$O8aR(iU)16{3 zKw0iNOlBTJskmgP$r{0tYtnO=XE{BG*@agETFd2Ep#w^SMR*C{=P25Xm+<|BfRDlM z^vdAlWPM5^M0g2{Q5(+D#}DV^!lggWX?V;5wKhOcj4s#7Pj+l3njn0@AB6Whit0EH z-i*Q-qH;fo;)e&v|HA=wb{wA&U(^!M$qWcZhU4#W8Q>o}Og#hl0*v2HOutJf`N*a4-+9X2?M z_Oc{L(RMmQ#1^9vl30=|$GRj{?(cS5l1G%#6sd$q2RvX7grRKA;RFXkWMmF^2s2J@ zXsTMzLz0x+4B6asxW18AILaVk1FuKatMJ^!{VwEcz@4w)_E%~hES0##NKRTj(k$XR zhO5?eewOW9F+oxpkHj)pztxnn)m?OqJ)M}v>fXm1v94~Op^SrgAD@U z0dfj}+0~;}5tb;;6Y>}}c=_>>4{f;ksyp*DvsHD$hx)DNC-@0raxnN&456uRox#26 z1eK!BrNv|gd=(znA^61QmtUS^{`%&jajt@Bn?|d%t#E)Ug4Y+|-wCgTZJkRRN0CGF zylR8lz^J-ifZe*lbIE^jf?G0*=t1=+Zct>mT}p;=><>iEIot7mX;}}!8!>f;N4hv| z3m)n;;j1y>SxIi`^BDCkrhj}5t({5kq^F(aG^5$J&F63Op*$O@;VPqTM3LMf0sQ=k zlU&~iVv^iiOnBV9*#*fxqYILICMUUb`$KZ4#Yyg4J#jg~3aj<$X}Df7z9s%1oy<2Y zg&pKiNP57H#n&HW+OT%1tu?{Zh`Vr6F8+>SP|%*nW-Ka+7D zCgT&jY;rRQzD3TCg5K$bVtuhR*`8j{Elbmt1Et)ddYgyiR%!?@BI^>OL-Lb!0UjN4 zM7AreE(8tXMg*p6sza6F24XtgYx#wi9_bMX>J!(l_tdMx8Sii~xY2^P*l7|4iAd3H z9R#}T-Bp5*cMt^cg1gm%)wCH zJ<+w(}HeU&+%TRdqisBC zv-2%h!FzW8&DMU}?1=V_*;y=@s2Yp>ZI0zBTVGww4F{pyxry<4+uSTwW#ovo6mv{# zugSQ2R%mnH|EIsj>nX(mo8?Aci!a;on(`MY?HJqR#47UBHf&- zdu)SDo2t9AP1PUR+E1G*(SEk6deqiS7gNPM?{cb^NU>B*&l=d^RiI~TsOI}@;HM$! z-Fy<}={+psGO?U@`O}>4PuhA)n{M7y7L2&dl0&#n?0Z@q!Z HJyFJqroJ6!tcfw z+@(+W_i3(#Pxx<{zQNqW?*VE^34=A|HjR*>OF-Qi(!7JVWOoZ!0j6EmRcj{rIpzS= z`k(ZVm%d0723yE)n}WzD>^}q+3~%lUI`dWbU~YJV>n^U>LpnbalXq}U9_r#o70J&I zdq2^nFS?dZ`U3hV%cKYMsRsAi}t7$B&yag#-S%G^lmL_|Z29{6{srN#uYZ`A$hw zN~({gr{6tyvBbrdu+*_jCI!XHKImpG;s(Nd#_CRK_~Z+dgOR3)f!Uh2JMgP}6#YBc zmeo&x8*9YsX2r9dZdMLI{hJ+7lBb67)8FGLsyhH>z0LatXgeJt!o^CA+TX>h?toew zpf5(@r!QGPdsN+=_m}y1c(fI2%ylg{^Ic_lMUT))E~ zl(#vG_JZptvfImD}v(0^B1X#K9aFgy>{0&I=XJ!}?+BzB3yh3~21S zjMG_pS$UmXd=eX{FK#7KDcq_A6SrsicYV5}XfL=u z8*OL6t&Qs`g0ylymAioyIKLI9FcoH~1ks!N%Eo2B=^)#TT;{#%e8Cb#fU{@CX`*tt zJCbD9DTE@^h3}O+OI6&Ru8Fb4$v2OkziAWQx}N7HDB1|g_+K9JuJzejatbNn?%-0R zk{{01>bOi883-{_m*W=-ZQM?Oh#H~Bl^2LrO4d$A1V__S)a)>xc8h~J(}_#)v^}g5 zD^KHDPM+owh){Jvs&TW5qi8QHu7sif5c+`Og9!+@5#-n#R$Rs0=zE3}8 zjN(6O7MVv-#D>Yeju+0ADqxy)Rd-Rn{4txa;cj;>aN|DasoXdj&hoiC+PH$7Ke|DT z_F$!myWj=a<#oWe>C$E^=QWQz1@ko%)%-I4`*#lPq_Y~qe?Q9_vGQM@<>bE(3&r;w zP-?8{9~?z{;R^qZw$l+Jc&|c8BFt0eSh<4Ay|Qg4*!Pfrkr4#(hjjeH&vicap=R+f}F*%w?Xk*+3-F{TlaOPXmqeH{wMw1G8Z zWlTJ)SH^Uu14@lCUEwI&3uD@ew$l+J7?VOsf-$KaD`Qf*n}{)Gp*@WaWv`26NIiGY zbf#mq-ApIZ-|CQdVY+wWFs~g&|3|7r3wGU1Zk>aS6HG3(Nf}pqfrldf7!MYugDB6q z(i|)5zO?Fu8^9AAxm|d12XE`(#W1O=Bs0_`F(&n>2QtL@*=vas*U7V2j39WM=1mYj zzH#Gi_c3Q+qUPr8x#U`vb>qJWk9=#KqXWzt>~l-$N5V82l+K z8sCE0om(n5_~l8O57r_+^%9B&LMI8_erR~>MQ-tSB?}e_z^A}yusCEJUfUnc2aLKhy$b_KMsRcy_N-FVV(63STqag@L9-pI}6V+ zW+C%U0GoLCqglG|Oxck}lp(>V%x)T6_z!^vm0$07+fr@6}`FsYh?RExo#tfK&!*8dn za3}FzDXzP1wySu6j2HqQnya^~MP%f*T(k+7Sc&K8AUzh@Gc1$Uc7r|O#2yXCo5=h* zX!V5U=l~NzA##`NMLLaY*YM0?g}rPD(?U64of>JlXomWdr}*m^xU0zc zYq|F+9V!t<9d}%O5!V-`|F&{oOjKlURhIZ`^0uxm7?bNCB0BRD z3S|@~J(_aAsue!=w1z`Zk#*r97}sd@*DiVClZGx4=p4PiwnXBOqbPcL&CD1w14-wj zmc%Lh+eGF&EK4s)3$b~ORqzf_{0m$AX~9CG{cI6cpSJbVMMM?vytC>h35vpc-)!kq z=RLA4#ScZq7rY78SlD>fOK>03x(mAr&+8lzq^&99x%A2!@0^84yo%sp8l5Aa<+9yv z94pXi0et##Ay1p$MpN<#d&aa;YPB1pkjN270h021YebQ3@DqX>*R~1ZrGA-i&!q^L zV`j~>$@zXXImz4i`|bUI+_-bYme=q9n&47o6t`Z2JJZz*>I#^!4c?O*+6f^McRA7X ze5J;4u0Bgw$>gitdIXC)CoViYSZb7T6>2eORDjVPC*MSVCS@_gqo>m8?iqT{8YMU# zGMbCshw9*hYaJ-i4^{pZIIueCuV#(JO?+(2;#tm9rWMA><=Tm*s>Q%s-spf_J9%2~ zD5{@4Wp&ygM%(E~5+_dr6aMZ-{>f+<2JYgg)_MC z-;ClJa0>!Voa%ARAjf*Dr*ijReK?k*LTY$;+Q)uCBhW>{Xm7P#Hwx`zFj(oBFd{2) z(nL(pW%m>}nEr|tb)PgX-pzMRNrCFO!WCQG_j>>-&Xrz881U!JV|x<}bu_m}a#LvG zQ#s<@P{wER5O%4^c`69#9Ct;{5bjeNlkvvb^l2U?3-}dwO&0~qw%%5U z1KLQ{6d0+NdTt_ny~q3sBBS~1Gm$OhM3!qEnpHR98fj{zjMzT!0jwalzayOc6I*Np zBO$@E6@s{81x@(=#Q|RrEH>V;7q|Vc10IsOiPL9He(p0ikm64l=mSV1$&A_<6D|Tj$QdcEI$%v{I{_#<4DACXm zyM%2q*@=$O`EC4lAV?cHX8xi6Q1K)mh1`990ga< zbP)!kWgQG5txJ2txgNwhM+=zD3A}Hnv2G+Ve9Q^w?kVvbMESE8G*{$ks3~}L6;kU} zR!vb*Cm05U83Bsqcb&ll44pGf2N9-|wgI>3sXxOfPW|*Gg-s?C+>5^A1h3OC z5GYLp_Yhc$Bv8w6Y(i_MXxY3kiXLbIpJPJ6~4n!R2Pl1YW9CdNckAfP{gx& zNhAr)ULh%=eX1O*_Nj7DCe^|=^9nCv$0Atv)Q-N}Mf|Xn4)}lrZG>SVo)dNJEY{Mb ze8u9W9<2(=OfF@~sZv3f7YR#Fs}`HV`w6h%uK*&C*T^Ow#5a<5nSQvJceeZJ~h&)BW4jc z#u0JSj15KYhO!*R(#Ue$?Y+=q<<5cy^X%K%7PkRZ^|c*xQ04WwEN2gVEjCJbHO|zA z%40GiTtzGkAw0M*yIN_M)JB#_S0o**!64Dk3G|QGp%!ggqo}b$)nJg#0J6s=AcEbV zd^c{UIt2p)?sc{uE-uwtjY_FGM^{(9FFY@T7~*pk8b5_EnL_b~xsZF_$)l>~XjCgE z4M(8y8^+2XG65SZe@rHXI1!ZC!i!n?*2Gk$R4t0DlZ*Mrej`Ce$ZgwP8bKtiuuFVO zHMfX^FZTrbQ{kI!Yg-iReDD6H3zf%It?>Rn3&s%+MrRLgE!GQgPNfJ85UDu}8qT#p z#Zlo`6c$#+YDsh?(oMWvsYd9FmoFQ53AR%MOdQwFcB8>bFb1?F6M|itAt03{ni&m( z=-_m7X1Wq&73mJEVomS@rV=p_l~DuLlFWflVW4rzDpi%3WEH&6U0b&H)6QK*``ON2 z@3r;P#kni*JmThYh9&h=(vx1y`qZyej&TX=+(c#6+-OPW+&pROBdmh=+`Plq ze%joK_Os2+U)Xx-Vs3cn-Of#nVcX_LyA(jk#afCvGoQDODQ#vxmu+UgV{1QcW<>kO z%q(PElO!|o%N)m#ZT)mHH@y2SbK@>c_5~Y5?fSmcb0%i$#dfvS9K)_OraT9lW7;kd zF2wn7r8pPt24=!V_<>DuF4zUVgQW27+=nXyi|70;Dz{y^+ysFnKStA#gyz}H0Nc`P@)rmAO#N>;Q$+6i^TZZ5jAlcNeh036{!Td z8v(^&a3=lZEgO=z!_g<7Fsz;?24XlY-^aW^6Tp?s zM{BLrrcj`!@Ectn9z_sEv@phLVI(Up1jAH=U-N0j|FzfD;AXfrj_t@Ov^97BPIA7G zk5MzEGWuqsdTt0f#4Ry}{ahM{nWUdhMi|(}F>qqTN#mtaiSxvK=%@Ydz< zRRgdcX#P5<-N0N<6SM%6ZB6p9)H2awPk^@_6PFA;??N#trM}$eMG@%$r zaiY{{)Eky3jiUXC=($xXboQr>ijH>dA*K{ZxDOvcy41(CAuwewMSb7vgNdPtdknLk z5jVSH{m}icRXjyXyhQ#@=}E2L_n{36ZELOS4)V%5nKLt3J3$sZ9dQ8!qpY+fDp$O!O+9{EyCauz+3DUe*1+)QZZ zs^l@XkucTl9*o;d;oYt~`^!zI2(1llj@}Jr!j-(KEE2jj1%fSHP4Sa~<;8Ic9kcnSXLx86yz~IIVT9X@cV{|zulzj1fU}tTN6{W-xDw2Da zHfWZzVQh%i;XgKNt@4x&8;5pIjZLBA&f-{6sZ&oU2oZ+IIfkF#Er#b~dLj&W<}hUM zkuiIMD50(>nZm5t=|r&rC~Zfb)0Cb#Qe>j}x`2}csYKnX8)H$-O}c);gI#f^cAjaR z(hhZuP_RYgt+_lgm$w6pktV^}SK9H~S(<#V0S8-1KSJ^D_9g}?Bax_hNYx5ob7VE4 zDB>>qYnMFGG!PyWU(FCZO}sNRvc=xb0S}o3(Fa%s?{kK?*xFCCW{dU>Yc{{bPZ;L; z55*Ihy6|pWFJ0KOdFSTx?j)szmOgD|NlJ;REqE2G#oQ8t7Sg)g@WZv%wWYk{cyDZH zIY1p_TXH@g)mxmLn5EttQL`I-ouD2JzAAv1P8V)}x}$ehv)TAkG#g0|x_(F3{Ro}K z7r9QVwA~4}`tK85>jaf{cw0xa)*Um^b;s>VM}h8M_66X8`{2<@5Ftn0;rJB8BgDp} z4<64t96oq!9gq`z!Uu1Sqi8QacqgOnbR-EMJb?+r_3-%NoRqlfPqn-m^B#3Ttqsr< z%TX|$;6_n`+4U9vU0>!Xs^d1;h{747>$anK2Hb)G6aI~gG_C%PD);b2zbT|1zUVp{ zfv!|_-lIV-Eav5xY_XobuV zk#vI4j5L$jKI{RkAhr(@&i%!Jm=igHV%ZA8w_*iN_&)D|uLl+z@7Rmme$D}pSv=`|e3>(5q(5+EJ zy9O{BT^Ff9(P8PiooyOg)K=FfjWeP?HP9%K2(8Pr!{}s83y%}aR7)`z!RbJv&M7-{ zJKdb|3{@+9_0eR`&~P2IW~lHshLFh1)krr_D2yyH6ZPA~;1=K_uI;2As*G7G=<1O~ zG@Y$I%d;$L{n4ZZ8)<$B1JTk9PDEOlTK`El@>5Db?~JLLYpGu!rQa*eP0+4aSv4oY z3ke2XuqHr}OsX?sbH2Ln=%r+a+M6QOCN+4sfEf8UsVlzqB!xaECeEO*I7#ais)>mK zfwfK$oLhlEQZaD%I!2&x$a_%Ms(=3uYs9L5^DK+d(Q^#kBM!(3_d@@ka}?DDn5;2y zuOp;<4DO;L1}=#tp?@nRC3HlUW7QE=ZpQ#OMU$y9aMX^zfkhlIevT{Ur@I_zBMb{6 zny6c6qLwCQ4BWIwt0D$YE@jD@QbCpnLz1uQ6!sTK|Xs(G=J8U5jGk zexYixn79Ky9OYf24=@^>8e3YR+-OVyb~F`p6pRMpKHl5mXnJU-Qk$sMTBRENs1I%1 zG>SWr50>%5<3zP|pj6$qd32MMm@~%Eoq3b*YeCISQWR zrdVdq9?}kBS10Q5BBlzn!YCze;;~e7gg0V@aoI0bow=S>@IIlPu(h9dLMz%gPH5+2 zRm;(^zs)hs*!t+=e3o}@Zf3e1Ea{OnwQE?P+6=9VF&*3dEYr%!@fd05xPIR@uC!RN zdszkVxtX)IpEft5eRFQWVC7im)8FP8-eT*ci@D)lXPFy!S<<3yYqe_+zh`%f19NdF z6&$t==<4Xy7s1LoXEefKE$U^__GNGw^+$p-1&49I%Cyguk?f_|Pbl9Kl8|tHE{R3_ zQKptIKF#2vC0wgZp-b$>{JfH-24sX2yCCPvQmHZW{QS%$HB-$Wl$3SY`%zRIe3iyN z7<^fvKuYbMw<)e@to!ZT?ine3AtHsOA)?=|1V2D$@!d%0z@)2*GlYL7xD?T%mgP2{ z;GdU7&rM-NhYTOe9%wb2^H2E&lVs5jS;+buL{Ej$@5zrjA!{e%EpA z|L8uAg{&i9#%c5Lcu@Ql2go$5!p1S^DB6pS<21CLjvZm+5F_{ZF*x4=wKhOctVS*c zf+C^>lN@&Vcl{hkQ60CzC<D^@g}TfN+n_dWSlvp$1&*vq(7yj(|YC${bUfqJEw z+eBQeTAv=Kn_}~`v(*aXyz^7^M7OlJhzRgQx`Hj_+;_ots4i!TX&i!tW2tH;7`M60 zL7eHtB|NAOvPLwv7I8D4)emm=fCEx(vHyXiXfG@7A+(*26v55J$o;w5;|{2`0eWIJ zVqOkz_96eSKj0|Z3vNH04YxLKrbyAs%~bBb1UKvV@>I(#Jp6ruZPCcG@x+#6B8l7# zo|wvJQ9oSr`7+TI8%O5V|G%ke2tbCDt|0N@9MXj4aW3-<1ut0?mk6$ zb%?u~9D7K{FvV_|7|vZYlb1D!xb^N9b3M4!NZfjd8ZI43 zP%aTgpDEXH@DkK(q$$KQ3Lf2owGk{HzR=D`b$*XiJbUOVHt}SUWNM)DFi0 zde}yiU3=}04rPJccw9-?1m!5snwj*s^+6MC0$gnq6Y2ZQ3V&wqt6~Y_p zhV-8sf*mA}mom3)-oP${!Zk&(edPC-aOu!AkC%l`k#FF3qM6ZwtE$2TI9aOJ4{BP- z5LYy)6L#Ec_JXDxr5wDy_&wS}by2q&9TTuBz8O4KE4>5|7p zbQJhORV#erC^!v{VnU<8)I!&gc4S^={1T88mvmCk9{(q+;C;UJU0eHU=UbwE<9y2* z9r~oLmo84Yc;}t@wj?V$ef(QXpSqn~mZcM}hy;VbLAAJ_=zEct<>V+JQ!={_BHZY| z3YGUL2Z5a|yq}=)@gD6h+EWOzy)_bX?~`8us0V|!^iLM-S_z!%pk{V6;-*%Y#b?#K;IQQ@8%#ErUPE=m@pzMp#u`r^V9*) zV@2Iz0?IC#Zm0a92atj@zaK?2aOR^cj`Xtxytb)li6i}DtZurYk6vj^^yV2y8n5Rj zvd?(TpCB@tzdjS0VLo)56o2IbtRS|Z6VCm`fS4_ZK(TCv;7+lEO88?Y&sDdkizz*@ z*m%cY+;*7*9?5BzxXVdSLwL{}-$v6nw#w>9Vlx&NG zxC(ek#z8RagNQfi`f{utDj?BvHUiS+$1*uOk=+gGU4?k{fnj0-S-bJH}|9 z;d?H^chY{~7Ekq%Re@|hN#T_3%kM;Ap5}vh5LoL3X}Zk^M=FZ-uN))L#es)V)~fw~ zlr>`2{&|)~%=a(Esb@3^y_WyN4il+T1ktDQ#g`|Xrs&cFvs>#b#uol3`F_r^nM6r%o;bMV~$tc$IT3T$xNUJ^)g+t&) zM;ThGcF52u&pb9&_=JqPKq#s!-j!lS)8bvD5K!tu-)AlHu3m)|gAOhQda&tTLjPzA zcKW7A@vaxC8Z6%Ro*oW7FNt8*2iH}+tD~uyBpwZd2kxX@XFKX>dPs{^jy9;5_Fp{*}awfY|G;uy3mwAEGJk>9V-*8K`WzG$V;)(EXZKn=u0Tb;m* z&{kJDwHleYbSN{dq=H#tjY3;j7{tkgx1!5;EV;4kgpIftX)4m%j2&nEA;u6F`BL?r zSFsA-2gq-*wV!r?EZR2?kmqgYcz`*4a}53`Z0&b(bj-Uo_peTB+$$`7+RBm|XPfQ* z2S>W-Rs~1i1<*SNM@F#nwHIL{*n@g%GnJP@c)XlP{gLuT!I6ArGNtAwBzq~5+m&kt zZKy_YWIo!!e2G7-7u?S`4 z;(XSKRlVg|PW9F!VDWSZq%=!Hojt`-v=?>uOthVj6rs+Fk^3KJU+92Z8=xmvy$`dm z_V0R!qo|JCU^5D5ILv+?if6zr2rgkN;Fv*<)l{HzdyF$we7g?;iv*Ldenop^r+~%d z98*AqB2Es8UwN7xe$0xx?SG!f(=YP?QZUuK2?PF2byvTGSmcJ@|Ar$v>3`dh79Na| zj!Rk?4DR=s6+t>QD}5%NjEBze@&Hzl&^rke{v>pS;#fZA7(fraGChtZxl@Zx=@Seh z+Nl$9EIiAyQ=_yNQldzjDXiZ-j3d-K_1YBF*lckuX`@T^Eco}sIKo)R8Aj>eBtGhZ zTiYaP@nl-*sl7|j0x7~vRYntwtC0@I<5*@8tWu%i_9k9AYvn1PWn}X(UDr{|74p?W z8;_eIuXN{Zy@uOr2Iy_=CNhwQxD!-PiGY#Z{m6EzmPv5>ZD38f(}@1@wz5)W$&X0a z7`l$$T9&x%!O)r>S>n+8B0q?DWQn7q5x!tVmdGI~@<@v;@$aQyktN%_r%M`R$r5*o zs?~STau*6_4{a^h3wVm2uD_{I<;Y(piYJNwQcKU6nwU3)`Mj8Rp_-WyGZfB8RF7P3 z>~FOQ*j}+0$cd}jsfNK_tb(^;aMIR(nqg41Zx{xhktMUXUb-+3^3FSRQb|_iCGM1sL}s22C~xBzKc%x(dx`XaK#MS@Z6nsW2tATX28MFfqHn@4X!A;Li2 zTO*2agVz$&gTZSA@RD1(B<*#_+WKcx^l&sqhu`Y<1Uiee1D&WzKoQdY;{?|_LCMjgX@G zmL!oR^d5l;e`DOgIiS`C=!s=-W8822yMD@1RL5=bLln+njGK3RCftGm6UI1>8RS@v zaVqzijVz%N=rVoh-5lh?Jcd5xm@pzMVSgc}=c$!F#)|gMbax46-jg$5grXTZ^U)Pq zaxDR`sbpCqOZLR-rV9iVS(50@GqNOJ&rM{{^_V|FWHf($CbEo1zPmht6=J}hgmZr} zAZA@5!O*f5f;+_uD&dc5Ee|;0>w(3_JNDYiLI*sO)7xBybJ%{TEg7+f;4gjpXBYh;N-S&A$w@yHTK#VF__=FgVJ zpmM%{kdFACrSuw1}W`ud<5%gHvA&81OJ0{iDem=B(+Hz!`Y|BTHPE?2YCbzSoLD zT5qOsi>G=Ri9oiVq;Sgi5Y@&D8Nah&;716BWY^K7!$56Z=d0$9of_NRhu#HCUv` zD|xwhQp6SuHBMRbIeD`7V%8E&gD;YP$x_zMXFSNVmYheeL#Drt^KqETG767Ks)aOISBk^!arP7;r?9Pd z3?_@NjD7-i2k>Qj|!NtUJ)9kKnsOXF^#R0@RYRsJ-|d7A^x zx;^ffn161x6ns|33tqw+u^KITmeXiCA4ryaEc@Gpa<>CYA_ifgyunel7X#&9w4II+ zVW3n9Nf;U4I@rpUMyE$}q>HW3jf~JATP}ntYJEAMZy-f- z4#{F9D-z9g#|9~jEJSRTkI7=2s)*ysd|Gi&DfKw9(wPq9H>lR zOX9u3SFlE`%!OyUnG0~Qm<#=_=$F}k-sFH%V=ixS6xEqaFpa_){PW&|;^_zx%taw2 z!CX|1mARN@0E{Mnq%;{j%4##sXi zai;PT#^Umg7Tzr?;4yOCE>kEoDP|JV4LhSK+C&y%tq~H7)pqlB2MW@ckl-m_W{p^R z3eR%#6psrIe&T>s<10UO6zzqtJc+i`ks|ntLP~(x@e#@6lC)jZ4!^<1fzpM+*G3k{-0QbwdnVEy9VNw}#s zn|Pbjw)mXpx@YFoRo`?f6HD)G)`)fK@hs=kTPy}Hw{-Pekp$b;w>qHJmfy1-MSEF( zm!a)+#E9jm5R+JbD#yC~RPLtCM4%8BX0MBdKs{$$2xmGFomdE|;<|i>c9X~QdTbtG z9Sq1+;4s1j5AdR=v!ZSL(oVfZH&Q|D*15 z(m9Lpnu!R~8JKX+l7?03oYnQ)2%DmiUCZML`ndsw`*OXwVJ>`TXZIQ-qTC4fPXL?} z?4Q%R)mrRVVE_C{-!(6f`N?zRH<(AxDZ)pNuwzXWx*z?ej+!(C9hv7LPX+qoZnvpE zB7>}gw`;Jlod@v`+E;k{>08((~r%*HlXFj@u^G_(4)0ZVU z|CCtW^k6#*&QJ8_8Jr)l=O(fhfX%hD3L>NV>obvMv>Kz4ED8boR?zRP>sbxh_VU&*h zh9|X5GHU#hsujNGs4{9OQbVg>3{197bCgM^J z8}GMN&{ZUfY0~}Q<5`w;|7cc%chdyLg6Us}v@Ui3wN?UDsz2|I>6(vH$Izags=rq- zywLEy%Bo2T{*ho9489{kk(|n$AsykIxvo2kX_?{n?<3qMFWGa8iF!o5K&+mm@W+Vy zr|8QiY>55)-wCXBg5=z4{E-ThUs6mTfvyC714FQC;R{$JRxO-o9S$x03-@{Tx5_S$V&w(~gUnA=Fl%js( zv1Y_Mj9ki+H>H9sW6>pVRf{btMV*ggz+}`508*xOB;GoGmuGN!@(<1HC&9wTZd*#=#X{03}4)EUab@=t+`jS?1TA6 z4Sz1BlKBP>>*m6x3MsU42W;`KW5M+g0H(GBCb37V@-hToUmM}_23-0ubbd8}5;l0c zaL04MY>8O^h-#ocaIs!iO%U9Yv^Ni`QPx;bBMmzr}A&k3R*9S@gImujU(zEy9a z{!$3HrDh8*mH4rYcQb*u_v7b)_}Ok$@oNRv#KdI2u%B|#-9o_CI5ZconX1=YwR)?h zWnMQgT+xL427*f_?u2vp%p6iy!mYV7I|1MA8B}ee$ z9z_L}u)I;4g{SvKwS?G~x$BM(2g-;zkv|uPt4nuQfGaqLx0_Mw!eVK%J&pEO5@`ch zD1iu=8Kf+QgGr%8g962`tkmFCK2fR_>P3_S*|%F$BNvare{?Q9-OQXQH5&ECL>Z3) zRB@FBCJtjOV5zLaedJ~<3t203;Tf@W$(=u`~<%KsR{)0C-r0H|eG@Okku^oWQb~ zs@w^!GhCT(x9Ss7Qh0m?M75&Wo|&Ccga^d31i15+8Z~(9qnTAKh21(r(;p?xHcRbd zed5j;BB>MTafN1SLa)iFq|ll;P(jENBhgh8#Y&T01~Cu;-Dnt<0qjfFTCO9#eK zvN<*vuB95(BGs5^m1cnD7O=Vm=_AkFbOF$^vN2VNbweppH>bLdYl?MK zZp~ED#nM)O5=)@iD$iZFBs>EIH8Y{smI8l*c{tDA7Y;ILDzzrXd)8~9Tf$KhguJYg zKd63U;hoStRBPq$oG4eO%T@dbGF?!u6NN8t&cFeB;*K_!Zxc07WWV{(iE5p_c0m|C zqfmykHQcuvd|6?}i2qEW_Wt%PfLRIN)2g(99=_b~1Ci7VzX(nH(PUMS4ythFd;g#Y1QtiMTWS4LW=LA@KprT5x zSRv=K3BF&kIbV&AKou=8MBt`anrdRt57!u}bdL&4Mr%{*$0DNsB1>OPiTv-O;Qd&i z!JpIT%RBJ-0)0NY7@v>R=blygyp%pSuft~#eSUc%K0l++=cw>!>GP-5z@N}(U>81% z>GPj^@%az>YE+u$q`zGi(MB@yaaR$jagJPUPFwS}( zXFZRzUdLIFi>2vBy z_~hub?iu(D(`Wgq_^hGNKc0@yztZP3XX5iY`fNEHpG)ZTrgQOmj6Ux<51$XvhvEKK znu-JTxr;vM4dJtaK4)&k=Un8z4W>7dVKDu&(IC{jL?VC&cH?u1J|_~bJ%c`s*64BaVC_x#oJybf-h$5u>9d>OUcZGtj1uXpDfWgcdk;3C zXC2tn4*^}a$S!1LbjmJZ3Mf3Dh4lyIIl{b40sC2*j7LUWjvgCC{Ll? zN0#HOT2JBSz@5O~W+v-Z#VlFTlVXXg^ire6rLtF6X^qi71PO$dfq|}#wf`DpPDk^V3i>+j9&CaE*uz?LK2+o{8$@=}OJhoEuH$mB>= zTL^OsT?!QGE0N}yZ7m6OG{Y~MY8&G>U^qar!?x`HVh z2N$DBs2;RVG~s#@w!=%1BNe;^0#Cjv!VJd?qd0|}j``-mZ*>ev4*X_EIW_S4p&0nW zt9I|c0i+@ofnXRbS0Z5v+La?e4e5O3tO(w0TI?G9rB`A{-=AZ*CJF@p735dmF304o=LiXB7YXc!>G&|F?Gp*T~ z@jN6ghF}75Y|;q<4*`A%fBqa2{v5(1fxHMDAcUU~NC*i@NFb0H2!X^vAe=xTsHmR`@s6wZa8nvdGw!qLAzP0)=y6rN~LUPSLdn~*ewGK3z%dP5SrDN^hxqFv&cfH!N zOV$w-D>as^qjuXaw2Bq0P%l}B>-EOTLZ{lO_f?y(*i`kT-D+1m%T}Xo-BG9)D|WkM zw?;>;+p9&p-bTCKddY5C9h9DJ7VuqtnXvAms*Sp}dupeZqXO5;O4sgq#;CR2=vqsK zWvkxkSlzab7OHKlT&>xbeY$8jJ65%h!7VjwRdj1xr>dO__afVv8nvD;TWBnF3MgDa z@g@UGeaT{0p#xy)ze=amoSB|Jb?VeqfdQRrv=*mpVi@h|+YcW&G`|*! zZFgGLg)U*=!;%6FqxBa6o(gsA+Sy~);bYfY`)7|GJ~lCGJ@@eZZFk;1Z#{SR=+W7^ z`NM~fS$7__4%|6+@bLWMJLm9pi#0pJxq}my4IF_M_UUGepa+Om!k=9NvX0q= zVh=B6e5L1h(=Jxa)glH}U+fkZZELXsn%6NFt7*5Es%@fSo494vs#TY&9cGty|A?kW zM`yd8N~6`D89i|LcI%*h(yleoMtcGk!8RojV}|L_1|b#!YwX3X4>uR~fC0Ro1#AdA-KrX-F+? z)6l$&nZ#YTOq)$a7%b+u~U?j70QUBDC{Zrep# zoAkO#Bc;fi$)Qnq0M0T!?~3Gm9*#V)NVJZ7v9T^=DSEjF-%RF)vN>r}VevPy+cVM+~W zHM{U|bO3{%O^>5zR>m1Omnd8TM>h%;$0OBF^}@YuwqB?$cd&}qpoRb$di-jXF(o`8 z=h55I^gt3J@AMJ!asc@(4bunbu?W&~Rq$XlX@jK>>IoGAC83~TIbz)j1f@C0geFp< z7%iF=XkIm_AZBY1&$2w46 z3ayfL%l^BpoFc%a59g3EJFIr4(XBz%vx(j%ixec9?6sO*n_RF9OJY7+w;ViTyaIy*ohm`3fq;>7EK+}RIbD)<|JTkhn ztDzLDtzx%UXn`LVsvXS)|1HMq@ktW|uV?2IE0j-O>P=6p2wfbE(6&1?=?f&hOLiHv z7<|#Kv&f#{Er3<*wmX=dQZ9J)#BBH1W66Q}UN|9SM!7)?1&Iu>+ERN)$-u`Q4iCRS z0YtqxJASY8;djIx5=)+My%dW$t>IOu`^FmXOiclov_#I#VE2Nr?P*NgyufdJ*Hp8< z$osjOLan-3pRuqDr41?V@bC)z3!3D&2waP|XpXg>87#7>GAV0}3VcVY0Pb3})^j)d zn(Mi1yRB-^y(9vzo;wQqm#UEL(5qh3bJyI^tGu~Q%EYUH5mzjheTs*>$q!er;8#T4 z_57{p4hg7PGkK*#uWm4I(Ve0ZO#0Vb2)2IVwrE3B>$H{?7iO*IG0nRG-aFDW4K2@a z6UAAVn1Jv;51awB!s&jVi6qxB_@Gr~eKrRL6w?aIp?fI}KF8!|dqTA~#WHtC&)r;9 z4>Z(XWoWL`D-f;T=K&=2M1ZpnhMZy_G&y|PLSOQ2Fjk=huJx61_oLlhwchM@CIlgEFOrT}w|*nj)`+5Li> zuj^nlJY$XXNXPe0ST`%M@~pkjSh|QczHcA2T-KtYC3B6QN4+78{%`%%^N&$9=I?ur zr5Fak%vQeSZ^hKL-8H97J}10CN`1M=a$V&~RPZw>_-WC&dt$oVZcVoQ&Zb{_8plE&f*~etr;*pPai995sp6gL`l{ zQ-@3`ezyH0LSf}UJgii{$NL*VI>L|!!CcD>PiB;DF8?+FbGE>e83)@2f=vLnf!dFR z$=O6LX<~U`UC3aOb_JPZx5zr=N8{cVO&UFC#MIQi_kV*JjH{&HK) za*8>Fug#GiqJAUy%g#;sY%Eron`&sY_{LLZ8&jH4OP0Vwr_u70Va;9z34WQK-yPez zyQa~P)?-v<%#nRV@u=3>n&6wD>qzjbKE;FCZ8^SMOvG}bTkGUc7HVDF1i{_j?lzl^ zRwv(HDzrNHbsMAxJWN0Zc~v zB^SSn01Ym5;3nY;gl;x{Aq?jlpCW+C3ggN*-oLgXk%wGmKXNM z_OzkKz^;oz)l$#d3Ygp>JV2}Ax6qAf|KL1k04sD{-w;1uAaiKWT??s=Ee$R9jRmqy z^$fkk9TNTb+!3wypc|o2!XUk&+^yAkJ!MEpar^Vi_}Nz2j;sM$K1r*XPjdqzI%F&N z76xTj_UwYsKG3ph9|y}0Zz+AI8tk7I3S=UJr50YypqZ#pgwqg;Cb>Qh6YiO8QqL1- z8yvw{^)8@)A{T4F!bp^W#q9B*gtJLP31W=6qva~hX!(Hl=NSk1a|n@i&7ih6dY95D z+e)zbUum47i!tYhEC_RQ0?XIaKjWmx9wGfkL$c5)E%!l+&l?vo3G7bz7|Dw!afPR)?~NoaWQPr zmfD-r)`y-w*5z$(4KTtOn#caAQD5`{tF&Tv%SPzPcVxo#5rOMl@egpk%{|}B1(ZYj z?OoB^xX5C%P>OW1)TZ_Kd5$k54*#7>?}9!o->T5xVT&toC>|5 z;>xYxd&nKZ##V}IXNbOUzzZR!m1K7Ec#k=uQNCtJ62?Jk>(K`u32geg1%oo%+Sodpd!h|*6uGr1yWUaASsKXdPUTnaR zVAHQkVF}jdMe(y^1w`!QL4>Hu0n1?BvZMUAlP}mRoVp8CxgMjtoRiwbnvQZ#xB??N3 zsFf(B+*5s#66u8OqYu2n(>&bWnd^`Dup;$AGU8sqL4bMMAHi3KC`HetJpQl_0oHn51GFek+ydXgP(~MBk+O%j(C^1eA8 z+oZFXcKl<`Op1-<9#NDG@^LXk1i*EosFkACt3*-drcfsZV5lEzbr)Jye+-yAeCRYn zfDvYc;35j z-#!s5P98ZrLI^Ju0?)~mZwpxIL>NL8tYe4oxcm0m`9lZucg-H1z5Vt>x99gCn!O`` zaCUxn)M$pC2dWwZhxjYI8urGvG6gSXZii@Vp=s?UFItZ3iFXK!$Gh@Ea|(weaw5QCXL))&{$ad3%bJo%*icitcxdL8|f z+V~pDc69Q^GeOUjKr%f_GU~b9ZD9dz$&hG1`yfs-;3zD+Lvie59ImHvgta3guhd3Z zb>n2U1mldFLeE=KrCb8R}L+s-3?EMKg2>nHZ^lyR}nW|+Tq0~dv(M1(np zf7DFDGxlS#9FcP_LvPNH;Exdpp(d}0b#y+W8#z~y?p*E1(uMulijiCF| zkn;zUh(N_g6jQ=Qpd#m62JbmWqFWsE^yD{hA{!QqDIEAaC@hW>)=uOvsMTn_BSEj@ zE2ud95fJ=1H;Pk{HN6n7R`Z%=on1fx20Tswq}3648T=443u9|SRtC1N?!%Vzq`p@< zXNT{d>krP6s*L}YhLxrBfh>Tkc%5farEy1sOmgGtJ^&LP8|(fR;l(b~;MRvBOlh**ImlCL86+&Z$PIO<^tI zQSyd=n<#l+CX`59!aOQP*b?ZIpBEBs3H@STlCl4T3Hef>r)Z%?@<7@b9ELo)sNcSj zHE^bZw*B^n8|gXB#V*j7!I|{nAVZbCBsr5dD8^Jw;=M5O{klPb=%G@a!Oo9w=OVeO8QQ>4x2KaA8v>!VVqGbQDPvr zCnKv6Wptw40$Ba6JrmZhA0_kQQ+BKMLrv*(6FAN2&X)vX9?e1+zaFsxR8<5rsPYV^ z3fUGKbtF`Pg`UslBYdq*X^jxsfiw4wav9q`4pyC%5v*kKQpj6T8{QbdCC2#8LC3h! z7-Q^obw;6}ptw>*wR(yPV^+)wnL8wG9l_vy89*w^3?qPFMvM+o04T)*`ksgD4RPF- z4l7mugy)yEaVXu14n7WQ>9~R|e36EYZKh!Zg(K}4@;q*g72yi9B2a(Ooa8B6WV2dm zwC%mSLahdCxj%Upl74Hdv)1_};450*q_hcGx)HZ=HVrX6G~U)3CV=fBxZw$tGmQWn zR5|(4I8m6Onm$7hIr9epCRD}ZkoI)h;rO27Hu$n9V}qY~Lh!lq{SC0q7hsr^+aEiw z_U&?;{}h3r>wPsk(CaVdU($efF;(Lmtne54+*_vHy zWcX!{$&K%60BQ*UGEytKxHQUmqQcotps%h`W>`wgXd8?NPoE9ua=^DT8_c`W0X{f=N8!M1W)OpGNehRQx;U%OGD~oCRldlAqwI+Is{IM zpm21MI8!j7l*-0=ii8#P8<{XBjXVF0N)g5#`sCMS5{)|}demyF_}*x~XDw;nu-SGj z(<^h%8dOSaUdU?B8A98B^TO|A@S)}$fv^nboGS+zs_f;AnRBKF0pi9C_;xNs;SA=S zohY6G-(lvQAb&=gb3)49vr3azGr7B3Jz&8Ijwf1G5DUhb^G`g<Q}$&p8ZQqY zklLYzTt&!Kq@tvEv9bFAj!L&0QX-0iG8?oIZdiB`R)-{(jn_EQnXwN67Y# zgA|K)38oEX<-$2wy-ITiVXr`#aMUWQT&4B1rU?t4a;AwOh2#QH1n^h?!BYB^Nl2~* z&XjoM-zI$b2il7#nzVDDX859u8g|!=6ZIu%JJm!LNXj4>9~oq*vX>;mh%`nbbYCm_ zzBeYu-!cdo|7R63{;SzA9wr)tTp1-AL&}xT$^_OVaL-PE5SziVCX3B{0+AtJ)lpm_ zHe;Jqv5JqT5XRE7PU>vXi09wu696(+@lS=^PV}G-9~Ju>C4%&`rU;A4uVtDPGS|UZ zs8WLV?Q@7fEfBh;wc;u3m{N&L7S1G-`i;e*Nr|XSLiU59b7`x48~hA)z%btr;J`e9 zvHm!~(oy#zzSeac%#|TpJQEq^A(3F880V;O?3zf%+Yne|IguSa-%Y{Xk`0NjXP6B) z3O2OZrYu)%WA zkV|0ys1tj_(AFSZ8(orGMM*i6uLGJLySyKy8assb zRU;y{nsNs#ylHIq3rAriixG~0g)W6~{A>Ef!jXSP2uDYNyAs#$4jclJxx4e6B_T#u zUS-P4V9jW;`3q-DY~E_)8k1@f)+Xe_vP=7M8W4d*lo}8I1Um0x47Dec@Wwc+$7qrU zt4XnvGlSc=28$_;zyE{gQ`WWqRq|Ollcp5DkLgC-a~jzzlhEEMo&TZ%lZ5s(7w0Q@ zw<4M7UKB=ePU%ikQuN8f;cF7#p;FQxg}h7d|JcR(We0a59T((3&h>naI zpr&Rl=aLZ?fEUw0X@jv?0DhJ6%457xR>l|yazE*0imgv1>pr9rfbKO#E zNd5cAj9xA`0D^xHxfK9}I=rg*kU(%|jB;{0#TbO)OpM_P)i55Cdq^c8H0>abGewO4 zFMx$P@p}3vt&ma?qkWwRB1YL-C1-cdt}o(l$~iLZ?0#X}u9c_C=sD~9@NC{;gK8dAA4xO$< z;qiGx{=7Hj_k)SV1p>#D1ZI z;bsyHQj-zc@{l+dx5L7gPoXWsWY38(WZXLT=yK1atRdUnl{MmF_~KE<@OJtqt^D?j zzpch7Gc6t0iLS57(slIGL6=$T+2_7lY#$LABy(1gs;*|MQqyNf58XFq?V8%P8&@~s zpQl;#Q`Q|**8c8`x{F9<$VU)B6@7E=GF{0AX|2O`~+_G+lOF zDb=Qs$*EMcr|NcRde@#kH%&iv&+a`>XTg($D`Nl3JM($Q&O~cK%iaJ^DPg(hTYu(} zYtjuA<4jRfla^KK+X65|o6GnhG2PJSJR5b$4R;IG6~jnSQ2h*n+f04pFH*Ir9wP?fKBj<);E&y$k$Ky(}(inAetjqIplF&0Gn~l;+mk7Kyx%z=vu1;x| zd$DfBJ$F%U+T=z(R5G5-6DPs1fpin=xw68qd@}L+I*pPr4K+5g#3QH*y*lj~hF^*A zDeeq|?8!L8ka+Io-SPbmaFRiQ5iQ@8152Jec@^U)TKuZw(%UVfy-jztT624MztG&* zXRM`})%h&JHRk+{1TWk?AGV`9O*MoM>94%8^_x(Wt#AHZ3vvtWf2CpNW%#iyfGXSD z*QnCCBSEIw)gQp`Q@Czo+{!pq<@M8f9ZlMlJ03NJ5@p_2kV00RzY)---C3wqj6cMX zA|mYRlfS)?m=iOeG9h^Ml1%W);L(dvDbB300(+x#8QS(689$8yhZ-3LlFY%z-b1i+ zkfF+6l7dIQoCuQ1y%#2n&kh2_z6|(wCQvv-RQ&-I&wy`e*M0X51bGr=Lhl<0DR))B zKr|+uMxL8g5^^rse)OuNf|$O~6D@kVA?;g6w2_!e(C?LJ;wvdyl?G@fU9|wqYJh%# z_-V}f3Hm3sn2{+9`Z^C7pnv;t**Z?QyBudnlZt!b6Y{V_cd(Y}>@vG8+$D^=%&?MS z4{GhUZa|zw2VQGzUs)*R%}H1lPO!)8NIE#NJ;%zG`B?>qh-3c%R+_( z7>kOYb53pCi`lj)T|#uK1R<%xglhr6Z@hpo@x2W|FabnHf+ZK1<_%BYIG-mj512PTigznBZ*0-#4Ix8F zFQzat(Hq+~J|?GEqHW`bW5|(2I-w9cB9YR@Nd(<`Q==gjXRLv)AX9{TT}YEF zfCV|UPgu`0Z);PD60TQdX{TYE)y#k+oncj}9T> zf@j#)^|CC0DqGi2P$fM*NznG&x)P&Tpbt?jisvnUlbo^HF2TDCXX_}jthne7AxRXX zjF?2a@{T7x-8#$}NKHQGjUajXQQ5esOys>N$kgtV?S-ruLycl=ioGFqF|nS7LvAH`?~wgPu>%VM$5_sxsK$ z{&~NCz*PzmBQD6vdXP`isEtIh4ml9F7(2#PAXG@}LD!6B@ODwLz z5l3sm$~ya6;4+TX#1%3J$!oZ%5wF;{%)Lu&eXLx$)+l&MNN_`pNJB!VXcR%N?6NOb zO8MznK}Lem&MDijBiA}YrmSYwY86WD>1Oq`U7O;7P`Q+Ho>ycO-AO0W+qiy2sKEsU zLBWby?Bpi3+Ljk!O?Z9EH!2LkNa&h;uo>8o{NBLyJ_?$qSsV4s%!x&xEzwl)hzsJyas>v@9m0{tl4l-2POVYx(QCa1| z#R}iXI}__K8U&P6tBCa%XTy4!$PIF5l*kP!_v&+R&TD$P=OAzp<3TJYi}9x=uuq>D zk8M)rM0r(;#X-96XxEfv#g{oz?oZLGbls`VqKc}>6#V-UnulY~hv}cJZac4IwRhcQ z7!GcO+e=1K%N>>sxAqxl_&&-?0Rip$WXayXgC$CyoVf-yb31<_5b&ui2;lfhxm~AV ze}xER^x2M($YnHJC2th}AV%?pK}T_cF^a^Ud)9L&-y*oOo;%@6W6r+~I;L$H(>GB$ zrRMgS?niPndB6uhcQUd?4>|3*6RtAmY^0iL=c1n#FT{X{QTdDwIO%{0lT@2;9LpPW zQcaI@xzd<(?Vy9+jzM3wvO!0Sd1o61{ai?46j1Tyxe__?iM_muAKeDkl&)E2!q%2E zu$WmfCzQn)*DUSjg=_X8MlD>k{42sWEB&8?CVjcl^KIs<^=7S5v}4?}R+M{I)r}0F zPIl8?Z@LIni^${1Q0={?P;1+2t72qrxv+l>YDEeAq(4cR ztwN;8;9v$YZ#Iz2NHb%YLka}Kn1^K(3gi0OL~}=DD6^ZkiK-bqeLorBQ=F$y_GEba z)-&I!(a9%sY(F30;{e`10f;F&{Enu8d$z_Hir%fN;?mpaajSEJKo5BP=J9T2-abwR z5;7?vD%tBNdS#E)JrZ|`UcUy@!OF>P=nfIQg^W6lB1LRPw6yI0)x+YoNXxHIc?^pAd^SgwbG3U1>ij@8zO=rR{?sh$=We`*S z-5%9fJ=Xi#$}Kb+HM>yfIPYVW^NIFC>Z{;4 z@?Ft=dHQ&rIMW<(J!v^A^=kdB`Gc3Qzt1!}X@UD3Dn&S-=#yVLO|-xb%MmLHsh>?a zzY}OTmWh=K{#y)ZbWy(*E@Qe0=ikw`-wO8|^c?1X(#YxyM-JjD${rL_Zby3F(0Ft+ zRD#$D_8PsK2(f|V8wuzpO;=hvXnq8BTmJ$@MWveHTji&Gd`oA^F!TD&1AOh9NJn`C87VbenZopmg7;ly0-docS1iSdjH= zv#=5bVV^WFv+TMXxc18$bE2nIy`Q5SabI&bRPUp>0@ceBZ$6RA6GTRTu;g~L2qTw~ zW~$zi#R3ZW7PC2p{@`m9^)-#P%<6arRWqpLFN*IeP92v$8R~fA$-;-?`x`(R7hpuo zBBfo+SjiIO$K++dXjH|eGVbxOQzXy>%J}VgcZQVl0H2W5rw}~RE30L55_gHp_|3e0 z=?EHb*;1m65?HGH4g16L8ZE`4D{Dmav-2*3ddzu;1YRv3(G(Et-S{~wFPIW<^C+?E z3i5}uAWkXBAEZi}c@h=mMU(mDjYYTG4P+2#E$e$aL@X!Ls?%X0)}d!{x~E-iRr$_p zb(R$YiiK%;OA(mO7xc-z70{%El29tt!PlChcy0PjCZtHc`qQWsp;yx<|5}%*S8qN{ z`hmibnlpj7Cd`io`iPwYO2_^h!yH|7B|7#u(6(R4{xy0I)3F8OGI+X&wwmaShMzQ1 z8POwqN%C}Gq&(f?{Fz`zMS$>+CLJyr1h|V(DbBF(r-O4o3TFuTx(vlL&>_tC9pvAr zy-rBE>8x{DW7ExC73)9{g6M@?tOH}trxKHv%$tyhQ8i9lDkWR$fJ4gEP`N6~pm^T3eTK zhg1vPZ*jl|)OX4;iL`4AxSIS_6=_7sj_Fgha6_7!B99{knxCBa5WdEo-;`)mlGL1) z{%x2L{^RG?ykpY8(;50jf-j}}{~=Y<+=_V^ZybLn&wVR5TfDDZrG%c1I^901 z)O*Qy%w*V6dTggSl=&>6)2EOwpUX5fslk5+l_E5F`s5e*i5mO`fdQ-e()V6-F)u9t z8t5mMg_Uaib%r~-s9$@`YAOFV+V*RYZ>Q%lEnXw9&r%-5U6l41QtnC69+O!_qtH!P z9-<=HSFF+nx7wKVmkCJr>4`K&QtF8xO3|v+6P098(k&Kbr6;PDM9mdN3VdW}2)eHBATMiyUUq}5`XYLDD zXqzGQ`jLi>ELHTpaqa;E!Q=DvPwL>bY1DX*u2G@!JPqR+G#Kep8f=cKO@~hPMqo$J z-K-y`P$=N>@IXl33+zI5iYe;iV1{XwVnaMmNALj*FFl0ZC{+GN(`5GxZoaN#pYGtS zE5kazZ^F8n%vAYybur&=B8Foj6iWENsQX%DsbvGd z%vvuE)Cx%dZxn*+&ZD3fbrmO=q~cup49d232kwcpu{$B9n2AgJcIEpT2csVC6*By< zOsw=Y&|#a3oHM)zB4Y#o*nae=VgH9QZ08YbjCVsuz}Z@cQpCIRZxe)HP5|LD0^vs@ zKyWtULlhK7(v68MTr3#y%kx5Dx(k)35_Rt&Z(KTs7H$md zxnp@`@bA{__B2+6Y1Y4{v1s&M+|*dEmU_-xz~G!XyVNN5oFAYY(#anSN>s5jcw=zt zs5gK`r!wShAPtndl{TESy;8Eppeg5dqOmA{fOF>|BSPK68WvDt7hnJ?!9Zj!BUdbC z-H-}q!P~eC<5IUxF>LdPZ#{a*Do}a_N*8a}OWGu~>iy_R;oL(L0(xugyznpe%J6fR zRT?JLb0m}?)T*0ys#!3iOgm+&G%lxVMBHQI=^;6#^}!MMbc_XPzTa-??RA8y(%fhv znF5=iP$x}C51>+n>4-l0H&v@;I(kE(pTLd) zdsp91RGE%`f#HrWx)RgT8_~AkbaW>@v*}2ROeYWdiRr76*JnBk;x5W`6jJWq)#WWM zgWOf_NaDxOLEhRGa_JZwt6q{oR$3TkPJX0g#1evxdvYaKV+heN3k?qr_!1 z*8Kw|%6kcCH8YOehiW-P0u*I0Q;(W5EN^bh#OG2*9%Mcbm67x*lZ;fU%A{~qk0zA& z23k!u8-I+Uj4ry8*_cP$sb-@ z$9vGegOHes{6~(<9HYmTv>lc&0@LZ!nTRRV`3L(3wl=8bq+a{(y737s1+1Ho`x2mP zcsKf9dTk1o^znyz!*P+JRf9Vuo&%8n$Kwy_$Z?rHR)ab$Uj$&?e37|OMz2$(x~vK( z3<1`9T?4v~o&r!>X9&tmz^|ctixDwK9O_Gd2S}E${Sp~ z&YcB-3_t%y*f4*3ooB~)e{xof+fY7L=Yc6*8pakc;s4tE^V?^wqU-*NZt zv-5`z<`3LCcPPLA(Ci)ggR}Fqqec^K_ES}0t>&-P8WJf+wJ-%gL2id=r*r}ZQ7=bz z#5?3j#Jh6o#1w)fy-R+dh@fk_vY56()F970kAOTz5P8_owV5#<*VJY)!;bXK`o2K8Q*hrPT9lFG)*ll+jOI5M~3x`CZRO0Bu zLd_b7iFh2TAUc&ssZB@iPa-v@=bw1)O4>$JakLJZ7Sg_lnwJaIyetc9IN6h&Uv!bL zBG3v#YOY{LM^FvsBqNg|EF|CvtJ!9}r&$pUt)bcOiwCO2T(oipn&ydxX(oedaQ)Ik zqiyfq6&h~8miv=&6!cr8kD2-{vA9baV*g9J5w~#`gIEMA`vd8>hu|hGHe-V-CqEjo z^=t7_33~o*;_dhKki$Y?V*TL1gQ}1LX#*HO7T;5xA6)ii_`wqo_x^Q!e*<{G1sKs9 zfD)PVAi=u@ey;a9u-y^O#VWYNQd;&R0~S1Z`T`c- z2>1pFSl~zn5wq|V5C@7VpF0twWe@c)O74IV*a+908Ksf)rM%gDv|AV1Z4f9>t}b?4 zSchqC5o#N*hsUo@wT*+E}~f@$ZAs%VEyuquqrXp9i@GX}JVfA)?1_+4Um0 zicdmQ;n0&vC?Jo56VJ7~%_eSdY}=|8VnHdFjr`^bYiJ`A#-wTd1S&;@0MIAD9+l`m z9MPjzD~Iom=6lwYUJ+>9l(PY*SMI8pF|5%={RZ-^Cq^Db+kON2Gw3h?|(9fDCEP?(J_k<#)}MhY0MKiGmk`P)mB zmI;@Se?QP(Jbcoj|6PVJy68$~?0=%|R5Ml}DT9REK4zjW8h#>$9IEUkNkWcjrqpYa z_r~OiCk+C|HK?>&GV;l2I|IhUWMq&lO&RHl#*lKQvoe7-3EZ>OAB13VtjS{Y3klPz zPi)3Esm${WDO#20dD3fBn&;=ZXtFXsd{k_8)U?pgnj$PFolKJ=Cqg3^sZxR(?%S6= zEnwQz>hY9yOzFnB(y>hI1Id1IfrF6!VCY=h>fT;ILme>8{Q(@9zSQ-{0hV@3h1j-U z5vU$7-lXR&*eAw0>KnTzlJPbK)>uwto!~UUi<4l)+>#B6u4kAHHwreiI?GM%2r}O3 zkup2}dL~>-cKkJ}l%5@Zn-)?bLKbom!&k_J@I$E~T)|@O?>^NE@qVUUEax#Zyf?X= zVg|x$CT56bMMt^}m5o8U4C5=wOAM3+NE12ayg2VqV)6>ncX2NJ-!L$7UYvgg&t(f2 z$GEU>4Sa5R2fTiH5%88Tv|5E=HdVjJ<0{kR5v&>M{&0WcYeh#0_!vkU;V)4aX`qgMklpwD*K zot&51DtV*$3o(jM4LXWZV-$%;T(e$~_a%Z$1iD=Hf}Qtr2EKy_eCsCVJ;QKKaKxrxrenH;%y&W^QuVy;j{`guNX1SgQM!5!*N_)MIbLCS8lCSs=Dq9}A3K z%F^W``X{Y)@nd8QFtQbuSHJ?%Vl?#jJgIvT?}bW*o5{e$n>0&?^C720wTy#ONJ>yr z_lZ(M0U6bYSUb7lQHu69cV&%uQe&q;@6@2^-D-?7)4H)wbbWJ{uA|otGj#IJV(*9m z4CzCsY+8zMm!*zAGkWO0DQnl%uHAIS_|&eaS@ToY9aGl+?u)vMIJ5?V)a`&O^Npp( zVyn=sEW>?-lWW#pl|~1CqhlS+hjyo0gr~h>-O<20R3|@`J-Huw)2st%ZNJ^BRqHd> zv1SXps@)Ba|<)4NW%o#cxig(ot(B&7a_Jno&lr>vh zv=>^1YEhmfY;&qNp#gvtG%LJoqX?V3ZW^t0I?eXX^mL_En?ewOsb){r?auVBJ$r7N ze(Ijxd!DXsyZcw(nJ1duGtnB*^1J{}om+7mrwTiAuSqvL*bq~c)bwOEzYyp+T4Un? zt!}H@bBd@#Cfr*9ql7&{CG~T`B?cEn%T?+@8spR!9qLwyu|VWVd_7h?H^vx8--R*m zr2tyEG0t242R6uEg%BJH#E*2n3^sB0wv8OvClDa! zo@r!5vLYZy2|@W}^5z?2c{8Os?X|iQ_uNC^%4}%f(44o@C<8XMSK-~tY-l5zhT3o@ zI%1>JYb0hv4QIan+rgtmX(UKO(1i+f3q)T~%1|6ruv@%}!kSZU;l`74p@VpT zr=sOwQPNC+OLKP6w4_gF6;y4uW2D;Urc^VkMN79w&JF1nfHq0WT}d;tgvj}*3b~i|w82I3J;j|ikUbfv4H8d?TpQot04GEQ7}46Aa_`6!B0mJT z#qG9Lap?{6nA7=B;?uxN_GP?V*-EypZ=UKEO?1dB+CRxT61t-K!~Q2}`+llg!i^B} z;)pVm1y*q!uhS~j+sL22WX&gxJmp1MS6YA~N9dnyXZ4;Gtx5-)lCD~SWp$u^1ASrWkI_GoDoH@ZD??~s=K%-W zZyzpO$LTJ~l-GGf)$1ZkoX%a7Z zoOx@{gmtP?Emmv<;Zq2qtTTFBb&<}bvp8*|Ja&A`Rl8QQmKrVCyNktci*9Mc)*m~& zwzWXPm-Qk#Y>TUwx@1j-Rkc%HvW0;(2PRw#_&pgQ9)YXx2XJM^P!5R^D={KeCe4Pt zOs)HoEXbBol+-KB^tV5;kg136KEVJFp>&c!&{_m}W!3CRn)K4vsB}Qgl14yRI~H4fvSx!VNp(WnaZLdWirkD@9@l6H?=itj0Ik1TsK_Q<}w1EebFdt>rc zE57FecFO{wXfdU>zjC)cCopA@aMYVMlEOyviy`q@O&IlP4(w;*2Nsu3;im;iX^HoS z_@3g3Cwnr8w-&NO4UK=B<9cg+Zvzla0FjYk$;G94!;?489Rzy7yz!%Ww=(m_7E=am z+lJ_k_y2n&&M+h6QyScG4EJBc1h3M#vYOa`gS|h0L6$0-lFlayqA}-BBw*pz&49{F zj>L0PW;2feSmW5|{&@LaEqfA6oOWj8-ga_-v^%YCkwOciqK8LAD&n#&nN^W89r_X$ z(xXTSNWWyhJ@K<%A6Ikfbs=5u|f-sBEOq75OP}i796$lWZ?{bB>XHLgizY3$%LF zB7!x(jh6#gskg+^@-~c05tcXl*e>{5-aBj_jdFN>; zoWT-zJBqIk<`)JTYD&z9Bw?1=5BXwJpgjm!O;k#43(ZJ@ZZ-;p*+L0xekl=U3k@l^ zc(x>}rhm?k^8zefo!YYR>mp~XjACxk zQCwh*;*6i0D-c{+&&_eAF{e1_n6_a|c~nlCoKkc9aovyPX7XYTes1oxH{`VE=D5n3 z^CAsMn8zZ-o~UNug&6S3GdbW?=iu~wcV6WUIjN?{xm;t6K?Bz}T=r&0HOV_M2VQb47Sj?=L6Ut(YYnFDB!ZrJDj9R#6`B#K%R{B2&4Vu2u z^KIsF{cEjIv}4?}R+M{I)m?#`_IlGrpjymHsP^7csI_giRWZ_`T-ZMbwW5T5(!9yr zgHOaVW=enUAL&Ni*Pm*jm#d-QzxYhYv0zKgE`!L?E%-hGQj6xLU_&iC(`3)4|HgZRidWyoDn> zjUq*Cb!@t`rqEi(r5T9jS~gE)dZ#hlQ={{(F2zP8^h?@Md|%<~nq(oUPrsh^el>47 z<5#loem(t@R(EIr#$}Kb+ zHM>yfIPYV0sEqbP>Z{;4@?EjFs^O3)3yxNnE`gA5Ek~tZt)Df2@bYzMrqM|Y+!0iY za6Zu|KeHuT;D+Uhm4wvKCY+@}yV1gm^eJhDD=?hVMg3N|tnQ~W+V)%FEP4(L|JKOr z3r7y(D#{)dQf^0j-q3h-GgN}^8tgTCH6gJ~nX+$7KsQlFS~_Tc1a({g0!2lorQ@k7 zT9uX#B^H#WBNk+(bgLCaPuCEodl@jqoxP^-Lg{`R{n|W)Km2PImG0_NVbRVn+6|m5 zZN;TR3{kqxx+_q+Z&XUR*<#Loj6N*L`n6eD34*XsnwMF2{ULDemo?@@PpNu;P&eYf z=4`0mM{OM%gCy?e6RA8wWb_A1Za0fCav5o+>K$1upnz{Nn^WiyzBW<+S&g;K>iA!y zY6f-utMNU>spGOILmf{%S@`eq{SBau3oxQ(kqGb@NXHv(0KEoVcbR|0W z3(>Y;$G()F!*pzcxD1}|?jS>zy(D?MFH)XvKQk%QXGMech@?4{iI zOr&U4?t7H9&$RDRi?x=*A^RTYlNe_MeHZ(lPtY&k_wcXP+4o$_3UVC@>tcKim-PD> zU_YUoREOp|y#f*KeIS~;bXValF4YsK+V=Y9=0ZIQBf5~9@4h#hEqQ_XG7#n$=%xfs zxq0~q-H7|}Ik9;Wi0iQL`5)g0k`2*Yq@_}_ zrB42DDT_;;+#`$gZGthNlYb8HR;H70*4u7IIPo;8;-WKF06$OtLYqxg#h34H;^K4> z_Qy!J=pJ>_!EsZw2nO`;Sgl4~#1Cq1UB(?!EpWfZ0UJ=?Dbp>^Ixp17R*p0xWXJR= zTG;!lDe^c%p!vzU?rPv`%(;gC$+QVLr{*1#{wg_!v!VO{Xcl}a-Tx_6NpmaaVZ84D zOu?49+2VcOYMZZqr&~gmdN28onG8EhkL?tPGM@!>`V`XTNT#7l4gOYCiqPQclb^K` zHTVkx16K2;@4e@X^CbNh}p_{HeL`AT#WIgd<0+M}tB2AH$dg9I$tx7#nNd~3!#Dc8s z<7y?*Gd4s|>;i^3`#60Udg5E@7wd`qD^^cT1zvNTnpVyu^wV5xMLL6bTnO;i7i&1n z)wBIGz}ZNadipG&dyj^WfAvF0J*aDpbYPQv)eKTF&m5Q6a@_`tymj+Zp^bEpoknq= zxaZ86?#_GB5!n$Ozj0E(1$(QDE2y!+Nvsc0-N-d6=dL>qXnOA2cBj;Hhw*oko{e$y z%*W;SVB`0pwKz@4ytdpg2b@1fRd*PT^F?ItTJClu{@SOTwQ8~2={>}sPZe-C^Fv&< zQ)uDtp`JUU(L+ahojl!vH(tr%c;jBc^t%Z#p$hq_b@}H=9`Mf?H&-s5z{q{p_DQ5I zo5Zs{xq#HwlX`t%U5wbmy#aM_V8W=ykpQ}uwo>*Am8)@T!sd~lOaMJS=Z-AWbyx*t;X(ZoNNl^^DJ(Vduu*iAN82ax zI4U2zts0&-V}j)=Up9S3ck2OHYq{rMSZ*{r^+w0`eLS+pMHb3p2WL6+rzwM74{x^6 zVaH}3YQqw$w$bF};th_8@|!#<7I~H(xOE3T$_gY*_{FA{jmVKszJ^>uwce5Q-O);+ zrXSb4+w9X-;0lRX#Q z(&yI~F>|_|^5mY$b``&`FhAz)R;$s?ZgF-Qdmz;9&@iT*fegk!mTA!@1?^X>8)%Ed``o$$PKd^Q&O0&86;AGp`vBh~*bm z@LUVCj~cvy-{=H}-m7NY?v@()(@VrsTOqv~Z5v^4UQOnbVkdu+^iO8d3-YCEyMWyd z1|p#xRuiIFT#~&b8{8|wlS_F$J@o+c?Iv-^!|vAhGE(KA&R39XtA_u< zzw2rZV*O3+r2;0}eO=7!HW0O)pT%RI;%r4tY%-@~k>!t8vJl({(rdnU;~c89ENnaGEIM4ap`|PEgJNMwG+s z2a_)?G-`StaM6nbFLmh=qs0-`D_6SEXdlZ=t3&JB#lg1Zm-F0FNX}xTOVX|9ZY(xx zoDYGb$lT!r^8F(q^H24TLJA;pIphhLstutnI@AKxc)d}-W)9wnw0E^`3398kNaAj^ PL^58ALsC7u3se6e-aXZ> literal 95013 zcmeHw3z!^7b*^n`ceSgxWv}h{)i$;?vUg`CVF$5T2EA;AthFM^cEGVmvopOr)0&+b z&qLBe2qYw2J841^hCp~EY+d*MYWQL0pH<(6OXJ%o=NsC=hdYv)A+ zBc;ZIQNJ?u{olCcqKhVPne<+Ocb=cVE5Q z@yp&}6e~9tykmabFSbe*uUId8hwAml>0+nasP|PnQSqtjX}{I3b{4(HoOh&HFID_@ z$8U{|dG}OHe!Y!$yY;f)@;WHJw^_t@`DMbppQ<+M-md%(FGmG#6qRn={;V-?vC;Jw zii=*o(eb)%A1zed-dwfjd;Zyy-|TqRI*?mv)~e{%_s«oPrBR}RnU$oGe?G#bC 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 diff --git a/nightly/.doctrees/utilities.doctree b/nightly/.doctrees/utilities.doctree index 3ff5a3ab4cd8320d3858e9fe29ff2f9cc99c9df6..1992ed08e75451750f6b2c46544e3ac6adc86620 100644 GIT binary patch literal 179733 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

    d-6`S9FU6my!zTcFPrA=fmzCi}>nhdk~9DP}mD| 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 diff --git a/nightly/_modules/cil/framework/BlockDataContainer.html b/nightly/_modules/cil/framework/BlockDataContainer/index.html similarity index 79% rename from nightly/_modules/cil/framework/BlockDataContainer.html rename to nightly/_modules/cil/framework/BlockDataContainer/index.html index 7181b33032..203e545ced 100644 --- a/nightly/_modules/cil/framework/BlockDataContainer.html +++ b/nightly/_modules/cil/framework/BlockDataContainer/index.html @@ -1,196 +1,440 @@ + - + + + cil.framework.BlockDataContainer — CIL 23.1.0 documentation - + + + + + - - + + + - - - - + + + + + - - - + + + - - - - - - - - - - - + + - - + + + + + + + + + + - - -

    + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.framework.BlockDataContainer

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -216,7 +460,7 @@ 

    Source code for cil.framework.BlockDataContainer

    import functools from cil.utilities.multiprocessing import NUM_THREADS -
    [docs]class BlockDataContainer(object): +
    [docs]class BlockDataContainer(object): '''Class to hold DataContainers as column vector Provides basic algebra between BlockDataContainer's, DataContainer's and @@ -278,11 +522,11 @@

    Source code for cil.framework.BlockDataContainer

    .format(n_elements, len(args))) -
    [docs] def __iter__(self): +
    [docs] def __iter__(self): '''BlockDataContainer is Iterable''' self.index=0 return self
    -
    [docs] def next(self): +
    [docs] def next(self): '''python2 backwards compatibility''' return self.__next__()
    def __next__(self): @@ -293,7 +537,7 @@

    Source code for cil.framework.BlockDataContainer

    self.index+=1 return out -
    [docs] def is_compatible(self, other): +
    [docs] def is_compatible(self, other): '''basic check if the size of the 2 objects fit''' if isinstance(other, Number): @@ -327,7 +571,7 @@

    Source code for cil.framework.BlockDataContainer

    def __getitem__(self, row): return self.get_item(row) -
    [docs] def add(self, other, *args, **kwargs): +
    [docs] def add(self, other, *args, **kwargs): '''Algebra: add method of BlockDataContainer with number/DataContainer or BlockDataContainer :param: other (number, DataContainer or subclasses or BlockDataContainer @@ -338,7 +582,7 @@

    Source code for cil.framework.BlockDataContainer

    self.binary_operations(BlockDataContainer.ADD, other, *args, **kwargs) else: return self.binary_operations(BlockDataContainer.ADD, other, *args, **kwargs)
    -
    [docs] def subtract(self, other, *args, **kwargs): +
    [docs] def subtract(self, other, *args, **kwargs): '''Algebra: subtract method of BlockDataContainer with number/DataContainer or BlockDataContainer :param: other (number, DataContainer or subclasses or BlockDataContainer @@ -349,7 +593,7 @@

    Source code for cil.framework.BlockDataContainer

    self.binary_operations(BlockDataContainer.SUBTRACT, other, *args, **kwargs) else: return self.binary_operations(BlockDataContainer.SUBTRACT, other, *args, **kwargs)
    -
    [docs] def multiply(self, other, *args, **kwargs): +
    [docs] def multiply(self, other, *args, **kwargs): '''Algebra: multiply method of BlockDataContainer with number/DataContainer or BlockDataContainer :param: other (number, DataContainer or subclasses or BlockDataContainer) @@ -360,7 +604,7 @@

    Source code for cil.framework.BlockDataContainer

    self.binary_operations(BlockDataContainer.MULTIPLY, other, *args, **kwargs) else: return self.binary_operations(BlockDataContainer.MULTIPLY, other, *args, **kwargs)
    -
    [docs] def divide(self, other, *args, **kwargs): +
    [docs] def divide(self, other, *args, **kwargs): '''Algebra: divide method of BlockDataContainer with number/DataContainer or BlockDataContainer :param: other (number, DataContainer or subclasses or BlockDataContainer) @@ -371,7 +615,7 @@

    Source code for cil.framework.BlockDataContainer

    self.binary_operations(BlockDataContainer.DIVIDE, other, *args, **kwargs) else: return self.binary_operations(BlockDataContainer.DIVIDE, other, *args, **kwargs)
    -
    [docs] def power(self, other, *args, **kwargs): +
    [docs] def power(self, other, *args, **kwargs): '''Algebra: power method of BlockDataContainer with number/DataContainer or BlockDataContainer :param: other (number, DataContainer or subclasses or BlockDataContainer @@ -382,7 +626,7 @@

    Source code for cil.framework.BlockDataContainer

    self.binary_operations(BlockDataContainer.POWER, other, *args, **kwargs) else: return self.binary_operations(BlockDataContainer.POWER, other, *args, **kwargs)
    -
    [docs] def maximum(self, other, *args, **kwargs): +
    [docs] def maximum(self, other, *args, **kwargs): '''Algebra: power method of BlockDataContainer with number/DataContainer or BlockDataContainer :param: other (number, DataContainer or subclasses or BlockDataContainer) @@ -393,7 +637,7 @@

    Source code for cil.framework.BlockDataContainer

    self.binary_operations(BlockDataContainer.MAXIMUM, other, *args, **kwargs) else: return self.binary_operations(BlockDataContainer.MAXIMUM, other, *args, **kwargs)
    -
    [docs] def minimum(self, other, *args, **kwargs): +
    [docs] def minimum(self, other, *args, **kwargs): '''Algebra: power method of BlockDataContainer with number/DataContainer or BlockDataContainer :param: other (number, DataContainer or subclasses or BlockDataContainer) @@ -405,7 +649,7 @@

    Source code for cil.framework.BlockDataContainer

    else: return self.binary_operations(BlockDataContainer.MINIMUM, other, *args, **kwargs)
    -
    [docs] def sapyb(self, a, y, b, out, num_threads = NUM_THREADS): +
    [docs] def sapyb(self, a, y, b, out, num_threads = NUM_THREADS): r'''performs axpby element-wise on the BlockDataContainer containers Does the operation .. math:: a*x+b*y and stores the result in out, where x is self @@ -434,13 +678,13 @@

    Source code for cil.framework.BlockDataContainer

    self.binary_operations(BlockDataContainer.SAPYB, y, **kwargs)
    -
    [docs] def axpby(self, a, b, y, out, dtype=numpy.float32, num_threads = NUM_THREADS): +
    [docs] def axpby(self, a, b, y, out, dtype=numpy.float32, num_threads = NUM_THREADS): '''Deprecated method. Alias of sapyb''' return self.sapyb(a,y,b,out,num_threads)
    -
    [docs] def binary_operations(self, operation, other, *args, **kwargs): +
    [docs] def binary_operations(self, operation, other, *args, **kwargs): '''Algebra: generic method of algebric operation with BlockDataContainer with number/DataContainer or BlockDataContainer Provides commutativity with DataContainer and subclasses, i.e. this @@ -593,7 +837,7 @@

    Source code for cil.framework.BlockDataContainer

    ## unary operations -
    [docs] def unary_operations(self, operation, *args, **kwargs ): +
    [docs] def unary_operations(self, operation, *args, **kwargs ): '''Unary operation on BlockDataContainer: generic method of unary operation with BlockDataContainer: abs, sign, sqrt and conjugate @@ -669,7 +913,7 @@

    Source code for cil.framework.BlockDataContainer

    else: return ValueError('Not implemented') -
    [docs] def copy(self): +
    [docs] def copy(self): '''alias of clone''' return self.clone()
    def clone(self): @@ -704,7 +948,7 @@

    Source code for cil.framework.BlockDataContainer

    def __pow__(self, other): return self.power(other) # reverse operand -
    [docs] def __radd__(self, other): +
    [docs] def __radd__(self, other): '''Reverse addition to make sure that this method is called rather than the __mul__ of a numpy array @@ -714,7 +958,7 @@

    Source code for cil.framework.BlockDataContainer

    return self + other
    # __radd__ -
    [docs] def __rsub__(self, other): +
    [docs] def __rsub__(self, other): '''Reverse subtraction to make sure that this method is called rather than the __mul__ of a numpy array @@ -724,7 +968,7 @@

    Source code for cil.framework.BlockDataContainer

    return (-1 * self) + other
    # __rsub__ -
    [docs] def __rmul__(self, other): +
    [docs] def __rmul__(self, other): '''Reverse multiplication to make sure that this method is called rather than the __mul__ of a numpy array @@ -734,7 +978,7 @@

    Source code for cil.framework.BlockDataContainer

    return self * other
    # __rmul__ -
    [docs] def __rdiv__(self, other): +
    [docs] def __rdiv__(self, other): '''Reverse division to make sure that this method is called rather than the __mul__ of a numpy array @@ -743,7 +987,7 @@

    Source code for cil.framework.BlockDataContainer

    ''' return pow(self / other, -1)
    # __rdiv__ -
    [docs] def __rtruediv__(self, other): +
    [docs] def __rtruediv__(self, other): '''Reverse truedivision to make sure that this method is called rather than the __mul__ of a numpy array @@ -752,7 +996,7 @@

    Source code for cil.framework.BlockDataContainer

    ''' return self.__rdiv__(other)
    -
    [docs] def __rpow__(self, other): +
    [docs] def __rpow__(self, other): '''Reverse power to make sure that this method is called rather than the __mul__ of a numpy array @@ -761,7 +1005,7 @@

    Source code for cil.framework.BlockDataContainer

    ''' return other.power(self)
    -
    [docs] def __iadd__(self, other): +
    [docs] def __iadd__(self, other): '''Inline addition''' if isinstance (other, BlockDataContainer): for el,ot in zip(self.containers, other.containers): @@ -777,7 +1021,7 @@

    Source code for cil.framework.BlockDataContainer

    return self
    # __iadd__ -
    [docs] def __isub__(self, other): +
    [docs] def __isub__(self, other): '''Inline subtraction''' if isinstance (other, BlockDataContainer): for el,ot in zip(self.containers, other.containers): @@ -793,7 +1037,7 @@

    Source code for cil.framework.BlockDataContainer

    return self
    # __isub__ -
    [docs] def __imul__(self, other): +
    [docs] def __imul__(self, other): '''Inline multiplication''' if isinstance (other, BlockDataContainer): for el,ot in zip(self.containers, other.containers): @@ -809,7 +1053,7 @@

    Source code for cil.framework.BlockDataContainer

    return self
    # __imul__ -
    [docs] def __idiv__(self, other): +
    [docs] def __idiv__(self, other): '''Inline division''' if isinstance (other, BlockDataContainer): for el,ot in zip(self.containers, other.containers): @@ -824,11 +1068,11 @@

    Source code for cil.framework.BlockDataContainer

    el /= ot return self
    # __rdiv__ -
    [docs] def __itruediv__(self, other): +
    [docs] def __itruediv__(self, other): '''Inline truedivision''' return self.__idiv__(other)
    -
    [docs] def __neg__(self): +
    [docs] def __neg__(self): """ Return - self """ return -1 * self
    @@ -843,37 +1087,59 @@

    Source code for cil.framework.BlockDataContainer

    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    - - + + + +
    +
    +

    +
    + + + + + + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/framework/BlockGeometry.html b/nightly/_modules/cil/framework/BlockGeometry.html deleted file mode 100644 index 679abf16ce..0000000000 --- a/nightly/_modules/cil/framework/BlockGeometry.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - - - cil.framework.BlockGeometry — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.framework.BlockGeometry

    -# -*- coding: utf-8 -*-
    -#  Copyright 2019 United Kingdom Research and Innovation
    -#  Copyright 2019 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -import functools
    -from cil.framework.BlockDataContainer import BlockDataContainer
    -
    -
    [docs]class BlockGeometry(object): - - RANDOM = 'random' - RANDOM_INT = 'random_int' - - @property - def dtype(self): - return tuple(i.dtype for i in self.geometries) - - '''Class to hold Geometry as column vector''' - #__array_priority__ = 1 - def __init__(self, *args, **kwargs): - '''''' - self.geometries = args - self.index = 0 - shape = (len(args),1) - self.shape = shape - - n_elements = functools.reduce(lambda x,y: x*y, shape, 1) - if len(args) != n_elements: - raise ValueError( - 'Dimension and size do not match: expected {} got {}' - .format(n_elements, len(args))) - -
    [docs] def get_item(self, index): - '''returns the Geometry in the BlockGeometry located at position index''' - return self.geometries[index]
    - -
    [docs] def allocate(self, value=0, **kwargs): - - '''Allocates a BlockDataContainer according to geometries contained in the BlockGeometry''' - - symmetry = kwargs.get('symmetry',False) - containers = [geom.allocate(value, **kwargs) for geom in self.geometries] - - if symmetry == True: - - # for 2x2 - # [ ig11, ig12\ - # ig21, ig22] - - # Row-wise Order - - if len(containers)==4: - containers[1]=containers[2] - - # for 3x3 - # [ ig11, ig12, ig13\ - # ig21, ig22, ig23\ - # ig31, ig32, ig33] - - elif len(containers)==9: - containers[1]=containers[3] - containers[2]=containers[6] - containers[5]=containers[7] - - # for 4x4 - # [ ig11, ig12, ig13, ig14\ - # ig21, ig22, ig23, ig24\ c - # ig31, ig32, ig33, ig34 - # ig41, ig42, ig43, ig44] - - elif len(containers) == 16: - containers[1]=containers[4] - containers[2]=containers[8] - containers[3]=containers[12] - containers[6]=containers[9] - containers[7]=containers[10] - containers[11]=containers[15] - - return BlockDataContainer(*containers)
    - - def __iter__(self): - '''BlockGeometry is an iterable''' - return self - - def __next__(self): - '''BlockGeometry is an iterable''' - if self.index < len(self.geometries): - result = self.geometries[self.index] - self.index += 1 - return result - else: - self.index = 0 - raise StopIteration
    -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/framework/BlockGeometry/index.html b/nightly/_modules/cil/framework/BlockGeometry/index.html new file mode 100644 index 0000000000..91e97412d4 --- /dev/null +++ b/nightly/_modules/cil/framework/BlockGeometry/index.html @@ -0,0 +1,603 @@ + + + + + + + + + + + cil.framework.BlockGeometry — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.framework.BlockGeometry

    +# -*- coding: utf-8 -*-
    +#  Copyright 2019 United Kingdom Research and Innovation
    +#  Copyright 2019 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +import functools
    +from cil.framework.BlockDataContainer import BlockDataContainer
    +
    +
    [docs]class BlockGeometry(object): + + RANDOM = 'random' + RANDOM_INT = 'random_int' + + @property + def dtype(self): + return tuple(i.dtype for i in self.geometries) + + '''Class to hold Geometry as column vector''' + #__array_priority__ = 1 + def __init__(self, *args, **kwargs): + '''''' + self.geometries = args + self.index = 0 + shape = (len(args),1) + self.shape = shape + + n_elements = functools.reduce(lambda x,y: x*y, shape, 1) + if len(args) != n_elements: + raise ValueError( + 'Dimension and size do not match: expected {} got {}' + .format(n_elements, len(args))) + +
    [docs] def get_item(self, index): + '''returns the Geometry in the BlockGeometry located at position index''' + return self.geometries[index]
    + +
    [docs] def allocate(self, value=0, **kwargs): + + '''Allocates a BlockDataContainer according to geometries contained in the BlockGeometry''' + + symmetry = kwargs.get('symmetry',False) + containers = [geom.allocate(value, **kwargs) for geom in self.geometries] + + if symmetry == True: + + # for 2x2 + # [ ig11, ig12\ + # ig21, ig22] + + # Row-wise Order + + if len(containers)==4: + containers[1]=containers[2] + + # for 3x3 + # [ ig11, ig12, ig13\ + # ig21, ig22, ig23\ + # ig31, ig32, ig33] + + elif len(containers)==9: + containers[1]=containers[3] + containers[2]=containers[6] + containers[5]=containers[7] + + # for 4x4 + # [ ig11, ig12, ig13, ig14\ + # ig21, ig22, ig23, ig24\ c + # ig31, ig32, ig33, ig34 + # ig41, ig42, ig43, ig44] + + elif len(containers) == 16: + containers[1]=containers[4] + containers[2]=containers[8] + containers[3]=containers[12] + containers[6]=containers[9] + containers[7]=containers[10] + containers[11]=containers[15] + + return BlockDataContainer(*containers)
    + + def __iter__(self): + '''BlockGeometry is an iterable''' + return self + + def __next__(self): + '''BlockGeometry is an iterable''' + if self.index < len(self.geometries): + result = self.geometries[self.index] + self.index += 1 + return result + else: + self.index = 0 + raise StopIteration
    +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/framework/framework.html b/nightly/_modules/cil/framework/framework/index.html similarity index 95% rename from nightly/_modules/cil/framework/framework.html rename to nightly/_modules/cil/framework/framework/index.html index 1399909061..f593d66bbb 100644 --- a/nightly/_modules/cil/framework/framework.html +++ b/nightly/_modules/cil/framework/framework/index.html @@ -1,196 +1,440 @@ + - + + + cil.framework.framework — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.framework.framework

     # -*- coding: utf-8 -*-
     #  Copyright 2018 United Kingdom Research and Innovation
    @@ -435,7 +679,7 @@ 

    Source code for cil.framework.framework

         
         return msg.format(*args )
     
    -
    [docs]class ImageGeometry(object): +
    [docs]class ImageGeometry(object): RANDOM = 'random' RANDOM_INT = 'random_int' CHANNEL = 'channel' @@ -581,7 +825,7 @@

    Source code for cil.framework.framework

             self.dtype = kwargs.get('dtype', numpy.float32)
     
     
    -
    [docs] def get_slice(self,channel=None, vertical=None, horizontal_x=None, horizontal_y=None): +
    [docs] def get_slice(self,channel=None, vertical=None, horizontal_x=None, horizontal_y=None): ''' Returns a new ImageGeometry of a single slice of in the requested direction. ''' @@ -638,11 +882,11 @@

    Source code for cil.framework.framework

             else:
                 return 0
             
    -
    [docs] def clone(self): +
    [docs] def clone(self): '''returns a copy of the ImageGeometry''' return copy.deepcopy(self)
    -
    [docs] def copy(self): +
    [docs] def copy(self): '''alias of clone''' return self.clone()
    @@ -661,7 +905,7 @@

    Source code for cil.framework.framework

                 repres += "center : x{0},y{1}\n".format(self.center_x, self.center_y)
     
             return repres
    -
    [docs] def allocate(self, value=0, **kwargs): +
    [docs] def allocate(self, value=0, **kwargs): '''allocates an ImageData according to the size expressed in the instance :param value: accepts numbers to allocate an uniform array, or a string as 'random' or 'random_int' to create a random array or None. @@ -2251,7 +2495,7 @@

    Source code for cil.framework.framework

             return False
     
     
    -
    [docs]class AcquisitionGeometry(object): +
    [docs]class AcquisitionGeometry(object): """This class holds the AcquisitionGeometry of the system. Please initialise the AcquisitionGeometry using the using the static methods: @@ -2583,7 +2827,7 @@

    Source code for cil.framework.framework

             self.set_centre_of_rotation(offset_x_y0, 'pixels', angle, 'radian')
     
     
    -
    [docs] def set_angles(self, angles, initial_angle=0, angle_unit='degree'): +
    [docs] def set_angles(self, angles, initial_angle=0, angle_unit='degree'): r'''This method configures the angular information of an AcquisitionGeometry object. :param angles: The angular positions of the acquisition data @@ -2598,7 +2842,7 @@

    Source code for cil.framework.framework

             self.config.angles = Angles(angles, initial_angle, angle_unit)
             return self
    -
    [docs] def set_panel(self, num_pixels, pixel_size=(1,1), origin='bottom-left'): +
    [docs] def set_panel(self, num_pixels, pixel_size=(1,1), origin='bottom-left'): r'''This method configures the panel information of an AcquisitionGeometry object. @@ -2614,7 +2858,7 @@

    Source code for cil.framework.framework

             self.config.panel = Panel(num_pixels, pixel_size, origin, self.config.system._dimension)
             return self
    -
    [docs] def set_channels(self, num_channels=1, channel_labels=None): +
    [docs] def set_channels(self, num_channels=1, channel_labels=None): r'''This method configures the channel information of an AcquisitionGeometry object. :param num_channels: The number of channels of data @@ -2627,7 +2871,7 @@

    Source code for cil.framework.framework

             self.config.channels = Channels(num_channels, channel_labels)
             return self
    -
    [docs] def set_labels(self, labels=None): +
    [docs] def set_labels(self, labels=None): r'''This method configures the dimension labels of an AcquisitionGeometry object. :param labels: The order of the dimensions describing the data.\ @@ -2640,7 +2884,7 @@

    Source code for cil.framework.framework

             self.dimension_labels = labels
             return self
    -
    [docs] @staticmethod +
    [docs] @staticmethod def create_Parallel2D(ray_direction=[0, 1], detector_position=[0, 0], detector_direction_x=[1, 0], rotation_axis_position=[0, 0], units='units distance'): r'''This creates the AcquisitionGeometry for a parallel beam 2D tomographic system @@ -2662,7 +2906,7 @@

    Source code for cil.framework.framework

             AG.config.system = Parallel2D(ray_direction, detector_position, detector_direction_x, rotation_axis_position, units)
             return AG    
    -
    [docs] @staticmethod +
    [docs] @staticmethod def create_Cone2D(source_position, detector_position, detector_direction_x=[1,0], rotation_axis_position=[0,0], units='units distance'): r'''This creates the AcquisitionGeometry for a cone beam 2D tomographic system @@ -2684,7 +2928,7 @@

    Source code for cil.framework.framework

             AG.config.system = Cone2D(source_position, detector_position, detector_direction_x, rotation_axis_position, units)
             return AG   
    -
    [docs] @staticmethod +
    [docs] @staticmethod def create_Parallel3D(ray_direction=[0,1,0], detector_position=[0,0,0], detector_direction_x=[1,0,0], detector_direction_y=[0,0,1], rotation_axis_position=[0,0,0], rotation_axis_direction=[0,0,1], units='units distance'): r'''This creates the AcquisitionGeometry for a parallel beam 3D tomographic system @@ -2710,7 +2954,7 @@

    Source code for cil.framework.framework

             AG.config.system = Parallel3D(ray_direction, detector_position, detector_direction_x, detector_direction_y, rotation_axis_position, rotation_axis_direction, units)
             return AG            
    -
    [docs] @staticmethod +
    [docs] @staticmethod def create_Cone3D(source_position, detector_position, detector_direction_x=[1,0,0], detector_direction_y=[0,0,1], rotation_axis_position=[0,0,0], rotation_axis_direction=[0,0,1], units='units distance'): r'''This creates the AcquisitionGeometry for a cone beam 3D tomographic system @@ -2771,7 +3015,7 @@

    Source code for cil.framework.framework

             AG_2D.config.panel.pixel_size[1] = abs(self.config.system.detector.direction_y[2]) * self.config.panel.pixel_size[1]
             return AG_2D
     
    -
    [docs] def get_ImageGeometry(self, resolution=1.0): +
    [docs] def get_ImageGeometry(self, resolution=1.0): '''returns a default configured ImageGeometry object based on the AcquisitionGeomerty''' num_voxel_xy = int(numpy.ceil(self.config.panel.num_pixels[0] * resolution)) @@ -2790,7 +3034,7 @@

    Source code for cil.framework.framework

             return str(self.config)
     
     
    -
    [docs] def get_slice(self, channel=None, angle=None, vertical=None, horizontal=None): +
    [docs] def get_slice(self, channel=None, angle=None, vertical=None, horizontal=None): ''' Returns a new AcquisitionGeometry of a single slice of in the requested direction. Will only return reconstructable geometries. ''' @@ -2815,7 +3059,7 @@

    Source code for cil.framework.framework

     
             return geometry_new
    -
    [docs] def allocate(self, value=0, **kwargs): +
    [docs] def allocate(self, value=0, **kwargs): '''allocates an AcquisitionData according to the size expressed in the instance :param value: accepts numbers to allocate an uniform array, or a string as 'random' or 'random_int' to create a random array or None. @@ -2859,7 +3103,7 @@

    Source code for cil.framework.framework

             
             return out
    -
    [docs]class DataContainer(object): +
    [docs]class DataContainer(object): '''Generic class to hold data Data is currently held in a numpy arrays''' @@ -2957,7 +3201,7 @@

    Source code for cil.framework.framework

                 raise ValueError('Unknown dimension {0}. Should be one of {1}'.format(dimension_label,
                                  self.dimension_labels))
         
    -
    [docs] def get_dimension_axis(self, dimension_label): +
    [docs] def get_dimension_axis(self, dimension_label): """ Returns the axis index of the DataContainer array if the specified dimension_label(s) match any dimension_labels of the DataContainer or their indices @@ -2984,13 +3228,13 @@

    Source code for cil.framework.framework

                                 self.dimension_labels, 0, self.ndim))
    -
    [docs] def as_array(self): +
    [docs] def as_array(self): '''Returns the pointer to the array. ''' return self.array
    -
    [docs] def get_slice(self, **kw): +
    [docs] def get_slice(self, **kw): ''' Returns a new DataContainer containing a single slice in the requested direction. \ Pass keyword arguments <dimension label>=index @@ -3018,7 +3262,7 @@

    Source code for cil.framework.framework

             else:
                 return VectorData(new_array, dimension_labels=dimension_labels_list)
    -
    [docs] def reorder(self, order=None): +
    [docs] def reorder(self, order=None): ''' reorders the data in memory as requested. @@ -3055,7 +3299,7 @@

    Source code for cil.framework.framework

             else:
                 self.geometry.set_labels(dimension_labels_new)
    -
    [docs] def fill(self, array, **dimension): +
    [docs] def fill(self, array, **dimension): '''fills the internal data array with the DataContainer, numpy array or number provided :param array: number, numpy array or DataContainer to copy into the DataContainer @@ -3212,7 +3456,7 @@

    Source code for cil.framework.framework

                 repres += "Representation: \n{0}\n".format(self.array)
             return repres
             
    -
    [docs] def get_data_axes_order(self,new_order=None): +
    [docs] def get_data_axes_order(self,new_order=None): '''returns the axes label of self as a list If new_order is None returns the labels of the axes as a sorted-by-key list. @@ -3236,11 +3480,11 @@

    Source code for cil.framework.framework

                     raise ValueError('Expecting {0} axes, got {2}'\
                                      .format(len(self.shape),len(new_order)))
    -
    [docs] def clone(self): +
    [docs] def clone(self): '''returns a copy of DataContainer''' return copy.deepcopy(self)
    -
    [docs] def copy(self): +
    [docs] def copy(self): '''alias of clone''' return self.clone()
    @@ -3337,7 +3581,7 @@

    Source code for cil.framework.framework

             return self.pixel_wise_binary(numpy.minimum, x2=x2, out=out, *args, **kwargs)
     
     
    -
    [docs] def sapyb(self, a, y, b, out=None, num_threads=NUM_THREADS): +
    [docs] def sapyb(self, a, y, b, out=None, num_threads=NUM_THREADS): '''performs a*self + b * y. Can be done in-place Parameters @@ -3527,27 +3771,27 @@

    Source code for cil.framework.framework

         def conjugate(self, *args,  **kwargs):
             return self.pixel_wise_unary(numpy.conjugate, *args,  **kwargs)
     
    -
    [docs] def exp(self, *args, **kwargs): +
    [docs] def exp(self, *args, **kwargs): '''Applies exp pixel-wise to the DataContainer''' return self.pixel_wise_unary(numpy.exp, *args, **kwargs)
    -
    [docs] def log(self, *args, **kwargs): +
    [docs] def log(self, *args, **kwargs): '''Applies log pixel-wise to the DataContainer''' return self.pixel_wise_unary(numpy.log, *args, **kwargs)
    ## reductions -
    [docs] def squared_norm(self, **kwargs): +
    [docs] def squared_norm(self, **kwargs): '''return the squared euclidean norm of the DataContainer viewed as a vector''' #shape = self.shape #size = reduce(lambda x,y:x*y, shape, 1) #y = numpy.reshape(self.as_array(), (size, )) return self.dot(self)
    #return self.dot(self) -
    [docs] def norm(self, **kwargs): +
    [docs] def norm(self, **kwargs): '''return the euclidean norm of the DataContainer viewed as a vector''' return numpy.sqrt(self.squared_norm(**kwargs))
    -
    [docs] def dot(self, other, *args, **kwargs): +
    [docs] def dot(self, other, *args, **kwargs): '''returns the inner product of 2 DataContainers viewed as vectors. Suitable for real and complex data. For complex data, the dot method returns a.dot(b.conjugate()) ''' @@ -3613,7 +3857,7 @@

    Source code for cil.framework.framework

     
                 reduction_function(self.as_array(), out=out_arr, axis=axis,  *args, **kwargs)
     
    -
    [docs] def sum(self, axis=None, out=None, *args, **kwargs): +
    [docs] def sum(self, axis=None, out=None, *args, **kwargs): """ Returns the sum of values in the DataContainer @@ -3645,7 +3889,7 @@

    Source code for cil.framework.framework

     
             return self._directional_reduction_unary(numpy.sum, axis=axis, out=out, *args, **kwargs)
    -
    [docs] def min(self, axis=None, out=None, *args, **kwargs): +
    [docs] def min(self, axis=None, out=None, *args, **kwargs): """ Returns the minimum pixel value in the DataContainer @@ -3668,7 +3912,7 @@

    Source code for cil.framework.framework

             """
             return self._directional_reduction_unary(numpy.min, axis=axis, out=out, *args, **kwargs)
    -
    [docs] def max(self, axis=None, out=None, *args, **kwargs): +
    [docs] def max(self, axis=None, out=None, *args, **kwargs): """ Returns the maximum pixel value in the DataContainer @@ -3691,7 +3935,7 @@

    Source code for cil.framework.framework

             """
             return self._directional_reduction_unary(numpy.max, axis=axis, out=out, *args, **kwargs)
    -
    [docs] def mean(self, axis=None, out=None, *args, **kwargs): +
    [docs] def mean(self, axis=None, out=None, *args, **kwargs): """ Returns the mean pixel value of the DataContainer @@ -3761,7 +4005,7 @@

    Source code for cil.framework.framework

                 return self.as_array()!=other.as_array()
             return self.as_array()!=other      
    -
    [docs]class ImageData(DataContainer): +
    [docs]class ImageData(DataContainer): '''DataContainer for holding 2D or 3D DataContainer''' __container_priority__ = 1 @@ -3817,7 +4061,7 @@

    Source code for cil.framework.framework

             super(ImageData, self).__init__(array, deep_copy, geometry=geometry, **kwargs)
                                    
     
    -
    [docs] def get_slice(self,channel=None, vertical=None, horizontal_x=None, horizontal_y=None, force=False): +
    [docs] def get_slice(self,channel=None, vertical=None, horizontal_x=None, horizontal_y=None, force=False): ''' Returns a new ImageData of a single slice of in the requested direction. ''' @@ -3850,7 +4094,7 @@

    Source code for cil.framework.framework

                 return ImageData(out.array, deep_copy=False, geometry=geometry_new, suppress_warning=True)                            
    -
    [docs] def apply_circular_mask(self, radius=0.99, in_place=True): +
    [docs] def apply_circular_mask(self, radius=0.99, in_place=True): """ Apply a circular mask to the horizontal_x and horizontal_y slices. Values outside this mask will be set to zero. @@ -3932,7 +4176,7 @@

    Source code for cil.framework.framework

                 return image_data_out
    -
    [docs]class AcquisitionData(DataContainer, Partitioner): +
    [docs]class AcquisitionData(DataContainer, Partitioner): '''DataContainer for holding 2D or 3D sinogram''' __container_priority__ = 1 @@ -3983,7 +4227,7 @@

    Source code for cil.framework.framework

             super(AcquisitionData, self).__init__(array, deep_copy, geometry=geometry,**kwargs)
       
     
    -
    [docs] def get_slice(self,channel=None, angle=None, vertical=None, horizontal=None, force=False): +
    [docs] def get_slice(self,channel=None, angle=None, vertical=None, horizontal=None, force=False): ''' Returns a new dataset of a single slice of in the requested direction. \ ''' @@ -4016,7 +4260,7 @@

    Source code for cil.framework.framework

             else:
                 return AcquisitionData(out.array, deep_copy=False, geometry=geometry_new, suppress_warning=True)
    -
    [docs]class Processor(object): +
    [docs]class Processor(object): '''Defines a generic DataContainer processor @@ -4055,7 +4299,7 @@

    Source code for cil.framework.framework

             else:
                 raise KeyError('Attribute {0} not found'.format(name))
         
    -
    [docs] def set_input(self, dataset): +
    [docs] def set_input(self, dataset): """ Set the input data to the processor @@ -4076,7 +4320,7 @@

    Source code for cil.framework.framework

                                 .format(type(dataset), DataContainer))
    -
    [docs] def check_input(self, dataset): +
    [docs] def check_input(self, dataset): '''Checks parameters of the input DataContainer Should raise an Error if the DataContainer does not match expectation, e.g. @@ -4084,7 +4328,7 @@

    Source code for cil.framework.framework

             '''
             raise NotImplementedError('Implement basic checks for input DataContainer')
    -
    [docs] def get_output(self, out=None): +
    [docs] def get_output(self, out=None): """ Runs the configured processor and returns the processed data @@ -4120,7 +4364,7 @@

    Source code for cil.framework.framework

                 raise TypeError("Input type mismatch: got {0} expecting {1}"\
                                 .format(type(processor), DataProcessor))
             
    -
    [docs] def get_input(self): +
    [docs] def get_input(self): '''returns the input DataContainer It is useful in the case the user has provided a DataProcessor as @@ -4149,7 +4393,7 @@

    Source code for cil.framework.framework

             return out
    -
    [docs]class DataProcessor(Processor): +
    [docs]class DataProcessor(Processor): '''Basically an alias of Processor Class''' pass
    @@ -4277,7 +4521,7 @@

    Source code for cil.framework.framework

             return y
         
     
    -
    [docs]class VectorData(DataContainer): +
    [docs]class VectorData(DataContainer): '''DataContainer to contain 1D array''' @property @@ -4416,7 +4660,7 @@

    Source code for cil.framework.framework

                     raise ValueError('Value {} unknown'.format(value))
             return out
     
    -
    [docs]class DataOrder(): +
    [docs]class DataOrder(): ENGINES = ['astra','tigre','cil'] @@ -4470,37 +4714,59 @@

    Source code for cil.framework.framework

             
     
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/io/NEXUSDataReader.html b/nightly/_modules/cil/io/NEXUSDataReader/index.html similarity index 74% rename from nightly/_modules/cil/io/NEXUSDataReader.html rename to nightly/_modules/cil/io/NEXUSDataReader/index.html index 8a7babc683..80b1596ee9 100644 --- a/nightly/_modules/cil/io/NEXUSDataReader.html +++ b/nightly/_modules/cil/io/NEXUSDataReader/index.html @@ -1,196 +1,440 @@ + - + + + cil.io.NEXUSDataReader — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.io.NEXUSDataReader

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -223,7 +467,7 @@ 

    Source code for cil.io.NEXUSDataReader

         h5pyAvailable = False
     
     
    -
    [docs]class NEXUSDataReader(object): +
    [docs]class NEXUSDataReader(object): """ Create a reader for NeXus files. @@ -241,7 +485,7 @@

    Source code for cil.io.NEXUSDataReader

             if self.file_name is not None:
                 self.set_up(file_name = self.file_name)
                 
    -
    [docs] def set_up(self, +
    [docs] def set_up(self, file_name = None): """ Initialise reader. @@ -281,7 +525,7 @@

    Source code for cil.io.NEXUSDataReader

                 
             return dimension_labels
     
    -
    [docs] def get_geometry(self): +
    [docs] def get_geometry(self): """ Parse NEXUS file and return acquisition or reconstructed volume parameters, depending on file type. @@ -422,7 +666,7 @@

    Source code for cil.io.NEXUSDataReader

     
             return self._geometry
    -
    [docs] def get_data_scale(self): +
    [docs] def get_data_scale(self): """ Parse NEXUS file and return the scale factor applied to compress the dataset. @@ -442,7 +686,7 @@

    Source code for cil.io.NEXUSDataReader

     
             return scale
    -
    [docs] def get_data_offset(self): +
    [docs] def get_data_offset(self): """ Parse NEXUS file and return the offset factor applied to compress the dataset. @@ -490,7 +734,7 @@

    Source code for cil.io.NEXUSDataReader

     
             return output
             
    -
    [docs] def read_as_original(self): +
    [docs] def read_as_original(self): """ Returns the compressed data from the file. @@ -507,7 +751,7 @@

    Source code for cil.io.NEXUSDataReader

             return self.__read_as(dtype)
    -
    [docs] def read(self): +
    [docs] def read(self): """ Returns the uncompressed data as numpy.float32. @@ -529,7 +773,7 @@

    Source code for cil.io.NEXUSDataReader

             return output
    -
    [docs] def load_data(self): +
    [docs] def load_data(self): """ Alias of `read`. @@ -553,37 +797,59 @@

    Source code for cil.io.NEXUSDataReader

                 # return True
     
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/io/NEXUSDataWriter.html b/nightly/_modules/cil/io/NEXUSDataWriter/index.html similarity index 74% rename from nightly/_modules/cil/io/NEXUSDataWriter.html rename to nightly/_modules/cil/io/NEXUSDataWriter/index.html index 53899fb6da..7025923cdf 100644 --- a/nightly/_modules/cil/io/NEXUSDataWriter.html +++ b/nightly/_modules/cil/io/NEXUSDataWriter/index.html @@ -1,196 +1,440 @@ + - + + + cil.io.NEXUSDataWriter — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.io.NEXUSDataWriter

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -225,7 +469,7 @@ 

    Source code for cil.io.NEXUSDataWriter

         h5pyAvailable = False
     
     
    -
    [docs]class NEXUSDataWriter(object): +
    [docs]class NEXUSDataWriter(object): ''' Create a writer for NEXUS files. Parameters @@ -247,7 +491,7 @@

    Source code for cil.io.NEXUSDataWriter

             if ((data is not None) and (file_name is not None)):
                 self.set_up(data = data, file_name = file_name, compression=compression)
             
    -
    [docs] def set_up(self, +
    [docs] def set_up(self, data = None, file_name = None, compression = None): @@ -293,7 +537,7 @@

    Source code for cil.io.NEXUSDataWriter

             if (h5pyAvailable == False):
                 raise Exception('h5py is not available, cannot write NEXUS files.')
    -
    [docs] def write(self): +
    [docs] def write(self): ''' write dataset to disk @@ -427,37 +671,59 @@

    Source code for cil.io.NEXUSDataWriter

                     ds_data.attrs['channel_spacing'] = self.data.geometry.channel_spacing
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/io/NikonDataReader.html b/nightly/_modules/cil/io/NikonDataReader/index.html similarity index 80% rename from nightly/_modules/cil/io/NikonDataReader.html rename to nightly/_modules/cil/io/NikonDataReader/index.html index cc5c500ebd..1f8d914b13 100644 --- a/nightly/_modules/cil/io/NikonDataReader.html +++ b/nightly/_modules/cil/io/NikonDataReader/index.html @@ -1,196 +1,440 @@ + - + + + cil.io.NikonDataReader — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.io.NikonDataReader

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -218,7 +462,7 @@ 

    Source code for cil.io.NikonDataReader

     import os
         
             
    -
    [docs]class NikonDataReader(object): +
    [docs]class NikonDataReader(object): '''Basic reader for xtekct files Parameters @@ -519,14 +763,14 @@

    Source code for cil.io.NikonDataReader

             
                 self._ag.set_labels(labels=['angle', 'vertical', 'horizontal'])
     
    -
    [docs] def get_geometry(self): +
    [docs] def get_geometry(self): ''' Return AcquisitionGeometry object ''' return self._ag
    -
    [docs] def get_roi(self): +
    [docs] def get_roi(self): '''returns the roi''' roi = self._roi_par[:] if self._ag.dimension == '2D': @@ -538,7 +782,7 @@

    Source code for cil.io.NikonDataReader

                 roidict['axis_{}'.format(i)] = tuple(el)
             return roidict
    -
    [docs] def read(self): +
    [docs] def read(self): ''' Reads projections and returns AcquisitionData with corresponding geometry, @@ -567,42 +811,64 @@

    Source code for cil.io.NikonDataReader

             
             return ad
    -
    [docs] def load_projections(self): +
    [docs] def load_projections(self): '''alias of read for backward compatibility''' return self.read()
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/io/RAWFileWriter.html b/nightly/_modules/cil/io/RAWFileWriter/index.html similarity index 58% rename from nightly/_modules/cil/io/RAWFileWriter.html rename to nightly/_modules/cil/io/RAWFileWriter/index.html index 354e46fa1e..a901b89334 100644 --- a/nightly/_modules/cil/io/RAWFileWriter.html +++ b/nightly/_modules/cil/io/RAWFileWriter/index.html @@ -1,196 +1,440 @@ + - + + + cil.io.RAWFileWriter — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.io.RAWFileWriter

     # -*- coding: utf-8 -*-
     #  Copyright 2023 United Kingdom Research and Innovation
    @@ -248,7 +492,7 @@ 

    Source code for cil.io.RAWFileWriter

         return d.shape, False, d.dtype.str
     
     
    -
    [docs]class RAWFileWriter(object): +
    [docs]class RAWFileWriter(object): ''' Writer to write DataContainer (or subclass AcquisitionData, ImageData) to disk as a binary blob @@ -345,7 +589,7 @@

    Source code for cil.io.RAWFileWriter

                 data, compression)
             self.compression = compression
     
    -
    [docs] def write(self): +
    [docs] def write(self): '''Write data to disk''' if not os.path.isdir(self.dir_name): os.mkdir(self.dir_name) @@ -383,37 +627,59 @@

    Source code for cil.io.RAWFileWriter

                 config.write(configfile)
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/io/TIFF.html b/nightly/_modules/cil/io/TIFF/index.html similarity index 85% rename from nightly/_modules/cil/io/TIFF.html rename to nightly/_modules/cil/io/TIFF/index.html index 1064e34a8f..be07698f5d 100644 --- a/nightly/_modules/cil/io/TIFF.html +++ b/nightly/_modules/cil/io/TIFF/index.html @@ -1,196 +1,440 @@ + - + + + cil.io.TIFF — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.io.TIFF

     # -*- coding: utf-8 -*-
     #  Copyright 2020 United Kingdom Research and Innovation
    @@ -245,7 +489,7 @@ 

    Source code for cil.io.TIFF

         d = {'scale': scale, 'offset': offset}
         utilities.save_dict_to_file(txt, d)
     
    -
    [docs]class TIFFWriter(object): +
    [docs]class TIFFWriter(object): '''Write a DataSet to disk as a TIFF file or stack of TIFF files @@ -321,7 +565,7 @@

    Source code for cil.io.TIFF

             self.compression        = compression
     
         
    -
    [docs] def write(self): +
    [docs] def write(self): '''Write data to disk''' if not os.path.isdir(self.dir_name): os.mkdir(self.dir_name) @@ -382,7 +626,7 @@

    Source code for cil.io.TIFF

             return zero_padding_string
    -
    [docs]class TIFFStackReader(object): +
    [docs]class TIFFStackReader(object): ''' Basic TIFF reader which loops through all tiff files in a specific @@ -587,7 +831,7 @@

    Source code for cil.io.TIFF

                 raise ValueError("Unsupported type {}. Expected any of 1 L I I;16 F.".format(mode))
             return dtype
     
    -
    [docs] def read(self): +
    [docs] def read(self): ''' Reads images and return numpy array @@ -737,7 +981,7 @@

    Source code for cil.io.TIFF

                 raise TypeError("Unsupported Geometry type. Expected ImageGeometry or AcquisitionGeometry, got {}"\
                     .format(type(geometry)))
     
    -
    [docs] def read_as_ImageData(self, image_geometry): +
    [docs] def read_as_ImageData(self, image_geometry): '''reads the TIFF stack as an ImageData with the provided geometry Notice that the data will be reshaped to what requested in the geometry but there is @@ -746,7 +990,7 @@

    Source code for cil.io.TIFF

             leads to sensible data.
             '''
             return self._read_as(image_geometry)
    -
    [docs] def read_as_AcquisitionData(self, acquisition_geometry): +
    [docs] def read_as_AcquisitionData(self, acquisition_geometry): '''reads the TIFF stack as an AcquisitionData with the provided geometry Notice that the data will be reshaped to what requested in the geometry but there is @@ -756,7 +1000,7 @@

    Source code for cil.io.TIFF

             '''
             return self._read_as(acquisition_geometry)
    -
    [docs] def read_scale_offset(self): +
    [docs] def read_scale_offset(self): '''Reads the scale and offset from a json file in the same folder as the tiff stack This is a courtesy method that will work only if the tiff stack is saved with the TIFFWriter @@ -773,7 +1017,7 @@

    Source code for cil.io.TIFF

     
             return (d['scale'], d['offset'])
    -
    [docs] def read_rescaled(self, scale=None, offset=None): +
    [docs] def read_rescaled(self, scale=None, offset=None): '''Reads the TIFF stack and rescales it with the provided scale and offset, or with the ones in the json file if not provided This is a courtesy method that will work only if the tiff stack is saved with the TIFFWriter @@ -801,37 +1045,59 @@

    Source code for cil.io.TIFF

             return data
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/io/ZEISSDataReader.html b/nightly/_modules/cil/io/ZEISSDataReader/index.html similarity index 74% rename from nightly/_modules/cil/io/ZEISSDataReader.html rename to nightly/_modules/cil/io/ZEISSDataReader/index.html index 061f6f3d8f..ea5ca4d434 100644 --- a/nightly/_modules/cil/io/ZEISSDataReader.html +++ b/nightly/_modules/cil/io/ZEISSDataReader/index.html @@ -1,196 +1,440 @@ + - + + + cil.io.ZEISSDataReader — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.io.ZEISSDataReader

     # -*- coding: utf-8 -*-
     #  Copyright 2022 United Kingdom Research and Innovation
    @@ -226,7 +470,7 @@ 

    Source code for cil.io.ZEISSDataReader

     
     logger = logging.getLogger(__name__)
     
    -
    [docs]class ZEISSDataReader(object): +
    [docs]class ZEISSDataReader(object): ''' Create a reader for ZEISS files @@ -266,7 +510,7 @@

    Source code for cil.io.ZEISSDataReader

                 self.set_up(file_name, roi = roi)
     
     
    -
    [docs] def set_up(self, +
    [docs] def set_up(self, file_name, roi = None): '''Set up the reader @@ -396,7 +640,7 @@

    Source code for cil.io.ZEISSDataReader

     
             return metadata
         
    -
    [docs] def slice_metadata(self,metadata): +
    [docs] def slice_metadata(self,metadata): ''' Slices metadata to configure geometry before reading data ''' @@ -450,7 +694,7 @@

    Source code for cil.io.ZEISSDataReader

                                         voxel_num_z=slices,
                                         voxel_size_z=voxel_size)
     
    -
    [docs] def read(self): +
    [docs] def read(self): ''' Reads projections and return Acquisition (TXRM) or Image (TXM) Data container ''' @@ -476,13 +720,13 @@

    Source code for cil.io.ZEISSDataReader

                 return ig_data
    -
    [docs] def get_geometry(self): +
    [docs] def get_geometry(self): ''' Return Acquisition (TXRM) or Image (TXM) Geometry object ''' return self._geometry
    -
    [docs] def get_metadata(self): +
    [docs] def get_metadata(self): '''return the metadata of the file''' return self._metadata
    @@ -496,37 +740,59 @@

    Source code for cil.io.ZEISSDataReader

             super().__init__(**kwargs)
     
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/io/utilities.html b/nightly/_modules/cil/io/utilities/index.html similarity index 69% rename from nightly/_modules/cil/io/utilities.html rename to nightly/_modules/cil/io/utilities/index.html index fb97428467..b102aa2317 100644 --- a/nightly/_modules/cil/io/utilities.html +++ b/nightly/_modules/cil/io/utilities/index.html @@ -1,196 +1,440 @@ + - + + + cil.io.utilities — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.io.utilities

     # -*- coding: utf-8 -*-
     #  Copyright 2023 United Kingdom Research and Innovation
    @@ -353,7 +597,7 @@ 

    Source code for cil.io.utilities

             tmp = tmp.astype(dtype)
         return tmp
     
    -
    [docs]class HDF5_utilities(object): +
    [docs]class HDF5_utilities(object): """ Utility methods to read in from a generic HDF5 file and extract the relevant data @@ -384,7 +628,7 @@

    Source code for cil.io.utilities

                         print(sep+'\t', '-', key, ':', obj.attrs[key])
     
     
    -
    [docs] @staticmethod +
    [docs] @staticmethod def print_metadata(filename, group='/', depth=-1): """ Prints the file metadata @@ -402,7 +646,7 @@

    Source code for cil.io.utilities

                 HDF5_utilities._descend_obj(f[group], depth=depth)
    -
    [docs] @staticmethod +
    [docs] @staticmethod def get_dataset_metadata(filename, dset_path): """ Returns the dataset metadata as a dictionary @@ -441,7 +685,7 @@

    Source code for cil.io.utilities

     
     
     
    -
    [docs] @staticmethod +
    [docs] @staticmethod def read(filename, dset_path, source_sel=None, dtype=np.float32): """ Reads a dataset entry and returns a numpy array with the requested data @@ -485,7 +729,7 @@

    Source code for cil.io.utilities

             return arr 
    -
    [docs] @staticmethod +
    [docs] @staticmethod def read_to(filename, dset_path, out, source_sel=None, dest_sel=None): """ Reads a dataset entry and directly fills a numpy array with the requested data @@ -520,37 +764,59 @@

    Source code for cil.io.utilities

                 dset.read_direct(out, source_sel, dest_sel)
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/algorithms/ADMM.html b/nightly/_modules/cil/optimisation/algorithms/ADMM/index.html similarity index 51% rename from nightly/_modules/cil/optimisation/algorithms/ADMM.html rename to nightly/_modules/cil/optimisation/algorithms/ADMM/index.html index cf38be4d67..3e300a4e27 100644 --- a/nightly/_modules/cil/optimisation/algorithms/ADMM.html +++ b/nightly/_modules/cil/optimisation/algorithms/ADMM/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.algorithms.ADMM — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.algorithms.ADMM

     # -*- coding: utf-8 -*-
     #  Copyright 2020 United Kingdom Research and Innovation
    @@ -215,7 +459,7 @@ 

    Source code for cil.optimisation.algorithms.ADMM

    import warnings import logging -
    [docs]class LADMM(Algorithm): +
    [docs]class LADMM(Algorithm): ''' LADMM is the Linearized Alternating Direction Method of Multipliers (LADMM) @@ -257,7 +501,7 @@

    Source code for cil.optimisation.algorithms.ADMM

    self.set_up(f = f, g = g, operator = operator, tau = tau,\ sigma = sigma, initial=initial) -
    [docs] def set_up(self, f, g, operator, tau = None, sigma=1., \ +
    [docs] def set_up(self, f, g, operator, tau = None, sigma=1., \ initial=None): logging.info("{} setting up".format(self.__class__.__name__, )) @@ -292,7 +536,7 @@

    Source code for cil.optimisation.algorithms.ADMM

    logging.info("{} configured".format(self.__class__.__name__, ))
    -
    [docs] def update(self): +
    [docs] def update(self): self.tmp_dir += self.u self.tmp_dir -= self.z @@ -315,42 +559,64 @@

    Source code for cil.optimisation.algorithms.ADMM

    # update self.u -= self.z
    -
    [docs] def update_objective(self): +
    [docs] def update_objective(self): self.loss.append(self.f(self.x) + self.g(self.operator.direct(self.x)) )
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/algorithms/Algorithm.html b/nightly/_modules/cil/optimisation/algorithms/Algorithm/index.html similarity index 73% rename from nightly/_modules/cil/optimisation/algorithms/Algorithm.html rename to nightly/_modules/cil/optimisation/algorithms/Algorithm/index.html index 647b5e0b83..483cc0607d 100644 --- a/nightly/_modules/cil/optimisation/algorithms/Algorithm.html +++ b/nightly/_modules/cil/optimisation/algorithms/Algorithm/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.algorithms.Algorithm — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.algorithms.Algorithm

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -216,7 +460,7 @@ 

    Source code for cil.optimisation.algorithms.Algorithm

    import logging import numpy as np -
    [docs]class Algorithm(object): +
    [docs]class Algorithm(object): '''Base class for iterative algorithms provides the minimal infrastructure. @@ -261,14 +505,14 @@

    Source code for cil.optimisation.algorithms.Algorithm

    self.logger = None self.__set_up_logger(kwargs.get('log_file', None)) -
    [docs] def set_up(self, *args, **kwargs): +
    [docs] def set_up(self, *args, **kwargs): '''Set up the algorithm''' raise NotImplementedError()
    -
    [docs] def update(self): +
    [docs] def update(self): '''A single iteration of the algorithm''' raise NotImplementedError()
    -
    [docs] def should_stop(self): +
    [docs] def should_stop(self): '''default stopping criterion: number of iterations The user can change this in concrete implementation of iterative algorithms.''' @@ -283,14 +527,14 @@

    Source code for cil.optimisation.algorithms.Algorithm

    self.logger.setLevel(logging.INFO) self.logger.addHandler(handler) -
    [docs] def max_iteration_stop_criterion(self): +
    [docs] def max_iteration_stop_criterion(self): '''default stop criterion for iterative algorithm: max_iteration reached''' return self.iteration > self.max_iteration
    def __iter__(self): '''Algorithm is an iterable''' return self -
    [docs] def next(self): +
    [docs] def next(self): '''Algorithm is an iterable python2 backwards compatibility''' @@ -341,7 +585,7 @@

    Source code for cil.optimisation.algorithms.Algorithm

    """ pass -
    [docs] def get_output(self): +
    [docs] def get_output(self): " Returns the current solution. " return self.x
    @@ -349,7 +593,7 @@

    Source code for cil.optimisation.algorithms.Algorithm

    def _provable_convergence_condition(self): raise NotImplementedError(" Convergence criterion is not implemented for this algorithm. ") -
    [docs] def is_provably_convergent(self): +
    [docs] def is_provably_convergent(self): """ Check if the algorithm is convergent based on the provable convergence criterion. """ return self._provable_convergence_condition()
    @@ -358,7 +602,7 @@

    Source code for cil.optimisation.algorithms.Algorithm

    def solution(self): return self.get_output() -
    [docs] def get_last_loss(self, **kwargs): +
    [docs] def get_last_loss(self, **kwargs): '''Returns the last stored value of the loss function if update_objective_interval is 1 it is the value of the objective at the current @@ -379,11 +623,11 @@

    Source code for cil.optimisation.algorithms.Algorithm

    return [ objective, np.nan, np.nan] else: return objective
    -
    [docs] def get_last_objective(self, **kwargs): +
    [docs] def get_last_objective(self, **kwargs): '''alias to get_last_loss''' return self.get_last_loss(**kwargs)
    -
    [docs] def update_objective(self): +
    [docs] def update_objective(self): '''calculates the objective with the current solution''' raise NotImplementedError()
    @@ -430,7 +674,7 @@

    Source code for cil.optimisation.algorithms.Algorithm

    else: raise ValueError('Update objective interval must be an integer >= 0') -
    [docs] def run(self, iterations=None, verbose=1, callback=None, **kwargs): +
    [docs] def run(self, iterations=None, verbose=1, callback=None, **kwargs): '''run n iterations and update the user with the callback if specified :param iterations: number of iterations to run. If not set the algorithm will @@ -500,7 +744,7 @@

    Source code for cil.optimisation.algorithms.Algorithm

    self.logger.info(out)
    -
    [docs] def verbose_output(self, verbose=False): +
    [docs] def verbose_output(self, verbose=False): '''Creates a nice tabulated output''' timing = self.timing if len (timing) == 0: @@ -572,37 +816,59 @@

    Source code for cil.optimisation.algorithms.Algorithm

    return out
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/algorithms/CGLS.html b/nightly/_modules/cil/optimisation/algorithms/CGLS/index.html similarity index 54% rename from nightly/_modules/cil/optimisation/algorithms/CGLS.html rename to nightly/_modules/cil/optimisation/algorithms/CGLS/index.html index c3c7e0472d..310939392a 100644 --- a/nightly/_modules/cil/optimisation/algorithms/CGLS.html +++ b/nightly/_modules/cil/optimisation/algorithms/CGLS/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.algorithms.CGLS — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.algorithms.CGLS

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -216,7 +460,7 @@ 

    Source code for cil.optimisation.algorithms.CGLS

    import warnings import logging -
    [docs]class CGLS(Algorithm): +
    [docs]class CGLS(Algorithm): r'''Conjugate Gradient Least Squares algorithm @@ -253,7 +497,7 @@

    Source code for cil.optimisation.algorithms.CGLS

    if initial is not None and operator is not None and data is not None: self.set_up(initial=initial, operator=operator, data=data, tolerance=tolerance) -
    [docs] def set_up(self, initial, operator, data, tolerance=1e-6): +
    [docs] def set_up(self, initial, operator, data, tolerance=1e-6): '''initialisation of the algorithm :param operator: Linear operator for the inverse problem @@ -284,7 +528,7 @@

    Source code for cil.optimisation.algorithms.CGLS

    -
    [docs] def update(self): +
    [docs] def update(self): '''single iteration''' self.operator.direct(self.p, out=self.q) @@ -308,17 +552,17 @@

    Source code for cil.optimisation.algorithms.CGLS

    self.normx = self.x.norm()
    -
    [docs] def update_objective(self): +
    [docs] def update_objective(self): a = self.r.squared_norm() if a is numpy.nan: raise StopIteration() self.loss.append(a)
    -
    [docs] def should_stop(self): +
    [docs] def should_stop(self): '''stopping criterion''' return self.flag() or self.max_iteration_stop_criterion()
    -
    [docs] def flag(self): +
    [docs] def flag(self): '''returns whether the tolerance has been reached''' flag = (self.norms <= self.norms0 * self.tolerance) or (self.normx * self.tolerance >= 1) @@ -332,37 +576,59 @@

    Source code for cil.optimisation.algorithms.CGLS

    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/algorithms/FISTA.html b/nightly/_modules/cil/optimisation/algorithms/FISTA/index.html similarity index 63% rename from nightly/_modules/cil/optimisation/algorithms/FISTA.html rename to nightly/_modules/cil/optimisation/algorithms/FISTA/index.html index d3ac6e8b5a..8a4e0ec10a 100644 --- a/nightly/_modules/cil/optimisation/algorithms/FISTA.html +++ b/nightly/_modules/cil/optimisation/algorithms/FISTA/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.algorithms.FISTA — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.algorithms.FISTA

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -220,7 +464,7 @@ 

    Source code for cil.optimisation.algorithms.FISTA

    [docs]class ISTA(Algorithm): +
    [docs]class ISTA(Algorithm): r"""Iterative Shrinkage-Thresholding Algorithm, see :cite:`BeckTeboulle_b`, :cite:`BeckTeboulle_a`. @@ -295,7 +539,7 @@

    Source code for cil.optimisation.algorithms.FISTA

    return self._step_size # Set default step size -
    [docs] def set_step_size(self, step_size): +
    [docs] def set_step_size(self, step_size): """ Set default step size. """ @@ -312,13 +556,13 @@

    Source code for cil.optimisation.algorithms.FISTA

    else: self._step_size = step_size
    -
    [docs] def __init__(self, initial, f, g, step_size = None, **kwargs): +
    [docs] def __init__(self, initial, f, g, step_size = None, **kwargs): super(ISTA, self).__init__(**kwargs) self._step_size = None self.set_up(initial=initial, f=f, g=g, step_size=step_size, **kwargs)
    -
    [docs] def set_up(self, initial, f, g, step_size, **kwargs): +
    [docs] def set_up(self, initial, f, g, step_size, **kwargs): """ Set up of the algorithm """ @@ -349,7 +593,7 @@

    Source code for cil.optimisation.algorithms.FISTA

    logging.info("{} configured".format(self.__class__.__name__, ))
    -
    [docs] def update(self): +
    [docs] def update(self): r"""Performs a single iteration of ISTA @@ -371,11 +615,11 @@

    Source code for cil.optimisation.algorithms.FISTA

    self.x_old = self.x self.x = tmp -
    [docs] def get_output(self): +
    [docs] def get_output(self): " Returns the current solution. " return self.x_old
    -
    [docs] def update_objective(self): +
    [docs] def update_objective(self): """ Updates the objective .. math:: f(x) + g(x) @@ -384,7 +628,7 @@

    Source code for cil.optimisation.algorithms.FISTA

    self.loss.append( self.f(self.x_old) + self.g(self.x_old) )
    -
    [docs]class FISTA(ISTA): +
    [docs]class FISTA(ISTA): r"""Fast Iterative Shrinkage-Thresholding Algorithm, see :cite:`BeckTeboulle_b`, :cite:`BeckTeboulle_a`. @@ -447,7 +691,7 @@

    Source code for cil.optimisation.algorithms.FISTA

    """ -
    [docs] def set_step_size(self, step_size): +
    [docs] def set_step_size(self, step_size): """Set the default step size """ @@ -469,13 +713,13 @@

    Source code for cil.optimisation.algorithms.FISTA

    def _provable_convergence_condition(self): return self.step_size <= 1./self.f.L -
    [docs] def __init__(self, initial, f, g, step_size = None, **kwargs): +
    [docs] def __init__(self, initial, f, g, step_size = None, **kwargs): self.y = initial.copy() self.t = 1 super(FISTA, self).__init__(initial=initial, f=f, g=g, step_size=step_size, **kwargs)
    -
    [docs] def update(self): +
    [docs] def update(self): r"""Performs a single iteration of FISTA @@ -520,37 +764,59 @@

    Source code for cil.optimisation.algorithms.FISTA

    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/algorithms/GD.html b/nightly/_modules/cil/optimisation/algorithms/GD/index.html similarity index 57% rename from nightly/_modules/cil/optimisation/algorithms/GD.html rename to nightly/_modules/cil/optimisation/algorithms/GD/index.html index ff22097831..5e42ca3149 100644 --- a/nightly/_modules/cil/optimisation/algorithms/GD.html +++ b/nightly/_modules/cil/optimisation/algorithms/GD/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.algorithms.GD — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.algorithms.GD

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -216,7 +460,7 @@ 

    Source code for cil.optimisation.algorithms.GD

    import warnings import logging -

    [docs]class GD(Algorithm): +
    [docs]class GD(Algorithm): ''' Gradient Descent algorithm @@ -250,7 +494,7 @@

    Source code for cil.optimisation.algorithms.GD

    if initial is not None and objective_function is not None : self.set_up(initial=initial, objective_function=objective_function, step_size=step_size) -

    [docs] def set_up(self, initial, objective_function, step_size): +
    [docs] def set_up(self, initial, objective_function, step_size): '''initialisation of the algorithm :param initial: initial guess @@ -280,7 +524,7 @@

    Source code for cil.optimisation.algorithms.GD

    self.configured = True logging.info("{} configured".format(self.__class__.__name__, ))

    -
    [docs] def update(self): +
    [docs] def update(self): '''Single iteration''' self.objective_function.gradient(self.x, out=self.x_update) @@ -292,10 +536,10 @@

    Source code for cil.optimisation.algorithms.GD

    self.x.sapyb(1.0, self.x_update, -self.step_size, out=self.x)

    -
    [docs] def update_objective(self): +
    [docs] def update_objective(self): self.loss.append(self.objective_function(self.x))
    -
    [docs] def armijo_rule(self): +
    [docs] def armijo_rule(self): '''Applies the Armijo rule to calculate the step size (step_size) https://projecteuclid.org/download/pdf_1/euclid.pjm/1102995080 @@ -355,7 +599,7 @@

    Source code for cil.optimisation.algorithms.GD

    self.kmax = numpy.ceil (2 * numpy.log10(alpha) / numpy.log10(2)) self.k = 0 -

    [docs] def should_stop(self): +
    [docs] def should_stop(self): return self.max_iteration_stop_criterion() or \ numpy.isclose(self.get_last_objective(), 0., rtol=self.rtol, atol=self.atol, equal_nan=False)
    @@ -363,37 +607,59 @@

    Source code for cil.optimisation.algorithms.GD

    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/algorithms/PDHG.html b/nightly/_modules/cil/optimisation/algorithms/PDHG/index.html similarity index 76% rename from nightly/_modules/cil/optimisation/algorithms/PDHG.html rename to nightly/_modules/cil/optimisation/algorithms/PDHG/index.html index 72da941f8a..2af09139ff 100644 --- a/nightly/_modules/cil/optimisation/algorithms/PDHG.html +++ b/nightly/_modules/cil/optimisation/algorithms/PDHG/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.algorithms.PDHG — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.algorithms.PDHG

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -220,7 +464,7 @@ 

    Source code for cil.optimisation.algorithms.PDHG

    -
    [docs]class PDHG(Algorithm): +
    [docs]class PDHG(Algorithm): r"""Primal Dual Hybrid Gradient (PDHG) algorithm, see :cite:`CP2011`, :cite:`EZXC2010`. @@ -452,7 +696,7 @@

    Source code for cil.optimisation.algorithms.PDHG

    return self._gamma_fconj -
    [docs] def set_gamma_g(self, value): +
    [docs] def set_gamma_g(self, value): '''Set the value of the strongly convex constant for function `g` Parameters @@ -473,7 +717,7 @@

    Source code for cil.optimisation.algorithms.PDHG

    raise ValueError("Positive float is expected for the strongly convex constant of function g, {} is passed".format(value))
    -
    [docs] def set_gamma_fconj(self, value): +
    [docs] def set_gamma_fconj(self, value): '''Set the value of the strongly convex constant for the convex conjugate of function `f` Parameters @@ -494,7 +738,7 @@

    Source code for cil.optimisation.algorithms.PDHG

    raise ValueError("Positive float is expected for the strongly convex constant of the convex conjugate of function f, {} is passed".format(value))
    -
    [docs] def set_up(self, f, g, operator, tau=None, sigma=None, initial=None, **kwargs): +
    [docs] def set_up(self, f, g, operator, tau=None, sigma=None, initial=None, **kwargs): """Initialisation of the algorithm Parameters @@ -556,12 +800,12 @@

    Source code for cil.optimisation.algorithms.PDHG

    self.x = tmp -
    [docs] def get_output(self): +
    [docs] def get_output(self): " Returns the current solution. " return self.x_old
    -
    [docs] def update(self): +
    [docs] def update(self): r""" Performs a single iteration of the PDHG algorithm """ @@ -589,7 +833,7 @@

    Source code for cil.optimisation.algorithms.PDHG

    self.update_step_sizes()
    -
    [docs] def check_convergence(self): +
    [docs] def check_convergence(self): """ Check whether convergence criterion for PDHG is satisfied with scalar values of tau and sigma Returns @@ -607,7 +851,7 @@

    Source code for cil.optimisation.algorithms.PDHG

    return False
    -
    [docs] def set_step_sizes(self, sigma=None, tau=None): +
    [docs] def set_step_sizes(self, sigma=None, tau=None): """ Sets sigma and tau step-sizes for the PDHG algorithm. The step sizes can be either scalar or array-objects. Parameters @@ -652,7 +896,7 @@

    Source code for cil.optimisation.algorithms.PDHG

    raise NotImplementedError("If using arrays for sigma or tau both must arrays must be provided.")
    -
    [docs] def update_step_sizes(self): +
    [docs] def update_step_sizes(self): r""" Updates step sizes in the cases of primal or dual acceleration using the strongly convexity property. The case where both functions are strongly convex is not available at the moment. """ @@ -670,7 +914,7 @@

    Source code for cil.optimisation.algorithms.PDHG

    self._tau /= self.theta
    -
    [docs] def update_objective(self): +
    [docs] def update_objective(self): """ Evaluates the primal objective, the dual objective and the primal-dual gap. """ @@ -705,37 +949,59 @@

    Source code for cil.optimisation.algorithms.PDHG

    return [x[2] for x in self.loss]
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/algorithms/SIRT.html b/nightly/_modules/cil/optimisation/algorithms/SIRT/index.html similarity index 58% rename from nightly/_modules/cil/optimisation/algorithms/SIRT.html rename to nightly/_modules/cil/optimisation/algorithms/SIRT/index.html index 098fa3a406..82f0aefeee 100644 --- a/nightly/_modules/cil/optimisation/algorithms/SIRT.html +++ b/nightly/_modules/cil/optimisation/algorithms/SIRT/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.algorithms.SIRT — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.algorithms.SIRT

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -218,7 +462,7 @@ 

    Source code for cil.optimisation.algorithms.SIRT

    import numpy import logging -
    [docs]class SIRT(Algorithm): +
    [docs]class SIRT(Algorithm): r"""Simultaneous Iterative Reconstruction Technique, see :cite:`Kak2001`. @@ -289,7 +533,7 @@

    Source code for cil.optimisation.algorithms.SIRT

    self.set_up(initial=initial, operator=operator, data=data, lower=lower, upper=upper, constraint=constraint) -
    [docs] def set_up(self, initial, operator, data, lower=None, upper=None, constraint=None): +
    [docs] def set_up(self, initial, operator, data, lower=None, upper=None, constraint=None): """ Initialisation of the algorithm @@ -327,7 +571,7 @@

    Source code for cil.optimisation.algorithms.SIRT

    def D(self): return self._Dscaled / self._relaxation_parameter -
    [docs] def set_relaxation_parameter(self, value=1.0): +
    [docs] def set_relaxation_parameter(self, value=1.0): """Set the relaxation parameter :math:`\omega` Parameters @@ -375,7 +619,7 @@

    Source code for cil.optimisation.algorithms.SIRT

    datacontainer.fill(tmp) -
    [docs] def update(self): +
    [docs] def update(self): r""" Performs a single iteration of the SIRT algorithm @@ -397,7 +641,7 @@

    Source code for cil.optimisation.algorithms.SIRT

    # IndicatorBox allows inplace operation for proximal self.constraint.proximal(self.x, tau=1, out=self.x)
    -
    [docs] def update_objective(self): +
    [docs] def update_objective(self): r"""Returns the objective .. math:: \|A x - b\|^{2} @@ -406,37 +650,59 @@

    Source code for cil.optimisation.algorithms.SIRT

    self.loss.append(self.r.squared_norm())
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/algorithms/SPDHG.html b/nightly/_modules/cil/optimisation/algorithms/SPDHG/index.html similarity index 67% rename from nightly/_modules/cil/optimisation/algorithms/SPDHG.html rename to nightly/_modules/cil/optimisation/algorithms/SPDHG/index.html index 392ce5f539..f98eebda7d 100644 --- a/nightly/_modules/cil/optimisation/algorithms/SPDHG.html +++ b/nightly/_modules/cil/optimisation/algorithms/SPDHG/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.algorithms.SPDHG — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.algorithms.SPDHG

     # -*- coding: utf-8 -*-
     #  Copyright 2020 United Kingdom Research and Innovation
    @@ -217,7 +461,7 @@ 

    Source code for cil.optimisation.algorithms.SPDHG

    import warnings import logging -
    [docs]class SPDHG(Algorithm): +
    [docs]class SPDHG(Algorithm): r'''Stochastic Primal Dual Hybrid Gradient Problem: @@ -300,7 +544,7 @@

    Source code for cil.optimisation.algorithms.SPDHG

    initial=initial, prob=prob, gamma=gamma, norms=kwargs.get('norms', None)) -
    [docs] def set_up(self, f, g, operator, tau=None, sigma=None, \ +
    [docs] def set_up(self, f, g, operator, tau=None, sigma=None, \ initial=None, prob=None, gamma=1., norms=None): '''set-up of the algorithm @@ -373,7 +617,7 @@

    Source code for cil.optimisation.algorithms.SPDHG

    self.configured = True logging.info("{} configured".format(self.__class__.__name__, ))
    -
    [docs] def update(self): +
    [docs] def update(self): # Gradient descent for the primal variable # x_tmp = x - tau * zbar self.x.sapyb(1., self.zbar, -self.tau, out=self.x_tmp) @@ -408,7 +652,7 @@

    Source code for cil.optimisation.algorithms.SPDHG

    # save previous iteration self.save_previous_iteration(i, y_k)
    -
    [docs] def update_objective(self): +
    [docs] def update_objective(self): # p1 = self.f(self.operator.direct(self.x)) + self.g(self.x) p1 = 0. for i,op in enumerate(self.operator.operators): @@ -437,37 +681,59 @@

    Source code for cil.optimisation.algorithms.SPDHG

    self.y_old[index].fill(y_current)
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/BlockFunction.html b/nightly/_modules/cil/optimisation/functions/BlockFunction/index.html similarity index 60% rename from nightly/_modules/cil/optimisation/functions/BlockFunction.html rename to nightly/_modules/cil/optimisation/functions/BlockFunction/index.html index a116b06321..1330c2fa94 100644 --- a/nightly/_modules/cil/optimisation/functions/BlockFunction.html +++ b/nightly/_modules/cil/optimisation/functions/BlockFunction/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.BlockFunction — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.BlockFunction

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -215,7 +459,7 @@ 

    Source code for cil.optimisation.functions.BlockFunction

    from cil.framework import BlockDataContainer from numbers import Number -
    [docs]class BlockFunction(Function): +
    [docs]class BlockFunction(Function): r""" BlockFunction represents a *separable sum* function :math:`F` defined as @@ -236,7 +480,7 @@

    Source code for cil.optimisation.functions.BlockFunction

    """ -
    [docs] def __init__(self, *functions): +
    [docs] def __init__(self, *functions): super(BlockFunction, self).__init__() self.functions = functions @@ -254,7 +498,7 @@

    Source code for cil.optimisation.functions.BlockFunction

    break return tmp_L -
    [docs] def __call__(self, x): +
    [docs] def __call__(self, x): r""" Returns the value of the BlockFunction :math:`F` @@ -275,7 +519,7 @@

    Source code for cil.optimisation.functions.BlockFunction

    t += self.functions[i](x.get_item(i)) return t
    -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r"""Returns the value of the convex conjugate of the BlockFunction at :math:`x^{*}`. @@ -294,7 +538,7 @@

    Source code for cil.optimisation.functions.BlockFunction

    t += self.functions[i].convex_conjugate(x.get_item(i)) return t
    -
    [docs] def proximal(self, x, tau, out = None): +
    [docs] def proximal(self, x, tau, out = None): r"""Proximal operator of the BlockFunction at x: @@ -330,7 +574,7 @@

    Source code for cil.optimisation.functions.BlockFunction

    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r"""Returns the value of the gradient of the BlockFunction function at x. @@ -351,7 +595,7 @@

    Source code for cil.optimisation.functions.BlockFunction

    return BlockDataContainer(*out)
    -
    [docs] def proximal_conjugate(self, x, tau, out = None): +
    [docs] def proximal_conjugate(self, x, tau, out = None): r"""Proximal operator of the convex conjugate of BlockFunction at x: @@ -388,7 +632,7 @@

    Source code for cil.optimisation.functions.BlockFunction

    def __getitem__(self, row): return self.functions[row] -
    [docs] def __rmul__(self, other): +
    [docs] def __rmul__(self, other): '''Define multiplication with a scalar :param other: number @@ -403,37 +647,59 @@

    Source code for cil.optimisation.functions.BlockFunction

    + + +
    + + + + +
    +
    + +
    + +
    + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/Function.html b/nightly/_modules/cil/optimisation/functions/Function/index.html similarity index 77% rename from nightly/_modules/cil/optimisation/functions/Function.html rename to nightly/_modules/cil/optimisation/functions/Function/index.html index df912645c6..7cd0bff6f7 100644 --- a/nightly/_modules/cil/optimisation/functions/Function.html +++ b/nightly/_modules/cil/optimisation/functions/Function/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.Function — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.Function

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -218,7 +462,7 @@ 

    Source code for cil.optimisation.functions.Function

    from functools import reduce -
    [docs]class Function(object): +
    [docs]class Function(object): r""" Abstract class representing a function @@ -242,7 +486,7 @@

    Source code for cil.optimisation.functions.Function

    raise NotImplementedError -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r"""Returns the value of the gradient of function :math:`F` evaluated at :math:`x`, if it is differentiable .. math:: F'(x) @@ -260,7 +504,7 @@

    Source code for cil.optimisation.functions.Function

    """ raise NotImplementedError
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r"""Returns the proximal operator of function :math:`\tau F` evaluated at x .. math:: \text{prox}_{\tau F}(x) = \underset{z}{\text{argmin}} \frac{1}{2}\|z - x\|^{2} + \tau F(z) @@ -280,7 +524,7 @@

    Source code for cil.optimisation.functions.Function

    """ raise NotImplementedError
    -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r""" Evaluation of the function F* at x, where F* is the convex conjugate of function F, .. math:: F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x) @@ -296,7 +540,7 @@

    Source code for cil.optimisation.functions.Function

    """ raise NotImplementedError
    -
    [docs] def proximal_conjugate(self, x, tau, out=None): +
    [docs] def proximal_conjugate(self, x, tau, out=None): r"""Returns the proximal operator of the convex conjugate of function :math:`\tau F` evaluated at :math:`x^{*}` .. math:: \text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*}) @@ -375,7 +619,7 @@

    Source code for cil.optimisation.functions.Function

    def __mul__(self, scalar): return self.__rmul__(scalar) -
    [docs] def centered_at(self, center): +
    [docs] def centered_at(self, center): """ Returns a translated function, namely if we have a function :math:`F(x)` the center is at the origin. TranslateFunction is :math:`F(x - b)` and the center is at point b. @@ -411,7 +655,7 @@

    Source code for cil.optimisation.functions.Function

    raise TypeError('The Lipschitz constant is a real positive number')
    -
    [docs]class SumFunction(Function): +
    [docs]class SumFunction(Function): r"""SumFunction represents the sum of :math:`n\geq2` functions @@ -516,7 +760,7 @@

    Source code for cil.optimisation.functions.Function

    ret += f(x) return ret -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r"""Returns the value of the sum of the gradient of functions evaluated at :math:`x`, if all of them are differentiable. .. math:: (F'_{1} + F'_{2} + ... + F'_{n})(x) = F'_{1}(x) + F'_{2}(x) + ... + F'_{n}(x) @@ -567,7 +811,7 @@

    Source code for cil.optimisation.functions.Function

    return super(SumFunction, self).__add__(other)
    -
    [docs]class ScaledFunction(Function): +
    [docs]class ScaledFunction(Function): r""" ScaledFunction represents the scalar multiplication with a Function. @@ -635,7 +879,7 @@

    Source code for cil.optimisation.functions.Function

    """ return self.scalar * self.function(x) -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r"""Returns the convex conjugate of the scaled function. .. math:: G^{*}(x^{*}) = \alpha F^{*}(\frac{x^{*}}{\alpha}) @@ -662,7 +906,7 @@

    Source code for cil.optimisation.functions.Function

    return self.scalar * val
    -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r"""Returns the gradient of the scaled function evaluated at :math:`x`. .. math:: G'(x) = \alpha F'(x) @@ -684,7 +928,7 @@

    Source code for cil.optimisation.functions.Function

    self.function.gradient(x, out=out) out *= self.scalar
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r"""Returns the proximal operator of the scaled function, evaluated at :math:`x`. .. math:: \text{prox}_{\tau G}(x) = \text{prox}_{(\tau\alpha) F}(x) @@ -705,7 +949,7 @@

    Source code for cil.optimisation.functions.Function

    return self.function.proximal(x, tau*self.scalar, out=out)
    -
    [docs] def proximal_conjugate(self, x, tau, out=None): +
    [docs] def proximal_conjugate(self, x, tau, out=None): r"""This returns the proximal conjugate operator for the function at :math:`x`, :math:`\tau` Parameters @@ -742,7 +986,7 @@

    Source code for cil.optimisation.functions.Function

    return val
    -
    [docs]class SumScalarFunction(SumFunction): +
    [docs]class SumScalarFunction(SumFunction): """ SumScalarFunction represents the sum a function with a scalar. @@ -765,7 +1009,7 @@

    Source code for cil.optimisation.functions.Function

    self.constant = constant self.function = function -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r""" Returns the convex conjugate of a :math:`(F+scalar)`, evaluated at :math:`x`. .. math:: (F+scalar)^{*}(x^{*}) = F^{*}(x^{*}) - scalar @@ -781,7 +1025,7 @@

    Source code for cil.optimisation.functions.Function

    """ return self.function.convex_conjugate(x) - self.constant
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): """ Returns the proximal operator of :math:`F+scalar` .. math:: \text{prox}_{\tau (F+scalar)}(x) = \text{prox}_{\tau F} @@ -816,7 +1060,7 @@

    Source code for cil.optimisation.functions.Function

    super(SumScalarFunction, self.__class__).L.fset(self, value)
    -
    [docs]class ConstantFunction(Function): +
    [docs]class ConstantFunction(Function): r""" ConstantFunction: :math:`F(x) = constant, constant\in\mathbb{R}` @@ -830,7 +1074,7 @@

    Source code for cil.optimisation.functions.Function

    """ Returns the value of the function, :math:`F(x) = constant`""" return self.constant -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): """ Returns the value of the gradient of the function, :math:`F'(x)=0` Parameters ---------- @@ -848,7 +1092,7 @@

    Source code for cil.optimisation.functions.Function

    else: out.fill(0)
    -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r""" The convex conjugate of constant function :math:`F(x) = c\in\mathbb{R}` is .. math:: @@ -878,7 +1122,7 @@

    Source code for cil.optimisation.functions.Function

    """ return x.maximum(0).sum()
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r"""Returns the proximal operator of the constant function, which is the same element, i.e., .. math:: \text{prox}_{\tau F}(x) = x @@ -923,7 +1167,7 @@

    Source code for cil.optimisation.functions.Function

    return ConstantFunction(constant)
    -
    [docs]class ZeroFunction(ConstantFunction): +
    [docs]class ZeroFunction(ConstantFunction): """ ZeroFunction represents the zero function, :math:`F(x) = 0` """ @@ -932,7 +1176,7 @@

    Source code for cil.optimisation.functions.Function

    super(ZeroFunction, self).__init__(constant=0.)
    -
    [docs]class TranslateFunction(Function): +
    [docs]class TranslateFunction(Function): r""" TranslateFunction represents the translation of function F with respect to the center b. @@ -987,7 +1231,7 @@

    Source code for cil.optimisation.functions.Function

    return val -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r"""Returns the gradient of the translated function. .. math:: G'(x) = F'(x - b) @@ -1020,7 +1264,7 @@

    Source code for cil.optimisation.functions.Function

    if out is None: return val
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r"""Returns the proximal operator of the translated function. .. math:: \text{prox}_{\tau G}(x) = \text{prox}_{\tau F}(x-b) + b @@ -1057,7 +1301,7 @@

    Source code for cil.optimisation.functions.Function

    if out is None: return val
    -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r"""Returns the convex conjugate of the translated function. .. math:: G^{*}(x^{*}) = F^{*}(x^{*}) + <x^{*}, b > @@ -1076,37 +1320,59 @@

    Source code for cil.optimisation.functions.Function

    + + +
    + + + + +
    +
    + +
    + +
    + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/IndicatorBox.html b/nightly/_modules/cil/optimisation/functions/IndicatorBox/index.html similarity index 78% rename from nightly/_modules/cil/optimisation/functions/IndicatorBox.html rename to nightly/_modules/cil/optimisation/functions/IndicatorBox/index.html index 29c039f649..e53f145c62 100644 --- a/nightly/_modules/cil/optimisation/functions/IndicatorBox.html +++ b/nightly/_modules/cil/optimisation/functions/IndicatorBox/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.IndicatorBox — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.IndicatorBox

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -218,7 +462,7 @@ 

    Source code for cil.optimisation.functions.IndicatorBox

    import logging -
    [docs]class IndicatorBox(Function): +
    [docs]class IndicatorBox(Function): r'''Indicator function for box constraint .. math:: @@ -310,7 +554,7 @@

    Source code for cil.optimisation.functions.IndicatorBox

    def suppress_evaluation(self): return self._suppress_evaluation -
    [docs] def set_suppress_evaluation(self, value): +
    [docs] def set_suppress_evaluation(self, value): '''Suppresses the evaluation of the function Parameters @@ -336,7 +580,7 @@

    Source code for cil.optimisation.functions.IndicatorBox

    return self.evaluate(x) return 0.0 -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r'''Proximal operator of IndicatorBox at x .. math:: prox_{\tau * f}(x) @@ -370,7 +614,7 @@

    Source code for cil.optimisation.functions.IndicatorBox

    if should_return: return out
    -
    [docs] def gradient(self, x): +
    [docs] def gradient(self, x): '''IndicatorBox is not differentiable, so calling gradient will raise a ``ValueError``''' return ValueError('Not Differentiable')
    @@ -384,7 +628,7 @@

    Source code for cil.optimisation.functions.IndicatorBox

    Defaults to the value set in the CIL multiprocessing module.''' return cil_mp.NUM_THREADS if self._num_threads is None else self._num_threads -
    [docs] def set_num_threads(self, value): +
    [docs] def set_num_threads(self, value): '''Set the optional number of threads parameter to use for the accelerated version. This is discarded if ``accelerated=False``.''' @@ -643,37 +887,59 @@

    Source code for cil.optimisation.functions.IndicatorBox

    acc[j] += arr[i]
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/KullbackLeibler.html b/nightly/_modules/cil/optimisation/functions/KullbackLeibler/index.html similarity index 84% rename from nightly/_modules/cil/optimisation/functions/KullbackLeibler.html rename to nightly/_modules/cil/optimisation/functions/KullbackLeibler/index.html index 13c8209e90..0679f574ce 100644 --- a/nightly/_modules/cil/optimisation/functions/KullbackLeibler.html +++ b/nightly/_modules/cil/optimisation/functions/KullbackLeibler/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.KullbackLeibler — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.KullbackLeibler

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -223,7 +467,7 @@ 

    Source code for cil.optimisation.functions.KullbackLeibler

    except ImportError as ie: has_numba = False -
    [docs]class KullbackLeibler(Function): +
    [docs]class KullbackLeibler(Function): r""" Kullback Leibler @@ -725,37 +969,59 @@

    Source code for cil.optimisation.functions.KullbackLeibler

    return out
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/L1Norm.html b/nightly/_modules/cil/optimisation/functions/L1Norm/index.html similarity index 67% rename from nightly/_modules/cil/optimisation/functions/L1Norm.html rename to nightly/_modules/cil/optimisation/functions/L1Norm/index.html index 08b085da2f..15d5050458 100644 --- a/nightly/_modules/cil/optimisation/functions/L1Norm.html +++ b/nightly/_modules/cil/optimisation/functions/L1Norm/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.L1Norm — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.L1Norm

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -262,7 +506,7 @@ 

    Source code for cil.optimisation.functions.L1Norm

    if should_return: return out -
    [docs]class L1Norm(Function): +
    [docs]class L1Norm(Function): r"""L1Norm function Consider the following cases: @@ -300,7 +544,7 @@

    Source code for cil.optimisation.functions.L1Norm

    """ return self.function(x) -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r"""Returns the value of the convex conjugate of the L1 Norm function at x. @@ -341,7 +585,7 @@

    Source code for cil.optimisation.functions.L1Norm

    """ return self.function.convex_conjugate(x)
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r"""Returns the value of the proximal operator of the L1 Norm function at x with scaling parameter `tau`. @@ -464,7 +708,7 @@

    Source code for cil.optimisation.functions.L1Norm

    tau /= self.weight return ret -
    [docs]class MixedL11Norm(Function): +
    [docs]class MixedL11Norm(Function): r"""MixedL11Norm function @@ -496,7 +740,7 @@

    Source code for cil.optimisation.functions.L1Norm

    return x.abs().sum() -
    [docs] def proximal(self, x, tau, out = None): +
    [docs] def proximal(self, x, tau, out = None): r"""Returns the value of the proximal operator of the MixedL11Norm function at x. @@ -514,37 +758,59 @@

    Source code for cil.optimisation.functions.L1Norm

    return soft_shrinkage(x, tau, out = out)
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/L2NormSquared.html b/nightly/_modules/cil/optimisation/functions/L2NormSquared/index.html similarity index 59% rename from nightly/_modules/cil/optimisation/functions/L2NormSquared.html rename to nightly/_modules/cil/optimisation/functions/L2NormSquared/index.html index 10ed87480b..f24001418a 100644 --- a/nightly/_modules/cil/optimisation/functions/L2NormSquared.html +++ b/nightly/_modules/cil/optimisation/functions/L2NormSquared/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.L2NormSquared — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.L2NormSquared

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -216,7 +460,7 @@ 

    Source code for cil.optimisation.functions.L2NormSquared

    from cil.optimisation.operators import DiagonalOperator -
    [docs]class L2NormSquared(Function): +
    [docs]class L2NormSquared(Function): r""" L2NormSquared function: :math:`F(x) = \| x\|^{2}_{2} = \underset{i}{\sum}x_{i}^{2}` @@ -260,7 +504,7 @@

    Source code for cil.optimisation.functions.L2NormSquared

    # added for compatibility with SIRF return (y.norm()**2) -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r"""Returns the value of the gradient of the L2NormSquared function at x. Following cases are considered: @@ -278,7 +522,7 @@

    Source code for cil.optimisation.functions.L2NormSquared

    if out is None: return ret
    -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r"""Returns the value of the convex conjugate of the L2NormSquared function at x. Consider the following cases: @@ -294,7 +538,7 @@

    Source code for cil.optimisation.functions.L2NormSquared

    return 0.25 * x.squared_norm() + tmp
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r"""Returns the value of the proximal operator of the L2NormSquared function at x. @@ -316,7 +560,7 @@

    Source code for cil.optimisation.functions.L2NormSquared

    return ret
    -
    [docs]class WeightedL2NormSquared(Function): +
    [docs]class WeightedL2NormSquared(Function): r""" WeightedL2NormSquared function: :math:`F(x) = \|x\|_{W,2}^2 = \Sigma_iw_ix_i^2 = \langle x, Wx\rangle = x^TWx` where :math:`W=\text{diag}(weight)` if `weight` is a `DataContainer` or :math:`W=\text{weight} I` if `weight` is a scalar. @@ -361,7 +605,7 @@

    Source code for cil.optimisation.functions.L2NormSquared

    y = (x - self.b).dot(self.tmp_space) return y -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r""" Returns the value of :math:`F'(x) = 2Wx` or, if `b` is defined, :math:`F'(x) = 2W(x-b)` where :math:`W=\text{diag}(weight)` if `weight` is a `DataContainer` or :math:`\text{weight}I` if `weight` is a scalar. @@ -382,7 +626,7 @@

    Source code for cil.optimisation.functions.L2NormSquared

    y = x - self.b return 2*self.weight*y
    -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r"""Returns the value of the convex conjugate of the WeightedL2NormSquared function at x.""" tmp = 0 if self.b is not None: @@ -390,7 +634,7 @@

    Source code for cil.optimisation.functions.L2NormSquared

    return (1./4) * (x/self.weight.sqrt()).squared_norm() + tmp
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r"""Returns the value of the proximal operator of the WeightedL2NormSquared function at x.""" if out is None: @@ -412,37 +656,59 @@

    Source code for cil.optimisation.functions.L2NormSquared

    x.divide((1+2*tau*self.weight), out=out)
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/LeastSquares.html b/nightly/_modules/cil/optimisation/functions/LeastSquares/index.html similarity index 58% rename from nightly/_modules/cil/optimisation/functions/LeastSquares.html rename to nightly/_modules/cil/optimisation/functions/LeastSquares/index.html index baf2e50cd5..2b98b42fa8 100644 --- a/nightly/_modules/cil/optimisation/functions/LeastSquares.html +++ b/nightly/_modules/cil/optimisation/functions/LeastSquares/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.LeastSquares — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.LeastSquares

     # -*- coding: utf-8 -*-
     #  Copyright 2018 United Kingdom Research and Innovation
    @@ -219,7 +463,7 @@ 

    Source code for cil.optimisation.functions.LeastSquares

    import numpy as np -
    [docs]class LeastSquares(Function): +
    [docs]class LeastSquares(Function): r""" (Weighted) Least Squares function .. math:: F(x) = c\|Ax-b\|_2^2 @@ -275,7 +519,7 @@

    Source code for cil.optimisation.functions.LeastSquares

    wy = self.weight.multiply(y) return self.c * y.dot(wy) -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r""" Returns the value of the gradient of :math:`F(x)`: @@ -354,37 +598,59 @@

    Source code for cil.optimisation.functions.LeastSquares

    return LeastSquares(A=self.A, b=self.b, c=constant, weight=self.weight)
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/MixedL21Norm.html b/nightly/_modules/cil/optimisation/functions/MixedL21Norm/index.html similarity index 60% rename from nightly/_modules/cil/optimisation/functions/MixedL21Norm.html rename to nightly/_modules/cil/optimisation/functions/MixedL21Norm/index.html index 38125dda7d..0e9fac87b1 100644 --- a/nightly/_modules/cil/optimisation/functions/MixedL21Norm.html +++ b/nightly/_modules/cil/optimisation/functions/MixedL21Norm/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.MixedL21Norm — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.MixedL21Norm

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -285,7 +529,7 @@ 

    Source code for cil.optimisation.functions.MixedL21Norm

    return res -
    [docs]class MixedL21Norm(Function): +
    [docs]class MixedL21Norm(Function): """ MixedL21Norm function: :math:`F(x) = ||x||_{2,1} = \sum |x|_{2} = \sum \sqrt{ (x^{1})^{2} + (x^{2})^{2} + \dots}` @@ -311,7 +555,7 @@

    Source code for cil.optimisation.functions.MixedL21Norm

    return x.pnorm(p=2).sum() -
    [docs] def convex_conjugate(self,x): +
    [docs] def convex_conjugate(self,x): r"""Returns the value of the convex conjugate of the MixedL21Norm function at x. @@ -339,7 +583,7 @@

    Source code for cil.optimisation.functions.MixedL21Norm

    else: return np.inf
    -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r"""Returns the value of the proximal operator of the MixedL21Norm function at x. @@ -374,7 +618,7 @@

    Source code for cil.optimisation.functions.MixedL21Norm

    if out is None: return res
    -
    [docs]class SmoothMixedL21Norm(Function): +
    [docs]class SmoothMixedL21Norm(Function): """ SmoothMixedL21Norm function: :math:`F(x) = ||x||_{2,1} = \sum |x|_{2} = \sum \sqrt{ (x^{1})^{2} + (x^{2})^{2} + \epsilon^2 + \dots}` @@ -408,7 +652,7 @@

    Source code for cil.optimisation.functions.MixedL21Norm

    return (x.pnorm(2).power(2) + self.epsilon**2).sqrt().sum() -
    [docs] def gradient(self, x, out=None): +
    [docs] def gradient(self, x, out=None): r"""Returns the value of the gradient of the SmoothMixedL21Norm function at x. @@ -428,37 +672,59 @@

    Source code for cil.optimisation.functions.MixedL21Norm

    x.divide(denom, out=out)
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/OperatorCompositionFunction.html b/nightly/_modules/cil/optimisation/functions/OperatorCompositionFunction.html deleted file mode 100644 index e8fa11d56e..0000000000 --- a/nightly/_modules/cil/optimisation/functions/OperatorCompositionFunction.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - cil.optimisation.functions.OperatorCompositionFunction — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.optimisation.functions.OperatorCompositionFunction

    -# -*- coding: utf-8 -*-
    -#  Copyright 2019 United Kingdom Research and Innovation
    -#  Copyright 2019 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.optimisation.functions import Function
    -from cil.optimisation.operators import Operator, ScaledOperator
    -
    -import warnings
    -
    -
    [docs]class OperatorCompositionFunction(Function): - - """ Composition of a function with an operator as : :math:`(F \otimes A)(x) = F(Ax)` - - :parameter function: :code:`Function` F - :parameter operator: :code:`Operator` A - - - For general operator, we have no explicit formulas for convex_conjugate, - proximal and proximal_conjugate - - """ - - def __init__(self, function, operator): - '''creator - - :param A: operator - :type A: :code:`Operator` - :param f: function - :type f: :code:`Function` - ''' - - super(OperatorCompositionFunction, self).__init__() - - self.function = function - self.operator = operator - - @property - def L(self): - if self._L is None: - try: - self._L = self.function.L * (self.operator.norm() ** 2) - except ValueError as ve: - self._L = None - return self._L - - def __call__(self, x): - - """ Returns :math:`F(Ax)` - """ - - return self.function(self.operator.direct(x)) - -
    [docs] def gradient(self, x, out=None): - - """ Return the gradient of F(Ax), - - ..math :: (F(Ax))' = A^{T}F'(Ax) - - """ - - tmp = self.operator.range_geometry().allocate() - self.operator.direct(x, out=tmp) - self.function.gradient(tmp, out=tmp) - if out is None: - return self.operator.adjoint(tmp) - else: - self.operator.adjoint(tmp, out=out)
    - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/OperatorCompositionFunction/index.html b/nightly/_modules/cil/optimisation/functions/OperatorCompositionFunction/index.html new file mode 100644 index 0000000000..1ff80f8215 --- /dev/null +++ b/nightly/_modules/cil/optimisation/functions/OperatorCompositionFunction/index.html @@ -0,0 +1,579 @@ + + + + + + + + + + + cil.optimisation.functions.OperatorCompositionFunction — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.optimisation.functions.OperatorCompositionFunction

    +# -*- coding: utf-8 -*-
    +#  Copyright 2019 United Kingdom Research and Innovation
    +#  Copyright 2019 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +from cil.optimisation.functions import Function
    +from cil.optimisation.operators import Operator, ScaledOperator
    +
    +import warnings
    +
    +
    [docs]class OperatorCompositionFunction(Function): + + """ Composition of a function with an operator as : :math:`(F \otimes A)(x) = F(Ax)` + + :parameter function: :code:`Function` F + :parameter operator: :code:`Operator` A + + + For general operator, we have no explicit formulas for convex_conjugate, + proximal and proximal_conjugate + + """ + + def __init__(self, function, operator): + '''creator + + :param A: operator + :type A: :code:`Operator` + :param f: function + :type f: :code:`Function` + ''' + + super(OperatorCompositionFunction, self).__init__() + + self.function = function + self.operator = operator + + @property + def L(self): + if self._L is None: + try: + self._L = self.function.L * (self.operator.norm() ** 2) + except ValueError as ve: + self._L = None + return self._L + + def __call__(self, x): + + """ Returns :math:`F(Ax)` + """ + + return self.function(self.operator.direct(x)) + +
    [docs] def gradient(self, x, out=None): + + """ Return the gradient of F(Ax), + + ..math :: (F(Ax))' = A^{T}F'(Ax) + + """ + + tmp = self.operator.range_geometry().allocate() + self.operator.direct(x, out=tmp) + self.function.gradient(tmp, out=tmp) + if out is None: + return self.operator.adjoint(tmp) + else: + self.operator.adjoint(tmp, out=out)
    + +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/Rosenbrock.html b/nightly/_modules/cil/optimisation/functions/Rosenbrock.html deleted file mode 100644 index b0c950e397..0000000000 --- a/nightly/_modules/cil/optimisation/functions/Rosenbrock.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - cil.optimisation.functions.Rosenbrock — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.optimisation.functions.Rosenbrock

    -# -*- coding: utf-8 -*-
    -#  Copyright 2019 United Kingdom Research and Innovation
    -#  Copyright 2019 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -import numpy
    -from cil.optimisation.functions import Function
    -from cil.framework import VectorData, VectorGeometry
    -
    -
    [docs]class Rosenbrock(Function): - r'''Rosenbrock function - - .. math:: - - F(x,y) = (\alpha - x)^2 + \beta(y-x^2)^2 - - The function has a global minimum at .. math:: (x,y)=(\alpha, \alpha^2) - - ''' - def __init__(self, alpha, beta): - super(Rosenbrock, self).__init__() - - self.alpha = alpha - self.beta = beta - - def __call__(self, x): - if not isinstance(x, VectorData): - raise TypeError('Rosenbrock function works on VectorData only') - vec = x.as_array() - a = (self.alpha - vec[0]) - b = (vec[1] - (vec[0]*vec[0])) - return a * a + self.beta * b * b - -
    [docs] def gradient(self, x, out=None): - r'''Gradient of the Rosenbrock function - - .. math:: - - \nabla f(x,y) = \left[ 2*((x-\alpha) - 2\beta x(y-x^2)) ; 2\beta (y - x^2) \right] - - ''' - if not isinstance(x, VectorData): - raise TypeError('Rosenbrock function works on VectorData only') - - vec = x.as_array() - a = (vec[0] - self.alpha) - b = (vec[1] - (vec[0]*vec[0])) - - res = numpy.empty_like(vec) - res[0] = 2 * ( a - 2 * self.beta * vec[0] * b) - res[1] = 2 * self.beta * b - - if out is not None: - out.fill (res) - else: - return VectorData(res)
    - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/Rosenbrock/index.html b/nightly/_modules/cil/optimisation/functions/Rosenbrock/index.html new file mode 100644 index 0000000000..350b78bf3f --- /dev/null +++ b/nightly/_modules/cil/optimisation/functions/Rosenbrock/index.html @@ -0,0 +1,567 @@ + + + + + + + + + + + cil.optimisation.functions.Rosenbrock — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.optimisation.functions.Rosenbrock

    +# -*- coding: utf-8 -*-
    +#  Copyright 2019 United Kingdom Research and Innovation
    +#  Copyright 2019 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +import numpy
    +from cil.optimisation.functions import Function
    +from cil.framework import VectorData, VectorGeometry
    +
    +
    [docs]class Rosenbrock(Function): + r'''Rosenbrock function + + .. math:: + + F(x,y) = (\alpha - x)^2 + \beta(y-x^2)^2 + + The function has a global minimum at .. math:: (x,y)=(\alpha, \alpha^2) + + ''' + def __init__(self, alpha, beta): + super(Rosenbrock, self).__init__() + + self.alpha = alpha + self.beta = beta + + def __call__(self, x): + if not isinstance(x, VectorData): + raise TypeError('Rosenbrock function works on VectorData only') + vec = x.as_array() + a = (self.alpha - vec[0]) + b = (vec[1] - (vec[0]*vec[0])) + return a * a + self.beta * b * b + +
    [docs] def gradient(self, x, out=None): + r'''Gradient of the Rosenbrock function + + .. math:: + + \nabla f(x,y) = \left[ 2*((x-\alpha) - 2\beta x(y-x^2)) ; 2\beta (y - x^2) \right] + + ''' + if not isinstance(x, VectorData): + raise TypeError('Rosenbrock function works on VectorData only') + + vec = x.as_array() + a = (vec[0] - self.alpha) + b = (vec[1] - (vec[0]*vec[0])) + + res = numpy.empty_like(vec) + res[0] = 2 * ( a - 2 * self.beta * vec[0] * b) + res[1] = 2 * self.beta * b + + if out is not None: + out.fill (res) + else: + return VectorData(res)
    + +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/functions/TotalVariation.html b/nightly/_modules/cil/optimisation/functions/TotalVariation/index.html similarity index 72% rename from nightly/_modules/cil/optimisation/functions/TotalVariation.html rename to nightly/_modules/cil/optimisation/functions/TotalVariation/index.html index b39bd2a914..1d11bae35c 100644 --- a/nightly/_modules/cil/optimisation/functions/TotalVariation.html +++ b/nightly/_modules/cil/optimisation/functions/TotalVariation/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.functions.TotalVariation — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.functions.TotalVariation

     # -*- coding: utf-8 -*-
     #  Copyright 2020 United Kingdom Research and Innovation
    @@ -221,7 +465,7 @@ 

    Source code for cil.optimisation.functions.TotalVariation

    import logging -
    [docs]class TotalVariation(Function): +
    [docs]class TotalVariation(Function): r""" Total variation Function @@ -452,7 +696,7 @@

    Source code for cil.optimisation.functions.TotalVariation

    return self.regularisation_parameter * self.func(self.gradient.direct(x)) + strongly_convex_term -
    [docs] def proximal(self, x, tau, out=None): +
    [docs] def proximal(self, x, tau, out=None): r""" Returns the proximal operator of the TotalVariation function at :code:`x` .""" if self.strong_convexity_constant > 0: @@ -559,11 +803,11 @@

    Source code for cil.optimisation.functions.TotalVariation

    if should_return: return out -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): r""" Returns the value of convex conjugate of the TotalVariation function at :code:`x` .""" return 0.0
    -
    [docs] def calculate_Lipschitz(self): +
    [docs] def calculate_Lipschitz(self): r""" Default value for the Lipschitz constant.""" # Compute the Lipschitz parameter from the operator if possible @@ -593,37 +837,59 @@

    Source code for cil.optimisation.functions.TotalVariation

    return self
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/BlockOperator.html b/nightly/_modules/cil/optimisation/operators/BlockOperator/index.html similarity index 74% rename from nightly/_modules/cil/optimisation/operators/BlockOperator.html rename to nightly/_modules/cil/optimisation/operators/BlockOperator/index.html index 6ab88343e8..ae9414ba09 100644 --- a/nightly/_modules/cil/optimisation/operators/BlockOperator.html +++ b/nightly/_modules/cil/optimisation/operators/BlockOperator/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.operators.BlockOperator — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.operators.BlockOperator

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -225,7 +469,7 @@ 

    Source code for cil.optimisation.operators.BlockOperator

    has_sirf = False -
    [docs]class BlockOperator(Operator): +
    [docs]class BlockOperator(Operator): r'''A Block matrix containing Operators Parameters @@ -270,7 +514,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    ''' __array_priority__ = 1 -
    [docs] def __init__(self, *args, **kwargs): +
    [docs] def __init__(self, *args, **kwargs): self.operators = args shape = kwargs.get('shape', None) @@ -295,7 +539,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    # if not self.row_wise_compatible(): # raise ValueError('Operators in each row must have the same range') -
    [docs] def column_wise_compatible(self): +
    [docs] def column_wise_compatible(self): '''Operators in a Block should have the same domain per column''' rows, cols = self.shape compatible = True @@ -311,7 +555,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    compatible = compatible and column_compatible return compatible
    -
    [docs] def row_wise_compatible(self): +
    [docs] def row_wise_compatible(self): '''Operators in a Block should have the same range per row''' rows, cols = self.shape compatible = True @@ -329,7 +573,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    return compatible
    -
    [docs] def get_item(self, row, col): +
    [docs] def get_item(self, row, col): '''Returns the Operator at specified row and col Parameters ---------- @@ -348,16 +592,16 @@

    Source code for cil.optimisation.operators.BlockOperator

    index = row*self.shape[1]+col return self.operators[index]
    -
    [docs] def norm(self): +
    [docs] def norm(self): '''Returns the Euclidean norm of the norms of the individual operators in the BlockOperators ''' return numpy.sqrt(numpy.sum(numpy.array(self.get_norms_as_list())**2))
    -
    [docs] def get_norms_as_list(self, ): +
    [docs] def get_norms_as_list(self, ): '''Returns a list of the individual norms of the Operators in the BlockOperator ''' return [op.norm() for op in self.operators]
    -
    [docs] def set_norms(self, norms): +
    [docs] def set_norms(self, norms): '''Uses the set_norm() function in Operator to set the norms of the operators in the BlockOperator from a list of custom values. Parameters @@ -373,7 +617,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    for j, value in enumerate(norms): self.operators[j].set_norm(value)
    -
    [docs] def direct(self, x, out=None): +
    [docs] def direct(self, x, out=None): '''Direct operation for the BlockOperator Note @@ -419,7 +663,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    temp_out_row += tmp.get_item(row)
    -
    [docs] def adjoint(self, x, out=None): +
    [docs] def adjoint(self, x, out=None): '''Adjoint operation for the BlockOperator Note @@ -483,11 +727,11 @@

    Source code for cil.optimisation.operators.BlockOperator

    x_b.get_item(row), )
    -
    [docs] def is_linear(self): +
    [docs] def is_linear(self): '''Returns whether all the elements of the BlockOperator are linear''' return functools.reduce(lambda x, y: x and y.is_linear(), self.operators, True)
    -
    [docs] def get_output_shape(self, xshape, adjoint=False): +
    [docs] def get_output_shape(self, xshape, adjoint=False): '''Returns the shape of the output BlockDataContainer Parameters ---------- @@ -516,7 +760,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    'Incompatible shapes {} {}'.format((rows, cols), xshape)) return (rows, xcols)
    -
    [docs] def __rmul__(self, scalar): +
    [docs] def __rmul__(self, scalar): '''Defines the left multiplication with a scalar. Returns a block operator with Scaled Operators inside. Parameters @@ -550,7 +794,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    oplist.append(self.get_item(col, row)) return type(self)(*oplist, shape=newshape) -
    [docs] def domain_geometry(self): +
    [docs] def domain_geometry(self): '''Returns the domain of the BlockOperator If the shape of the BlockOperator is (N,1) the domain is a ImageGeometry or AcquisitionGeometry. @@ -572,7 +816,7 @@

    Source code for cil.optimisation.operators.BlockOperator

    # return BlockGeometry(*[el.domain_geometry() for el in self.operators], # shape=self.shape) -
    [docs] def range_geometry(self): +
    [docs] def range_geometry(self): '''Returns the range of the BlockOperator''' tmp = [] @@ -618,46 +862,68 @@

    Source code for cil.optimisation.operators.BlockOperator

    def size(self): return len(self.operators) -
    [docs] def __getitem__(self, index): +
    [docs] def __getitem__(self, index): '''Returns the index-th operator in the block irrespectively of it's shape''' return self.operators[index]
    -
    [docs] def get_as_list(self): +
    [docs] def get_as_list(self): '''Returns the list of operators''' return self.operators
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/ChannelwiseOperator.html b/nightly/_modules/cil/optimisation/operators/ChannelwiseOperator/index.html similarity index 53% rename from nightly/_modules/cil/optimisation/operators/ChannelwiseOperator.html rename to nightly/_modules/cil/optimisation/operators/ChannelwiseOperator/index.html index 8307081463..e85b381652 100644 --- a/nightly/_modules/cil/optimisation/operators/ChannelwiseOperator.html +++ b/nightly/_modules/cil/optimisation/operators/ChannelwiseOperator/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.operators.ChannelwiseOperator — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.operators.ChannelwiseOperator

     # -*- coding: utf-8 -*-
     #  Copyright 2020 United Kingdom Research and Innovation
    @@ -217,7 +461,7 @@ 

    Source code for cil.optimisation.operators.ChannelwiseOperator

    from cil.framework import ImageGeometry, AcquisitionGeometry, BlockGeometry -
    [docs]class ChannelwiseOperator(LinearOperator): +
    [docs]class ChannelwiseOperator(LinearOperator): r'''ChannelwiseOperator: takes in a single-channel operator op and the number of channels to be used, and creates a new multi-channel @@ -276,7 +520,7 @@

    Source code for cil.optimisation.operators.ChannelwiseOperator

    self.op = op self.channels = channels -
    [docs] def direct(self,x,out=None): +
    [docs] def direct(self,x,out=None): '''Returns D(x)''' @@ -295,7 +539,7 @@

    Source code for cil.optimisation.operators.ChannelwiseOperator

    self.op.direct(x.get_slice(channel=k),cury) out.fill(cury.as_array(),channel=k)
    -
    [docs] def adjoint(self,x, out=None): +
    [docs] def adjoint(self,x, out=None): '''Returns D^{*}(y)''' @@ -314,7 +558,7 @@

    Source code for cil.optimisation.operators.ChannelwiseOperator

    self.op.adjoint(x.get_slice(channel=k),cury) out.fill(cury.as_array(),channel=k)
    -
    [docs] def calculate_norm(self, **kwargs): +
    [docs] def calculate_norm(self, **kwargs): '''Evaluates operator norm of DiagonalOperator''' @@ -322,37 +566,59 @@

    Source code for cil.optimisation.operators.ChannelwiseOperator

    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/DiagonalOperator.html b/nightly/_modules/cil/optimisation/operators/DiagonalOperator.html deleted file mode 100644 index 0bf709ef5a..0000000000 --- a/nightly/_modules/cil/optimisation/operators/DiagonalOperator.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - cil.optimisation.operators.DiagonalOperator — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.optimisation.operators.DiagonalOperator

    -# -*- coding: utf-8 -*-
    -#  Copyright 2020 United Kingdom Research and Innovation
    -#  Copyright 2020 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -import numpy as np
    -from cil.framework import ImageData
    -from cil.optimisation.operators import LinearOperator
    -
    -
    [docs]class DiagonalOperator(LinearOperator): - - r"""DiagonalOperator - - Performs an element-wise multiplication, i.e., `Hadamard Product <https://en.wikipedia.org/wiki/Hadamard_product_(matrices)#:~:text=In%20mathematics%2C%20the%20Hadamard%20product,elements%20i%2C%20j%20of%20the>`_ - of a :class:`DataContainer` `x` and :class:`DataContainer` `diagonal`, `d` . - - .. math:: (D\circ x) = \sum_{i,j}^{M,N} D_{i,j} x_{i, j} - - In matrix-vector interpretation, if `D` is a :math:`M\times N` dense matrix and is flattened, we have a :math:`M*N \times M*N` vector. - A sparse diagonal matrix, i.e., :class:`DigaonalOperator` can be created if we add the vector above to the main diagonal. - If the :class:`DataContainer` `x` is also flattened, we have a :math:`M*N` vector. - Now, matrix-vector multiplcation is allowed and results to a :math:`(M*N,1)` vector. After reshaping we recover a :math:`M\times N` :class:`DataContainer`. - - Parameters - ---------- - diagonal : DataContainer - DataContainer with the same dimensions as the data to be operated on. - domain_geometry : ImageGeometry - Specifies the geometry of the operator domain. If 'None' will use the diagonal geometry directly. default=None . - - """ - - - def __init__(self, diagonal, domain_geometry=None): - - if domain_geometry is None: - domain_geometry = diagonal.geometry.copy() - - super(DiagonalOperator, self).__init__(domain_geometry=domain_geometry, - range_geometry=domain_geometry) - self.diagonal = diagonal - - -
    [docs] def direct(self,x,out=None): - - "Returns :math:`D\circ x` " - - if out is None: - return self.diagonal * x - else: - self.diagonal.multiply(x,out=out)
    - - -
    [docs] def adjoint(self,x, out=None): - - "Returns :math:`D^*\circ x` " - - return self.diagonal.conjugate().multiply(x,out=out)
    - - -
    [docs] def calculate_norm(self, **kwargs): - - r""" Returns the operator norm of DiagonalOperator which is the :math:`\infty` norm of `diagonal` - - .. math:: \|D\|_{\infty} = \max_{i}\{|D_{i}|\} - - """ - - return self.diagonal.abs().max()
    -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/DiagonalOperator/index.html b/nightly/_modules/cil/optimisation/operators/DiagonalOperator/index.html new file mode 100644 index 0000000000..381aba69e8 --- /dev/null +++ b/nightly/_modules/cil/optimisation/operators/DiagonalOperator/index.html @@ -0,0 +1,579 @@ + + + + + + + + + + + cil.optimisation.operators.DiagonalOperator — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.optimisation.operators.DiagonalOperator

    +# -*- coding: utf-8 -*-
    +#  Copyright 2020 United Kingdom Research and Innovation
    +#  Copyright 2020 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +import numpy as np
    +from cil.framework import ImageData
    +from cil.optimisation.operators import LinearOperator
    +
    +
    [docs]class DiagonalOperator(LinearOperator): + + r"""DiagonalOperator + + Performs an element-wise multiplication, i.e., `Hadamard Product <https://en.wikipedia.org/wiki/Hadamard_product_(matrices)#:~:text=In%20mathematics%2C%20the%20Hadamard%20product,elements%20i%2C%20j%20of%20the>`_ + of a :class:`DataContainer` `x` and :class:`DataContainer` `diagonal`, `d` . + + .. math:: (D\circ x) = \sum_{i,j}^{M,N} D_{i,j} x_{i, j} + + In matrix-vector interpretation, if `D` is a :math:`M\times N` dense matrix and is flattened, we have a :math:`M*N \times M*N` vector. + A sparse diagonal matrix, i.e., :class:`DigaonalOperator` can be created if we add the vector above to the main diagonal. + If the :class:`DataContainer` `x` is also flattened, we have a :math:`M*N` vector. + Now, matrix-vector multiplcation is allowed and results to a :math:`(M*N,1)` vector. After reshaping we recover a :math:`M\times N` :class:`DataContainer`. + + Parameters + ---------- + diagonal : DataContainer + DataContainer with the same dimensions as the data to be operated on. + domain_geometry : ImageGeometry + Specifies the geometry of the operator domain. If 'None' will use the diagonal geometry directly. default=None . + + """ + + + def __init__(self, diagonal, domain_geometry=None): + + if domain_geometry is None: + domain_geometry = diagonal.geometry.copy() + + super(DiagonalOperator, self).__init__(domain_geometry=domain_geometry, + range_geometry=domain_geometry) + self.diagonal = diagonal + + +
    [docs] def direct(self,x,out=None): + + "Returns :math:`D\circ x` " + + if out is None: + return self.diagonal * x + else: + self.diagonal.multiply(x,out=out)
    + + +
    [docs] def adjoint(self,x, out=None): + + "Returns :math:`D^*\circ x` " + + return self.diagonal.conjugate().multiply(x,out=out)
    + + +
    [docs] def calculate_norm(self, **kwargs): + + r""" Returns the operator norm of DiagonalOperator which is the :math:`\infty` norm of `diagonal` + + .. math:: \|D\|_{\infty} = \max_{i}\{|D_{i}|\} + + """ + + return self.diagonal.abs().max()
    +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/FiniteDifferenceOperator.html b/nightly/_modules/cil/optimisation/operators/FiniteDifferenceOperator/index.html similarity index 80% rename from nightly/_modules/cil/optimisation/operators/FiniteDifferenceOperator.html rename to nightly/_modules/cil/optimisation/operators/FiniteDifferenceOperator/index.html index dacd5e9d80..4b05e68c46 100644 --- a/nightly/_modules/cil/optimisation/operators/FiniteDifferenceOperator.html +++ b/nightly/_modules/cil/optimisation/operators/FiniteDifferenceOperator/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.operators.FiniteDifferenceOperator — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.operators.FiniteDifferenceOperator

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -215,7 +459,7 @@ 

    Source code for cil.optimisation.operators.FiniteDifferenceOperator

    from cil.optimisation.operators import LinearOperator -
    [docs]class FiniteDifferenceOperator(LinearOperator): +
    [docs]class FiniteDifferenceOperator(LinearOperator): r''' Computes forward/backward/centered finite differences of a DataContainer @@ -278,7 +522,7 @@

    Source code for cil.optimisation.operators.FiniteDifferenceOperator

    tmp[self.direction] = slice(start, stop, end) return tmp -
    [docs] def direct(self, x, out = None): +
    [docs] def direct(self, x, out = None): x_asarr = x.as_array() @@ -418,7 +662,7 @@

    Source code for cil.optimisation.operators.FiniteDifferenceOperator

    out.fill(outa)
    -
    [docs] def adjoint(self, x, out=None): +
    [docs] def adjoint(self, x, out=None): # Adjoint operation defined as @@ -569,37 +813,59 @@

    Source code for cil.optimisation.operators.FiniteDifferenceOperator

    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/GradientOperator.html b/nightly/_modules/cil/optimisation/operators/GradientOperator/index.html similarity index 80% rename from nightly/_modules/cil/optimisation/operators/GradientOperator.html rename to nightly/_modules/cil/optimisation/operators/GradientOperator/index.html index 3a741c9a64..a43b872948 100644 --- a/nightly/_modules/cil/optimisation/operators/GradientOperator.html +++ b/nightly/_modules/cil/optimisation/operators/GradientOperator/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.operators.GradientOperator — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.operators.GradientOperator

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -226,7 +470,7 @@ 

    Source code for cil.optimisation.operators.GradientOperator

    CORRELATION_SPACE = "Space" CORRELATION_SPACECHANNEL = "SpaceChannels" -
    [docs]class GradientOperator(LinearOperator): +
    [docs]class GradientOperator(LinearOperator): r""" Gradient Operator: Computes first-order forward/backward differences on @@ -311,7 +555,7 @@

    Source code for cil.optimisation.operators.GradientOperator

    range_geometry=self.operator.range_geometry()) -
    [docs] def direct(self, x, out=None): +
    [docs] def direct(self, x, out=None): """ Computes the first-order forward differences @@ -329,7 +573,7 @@

    Source code for cil.optimisation.operators.GradientOperator

    return self.operator.direct(x, out=out)
    -
    [docs] def adjoint(self, x, out=None): +
    [docs] def adjoint(self, x, out=None): """ Computes the first-order backward differences @@ -349,7 +593,7 @@

    Source code for cil.optimisation.operators.GradientOperator

    return self.operator.adjoint(x, out=out)
    -
    [docs] def calculate_norm(self): +
    [docs] def calculate_norm(self): r""" Returns the analytical norm of the GradientOperator. @@ -665,37 +909,59 @@

    Source code for cil.optimisation.operators.GradientOperator

    + + +
    + + + + +
    +
    + +
    + +
    + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/IdentityOperator.html b/nightly/_modules/cil/optimisation/operators/IdentityOperator.html deleted file mode 100644 index a34e54cf61..0000000000 --- a/nightly/_modules/cil/optimisation/operators/IdentityOperator.html +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - - - cil.optimisation.operators.IdentityOperator — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.optimisation.operators.IdentityOperator

    -# -*- coding: utf-8 -*-
    -#  Copyright 2019 United Kingdom Research and Innovation
    -#  Copyright 2019 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.optimisation.operators import LinearOperator
    -import scipy.sparse as sp
    -import numpy as np
    -
    -
    -
    [docs]class IdentityOperator(LinearOperator): - - '''IdentityOperator: Id: X -> Y, Id(x) = x\in Y - - X : gm_domain - Y : gm_range ( Default: Y = X ) - - ''' - - - def __init__(self, domain_geometry, range_geometry=None): - - - if range_geometry is None: - range_geometry = domain_geometry - - super(IdentityOperator, self).__init__(domain_geometry=domain_geometry, - range_geometry=range_geometry) - -
    [docs] def direct(self,x,out=None): - - '''Returns Id(x)''' - - if out is None: - return x.copy() - else: - out.fill(x)
    - -
    [docs] def adjoint(self,x, out=None): - - '''Returns Id(x)''' - - - if out is None: - return x.copy() - else: - out.fill(x)
    - -
    [docs] def calculate_norm(self, **kwargs): - - '''Evaluates operator norm of IdentityOperator''' - - return 1.0
    - - - ########################################################################### - ############### For preconditioning ###################################### - ########################################################################### - def matrix(self): - - return sp.eye(np.prod(self.gm_domain.shape)) - - def sum_abs_row(self): - - return self.gm_range.allocate(1) - - def sum_abs_col(self): - - return self.gm_domain.allocate(1)
    - - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/IdentityOperator/index.html b/nightly/_modules/cil/optimisation/operators/IdentityOperator/index.html new file mode 100644 index 0000000000..032b560c16 --- /dev/null +++ b/nightly/_modules/cil/optimisation/operators/IdentityOperator/index.html @@ -0,0 +1,581 @@ + + + + + + + + + + + cil.optimisation.operators.IdentityOperator — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.optimisation.operators.IdentityOperator

    +# -*- coding: utf-8 -*-
    +#  Copyright 2019 United Kingdom Research and Innovation
    +#  Copyright 2019 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +from cil.optimisation.operators import LinearOperator
    +import scipy.sparse as sp
    +import numpy as np
    +
    +
    +
    [docs]class IdentityOperator(LinearOperator): + + '''IdentityOperator: Id: X -> Y, Id(x) = x\in Y + + X : gm_domain + Y : gm_range ( Default: Y = X ) + + ''' + + + def __init__(self, domain_geometry, range_geometry=None): + + + if range_geometry is None: + range_geometry = domain_geometry + + super(IdentityOperator, self).__init__(domain_geometry=domain_geometry, + range_geometry=range_geometry) + +
    [docs] def direct(self,x,out=None): + + '''Returns Id(x)''' + + if out is None: + return x.copy() + else: + out.fill(x)
    + +
    [docs] def adjoint(self,x, out=None): + + '''Returns Id(x)''' + + + if out is None: + return x.copy() + else: + out.fill(x)
    + +
    [docs] def calculate_norm(self, **kwargs): + + '''Evaluates operator norm of IdentityOperator''' + + return 1.0
    + + + ########################################################################### + ############### For preconditioning ###################################### + ########################################################################### + def matrix(self): + + return sp.eye(np.prod(self.gm_domain.shape)) + + def sum_abs_row(self): + + return self.gm_range.allocate(1) + + def sum_abs_col(self): + + return self.gm_domain.allocate(1)
    + + +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/MaskOperator.html b/nightly/_modules/cil/optimisation/operators/MaskOperator.html deleted file mode 100644 index a201d1fb33..0000000000 --- a/nightly/_modules/cil/optimisation/operators/MaskOperator.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - cil.optimisation.operators.MaskOperator — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.optimisation.operators.MaskOperator

    -# -*- coding: utf-8 -*-
    -#  Copyright 2020 United Kingdom Research and Innovation
    -#  Copyright 2020 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -import numpy as np
    -
    -from cil.optimisation.operators import DiagonalOperator
    -
    -
    [docs]class MaskOperator(DiagonalOperator): - - r""" MaskOperator - - Parameters - ---------- - mask : DataContainer - Boolean array with the same dimensions as the data to be operated on. - domain_geometry : ImageGeometry - Specifies the geometry of the operator domain. If 'None' will use the mask geometry size and spacing as float32. default = None . - """ - - def __init__(self, mask, domain_geometry=None): - - #if domain_geometry is not specified assume float32 for domain_geometry data type - if domain_geometry is None: - domain_geometry = mask.geometry.copy() - domain_geometry.dtype = np.float32 - - super(MaskOperator, self).__init__(mask, domain_geometry) - self.mask = self.diagonal
    - - - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/MaskOperator/index.html b/nightly/_modules/cil/optimisation/operators/MaskOperator/index.html new file mode 100644 index 0000000000..78201fe3f0 --- /dev/null +++ b/nightly/_modules/cil/optimisation/operators/MaskOperator/index.html @@ -0,0 +1,543 @@ + + + + + + + + + + + cil.optimisation.operators.MaskOperator — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.optimisation.operators.MaskOperator

    +# -*- coding: utf-8 -*-
    +#  Copyright 2020 United Kingdom Research and Innovation
    +#  Copyright 2020 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +import numpy as np
    +
    +from cil.optimisation.operators import DiagonalOperator
    +
    +
    [docs]class MaskOperator(DiagonalOperator): + + r""" MaskOperator + + Parameters + ---------- + mask : DataContainer + Boolean array with the same dimensions as the data to be operated on. + domain_geometry : ImageGeometry + Specifies the geometry of the operator domain. If 'None' will use the mask geometry size and spacing as float32. default = None . + """ + + def __init__(self, mask, domain_geometry=None): + + #if domain_geometry is not specified assume float32 for domain_geometry data type + if domain_geometry is None: + domain_geometry = mask.geometry.copy() + domain_geometry.dtype = np.float32 + + super(MaskOperator, self).__init__(mask, domain_geometry) + self.mask = self.diagonal
    + + + +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/MatrixOperator.html b/nightly/_modules/cil/optimisation/operators/MatrixOperator.html deleted file mode 100644 index a48a573c11..0000000000 --- a/nightly/_modules/cil/optimisation/operators/MatrixOperator.html +++ /dev/null @@ -1,297 +0,0 @@ - - - - - - - - cil.optimisation.operators.MatrixOperator — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.optimisation.operators.MatrixOperator

    -# -*- coding: utf-8 -*-
    -#  Copyright 2019 United Kingdom Research and Innovation
    -#  Copyright 2019 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -import numpy
    -from scipy.sparse.linalg import svds
    -from cil.framework import VectorGeometry
    -from cil.optimisation.operators import LinearOperator
    -
    -
    [docs]class MatrixOperator(LinearOperator): - """ Matrix wrapped into a LinearOperator - - :param: a numpy matrix - - """ - - def __init__(self,A): - '''creator - - :param A: numpy ndarray representing a matrix - ''' - self.A = A - M_A, N_A = self.A.shape - domain_geometry = VectorGeometry(N_A, dtype=A.dtype) - range_geometry = VectorGeometry(M_A, dtype=A.dtype) - self.s1 = None # Largest singular value, initially unknown - super(MatrixOperator, self).__init__(domain_geometry=domain_geometry, - range_geometry=range_geometry) - -
    [docs] def direct(self,x, out=None): - - if out is None: - tmp = self.range_geometry().allocate() - tmp.fill(numpy.dot(self.A,x.as_array())) - return tmp - else: - # Below use of out is not working, see - # https://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html - # numpy.dot(self.A, x.as_array(), out = out.as_array()) - out.fill(numpy.dot(self.A, x.as_array()))
    - -
    [docs] def adjoint(self,x, out=None): - if out is None: - tmp = self.domain_geometry().allocate() - tmp.fill(numpy.dot(self.A.transpose(),x.as_array())) - return tmp - else: - out.fill(numpy.dot(self.A.transpose(),x.as_array()))
    - - def size(self): - return self.A.shape
    - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/MatrixOperator/index.html b/nightly/_modules/cil/optimisation/operators/MatrixOperator/index.html new file mode 100644 index 0000000000..c4b0060b13 --- /dev/null +++ b/nightly/_modules/cil/optimisation/operators/MatrixOperator/index.html @@ -0,0 +1,563 @@ + + + + + + + + + + + cil.optimisation.operators.MatrixOperator — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.optimisation.operators.MatrixOperator

    +# -*- coding: utf-8 -*-
    +#  Copyright 2019 United Kingdom Research and Innovation
    +#  Copyright 2019 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +import numpy
    +from scipy.sparse.linalg import svds
    +from cil.framework import VectorGeometry
    +from cil.optimisation.operators import LinearOperator
    +
    +
    [docs]class MatrixOperator(LinearOperator): + """ Matrix wrapped into a LinearOperator + + :param: a numpy matrix + + """ + + def __init__(self,A): + '''creator + + :param A: numpy ndarray representing a matrix + ''' + self.A = A + M_A, N_A = self.A.shape + domain_geometry = VectorGeometry(N_A, dtype=A.dtype) + range_geometry = VectorGeometry(M_A, dtype=A.dtype) + self.s1 = None # Largest singular value, initially unknown + super(MatrixOperator, self).__init__(domain_geometry=domain_geometry, + range_geometry=range_geometry) + +
    [docs] def direct(self,x, out=None): + + if out is None: + tmp = self.range_geometry().allocate() + tmp.fill(numpy.dot(self.A,x.as_array())) + return tmp + else: + # Below use of out is not working, see + # https://docs.scipy.org/doc/numpy/reference/generated/numpy.dot.html + # numpy.dot(self.A, x.as_array(), out = out.as_array()) + out.fill(numpy.dot(self.A, x.as_array()))
    + +
    [docs] def adjoint(self,x, out=None): + if out is None: + tmp = self.domain_geometry().allocate() + tmp.fill(numpy.dot(self.A.transpose(),x.as_array())) + return tmp + else: + out.fill(numpy.dot(self.A.transpose(),x.as_array()))
    + + def size(self): + return self.A.shape
    + +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/Operator.html b/nightly/_modules/cil/optimisation/operators/Operator/index.html similarity index 76% rename from nightly/_modules/cil/optimisation/operators/Operator.html rename to nightly/_modules/cil/optimisation/operators/Operator/index.html index b50fdf4fa8..107b846021 100644 --- a/nightly/_modules/cil/optimisation/operators/Operator.html +++ b/nightly/_modules/cil/optimisation/operators/Operator/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.operators.Operator — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.operators.Operator

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -217,7 +461,7 @@ 

    Source code for cil.optimisation.operators.Operator

    import logging -
    [docs]class Operator(object): +
    [docs]class Operator(object): """ Operator that maps from a space X -> Y @@ -237,15 +481,15 @@

    Source code for cil.optimisation.operators.Operator

    self._domain_geometry = domain_geometry self._range_geometry = kwargs.get('range_geometry', None) -
    [docs] def is_linear(self): +
    [docs] def is_linear(self): '''Returns if the operator is linear''' return False
    -
    [docs] def direct(self, x, out=None): +
    [docs] def direct(self, x, out=None): '''Returns the application of the Operator on x''' raise NotImplementedError
    -
    [docs] def norm(self, **kwargs): +
    [docs] def norm(self, **kwargs): '''Returns the norm of the Operator. On first call the norm will be calculated using the operator's calculate_norm method. Subsequent calls will return the cached norm. @@ -263,7 +507,7 @@

    Source code for cil.optimisation.operators.Operator

    return self._norm
    -
    [docs] def set_norm(self, norm=None): +
    [docs] def set_norm(self, norm=None): '''Sets the norm of the operator to a custom value. Parameters @@ -289,7 +533,7 @@

    Source code for cil.optimisation.operators.Operator

    self._norm = norm
    -
    [docs] def calculate_norm(self): +
    [docs] def calculate_norm(self): '''Returns the norm of the SumOperator. Note that this gives a NotImplementedError if the SumOperator is not linear.''' if self.is_linear(): @@ -297,11 +541,11 @@

    Source code for cil.optimisation.operators.Operator

    return NotImplementedError
    -
    [docs] def range_geometry(self): +
    [docs] def range_geometry(self): '''Returns the range of the Operator: Y space''' return self._range_geometry
    -
    [docs] def domain_geometry(self): +
    [docs] def domain_geometry(self): '''Returns the domain of the Operator: X space''' return self._domain_geometry
    @@ -341,7 +585,7 @@

    Source code for cil.optimisation.operators.Operator

    return self + (-1) * other
    -
    [docs]class LinearOperator(Operator): +
    [docs]class LinearOperator(Operator): """ Linear operator that maps from a space X <-> Y @@ -358,17 +602,17 @@

    Source code for cil.optimisation.operators.Operator

    def __init__(self, domain_geometry, **kwargs): super(LinearOperator, self).__init__(domain_geometry, **kwargs) -
    [docs] def is_linear(self): +
    [docs] def is_linear(self): '''Returns if the operator is linear''' return True
    -
    [docs] def adjoint(self, x, out=None): +
    [docs] def adjoint(self, x, out=None): '''returns the adjoint/inverse operation only available to linear operators''' raise NotImplementedError
    -
    [docs] @staticmethod +
    [docs] @staticmethod def PowerMethod(operator, max_iteration=10, initial=None, tolerance=1e-5, return_all=False, method='auto'): r"""Power method or Power iteration algorithm @@ -509,12 +753,12 @@

    Source code for cil.optimisation.operators.Operator

    else: return eig_new
    -
    [docs] def calculate_norm(self): +
    [docs] def calculate_norm(self): r""" Returns the norm of the LinearOperator calculated by the PowerMethod with default values. """ return LinearOperator.PowerMethod(self, method="composed_with_adjoint")
    -
    [docs] @staticmethod +
    [docs] @staticmethod def dot_test(operator, domain_init=None, range_init=None, tolerance=1e-6, **kwargs): r'''Does a dot linearity test on the operator Evaluates if the following equivalence holds @@ -571,7 +815,7 @@

    Source code for cil.optimisation.operators.Operator

    return False
    -
    [docs]class ScaledOperator(Operator): +
    [docs]class ScaledOperator(Operator): '''ScaledOperator @@ -611,7 +855,7 @@

    Source code for cil.optimisation.operators.Operator

    self.scalar = scalar self.operator = operator -
    [docs] def direct(self, x, out=None): +
    [docs] def direct(self, x, out=None): '''direct method''' if out is None: tmp = self.operator.direct(x) @@ -621,7 +865,7 @@

    Source code for cil.optimisation.operators.Operator

    self.operator.direct(x, out=out) out *= self.scalar
    -
    [docs] def adjoint(self, x, out=None): +
    [docs] def adjoint(self, x, out=None): '''adjoint method''' if self.operator.is_linear(): if out is None: @@ -634,11 +878,11 @@

    Source code for cil.optimisation.operators.Operator

    else: raise TypeError('Operator is not linear')
    -
    [docs] def norm(self, **kwargs): +
    [docs] def norm(self, **kwargs): '''norm of the operator''' return numpy.abs(self.scalar) * self.operator.norm(**kwargs)
    -
    [docs] def is_linear(self): +
    [docs] def is_linear(self): '''returns a `boolean` indicating whether the operator is linear ''' return self.operator.is_linear()
    @@ -647,7 +891,7 @@

    Source code for cil.optimisation.operators.Operator

    ################ SumOperator ########################################### ############################################################################### -
    [docs]class SumOperator(Operator): +
    [docs]class SumOperator(Operator): """Sums two operators. For example, `SumOperator(left, right).direct(x)` is equivalent to `left.direct(x)+right.direct(x)` @@ -679,7 +923,7 @@

    Source code for cil.optimisation.operators.Operator

    super(SumOperator, self).__init__(domain_geometry=self.operator1.domain_geometry(), range_geometry=self.operator1.range_geometry()) -
    [docs] def direct(self, x, out=None): +
    [docs] def direct(self, x, out=None): r"""Calls the sum operator Parameters @@ -695,7 +939,7 @@

    Source code for cil.optimisation.operators.Operator

    self.operator1.direct(x, out=out) out.add(self.operator2.direct(x), out=out)
    -
    [docs] def adjoint(self, x, out=None): +
    [docs] def adjoint(self, x, out=None): r"""Calls the adjoint of the sum operator Parameters @@ -715,7 +959,7 @@

    Source code for cil.optimisation.operators.Operator

    else: raise ValueError('No adjoint operation with non-linear operators')
    -
    [docs] def is_linear(self): +
    [docs] def is_linear(self): return self.linear_flag
    @@ -724,7 +968,7 @@

    Source code for cil.optimisation.operators.Operator

    ############################################################################### -
    [docs]class CompositionOperator(Operator): +
    [docs]class CompositionOperator(Operator): """Composes one or more operators. For example, `CompositionOperator(left, right).direct(x)` is equivalent to `left.direct(right.direct(x))` @@ -759,7 +1003,7 @@

    Source code for cil.optimisation.operators.Operator

    domain_geometry=self.operators[-1].domain_geometry(), range_geometry=self.operators[0].range_geometry()) -
    [docs] def direct(self, x, out=None): +
    [docs] def direct(self, x, out=None): """Calls the composition operator @@ -815,7 +1059,7 @@

    Source code for cil.optimisation.operators.Operator

    step = operator.direct(step) out.fill(step)
    -
    [docs] def adjoint(self, x, out=None): +
    [docs] def adjoint(self, x, out=None): """Calls the adjoint of the composition operator Parameters @@ -866,43 +1110,65 @@

    Source code for cil.optimisation.operators.Operator

    else: raise ValueError('No adjoint operation with non-linear operators')
    -
    [docs] def is_linear(self): +
    [docs] def is_linear(self): return self.linear_flag
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/SparseFiniteDifferenceOperator.html b/nightly/_modules/cil/optimisation/operators/SparseFiniteDifferenceOperator/index.html similarity index 55% rename from nightly/_modules/cil/optimisation/operators/SparseFiniteDifferenceOperator.html rename to nightly/_modules/cil/optimisation/operators/SparseFiniteDifferenceOperator/index.html index 290cc6ef4e..ce820072e1 100644 --- a/nightly/_modules/cil/optimisation/operators/SparseFiniteDifferenceOperator.html +++ b/nightly/_modules/cil/optimisation/operators/SparseFiniteDifferenceOperator/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.operators.SparseFiniteDifferenceOperator — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.operators.SparseFiniteDifferenceOperator

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -216,7 +460,7 @@ 

    Source code for cil.optimisation.operators.SparseFiniteDifferenceOperatorfrom cil.framework import ImageData from cil.optimisation.operators import Operator -
    [docs]class SparseFiniteDifferenceOperator(Operator): +
    [docs]class SparseFiniteDifferenceOperator(Operator): '''Create Sparse Matrices for the Finite Difference Operator''' @@ -260,7 +504,7 @@

    Source code for cil.optimisation.operators.SparseFiniteDifferenceOperatordef T(self): return self.matrix().T -
    [docs] def direct(self, x): +
    [docs] def direct(self, x): x_asarr = x.as_array() res = np.reshape( self.matrix() * x_asarr.flatten('F'), self.domain_geometry().shape, 'F') @@ -302,37 +546,59 @@

    Source code for cil.optimisation.operators.SparseFiniteDifferenceOperatorprint(cols.as_array())

    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/SymmetrisedGradientOperator.html b/nightly/_modules/cil/optimisation/operators/SymmetrisedGradientOperator/index.html similarity index 57% rename from nightly/_modules/cil/optimisation/operators/SymmetrisedGradientOperator.html rename to nightly/_modules/cil/optimisation/operators/SymmetrisedGradientOperator/index.html index 5ba19a5b81..093a060ed6 100644 --- a/nightly/_modules/cil/optimisation/operators/SymmetrisedGradientOperator.html +++ b/nightly/_modules/cil/optimisation/operators/SymmetrisedGradientOperator/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.operators.SymmetrisedGradientOperator — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.operators.SymmetrisedGradientOperator

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -216,7 +460,7 @@ 

    Source code for cil.optimisation.operators.SymmetrisedGradientOperator

    < from cil.optimisation.operators import FiniteDifferenceOperator -
    [docs]class SymmetrisedGradientOperator(LinearOperator): +
    [docs]class SymmetrisedGradientOperator(LinearOperator): r''' The symmetrised gradient is the operator, :math:`E`, defined by :math:`E: V \rightarrow W` where `V` is `BlockGeometry` and `W` is the range of the Symmetrised Gradient and @@ -280,7 +524,7 @@

    Source code for cil.optimisation.operators.SymmetrisedGradientOperator

    < range_geometry=BlockGeometry(*tmp_gm)) -
    [docs] def direct(self, x, out=None): +
    [docs] def direct(self, x, out=None): r'''Returns :math:`E(v) = 0.5 * ( \nabla v + (\nabla v)^{T} )` @@ -318,7 +562,7 @@

    Source code for cil.optimisation.operators.SymmetrisedGradientOperator

    < out.fill( 0.5 * (out + out1) )
    -
    [docs] def adjoint(self, x, out=None): +
    [docs] def adjoint(self, x, out=None): r'''Returns the adjoint of the symmetrised gradient operator Parameters: @@ -360,37 +604,59 @@

    Source code for cil.optimisation.operators.SymmetrisedGradientOperator

    <
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/ZeroOperator.html b/nightly/_modules/cil/optimisation/operators/ZeroOperator.html deleted file mode 100644 index 0cb5770df1..0000000000 --- a/nightly/_modules/cil/optimisation/operators/ZeroOperator.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - - - cil.optimisation.operators.ZeroOperator — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.optimisation.operators.ZeroOperator

    -# -*- coding: utf-8 -*-
    -#  Copyright 2019 United Kingdom Research and Innovation
    -#  Copyright 2019 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -import numpy as np
    -from cil.framework import ImageData
    -from cil.optimisation.operators import LinearOperator
    -
    -
    [docs]class ZeroOperator(LinearOperator): - - r'''ZeroOperator: O: X -> Y, maps any element of :math:`x\in X` into the zero element :math:`\in Y, O(x) = O_{Y}` - - :param gm_domain: domain of the operator - :param gm_range: range of the operator, default: same as domain - - - Note: - - .. math:: - - O^{*}: Y^{*} -> X^{*} \text{(Adjoint)} - - < O(x), y > = < x, O^{*}(y) > - - ''' - - def __init__(self, domain_geometry, range_geometry=None): - if range_geometry is None: - range_geometry = domain_geometry.clone() - super(ZeroOperator, self).__init__(domain_geometry=domain_geometry, - range_geometry=range_geometry) - - - -
    [docs] def direct(self,x,out=None): - - '''Returns O(x)''' - - - if out is None: - return self.range_geometry().allocate(value=0) - else: - out.fill(self.range_geometry().allocate(value=0))
    - -
    [docs] def adjoint(self,x, out=None): - - '''Returns O^{*}(y)''' - - if out is None: - return self.domain_geometry().allocate(value=0) - else: - out.fill(self.domain_geometry().allocate(value=0))
    - -
    [docs] def calculate_norm(self, **kwargs): - - '''Evaluates operator norm of ZeroOperator''' - - return 0
    - - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/operators/ZeroOperator/index.html b/nightly/_modules/cil/optimisation/operators/ZeroOperator/index.html new file mode 100644 index 0000000000..31bd2251dd --- /dev/null +++ b/nightly/_modules/cil/optimisation/operators/ZeroOperator/index.html @@ -0,0 +1,571 @@ + + + + + + + + + + + cil.optimisation.operators.ZeroOperator — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.optimisation.operators.ZeroOperator

    +# -*- coding: utf-8 -*-
    +#  Copyright 2019 United Kingdom Research and Innovation
    +#  Copyright 2019 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +import numpy as np
    +from cil.framework import ImageData
    +from cil.optimisation.operators import LinearOperator
    +
    +
    [docs]class ZeroOperator(LinearOperator): + + r'''ZeroOperator: O: X -> Y, maps any element of :math:`x\in X` into the zero element :math:`\in Y, O(x) = O_{Y}` + + :param gm_domain: domain of the operator + :param gm_range: range of the operator, default: same as domain + + + Note: + + .. math:: + + O^{*}: Y^{*} -> X^{*} \text{(Adjoint)} + + < O(x), y > = < x, O^{*}(y) > + + ''' + + def __init__(self, domain_geometry, range_geometry=None): + if range_geometry is None: + range_geometry = domain_geometry.clone() + super(ZeroOperator, self).__init__(domain_geometry=domain_geometry, + range_geometry=range_geometry) + + + +
    [docs] def direct(self,x,out=None): + + '''Returns O(x)''' + + + if out is None: + return self.range_geometry().allocate(value=0) + else: + out.fill(self.range_geometry().allocate(value=0))
    + +
    [docs] def adjoint(self,x, out=None): + + '''Returns O^{*}(y)''' + + if out is None: + return self.domain_geometry().allocate(value=0) + else: + out.fill(self.domain_geometry().allocate(value=0))
    + +
    [docs] def calculate_norm(self, **kwargs): + + '''Evaluates operator norm of ZeroOperator''' + + return 0
    + + +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/optimisation/utilities/sampler.html b/nightly/_modules/cil/optimisation/utilities/sampler/index.html similarity index 78% rename from nightly/_modules/cil/optimisation/utilities/sampler.html rename to nightly/_modules/cil/optimisation/utilities/sampler/index.html index 840a7d8b10..62dee7012d 100644 --- a/nightly/_modules/cil/optimisation/utilities/sampler.html +++ b/nightly/_modules/cil/optimisation/utilities/sampler/index.html @@ -1,196 +1,440 @@ + - + + + cil.optimisation.utilities.sampler — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.optimisation.utilities.sampler

     # -*- coding: utf-8 -*-
     #   This work is part of the Core Imaging Library (CIL) developed by CCPi
    @@ -216,7 +460,7 @@ 

    Source code for cil.optimisation.utilities.sampler

    import time import numbers -
    [docs]class Sampler(): +
    [docs]class Sampler(): # TODO: Work out how to make the examples testable """ Initialises a sampler that returns and then increments indices from a sequence defined by a function. @@ -347,7 +591,7 @@

    Source code for cil.optimisation.utilities.sampler

    def current_iter_number(self): return self._iteration_number -
    [docs] def next(self): +
    [docs] def next(self): """ Returns a sample from the list of indices `{0, 1, …, N-1}, where N is the number of indices and increments the sampler. """ @@ -360,7 +604,7 @@

    Source code for cil.optimisation.utilities.sampler

    def __next__(self): return self.next() -
    [docs] def get_samples(self, num_samples): +
    [docs] def get_samples(self, num_samples): """ Generates a list of the first num_samples output by the sampler. Calling this does not increment the sampler index or affect the behaviour of the sampler . @@ -392,7 +636,7 @@

    Source code for cil.optimisation.utilities.sampler

    repres += "Probability weights : {} \n".format(self._prob_weights) return repres -
    [docs] @staticmethod +
    [docs] @staticmethod def sequential(num_indices): """ Instantiates a sampler that outputs sequential indices. @@ -462,7 +706,7 @@

    Source code for cil.optimisation.utilities.sampler

    return row_number + stride*column_number -
    [docs] @staticmethod +
    [docs] @staticmethod def staggered(num_indices, stride): """ Instantiates a sampler which outputs in a staggered order. @@ -512,7 +756,7 @@

    Source code for cil.optimisation.utilities.sampler

    return sampler
    -
    [docs] @staticmethod +
    [docs] @staticmethod def random_with_replacement(num_indices, prob=None, seed=None): """ Instantiates a sampler which outputs an index between 0 - num_indices with a given probability. @@ -557,7 +801,7 @@

    Source code for cil.optimisation.utilities.sampler

    ) return sampler
    -
    [docs] @staticmethod +
    [docs] @staticmethod def random_without_replacement(num_indices, seed=None): """ Instantiates a sampler which outputs an index between 0 - num_indices. Once sampled the index will not be sampled again until all indices have been returned. @@ -591,7 +835,7 @@

    Source code for cil.optimisation.utilities.sampler

    ) return sampler
    -
    [docs] @staticmethod +
    [docs] @staticmethod def from_function(num_indices, function, prob_weights=None): """ Instantiate a sampler that wraps a function for index selection. @@ -742,7 +986,7 @@

    Source code for cil.optimisation.utilities.sampler

    return index -
    [docs] @staticmethod +
    [docs] @staticmethod def herman_meyer(num_indices): """ Instantiates a sampler which outputs in a Herman Meyer order. @@ -809,7 +1053,7 @@

    Source code for cil.optimisation.utilities.sampler

    return sampler
    -
    [docs]class SamplerRandom(Sampler): +
    [docs]class SamplerRandom(Sampler): """ The user is recommended to not instantiate this class directly but instead use one of the static methods in the parent Sampler class that will return instances of different samplers. @@ -884,7 +1128,7 @@

    Source code for cil.optimisation.utilities.sampler

    out = self._sampling_list[location] return out -
    [docs] def get_samples(self, num_samples): +
    [docs] def get_samples(self, num_samples): """ Generates a list of the first num_samples output by the sampler. Calling this does not increment the sampler index or affect the behaviour of the sampler . @@ -919,37 +1163,59 @@

    Source code for cil.optimisation.utilities.sampler

    return repres
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/plugins/TomoPhantom.html b/nightly/_modules/cil/plugins/TomoPhantom/index.html similarity index 63% rename from nightly/_modules/cil/plugins/TomoPhantom.html rename to nightly/_modules/cil/plugins/TomoPhantom/index.html index 8769235999..9509ee2455 100644 --- a/nightly/_modules/cil/plugins/TomoPhantom.html +++ b/nightly/_modules/cil/plugins/TomoPhantom/index.html @@ -1,196 +1,440 @@ + - + + + cil.plugins.TomoPhantom — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.plugins.TomoPhantom

     # -*- coding: utf-8 -*-
     #  Copyright 2021 United Kingdom Research and Innovation
    @@ -308,7 +552,7 @@ 

    Source code for cil.plugins.TomoPhantom

         else:
             raise ValueError('Unsupported dimensionality. Expected 2 or 3, got {}'.format(dims))
     
    -
    [docs]def get_ImageData(num_model, geometry): +
    [docs]def get_ImageData(num_model, geometry): '''Returns an ImageData relative to geometry with the model num_model from tomophantom :param num_model: model number @@ -390,37 +634,59 @@

    Source code for cil.plugins.TomoPhantom

         return im_data
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/plugins/astra/operators/ProjectionOperator.html b/nightly/_modules/cil/plugins/astra/operators/ProjectionOperator.html deleted file mode 100644 index cb7e8c6acd..0000000000 --- a/nightly/_modules/cil/plugins/astra/operators/ProjectionOperator.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - - - - cil.plugins.astra.operators.ProjectionOperator — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.plugins.astra.operators.ProjectionOperator

    -# -*- coding: utf-8 -*-
    -#  Copyright 2020 United Kingdom Research and Innovation
    -#  Copyright 2020 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.framework import DataOrder
    -from cil.optimisation.operators import LinearOperator, ChannelwiseOperator
    -from cil.framework.BlockGeometry import BlockGeometry
    -from cil.optimisation.operators import BlockOperator
    -from cil.plugins.astra.operators import AstraProjector3D
    -from cil.plugins.astra.operators import AstraProjector2D
    -import logging
    -
    -
    -
    [docs]class ProjectionOperator(LinearOperator): - """ - ProjectionOperator configures and calls appropriate ASTRA Projectors for your dataset. - - Parameters - ---------- - - image_geometry : ``ImageGeometry``, default used if None - A description of the area/volume to reconstruct - - acquisition_geometry : ``AcquisitionGeometry``, ``BlockGeometry`` - A description of the acquisition data. If passed a BlockGeometry it will return a BlockOperator. - - device : string, default='gpu' - 'gpu' will run on a compatible CUDA capable device using the ASTRA 3D CUDA Projectors, 'cpu' will run on CPU using the ASTRA 2D CPU Projectors - - Example - ------- - >>> from cil.plugins.astra import ProjectionOperator - >>> PO = ProjectionOperator(image.geometry, data.geometry) - >>> forward_projection = PO.direct(image) - >>> backward_projection = PO.adjoint(data) - - Notes - ----- - For multichannel data the ProjectionOperator will broadcast across all channels. - """ - def __new__(cls, image_geometry=None, acquisition_geometry=None, \ - device='gpu', **kwargs): - if isinstance(acquisition_geometry, BlockGeometry): - logging.info("BlockOperator is returned.") - - K = [] - for ag in acquisition_geometry: - K.append( - ProjectionOperator_ag(image_geometry=image_geometry, acquisition_geometry=ag, \ - device=device, **kwargs) - ) - return BlockOperator(*K) - else: - logging.info("Standard Operator is returned.") - return super(ProjectionOperator, - cls).__new__(ProjectionOperator_ag)
    - - -class ProjectionOperator_ag(ProjectionOperator): - """ - ProjectionOperator configures and calls appropriate ASTRA Projectors for your dataset. - - Parameters - ---------- - - image_geometry : ImageGeometry, default used if None - A description of the area/volume to reconstruct - - acquisition_geometry : AcquisitionGeometry - A description of the acquisition data - - device : string, default='gpu' - 'gpu' will run on a compatible CUDA capable device using the ASTRA 3D CUDA Projectors, 'cpu' will run on CPU using the ASTRA 2D CPU Projectors - - Example - ------- - >>> from cil.plugins.astra import ProjectionOperator - >>> PO = ProjectionOperator(image.geometry, data.geometry) - >>> forward_projection = PO.direct(image) - >>> backward_projection = PO.adjoint(data) - - Notes - ----- - For multichannel data the ProjectionOperator will broadcast across all channels. - """ - - def __init__(self, - image_geometry=None, - acquisition_geometry=None, - device='gpu'): - - if acquisition_geometry is None: - raise TypeError( - "Please specify an acquisition_geometry to configure this operator" - ) - - if image_geometry is None: - image_geometry = acquisition_geometry.get_ImageGeometry() - - super(ProjectionOperator_ag, - self).__init__(domain_geometry=image_geometry, - range_geometry=acquisition_geometry) - - DataOrder.check_order_for_engine('astra', image_geometry) - DataOrder.check_order_for_engine('astra', acquisition_geometry) - - self.volume_geometry = image_geometry - self.sinogram_geometry = acquisition_geometry - - sinogram_geometry_sc = acquisition_geometry.get_slice(channel=0) - volume_geometry_sc = image_geometry.get_slice(channel=0) - - if device == 'gpu': - operator = AstraProjector3D(volume_geometry_sc, - sinogram_geometry_sc) - elif self.sinogram_geometry.dimension == '2D': - operator = AstraProjector2D(volume_geometry_sc, - sinogram_geometry_sc, - device=device) - else: - raise NotImplementedError("Cannot process 3D data without a GPU") - - if acquisition_geometry.channels > 1: - operator_full = ChannelwiseOperator( - operator, self.sinogram_geometry.channels, dimension='prepend') - self.operator = operator_full - else: - self.operator = operator - - def direct(self, IM, out=None): - '''Applies the direct of the operator i.e. the forward projection. - - Parameters - ---------- - IM : ImageData - The image/volume to be projected. - - out : DataContainer, optional - Fills the referenced DataContainer with the processed data and suppresses the return - - Returns - ------- - DataContainer - The processed data. Suppressed if `out` is passed - ''' - - return self.operator.direct(IM, out=out) - - def adjoint(self, DATA, out=None): - '''Applies the adjoint of the operator, i.e. the backward projection. - - Parameters - ---------- - DATA : AcquisitionData - The projections/sinograms to be projected. - - out : DataContainer, optional - Fills the referenced DataContainer with the processed data and suppresses the return - - Returns - ------- - DataContainer - The processed data. Suppressed if `out` is passed - ''' - return self.operator.adjoint(DATA, out=out) - - def calculate_norm(self): - return self.operator.norm() - - def domain_geometry(self): - return self.volume_geometry - - def range_geometry(self): - return self.sinogram_geometry -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/plugins/astra/processors/FBP.html b/nightly/_modules/cil/plugins/astra/processors/FBP.html deleted file mode 100644 index ca29fa747b..0000000000 --- a/nightly/_modules/cil/plugins/astra/processors/FBP.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - - cil.plugins.astra.processors.FBP — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.plugins.astra.processors.FBP

    -# -*- coding: utf-8 -*-
    -#  Copyright 2019 United Kingdom Research and Innovation
    -#  Copyright 2019 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.framework import DataProcessor
    -from cil.framework import DataOrder
    -from cil.plugins.astra.processors.FBP_Flexible import FBP_Flexible
    -from cil.plugins.astra.processors.FDK_Flexible import FDK_Flexible
    -from cil.plugins.astra.processors.FBP_Flexible import FBP_CPU
    -import logging
    -
    -
    [docs]class FBP(DataProcessor): - - """ - FBP configures and calls an appropriate ASTRA FBP or FDK algorithm for your dataset. - - The best results will be on data with circular trajectories of a 2PI angular range and equally spaced small angular steps. - - Parameters - ---------- - image_geometry : ImageGeometry, default used if None - A description of the area/volume to reconstruct - - acquisition_geometry : AcquisitionGeometry - A description of the acquisition data - - device : string, default='gpu' - 'gpu' will run on a compatible CUDA capable device using the ASTRA FDK_CUDA algorithm - 'cpu' will run on CPU using the ASTRA FBP algorithm - see Notes for limitations - - - Example - ------- - >>> from cil.plugins.astra import FBP - >>> fbp = FBP(image_geometry, data.geometry) - >>> fbp.set_input(data) - >>> reconstruction = fbp.get_ouput() - - - Notes - ----- - A CPU version is provided for simple 2D parallel-beam geometries only, any offsets and rotations in the acquisition geometry will be ignored. - - This uses the ram-lak filter only. - - """ - - - def __init__(self, image_geometry=None, acquisition_geometry=None, device='gpu', **kwargs): - - - sinogram_geometry = kwargs.get('sinogram_geometry', None) - volume_geometry = kwargs.get('volume_geometry', None) - - if sinogram_geometry is not None: - acquisition_geometry = sinogram_geometry - logging.warning("sinogram_geometry has been deprecated. Please use acquisition_geometry instead.") - - if acquisition_geometry is None: - raise TypeError("Please specify an acquisition_geometry to configure this processor") - - if volume_geometry is not None: - image_geometry = volume_geometry - logging.warning("volume_geometry has been deprecated. Please use image_geometry instead.") - - if image_geometry is None: - image_geometry = acquisition_geometry.get_ImageGeometry() - - DataOrder.check_order_for_engine('astra', image_geometry) - DataOrder.check_order_for_engine('astra', acquisition_geometry) - - if device == 'gpu': - if acquisition_geometry.geom_type == 'parallel': - processor = FBP_Flexible(image_geometry, acquisition_geometry) - else: - processor = FDK_Flexible(image_geometry, acquisition_geometry) - - else: - UserWarning("ASTRA back-projector running on CPU will not make use of enhanced geometry parameters") - - if acquisition_geometry.geom_type == 'cone': - raise NotImplementedError("Cannot process cone-beam data without a GPU") - - if acquisition_geometry.dimension == '2D': - processor = FBP_CPU(image_geometry, acquisition_geometry) - else: - raise NotImplementedError("Cannot process 3D data without a GPU") - - if acquisition_geometry.channels > 1: - raise NotImplementedError("Cannot process multi-channel data") - #processor_full = ChannelwiseProcessor(processor, self.acquisition_geometry.channels, dimension='prepend') - #self.processor = operator_full - - super(FBP, self).__init__( image_geometry=image_geometry, acquisition_geometry=acquisition_geometry, device=device, processor=processor) - -
    [docs] def set_input(self, dataset): - return self.processor.set_input(dataset)
    - - def get_input(self): - return self.processor.get_input() - -
    [docs] def get_output(self, out=None): - return self.processor.get_output(out=out)
    - - def check_input(self, dataset): - return self.processor.check_input(dataset) - - def process(self, out=None): - return self.processor.process(out=out)
    -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/plugins/ccpi_regularisation/functions/regularisers.html b/nightly/_modules/cil/plugins/ccpi_regularisation/functions/regularisers/index.html similarity index 73% rename from nightly/_modules/cil/plugins/ccpi_regularisation/functions/regularisers.html rename to nightly/_modules/cil/plugins/ccpi_regularisation/functions/regularisers/index.html index 5e728009e8..3a46071114 100644 --- a/nightly/_modules/cil/plugins/ccpi_regularisation/functions/regularisers.html +++ b/nightly/_modules/cil/plugins/ccpi_regularisation/functions/regularisers/index.html @@ -1,196 +1,440 @@ + - + + + cil.plugins.ccpi_regularisation.functions.regularisers — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

     # -*- coding: utf-8 -*-
     #  Copyright 2020 United Kingdom Research and Innovation
    @@ -325,7 +569,7 @@ 

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < return 0.0 -
    [docs]class FGP_TV(TV_Base): +
    [docs]class FGP_TV(TV_Base): r""" Fast Gradient Projection Total Variation (FGP_TV) @@ -467,9 +711,9 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < if len(input.shape) > 3: raise ValueError('{} cannot work on more than 3D. Got {}'.format(self.__class__.__name__, input.geometry.length))
    -
    [docs]class TGV(RegulariserFunction): +
    [docs]class TGV(RegulariserFunction): -
    [docs] def __init__(self, alpha=1, gamma=1, max_iteration=100, tolerance=0, device='cpu' , **kwargs): +
    [docs] def __init__(self, alpha=1, gamma=1, max_iteration=100, tolerance=0, device='cpu' , **kwargs): '''Creator of Total Generalised Variation Function :param alpha: regularisation parameter @@ -495,7 +739,7 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < # raise ValueError('iter_TGV parameter has been superseded by num_iter. Use that instead.') self.num_iter = kwargs.get('iter_TGV')
    -
    [docs] def __call__(self,x): +
    [docs] def __call__(self,x): warnings.warn("{}: the __call__ method is not implemented. Returning NaN.".format(self.__class__.__name__)) return np.nan
    @property @@ -527,11 +771,11 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < # Stopping Criteria || u^k - u^(k-1) ||_{2} / || u^{k} ||_{2} return res, info -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): warnings.warn("{}: the convex_conjugate method is not implemented. Returning NaN.".format(self.__class__.__name__)) return np.nan
    -
    [docs] def __rmul__(self, scalar): +
    [docs] def __rmul__(self, scalar): '''Define the multiplication with a scalar this changes the regularisation parameter in the plugin''' @@ -553,7 +797,7 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < raise ValueError('{} cannot work on more than 3D. Got {}'.format(self.__class__.__name__, input.geometry.length))
    -
    [docs]class FGP_dTV(RegulariserFunction): +
    [docs]class FGP_dTV(RegulariserFunction): '''Creator of FGP_dTV Function :param reference: reference image @@ -573,7 +817,7 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < :param device: determines if the code runs on CPU or GPU :type device: string, default 'cpu', can be 'gpu' if GPU is installed ''' -
    [docs] def __init__(self, reference, alpha=1, max_iteration=100, +
    [docs] def __init__(self, reference, alpha=1, max_iteration=100, tolerance=0, eta=0.01, isotropic=True, nonnegativity=True, device='cpu'): if isotropic == True: @@ -593,7 +837,7 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < self.reference = np.asarray(reference.as_array(), dtype=np.float32) self.eta = eta
    -
    [docs] def __call__(self,x): +
    [docs] def __call__(self,x): warnings.warn("{}: the __call__ method is not implemented. Returning NaN.".format(self.__class__.__name__)) return np.nan
    @@ -610,11 +854,11 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < self.device) return res, info -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): warnings.warn("{}: the convex_conjugate method is not implemented. Returning NaN.".format(self.__class__.__name__)) return np.nan
    -
    [docs] def __rmul__(self, scalar): +
    [docs] def __rmul__(self, scalar): '''Define the multiplication with a scalar this changes the regularisation parameter in the plugin''' @@ -628,9 +872,9 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < if len(input.shape) > 3: raise ValueError('{} cannot work on more than 3D. Got {}'.format(self.__class__.__name__, input.geometry.length))
    -
    [docs]class TNV(RegulariserFunction): +
    [docs]class TNV(RegulariserFunction): -
    [docs] def __init__(self,alpha=1, max_iteration=100, tolerance=0): +
    [docs] def __init__(self,alpha=1, max_iteration=100, tolerance=0): '''Creator of TNV Function :param alpha: regularisation parameter @@ -645,7 +889,7 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < self.max_iteration = max_iteration self.tolerance = tolerance
    -
    [docs] def __call__(self,x): +
    [docs] def __call__(self,x): warnings.warn("{}: the __call__ method is not implemented. Returning NaN.".format(self.__class__.__name__)) return np.nan
    @@ -659,11 +903,11 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < self.tolerance) return res, [] -
    [docs] def convex_conjugate(self, x): +
    [docs] def convex_conjugate(self, x): warnings.warn("{}: the convex_conjugate method is not implemented. Returning NaN.".format(self.__class__.__name__)) return np.nan
    -
    [docs] def __rmul__(self, scalar): +
    [docs] def __rmul__(self, scalar): '''Define the multiplication with a scalar this changes the regularisation parameter in the plugin''' @@ -673,7 +917,7 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    < self.alpha *= scalar return self
    -
    [docs] def check_input(self, input): +
    [docs] def check_input(self, input): '''TNV requires 2D+channel data with the first dimension as the channel dimension''' if isinstance(input, DataContainer): DataOrder.check_order_for_engine('cil', input.geometry) @@ -688,37 +932,59 @@

    Source code for cil.plugins.ccpi_regularisation.functions.regularisers

    <
    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/plugins/tigre/FBP.html b/nightly/_modules/cil/plugins/tigre/FBP.html deleted file mode 100644 index 47e17b6b31..0000000000 --- a/nightly/_modules/cil/plugins/tigre/FBP.html +++ /dev/null @@ -1,348 +0,0 @@ - - - - - - - - cil.plugins.tigre.FBP — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.plugins.tigre.FBP

    -# -*- coding: utf-8 -*-
    -#  Copyright 2021 United Kingdom Research and Innovation
    -#  Copyright 2021 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.framework import DataProcessor, ImageData
    -from cil.framework import DataOrder
    -from cil.plugins.tigre import CIL2TIGREGeometry
    -import logging
    -import numpy as np
    -
    -try:
    -    from tigre.algorithms import fdk, fbp
    -except ModuleNotFoundError:
    -    raise ModuleNotFoundError("This plugin requires the additional package TIGRE\n" +
    -            "Please install it via conda as tigre from the ccpi channel")
    -
    -
    [docs]class FBP(DataProcessor): - - '''FBP Filtered Back Projection is a reconstructor for 2D and 3D parallel and cone-beam geometries. - It is able to back-project circular trajectories with 2 PI angular range and equally spaced angular steps. - - This uses the ram-lak filter - This is provided for simple and offset parallel-beam geometries only - - acquisition_geometry : AcquisitionGeometry - A description of the acquisition data - - image_geometry : ImageGeometry, default used if None - A description of the area/volume to reconstruct - - Example - ------- - >>> from cil.plugins.tigre import FBP - >>> fbp = FBP(image_geometry, data.geometry) - >>> fbp.set_input(data) - >>> reconstruction = fbp.get_ouput() - - ''' - - def __init__(self, image_geometry=None, acquisition_geometry=None, **kwargs): - - - sinogram_geometry = kwargs.get('sinogram_geometry', None) - volume_geometry = kwargs.get('volume_geometry', None) - - if sinogram_geometry is not None: - acquisition_geometry = sinogram_geometry - logging.warning("sinogram_geometry has been deprecated. Please use acquisition_geometry instead.") - - if acquisition_geometry is None: - raise TypeError("Please specify an acquisition_geometry to configure this processor") - - if volume_geometry is not None: - image_geometry = volume_geometry - logging.warning("volume_geometry has been deprecated. Please use image_geometry instead.") - - if image_geometry is None: - image_geometry = acquisition_geometry.get_ImageGeometry() - - device = kwargs.get('device', 'gpu') - if device != 'gpu': - raise ValueError("TIGRE FBP is GPU only. Got device = {}".format(device)) - - DataOrder.check_order_for_engine('tigre', image_geometry) - DataOrder.check_order_for_engine('tigre', acquisition_geometry) - - tigre_geom, tigre_angles = CIL2TIGREGeometry.getTIGREGeometry(image_geometry,acquisition_geometry) - - super(FBP, self).__init__( image_geometry = image_geometry, acquisition_geometry = acquisition_geometry,\ - tigre_geom=tigre_geom, tigre_angles=tigre_angles) - - - def check_input(self, dataset): - - if self.acquisition_geometry.channels != 1: - raise ValueError("Expected input data to be single channel, got {0}"\ - .format(self.acquisition_geometry.channels)) - - DataOrder.check_order_for_engine('tigre', dataset.geometry) - return True - - def process(self, out=None): - - if self.tigre_geom.is2D: - data_temp = np.expand_dims(self.get_input().as_array(), axis=1) - - if self.acquisition_geometry.geom_type == 'cone': - arr_out = fdk(data_temp, self.tigre_geom, self.tigre_angles) - else: - arr_out = fbp(data_temp, self.tigre_geom, self.tigre_angles) - arr_out = np.squeeze(arr_out, axis=0) - else: - if self.acquisition_geometry.geom_type == 'cone': - arr_out = fdk(self.get_input().as_array(), self.tigre_geom, self.tigre_angles) - else: - arr_out = fbp(self.get_input().as_array(), self.tigre_geom, self.tigre_angles) - - if out is None: - out = ImageData(arr_out, deep_copy=False, geometry=self.image_geometry.copy(), suppress_warning=True) - return out - else: - out.fill(arr_out)
    - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/plugins/tigre/ProjectionOperator.html b/nightly/_modules/cil/plugins/tigre/ProjectionOperator.html deleted file mode 100644 index 544f680042..0000000000 --- a/nightly/_modules/cil/plugins/tigre/ProjectionOperator.html +++ /dev/null @@ -1,487 +0,0 @@ - - - - - - - - cil.plugins.tigre.ProjectionOperator — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.plugins.tigre.ProjectionOperator

    -# -*- coding: utf-8 -*-
    -#  Copyright 2021 United Kingdom Research and Innovation
    -#  Copyright 2021 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.framework import ImageData, AcquisitionData, AcquisitionGeometry
    -from cil.framework import DataOrder
    -from cil.framework.BlockGeometry import BlockGeometry
    -from cil.optimisation.operators import BlockOperator
    -from cil.optimisation.operators import LinearOperator
    -from cil.plugins.tigre import CIL2TIGREGeometry
    -import numpy as np
    -import logging
    -
    -try:
    -    from _Atb import _Atb_ext as Atb
    -    from _Ax import _Ax_ext as Ax
    -
    -except ModuleNotFoundError:
    -    raise ModuleNotFoundError(
    -        "This plugin requires the additional package TIGRE\n" +
    -        "Please install it via conda as tigre from the ccpi channel")
    -
    -try:
    -    from tigre.utilities.gpu import GpuIds
    -    has_gpu_sel = True
    -except ModuleNotFoundError:
    -    has_gpu_sel = False
    -
    -
    -
    [docs]class ProjectionOperator(LinearOperator): - """ - ProjectionOperator configures and calls TIGRE Projectors for your dataset. - - Please refer to the TIGRE documentation for futher descriptions - https://github.com/CERN/TIGRE - https://iopscience.iop.org/article/10.1088/2057-1976/2/5/055010 - - - Parameters - ---------- - - image_geometry : `ImageGeometry`, default used if None - A description of the area/volume to reconstruct - - acquisition_geometry :`AcquisitionGeometry`, `BlockGeometry` - A description of the acquisition data. If passed a BlockGeometry it will return a BlockOperator. - - direct_method : str, default 'interpolated' - The method used by the forward projector, 'Siddon' for ray-voxel intersection, 'interpolated' for interpolated projection - - adjoint_weights : str, default 'matched' - The weighting method used by the cone-beam backward projector, 'matched' for weights to approximately match the 'interpolated' forward projector, 'FDK' for FDK weights - - Example - ------- - >>> from cil.plugins.tigre import ProjectionOperator - >>> PO = ProjectionOperator(image.geometry, data.geometry) - >>> forward_projection = PO.direct(image) - >>> backward_projection = PO.adjoint(data) - - """ - def __new__(cls, image_geometry=None, acquisition_geometry=None, \ - direct_method='interpolated',adjoint_weights='matched', **kwargs): - if isinstance(acquisition_geometry, BlockGeometry): - logging.info("BlockOperator is returned.") - - K = [] - for ag in acquisition_geometry: - K.append( - ProjectionOperator_ag(image_geometry=image_geometry, acquisition_geometry=ag, \ - direct_method=direct_method, adjoint_weights=adjoint_weights, **kwargs) - ) - return BlockOperator(*K) - else: - logging.info("Standard Operator is returned.") - return super(ProjectionOperator, - cls).__new__(ProjectionOperator_ag)
    - - -class ProjectionOperator_ag(ProjectionOperator): - '''TIGRE Projection Operator''' - - def __init__(self, - image_geometry=None, - acquisition_geometry=None, - direct_method='interpolated', - adjoint_weights='matched', - **kwargs): - """ - ProjectionOperator configures and calls TIGRE Projectors for your dataset. - - Please refer to the TIGRE documentation for futher descriptions - https://github.com/CERN/TIGRE - https://iopscience.iop.org/article/10.1088/2057-1976/2/5/055010 - - - Parameters - ---------- - - image_geometry : ImageGeometry, default used if None - A description of the area/volume to reconstruct - - acquisition_geometry : AcquisitionGeometry - A description of the acquisition data - - direct_method : str, default 'interpolated' - The method used by the forward projector, 'Siddon' for ray-voxel intersection, 'interpolated' for interpolated projection - - adjoint_weights : str, default 'matched' - The weighting method used by the cone-beam backward projector, 'matched' for weights to approximately match the 'interpolated' forward projector, 'FDK' for FDK weights - - Example - ------- - >>> from cil.plugins.tigre import ProjectionOperator - >>> PO = ProjectionOperator(image.geometry, data.geometry) - >>> forward_projection = PO.direct(image) - >>> backward_projection = PO.adjoint(data) - - """ - - acquisition_geometry_old = kwargs.get('aquisition_geometry', None) - - if acquisition_geometry_old is not None: - acquisition_geometry = acquisition_geometry_old - logging.warning( - "aquisition_geometry has been deprecated. Please use acquisition_geometry instead." - ) - - if acquisition_geometry is None: - raise TypeError( - "Please specify an acquisition_geometry to configure this operator" - ) - - if image_geometry == None: - image_geometry = acquisition_geometry.get_ImageGeometry() - - device = kwargs.get('device', 'gpu') - if device != 'gpu': - raise ValueError( - "TIGRE projectors are GPU only. Got device = {}".format( - device)) - - DataOrder.check_order_for_engine('tigre', image_geometry) - DataOrder.check_order_for_engine('tigre', acquisition_geometry) - - super(ProjectionOperator,self).__init__(domain_geometry=image_geometry,\ - range_geometry=acquisition_geometry) - - if direct_method not in ['interpolated', 'Siddon']: - raise ValueError( - "direct_method expected 'interpolated' or 'Siddon' got {}". - format(direct_method)) - - if adjoint_weights not in ['matched', 'FDK']: - raise ValueError( - "adjoint_weights expected 'matched' or 'FDK' got {}".format( - adjoint_weights)) - - self.method = {'direct': direct_method, 'adjoint': adjoint_weights} - - #set up TIGRE geometry - tigre_geom, tigre_angles = CIL2TIGREGeometry.getTIGREGeometry( - image_geometry, acquisition_geometry) - - tigre_geom.check_geo(tigre_angles) - tigre_geom.cast_to_single() - self.tigre_geom = tigre_geom - - #set up TIGRE GPU targets (from 2.2) - if has_gpu_sel: - self.gpuids = GpuIds() - - def __call_Ax(self, data): - if has_gpu_sel: - return Ax(data, self.tigre_geom, self.tigre_geom.angles, - self.method['direct'], self.tigre_geom.mode, self.gpuids) - else: - return Ax(data, self.tigre_geom, self.tigre_geom.angles, - self.method['direct'], self.tigre_geom.mode) - - def direct(self, x, out=None): - - data = x.as_array() - - if self.tigre_geom.is2D: - data_temp = np.expand_dims(data, axis=0) - arr_out = self.__call_Ax(data_temp) - arr_out = np.squeeze(arr_out, axis=1) - else: - arr_out = self.__call_Ax(data) - - #if single angle projection remove the dimension for CIL - if arr_out.shape[0] == 1: - arr_out = np.squeeze(arr_out, axis=0) - - if out is None: - out = AcquisitionData(arr_out, - deep_copy=False, - geometry=self._range_geometry.copy(), - suppress_warning=True) - return out - else: - out.fill(arr_out) - - def __call_Atb(self, data): - if has_gpu_sel: - return Atb(data, self.tigre_geom, self.tigre_geom.angles, - self.method['adjoint'], self.tigre_geom.mode, - self.gpuids) - else: - return Atb(data, self.tigre_geom, self.tigre_geom.angles, - self.method['adjoint'], self.tigre_geom.mode) - - def adjoint(self, x, out=None): - - data = x.as_array() - - #if single angle projection add the dimension in for TIGRE - if x.dimension_labels[0] != AcquisitionGeometry.ANGLE: - data = np.expand_dims(data, axis=0) - - if self.tigre_geom.is2D: - data = np.expand_dims(data, axis=1) - arr_out = self.__call_Atb(data) - arr_out = np.squeeze(arr_out, axis=0) - else: - arr_out = self.__call_Atb(data) - - if out is None: - out = ImageData(arr_out, - deep_copy=False, - geometry=self._domain_geometry.copy(), - suppress_warning=True) - return out - else: - out.fill(arr_out) - - def domain_geometry(self): - return self._domain_geometry - - def range_geometry(self): - return self._range_geometry -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/processors/AbsorptionTransmissionConverter.html b/nightly/_modules/cil/processors/AbsorptionTransmissionConverter.html deleted file mode 100644 index fa60474270..0000000000 --- a/nightly/_modules/cil/processors/AbsorptionTransmissionConverter.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - cil.processors.AbsorptionTransmissionConverter — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.processors.AbsorptionTransmissionConverter

    -# -*- coding: utf-8 -*-
    -#  Copyright 2021 United Kingdom Research and Innovation
    -#  Copyright 2021 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -
    -from cil.framework import DataProcessor, AcquisitionData, ImageData, DataContainer, AcquisitionGeometry, ImageGeometry
    -import warnings
    -import numpy
    -
    -
    -
    [docs]class AbsorptionTransmissionConverter(DataProcessor): - - '''Processor to convert from absorption measurements to transmission - - :param white_level: A float defining incidence intensity in the Beer-Lambert law. - :type white_level: float, optional - :return: returns AcquisitionData, ImageData or DataContainer depending on input data type - :rtype: AcquisitionData, ImageData or DataContainer - - Processor first multiplies data by -1, then calculates exponent - and scales result by white_level (default=1) - ''' - - def __init__(self, - white_level=1): - - kwargs = {'white_level': white_level} - - super(AbsorptionTransmissionConverter, self).__init__(**kwargs) - - def check_input(self, data): - - if not (issubclass(type(data), DataContainer)): - raise TypeError('Processor supports only following data types:\n' + - ' - ImageData\n - AcquisitionData\n' + - ' - DataContainer') - return True - - def process(self, out=None): - - data = self.get_input() - if out is None: - out = data.multiply(-1.0) - else: - data.multiply(-1.0, out=out) - - out.exp(out=out) - out.multiply(numpy.float32(self.white_level), out=out) - return out
    -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/processors/AbsorptionTransmissionConverter/index.html b/nightly/_modules/cil/processors/AbsorptionTransmissionConverter/index.html new file mode 100644 index 0000000000..d6efb5a588 --- /dev/null +++ b/nightly/_modules/cil/processors/AbsorptionTransmissionConverter/index.html @@ -0,0 +1,560 @@ + + + + + + + + + + + cil.processors.AbsorptionTransmissionConverter — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.processors.AbsorptionTransmissionConverter

    +# -*- coding: utf-8 -*-
    +#  Copyright 2021 United Kingdom Research and Innovation
    +#  Copyright 2021 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +
    +from cil.framework import DataProcessor, AcquisitionData, ImageData, DataContainer, AcquisitionGeometry, ImageGeometry
    +import warnings
    +import numpy
    +
    +
    +
    [docs]class AbsorptionTransmissionConverter(DataProcessor): + + '''Processor to convert from absorption measurements to transmission + + :param white_level: A float defining incidence intensity in the Beer-Lambert law. + :type white_level: float, optional + :return: returns AcquisitionData, ImageData or DataContainer depending on input data type + :rtype: AcquisitionData, ImageData or DataContainer + + Processor first multiplies data by -1, then calculates exponent + and scales result by white_level (default=1) + ''' + + def __init__(self, + white_level=1): + + kwargs = {'white_level': white_level} + + super(AbsorptionTransmissionConverter, self).__init__(**kwargs) + + def check_input(self, data): + + if not (issubclass(type(data), DataContainer)): + raise TypeError('Processor supports only following data types:\n' + + ' - ImageData\n - AcquisitionData\n' + + ' - DataContainer') + return True + + def process(self, out=None): + + data = self.get_input() + if out is None: + out = data.multiply(-1.0) + else: + data.multiply(-1.0, out=out) + + out.exp(out=out) + out.multiply(numpy.float32(self.white_level), out=out) + return out
    +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/processors/Binner.html b/nightly/_modules/cil/processors/Binner/index.html similarity index 59% rename from nightly/_modules/cil/processors/Binner.html rename to nightly/_modules/cil/processors/Binner/index.html index 5d643574eb..0aadab16e3 100644 --- a/nightly/_modules/cil/processors/Binner.html +++ b/nightly/_modules/cil/processors/Binner/index.html @@ -1,196 +1,440 @@ + - + + + cil.processors.Binner — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.processors.Binner

     # -*- coding: utf-8 -*-
     #  Copyright 2021 United Kingdom Research and Innovation
    @@ -224,7 +468,7 @@ 

    Source code for cil.processors.Binner

     # so Binner has been implemented as a child of Slicer. This makes use
     # of commonality and redefines only the methods that differ. These methods
     # dictate the style of slicer
    -
    [docs]class Binner(Slicer): +
    [docs]class Binner(Slicer): """This creates a Binner processor. @@ -381,37 +625,59 @@

    Source code for cil.processors.Binner

     
     
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/processors/CentreOfRotationCorrector.html b/nightly/_modules/cil/processors/CentreOfRotationCorrector.html deleted file mode 100644 index ffa9bf4844..0000000000 --- a/nightly/_modules/cil/processors/CentreOfRotationCorrector.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - - - cil.processors.CentreOfRotationCorrector — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.processors.CentreOfRotationCorrector

    -# -*- coding: utf-8 -*-
    -#  Copyright 2020 United Kingdom Research and Innovation
    -#  Copyright 2020 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.framework import DataProcessor
    -from cil.processors.CofR_xcorrelation import CofR_xcorrelation
    -from cil.processors.CofR_image_sharpness import CofR_image_sharpness
    -
    -
    -
    [docs]class CentreOfRotationCorrector(DataProcessor): - """ - This class contains methods to create a CentreOfRotationCorrector processor using the desired algorithm. - """ - -
    [docs] @staticmethod - def xcorrelation(slice_index='centre', projection_index=0, ang_tol=0.1): - r'''This creates a CentreOfRotationCorrector processor using the cross-correlation algorithm. - - For use on parallel-beam geometry it requires two projections 180 degree apart. - - Parameters - ---------- - - slice_index : int, str='centre', default='centre' - An integer defining the vertical slice to run the algorithm on. - - projection_index : int - An integer defining the first projection the algorithm will use. The second projection at 180 degrees will be located automatically. - - ang_tol : float, default=0.1 - The angular tolerance in degrees between the two input projections 180 degree gap - - Example - ------- - >>> from cil.processors import CentreOfRotationCorrector - >>> processor = CentreOfRotationCorrector.xcorrelation('centre') - >>> processor.set_input(data) - >>> data_centred = processor.get_ouput() - - Example - ------- - >>> from cil.processors import CentreOfRotationCorrector - >>> processor = CentreOfRotationCorrector.xcorrelation(slice_index=120) - >>> processor.set_input(data) - >>> processor.get_ouput(out=data) - - - Example - ------- - >>> from cil.processors import CentreOfRotationCorrector - >>> import logging - >>> logging.basicConfig(level=logging.WARNING) - >>> cil_log_level = logging.getLogger('cil.processors') - >>> cil_log_level.setLevel(logging.DEBUG) - - >>> processor = CentreOfRotationCorrector.xcorrelation(slice_index=120) - >>> processor.set_input(data) - >>> data_centred = processor.get_ouput() - - - Note - ---- - setting logging to 'debug' will give you more information about the algorithm progress - - - - ''' - processor = CofR_xcorrelation(slice_index, projection_index, ang_tol) - return processor
    - - -
    [docs] @staticmethod - def image_sharpness(slice_index='centre', backend='tigre', tolerance=0.005, search_range=None, initial_binning=None, **kwargs): - """This creates a CentreOfRotationCorrector processor. - - The processor will find the centre offset by maximising the sharpness of a reconstructed slice. - - Can be used on single slice parallel-beam, and centre slice cone beam geometry. For use only with datasets that can be reconstructed with FBP/FDK. - - Parameters - ---------- - - slice_index : int, str, default='centre' - An integer defining the vertical slice to run the algorithm on. The special case slice 'centre' is the default. - - backend : {'tigre', 'astra'} - The backend to use for the reconstruction - - tolerance : float, default=0.005 - The tolerance of the fit in pixels, the default is 1/200 of a pixel. This is a stopping criteria, not a statement of accuracy of the algorithm. - - search_range : int - The range in pixels to search either side of the panel centre. If `None` a quarter of the width of the panel is used. - - initial_binning : int - The size of the bins for the initial search. If `None` will bin the image to a step corresponding to <128 pixels. The fine search will be on unbinned data. - - Other Parameters - ---------------- - **kwargs : dict - FBP : The FBP class to use as the backend imported from `cil.plugins.[backend].FBP` - This has been deprecated please use 'backend' instead - - - Example - ------- - from cil.processors import CentreOfRotationCorrector - - processor = CentreOfRotationCorrector.image_sharpness('centre', 'tigre') - processor.set_input(data) - data_centred = processor.get_output() - - - Example - ------- - from cil.processors import CentreOfRotationCorrector - - processor = CentreOfRotationCorrector.image_sharpness(slice_index=120, 'astra') - processor.set_input(data) - processor.get_output(out=data) - - - Note - ---- - For best results data should be 360deg which leads to blurring with incorrect geometry. - This method is unreliable on half-scan data with 'tuning-fork' style artifacts. - - """ - processor = CofR_image_sharpness(slice_index=slice_index, backend=backend, tolerance=tolerance, search_range=search_range, initial_binning=initial_binning, **kwargs) - return processor
    -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/processors/CentreOfRotationCorrector/index.html b/nightly/_modules/cil/processors/CentreOfRotationCorrector/index.html new file mode 100644 index 0000000000..7931b9e5e6 --- /dev/null +++ b/nightly/_modules/cil/processors/CentreOfRotationCorrector/index.html @@ -0,0 +1,640 @@ + + + + + + + + + + + cil.processors.CentreOfRotationCorrector — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.processors.CentreOfRotationCorrector

    +# -*- coding: utf-8 -*-
    +#  Copyright 2020 United Kingdom Research and Innovation
    +#  Copyright 2020 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +from cil.framework import DataProcessor
    +from cil.processors.CofR_xcorrelation import CofR_xcorrelation
    +from cil.processors.CofR_image_sharpness import CofR_image_sharpness
    +
    +
    +
    [docs]class CentreOfRotationCorrector(DataProcessor): + """ + This class contains methods to create a CentreOfRotationCorrector processor using the desired algorithm. + """ + +
    [docs] @staticmethod + def xcorrelation(slice_index='centre', projection_index=0, ang_tol=0.1): + r'''This creates a CentreOfRotationCorrector processor using the cross-correlation algorithm. + + For use on parallel-beam geometry it requires two projections 180 degree apart. + + Parameters + ---------- + + slice_index : int, str='centre', default='centre' + An integer defining the vertical slice to run the algorithm on. + + projection_index : int + An integer defining the first projection the algorithm will use. The second projection at 180 degrees will be located automatically. + + ang_tol : float, default=0.1 + The angular tolerance in degrees between the two input projections 180 degree gap + + Example + ------- + >>> from cil.processors import CentreOfRotationCorrector + >>> processor = CentreOfRotationCorrector.xcorrelation('centre') + >>> processor.set_input(data) + >>> data_centred = processor.get_ouput() + + Example + ------- + >>> from cil.processors import CentreOfRotationCorrector + >>> processor = CentreOfRotationCorrector.xcorrelation(slice_index=120) + >>> processor.set_input(data) + >>> processor.get_ouput(out=data) + + + Example + ------- + >>> from cil.processors import CentreOfRotationCorrector + >>> import logging + >>> logging.basicConfig(level=logging.WARNING) + >>> cil_log_level = logging.getLogger('cil.processors') + >>> cil_log_level.setLevel(logging.DEBUG) + + >>> processor = CentreOfRotationCorrector.xcorrelation(slice_index=120) + >>> processor.set_input(data) + >>> data_centred = processor.get_ouput() + + + Note + ---- + setting logging to 'debug' will give you more information about the algorithm progress + + + + ''' + processor = CofR_xcorrelation(slice_index, projection_index, ang_tol) + return processor
    + + +
    [docs] @staticmethod + def image_sharpness(slice_index='centre', backend='tigre', tolerance=0.005, search_range=None, initial_binning=None, **kwargs): + """This creates a CentreOfRotationCorrector processor. + + The processor will find the centre offset by maximising the sharpness of a reconstructed slice. + + Can be used on single slice parallel-beam, and centre slice cone beam geometry. For use only with datasets that can be reconstructed with FBP/FDK. + + Parameters + ---------- + + slice_index : int, str, default='centre' + An integer defining the vertical slice to run the algorithm on. The special case slice 'centre' is the default. + + backend : {'tigre', 'astra'} + The backend to use for the reconstruction + + tolerance : float, default=0.005 + The tolerance of the fit in pixels, the default is 1/200 of a pixel. This is a stopping criteria, not a statement of accuracy of the algorithm. + + search_range : int + The range in pixels to search either side of the panel centre. If `None` a quarter of the width of the panel is used. + + initial_binning : int + The size of the bins for the initial search. If `None` will bin the image to a step corresponding to <128 pixels. The fine search will be on unbinned data. + + Other Parameters + ---------------- + **kwargs : dict + FBP : The FBP class to use as the backend imported from `cil.plugins.[backend].FBP` - This has been deprecated please use 'backend' instead + + + Example + ------- + from cil.processors import CentreOfRotationCorrector + + processor = CentreOfRotationCorrector.image_sharpness('centre', 'tigre') + processor.set_input(data) + data_centred = processor.get_output() + + + Example + ------- + from cil.processors import CentreOfRotationCorrector + + processor = CentreOfRotationCorrector.image_sharpness(slice_index=120, 'astra') + processor.set_input(data) + processor.get_output(out=data) + + + Note + ---- + For best results data should be 360deg which leads to blurring with incorrect geometry. + This method is unreliable on half-scan data with 'tuning-fork' style artifacts. + + """ + processor = CofR_image_sharpness(slice_index=slice_index, backend=backend, tolerance=tolerance, search_range=search_range, initial_binning=initial_binning, **kwargs) + return processor
    +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/processors/MaskGenerator.html b/nightly/_modules/cil/processors/MaskGenerator/index.html similarity index 79% rename from nightly/_modules/cil/processors/MaskGenerator.html rename to nightly/_modules/cil/processors/MaskGenerator/index.html index 077f6d8522..ec3d3ffe3c 100644 --- a/nightly/_modules/cil/processors/MaskGenerator.html +++ b/nightly/_modules/cil/processors/MaskGenerator/index.html @@ -1,196 +1,440 @@ + - + + + cil.processors.MaskGenerator — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.processors.MaskGenerator

     # -*- coding: utf-8 -*-
     #  Copyright 2021 United Kingdom Research and Innovation
    @@ -216,12 +460,12 @@ 

    Source code for cil.processors.MaskGenerator

    import numpy
     from scipy import special, ndimage
     
    -
    [docs]class MaskGenerator(DataProcessor): +
    [docs]class MaskGenerator(DataProcessor): r''' Processor to detect outliers and return a mask with 0 where outliers were detected, and 1 for other pixels. Please use the desiried method to configure a processor for your needs. ''' -
    [docs] @staticmethod +
    [docs] @staticmethod def special_values(nan=True, inf=True): r'''This creates a MaskGenerator processor which generates a mask for inf and/or nan values. @@ -244,7 +488,7 @@

    Source code for cil.processors.MaskGenerator

    return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def threshold(min_val=None, max_val=None): r'''This creates a MaskGenerator processor which generates a mask for values outside boundaries @@ -256,7 +500,7 @@

    Source code for cil.processors.MaskGenerator

    processor = MaskGenerator(mode='threshold', threshold_value=(min_val,max_val))
             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def quantile(min_quantile=None, max_quantile=None): r'''This creates a MaskGenerator processor which generates a mask for values outside boundaries @@ -268,7 +512,7 @@

    Source code for cil.processors.MaskGenerator

    processor = MaskGenerator(mode='quantile', quantiles=(min_quantile,max_quantile))
             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def mean(axis=None, threshold_factor=3, window=None): r'''This creates a MaskGenerator processor which generates a mask for values outside a multiple of standard-devaiations from the mean. @@ -288,7 +532,7 @@

    Source code for cil.processors.MaskGenerator

    return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def median(axis=None, threshold_factor=3, window=None): r'''This creates a MaskGenerator processor which generates a mask for values outside a multiple of median absolute deviation (MAD) from the mean. @@ -594,37 +838,59 @@

    Source code for cil.processors.MaskGenerator

    return (lower_val, upper_val)
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/processors/Masker.html b/nightly/_modules/cil/processors/Masker/index.html similarity index 70% rename from nightly/_modules/cil/processors/Masker.html rename to nightly/_modules/cil/processors/Masker/index.html index ed7b065628..ba84bb9dd2 100644 --- a/nightly/_modules/cil/processors/Masker.html +++ b/nightly/_modules/cil/processors/Masker/index.html @@ -1,196 +1,440 @@ + - + + + cil.processors.Masker — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.processors.Masker

     # -*- coding: utf-8 -*-
     #  Copyright 2021 United Kingdom Research and Innovation
    @@ -216,12 +460,12 @@ 

    Source code for cil.processors.Masker

     import numpy
     from scipy import interpolate
     
    -
    [docs]class Masker(DataProcessor): +
    [docs]class Masker(DataProcessor): r''' Processor to fill missing values provided by mask. Please use the desiried method to configure a processor for your needs. ''' -
    [docs] @staticmethod +
    [docs] @staticmethod def value(mask=None, value=0): r'''This sets the masked values of the input data to the requested value. @@ -235,7 +479,7 @@

    Source code for cil.processors.Masker

     
             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def mean(mask=None, axis=None): r'''This sets the masked values of the input data to the mean of the unmasked values across the array or axis. @@ -249,7 +493,7 @@

    Source code for cil.processors.Masker

     
             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def median(mask=None, axis=None): r'''This sets the masked values of the input data to the median of the unmasked values across the array or axis. @@ -263,7 +507,7 @@

    Source code for cil.processors.Masker

     
             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def interpolate(mask=None, axis=None, method='linear'): r'''This operates over the specified axis and uses 1D interpolation over remaining flattened array to fill in missing vaues. @@ -450,37 +694,59 @@

    Source code for cil.processors.Masker

                 return out
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/processors/Normaliser.html b/nightly/_modules/cil/processors/Normaliser/index.html similarity index 56% rename from nightly/_modules/cil/processors/Normaliser.html rename to nightly/_modules/cil/processors/Normaliser/index.html index 9035391943..05d3419923 100644 --- a/nightly/_modules/cil/processors/Normaliser.html +++ b/nightly/_modules/cil/processors/Normaliser/index.html @@ -1,196 +1,440 @@ + - + + + cil.processors.Normaliser — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + - - + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.processors.Normaliser

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -215,7 +459,7 @@ 

    Source code for cil.processors.Normaliser

      AcquisitionGeometry, ImageGeometry, ImageData
     import numpy
     
    -
    [docs]class Normaliser(Processor): +
    [docs]class Normaliser(Processor): '''Normalisation based on flat and dark This processor read in a AcquisitionData and normalises it based on @@ -277,7 +521,7 @@

    Source code for cil.processors.Normaliser

                 c[ ~ numpy.isfinite( c )] = tolerance # set to not zero if 0/0 
             return c
         
    -
    [docs] @staticmethod +
    [docs] @staticmethod def estimate_normalised_error(projection, flat, dark, delta_flat, delta_dark): '''returns the estimated relative error of the normalised projection @@ -318,37 +562,59 @@

    Source code for cil.processors.Normaliser

         
     
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/processors/Padder.html b/nightly/_modules/cil/processors/Padder/index.html similarity index 82% rename from nightly/_modules/cil/processors/Padder.html rename to nightly/_modules/cil/processors/Padder/index.html index 710b93d4a2..6b8015ad8f 100644 --- a/nightly/_modules/cil/processors/Padder.html +++ b/nightly/_modules/cil/processors/Padder/index.html @@ -1,196 +1,440 @@ + - + + + cil.processors.Padder — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.processors.Padder

     # -*- coding: utf-8 -*-
     #  Copyright 2021 United Kingdom Research and Innovation
    @@ -218,7 +462,7 @@ 

    Source code for cil.processors.Padder

     import numpy as np
     import weakref
     
    -
    [docs]class Padder(DataProcessor): +
    [docs]class Padder(DataProcessor): """ Processor to pad an array with a border, wrapping numpy.pad. See https://numpy.org/doc/stable/reference/generated/numpy.pad.html @@ -286,7 +530,7 @@

    Source code for cil.processors.Padder

         """
     
     
    -
    [docs] @staticmethod +
    [docs] @staticmethod def constant(pad_width=None, constant_values=0.0): """ Padder processor wrapping numpy.pad with mode `constant`. @@ -338,7 +582,7 @@

    Source code for cil.processors.Padder

             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def edge(pad_width=None): """ Padder processor wrapping numpy.pad with mode `edge`. @@ -380,7 +624,7 @@

    Source code for cil.processors.Padder

             processor = Padder(pad_width=pad_width, mode='edge')
             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def linear_ramp(pad_width=None, end_values=0.0): """Padder processor wrapping numpy.pad with mode `linear_ramp` @@ -431,7 +675,7 @@

    Source code for cil.processors.Padder

             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def reflect(pad_width=None): """ Padder processor wrapping numpy.pad with mode `reflect`. @@ -473,7 +717,7 @@

    Source code for cil.processors.Padder

             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def symmetric(pad_width=None): """ Padder processor wrapping numpy.pad with mode `symmetric`. @@ -517,7 +761,7 @@

    Source code for cil.processors.Padder

             return processor
    -
    [docs] @staticmethod +
    [docs] @staticmethod def wrap(pad_width=None): """ Padder processor wrapping numpy.pad with mode `wrap`. @@ -583,7 +827,7 @@

    Source code for cil.processors.Padder

             super(Padder, self).__init__(**kwargs)
     
     
    -
    [docs] def set_input(self, dataset): +
    [docs] def set_input(self, dataset): """ Set the input data to the processor @@ -863,37 +1107,59 @@

    Source code for cil.processors.Padder

                 out.array = self._process_data(data)
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/processors/RingRemover.html b/nightly/_modules/cil/processors/RingRemover/index.html similarity index 65% rename from nightly/_modules/cil/processors/RingRemover.html rename to nightly/_modules/cil/processors/RingRemover/index.html index af0aa950e7..2d5aa319b3 100644 --- a/nightly/_modules/cil/processors/RingRemover.html +++ b/nightly/_modules/cil/processors/RingRemover/index.html @@ -1,196 +1,440 @@ + - + + + cil.processors.RingRemover — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.processors.RingRemover

     # -*- coding: utf-8 -*-
     #  Copyright 2020 United Kingdom Research and Innovation
    @@ -216,7 +460,7 @@ 

    Source code for cil.processors.RingRemover

     import pywt
     from cil.framework import Processor, ImageData, AcquisitionData
     
    -
    [docs]class RingRemover(Processor): +
    [docs]class RingRemover(Processor): ''' RingRemover Processor: Removes vertical stripes from a DataContainer(ImageData/AcquisitionData) @@ -394,37 +638,59 @@

    Source code for cil.processors.RingRemover

             return nima
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/processors/Slicer.html b/nightly/_modules/cil/processors/Slicer/index.html similarity index 79% rename from nightly/_modules/cil/processors/Slicer.html rename to nightly/_modules/cil/processors/Slicer/index.html index 204451c7dc..906d164027 100644 --- a/nightly/_modules/cil/processors/Slicer.html +++ b/nightly/_modules/cil/processors/Slicer/index.html @@ -1,196 +1,440 @@ + - + + + cil.processors.Slicer — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.processors.Slicer

     # -*- coding: utf-8 -*-
     #  Copyright 2021 United Kingdom Research and Innovation
    @@ -221,7 +465,7 @@ 

    Source code for cil.processors.Slicer

     # so Binner has been implemented as a child of Slicer.  This makes use
     # of commonality and redefines only the methods that differ. These methods
     # dictate the style of slicer
    -
    [docs]class Slicer(DataProcessor): +
    [docs]class Slicer(DataProcessor): """This creates a Slicer processor. @@ -298,7 +542,7 @@

    Source code for cil.processors.Slicer

             super(Slicer, self).__init__(**kwargs)
         
     
    -
    [docs] def set_input(self, dataset): +
    [docs] def set_input(self, dataset): """ Set the input data or geometry to the processor @@ -569,7 +813,7 @@

    Source code for cil.processors.Slicer

             arr_in = dc_in.array.reshape(self._shape_in)
             dc_out.fill(np.squeeze(arr_in[slice_obj]))
     
    -
    [docs] def process(self, out=None): +
    [docs] def process(self, out=None): """ Processes the input data @@ -623,37 +867,59 @@

    Source code for cil.processors.Slicer

                 return data_out
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/processors/TransmissionAbsorptionConverter.html b/nightly/_modules/cil/processors/TransmissionAbsorptionConverter.html deleted file mode 100644 index 6e18665b8e..0000000000 --- a/nightly/_modules/cil/processors/TransmissionAbsorptionConverter.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - - cil.processors.TransmissionAbsorptionConverter — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.processors.TransmissionAbsorptionConverter

    -# -*- coding: utf-8 -*-
    -#  Copyright 2021 United Kingdom Research and Innovation
    -#  Copyright 2021 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.framework import DataProcessor, AcquisitionData, ImageData, DataContainer
    -import warnings
    -import numpy
    -
    -
    -
    [docs]class TransmissionAbsorptionConverter(DataProcessor): - - r'''Processor to convert from transmission measurements to absorption - based on the Beer-Lambert law - - :param white_level: A float defining incidence intensity in the Beer-Lambert law. - :type white_level: float, optional - :param min_intensity: A float defining some threshold to avoid 0 in log, is applied after normalisation by white_level - :type min_intensity: float, optional - :return: returns AcquisitionData, ImageData or DataContainer depending on input data type, return is suppressed if 'out' is passed - :rtype: AcquisitionData, ImageData or DataContainer - - Processor first divides by white_level (default=1) and then take negative logarithm. - Elements below threshold (after division by white_level) are set to threshold. - ''' - - def __init__(self, - min_intensity = 0.0, - white_level = 1.0 - ): - - kwargs = {'min_intensity': min_intensity, - 'white_level': white_level} - - super(TransmissionAbsorptionConverter, self).__init__(**kwargs) - - def check_input(self, data): - - if not (issubclass(type(data), DataContainer)): - raise TypeError('Processor supports only following data types:\n' + - ' - ImageData\n - AcquisitionData\n' + - ' - DataContainer') - - if data.min() <= 0 and self.min_intensity <= 0: - raise ValueError('Zero or negative values found in the dataset. Please use `min_intensity` to provide a clipping value.') - - return True - - def process(self, out=None): - - data = self.get_input() - - return_val = False - if out is None: - out = data.geometry.allocate(None) - return_val = True - - arr_in = data.as_array() - arr_out = out.as_array() - - #whitelevel - if self.white_level != 1: - numpy.divide(arr_in, self.white_level, out=arr_out) - arr_in = arr_out - - #threshold - if self.min_intensity > 0: - numpy.clip(arr_in, self.min_intensity, None, out=arr_out) - arr_in = arr_out - - #beer-lambert - numpy.log(arr_in,out=arr_out) - numpy.negative(arr_out,out=arr_out) - - out.fill(arr_out) - - if return_val: - return out
    -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/processors/TransmissionAbsorptionConverter/index.html b/nightly/_modules/cil/processors/TransmissionAbsorptionConverter/index.html new file mode 100644 index 0000000000..890c98fd8c --- /dev/null +++ b/nightly/_modules/cil/processors/TransmissionAbsorptionConverter/index.html @@ -0,0 +1,588 @@ + + + + + + + + + + + cil.processors.TransmissionAbsorptionConverter — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.processors.TransmissionAbsorptionConverter

    +# -*- coding: utf-8 -*-
    +#  Copyright 2021 United Kingdom Research and Innovation
    +#  Copyright 2021 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +from cil.framework import DataProcessor, AcquisitionData, ImageData, DataContainer
    +import warnings
    +import numpy
    +
    +
    +
    [docs]class TransmissionAbsorptionConverter(DataProcessor): + + r'''Processor to convert from transmission measurements to absorption + based on the Beer-Lambert law + + :param white_level: A float defining incidence intensity in the Beer-Lambert law. + :type white_level: float, optional + :param min_intensity: A float defining some threshold to avoid 0 in log, is applied after normalisation by white_level + :type min_intensity: float, optional + :return: returns AcquisitionData, ImageData or DataContainer depending on input data type, return is suppressed if 'out' is passed + :rtype: AcquisitionData, ImageData or DataContainer + + Processor first divides by white_level (default=1) and then take negative logarithm. + Elements below threshold (after division by white_level) are set to threshold. + ''' + + def __init__(self, + min_intensity = 0.0, + white_level = 1.0 + ): + + kwargs = {'min_intensity': min_intensity, + 'white_level': white_level} + + super(TransmissionAbsorptionConverter, self).__init__(**kwargs) + + def check_input(self, data): + + if not (issubclass(type(data), DataContainer)): + raise TypeError('Processor supports only following data types:\n' + + ' - ImageData\n - AcquisitionData\n' + + ' - DataContainer') + + if data.min() <= 0 and self.min_intensity <= 0: + raise ValueError('Zero or negative values found in the dataset. Please use `min_intensity` to provide a clipping value.') + + return True + + def process(self, out=None): + + data = self.get_input() + + return_val = False + if out is None: + out = data.geometry.allocate(None) + return_val = True + + arr_in = data.as_array() + arr_out = out.as_array() + + #whitelevel + if self.white_level != 1: + numpy.divide(arr_in, self.white_level, out=arr_out) + arr_in = arr_out + + #threshold + if self.min_intensity > 0: + numpy.clip(arr_in, self.min_intensity, None, out=arr_out) + arr_in = arr_out + + #beer-lambert + numpy.log(arr_in,out=arr_out) + numpy.negative(arr_out,out=arr_out) + + out.fill(arr_out) + + if return_val: + return out
    +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/cil/recon/FBP.html b/nightly/_modules/cil/recon/FBP/index.html similarity index 83% rename from nightly/_modules/cil/recon/FBP.html rename to nightly/_modules/cil/recon/FBP/index.html index b8c99f7f10..aa93df61e6 100644 --- a/nightly/_modules/cil/recon/FBP.html +++ b/nightly/_modules/cil/recon/FBP/index.html @@ -1,196 +1,440 @@ + - + + + cil.recon.FBP — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.recon.FBP

     # -*- coding: utf-8 -*-
     #  Copyright 2021 United Kingdom Research and Innovation
    @@ -511,7 +755,7 @@ 

    Source code for cil.recon.FBP

             NotImplementedError
     
     
    -
    [docs]class FDK(GenericFilteredBackProjection): +
    [docs]class FDK(GenericFilteredBackProjection): """ Creates an FDK reconstructor based on your cone-beam acquisition data using TIGRE as a backend. @@ -560,7 +804,7 @@

    Source code for cil.recon.FBP

             self._weights = scaling * principal_ray_length / np.sqrt((principal_ray_length ** 2 + xx ** 2 + yy ** 2))
     
     
    -
    [docs] def run(self, out=None, verbose=1): +
    [docs] def run(self, out=None, verbose=1): """ Runs the configured FDK recon and returns the reconstruction. @@ -610,7 +854,7 @@

    Source code for cil.recon.FBP

     
             return repres   
    -
    [docs]class FBP(GenericFilteredBackProjection): +
    [docs]class FBP(GenericFilteredBackProjection): """ Creates an FBP reconstructor based on your parallel-beam acquisition data. @@ -658,7 +902,7 @@

    Source code for cil.recon.FBP

                 raise TypeError("This reconstructor is for parallel-beam data only.")
     
     
    -
    [docs] def set_split_processing(self, slices_per_chunk=0): +
    [docs] def set_split_processing(self, slices_per_chunk=0): """ Splits the processing in to chunks. Default, 0 will process the data in a single call. @@ -716,7 +960,7 @@

    Source code for cil.recon.FBP

             return self.operator.adjoint(self.data_slice).array
     
     
    -
    [docs] def run(self, out=None, verbose=1): +
    [docs] def run(self, out=None, verbose=1): """ Runs the configured FBP recon and returns the reconstruction @@ -816,7 +1060,7 @@

    Source code for cil.recon.FBP

                     operator.adjoint(proj_filtered, out = out)
    -
    [docs] def reset(self): +
    [docs] def reset(self): """ Resets all optional configuration parameters to their default values """ @@ -850,37 +1094,59 @@

    Source code for cil.recon.FBP

     
     
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/utilities/dataexample.html b/nightly/_modules/cil/utilities/dataexample/index.html similarity index 80% rename from nightly/_modules/cil/utilities/dataexample.html rename to nightly/_modules/cil/utilities/dataexample/index.html index 8b52cd58c6..a0b868f595 100644 --- a/nightly/_modules/cil/utilities/dataexample.html +++ b/nightly/_modules/cil/utilities/dataexample/index.html @@ -1,196 +1,440 @@ + - + + + cil.utilities.dataexample — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.utilities.dataexample

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -268,8 +512,8 @@ 

    Source code for cil.utilities.dataexample

         @classmethod
         def dfile(cls):
             return TestData.RAINBOW
    -
    [docs]class SYNCHROTRON_PARALLEL_BEAM_DATA(DATA): -
    [docs] @classmethod +
    [docs]class SYNCHROTRON_PARALLEL_BEAM_DATA(DATA): +
    [docs] @classmethod def get(cls, **kwargs): ''' A DLS dataset @@ -289,8 +533,8 @@

    Source code for cil.utilities.dataexample

             loader = NEXUSDataReader()
             loader.set_up(file_name=os.path.join(os.path.abspath(ddir), '24737_fd_normalised.nxs'))
             return loader.read()
    -
    [docs]class SIMULATED_PARALLEL_BEAM_DATA(DATA): -
    [docs] @classmethod +
    [docs]class SIMULATED_PARALLEL_BEAM_DATA(DATA): +
    [docs] @classmethod def get(cls, **kwargs): ''' A simulated parallel-beam dataset generated from SIMULATED_SPHERE_VOLUME @@ -310,8 +554,8 @@

    Source code for cil.utilities.dataexample

             loader = NEXUSDataReader()
             loader.set_up(file_name=os.path.join(os.path.abspath(ddir), 'sim_parallel_beam.nxs'))
             return loader.read()
    -
    [docs]class SIMULATED_CONE_BEAM_DATA(DATA): -
    [docs] @classmethod +
    [docs]class SIMULATED_CONE_BEAM_DATA(DATA): +
    [docs] @classmethod def get(cls, **kwargs): ''' A cone-beam dataset generated from SIMULATED_SPHERE_VOLUME @@ -353,7 +597,7 @@

    Source code for cil.utilities.dataexample

             loader.set_up(file_name=os.path.join(os.path.abspath(ddir), 'sim_volume.nxs'))
             return loader.read()
     
    -
    [docs]class TestData(object): +
    [docs]class TestData(object): '''Class to return test data provides 6 dataset: @@ -376,7 +620,7 @@

    Source code for cil.utilities.dataexample

         def __init__(self, **kwargs):
             self.data_dir = kwargs.get('data_dir', data_dir)
             
    -
    [docs] def load(self, which, size=None, scale=(0,1), **kwargs): +
    [docs] def load(self, which, size=None, scale=(0,1), **kwargs): ''' Return a test data of the requested image @@ -470,7 +714,7 @@

    Source code for cil.utilities.dataexample

             # print ("data.geometry", data.geometry)
             return data
    -
    [docs] @staticmethod +
    [docs] @staticmethod def random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs): '''Function to add noise to input image @@ -491,7 +735,7 @@

    Source code for cil.utilities.dataexample

                 return TestData.scikit_random_noise(image, mode=mode, seed=seed, clip=clip, 
                        **kwargs)
    -
    [docs] @staticmethod +
    [docs] @staticmethod def scikit_random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs): """ Function to add random noise of various types to a floating-point image. @@ -704,37 +948,59 @@

    Source code for cil.utilities.dataexample

             return out
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/utilities/display.html b/nightly/_modules/cil/utilities/display/index.html similarity index 92% rename from nightly/_modules/cil/utilities/display.html rename to nightly/_modules/cil/utilities/display/index.html index a794ea6d8c..f9107c2097 100644 --- a/nightly/_modules/cil/utilities/display.html +++ b/nightly/_modules/cil/utilities/display/index.html @@ -1,196 +1,440 @@ + - + + + cil.utilities.display — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    Source code for cil.utilities.display

     # -*- coding: utf-8 -*-
     #  Copyright 2019 United Kingdom Research and Innovation
    @@ -296,7 +540,7 @@ 

    Source code for cil.utilities.display

                 print("Unable to save image")
     
     
    -
    [docs]class show1D(show_base): +
    [docs]class show1D(show_base): """ This creates and displays 1D plots of pixel values by slicing multi-dimensional data. @@ -575,7 +819,7 @@

    Source code for cil.utilities.display

             return fig2
    -
    [docs]class show2D(show_base): +
    [docs]class show2D(show_base): '''This plots 2D slices from cil DataContainer types. Plots 1 or more 2D plots in an (n x num_cols) matrix. @@ -1214,7 +1458,7 @@

    Source code for cil.utilities.display

             self.handles.append(h0)
             self.labels.append(h0.get_label())
     
    -
    [docs]class show_geometry(show_base): +
    [docs]class show_geometry(show_base): ''' Displays a schematic of the acquisition geometry for 2D geometries elevation and azimuthal cannot be changed @@ -1256,37 +1500,59 @@

    Source code for cil.utilities.display

             self.figure = self.display.draw(elev=elevation, azim=azimuthal, view_distance=view_distance, grid=grid, figsize=figsize, fontsize=fontsize)
    -
    +
    - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_modules/cil/utilities/jupyter.html b/nightly/_modules/cil/utilities/jupyter.html deleted file mode 100644 index 5571f385a9..0000000000 --- a/nightly/_modules/cil/utilities/jupyter.html +++ /dev/null @@ -1,589 +0,0 @@ - - - - - - - - cil.utilities.jupyter — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.utilities.jupyter

    -# -*- coding: utf-8 -*-
    -#  Copyright 2019 United Kingdom Research and Innovation
    -#  Copyright 2019 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -# Kyle Pidgeon (UKRI-STFC)
    -
    -try:
    -    from ipywidgets import interactive_output
    -    import ipywidgets as widgets
    -except ImportError as ie:
    -    raise ImportError(ie , "\n\n", 
    -                      "islicer requires the additional package ipywidgets\n" +
    -                      "Please install it via conda as ipywidgets from the conda-forge channel\n")
    -
    -from packaging import version
    -if version.parse(widgets.__version__) >= version.parse('8'):
    -    raise ImportError(f'{__name__} requires ipywidgets version < 8,'
    -                      + f' found version {widgets.__version__}')
    -
    -import matplotlib.pyplot as plt
    -from matplotlib import gridspec
    -import numpy
    -
    -from IPython.display import HTML, display
    -import random
    -from cil.utilities.display import set_origin
    -
    -
    -def display_slice(container, clim, direction, title, cmap, size, axis_labels, origin):
    -
    -
    -    def get_slice_3D(x, minmax, roi_hdir, roi_vdir, equal_aspect):
    -
    -        if direction == 0:
    -            img = container[x]
    -            x_label = axis_labels[2]
    -            y_label = axis_labels[1]
    -
    -        elif direction == 1:
    -            img = container[:,x,:]
    -            x_label = axis_labels[2]
    -            y_label = axis_labels[0]
    -
    -        elif direction == 2:
    -            img = container[:,:,x]
    -            x_label = axis_labels[1]
    -            y_label = axis_labels[0]
    -
    -        if size is None:
    -            fig = plt.figure()
    -        else:
    -            fig = plt.figure(figsize=size)
    -
    -        dtitle = ''
    -        if isinstance(title, (list, tuple)):
    -            dtitle = title[x]
    -        else:
    -            dtitle = title
    -
    -        gs = gridspec.GridSpec(1, 2, figure=fig, width_ratios=(1,.05), height_ratios=(1,))
    -        # image
    -        ax = fig.add_subplot(gs[0, 0])
    -        img, data_origin, _ = set_origin(img, origin)
    -
    -        aspect = 'equal'
    -        if not equal_aspect:
    -            aspect = (roi_hdir[1] - roi_hdir[0]) / (roi_vdir[1] - roi_vdir[0])
    -
    -        if 'right' in origin:
    -            roi_hdir = roi_hdir[1], roi_hdir[0]
    -        if 'upper' in origin:
    -            roi_vdir = roi_vdir[1], roi_vdir[0]
    -
    -        aximg = ax.imshow(img, cmap=cmap, origin=data_origin, aspect=aspect)
    -        cmin = clim[0] + (minmax[0] / 100)*(clim[1]-clim[0])
    -        cmax = clim[0] + (minmax[1] / 100)*(clim[1]-clim[0])
    -        aximg.set_clim((cmin, cmax))
    -        ax.set_xlim(*roi_hdir)
    -        ax.set_ylim(*roi_vdir)
    -        ax.set_xlabel(x_label)
    -        ax.set_ylabel(y_label)
    -        ax.set_title(f'{dtitle} {x}')
    -        # colorbar
    -        ax = fig.add_subplot(gs[0, 1])
    -        plt.colorbar(aximg, cax=ax)
    -        plt.tight_layout()
    -        plt.show(fig)
    -
    -    return get_slice_3D
    -
    -
    -
    [docs]def islicer(data, direction=0, title=None, slice_number=None, cmap='gray', - minmax=None, size=None, axis_labels=None, origin='lower-left', - play_interval=500): - """ - Creates an interactive slider that slices a 3D volume along an axis. - - Parameters - ---------- - data : DataContainer or numpy.ndarray - A 3-dimensional dataset from which 2-dimensional slices will be - shown - direction : int - Axis to slice on. Can be 0,1,2 or the axis label, default 0 - title : str, list of str or tuple of str, default='' - Title for the display - slice_number : int, optional - Start slice number (default is None, which results in the center - slice being shown initially) - cmap : str or matplotlib.colors.Colormap, default='gray' - Set the colour map - minmax : tuple - Colorbar (min, max) values, default None (uses the min, max of - values in `data`) - size : int or tuple, optional - Specify the figure size in inches. If `int` this specifies the - width, and scales the height in order to keep the standard - `matplotlib` aspect ratio, default None (use the default matplotlib - figure size) - axis_labels : list of str, optional - The axis labels to use for each of the 3 dimensions in the data - (default is None, resulting in labels extracted from the data, or - ['X','Y','Z'] if no labels are present) - origin : {'lower-left', 'upper-left', 'lower-right', 'upper-right'} - Sets the display origin - play_interval : int, default=500 - The interval of time (in ms) a slice is selected for when iterating - through a set of them - - Returns - ------- - box : ipywidgets.Box - The top-level widget container. - """ - - if axis_labels is None: - if hasattr(data, "dimension_labels"): - axis_labels = [*data.dimension_labels] - else: - axis_labels = ['X', 'Y', 'Z'] - - if isinstance (data, numpy.ndarray): - container = data - elif hasattr(data, "__getitem__"): - container = data - elif hasattr(data, "as_array"): - container = data.as_array() - - if not isinstance (direction, int): - if direction in data.dimension_labels: - direction = data.get_dimension_axis(direction) - - if slice_number is None: - slice_number = int(data.shape[direction]/2) - - if title is None: - title = "Direction {}: Slice".format(axis_labels[direction]) - - style = {'slider_width': '80%'} - layout = widgets.Layout(width='200px') - - slice_slider = widgets.IntSlider( - min=0, - max=data.shape[direction]-1, - step=1, - value=slice_number, - continuous_update=True, - layout=layout, - style=style, - ) - slice_selector_full = widgets.VBox([widgets.Label('Slice index (direction {})'.format(axis_labels[direction])), slice_slider]) - - - play_slices = widgets.Play( - min=0, - max=data.shape[direction]-1, - step=1, - interval=play_interval, - value=slice_number, - disabled=False, - ) - widgets.jslink((play_slices, 'value'), (slice_slider, 'value')) - - amax = container.max() - amin = container.min() - if minmax is None: - minmax = (amin, amax) - - if isinstance (size, (int, float)): - default_ratio = 6./8. - size = ( size , size * default_ratio ) - - min_max = widgets.IntRangeSlider( - value=[0, 100], - min=0, - max=100, - step=5, - disabled=False, - continuous_update=True, - orientation='horizontal', - readout=True, - layout=layout, - style=style, - ) - min_max_full = widgets.VBox([widgets.Label('Display window percent'), min_max]) - - dirs_remaining = [i for i in range(3) if i != direction] - h_dir, v_dir = dirs_remaining[1], dirs_remaining[0] - h_dir_size = container.shape[h_dir] - v_dir_size = container.shape[v_dir] - - roi_select_hdir = widgets.IntRangeSlider( - value=[0, h_dir_size-1], - min=0, - max=h_dir_size-1, - step=1, - disabled=False, - continuous_update=False, - orientation='horizontal', - readout=True, - readout_format='d', - layout=layout, - style=style, - ) - roi_select_hdir_full = widgets.VBox([widgets.Label(f'Range: {axis_labels[h_dir]}'), roi_select_hdir]) - - - roi_select_vdir = widgets.IntRangeSlider( - value=[0, v_dir_size-1], - min=0, - max=v_dir_size-1, - step=1, - disabled=False, - continuous_update=False, - orientation='horizontal', - readout=True, - readout_format='d', - layout=layout, - style=style, - ) - roi_select_vdir_full = widgets.VBox([widgets.Label(f'Range: {axis_labels[v_dir]}'), roi_select_vdir]) - - equal_aspect = widgets.Checkbox( - value=True, - description='Pixel aspect ratio = 1', - disabled=False, - indent=False, - layout=widgets.Layout(width='auto'), - ) - - box_layout = widgets.Layout( - display='flex', - flex_flow='column', - align_items='flex-start', - justify_content='center', - ) - selectors = widgets.Box([ - play_slices, - slice_selector_full, - min_max_full, - roi_select_hdir_full, - roi_select_vdir_full, - equal_aspect], - layout=box_layout) - - out = interactive_output( - display_slice( - container, - minmax, - direction, - title=title, - cmap=cmap, - size=size, - axis_labels=axis_labels, - origin=origin), - {'x': slice_slider, - 'minmax': min_max, - 'roi_hdir': roi_select_hdir, - 'roi_vdir': roi_select_vdir, - 'equal_aspect': equal_aspect}) - - box = widgets.HBox(children=[out, selectors], - layout=widgets.Layout( - display='flex', - justify_content='center')) - - return box
    - - - - -# https://stackoverflow.com/questions/31517194/how-to-hide-one-specific-cell-input-or-output-in-ipython-notebook/52664156 - -def hide_toggle(for_next=False): - this_cell = """$('div.cell.code_cell.rendered.selected')""" - next_cell = this_cell + '.next()' - - toggle_text = 'Toggle show/hide' # text shown on toggle link - target_cell = this_cell # target cell to control with toggle - js_hide_current = '' # bit of JS to permanently hide code in current cell (only when toggling next cell) - - if for_next: - target_cell = next_cell - toggle_text += ' next cell' - js_hide_current = this_cell + '.find("div.input").hide();' - - js_f_name = 'code_toggle_{}'.format(str(random.randint(1,2**64))) - - html = """ - <script> - function {f_name}() {{ - {cell_selector}.find('div.input').toggle(); - }} - - {js_hide_current} - </script> - - <a href="javascript:{f_name}()">{toggle_text}</a> - """.format( - f_name=js_f_name, - cell_selector=target_cell, - js_hide_current=js_hide_current, - toggle_text=toggle_text - ) - - return HTML(html) -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/utilities/quality_measures.html b/nightly/_modules/cil/utilities/quality_measures.html deleted file mode 100644 index 8d04111ad1..0000000000 --- a/nightly/_modules/cil/utilities/quality_measures.html +++ /dev/null @@ -1,351 +0,0 @@ - - - - - - - - cil.utilities.quality_measures — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Source code for cil.utilities.quality_measures

    -# -*- coding: utf-8 -*-
    -#  Copyright 2020 United Kingdom Research and Innovation
    -#  Copyright 2020 The University of Manchester
    -#
    -#  Licensed under the Apache License, Version 2.0 (the "License");
    -#  you may not use this file except in compliance with the License.
    -#  You may obtain a copy of the License at
    -#
    -#      http://www.apache.org/licenses/LICENSE-2.0
    -#
    -#  Unless required by applicable law or agreed to in writing, software
    -#  distributed under the License is distributed on an "AS IS" BASIS,
    -#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -#  See the License for the specific language governing permissions and
    -#  limitations under the License.
    -#
    -# Authors:
    -# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    -
    -from cil.optimisation.functions import L2NormSquared, L1Norm
    -from cil.framework import DataContainer
    -import numpy as np
    -
    -
    -
    [docs]def mse(dc1, dc2, mask=None): - ''' Calculates the mean squared error of two images - - Parameters - ---------- - dc1: `DataContainer` - One image to be compared - dc2: `DataContainer` - Second image to be compared - mask: array or `DataContainer` with the same dimensions as the `dc1` and `dc2` - The pixelwise operation only considers values where the mask is True or NonZero. - - Returns - ------- - A number, the mean squared error of the two images - ''' - dc1 = dc1.as_array() - dc2 = dc2.as_array() - - if mask is not None: - - if isinstance(mask, DataContainer): - mask = mask.as_array() - - mask = mask.astype('bool') - dc1 = np.extract(mask, dc1) - dc2 = np.extract(mask, dc2) - return np.mean(((dc1 - dc2)**2))
    - - -
    [docs]def mae(dc1, dc2, mask=None): - ''' Calculates the Mean Absolute error of two images. - - Parameters - ---------- - dc1: `DataContainer` - One image to be compared - dc2: `DataContainer` - Second image to be compared - mask: array or `DataContainer` with the same dimensions as the `dc1` and `dc2` - The pixelwise operation only considers values where the mask is True or NonZero. - - - Returns - ------- - A number with the mean absolute error between the two images. - ''' - dc1 = dc1.as_array() - dc2 = dc2.as_array() - - if mask is not None: - - if isinstance(mask, DataContainer): - mask = mask.as_array() - - mask = mask.astype('bool') - dc1 = np.extract(mask, dc1) - dc2 = np.extract(mask, dc2) - - return np.mean(np.abs((dc1-dc2)))
    - - -
    [docs]def psnr(ground_truth, corrupted, data_range=None, mask=None): - ''' Calculates the Peak signal to noise ratio (PSNR) between the two images. - - Parameters - ---------- - ground_truth: `DataContainer` - The reference image - corrupted: `DataContainer` - The image to be evaluated - data_range: scalar value, default=None - PSNR scaling factor, the dynamic range of the images (i.e., the difference between the maximum the and minimum allowed values). We take the maximum value in the ground truth array. - mask: array or `DataContainer` with the same dimensions as the `dc1` and `dc2` - The pixelwise operation only considers values where the mask is True or NonZero.. - - Returns - ------- - A number, the peak signal to noise ration between the two images. - ''' - if data_range is None: - - if mask is None: - data_range = ground_truth.as_array().max() - - - else: - - if isinstance(mask, DataContainer): - mask = mask.as_array() - data_range = np.max(ground_truth.as_array(), - where=mask.astype('bool'), initial=-1e-8) - - tmp_mse = mse(ground_truth, corrupted, mask=mask) - - return 10 * np.log10((data_range ** 2) / tmp_mse)
    - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/_modules/cil/utilities/quality_measures/index.html b/nightly/_modules/cil/utilities/quality_measures/index.html new file mode 100644 index 0000000000..650e649f08 --- /dev/null +++ b/nightly/_modules/cil/utilities/quality_measures/index.html @@ -0,0 +1,617 @@ + + + + + + + + + + + cil.utilities.quality_measures — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +

    Source code for cil.utilities.quality_measures

    +# -*- coding: utf-8 -*-
    +#  Copyright 2020 United Kingdom Research and Innovation
    +#  Copyright 2020 The University of Manchester
    +#
    +#  Licensed under the Apache License, Version 2.0 (the "License");
    +#  you may not use this file except in compliance with the License.
    +#  You may obtain a copy of the License at
    +#
    +#      http://www.apache.org/licenses/LICENSE-2.0
    +#
    +#  Unless required by applicable law or agreed to in writing, software
    +#  distributed under the License is distributed on an "AS IS" BASIS,
    +#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +#  See the License for the specific language governing permissions and
    +#  limitations under the License.
    +#
    +# Authors:
    +# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
    +
    +from cil.optimisation.functions import L2NormSquared, L1Norm
    +from cil.framework import DataContainer
    +import numpy as np
    +
    +
    +
    [docs]def mse(dc1, dc2, mask=None): + ''' Calculates the mean squared error of two images + + Parameters + ---------- + dc1: `DataContainer` + One image to be compared + dc2: `DataContainer` + Second image to be compared + mask: array or `DataContainer` with the same dimensions as the `dc1` and `dc2` + The pixelwise operation only considers values where the mask is True or NonZero. + + Returns + ------- + A number, the mean squared error of the two images + ''' + dc1 = dc1.as_array() + dc2 = dc2.as_array() + + if mask is not None: + + if isinstance(mask, DataContainer): + mask = mask.as_array() + + mask = mask.astype('bool') + dc1 = np.extract(mask, dc1) + dc2 = np.extract(mask, dc2) + return np.mean(((dc1 - dc2)**2))
    + + +
    [docs]def mae(dc1, dc2, mask=None): + ''' Calculates the Mean Absolute error of two images. + + Parameters + ---------- + dc1: `DataContainer` + One image to be compared + dc2: `DataContainer` + Second image to be compared + mask: array or `DataContainer` with the same dimensions as the `dc1` and `dc2` + The pixelwise operation only considers values where the mask is True or NonZero. + + + Returns + ------- + A number with the mean absolute error between the two images. + ''' + dc1 = dc1.as_array() + dc2 = dc2.as_array() + + if mask is not None: + + if isinstance(mask, DataContainer): + mask = mask.as_array() + + mask = mask.astype('bool') + dc1 = np.extract(mask, dc1) + dc2 = np.extract(mask, dc2) + + return np.mean(np.abs((dc1-dc2)))
    + + +
    [docs]def psnr(ground_truth, corrupted, data_range=None, mask=None): + ''' Calculates the Peak signal to noise ratio (PSNR) between the two images. + + Parameters + ---------- + ground_truth: `DataContainer` + The reference image + corrupted: `DataContainer` + The image to be evaluated + data_range: scalar value, default=None + PSNR scaling factor, the dynamic range of the images (i.e., the difference between the maximum the and minimum allowed values). We take the maximum value in the ground truth array. + mask: array or `DataContainer` with the same dimensions as the `dc1` and `dc2` + The pixelwise operation only considers values where the mask is True or NonZero.. + + Returns + ------- + A number, the peak signal to noise ration between the two images. + ''' + if data_range is None: + + if mask is None: + data_range = ground_truth.as_array().max() + + + else: + + if isinstance(mask, DataContainer): + mask = mask.as_array() + data_range = np.max(ground_truth.as_array(), + where=mask.astype('bool'), initial=-1e-8) + + tmp_mse = mse(ground_truth, corrupted, mask=mask) + + return 10 * np.log10((data_range ** 2) / tmp_mse)
    + +
    + +
    + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/_modules/index.html b/nightly/_modules/index.html index 6f93321027..ba267e9e14 100644 --- a/nightly/_modules/index.html +++ b/nightly/_modules/index.html @@ -1,293 +1,551 @@ + - + + + Overview: module code — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - + + + + + + + + + - + + - + - - - - - - - - + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - -
    - - +
    + + + + + - -
    - -
    - - - - - -
    +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + -
    + +
    +

    All modules for which code is available

    -
    + - -
    -
    -
    - +
    + +
    + +
    +
    +
    + +
    - +
    + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/_static/basic.css b/nightly/_static/basic.css index 5d8ae085a1..d54be80678 100644 --- a/nightly/_static/basic.css +++ b/nightly/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -130,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li div.context { +ul.search li p.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -508,6 +508,63 @@ table.hlist td { vertical-align: top; } +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + /* -- other body styles ----------------------------------------------------- */ @@ -634,14 +691,6 @@ dl.glossary dt { font-size: 1.1em; } -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - .versionmodified { font-style: italic; } @@ -682,8 +731,9 @@ dl.glossary dt { .classifier:before { font-style: normal; - margin: 0.5em; + margin: 0 0.5em; content: ":"; + display: inline-block; } abbr, acronym { @@ -707,6 +757,7 @@ span.pre { -ms-hyphens: none; -webkit-hyphens: none; hyphens: none; + white-space: nowrap; } div[class*="highlight-"] { @@ -770,8 +821,12 @@ div.code-block-caption code { table.highlighttable td.linenos, span.linenos, -div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ } div.code-block-caption span.caption-number { @@ -786,16 +841,6 @@ div.literal-block-wrapper { margin: 1em 0; } -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - code.xref, a code { background-color: transparent; font-weight: bold; diff --git a/nightly/_static/doctools.js b/nightly/_static/doctools.js index 61ac9d266f..e1bfd708b7 100644 --- a/nightly/_static/doctools.js +++ b/nightly/_static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -154,9 +154,7 @@ var Documentation = { this.fixFirefoxAnchorBug(); this.highlightSearchWords(); this.initIndexTable(); - if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { - this.initOnKeyListeners(); - } + this.initOnKeyListeners(); }, /** @@ -264,6 +262,16 @@ var Documentation = { hideSearchWords : function() { $('#searchbox .highlight-link').fadeOut(300); $('span.highlighted').removeClass('highlighted'); + var url = new URL(window.location); + url.searchParams.delete('highlight'); + window.history.replaceState({}, '', url); + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar : function() { + $('input[name=q]').first().focus(); }, /** @@ -288,25 +296,54 @@ var Documentation = { }, initOnKeyListeners: function() { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + return; + $(document).keydown(function(event) { var activeElementType = document.activeElement.tagName; // don't navigate when in search box, textarea, dropdown or button if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' - && activeElementType !== 'BUTTON' && !event.altKey && !event.ctrlKey && !event.metaKey - && !event.shiftKey) { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; - } - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; - } + && activeElementType !== 'BUTTON') { + if (event.altKey || event.ctrlKey || event.metaKey) + return; + + if (!event.shiftKey) { + switch (event.key) { + case 'ArrowLeft': + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) + break; + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + break; + case 'ArrowRight': + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) + break; + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + break; + case 'Escape': + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + break; + Documentation.hideSearchWords(); + return false; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case '/': + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + break; + Documentation.focusSearchBar(); + return false; } } }); diff --git a/nightly/_static/documentation_options.js b/nightly/_static/documentation_options.js index d68af519a8..5c7fa1b588 100644 --- a/nightly/_static/documentation_options.js +++ b/nightly/_static/documentation_options.js @@ -3,10 +3,12 @@ var DOCUMENTATION_OPTIONS = { VERSION: '23.1.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, - BUILDER: 'html', + BUILDER: 'dirhtml', FILE_SUFFIX: '.html', LINK_SUFFIX: '.html', HAS_SOURCE: true, SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: true + NAVIGATION_WITH_KEYS: true, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, }; \ No newline at end of file diff --git a/nightly/_static/language_data.js b/nightly/_static/language_data.js index 863704b310..ebe2f03bf0 100644 --- a/nightly/_static/language_data.js +++ b/nightly/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/nightly/_static/pygments.css b/nightly/_static/pygments.css index 6110e9f1ad..997797f270 100644 --- a/nightly/_static/pygments.css +++ b/nightly/_static/pygments.css @@ -1,84 +1,152 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #8f5902; font-style: italic } /* Comment */ -.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ -.highlight .g { color: #000000 } /* Generic */ -.highlight .k { color: #204a87; font-weight: bold } /* Keyword */ -.highlight .l { color: #000000 } /* Literal */ -.highlight .n { color: #000000 } /* Name */ -.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */ -.highlight .x { color: #000000 } /* Other */ -.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ -.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */ -.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #a40000 } /* Generic.Deleted */ -.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ -.highlight .ges { color: #000000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ -.highlight .gr { color: #ef2929 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #00A000 } /* Generic.Inserted */ -.highlight .go { color: #000000; font-style: italic } /* Generic.Output */ -.highlight .gp { color: #8f5902 } /* Generic.Prompt */ -.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ -.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */ -.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */ -.highlight .ld { color: #000000 } /* Literal.Date */ -.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */ -.highlight .s { color: #4e9a06 } /* Literal.String */ -.highlight .na { color: #c4a000 } /* Name.Attribute */ -.highlight .nb { color: #204a87 } /* Name.Builtin */ -.highlight .nc { color: #000000 } /* Name.Class */ -.highlight .no { color: #000000 } /* Name.Constant */ -.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */ -.highlight .ni { color: #ce5c00 } /* Name.Entity */ -.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #000000 } /* Name.Function */ -.highlight .nl { color: #f57900 } /* Name.Label */ -.highlight .nn { color: #000000 } /* Name.Namespace */ -.highlight .nx { color: #000000 } /* Name.Other */ -.highlight .py { color: #000000 } /* Name.Property */ -.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #000000 } /* Name.Variable */ -.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */ -.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ -.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ -.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */ -.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */ -.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */ -.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */ -.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */ -.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ -.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ -.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ -.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ -.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ -.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ -.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ -.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ -.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ -.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ -.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ -.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ -.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #000000 } /* Name.Function.Magic */ -.highlight .vc { color: #000000 } /* Name.Variable.Class */ -.highlight .vg { color: #000000 } /* Name.Variable.Global */ -.highlight .vi { color: #000000 } /* Name.Variable.Instance */ -.highlight .vm { color: #000000 } /* Name.Variable.Magic */ -.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file +html[data-theme="light"] .highlight pre { line-height: 125%; } +html[data-theme="light"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="light"] .highlight .hll { background-color: #7971292e } +html[data-theme="light"] .highlight { background: #fefefe; color: #545454 } +html[data-theme="light"] .highlight .c { color: #797129 } /* Comment */ +html[data-theme="light"] .highlight .err { color: #d91e18 } /* Error */ +html[data-theme="light"] .highlight .k { color: #7928a1 } /* Keyword */ +html[data-theme="light"] .highlight .l { color: #797129 } /* Literal */ +html[data-theme="light"] .highlight .n { color: #545454 } /* Name */ +html[data-theme="light"] .highlight .o { color: #008000 } /* Operator */ +html[data-theme="light"] .highlight .p { color: #545454 } /* Punctuation */ +html[data-theme="light"] .highlight .ch { color: #797129 } /* Comment.Hashbang */ +html[data-theme="light"] .highlight .cm { color: #797129 } /* Comment.Multiline */ +html[data-theme="light"] .highlight .cp { color: #797129 } /* Comment.Preproc */ +html[data-theme="light"] .highlight .cpf { color: #797129 } /* Comment.PreprocFile */ +html[data-theme="light"] .highlight .c1 { color: #797129 } /* Comment.Single */ +html[data-theme="light"] .highlight .cs { color: #797129 } /* Comment.Special */ +html[data-theme="light"] .highlight .gd { color: #007faa } /* Generic.Deleted */ +html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="light"] .highlight .gh { color: #007faa } /* Generic.Heading */ +html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="light"] .highlight .gu { color: #007faa } /* Generic.Subheading */ +html[data-theme="light"] .highlight .kc { color: #7928a1 } /* Keyword.Constant */ +html[data-theme="light"] .highlight .kd { color: #7928a1 } /* Keyword.Declaration */ +html[data-theme="light"] .highlight .kn { color: #7928a1 } /* Keyword.Namespace */ +html[data-theme="light"] .highlight .kp { color: #7928a1 } /* Keyword.Pseudo */ +html[data-theme="light"] .highlight .kr { color: #7928a1 } /* Keyword.Reserved */ +html[data-theme="light"] .highlight .kt { color: #797129 } /* Keyword.Type */ +html[data-theme="light"] .highlight .ld { color: #797129 } /* Literal.Date */ +html[data-theme="light"] .highlight .m { color: #797129 } /* Literal.Number */ +html[data-theme="light"] .highlight .s { color: #008000 } /* Literal.String */ +html[data-theme="light"] .highlight .na { color: #797129 } /* Name.Attribute */ +html[data-theme="light"] .highlight .nb { color: #797129 } /* Name.Builtin */ +html[data-theme="light"] .highlight .nc { color: #007faa } /* Name.Class */ +html[data-theme="light"] .highlight .no { color: #007faa } /* Name.Constant */ +html[data-theme="light"] .highlight .nd { color: #797129 } /* Name.Decorator */ +html[data-theme="light"] .highlight .ni { color: #008000 } /* Name.Entity */ +html[data-theme="light"] .highlight .ne { color: #7928a1 } /* Name.Exception */ +html[data-theme="light"] .highlight .nf { color: #007faa } /* Name.Function */ +html[data-theme="light"] .highlight .nl { color: #797129 } /* Name.Label */ +html[data-theme="light"] .highlight .nn { color: #545454 } /* Name.Namespace */ +html[data-theme="light"] .highlight .nx { color: #545454 } /* Name.Other */ +html[data-theme="light"] .highlight .py { color: #007faa } /* Name.Property */ +html[data-theme="light"] .highlight .nt { color: #007faa } /* Name.Tag */ +html[data-theme="light"] .highlight .nv { color: #d91e18 } /* Name.Variable */ +html[data-theme="light"] .highlight .ow { color: #7928a1 } /* Operator.Word */ +html[data-theme="light"] .highlight .pm { color: #545454 } /* Punctuation.Marker */ +html[data-theme="light"] .highlight .w { color: #545454 } /* Text.Whitespace */ +html[data-theme="light"] .highlight .mb { color: #797129 } /* Literal.Number.Bin */ +html[data-theme="light"] .highlight .mf { color: #797129 } /* Literal.Number.Float */ +html[data-theme="light"] .highlight .mh { color: #797129 } /* Literal.Number.Hex */ +html[data-theme="light"] .highlight .mi { color: #797129 } /* Literal.Number.Integer */ +html[data-theme="light"] .highlight .mo { color: #797129 } /* Literal.Number.Oct */ +html[data-theme="light"] .highlight .sa { color: #008000 } /* Literal.String.Affix */ +html[data-theme="light"] .highlight .sb { color: #008000 } /* Literal.String.Backtick */ +html[data-theme="light"] .highlight .sc { color: #008000 } /* Literal.String.Char */ +html[data-theme="light"] .highlight .dl { color: #008000 } /* Literal.String.Delimiter */ +html[data-theme="light"] .highlight .sd { color: #008000 } /* Literal.String.Doc */ +html[data-theme="light"] .highlight .s2 { color: #008000 } /* Literal.String.Double */ +html[data-theme="light"] .highlight .se { color: #008000 } /* Literal.String.Escape */ +html[data-theme="light"] .highlight .sh { color: #008000 } /* Literal.String.Heredoc */ +html[data-theme="light"] .highlight .si { color: #008000 } /* Literal.String.Interpol */ +html[data-theme="light"] .highlight .sx { color: #008000 } /* Literal.String.Other */ +html[data-theme="light"] .highlight .sr { color: #d91e18 } /* Literal.String.Regex */ +html[data-theme="light"] .highlight .s1 { color: #008000 } /* Literal.String.Single */ +html[data-theme="light"] .highlight .ss { color: #007faa } /* Literal.String.Symbol */ +html[data-theme="light"] .highlight .bp { color: #797129 } /* Name.Builtin.Pseudo */ +html[data-theme="light"] .highlight .fm { color: #007faa } /* Name.Function.Magic */ +html[data-theme="light"] .highlight .vc { color: #d91e18 } /* Name.Variable.Class */ +html[data-theme="light"] .highlight .vg { color: #d91e18 } /* Name.Variable.Global */ +html[data-theme="light"] .highlight .vi { color: #d91e18 } /* Name.Variable.Instance */ +html[data-theme="light"] .highlight .vm { color: #797129 } /* Name.Variable.Magic */ +html[data-theme="light"] .highlight .il { color: #797129 } /* Literal.Number.Integer.Long */ +html[data-theme="dark"] .highlight pre { line-height: 125%; } +html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e } +html[data-theme="dark"] .highlight { background: #2b2b2b; color: #f8f8f2 } +html[data-theme="dark"] .highlight .c { color: #ffd900 } /* Comment */ +html[data-theme="dark"] .highlight .err { color: #ffa07a } /* Error */ +html[data-theme="dark"] .highlight .k { color: #dcc6e0 } /* Keyword */ +html[data-theme="dark"] .highlight .l { color: #ffd900 } /* Literal */ +html[data-theme="dark"] .highlight .n { color: #f8f8f2 } /* Name */ +html[data-theme="dark"] .highlight .o { color: #abe338 } /* Operator */ +html[data-theme="dark"] .highlight .p { color: #f8f8f2 } /* Punctuation */ +html[data-theme="dark"] .highlight .ch { color: #ffd900 } /* Comment.Hashbang */ +html[data-theme="dark"] .highlight .cm { color: #ffd900 } /* Comment.Multiline */ +html[data-theme="dark"] .highlight .cp { color: #ffd900 } /* Comment.Preproc */ +html[data-theme="dark"] .highlight .cpf { color: #ffd900 } /* Comment.PreprocFile */ +html[data-theme="dark"] .highlight .c1 { color: #ffd900 } /* Comment.Single */ +html[data-theme="dark"] .highlight .cs { color: #ffd900 } /* Comment.Special */ +html[data-theme="dark"] .highlight .gd { color: #00e0e0 } /* Generic.Deleted */ +html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */ +html[data-theme="dark"] .highlight .gh { color: #00e0e0 } /* Generic.Heading */ +html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */ +html[data-theme="dark"] .highlight .gu { color: #00e0e0 } /* Generic.Subheading */ +html[data-theme="dark"] .highlight .kc { color: #dcc6e0 } /* Keyword.Constant */ +html[data-theme="dark"] .highlight .kd { color: #dcc6e0 } /* Keyword.Declaration */ +html[data-theme="dark"] .highlight .kn { color: #dcc6e0 } /* Keyword.Namespace */ +html[data-theme="dark"] .highlight .kp { color: #dcc6e0 } /* Keyword.Pseudo */ +html[data-theme="dark"] .highlight .kr { color: #dcc6e0 } /* Keyword.Reserved */ +html[data-theme="dark"] .highlight .kt { color: #ffd900 } /* Keyword.Type */ +html[data-theme="dark"] .highlight .ld { color: #ffd900 } /* Literal.Date */ +html[data-theme="dark"] .highlight .m { color: #ffd900 } /* Literal.Number */ +html[data-theme="dark"] .highlight .s { color: #abe338 } /* Literal.String */ +html[data-theme="dark"] .highlight .na { color: #ffd900 } /* Name.Attribute */ +html[data-theme="dark"] .highlight .nb { color: #ffd900 } /* Name.Builtin */ +html[data-theme="dark"] .highlight .nc { color: #00e0e0 } /* Name.Class */ +html[data-theme="dark"] .highlight .no { color: #00e0e0 } /* Name.Constant */ +html[data-theme="dark"] .highlight .nd { color: #ffd900 } /* Name.Decorator */ +html[data-theme="dark"] .highlight .ni { color: #abe338 } /* Name.Entity */ +html[data-theme="dark"] .highlight .ne { color: #dcc6e0 } /* Name.Exception */ +html[data-theme="dark"] .highlight .nf { color: #00e0e0 } /* Name.Function */ +html[data-theme="dark"] .highlight .nl { color: #ffd900 } /* Name.Label */ +html[data-theme="dark"] .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ +html[data-theme="dark"] .highlight .nx { color: #f8f8f2 } /* Name.Other */ +html[data-theme="dark"] .highlight .py { color: #00e0e0 } /* Name.Property */ +html[data-theme="dark"] .highlight .nt { color: #00e0e0 } /* Name.Tag */ +html[data-theme="dark"] .highlight .nv { color: #ffa07a } /* Name.Variable */ +html[data-theme="dark"] .highlight .ow { color: #dcc6e0 } /* Operator.Word */ +html[data-theme="dark"] .highlight .pm { color: #f8f8f2 } /* Punctuation.Marker */ +html[data-theme="dark"] .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ +html[data-theme="dark"] .highlight .mb { color: #ffd900 } /* Literal.Number.Bin */ +html[data-theme="dark"] .highlight .mf { color: #ffd900 } /* Literal.Number.Float */ +html[data-theme="dark"] .highlight .mh { color: #ffd900 } /* Literal.Number.Hex */ +html[data-theme="dark"] .highlight .mi { color: #ffd900 } /* Literal.Number.Integer */ +html[data-theme="dark"] .highlight .mo { color: #ffd900 } /* Literal.Number.Oct */ +html[data-theme="dark"] .highlight .sa { color: #abe338 } /* Literal.String.Affix */ +html[data-theme="dark"] .highlight .sb { color: #abe338 } /* Literal.String.Backtick */ +html[data-theme="dark"] .highlight .sc { color: #abe338 } /* Literal.String.Char */ +html[data-theme="dark"] .highlight .dl { color: #abe338 } /* Literal.String.Delimiter */ +html[data-theme="dark"] .highlight .sd { color: #abe338 } /* Literal.String.Doc */ +html[data-theme="dark"] .highlight .s2 { color: #abe338 } /* Literal.String.Double */ +html[data-theme="dark"] .highlight .se { color: #abe338 } /* Literal.String.Escape */ +html[data-theme="dark"] .highlight .sh { color: #abe338 } /* Literal.String.Heredoc */ +html[data-theme="dark"] .highlight .si { color: #abe338 } /* Literal.String.Interpol */ +html[data-theme="dark"] .highlight .sx { color: #abe338 } /* Literal.String.Other */ +html[data-theme="dark"] .highlight .sr { color: #ffa07a } /* Literal.String.Regex */ +html[data-theme="dark"] .highlight .s1 { color: #abe338 } /* Literal.String.Single */ +html[data-theme="dark"] .highlight .ss { color: #00e0e0 } /* Literal.String.Symbol */ +html[data-theme="dark"] .highlight .bp { color: #ffd900 } /* Name.Builtin.Pseudo */ +html[data-theme="dark"] .highlight .fm { color: #00e0e0 } /* Name.Function.Magic */ +html[data-theme="dark"] .highlight .vc { color: #ffa07a } /* Name.Variable.Class */ +html[data-theme="dark"] .highlight .vg { color: #ffa07a } /* Name.Variable.Global */ +html[data-theme="dark"] .highlight .vi { color: #ffa07a } /* Name.Variable.Instance */ +html[data-theme="dark"] .highlight .vm { color: #ffd900 } /* Name.Variable.Magic */ +html[data-theme="dark"] .highlight .il { color: #ffd900 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/nightly/_static/scripts/bootstrap.js b/nightly/_static/scripts/bootstrap.js new file mode 100644 index 0000000000..766173abab --- /dev/null +++ b/nightly/_static/scripts/bootstrap.js @@ -0,0 +1,3 @@ +/*! For license information please see bootstrap.js.LICENSE.txt */ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{afterMain:()=>w,afterRead:()=>b,afterWrite:()=>C,applyStyles:()=>$,arrow:()=>G,auto:()=>r,basePlacements:()=>a,beforeMain:()=>v,beforeRead:()=>m,beforeWrite:()=>A,bottom:()=>n,clippingParents:()=>h,computeStyles:()=>et,createPopper:()=>Dt,createPopperBase:()=>Lt,createPopperLite:()=>$t,detectOverflow:()=>mt,end:()=>c,eventListeners:()=>nt,flip:()=>_t,hide:()=>yt,left:()=>o,main:()=>y,modifierPhases:()=>T,offset:()=>wt,placements:()=>g,popper:()=>d,popperGenerator:()=>kt,popperOffsets:()=>At,preventOverflow:()=>Et,read:()=>_,reference:()=>f,right:()=>s,start:()=>l,top:()=>i,variationPlacements:()=>p,viewport:()=>u,write:()=>E});var i="top",n="bottom",s="right",o="left",r="auto",a=[i,n,s,o],l="start",c="end",h="clippingParents",u="viewport",d="popper",f="reference",p=a.reduce((function(t,e){return t.concat([e+"-"+l,e+"-"+c])}),[]),g=[].concat(a,[r]).reduce((function(t,e){return t.concat([e,e+"-"+l,e+"-"+c])}),[]),m="beforeRead",_="read",b="afterRead",v="beforeMain",y="main",w="afterMain",A="beforeWrite",E="write",C="afterWrite",T=[m,_,b,v,y,w,A,E,C];function O(t){return t?(t.nodeName||"").toLowerCase():null}function x(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function k(t){return t instanceof x(t).Element||t instanceof Element}function L(t){return t instanceof x(t).HTMLElement||t instanceof HTMLElement}function D(t){return"undefined"!=typeof ShadowRoot&&(t instanceof x(t).ShadowRoot||t instanceof ShadowRoot)}const $={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];L(s)&&O(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});L(n)&&O(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function S(t){return t.split("-")[0]}var I=Math.max,N=Math.min,P=Math.round;function j(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function M(){return!/^((?!chrome|android).)*safari/i.test(j())}function H(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&L(t)&&(s=t.offsetWidth>0&&P(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&P(n.height)/t.offsetHeight||1);var r=(k(t)?x(t):window).visualViewport,a=!M()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,u=n.height/o;return{width:h,height:u,top:c,right:l+h,bottom:c+u,left:l,x:l,y:c}}function W(t){var e=H(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function F(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&D(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function B(t){return x(t).getComputedStyle(t)}function z(t){return["table","td","th"].indexOf(O(t))>=0}function q(t){return((k(t)?t.ownerDocument:t.document)||window.document).documentElement}function R(t){return"html"===O(t)?t:t.assignedSlot||t.parentNode||(D(t)?t.host:null)||q(t)}function V(t){return L(t)&&"fixed"!==B(t).position?t.offsetParent:null}function K(t){for(var e=x(t),i=V(t);i&&z(i)&&"static"===B(i).position;)i=V(i);return i&&("html"===O(i)||"body"===O(i)&&"static"===B(i).position)?e:i||function(t){var e=/firefox/i.test(j());if(/Trident/i.test(j())&&L(t)&&"fixed"===B(t).position)return null;var i=R(t);for(D(i)&&(i=i.host);L(i)&&["html","body"].indexOf(O(i))<0;){var n=B(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Q(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function X(t,e,i){return I(t,N(e,i))}function Y(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function U(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const G={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,l=t.name,c=t.options,h=r.elements.arrow,u=r.modifiersData.popperOffsets,d=S(r.placement),f=Q(d),p=[o,s].indexOf(d)>=0?"height":"width";if(h&&u){var g=function(t,e){return Y("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:U(t,a))}(c.padding,r),m=W(h),_="y"===f?i:o,b="y"===f?n:s,v=r.rects.reference[p]+r.rects.reference[f]-u[f]-r.rects.popper[p],y=u[f]-r.rects.reference[f],w=K(h),A=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,E=v/2-y/2,C=g[_],T=A-m[p]-g[b],O=A/2-m[p]/2+E,x=X(C,O,T),k=f;r.modifiersData[l]=((e={})[k]=x,e.centerOffset=x-O,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&F(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function J(t){return t.split("-")[1]}var Z={top:"auto",right:"auto",bottom:"auto",left:"auto"};function tt(t){var e,r=t.popper,a=t.popperRect,l=t.placement,h=t.variation,u=t.offsets,d=t.position,f=t.gpuAcceleration,p=t.adaptive,g=t.roundOffsets,m=t.isFixed,_=u.x,b=void 0===_?0:_,v=u.y,y=void 0===v?0:v,w="function"==typeof g?g({x:b,y}):{x:b,y};b=w.x,y=w.y;var A=u.hasOwnProperty("x"),E=u.hasOwnProperty("y"),C=o,T=i,O=window;if(p){var k=K(r),L="clientHeight",D="clientWidth";k===x(r)&&"static"!==B(k=q(r)).position&&"absolute"===d&&(L="scrollHeight",D="scrollWidth"),(l===i||(l===o||l===s)&&h===c)&&(T=n,y-=(m&&k===O&&O.visualViewport?O.visualViewport.height:k[L])-a.height,y*=f?1:-1),l!==o&&(l!==i&&l!==n||h!==c)||(C=s,b-=(m&&k===O&&O.visualViewport?O.visualViewport.width:k[D])-a.width,b*=f?1:-1)}var $,S=Object.assign({position:d},p&&Z),I=!0===g?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:P(i*s)/s||0,y:P(n*s)/s||0}}({x:b,y},x(r)):{x:b,y};return b=I.x,y=I.y,f?Object.assign({},S,(($={})[T]=E?"0":"",$[C]=A?"0":"",$.transform=(O.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",$)):Object.assign({},S,((e={})[T]=E?y+"px":"",e[C]=A?b+"px":"",e.transform="",e))}const et={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:S(e.placement),variation:J(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,tt(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,tt(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var it={passive:!0};const nt={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=x(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,it)})),a&&l.addEventListener("resize",i.update,it),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,it)})),a&&l.removeEventListener("resize",i.update,it)}},data:{}};var st={left:"right",right:"left",bottom:"top",top:"bottom"};function ot(t){return t.replace(/left|right|bottom|top/g,(function(t){return st[t]}))}var rt={start:"end",end:"start"};function at(t){return t.replace(/start|end/g,(function(t){return rt[t]}))}function lt(t){var e=x(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ct(t){return H(q(t)).left+lt(t).scrollLeft}function ht(t){var e=B(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ut(t){return["html","body","#document"].indexOf(O(t))>=0?t.ownerDocument.body:L(t)&&ht(t)?t:ut(R(t))}function dt(t,e){var i;void 0===e&&(e=[]);var n=ut(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=x(n),r=s?[o].concat(o.visualViewport||[],ht(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(dt(R(r)))}function ft(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function pt(t,e,i){return e===u?ft(function(t,e){var i=x(t),n=q(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=M();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+ct(t),y:l}}(t,i)):k(e)?function(t,e){var i=H(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ft(function(t){var e,i=q(t),n=lt(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=I(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=I(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ct(t),l=-n.scrollTop;return"rtl"===B(s||i).direction&&(a+=I(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(q(t)))}function gt(t){var e,r=t.reference,a=t.element,h=t.placement,u=h?S(h):null,d=h?J(h):null,f=r.x+r.width/2-a.width/2,p=r.y+r.height/2-a.height/2;switch(u){case i:e={x:f,y:r.y-a.height};break;case n:e={x:f,y:r.y+r.height};break;case s:e={x:r.x+r.width,y:p};break;case o:e={x:r.x-a.width,y:p};break;default:e={x:r.x,y:r.y}}var g=u?Q(u):null;if(null!=g){var m="y"===g?"height":"width";switch(d){case l:e[g]=e[g]-(r[m]/2-a[m]/2);break;case c:e[g]=e[g]+(r[m]/2-a[m]/2)}}return e}function mt(t,e){void 0===e&&(e={});var o=e,r=o.placement,l=void 0===r?t.placement:r,c=o.strategy,p=void 0===c?t.strategy:c,g=o.boundary,m=void 0===g?h:g,_=o.rootBoundary,b=void 0===_?u:_,v=o.elementContext,y=void 0===v?d:v,w=o.altBoundary,A=void 0!==w&&w,E=o.padding,C=void 0===E?0:E,T=Y("number"!=typeof C?C:U(C,a)),x=y===d?f:d,D=t.rects.popper,$=t.elements[A?x:y],S=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=dt(R(t)),i=["absolute","fixed"].indexOf(B(t).position)>=0&&L(t)?K(t):t;return k(i)?e.filter((function(t){return k(t)&&F(t,i)&&"body"!==O(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=pt(t,i,n);return e.top=I(s.top,e.top),e.right=N(s.right,e.right),e.bottom=N(s.bottom,e.bottom),e.left=I(s.left,e.left),e}),pt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(k($)?$:$.contextElement||q(t.elements.popper),m,b,p),P=H(t.elements.reference),j=gt({reference:P,element:D,strategy:"absolute",placement:l}),M=ft(Object.assign({},D,j)),W=y===d?M:P,z={top:S.top-W.top+T.top,bottom:W.bottom-S.bottom+T.bottom,left:S.left-W.left+T.left,right:W.right-S.right+T.right},V=t.modifiersData.offset;if(y===d&&V){var Q=V[l];Object.keys(z).forEach((function(t){var e=[s,n].indexOf(t)>=0?1:-1,o=[i,n].indexOf(t)>=0?"y":"x";z[t]+=Q[o]*e}))}return z}const _t={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,c=t.options,h=t.name;if(!e.modifiersData[h]._skip){for(var u=c.mainAxis,d=void 0===u||u,f=c.altAxis,m=void 0===f||f,_=c.fallbackPlacements,b=c.padding,v=c.boundary,y=c.rootBoundary,w=c.altBoundary,A=c.flipVariations,E=void 0===A||A,C=c.allowedAutoPlacements,T=e.options.placement,O=S(T),x=_||(O!==T&&E?function(t){if(S(t)===r)return[];var e=ot(t);return[at(t),e,at(e)]}(T):[ot(T)]),k=[T].concat(x).reduce((function(t,i){return t.concat(S(i)===r?function(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,l=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?g:c,u=J(n),d=u?l?p:p.filter((function(t){return J(t)===u})):a,f=d.filter((function(t){return h.indexOf(t)>=0}));0===f.length&&(f=d);var m=f.reduce((function(e,i){return e[i]=mt(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[S(i)],e}),{});return Object.keys(m).sort((function(t,e){return m[t]-m[e]}))}(e,{placement:i,boundary:v,rootBoundary:y,padding:b,flipVariations:E,allowedAutoPlacements:C}):i)}),[]),L=e.rects.reference,D=e.rects.popper,$=new Map,I=!0,N=k[0],P=0;P=0,F=W?"width":"height",B=mt(e,{placement:j,boundary:v,rootBoundary:y,altBoundary:w,padding:b}),z=W?H?s:o:H?n:i;L[F]>D[F]&&(z=ot(z));var q=ot(z),R=[];if(d&&R.push(B[M]<=0),m&&R.push(B[z]<=0,B[q]<=0),R.every((function(t){return t}))){N=j,I=!1;break}$.set(j,R)}if(I)for(var V=function(t){var e=k.find((function(e){var i=$.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return N=e,"break"},K=E?3:1;K>0&&"break"!==V(K);K--);e.placement!==N&&(e.modifiersData[h]._skip=!0,e.placement=N,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function bt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function vt(t){return[i,s,n,o].some((function(e){return t[e]>=0}))}const yt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=mt(e,{elementContext:"reference"}),a=mt(e,{altBoundary:!0}),l=bt(r,n),c=bt(a,s,o),h=vt(l),u=vt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}},wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,n=t.options,r=t.name,a=n.offset,l=void 0===a?[0,0]:a,c=g.reduce((function(t,n){return t[n]=function(t,e,n){var r=S(t),a=[o,i].indexOf(r)>=0?-1:1,l="function"==typeof n?n(Object.assign({},e,{placement:t})):n,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[o,s].indexOf(r)>=0?{x:h,y:c}:{x:c,y:h}}(n,e.rects,l),t}),{}),h=c[e.placement],u=h.x,d=h.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=u,e.modifiersData.popperOffsets.y+=d),e.modifiersData[r]=c}},At={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=gt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},Et={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,a=t.name,c=r.mainAxis,h=void 0===c||c,u=r.altAxis,d=void 0!==u&&u,f=r.boundary,p=r.rootBoundary,g=r.altBoundary,m=r.padding,_=r.tether,b=void 0===_||_,v=r.tetherOffset,y=void 0===v?0:v,w=mt(e,{boundary:f,rootBoundary:p,padding:m,altBoundary:g}),A=S(e.placement),E=J(e.placement),C=!E,T=Q(A),O="x"===T?"y":"x",x=e.modifiersData.popperOffsets,k=e.rects.reference,L=e.rects.popper,D="function"==typeof y?y(Object.assign({},e.rects,{placement:e.placement})):y,$="number"==typeof D?{mainAxis:D,altAxis:D}:Object.assign({mainAxis:0,altAxis:0},D),P=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,j={x:0,y:0};if(x){if(h){var M,H="y"===T?i:o,F="y"===T?n:s,B="y"===T?"height":"width",z=x[T],q=z+w[H],R=z-w[F],V=b?-L[B]/2:0,Y=E===l?k[B]:L[B],U=E===l?-L[B]:-k[B],G=e.elements.arrow,Z=b&&G?W(G):{width:0,height:0},tt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[H],it=tt[F],nt=X(0,k[B],Z[B]),st=C?k[B]/2-V-nt-et-$.mainAxis:Y-nt-et-$.mainAxis,ot=C?-k[B]/2+V+nt+it+$.mainAxis:U+nt+it+$.mainAxis,rt=e.elements.arrow&&K(e.elements.arrow),at=rt?"y"===T?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(M=null==P?void 0:P[T])?M:0,ct=z+ot-lt,ht=X(b?N(q,z+st-lt-at):q,z,b?I(R,ct):R);x[T]=ht,j[T]=ht-z}if(d){var ut,dt="x"===T?i:o,ft="x"===T?n:s,pt=x[O],gt="y"===O?"height":"width",_t=pt+w[dt],bt=pt-w[ft],vt=-1!==[i,o].indexOf(A),yt=null!=(ut=null==P?void 0:P[O])?ut:0,wt=vt?_t:pt-k[gt]-L[gt]-yt+$.altAxis,At=vt?pt+k[gt]+L[gt]-yt-$.altAxis:bt,Et=b&&vt?function(t,e,i){var n=X(t,e,i);return n>i?i:n}(wt,pt,At):X(b?wt:_t,pt,b?At:bt);x[O]=Et,j[O]=Et-pt}e.modifiersData[a]=j}},requiresIfExists:["offset"]};function Ct(t,e,i){void 0===i&&(i=!1);var n,s,o=L(e),r=L(e)&&function(t){var e=t.getBoundingClientRect(),i=P(e.width)/t.offsetWidth||1,n=P(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=q(e),l=H(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==O(e)||ht(a))&&(c=(n=e)!==x(n)&&L(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:lt(n)),L(e)?((h=H(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=ct(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Tt(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function xt(){for(var t=arguments.length,e=new Array(t),i=0;i{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},Nt=t=>{const e=It(t);return e&&document.querySelector(e)?e:null},Pt=t=>{const e=It(t);return e?document.querySelector(e):null},jt=t=>{t.dispatchEvent(new Event(St))},Mt=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ht=t=>Mt(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,Wt=t=>{if(!Mt(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Ft=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),Bt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?Bt(t.parentNode):null},zt=()=>{},qt=t=>{t.offsetHeight},Rt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Vt=[],Kt=()=>"rtl"===document.documentElement.dir,Qt=t=>{var e;e=()=>{const e=Rt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Vt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Vt)t()})),Vt.push(e)):e()},Xt=t=>{"function"==typeof t&&t()},Yt=(t,e,i=!0)=>{if(!i)return void Xt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(St,o),Xt(t))};e.addEventListener(St,o),setTimeout((()=>{s||jt(e)}),n)},Ut=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Gt=/[^.]*(?=\..*)\.|.*/,Jt=/\..*/,Zt=/::\d+$/,te={};let ee=1;const ie={mouseenter:"mouseover",mouseleave:"mouseout"},ne=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function se(t,e){return e&&`${e}::${ee++}`||t.uidEvent||ee++}function oe(t){const e=se(t);return t.uidEvent=e,te[e]=te[e]||{},te[e]}function re(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function ae(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=ue(t);return ne.has(o)||(o=t),[n,s,o]}function le(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=ae(e,i,n);if(e in ie){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=oe(t),c=l[a]||(l[a]={}),h=re(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const u=se(r,e.replace(Gt,"")),d=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return fe(s,{delegateTarget:r}),n.oneOff&&de.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return fe(n,{delegateTarget:t}),i.oneOff&&de.off(t,n.type,e),e.apply(t,[n])}}(t,r);d.delegationSelector=o?i:null,d.callable=r,d.oneOff=s,d.uidEvent=u,c[u]=d,t.addEventListener(a,d,o)}function ce(t,e,i,n,s){const o=re(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function he(t,e,i,n){const s=e[i]||{};for(const o of Object.keys(s))if(o.includes(n)){const n=s[o];ce(t,e,i,n.callable,n.delegationSelector)}}function ue(t){return t=t.replace(Jt,""),ie[t]||t}const de={on(t,e,i,n){le(t,e,i,n,!1)},one(t,e,i,n){le(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=ae(e,i,n),a=r!==e,l=oe(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))he(t,l,i,e.slice(1));for(const i of Object.keys(c)){const n=i.replace(Zt,"");if(!a||e.includes(n)){const e=c[i];ce(t,l,r,e.callable,e.delegationSelector)}}}else{if(!Object.keys(c).length)return;ce(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=Rt();let s=null,o=!0,r=!0,a=!1;e!==ue(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());let l=new Event(e,{bubbles:o,cancelable:!0});return l=fe(l,i),a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function fe(t,e){for(const[i,n]of Object.entries(e||{}))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}const pe=new Map,ge={set(t,e,i){pe.has(t)||pe.set(t,new Map);const n=pe.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>pe.has(t)&&pe.get(t).get(e)||null,remove(t,e){if(!pe.has(t))return;const i=pe.get(t);i.delete(e),0===i.size&&pe.delete(t)}};function me(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function _e(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const be={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${_e(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${_e(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=me(t.dataset[n])}return e},getDataAttribute:(t,e)=>me(t.getAttribute(`data-bs-${_e(e)}`))};class ve{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=Mt(e)?be.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...Mt(e)?be.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const n of Object.keys(e)){const s=e[n],o=t[n],r=Mt(o)?"element":null==(i=o)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class ye extends ve{constructor(t,e){super(),(t=Ht(t))&&(this._element=t,this._config=this._getConfig(e),ge.set(this._element,this.constructor.DATA_KEY,this))}dispose(){ge.remove(this._element,this.constructor.DATA_KEY),de.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Yt(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return ge.get(Ht(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.2.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const we=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;de.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Ft(this))return;const s=Pt(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ae=".bs.alert",Ee=`close${Ae}`,Ce=`closed${Ae}`;class Te extends ye{static get NAME(){return"alert"}close(){if(de.trigger(this._element,Ee).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),de.trigger(this._element,Ce),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Te.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}we(Te,"close"),Qt(Te);const Oe='[data-bs-toggle="button"]';class xe extends ye{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=xe.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}de.on(document,"click.bs.button.data-api",Oe,(t=>{t.preventDefault();const e=t.target.closest(Oe);xe.getOrCreateInstance(e).toggle()})),Qt(xe);const ke={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Ft(t)&&Wt(t)))}},Le=".bs.swipe",De=`touchstart${Le}`,$e=`touchmove${Le}`,Se=`touchend${Le}`,Ie=`pointerdown${Le}`,Ne=`pointerup${Le}`,Pe={endCallback:null,leftCallback:null,rightCallback:null},je={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Me extends ve{constructor(t,e){super(),this._element=t,t&&Me.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Pe}static get DefaultType(){return je}static get NAME(){return"swipe"}dispose(){de.off(this._element,Le)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Xt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Xt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(de.on(this._element,Ie,(t=>this._start(t))),de.on(this._element,Ne,(t=>this._end(t))),this._element.classList.add("pointer-event")):(de.on(this._element,De,(t=>this._start(t))),de.on(this._element,$e,(t=>this._move(t))),de.on(this._element,Se,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const He=".bs.carousel",We=".data-api",Fe="next",Be="prev",ze="left",qe="right",Re=`slide${He}`,Ve=`slid${He}`,Ke=`keydown${He}`,Qe=`mouseenter${He}`,Xe=`mouseleave${He}`,Ye=`dragstart${He}`,Ue=`load${He}${We}`,Ge=`click${He}${We}`,Je="carousel",Ze="active",ti=".active",ei=".carousel-item",ii=ti+ei,ni={ArrowLeft:qe,ArrowRight:ze},si={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},oi={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class ri extends ye{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=ke.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Je&&this.cycle()}static get Default(){return si}static get DefaultType(){return oi}static get NAME(){return"carousel"}next(){this._slide(Fe)}nextWhenVisible(){!document.hidden&&Wt(this._element)&&this.next()}prev(){this._slide(Be)}pause(){this._isSliding&&jt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?de.one(this._element,Ve,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void de.one(this._element,Ve,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?Fe:Be;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&de.on(this._element,Ke,(t=>this._keydown(t))),"hover"===this._config.pause&&(de.on(this._element,Qe,(()=>this.pause())),de.on(this._element,Xe,(()=>this._maybeEnableCycle()))),this._config.touch&&Me.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of ke.find(".carousel-item img",this._element))de.on(t,Ye,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ze)),rightCallback:()=>this._slide(this._directionToOrder(qe)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Me(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ni[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=ke.findOne(ti,this._indicatorsElement);e.classList.remove(Ze),e.removeAttribute("aria-current");const i=ke.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Ze),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===Fe,s=e||Ut(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>de.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(Re).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),qt(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(Ze),i.classList.remove(Ze,c,l),this._isSliding=!1,r(Ve)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return ke.findOne(ii,this._element)}_getItems(){return ke.find(ei,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Kt()?t===ze?Be:Fe:t===ze?Fe:Be}_orderToDirection(t){return Kt()?t===Be?ze:qe:t===Be?qe:ze}static jQueryInterface(t){return this.each((function(){const e=ri.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}de.on(document,Ge,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=Pt(this);if(!e||!e.classList.contains(Je))return;t.preventDefault();const i=ri.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===be.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),de.on(window,Ue,(()=>{const t=ke.find('[data-bs-ride="carousel"]');for(const e of t)ri.getOrCreateInstance(e)})),Qt(ri);const ai=".bs.collapse",li=`show${ai}`,ci=`shown${ai}`,hi=`hide${ai}`,ui=`hidden${ai}`,di=`click${ai}.data-api`,fi="show",pi="collapse",gi="collapsing",mi=`:scope .${pi} .${pi}`,_i='[data-bs-toggle="collapse"]',bi={parent:null,toggle:!0},vi={parent:"(null|element)",toggle:"boolean"};class yi extends ye{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=ke.find(_i);for(const t of i){const e=Nt(t),i=ke.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return bi}static get DefaultType(){return vi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>yi.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(de.trigger(this._element,li).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(pi),this._element.classList.add(gi),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(gi),this._element.classList.add(pi,fi),this._element.style[e]="",de.trigger(this._element,ci)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(de.trigger(this._element,hi).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,qt(this._element),this._element.classList.add(gi),this._element.classList.remove(pi,fi);for(const t of this._triggerArray){const e=Pt(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(gi),this._element.classList.add(pi),de.trigger(this._element,ui)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(fi)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ht(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(_i);for(const e of t){const t=Pt(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=ke.find(mi,this._config.parent);return ke.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=yi.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}de.on(document,di,_i,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=Nt(this),i=ke.find(e);for(const t of i)yi.getOrCreateInstance(t,{toggle:!1}).toggle()})),Qt(yi);const wi="dropdown",Ai=".bs.dropdown",Ei=".data-api",Ci="ArrowUp",Ti="ArrowDown",Oi=`hide${Ai}`,xi=`hidden${Ai}`,ki=`show${Ai}`,Li=`shown${Ai}`,Di=`click${Ai}${Ei}`,$i=`keydown${Ai}${Ei}`,Si=`keyup${Ai}${Ei}`,Ii="show",Ni='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Pi=`${Ni}.${Ii}`,ji=".dropdown-menu",Mi=Kt()?"top-end":"top-start",Hi=Kt()?"top-start":"top-end",Wi=Kt()?"bottom-end":"bottom-start",Fi=Kt()?"bottom-start":"bottom-end",Bi=Kt()?"left-start":"right-start",zi=Kt()?"right-start":"left-start",qi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ri={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Vi extends ye{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=ke.next(this._element,ji)[0]||ke.prev(this._element,ji)[0]||ke.findOne(ji,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return qi}static get DefaultType(){return Ri}static get NAME(){return wi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Ft(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!de.trigger(this._element,ki,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))de.on(t,"mouseover",zt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Ii),this._element.classList.add(Ii),de.trigger(this._element,Li,t)}}hide(){if(Ft(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!de.trigger(this._element,Oi,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))de.off(t,"mouseover",zt);this._popper&&this._popper.destroy(),this._menu.classList.remove(Ii),this._element.classList.remove(Ii),this._element.setAttribute("aria-expanded","false"),be.removeDataAttribute(this._menu,"popper"),de.trigger(this._element,xi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Mt(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${wi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===e)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Mt(this._config.reference)?t=Ht(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const i=this._getPopperConfig();this._popper=Dt(t,this._menu,i)}_isShown(){return this._menu.classList.contains(Ii)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Bi;if(t.classList.contains("dropstart"))return zi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Hi:Mi:e?Fi:Wi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(be.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=ke.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Wt(t)));i.length&&Ut(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Vi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=ke.find(Pi);for(const i of e){const e=Vi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ci,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ni)?this:ke.prev(this,Ni)[0]||ke.next(this,Ni)[0]||ke.findOne(Ni,t.delegateTarget.parentNode),o=Vi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}de.on(document,$i,Ni,Vi.dataApiKeydownHandler),de.on(document,$i,ji,Vi.dataApiKeydownHandler),de.on(document,Di,Vi.clearMenus),de.on(document,Si,Vi.clearMenus),de.on(document,Di,Ni,(function(t){t.preventDefault(),Vi.getOrCreateInstance(this).toggle()})),Qt(Vi);const Ki=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Qi=".sticky-top",Xi="padding-right",Yi="margin-right";class Ui{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Xi,(e=>e+t)),this._setElementAttributes(Ki,Xi,(e=>e+t)),this._setElementAttributes(Qi,Yi,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Xi),this._resetElementAttributes(Ki,Xi),this._resetElementAttributes(Qi,Yi)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&be.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=be.getDataAttribute(t,e);null!==i?(be.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Mt(t))e(t);else for(const i of ke.find(t,this._element))e(i)}}const Gi="backdrop",Ji="show",Zi=`mousedown.bs.${Gi}`,tn={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},en={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class nn extends ve{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return tn}static get DefaultType(){return en}static get NAME(){return Gi}show(t){if(!this._config.isVisible)return void Xt(t);this._append();const e=this._getElement();this._config.isAnimated&&qt(e),e.classList.add(Ji),this._emulateAnimation((()=>{Xt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ji),this._emulateAnimation((()=>{this.dispose(),Xt(t)}))):Xt(t)}dispose(){this._isAppended&&(de.off(this._element,Zi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ht(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),de.on(t,Zi,(()=>{Xt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Yt(t,this._getElement(),this._config.isAnimated)}}const sn=".bs.focustrap",on=`focusin${sn}`,rn=`keydown.tab${sn}`,an="backward",ln={autofocus:!0,trapElement:null},cn={autofocus:"boolean",trapElement:"element"};class hn extends ve{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ln}static get DefaultType(){return cn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),de.off(document,sn),de.on(document,on,(t=>this._handleFocusin(t))),de.on(document,rn,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,de.off(document,sn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=ke.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===an?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?an:"forward")}}const un=".bs.modal",dn=`hide${un}`,fn=`hidePrevented${un}`,pn=`hidden${un}`,gn=`show${un}`,mn=`shown${un}`,_n=`resize${un}`,bn=`click.dismiss${un}`,vn=`mousedown.dismiss${un}`,yn=`keydown.dismiss${un}`,wn=`click${un}.data-api`,An="modal-open",En="show",Cn="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},On={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class xn extends ye{constructor(t,e){super(t,e),this._dialog=ke.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ui,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return On}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||de.trigger(this._element,gn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(An),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(de.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(En),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){for(const t of[window,this._dialog])de.off(t,un);this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new nn({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new hn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=ke.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),qt(this._element),this._element.classList.add(En),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,de.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){de.on(this._element,yn,(t=>{if("Escape"===t.key)return this._config.keyboard?(t.preventDefault(),void this.hide()):void this._triggerBackdropTransition()})),de.on(window,_n,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),de.on(this._element,vn,(t=>{de.one(this._element,bn,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(An),this._resetAdjustments(),this._scrollBar.reset(),de.trigger(this._element,pn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(de.trigger(this._element,fn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Cn)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Cn),this._queueCallback((()=>{this._element.classList.remove(Cn),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Kt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Kt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=xn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}de.on(document,wn,'[data-bs-toggle="modal"]',(function(t){const e=Pt(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),de.one(e,gn,(t=>{t.defaultPrevented||de.one(e,pn,(()=>{Wt(this)&&this.focus()}))}));const i=ke.findOne(".modal.show");i&&xn.getInstance(i).hide(),xn.getOrCreateInstance(e).toggle(this)})),we(xn),Qt(xn);const kn=".bs.offcanvas",Ln=".data-api",Dn=`load${kn}${Ln}`,$n="show",Sn="showing",In="hiding",Nn=".offcanvas.show",Pn=`show${kn}`,jn=`shown${kn}`,Mn=`hide${kn}`,Hn=`hidePrevented${kn}`,Wn=`hidden${kn}`,Fn=`resize${kn}`,Bn=`click${kn}${Ln}`,zn=`keydown.dismiss${kn}`,qn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Vn extends ye{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return qn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||de.trigger(this._element,Pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ui).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Sn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add($n),this._element.classList.remove(Sn),de.trigger(this._element,jn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(de.trigger(this._element,Mn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(In),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove($n,In),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Ui).reset(),de.trigger(this._element,Wn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new nn({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():de.trigger(this._element,Hn)}:null})}_initializeFocusTrap(){return new hn({trapElement:this._element})}_addEventListeners(){de.on(this._element,zn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():de.trigger(this._element,Hn))}))}static jQueryInterface(t){return this.each((function(){const e=Vn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}de.on(document,Bn,'[data-bs-toggle="offcanvas"]',(function(t){const e=Pt(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Ft(this))return;de.one(e,Wn,(()=>{Wt(this)&&this.focus()}));const i=ke.findOne(Nn);i&&i!==e&&Vn.getInstance(i).hide(),Vn.getOrCreateInstance(e).toggle(this)})),de.on(window,Dn,(()=>{for(const t of ke.find(Nn))Vn.getOrCreateInstance(t).show()})),de.on(window,Fn,(()=>{for(const t of ke.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Vn.getOrCreateInstance(t).hide()})),we(Vn),Qt(Vn);const Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Xn=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Yn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)||Xn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Un={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Gn={allowList:Un,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
    "},Jn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Zn={entry:"(string|element|function|null)",selector:"(string|element)"};class ts extends ve{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Gn}static get DefaultType(){return Jn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Zn)}_setContent(t,e,i){const n=ke.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?Mt(e)?this._putElementInTemplate(Ht(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Yn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return"function"==typeof t?t(this):t}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const es=new Set(["sanitize","allowList","sanitizeFn"]),is="fade",ns="show",ss=".modal",os="hide.bs.modal",rs="hover",as="focus",ls={AUTO:"auto",TOP:"top",RIGHT:Kt()?"left":"right",BOTTOM:"bottom",LEFT:Kt()?"right":"left"},cs={allowList:Un,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,0],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},hs={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class us extends ye{constructor(t,i){if(void 0===e)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,i),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return cs}static get DefaultType(){return hs}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),de.off(this._element.closest(ss),os,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=de.trigger(this._element,this.constructor.eventName("show")),e=(Bt(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),de.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ns),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))de.on(t,"mouseover",zt);this._queueCallback((()=>{de.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!de.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(ns),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))de.off(t,"mouseover",zt);this._activeTrigger.click=!1,this._activeTrigger[as]=!1,this._activeTrigger[rs]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),de.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(is,ns),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(is),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new ts({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(is)}_isShown(){return this.tip&&this.tip.classList.contains(ns)}_createPopper(t){const e="function"==typeof this._config.placement?this._config.placement.call(this,t,this._element):this._config.placement,i=ls[e.toUpperCase()];return Dt(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)de.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===rs?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===rs?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");de.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?as:rs]=!0,e._enter()})),de.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?as:rs]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},de.on(this._element.closest(ss),os,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=be.getDataAttributes(this._element);for(const t of Object.keys(e))es.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ht(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(us);const ds={...us.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},fs={...us.DefaultType,content:"(null|string|element|function)"};class ps extends us{static get Default(){return ds}static get DefaultType(){return fs}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=ps.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Qt(ps);const gs=".bs.scrollspy",ms=`activate${gs}`,_s=`click${gs}`,bs=`load${gs}.data-api`,vs="active",ys="[href]",ws=".nav-link",As=`${ws}, .nav-item > ${ws}, .list-group-item`,Es={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Cs={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ts extends ye{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Es}static get DefaultType(){return Cs}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ht(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(de.off(this._config.target,_s),de.on(this._config.target,_s,ys,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=ke.find(ys,this._config.target);for(const e of t){if(!e.hash||Ft(e))continue;const t=ke.findOne(e.hash,this._element);Wt(t)&&(this._targetLinks.set(e.hash,e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(vs),this._activateParents(t),de.trigger(this._element,ms,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))ke.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(vs);else for(const e of ke.parents(t,".nav, .list-group"))for(const t of ke.prev(e,As))t.classList.add(vs)}_clearActiveClass(t){t.classList.remove(vs);const e=ke.find(`${ys}.${vs}`,t);for(const t of e)t.classList.remove(vs)}static jQueryInterface(t){return this.each((function(){const e=Ts.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}de.on(window,bs,(()=>{for(const t of ke.find('[data-bs-spy="scroll"]'))Ts.getOrCreateInstance(t)})),Qt(Ts);const Os=".bs.tab",xs=`hide${Os}`,ks=`hidden${Os}`,Ls=`show${Os}`,Ds=`shown${Os}`,$s=`click${Os}`,Ss=`keydown${Os}`,Is=`load${Os}`,Ns="ArrowLeft",Ps="ArrowRight",js="ArrowUp",Ms="ArrowDown",Hs="active",Ws="fade",Fs="show",Bs=":not(.dropdown-toggle)",zs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${Bs}, .list-group-item${Bs}, [role="tab"]${Bs}, ${zs}`,Rs=`.${Hs}[data-bs-toggle="tab"], .${Hs}[data-bs-toggle="pill"], .${Hs}[data-bs-toggle="list"]`;class Vs extends ye{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),de.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?de.trigger(e,xs,{relatedTarget:t}):null;de.trigger(t,Ls,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Hs),this._activate(Pt(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),de.trigger(t,Ds,{relatedTarget:e})):t.classList.add(Fs)}),t,t.classList.contains(Ws)))}_deactivate(t,e){t&&(t.classList.remove(Hs),t.blur(),this._deactivate(Pt(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),de.trigger(t,ks,{relatedTarget:e})):t.classList.remove(Fs)}),t,t.classList.contains(Ws)))}_keydown(t){if(![Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[Ps,Ms].includes(t.key),i=Ut(this._getChildren().filter((t=>!Ft(t))),t.target,e,!0);i&&(i.focus({preventScroll:!0}),Vs.getOrCreateInstance(i).show())}_getChildren(){return ke.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=Pt(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`#${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=ke.findOne(t,i);s&&s.classList.toggle(n,e)};n(".dropdown-toggle",Hs),n(".dropdown-menu",Fs),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Hs)}_getInnerElement(t){return t.matches(qs)?t:ke.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Vs.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}de.on(document,$s,zs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Ft(this)||Vs.getOrCreateInstance(this).show()})),de.on(window,Is,(()=>{for(const t of ke.find(Rs))Vs.getOrCreateInstance(t)})),Qt(Vs);const Ks=".bs.toast",Qs=`mouseover${Ks}`,Xs=`mouseout${Ks}`,Ys=`focusin${Ks}`,Us=`focusout${Ks}`,Gs=`hide${Ks}`,Js=`hidden${Ks}`,Zs=`show${Ks}`,to=`shown${Ks}`,eo="hide",io="show",no="showing",so={animation:"boolean",autohide:"boolean",delay:"number"},oo={animation:!0,autohide:!0,delay:5e3};class ro extends ye{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return oo}static get DefaultType(){return so}static get NAME(){return"toast"}show(){de.trigger(this._element,Zs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(eo),qt(this._element),this._element.classList.add(io,no),this._queueCallback((()=>{this._element.classList.remove(no),de.trigger(this._element,to),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(de.trigger(this._element,Gs).defaultPrevented||(this._element.classList.add(no),this._queueCallback((()=>{this._element.classList.add(eo),this._element.classList.remove(no,io),de.trigger(this._element,Js)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(io),super.dispose()}isShown(){return this._element.classList.contains(io)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){de.on(this._element,Qs,(t=>this._onInteraction(t,!0))),de.on(this._element,Xs,(t=>this._onInteraction(t,!1))),de.on(this._element,Ys,(t=>this._onInteraction(t,!0))),de.on(this._element,Us,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ro.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}var ao;we(ro),Qt(ro),ao=function(){[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(t){return new us(t,{delay:{show:500,hide:100}})}))},"loading"!=document.readyState?ao():document.addEventListener("DOMContentLoaded",ao)})(); +//# sourceMappingURL=bootstrap.js.map \ No newline at end of file diff --git a/nightly/_static/scripts/bootstrap.js.LICENSE.txt b/nightly/_static/scripts/bootstrap.js.LICENSE.txt new file mode 100644 index 0000000000..91ad10aa07 --- /dev/null +++ b/nightly/_static/scripts/bootstrap.js.LICENSE.txt @@ -0,0 +1,5 @@ +/*! + * Bootstrap v5.2.3 (https://getbootstrap.com/) + * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ diff --git a/nightly/_static/scripts/bootstrap.js.map b/nightly/_static/scripts/bootstrap.js.map new file mode 100644 index 0000000000..d83e2f7cdd --- /dev/null +++ b/nightly/_static/scripts/bootstrap.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/bootstrap.js","mappings":"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","sources":["webpack://pydata_sphinx_theme/webpack/bootstrap","webpack://pydata_sphinx_theme/webpack/runtime/define property getters","webpack://pydata_sphinx_theme/webpack/runtime/hasOwnProperty shorthand","webpack://pydata_sphinx_theme/webpack/runtime/make namespace object","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/enums.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/math.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/within.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/createPopper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper.js","webpack://pydata_sphinx_theme/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://pydata_sphinx_theme/./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/mixin.js","webpack://pydata_sphinx_theme/./src/pydata_sphinx_theme/assets/scripts/bootstrap.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/*!\n * Bootstrap v5.2.3 (https://getbootstrap.com/)\n * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\nimport * as Popper from '@popperjs/core';\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nconst MAX_UID = 1000000;\nconst MILLISECONDS_MULTIPLIER = 1000;\nconst TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp)\n\nconst toType = object => {\n if (object === null || object === undefined) {\n return `${object}`;\n }\n\n return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase();\n};\n/**\n * Public Util API\n */\n\n\nconst getUID = prefix => {\n do {\n prefix += Math.floor(Math.random() * MAX_UID);\n } while (document.getElementById(prefix));\n\n return prefix;\n};\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target');\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n\n if (!hrefAttribute || !hrefAttribute.includes('#') && !hrefAttribute.startsWith('.')) {\n return null;\n } // Just in case some CMS puts out a full URL with the anchor appended\n\n\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`;\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null;\n }\n\n return selector;\n};\n\nconst getSelectorFromElement = element => {\n const selector = getSelector(element);\n\n if (selector) {\n return document.querySelector(selector) ? selector : null;\n }\n\n return null;\n};\n\nconst getElementFromSelector = element => {\n const selector = getSelector(element);\n return selector ? document.querySelector(selector) : null;\n};\n\nconst getTransitionDurationFromElement = element => {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n let {\n transitionDuration,\n transitionDelay\n } = window.getComputedStyle(element);\n const floatTransitionDuration = Number.parseFloat(transitionDuration);\n const floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n};\n\nconst triggerTransitionEnd = element => {\n element.dispatchEvent(new Event(TRANSITION_END));\n};\n\nconst isElement = object => {\n if (!object || typeof object !== 'object') {\n return false;\n }\n\n if (typeof object.jquery !== 'undefined') {\n object = object[0];\n }\n\n return typeof object.nodeType !== 'undefined';\n};\n\nconst getElement = object => {\n // it's a jQuery object or a node element\n if (isElement(object)) {\n return object.jquery ? object[0] : object;\n }\n\n if (typeof object === 'string' && object.length > 0) {\n return document.querySelector(object);\n }\n\n return null;\n};\n\nconst isVisible = element => {\n if (!isElement(element) || element.getClientRects().length === 0) {\n return false;\n }\n\n const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'; // Handle `details` element as its content may falsie appear visible when it is closed\n\n const closedDetails = element.closest('details:not([open])');\n\n if (!closedDetails) {\n return elementIsVisible;\n }\n\n if (closedDetails !== element) {\n const summary = element.closest('summary');\n\n if (summary && summary.parentNode !== closedDetails) {\n return false;\n }\n\n if (summary === null) {\n return false;\n }\n }\n\n return elementIsVisible;\n};\n\nconst isDisabled = element => {\n if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n return true;\n }\n\n if (element.classList.contains('disabled')) {\n return true;\n }\n\n if (typeof element.disabled !== 'undefined') {\n return element.disabled;\n }\n\n return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';\n};\n\nconst findShadowRoot = element => {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return findShadowRoot(element.parentNode);\n};\n\nconst noop = () => {};\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\n\n\nconst reflow = element => {\n element.offsetHeight; // eslint-disable-line no-unused-expressions\n};\n\nconst getjQuery = () => {\n if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n return window.jQuery;\n }\n\n return null;\n};\n\nconst DOMContentLoadedCallbacks = [];\n\nconst onDOMContentLoaded = callback => {\n if (document.readyState === 'loading') {\n // add listener on the first call when the document is in loading state\n if (!DOMContentLoadedCallbacks.length) {\n document.addEventListener('DOMContentLoaded', () => {\n for (const callback of DOMContentLoadedCallbacks) {\n callback();\n }\n });\n }\n\n DOMContentLoadedCallbacks.push(callback);\n } else {\n callback();\n }\n};\n\nconst isRTL = () => document.documentElement.dir === 'rtl';\n\nconst defineJQueryPlugin = plugin => {\n onDOMContentLoaded(() => {\n const $ = getjQuery();\n /* istanbul ignore if */\n\n if ($) {\n const name = plugin.NAME;\n const JQUERY_NO_CONFLICT = $.fn[name];\n $.fn[name] = plugin.jQueryInterface;\n $.fn[name].Constructor = plugin;\n\n $.fn[name].noConflict = () => {\n $.fn[name] = JQUERY_NO_CONFLICT;\n return plugin.jQueryInterface;\n };\n }\n });\n};\n\nconst execute = callback => {\n if (typeof callback === 'function') {\n callback();\n }\n};\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n if (!waitForTransition) {\n execute(callback);\n return;\n }\n\n const durationPadding = 5;\n const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding;\n let called = false;\n\n const handler = ({\n target\n }) => {\n if (target !== transitionElement) {\n return;\n }\n\n called = true;\n transitionElement.removeEventListener(TRANSITION_END, handler);\n execute(callback);\n };\n\n transitionElement.addEventListener(TRANSITION_END, handler);\n setTimeout(() => {\n if (!called) {\n triggerTransitionEnd(transitionElement);\n }\n }, emulatedDuration);\n};\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list The list of elements\n * @param activeElement The active element\n * @param shouldGetNext Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\n\n\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n const listLength = list.length;\n let index = list.indexOf(activeElement); // if the element does not exist in the list return an element\n // depending on the direction and if cycle is allowed\n\n if (index === -1) {\n return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0];\n }\n\n index += shouldGetNext ? 1 : -1;\n\n if (isCycleAllowed) {\n index = (index + listLength) % listLength;\n }\n\n return list[Math.max(0, Math.min(index, listLength - 1))];\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/;\nconst stripNameRegex = /\\..*/;\nconst stripUidRegex = /::\\d+$/;\nconst eventRegistry = {}; // Events storage\n\nlet uidEvent = 1;\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n};\nconst nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element);\n element.uidEvent = uid;\n eventRegistry[uid] = eventRegistry[uid] || {};\n return eventRegistry[uid];\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, {\n delegateTarget: element\n });\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn);\n }\n\n return fn.apply(element, [event]);\n };\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector);\n\n for (let {\n target\n } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue;\n }\n\n hydrateObj(event, {\n delegateTarget: target\n });\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn);\n }\n\n return fn.apply(target, [event]);\n }\n }\n };\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector);\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check\n\n const callable = isDelegated ? delegationFunction : handler || delegationFunction;\n let typeEvent = getTypeEvent(originalTypeEvent);\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent;\n }\n\n return [isDelegated, callable, typeEvent];\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {\n return fn.call(this, event);\n }\n };\n };\n\n callable = wrapFunction(callable);\n }\n\n const events = getElementEvents(element);\n const handlers = events[typeEvent] || (events[typeEvent] = {});\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null);\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff;\n return;\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''));\n const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable);\n fn.delegationSelector = isDelegated ? handler : null;\n fn.callable = callable;\n fn.oneOff = oneOff;\n fn.uidEvent = uid;\n handlers[uid] = fn;\n element.addEventListener(typeEvent, fn, isDelegated);\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector);\n\n if (!fn) {\n return;\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));\n delete events[typeEvent][fn.uidEvent];\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {};\n\n for (const handlerKey of Object.keys(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n const event = storeElementEvent[handlerKey];\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '');\n return customEvents[event] || event;\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false);\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true);\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return;\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction);\n const inNamespace = typeEvent !== originalTypeEvent;\n const events = getElementEvents(element);\n const storeElementEvent = events[typeEvent] || {};\n const isNamespace = originalTypeEvent.startsWith('.');\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return;\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null);\n return;\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));\n }\n }\n\n for (const keyHandlers of Object.keys(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '');\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n const event = storeElementEvent[keyHandlers];\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector);\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null;\n }\n\n const $ = getjQuery();\n const typeEvent = getTypeEvent(event);\n const inNamespace = event !== typeEvent;\n let jQueryEvent = null;\n let bubbles = true;\n let nativeDispatch = true;\n let defaultPrevented = false;\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args);\n $(element).trigger(jQueryEvent);\n bubbles = !jQueryEvent.isPropagationStopped();\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();\n defaultPrevented = jQueryEvent.isDefaultPrevented();\n }\n\n let evt = new Event(event, {\n bubbles,\n cancelable: true\n });\n evt = hydrateObj(evt, args);\n\n if (defaultPrevented) {\n evt.preventDefault();\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt);\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault();\n }\n\n return evt;\n }\n\n};\n\nfunction hydrateObj(obj, meta) {\n for (const [key, value] of Object.entries(meta || {})) {\n try {\n obj[key] = value;\n } catch (_unused) {\n Object.defineProperty(obj, key, {\n configurable: true,\n\n get() {\n return value;\n }\n\n });\n }\n }\n\n return obj;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\nconst elementMap = new Map();\nconst Data = {\n set(element, key, instance) {\n if (!elementMap.has(element)) {\n elementMap.set(element, new Map());\n }\n\n const instanceMap = elementMap.get(element); // make it clear we only want one instance per element\n // can be removed later when multiple key/instances are fine to be used\n\n if (!instanceMap.has(key) && instanceMap.size !== 0) {\n // eslint-disable-next-line no-console\n console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);\n return;\n }\n\n instanceMap.set(key, instance);\n },\n\n get(element, key) {\n if (elementMap.has(element)) {\n return elementMap.get(element).get(key) || null;\n }\n\n return null;\n },\n\n remove(element, key) {\n if (!elementMap.has(element)) {\n return;\n }\n\n const instanceMap = elementMap.get(element);\n instanceMap.delete(key); // free up element references if there are no instances left for an element\n\n if (instanceMap.size === 0) {\n elementMap.delete(element);\n }\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nfunction normalizeData(value) {\n if (value === 'true') {\n return true;\n }\n\n if (value === 'false') {\n return false;\n }\n\n if (value === Number(value).toString()) {\n return Number(value);\n }\n\n if (value === '' || value === 'null') {\n return null;\n }\n\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(decodeURIComponent(value));\n } catch (_unused) {\n return value;\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`);\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value);\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`);\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {};\n }\n\n const attributes = {};\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'));\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '');\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);\n attributes[pureKey] = normalizeData(element.dataset[key]);\n }\n\n return attributes;\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`));\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Class definition\n */\n\nclass Config {\n // Getters\n static get Default() {\n return {};\n }\n\n static get DefaultType() {\n return {};\n }\n\n static get NAME() {\n throw new Error('You have to implement the static method \"NAME\", for each component!');\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n\n _configAfterMerge(config) {\n return config;\n }\n\n _mergeConfigObj(config, element) {\n const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {}; // try to parse\n\n return { ...this.constructor.Default,\n ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n ...(typeof config === 'object' ? config : {})\n };\n }\n\n _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n for (const property of Object.keys(configTypes)) {\n const expectedTypes = configTypes[property];\n const value = config[property];\n const valueType = isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`);\n }\n }\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst VERSION = '5.2.3';\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n constructor(element, config) {\n super();\n element = getElement(element);\n\n if (!element) {\n return;\n }\n\n this._element = element;\n this._config = this._getConfig(config);\n Data.set(this._element, this.constructor.DATA_KEY, this);\n } // Public\n\n\n dispose() {\n Data.remove(this._element, this.constructor.DATA_KEY);\n EventHandler.off(this._element, this.constructor.EVENT_KEY);\n\n for (const propertyName of Object.getOwnPropertyNames(this)) {\n this[propertyName] = null;\n }\n }\n\n _queueCallback(callback, element, isAnimated = true) {\n executeAfterTransition(callback, element, isAnimated);\n }\n\n _getConfig(config) {\n config = this._mergeConfigObj(config, this._element);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n } // Static\n\n\n static getInstance(element) {\n return Data.get(getElement(element), this.DATA_KEY);\n }\n\n static getOrCreateInstance(element, config = {}) {\n return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null);\n }\n\n static get VERSION() {\n return VERSION;\n }\n\n static get DATA_KEY() {\n return `bs.${this.NAME}`;\n }\n\n static get EVENT_KEY() {\n return `.${this.DATA_KEY}`;\n }\n\n static eventName(name) {\n return `${name}${this.EVENT_KEY}`;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n const clickEvent = `click.dismiss${component.EVENT_KEY}`;\n const name = component.NAME;\n EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n const target = getElementFromSelector(this) || this.closest(`.${name}`);\n const instance = component.getOrCreateInstance(target); // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n\n instance[method]();\n });\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$f = 'alert';\nconst DATA_KEY$a = 'bs.alert';\nconst EVENT_KEY$b = `.${DATA_KEY$a}`;\nconst EVENT_CLOSE = `close${EVENT_KEY$b}`;\nconst EVENT_CLOSED = `closed${EVENT_KEY$b}`;\nconst CLASS_NAME_FADE$5 = 'fade';\nconst CLASS_NAME_SHOW$8 = 'show';\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$f;\n } // Public\n\n\n close() {\n const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE);\n\n if (closeEvent.defaultPrevented) {\n return;\n }\n\n this._element.classList.remove(CLASS_NAME_SHOW$8);\n\n const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);\n\n this._queueCallback(() => this._destroyElement(), this._element, isAnimated);\n } // Private\n\n\n _destroyElement() {\n this._element.remove();\n\n EventHandler.trigger(this._element, EVENT_CLOSED);\n this.dispose();\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Alert.getOrCreateInstance(this);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](this);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nenableDismissTrigger(Alert, 'close');\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Alert);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$e = 'button';\nconst DATA_KEY$9 = 'bs.button';\nconst EVENT_KEY$a = `.${DATA_KEY$9}`;\nconst DATA_API_KEY$6 = '.data-api';\nconst CLASS_NAME_ACTIVE$3 = 'active';\nconst SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle=\"button\"]';\nconst EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n // Getters\n static get NAME() {\n return NAME$e;\n } // Public\n\n\n toggle() {\n // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Button.getOrCreateInstance(this);\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {\n event.preventDefault();\n const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);\n const data = Button.getOrCreateInstance(button);\n data.toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Button);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector));\n },\n\n parents(element, selector) {\n const parents = [];\n let ancestor = element.parentNode.closest(selector);\n\n while (ancestor) {\n parents.push(ancestor);\n ancestor = ancestor.parentNode.closest(selector);\n }\n\n return parents;\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling;\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n\n previous = previous.previousElementSibling;\n }\n\n return [];\n },\n\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling;\n\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n\n next = next.nextElementSibling;\n }\n\n return [];\n },\n\n focusableChildren(element) {\n const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable=\"true\"]'].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',');\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));\n }\n\n};\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$d = 'swipe';\nconst EVENT_KEY$9 = '.bs.swipe';\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;\nconst POINTER_TYPE_TOUCH = 'touch';\nconst POINTER_TYPE_PEN = 'pen';\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event';\nconst SWIPE_THRESHOLD = 40;\nconst Default$c = {\n endCallback: null,\n leftCallback: null,\n rightCallback: null\n};\nconst DefaultType$c = {\n endCallback: '(function|null)',\n leftCallback: '(function|null)',\n rightCallback: '(function|null)'\n};\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n constructor(element, config) {\n super();\n this._element = element;\n\n if (!element || !Swipe.isSupported()) {\n return;\n }\n\n this._config = this._getConfig(config);\n this._deltaX = 0;\n this._supportPointerEvents = Boolean(window.PointerEvent);\n\n this._initEvents();\n } // Getters\n\n\n static get Default() {\n return Default$c;\n }\n\n static get DefaultType() {\n return DefaultType$c;\n }\n\n static get NAME() {\n return NAME$d;\n } // Public\n\n\n dispose() {\n EventHandler.off(this._element, EVENT_KEY$9);\n } // Private\n\n\n _start(event) {\n if (!this._supportPointerEvents) {\n this._deltaX = event.touches[0].clientX;\n return;\n }\n\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX;\n }\n }\n\n _end(event) {\n if (this._eventIsPointerPenTouch(event)) {\n this._deltaX = event.clientX - this._deltaX;\n }\n\n this._handleSwipe();\n\n execute(this._config.endCallback);\n }\n\n _move(event) {\n this._deltaX = event.touches && event.touches.length > 1 ? 0 : event.touches[0].clientX - this._deltaX;\n }\n\n _handleSwipe() {\n const absDeltaX = Math.abs(this._deltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n const direction = absDeltaX / this._deltaX;\n this._deltaX = 0;\n\n if (!direction) {\n return;\n }\n\n execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback);\n }\n\n _initEvents() {\n if (this._supportPointerEvents) {\n EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event));\n EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event));\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event));\n EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event));\n EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event));\n }\n }\n\n _eventIsPointerPenTouch(event) {\n return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);\n } // Static\n\n\n static isSupported() {\n return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$c = 'carousel';\nconst DATA_KEY$8 = 'bs.carousel';\nconst EVENT_KEY$8 = `.${DATA_KEY$8}`;\nconst DATA_API_KEY$5 = '.data-api';\nconst ARROW_LEFT_KEY$1 = 'ArrowLeft';\nconst ARROW_RIGHT_KEY$1 = 'ArrowRight';\nconst TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next';\nconst ORDER_PREV = 'prev';\nconst DIRECTION_LEFT = 'left';\nconst DIRECTION_RIGHT = 'right';\nconst EVENT_SLIDE = `slide${EVENT_KEY$8}`;\nconst EVENT_SLID = `slid${EVENT_KEY$8}`;\nconst EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;\nconst EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;\nconst EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;\nconst EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;\nconst CLASS_NAME_CAROUSEL = 'carousel';\nconst CLASS_NAME_ACTIVE$2 = 'active';\nconst CLASS_NAME_SLIDE = 'slide';\nconst CLASS_NAME_END = 'carousel-item-end';\nconst CLASS_NAME_START = 'carousel-item-start';\nconst CLASS_NAME_NEXT = 'carousel-item-next';\nconst CLASS_NAME_PREV = 'carousel-item-prev';\nconst SELECTOR_ACTIVE = '.active';\nconst SELECTOR_ITEM = '.carousel-item';\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM;\nconst SELECTOR_ITEM_IMG = '.carousel-item img';\nconst SELECTOR_INDICATORS = '.carousel-indicators';\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]';\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]';\nconst KEY_TO_DIRECTION = {\n [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,\n [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT\n};\nconst Default$b = {\n interval: 5000,\n keyboard: true,\n pause: 'hover',\n ride: false,\n touch: true,\n wrap: true\n};\nconst DefaultType$b = {\n interval: '(number|boolean)',\n // TODO:v6 remove boolean support\n keyboard: 'boolean',\n pause: '(string|boolean)',\n ride: '(boolean|string)',\n touch: 'boolean',\n wrap: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._interval = null;\n this._activeElement = null;\n this._isSliding = false;\n this.touchTimeout = null;\n this._swipeHelper = null;\n this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element);\n\n this._addEventListeners();\n\n if (this._config.ride === CLASS_NAME_CAROUSEL) {\n this.cycle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$b;\n }\n\n static get DefaultType() {\n return DefaultType$b;\n }\n\n static get NAME() {\n return NAME$c;\n } // Public\n\n\n next() {\n this._slide(ORDER_NEXT);\n }\n\n nextWhenVisible() {\n // FIXME TODO use `document.visibilityState`\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && isVisible(this._element)) {\n this.next();\n }\n }\n\n prev() {\n this._slide(ORDER_PREV);\n }\n\n pause() {\n if (this._isSliding) {\n triggerTransitionEnd(this._element);\n }\n\n this._clearInterval();\n }\n\n cycle() {\n this._clearInterval();\n\n this._updateInterval();\n\n this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval);\n }\n\n _maybeEnableCycle() {\n if (!this._config.ride) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.cycle());\n return;\n }\n\n this.cycle();\n }\n\n to(index) {\n const items = this._getItems();\n\n if (index > items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n EventHandler.one(this._element, EVENT_SLID, () => this.to(index));\n return;\n }\n\n const activeIndex = this._getItemIndex(this._getActive());\n\n if (activeIndex === index) {\n return;\n }\n\n const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;\n\n this._slide(order, items[index]);\n }\n\n dispose() {\n if (this._swipeHelper) {\n this._swipeHelper.dispose();\n }\n\n super.dispose();\n } // Private\n\n\n _configAfterMerge(config) {\n config.defaultInterval = config.interval;\n return config;\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n EventHandler.on(this._element, EVENT_KEYDOWN$1, event => this._keydown(event));\n }\n\n if (this._config.pause === 'hover') {\n EventHandler.on(this._element, EVENT_MOUSEENTER$1, () => this.pause());\n EventHandler.on(this._element, EVENT_MOUSELEAVE$1, () => this._maybeEnableCycle());\n }\n\n if (this._config.touch && Swipe.isSupported()) {\n this._addTouchEventListeners();\n }\n }\n\n _addTouchEventListeners() {\n for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault());\n }\n\n const endCallBack = () => {\n if (this._config.pause !== 'hover') {\n return;\n } // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n\n this.pause();\n\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout);\n }\n\n this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval);\n };\n\n const swipeConfig = {\n leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n endCallback: endCallBack\n };\n this._swipeHelper = new Swipe(this._element, swipeConfig);\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n const direction = KEY_TO_DIRECTION[event.key];\n\n if (direction) {\n event.preventDefault();\n\n this._slide(this._directionToOrder(direction));\n }\n }\n\n _getItemIndex(element) {\n return this._getItems().indexOf(element);\n }\n\n _setActiveIndicatorElement(index) {\n if (!this._indicatorsElement) {\n return;\n }\n\n const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);\n activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);\n activeIndicator.removeAttribute('aria-current');\n const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement);\n\n if (newActiveIndicator) {\n newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$2);\n newActiveIndicator.setAttribute('aria-current', 'true');\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._getActive();\n\n if (!element) {\n return;\n }\n\n const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);\n this._config.interval = elementInterval || this._config.defaultInterval;\n }\n\n _slide(order, element = null) {\n if (this._isSliding) {\n return;\n }\n\n const activeElement = this._getActive();\n\n const isNext = order === ORDER_NEXT;\n const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap);\n\n if (nextElement === activeElement) {\n return;\n }\n\n const nextElementIndex = this._getItemIndex(nextElement);\n\n const triggerEvent = eventName => {\n return EventHandler.trigger(this._element, eventName, {\n relatedTarget: nextElement,\n direction: this._orderToDirection(order),\n from: this._getItemIndex(activeElement),\n to: nextElementIndex\n });\n };\n\n const slideEvent = triggerEvent(EVENT_SLIDE);\n\n if (slideEvent.defaultPrevented) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n // todo: change tests that use empty divs to avoid this check\n return;\n }\n\n const isCycling = Boolean(this._interval);\n this.pause();\n this._isSliding = true;\n\n this._setActiveIndicatorElement(nextElementIndex);\n\n this._activeElement = nextElement;\n const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;\n const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;\n nextElement.classList.add(orderClassName);\n reflow(nextElement);\n activeElement.classList.add(directionalClassName);\n nextElement.classList.add(directionalClassName);\n\n const completeCallBack = () => {\n nextElement.classList.remove(directionalClassName, orderClassName);\n nextElement.classList.add(CLASS_NAME_ACTIVE$2);\n activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);\n this._isSliding = false;\n triggerEvent(EVENT_SLID);\n };\n\n this._queueCallback(completeCallBack, activeElement, this._isAnimated());\n\n if (isCycling) {\n this.cycle();\n }\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_SLIDE);\n }\n\n _getActive() {\n return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);\n }\n\n _getItems() {\n return SelectorEngine.find(SELECTOR_ITEM, this._element);\n }\n\n _clearInterval() {\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n }\n\n _directionToOrder(direction) {\n if (isRTL()) {\n return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;\n }\n\n return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;\n }\n\n _orderToDirection(order) {\n if (isRTL()) {\n return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n\n return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Carousel.getOrCreateInstance(this, config);\n\n if (typeof config === 'number') {\n data.to(config);\n return;\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {\n const target = getElementFromSelector(this);\n\n if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n event.preventDefault();\n const carousel = Carousel.getOrCreateInstance(target);\n const slideIndex = this.getAttribute('data-bs-slide-to');\n\n if (slideIndex) {\n carousel.to(slideIndex);\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n carousel.next();\n\n carousel._maybeEnableCycle();\n\n return;\n }\n\n carousel.prev();\n\n carousel._maybeEnableCycle();\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {\n const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);\n\n for (const carousel of carousels) {\n Carousel.getOrCreateInstance(carousel);\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Carousel);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$b = 'collapse';\nconst DATA_KEY$7 = 'bs.collapse';\nconst EVENT_KEY$7 = `.${DATA_KEY$7}`;\nconst DATA_API_KEY$4 = '.data-api';\nconst EVENT_SHOW$6 = `show${EVENT_KEY$7}`;\nconst EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;\nconst EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;\nconst EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;\nconst EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;\nconst CLASS_NAME_SHOW$7 = 'show';\nconst CLASS_NAME_COLLAPSE = 'collapse';\nconst CLASS_NAME_COLLAPSING = 'collapsing';\nconst CLASS_NAME_COLLAPSED = 'collapsed';\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal';\nconst WIDTH = 'width';\nconst HEIGHT = 'height';\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';\nconst SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle=\"collapse\"]';\nconst Default$a = {\n parent: null,\n toggle: true\n};\nconst DefaultType$a = {\n parent: '(null|element)',\n toggle: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isTransitioning = false;\n this._triggerArray = [];\n const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);\n\n for (const elem of toggleList) {\n const selector = getSelectorFromElement(elem);\n const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);\n\n if (selector !== null && filterElement.length) {\n this._triggerArray.push(elem);\n }\n }\n\n this._initializeChildren();\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$a;\n }\n\n static get DefaultType() {\n return DefaultType$a;\n }\n\n static get NAME() {\n return NAME$b;\n } // Public\n\n\n toggle() {\n if (this._isShown()) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n show() {\n if (this._isTransitioning || this._isShown()) {\n return;\n }\n\n let activeChildren = []; // find active children\n\n if (this._config.parent) {\n activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(element => element !== this._element).map(element => Collapse.getOrCreateInstance(element, {\n toggle: false\n }));\n }\n\n if (activeChildren.length && activeChildren[0]._isTransitioning) {\n return;\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n for (const activeInstance of activeChildren) {\n activeInstance.hide();\n }\n\n const dimension = this._getDimension();\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.style[dimension] = 0;\n\n this._addAriaAndCollapsedClass(this._triggerArray, true);\n\n this._isTransitioning = true;\n\n const complete = () => {\n this._isTransitioning = false;\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n this._element.style[dimension] = '';\n EventHandler.trigger(this._element, EVENT_SHOWN$6);\n };\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n const scrollSize = `scroll${capitalizedDimension}`;\n\n this._queueCallback(complete, this._element, true);\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`;\n }\n\n hide() {\n if (this._isTransitioning || !this._isShown()) {\n return;\n }\n\n const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);\n\n if (startEvent.defaultPrevented) {\n return;\n }\n\n const dimension = this._getDimension();\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_COLLAPSING);\n\n this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);\n\n for (const trigger of this._triggerArray) {\n const element = getElementFromSelector(trigger);\n\n if (element && !this._isShown(element)) {\n this._addAriaAndCollapsedClass([trigger], false);\n }\n }\n\n this._isTransitioning = true;\n\n const complete = () => {\n this._isTransitioning = false;\n\n this._element.classList.remove(CLASS_NAME_COLLAPSING);\n\n this._element.classList.add(CLASS_NAME_COLLAPSE);\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$6);\n };\n\n this._element.style[dimension] = '';\n\n this._queueCallback(complete, this._element, true);\n }\n\n _isShown(element = this._element) {\n return element.classList.contains(CLASS_NAME_SHOW$7);\n } // Private\n\n\n _configAfterMerge(config) {\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n config.parent = getElement(config.parent);\n return config;\n }\n\n _getDimension() {\n return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;\n }\n\n _initializeChildren() {\n if (!this._config.parent) {\n return;\n }\n\n const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);\n\n for (const element of children) {\n const selected = getElementFromSelector(element);\n\n if (selected) {\n this._addAriaAndCollapsedClass([element], this._isShown(selected));\n }\n }\n }\n\n _getFirstLevelChildren(selector) {\n const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent); // remove children if greater depth\n\n return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element));\n }\n\n _addAriaAndCollapsedClass(triggerArray, isOpen) {\n if (!triggerArray.length) {\n return;\n }\n\n for (const element of triggerArray) {\n element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen);\n element.setAttribute('aria-expanded', isOpen);\n }\n } // Static\n\n\n static jQueryInterface(config) {\n const _config = {};\n\n if (typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n return this.each(function () {\n const data = Collapse.getOrCreateInstance(this, _config);\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n }\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n const selector = getSelectorFromElement(this);\n const selectorElements = SelectorEngine.find(selector);\n\n for (const element of selectorElements) {\n Collapse.getOrCreateInstance(element, {\n toggle: false\n }).toggle();\n }\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Collapse);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$a = 'dropdown';\nconst DATA_KEY$6 = 'bs.dropdown';\nconst EVENT_KEY$6 = `.${DATA_KEY$6}`;\nconst DATA_API_KEY$3 = '.data-api';\nconst ESCAPE_KEY$2 = 'Escape';\nconst TAB_KEY$1 = 'Tab';\nconst ARROW_UP_KEY$1 = 'ArrowUp';\nconst ARROW_DOWN_KEY$1 = 'ArrowDown';\nconst RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button\n\nconst EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;\nconst EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;\nconst EVENT_SHOW$5 = `show${EVENT_KEY$6}`;\nconst EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;\nconst EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;\nconst CLASS_NAME_SHOW$6 = 'show';\nconst CLASS_NAME_DROPUP = 'dropup';\nconst CLASS_NAME_DROPEND = 'dropend';\nconst CLASS_NAME_DROPSTART = 'dropstart';\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center';\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';\nconst SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)';\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;\nconst SELECTOR_MENU = '.dropdown-menu';\nconst SELECTOR_NAVBAR = '.navbar';\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav';\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';\nconst PLACEMENT_TOPCENTER = 'top';\nconst PLACEMENT_BOTTOMCENTER = 'bottom';\nconst Default$9 = {\n autoClose: true,\n boundary: 'clippingParents',\n display: 'dynamic',\n offset: [0, 2],\n popperConfig: null,\n reference: 'toggle'\n};\nconst DefaultType$9 = {\n autoClose: '(boolean|string)',\n boundary: '(string|element)',\n display: 'string',\n offset: '(array|string|function)',\n popperConfig: '(null|object|function)',\n reference: '(string|element|object)'\n};\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._popper = null;\n this._parent = this._element.parentNode; // dropdown wrapper\n // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);\n this._inNavbar = this._detectNavbar();\n } // Getters\n\n\n static get Default() {\n return Default$9;\n }\n\n static get DefaultType() {\n return DefaultType$9;\n }\n\n static get NAME() {\n return NAME$a;\n } // Public\n\n\n toggle() {\n return this._isShown() ? this.hide() : this.show();\n }\n\n show() {\n if (isDisabled(this._element) || this._isShown()) {\n return;\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n };\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._createPopper(); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n this._menu.classList.add(CLASS_NAME_SHOW$6);\n\n this._element.classList.add(CLASS_NAME_SHOW$6);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);\n }\n\n hide() {\n if (isDisabled(this._element) || !this._isShown()) {\n return;\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n };\n\n this._completeHide(relatedTarget);\n }\n\n dispose() {\n if (this._popper) {\n this._popper.destroy();\n }\n\n super.dispose();\n }\n\n update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper) {\n this._popper.update();\n }\n } // Private\n\n\n _completeHide(relatedTarget) {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);\n\n if (hideEvent.defaultPrevented) {\n return;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._menu.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.classList.remove(CLASS_NAME_SHOW$6);\n\n this._element.setAttribute('aria-expanded', 'false');\n\n Manipulator.removeDataAttribute(this._menu, 'popper');\n EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);\n }\n\n _getConfig(config) {\n config = super._getConfig(config);\n\n if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {\n // Popper virtual elements require a getBoundingClientRect method\n throw new TypeError(`${NAME$a.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);\n }\n\n return config;\n }\n\n _createPopper() {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)');\n }\n\n let referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = this._parent;\n } else if (isElement(this._config.reference)) {\n referenceElement = getElement(this._config.reference);\n } else if (typeof this._config.reference === 'object') {\n referenceElement = this._config.reference;\n }\n\n const popperConfig = this._getPopperConfig();\n\n this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);\n }\n\n _isShown() {\n return this._menu.classList.contains(CLASS_NAME_SHOW$6);\n }\n\n _getPlacement() {\n const parentDropdown = this._parent;\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n return PLACEMENT_RIGHT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n return PLACEMENT_LEFT;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n return PLACEMENT_TOPCENTER;\n }\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n return PLACEMENT_BOTTOMCENTER;\n } // We need to trim the value because custom properties can also include spaces\n\n\n const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';\n\n if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n }\n\n return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;\n }\n\n _detectNavbar() {\n return this._element.closest(SELECTOR_NAVBAR) !== null;\n }\n\n _getOffset() {\n const {\n offset\n } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n\n return offset;\n }\n\n _getPopperConfig() {\n const defaultBsPopperConfig = {\n placement: this._getPlacement(),\n modifiers: [{\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }]\n }; // Disable Popper if we have a static display or Dropdown is in Navbar\n\n if (this._inNavbar || this._config.display === 'static') {\n Manipulator.setDataAttribute(this._menu, 'popper', 'static'); // todo:v6 remove\n\n defaultBsPopperConfig.modifiers = [{\n name: 'applyStyles',\n enabled: false\n }];\n }\n\n return { ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n };\n }\n\n _selectMenuItem({\n key,\n target\n }) {\n const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(element => isVisible(element));\n\n if (!items.length) {\n return;\n } // if target isn't included in items (e.g. when expanding the dropdown)\n // allow cycling to get the last item in case key equals ARROW_UP_KEY\n\n\n getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Dropdown.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n static clearMenus(event) {\n if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {\n return;\n }\n\n const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);\n\n for (const toggle of openToggles) {\n const context = Dropdown.getInstance(toggle);\n\n if (!context || context._config.autoClose === false) {\n continue;\n }\n\n const composedPath = event.composedPath();\n const isMenuTarget = composedPath.includes(context._menu);\n\n if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {\n continue;\n } // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n\n\n if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n continue;\n }\n\n const relatedTarget = {\n relatedTarget: context._element\n };\n\n if (event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n context._completeHide(relatedTarget);\n }\n }\n\n static dataApiKeydownHandler(event) {\n // If not an UP | DOWN | ESCAPE key => not a dropdown command\n // If input/textarea && if key is other than ESCAPE => not a dropdown command\n const isInput = /input|textarea/i.test(event.target.tagName);\n const isEscapeEvent = event.key === ESCAPE_KEY$2;\n const isUpOrDownEvent = [ARROW_UP_KEY$1, ARROW_DOWN_KEY$1].includes(event.key);\n\n if (!isUpOrDownEvent && !isEscapeEvent) {\n return;\n }\n\n if (isInput && !isEscapeEvent) {\n return;\n }\n\n event.preventDefault(); // todo: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.2/forms/input-group/\n\n const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$3) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$3)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3, event.delegateTarget.parentNode);\n const instance = Dropdown.getOrCreateInstance(getToggleButton);\n\n if (isUpOrDownEvent) {\n event.stopPropagation();\n instance.show();\n\n instance._selectMenuItem(event);\n\n return;\n }\n\n if (instance._isShown()) {\n // else is escape and we check if it is shown\n event.stopPropagation();\n instance.hide();\n getToggleButton.focus();\n }\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);\nEventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {\n event.preventDefault();\n Dropdown.getOrCreateInstance(this).toggle();\n});\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Dropdown);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\nconst SELECTOR_STICKY_CONTENT = '.sticky-top';\nconst PROPERTY_PADDING = 'padding-right';\nconst PROPERTY_MARGIN = 'margin-right';\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n constructor() {\n this._element = document.body;\n } // Public\n\n\n getWidth() {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n }\n\n hide() {\n const width = this.getWidth();\n\n this._disableOverFlow(); // give padding to element to balance the hidden scrollbar width\n\n\n this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n\n\n this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width);\n\n this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width);\n }\n\n reset() {\n this._resetElementAttributes(this._element, 'overflow');\n\n this._resetElementAttributes(this._element, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING);\n\n this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN);\n }\n\n isOverflowing() {\n return this.getWidth() > 0;\n } // Private\n\n\n _disableOverFlow() {\n this._saveInitialAttribute(this._element, 'overflow');\n\n this._element.style.overflow = 'hidden';\n }\n\n _setElementAttributes(selector, styleProperty, callback) {\n const scrollbarWidth = this.getWidth();\n\n const manipulationCallBack = element => {\n if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n return;\n }\n\n this._saveInitialAttribute(element, styleProperty);\n\n const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty);\n element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n\n _saveInitialAttribute(element, styleProperty) {\n const actualValue = element.style.getPropertyValue(styleProperty);\n\n if (actualValue) {\n Manipulator.setDataAttribute(element, styleProperty, actualValue);\n }\n }\n\n _resetElementAttributes(selector, styleProperty) {\n const manipulationCallBack = element => {\n const value = Manipulator.getDataAttribute(element, styleProperty); // We only want to remove the property if the value is `null`; the value can also be zero\n\n if (value === null) {\n element.style.removeProperty(styleProperty);\n return;\n }\n\n Manipulator.removeDataAttribute(element, styleProperty);\n element.style.setProperty(styleProperty, value);\n };\n\n this._applyManipulationCallback(selector, manipulationCallBack);\n }\n\n _applyManipulationCallback(selector, callBack) {\n if (isElement(selector)) {\n callBack(selector);\n return;\n }\n\n for (const sel of SelectorEngine.find(selector, this._element)) {\n callBack(sel);\n }\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$9 = 'backdrop';\nconst CLASS_NAME_FADE$4 = 'fade';\nconst CLASS_NAME_SHOW$5 = 'show';\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;\nconst Default$8 = {\n className: 'modal-backdrop',\n clickCallback: null,\n isAnimated: false,\n isVisible: true,\n // if false, we use the backdrop helper without adding any element to the dom\n rootElement: 'body' // give the choice to place backdrop under different elements\n\n};\nconst DefaultType$8 = {\n className: 'string',\n clickCallback: '(function|null)',\n isAnimated: 'boolean',\n isVisible: 'boolean',\n rootElement: '(element|string)'\n};\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isAppended = false;\n this._element = null;\n } // Getters\n\n\n static get Default() {\n return Default$8;\n }\n\n static get DefaultType() {\n return DefaultType$8;\n }\n\n static get NAME() {\n return NAME$9;\n } // Public\n\n\n show(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._append();\n\n const element = this._getElement();\n\n if (this._config.isAnimated) {\n reflow(element);\n }\n\n element.classList.add(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(() => {\n execute(callback);\n });\n }\n\n hide(callback) {\n if (!this._config.isVisible) {\n execute(callback);\n return;\n }\n\n this._getElement().classList.remove(CLASS_NAME_SHOW$5);\n\n this._emulateAnimation(() => {\n this.dispose();\n execute(callback);\n });\n }\n\n dispose() {\n if (!this._isAppended) {\n return;\n }\n\n EventHandler.off(this._element, EVENT_MOUSEDOWN);\n\n this._element.remove();\n\n this._isAppended = false;\n } // Private\n\n\n _getElement() {\n if (!this._element) {\n const backdrop = document.createElement('div');\n backdrop.className = this._config.className;\n\n if (this._config.isAnimated) {\n backdrop.classList.add(CLASS_NAME_FADE$4);\n }\n\n this._element = backdrop;\n }\n\n return this._element;\n }\n\n _configAfterMerge(config) {\n // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n config.rootElement = getElement(config.rootElement);\n return config;\n }\n\n _append() {\n if (this._isAppended) {\n return;\n }\n\n const element = this._getElement();\n\n this._config.rootElement.append(element);\n\n EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n execute(this._config.clickCallback);\n });\n this._isAppended = true;\n }\n\n _emulateAnimation(callback) {\n executeAfterTransition(callback, this._getElement(), this._config.isAnimated);\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$8 = 'focustrap';\nconst DATA_KEY$5 = 'bs.focustrap';\nconst EVENT_KEY$5 = `.${DATA_KEY$5}`;\nconst EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;\nconst TAB_KEY = 'Tab';\nconst TAB_NAV_FORWARD = 'forward';\nconst TAB_NAV_BACKWARD = 'backward';\nconst Default$7 = {\n autofocus: true,\n trapElement: null // The element to trap focus inside of\n\n};\nconst DefaultType$7 = {\n autofocus: 'boolean',\n trapElement: 'element'\n};\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n this._isActive = false;\n this._lastTabNavDirection = null;\n } // Getters\n\n\n static get Default() {\n return Default$7;\n }\n\n static get DefaultType() {\n return DefaultType$7;\n }\n\n static get NAME() {\n return NAME$8;\n } // Public\n\n\n activate() {\n if (this._isActive) {\n return;\n }\n\n if (this._config.autofocus) {\n this._config.trapElement.focus();\n }\n\n EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop\n\n EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));\n EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));\n this._isActive = true;\n }\n\n deactivate() {\n if (!this._isActive) {\n return;\n }\n\n this._isActive = false;\n EventHandler.off(document, EVENT_KEY$5);\n } // Private\n\n\n _handleFocusin(event) {\n const {\n trapElement\n } = this._config;\n\n if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n return;\n }\n\n const elements = SelectorEngine.focusableChildren(trapElement);\n\n if (elements.length === 0) {\n trapElement.focus();\n } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n elements[elements.length - 1].focus();\n } else {\n elements[0].focus();\n }\n }\n\n _handleKeydown(event) {\n if (event.key !== TAB_KEY) {\n return;\n }\n\n this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$7 = 'modal';\nconst DATA_KEY$4 = 'bs.modal';\nconst EVENT_KEY$4 = `.${DATA_KEY$4}`;\nconst DATA_API_KEY$2 = '.data-api';\nconst ESCAPE_KEY$1 = 'Escape';\nconst EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;\nconst EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`;\nconst EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;\nconst EVENT_SHOW$4 = `show${EVENT_KEY$4}`;\nconst EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;\nconst EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`;\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`;\nconst EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`;\nconst EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;\nconst CLASS_NAME_OPEN = 'modal-open';\nconst CLASS_NAME_FADE$3 = 'fade';\nconst CLASS_NAME_SHOW$4 = 'show';\nconst CLASS_NAME_STATIC = 'modal-static';\nconst OPEN_SELECTOR$1 = '.modal.show';\nconst SELECTOR_DIALOG = '.modal-dialog';\nconst SELECTOR_MODAL_BODY = '.modal-body';\nconst SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle=\"modal\"]';\nconst Default$6 = {\n backdrop: true,\n focus: true,\n keyboard: true\n};\nconst DefaultType$6 = {\n backdrop: '(boolean|string)',\n focus: 'boolean',\n keyboard: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element);\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n this._isShown = false;\n this._isTransitioning = false;\n this._scrollBar = new ScrollBarHelper();\n\n this._addEventListeners();\n } // Getters\n\n\n static get Default() {\n return Default$6;\n }\n\n static get DefaultType() {\n return DefaultType$6;\n }\n\n static get NAME() {\n return NAME$7;\n } // Public\n\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, {\n relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n this._isTransitioning = true;\n\n this._scrollBar.hide();\n\n document.body.classList.add(CLASS_NAME_OPEN);\n\n this._adjustDialog();\n\n this._backdrop.show(() => this._showElement(relatedTarget));\n }\n\n hide() {\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = false;\n this._isTransitioning = true;\n\n this._focustrap.deactivate();\n\n this._element.classList.remove(CLASS_NAME_SHOW$4);\n\n this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());\n }\n\n dispose() {\n for (const htmlElement of [window, this._dialog]) {\n EventHandler.off(htmlElement, EVENT_KEY$4);\n }\n\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n super.dispose();\n }\n\n handleUpdate() {\n this._adjustDialog();\n } // Private\n\n\n _initializeBackDrop() {\n return new Backdrop({\n isVisible: Boolean(this._config.backdrop),\n // 'static' option will be translated to true, and booleans will keep their value,\n isAnimated: this._isAnimated()\n });\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n\n _showElement(relatedTarget) {\n // try to append dynamic modal\n if (!document.body.contains(this._element)) {\n document.body.append(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.scrollTop = 0;\n const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);\n\n if (modalBody) {\n modalBody.scrollTop = 0;\n }\n\n reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOW$4);\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._focustrap.activate();\n }\n\n this._isTransitioning = false;\n EventHandler.trigger(this._element, EVENT_SHOWN$4, {\n relatedTarget\n });\n };\n\n this._queueCallback(transitionComplete, this._dialog, this._isAnimated());\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, event => {\n if (event.key !== ESCAPE_KEY$1) {\n return;\n }\n\n if (this._config.keyboard) {\n event.preventDefault();\n this.hide();\n return;\n }\n\n this._triggerBackdropTransition();\n });\n EventHandler.on(window, EVENT_RESIZE$1, () => {\n if (this._isShown && !this._isTransitioning) {\n this._adjustDialog();\n }\n });\n EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n if (this._element !== event.target || this._element !== event2.target) {\n return;\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition();\n\n return;\n }\n\n if (this._config.backdrop) {\n this.hide();\n }\n });\n });\n }\n\n _hideModal() {\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n this._isTransitioning = false;\n\n this._backdrop.hide(() => {\n document.body.classList.remove(CLASS_NAME_OPEN);\n\n this._resetAdjustments();\n\n this._scrollBar.reset();\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$4);\n });\n }\n\n _isAnimated() {\n return this._element.classList.contains(CLASS_NAME_FADE$3);\n }\n\n _triggerBackdropTransition() {\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$1);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n const initialOverflowY = this._element.style.overflowY; // return if the following background transition hasn't yet completed\n\n if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n return;\n }\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden';\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n this._queueCallback(() => {\n this._element.classList.remove(CLASS_NAME_STATIC);\n\n this._queueCallback(() => {\n this._element.style.overflowY = initialOverflowY;\n }, this._dialog);\n }, this._dialog);\n\n this._element.focus();\n }\n /**\n * The following methods are used to handle overflowing modals\n */\n\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n const scrollbarWidth = this._scrollBar.getWidth();\n\n const isBodyOverflowing = scrollbarWidth > 0;\n\n if (isBodyOverflowing && !isModalOverflowing) {\n const property = isRTL() ? 'paddingLeft' : 'paddingRight';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n\n if (!isBodyOverflowing && isModalOverflowing) {\n const property = isRTL() ? 'paddingRight' : 'paddingLeft';\n this._element.style[property] = `${scrollbarWidth}px`;\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n } // Static\n\n\n static jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n const data = Modal.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](relatedTarget);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {\n const target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n EventHandler.one(target, EVENT_SHOW$4, showEvent => {\n if (showEvent.defaultPrevented) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$4, () => {\n if (isVisible(this)) {\n this.focus();\n }\n });\n }); // avoid conflict when clicking modal toggler while another one is open\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$1);\n\n if (alreadyOpen) {\n Modal.getInstance(alreadyOpen).hide();\n }\n\n const data = Modal.getOrCreateInstance(target);\n data.toggle(this);\n});\nenableDismissTrigger(Modal);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Modal);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$6 = 'offcanvas';\nconst DATA_KEY$3 = 'bs.offcanvas';\nconst EVENT_KEY$3 = `.${DATA_KEY$3}`;\nconst DATA_API_KEY$1 = '.data-api';\nconst EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst ESCAPE_KEY = 'Escape';\nconst CLASS_NAME_SHOW$3 = 'show';\nconst CLASS_NAME_SHOWING$1 = 'showing';\nconst CLASS_NAME_HIDING = 'hiding';\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop';\nconst OPEN_SELECTOR = '.offcanvas.show';\nconst EVENT_SHOW$3 = `show${EVENT_KEY$3}`;\nconst EVENT_SHOWN$3 = `shown${EVENT_KEY$3}`;\nconst EVENT_HIDE$3 = `hide${EVENT_KEY$3}`;\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$3}`;\nconst EVENT_HIDDEN$3 = `hidden${EVENT_KEY$3}`;\nconst EVENT_RESIZE = `resize${EVENT_KEY$3}`;\nconst EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$3}`;\nconst SELECTOR_DATA_TOGGLE$1 = '[data-bs-toggle=\"offcanvas\"]';\nconst Default$5 = {\n backdrop: true,\n keyboard: true,\n scroll: false\n};\nconst DefaultType$5 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n scroll: 'boolean'\n};\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n constructor(element, config) {\n super(element, config);\n this._isShown = false;\n this._backdrop = this._initializeBackDrop();\n this._focustrap = this._initializeFocusTrap();\n\n this._addEventListeners();\n } // Getters\n\n\n static get Default() {\n return Default$5;\n }\n\n static get DefaultType() {\n return DefaultType$5;\n }\n\n static get NAME() {\n return NAME$6;\n } // Public\n\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n\n show(relatedTarget) {\n if (this._isShown) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {\n relatedTarget\n });\n\n if (showEvent.defaultPrevented) {\n return;\n }\n\n this._isShown = true;\n\n this._backdrop.show();\n\n if (!this._config.scroll) {\n new ScrollBarHelper().hide();\n }\n\n this._element.setAttribute('aria-modal', true);\n\n this._element.setAttribute('role', 'dialog');\n\n this._element.classList.add(CLASS_NAME_SHOWING$1);\n\n const completeCallBack = () => {\n if (!this._config.scroll || this._config.backdrop) {\n this._focustrap.activate();\n }\n\n this._element.classList.add(CLASS_NAME_SHOW$3);\n\n this._element.classList.remove(CLASS_NAME_SHOWING$1);\n\n EventHandler.trigger(this._element, EVENT_SHOWN$3, {\n relatedTarget\n });\n };\n\n this._queueCallback(completeCallBack, this._element, true);\n }\n\n hide() {\n if (!this._isShown) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n this._focustrap.deactivate();\n\n this._element.blur();\n\n this._isShown = false;\n\n this._element.classList.add(CLASS_NAME_HIDING);\n\n this._backdrop.hide();\n\n const completeCallback = () => {\n this._element.classList.remove(CLASS_NAME_SHOW$3, CLASS_NAME_HIDING);\n\n this._element.removeAttribute('aria-modal');\n\n this._element.removeAttribute('role');\n\n if (!this._config.scroll) {\n new ScrollBarHelper().reset();\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN$3);\n };\n\n this._queueCallback(completeCallback, this._element, true);\n }\n\n dispose() {\n this._backdrop.dispose();\n\n this._focustrap.deactivate();\n\n super.dispose();\n } // Private\n\n\n _initializeBackDrop() {\n const clickCallback = () => {\n if (this._config.backdrop === 'static') {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n this.hide();\n }; // 'static' option will be translated to true, and booleans will keep their value\n\n\n const isVisible = Boolean(this._config.backdrop);\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible,\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: isVisible ? clickCallback : null\n });\n }\n\n _initializeFocusTrap() {\n return new FocusTrap({\n trapElement: this._element\n });\n }\n\n _addEventListeners() {\n EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n if (event.key !== ESCAPE_KEY) {\n return;\n }\n\n if (!this._config.keyboard) {\n EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);\n return;\n }\n\n this.hide();\n });\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Offcanvas.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config](this);\n });\n }\n\n}\n/**\n * Data API implementation\n */\n\n\nEventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {\n const target = getElementFromSelector(this);\n\n if (['A', 'AREA'].includes(this.tagName)) {\n event.preventDefault();\n }\n\n if (isDisabled(this)) {\n return;\n }\n\n EventHandler.one(target, EVENT_HIDDEN$3, () => {\n // focus on trigger when it is closed\n if (isVisible(this)) {\n this.focus();\n }\n }); // avoid conflict when clicking a toggler of an offcanvas, while another is open\n\n const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);\n\n if (alreadyOpen && alreadyOpen !== target) {\n Offcanvas.getInstance(alreadyOpen).hide();\n }\n\n const data = Offcanvas.getOrCreateInstance(target);\n data.toggle(this);\n});\nEventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {\n for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n Offcanvas.getOrCreateInstance(selector).show();\n }\n});\nEventHandler.on(window, EVENT_RESIZE, () => {\n for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n if (getComputedStyle(element).position !== 'fixed') {\n Offcanvas.getOrCreateInstance(element).hide();\n }\n }\n});\nenableDismissTrigger(Offcanvas);\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Offcanvas);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\nconst uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts\n */\n\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n const attributeName = attribute.nodeName.toLowerCase();\n\n if (allowedAttributeList.includes(attributeName)) {\n if (uriAttributes.has(attributeName)) {\n return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue) || DATA_URL_PATTERN.test(attribute.nodeValue));\n }\n\n return true;\n } // Check if a regular expression validates the attribute.\n\n\n return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp).some(regex => regex.test(attributeName));\n};\n\nconst DefaultAllowlist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n};\nfunction sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n if (!unsafeHtml.length) {\n return unsafeHtml;\n }\n\n if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n return sanitizeFunction(unsafeHtml);\n }\n\n const domParser = new window.DOMParser();\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n const elements = [].concat(...createdDocument.body.querySelectorAll('*'));\n\n for (const element of elements) {\n const elementName = element.nodeName.toLowerCase();\n\n if (!Object.keys(allowList).includes(elementName)) {\n element.remove();\n continue;\n }\n\n const attributeList = [].concat(...element.attributes);\n const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || []);\n\n for (const attribute of attributeList) {\n if (!allowedAttribute(attribute, allowedAttributes)) {\n element.removeAttribute(attribute.nodeName);\n }\n }\n }\n\n return createdDocument.body.innerHTML;\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$5 = 'TemplateFactory';\nconst Default$4 = {\n allowList: DefaultAllowlist,\n content: {},\n // { selector : text , selector2 : text2 , }\n extraClass: '',\n html: false,\n sanitize: true,\n sanitizeFn: null,\n template: '
    '\n};\nconst DefaultType$4 = {\n allowList: 'object',\n content: 'object',\n extraClass: '(string|function)',\n html: 'boolean',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n template: 'string'\n};\nconst DefaultContentType = {\n entry: '(string|element|function|null)',\n selector: '(string|element)'\n};\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n constructor(config) {\n super();\n this._config = this._getConfig(config);\n } // Getters\n\n\n static get Default() {\n return Default$4;\n }\n\n static get DefaultType() {\n return DefaultType$4;\n }\n\n static get NAME() {\n return NAME$5;\n } // Public\n\n\n getContent() {\n return Object.values(this._config.content).map(config => this._resolvePossibleFunction(config)).filter(Boolean);\n }\n\n hasContent() {\n return this.getContent().length > 0;\n }\n\n changeContent(content) {\n this._checkContent(content);\n\n this._config.content = { ...this._config.content,\n ...content\n };\n return this;\n }\n\n toHtml() {\n const templateWrapper = document.createElement('div');\n templateWrapper.innerHTML = this._maybeSanitize(this._config.template);\n\n for (const [selector, text] of Object.entries(this._config.content)) {\n this._setContent(templateWrapper, text, selector);\n }\n\n const template = templateWrapper.children[0];\n\n const extraClass = this._resolvePossibleFunction(this._config.extraClass);\n\n if (extraClass) {\n template.classList.add(...extraClass.split(' '));\n }\n\n return template;\n } // Private\n\n\n _typeCheckConfig(config) {\n super._typeCheckConfig(config);\n\n this._checkContent(config.content);\n }\n\n _checkContent(arg) {\n for (const [selector, content] of Object.entries(arg)) {\n super._typeCheckConfig({\n selector,\n entry: content\n }, DefaultContentType);\n }\n }\n\n _setContent(template, content, selector) {\n const templateElement = SelectorEngine.findOne(selector, template);\n\n if (!templateElement) {\n return;\n }\n\n content = this._resolvePossibleFunction(content);\n\n if (!content) {\n templateElement.remove();\n return;\n }\n\n if (isElement(content)) {\n this._putElementInTemplate(getElement(content), templateElement);\n\n return;\n }\n\n if (this._config.html) {\n templateElement.innerHTML = this._maybeSanitize(content);\n return;\n }\n\n templateElement.textContent = content;\n }\n\n _maybeSanitize(arg) {\n return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg;\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg(this) : arg;\n }\n\n _putElementInTemplate(element, templateElement) {\n if (this._config.html) {\n templateElement.innerHTML = '';\n templateElement.append(element);\n return;\n }\n\n templateElement.textContent = element.textContent;\n }\n\n}\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$4 = 'tooltip';\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);\nconst CLASS_NAME_FADE$2 = 'fade';\nconst CLASS_NAME_MODAL = 'modal';\nconst CLASS_NAME_SHOW$2 = 'show';\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`;\nconst EVENT_MODAL_HIDE = 'hide.bs.modal';\nconst TRIGGER_HOVER = 'hover';\nconst TRIGGER_FOCUS = 'focus';\nconst TRIGGER_CLICK = 'click';\nconst TRIGGER_MANUAL = 'manual';\nconst EVENT_HIDE$2 = 'hide';\nconst EVENT_HIDDEN$2 = 'hidden';\nconst EVENT_SHOW$2 = 'show';\nconst EVENT_SHOWN$2 = 'shown';\nconst EVENT_INSERTED = 'inserted';\nconst EVENT_CLICK$1 = 'click';\nconst EVENT_FOCUSIN$1 = 'focusin';\nconst EVENT_FOCUSOUT$1 = 'focusout';\nconst EVENT_MOUSEENTER = 'mouseenter';\nconst EVENT_MOUSELEAVE = 'mouseleave';\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: isRTL() ? 'left' : 'right',\n BOTTOM: 'bottom',\n LEFT: isRTL() ? 'right' : 'left'\n};\nconst Default$3 = {\n allowList: DefaultAllowlist,\n animation: true,\n boundary: 'clippingParents',\n container: false,\n customClass: '',\n delay: 0,\n fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n html: false,\n offset: [0, 0],\n placement: 'top',\n popperConfig: null,\n sanitize: true,\n sanitizeFn: null,\n selector: false,\n template: '
    ' + '
    ' + '
    ' + '
    ',\n title: '',\n trigger: 'hover focus'\n};\nconst DefaultType$3 = {\n allowList: 'object',\n animation: 'boolean',\n boundary: '(string|element)',\n container: '(string|element|boolean)',\n customClass: '(string|function)',\n delay: '(number|object)',\n fallbackPlacements: 'array',\n html: 'boolean',\n offset: '(array|string|function)',\n placement: '(string|function)',\n popperConfig: '(null|object|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n selector: '(string|boolean)',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string'\n};\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)');\n }\n\n super(element, config); // Private\n\n this._isEnabled = true;\n this._timeout = 0;\n this._isHovered = null;\n this._activeTrigger = {};\n this._popper = null;\n this._templateFactory = null;\n this._newContent = null; // Protected\n\n this.tip = null;\n\n this._setListeners();\n\n if (!this._config.selector) {\n this._fixTitle();\n }\n } // Getters\n\n\n static get Default() {\n return Default$3;\n }\n\n static get DefaultType() {\n return DefaultType$3;\n }\n\n static get NAME() {\n return NAME$4;\n } // Public\n\n\n enable() {\n this._isEnabled = true;\n }\n\n disable() {\n this._isEnabled = false;\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n\n toggle() {\n if (!this._isEnabled) {\n return;\n }\n\n this._activeTrigger.click = !this._activeTrigger.click;\n\n if (this._isShown()) {\n this._leave();\n\n return;\n }\n\n this._enter();\n }\n\n dispose() {\n clearTimeout(this._timeout);\n EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n\n if (this._element.getAttribute('data-bs-original-title')) {\n this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));\n }\n\n this._disposePopper();\n\n super.dispose();\n }\n\n show() {\n if (this._element.style.display === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n if (!(this._isWithContent() && this._isEnabled)) {\n return;\n }\n\n const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW$2));\n const shadowRoot = findShadowRoot(this._element);\n\n const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);\n\n if (showEvent.defaultPrevented || !isInTheDom) {\n return;\n } // todo v6 remove this OR make it optional\n\n\n this._disposePopper();\n\n const tip = this._getTipElement();\n\n this._element.setAttribute('aria-describedby', tip.getAttribute('id'));\n\n const {\n container\n } = this._config;\n\n if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n container.append(tip);\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));\n }\n\n this._popper = this._createPopper(tip);\n tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.on(element, 'mouseover', noop);\n }\n }\n\n const complete = () => {\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN$2));\n\n if (this._isHovered === false) {\n this._leave();\n }\n\n this._isHovered = false;\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n\n hide() {\n if (!this._isShown()) {\n return;\n }\n\n const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE$2));\n\n if (hideEvent.defaultPrevented) {\n return;\n }\n\n const tip = this._getTipElement();\n\n tip.classList.remove(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n for (const element of [].concat(...document.body.children)) {\n EventHandler.off(element, 'mouseover', noop);\n }\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n this._isHovered = null; // it is a trick to support manual triggering\n\n const complete = () => {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n if (!this._isHovered) {\n this._disposePopper();\n }\n\n this._element.removeAttribute('aria-describedby');\n\n EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN$2));\n };\n\n this._queueCallback(complete, this.tip, this._isAnimated());\n }\n\n update() {\n if (this._popper) {\n this._popper.update();\n }\n } // Protected\n\n\n _isWithContent() {\n return Boolean(this._getTitle());\n }\n\n _getTipElement() {\n if (!this.tip) {\n this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());\n }\n\n return this.tip;\n }\n\n _createTipElement(content) {\n const tip = this._getTemplateFactory(content).toHtml(); // todo: remove this check on v6\n\n\n if (!tip) {\n return null;\n }\n\n tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2); // todo: on v6 the following can be achieved with CSS only\n\n tip.classList.add(`bs-${this.constructor.NAME}-auto`);\n const tipId = getUID(this.constructor.NAME).toString();\n tip.setAttribute('id', tipId);\n\n if (this._isAnimated()) {\n tip.classList.add(CLASS_NAME_FADE$2);\n }\n\n return tip;\n }\n\n setContent(content) {\n this._newContent = content;\n\n if (this._isShown()) {\n this._disposePopper();\n\n this.show();\n }\n }\n\n _getTemplateFactory(content) {\n if (this._templateFactory) {\n this._templateFactory.changeContent(content);\n } else {\n this._templateFactory = new TemplateFactory({ ...this._config,\n // the `content` var has to be after `this._config`\n // to override config.content in case of popover\n content,\n extraClass: this._resolvePossibleFunction(this._config.customClass)\n });\n }\n\n return this._templateFactory;\n }\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n };\n }\n\n _getTitle() {\n return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');\n } // Private\n\n\n _initializeOnDelegatedTarget(event) {\n return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());\n }\n\n _isAnimated() {\n return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE$2);\n }\n\n _isShown() {\n return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW$2);\n }\n\n _createPopper(tip) {\n const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;\n const attachment = AttachmentMap[placement.toUpperCase()];\n return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment));\n }\n\n _getOffset() {\n const {\n offset\n } = this._config;\n\n if (typeof offset === 'string') {\n return offset.split(',').map(value => Number.parseInt(value, 10));\n }\n\n if (typeof offset === 'function') {\n return popperData => offset(popperData, this._element);\n }\n\n return offset;\n }\n\n _resolvePossibleFunction(arg) {\n return typeof arg === 'function' ? arg.call(this._element) : arg;\n }\n\n _getPopperConfig(attachment) {\n const defaultBsPopperConfig = {\n placement: attachment,\n modifiers: [{\n name: 'flip',\n options: {\n fallbackPlacements: this._config.fallbackPlacements\n }\n }, {\n name: 'offset',\n options: {\n offset: this._getOffset()\n }\n }, {\n name: 'preventOverflow',\n options: {\n boundary: this._config.boundary\n }\n }, {\n name: 'arrow',\n options: {\n element: `.${this.constructor.NAME}-arrow`\n }\n }, {\n name: 'preSetPlacement',\n enabled: true,\n phase: 'beforeMain',\n fn: data => {\n // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n this._getTipElement().setAttribute('data-popper-placement', data.state.placement);\n }\n }]\n };\n return { ...defaultBsPopperConfig,\n ...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)\n };\n }\n\n _setListeners() {\n const triggers = this._config.trigger.split(' ');\n\n for (const trigger of triggers) {\n if (trigger === 'click') {\n EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK$1), this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context.toggle();\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN$1);\n const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT$1);\n EventHandler.on(this._element, eventIn, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n\n context._enter();\n });\n EventHandler.on(this._element, eventOut, this._config.selector, event => {\n const context = this._initializeOnDelegatedTarget(event);\n\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);\n\n context._leave();\n });\n }\n }\n\n this._hideModalHandler = () => {\n if (this._element) {\n this.hide();\n }\n };\n\n EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);\n }\n\n _fixTitle() {\n const title = this._element.getAttribute('title');\n\n if (!title) {\n return;\n }\n\n if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n this._element.setAttribute('aria-label', title);\n }\n\n this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility\n\n\n this._element.removeAttribute('title');\n }\n\n _enter() {\n if (this._isShown() || this._isHovered) {\n this._isHovered = true;\n return;\n }\n\n this._isHovered = true;\n\n this._setTimeout(() => {\n if (this._isHovered) {\n this.show();\n }\n }, this._config.delay.show);\n }\n\n _leave() {\n if (this._isWithActiveTrigger()) {\n return;\n }\n\n this._isHovered = false;\n\n this._setTimeout(() => {\n if (!this._isHovered) {\n this.hide();\n }\n }, this._config.delay.hide);\n }\n\n _setTimeout(handler, timeout) {\n clearTimeout(this._timeout);\n this._timeout = setTimeout(handler, timeout);\n }\n\n _isWithActiveTrigger() {\n return Object.values(this._activeTrigger).includes(true);\n }\n\n _getConfig(config) {\n const dataAttributes = Manipulator.getDataAttributes(this._element);\n\n for (const dataAttribute of Object.keys(dataAttributes)) {\n if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n delete dataAttributes[dataAttribute];\n }\n }\n\n config = { ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n };\n config = this._mergeConfigObj(config);\n config = this._configAfterMerge(config);\n\n this._typeCheckConfig(config);\n\n return config;\n }\n\n _configAfterMerge(config) {\n config.container = config.container === false ? document.body : getElement(config.container);\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n return config;\n }\n\n _getDelegateConfig() {\n const config = {};\n\n for (const key in this._config) {\n if (this.constructor.Default[key] !== this._config[key]) {\n config[key] = this._config[key];\n }\n }\n\n config.selector = false;\n config.trigger = 'manual'; // In the future can be replaced with:\n // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n // `Object.fromEntries(keysWithDifferentValues)`\n\n return config;\n }\n\n _disposePopper() {\n if (this._popper) {\n this._popper.destroy();\n\n this._popper = null;\n }\n\n if (this.tip) {\n this.tip.remove();\n this.tip = null;\n }\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Tooltip.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n}\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Tooltip);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$3 = 'popover';\nconst SELECTOR_TITLE = '.popover-header';\nconst SELECTOR_CONTENT = '.popover-body';\nconst Default$2 = { ...Tooltip.Default,\n content: '',\n offset: [0, 8],\n placement: 'right',\n template: '
    ' + '
    ' + '

    ' + '
    ' + '
    ',\n trigger: 'click'\n};\nconst DefaultType$2 = { ...Tooltip.DefaultType,\n content: '(null|string|element|function)'\n};\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n // Getters\n static get Default() {\n return Default$2;\n }\n\n static get DefaultType() {\n return DefaultType$2;\n }\n\n static get NAME() {\n return NAME$3;\n } // Overrides\n\n\n _isWithContent() {\n return this._getTitle() || this._getContent();\n } // Private\n\n\n _getContentForTemplate() {\n return {\n [SELECTOR_TITLE]: this._getTitle(),\n [SELECTOR_CONTENT]: this._getContent()\n };\n }\n\n _getContent() {\n return this._resolvePossibleFunction(this._config.content);\n } // Static\n\n\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Popover.getOrCreateInstance(this, config);\n\n if (typeof config !== 'string') {\n return;\n }\n\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`);\n }\n\n data[config]();\n });\n }\n\n}\n/**\n * jQuery\n */\n\n\ndefineJQueryPlugin(Popover);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n/**\n * Constants\n */\n\nconst NAME$2 = 'scrollspy';\nconst DATA_KEY$2 = 'bs.scrollspy';\nconst EVENT_KEY$2 = `.${DATA_KEY$2}`;\nconst DATA_API_KEY = '.data-api';\nconst EVENT_ACTIVATE = `activate${EVENT_KEY$2}`;\nconst EVENT_CLICK = `click${EVENT_KEY$2}`;\nconst EVENT_LOAD_DATA_API$1 = `load${EVENT_KEY$2}${DATA_API_KEY}`;\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\nconst CLASS_NAME_ACTIVE$1 = 'active';\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]';\nconst SELECTOR_TARGET_LINKS = '[href]';\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\nconst SELECTOR_NAV_LINKS = '.nav-link';\nconst SELECTOR_NAV_ITEMS = '.nav-item';\nconst SELECTOR_LIST_ITEMS = '.list-group-item';\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;\nconst SELECTOR_DROPDOWN = '.dropdown';\nconst SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\nconst Default$1 = {\n offset: null,\n // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: '0px 0px -25%',\n smoothScroll: false,\n target: null,\n threshold: [0.1, 0.5, 1]\n};\nconst DefaultType$1 = {\n offset: '(number|null)',\n // TODO v6 @deprecated, keep it for backwards compatibility reasons\n rootMargin: 'string',\n smoothScroll: 'boolean',\n target: 'element',\n threshold: 'array'\n};\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n constructor(element, config) {\n super(element, config); // this._element is the observablesContainer and config.target the menu links wrapper\n\n this._targetLinks = new Map();\n this._observableSections = new Map();\n this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element;\n this._activeTarget = null;\n this._observer = null;\n this._previousScrollData = {\n visibleEntryTop: 0,\n parentScrollTop: 0\n };\n this.refresh(); // initialize\n } // Getters\n\n\n static get Default() {\n return Default$1;\n }\n\n static get DefaultType() {\n return DefaultType$1;\n }\n\n static get NAME() {\n return NAME$2;\n } // Public\n\n\n refresh() {\n this._initializeTargetsAndObservables();\n\n this._maybeEnableSmoothScroll();\n\n if (this._observer) {\n this._observer.disconnect();\n } else {\n this._observer = this._getNewObserver();\n }\n\n for (const section of this._observableSections.values()) {\n this._observer.observe(section);\n }\n }\n\n dispose() {\n this._observer.disconnect();\n\n super.dispose();\n } // Private\n\n\n _configAfterMerge(config) {\n // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n config.target = getElement(config.target) || document.body; // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n\n config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin;\n\n if (typeof config.threshold === 'string') {\n config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value));\n }\n\n return config;\n }\n\n _maybeEnableSmoothScroll() {\n if (!this._config.smoothScroll) {\n return;\n } // unregister any previous listeners\n\n\n EventHandler.off(this._config.target, EVENT_CLICK);\n EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n const observableSection = this._observableSections.get(event.target.hash);\n\n if (observableSection) {\n event.preventDefault();\n const root = this._rootElement || window;\n const height = observableSection.offsetTop - this._element.offsetTop;\n\n if (root.scrollTo) {\n root.scrollTo({\n top: height,\n behavior: 'smooth'\n });\n return;\n } // Chrome 60 doesn't support `scrollTo`\n\n\n root.scrollTop = height;\n }\n });\n }\n\n _getNewObserver() {\n const options = {\n root: this._rootElement,\n threshold: this._config.threshold,\n rootMargin: this._config.rootMargin\n };\n return new IntersectionObserver(entries => this._observerCallback(entries), options);\n } // The logic of selection\n\n\n _observerCallback(entries) {\n const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`);\n\n const activate = entry => {\n this._previousScrollData.visibleEntryTop = entry.target.offsetTop;\n\n this._process(targetElement(entry));\n };\n\n const parentScrollTop = (this._rootElement || document.documentElement).scrollTop;\n const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop;\n this._previousScrollData.parentScrollTop = parentScrollTop;\n\n for (const entry of entries) {\n if (!entry.isIntersecting) {\n this._activeTarget = null;\n\n this._clearActiveClass(targetElement(entry));\n\n continue;\n }\n\n const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop; // if we are scrolling down, pick the bigger offsetTop\n\n if (userScrollsDown && entryIsLowerThanPrevious) {\n activate(entry); // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n\n if (!parentScrollTop) {\n return;\n }\n\n continue;\n } // if we are scrolling up, pick the smallest offsetTop\n\n\n if (!userScrollsDown && !entryIsLowerThanPrevious) {\n activate(entry);\n }\n }\n }\n\n _initializeTargetsAndObservables() {\n this._targetLinks = new Map();\n this._observableSections = new Map();\n const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target);\n\n for (const anchor of targetLinks) {\n // ensure that the anchor has an id and is not disabled\n if (!anchor.hash || isDisabled(anchor)) {\n continue;\n }\n\n const observableSection = SelectorEngine.findOne(anchor.hash, this._element); // ensure that the observableSection exists & is visible\n\n if (isVisible(observableSection)) {\n this._targetLinks.set(anchor.hash, anchor);\n\n this._observableSections.set(anchor.hash, observableSection);\n }\n }\n }\n\n _process(target) {\n if (this._activeTarget === target) {\n return;\n }\n\n this._clearActiveClass(this._config.target);\n\n this._activeTarget = target;\n target.classList.add(CLASS_NAME_ACTIVE$1);\n\n this._activateParents(target);\n\n EventHandler.trigger(this._element, EVENT_ACTIVATE, {\n relatedTarget: target\n });\n }\n\n _activateParents(target) {\n // Activate dropdown parents\n if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);\n return;\n }\n\n for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n // Set triggered links parents as active\n // With both
    -
    +

    Algorithms#

    A number of generic algorithm implementations are provided including Gradient Descent (GD), Conjugate Gradient Least Squares (CGLS), @@ -497,11 +538,11 @@

    AlgorithmsAlgorithm provides the infrastructure to continue iteration, to access the values of the objective function in subsequent iterations, the time for each iteration, and to provide a nice print to screen of the status of the optimisation.

    -
    +

    Base class#

    -
    -class cil.optimisation.algorithms.Algorithm(**kwargs)[source]#
    +
    +class cil.optimisation.algorithms.Algorithm(**kwargs)[source]#

    Base class for iterative algorithms

    provides the minimal infrastructure.

    Algorithms are iterables so can be easily run in a for loop. They will @@ -513,98 +554,98 @@

    Base classrun method will stop when the stopping criterion is met.

    -
    -set_up(*args, **kwargs)[source]#
    +
    +set_up(*args, **kwargs)[source]#

    Set up the algorithm

    -
    -update()[source]#
    +
    +update()[source]#

    A single iteration of the algorithm

    -
    -should_stop()[source]#
    +
    +should_stop()[source]#

    default stopping criterion: number of iterations

    The user can change this in concrete implementation of iterative algorithms.

    -
    -max_iteration_stop_criterion()[source]#
    +
    +max_iteration_stop_criterion()[source]#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()[source]#
    +
    +next()[source]#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -get_output()[source]#
    +
    +get_output()[source]#

    Returns the current solution.

    -
    -is_provably_convergent()[source]#
    +
    +is_provably_convergent()[source]#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -get_last_loss(**kwargs)[source]#
    +
    +get_last_loss(**kwargs)[source]#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)[source]#
    +
    +get_last_objective(**kwargs)[source]#

    alias to get_last_loss

    -
    -update_objective()[source]#
    +
    +update_objective()[source]#

    calculates the objective with the current solution

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)[source]#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)[source]#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -624,23 +665,23 @@

    Base class -
    -verbose_output(verbose=False)[source]#
    +
    +verbose_output(verbose=False)[source]#

    Creates a nice tabulated output

    -

    -
    +

    +

    GD#

    -
    -class cil.optimisation.algorithms.GD(initial=None, objective_function=None, step_size=None, **kwargs)[source]#
    +
    +class cil.optimisation.algorithms.GD(initial=None, objective_function=None, step_size=None, **kwargs)[source]#

    Gradient Descent algorithm

    -
    -set_up(initial, objective_function, step_size)[source]#
    +
    +set_up(initial, objective_function, step_size)[source]#

    initialisation of the algorithm

    Parameters
    @@ -654,20 +695,20 @@

    GD#<

    -
    -update()[source]#
    +
    +update()[source]#

    Single iteration

    -
    -update_objective()[source]#
    +
    +update_objective()[source]#

    calculates the objective with the current solution

    -
    -armijo_rule()[source]#
    +
    +armijo_rule()[source]#

    Applies the Armijo rule to calculate the step size (step_size)

    https://projecteuclid.org/download/pdf_1/euclid.pjm/1102995080

    The Armijo rule runs a while loop to find the appropriate step_size by starting @@ -691,73 +732,73 @@

    GD#<

    -
    -get_last_loss(**kwargs)#
    +
    +get_last_loss(**kwargs)#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)#
    +
    +get_last_objective(**kwargs)#

    alias to get_last_loss

    -
    -get_output()#
    +
    +get_output()#

    Returns the current solution.

    -
    -is_provably_convergent()#
    +
    +is_provably_convergent()#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -max_iteration_stop_criterion()#
    +
    +max_iteration_stop_criterion()#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()#
    +
    +next()#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -777,26 +818,26 @@

    GD#<

    -
    -verbose_output(verbose=False)#
    +
    +verbose_output(verbose=False)#

    Creates a nice tabulated output

    -
    -should_stop()[source]#
    +
    +should_stop()[source]#

    default stopping criterion: number of iterations

    The user can change this in concrete implementation of iterative algorithms.

    -
    -
    + +

    CGLS#

    -
    -class cil.optimisation.algorithms.CGLS(initial=None, operator=None, data=None, tolerance=1e-06, **kwargs)[source]#
    +
    +class cil.optimisation.algorithms.CGLS(initial=None, operator=None, data=None, tolerance=1e-06, **kwargs)[source]#

    Conjugate Gradient Least Squares algorithm

    Problem:

    @@ -816,8 +857,8 @@

    CGLS#<

    -
    -set_up(initial, operator, data, tolerance=1e-06)[source]#
    +
    +set_up(initial, operator, data, tolerance=1e-06)[source]#

    initialisation of the algorithm

    Parameters
    @@ -832,97 +873,97 @@

    CGLS#<

    -
    -update()[source]#
    +
    +update()[source]#

    single iteration

    -
    -update_objective()[source]#
    +
    +update_objective()[source]#

    calculates the objective with the current solution

    -
    -should_stop()[source]#
    +
    +should_stop()[source]#

    stopping criterion

    -
    -flag()[source]#
    +
    +flag()[source]#

    returns whether the tolerance has been reached

    -
    -get_last_loss(**kwargs)#
    +
    +get_last_loss(**kwargs)#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)#
    +
    +get_last_objective(**kwargs)#

    alias to get_last_loss

    -
    -get_output()#
    +
    +get_output()#

    Returns the current solution.

    -
    -is_provably_convergent()#
    +
    +is_provably_convergent()#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -max_iteration_stop_criterion()#
    +
    +max_iteration_stop_criterion()#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()#
    +
    +next()#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -942,19 +983,19 @@

    CGLS#<

    -
    -verbose_output(verbose=False)#
    +
    +verbose_output(verbose=False)#

    Creates a nice tabulated output

    -
    -
    + +

    SIRT#

    -
    -class cil.optimisation.algorithms.SIRT(initial, operator, data, lower=None, upper=None, constraint=None, **kwargs)[source]#
    +
    +class cil.optimisation.algorithms.SIRT(initial, operator, data, lower=None, upper=None, constraint=None, **kwargs)[source]#

    Simultaneous Iterative Reconstruction Technique, see [7].

    Simultaneous Iterative Reconstruction Technique (SIRT) solves the following problem

    @@ -972,9 +1013,9 @@

    SIRT#<
    Parameters
      -
    • initial (DataContainer, default = None) – Starting point of the algorithm, default value = Zero DataContainer

    • +
    • initial (DataContainer, default = None) – Starting point of the algorithm, default value = Zero DataContainer

    • operator (LinearOperator) – The operator A.

    • -
    • data (DataContainer) – The data b.

    • +
    • data (DataContainer) – The data b.

    • lower (float, default = None) – Lower bound constraint

    • upper (float, default = None) – Upper bound constraint

    • constraint (Function, default = None) – A function with proximal method, e.g., IndicatorBox function and IndicatorBox.proximal(), @@ -1003,14 +1044,14 @@

      SIRT#<

    -
    -set_up(initial, operator, data, lower=None, upper=None, constraint=None)[source]#
    +
    +set_up(initial, operator, data, lower=None, upper=None, constraint=None)[source]#

    Initialisation of the algorithm

    -
    -set_relaxation_parameter(value=1.0)[source]#
    +
    +set_relaxation_parameter(value=1.0)[source]#

    Set the relaxation parameter \(\omega\)

    Parameters
    @@ -1020,89 +1061,89 @@

    SIRT#<

    -
    -update()[source]#
    +
    +update()[source]#

    Performs a single iteration of the SIRT algorithm

    \[x^{k+1} = \mathrm{proj}_{C}( x^{k} + \omega * D ( A^{T} ( M * (b - Ax) ) ) )\]
    -
    -update_objective()[source]#
    +
    +update_objective()[source]#

    Returns the objective

    \[\|A x - b\|^{2}\]
    -
    -get_last_loss(**kwargs)#
    +
    +get_last_loss(**kwargs)#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)#
    +
    +get_last_objective(**kwargs)#

    alias to get_last_loss

    -
    -get_output()#
    +
    +get_output()#

    Returns the current solution.

    -
    -is_provably_convergent()#
    +
    +is_provably_convergent()#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -max_iteration_stop_criterion()#
    +
    +max_iteration_stop_criterion()#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()#
    +
    +next()#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -1122,26 +1163,26 @@

    SIRT#<

    -
    -should_stop()#
    +
    +should_stop()#

    default stopping criterion: number of iterations

    The user can change this in concrete implementation of iterative algorithms.

    -
    -verbose_output(verbose=False)#
    +
    +verbose_output(verbose=False)#

    Creates a nice tabulated output

    - -
    + +

    ISTA#

    -
    -class cil.optimisation.algorithms.ISTA(initial, f, g, step_size=None, **kwargs)[source]#
    +
    +class cil.optimisation.algorithms.ISTA(initial, f, g, step_size=None, **kwargs)[source]#

    Iterative Shrinkage-Thresholding Algorithm, see [1], [2].

    Iterative Shrinkage-Thresholding Algorithm (ISTA)

    @@ -1162,7 +1203,7 @@

    ISTA#<
    Parameters
      -
    • initial (DataContainer) – Initial guess of ISTA.

    • +
    • initial (DataContainer) – Initial guess of ISTA.

    • f (Function) – Differentiable function. If None is passed, the algorithm will use the ZeroFunction.

    • g (Function or None) – Convex function with simple proximal operator. If None is passed, the algorithm will use the ZeroFunction.

    • step_size (positive float, default = None) – Step size for the gradient step of ISTA. @@ -1191,14 +1232,14 @@

      ISTA#<

      FISTA, GD

    -
    -set_step_size(step_size)[source]#
    +
    +set_step_size(step_size)[source]#

    Set default step size.

    -
    -__init__(initial, f, g, step_size=None, **kwargs)[source]#
    +
    +__init__(initial, f, g, step_size=None, **kwargs)[source]#

    Constructor

    Set the minimal number of parameters:

    @@ -1213,165 +1254,164 @@

    ISTA#<

    -
    -set_up(initial, f, g, step_size, **kwargs)[source]#
    +
    +set_up(initial, f, g, step_size, **kwargs)[source]#

    Set up of the algorithm

    -
    -update()[source]#
    +
    +update()[source]#

    Performs a single iteration of ISTA

    \[x_{k+1} = \mathrm{prox}_{\alpha g}(x_{k} - \alpha\nabla f(x_{k}))\]
    -
    -get_output()[source]#
    +
    +get_output()[source]#

    Returns the current solution.

    -
    -update_objective()[source]#
    +
    +update_objective()[source]#

    Updates the objective

    \[f(x) + g(x)\]
    -
    -__delattr__(name, /)#
    +
    +__delattr__(name, /)#

    Implement delattr(self, name).

    -
    -__dir__()#
    +
    +__dir__()#

    Default dir() implementation.

    -
    -__eq__(value, /)#
    +
    +__eq__(value, /)#

    Return self==value.

    -
    -__format__(format_spec, /)#
    +
    +__format__(format_spec, /)#

    Default object formatter.

    -
    -__ge__(value, /)#
    +
    +__ge__(value, /)#

    Return self>=value.

    -
    -__getattribute__(name, /)#
    +
    +__getattribute__(name, /)#

    Return getattr(self, name).

    -
    -__gt__(value, /)#
    +
    +__gt__(value, /)#

    Return self>value.

    -
    -__hash__()#
    +
    +__hash__()#

    Return hash(self).

    -
    -__init_subclass__()#
    +
    +__init_subclass__()#

    This method is called when a class is subclassed.

    The default implementation does nothing. It may be overridden to extend subclasses.

    -
    -__iter__()#
    +
    +__iter__()#

    Algorithm is an iterable

    -
    -__le__(value, /)#
    +
    +__le__(value, /)#

    Return self<=value.

    -
    -__lt__(value, /)#
    +
    +__lt__(value, /)#

    Return self<value.

    -
    -__ne__(value, /)#
    +
    +__ne__(value, /)#

    Return self!=value.

    -
    -__new__(**kwargs)#
    -

    Create and return a new object. See help(type) for accurate signature.

    -
    +
    +__new__(**kwargs)#
    +
    -
    -__next__()#
    +
    +__next__()#

    Algorithm is an iterable

    calling this method triggers update and update_objective

    -
    -__reduce__()#
    +
    +__reduce__()#

    Helper for pickle.

    -
    -__reduce_ex__(protocol, /)#
    +
    +__reduce_ex__(protocol, /)#

    Helper for pickle.

    -
    -__repr__()#
    +
    +__repr__()#

    Return repr(self).

    -
    -__setattr__(name, value, /)#
    +
    +__setattr__(name, value, /)#

    Implement setattr(self, name, value).

    -
    -__sizeof__()#
    +
    +__sizeof__()#

    Size of object in memory, in bytes.

    -
    -__str__()#
    +
    +__str__()#

    Return str(self).

    -
    -__subclasshook__()#
    +
    +__subclasshook__()#

    Abstract classes can override this to customize issubclass().

    This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns @@ -1380,73 +1420,73 @@

    ISTA#<

    -
    -__weakref__#
    +
    +__weakref__#

    list of weak references to the object (if defined)

    -
    -get_last_loss(**kwargs)#
    +
    +get_last_loss(**kwargs)#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)#
    +
    +get_last_objective(**kwargs)#

    alias to get_last_loss

    -
    -is_provably_convergent()#
    +
    +is_provably_convergent()#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -max_iteration_stop_criterion()#
    +
    +max_iteration_stop_criterion()#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()#
    +
    +next()#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -1466,26 +1506,26 @@

    ISTA#<

    -
    -should_stop()#
    +
    +should_stop()#

    default stopping criterion: number of iterations

    The user can change this in concrete implementation of iterative algorithms.

    -
    -verbose_output(verbose=False)#
    +
    +verbose_output(verbose=False)#

    Creates a nice tabulated output

    -
    -
    + +

    FISTA#

    -
    -class cil.optimisation.algorithms.FISTA(initial, f, g, step_size=None, **kwargs)[source]#
    +
    +class cil.optimisation.algorithms.FISTA(initial, f, g, step_size=None, **kwargs)[source]#

    Fast Iterative Shrinkage-Thresholding Algorithm, see [1], [2].

    Fast Iterative Shrinkage-Thresholding Algorithm (FISTA)

    @@ -1503,7 +1543,7 @@

    FISTA
    Parameters
      -
    • initial (DataContainer) – Starting point of the algorithm

    • +
    • initial (DataContainer) – Starting point of the algorithm

    • f (Function) – Differentiable function. If None is passed, the algorithm will use the ZeroFunction.

    • g (Function or None) – Convex function with simple proximal operator. If None is passed, the algorithm will use the ZeroFunction.

    • step_size (positive float, default = None) – Step size for the gradient step of FISTA. @@ -1529,17 +1569,17 @@

      FISTA

    -
    -set_step_size(step_size)[source]#
    +
    +set_step_size(step_size)[source]#

    Set the default step size

    -
    -__init__(initial, f, g, step_size=None, **kwargs)[source]#
    +
    +__init__(initial, f, g, step_size=None, **kwargs)[source]#

    Constructor

    Set the minimal number of parameters:

    @@ -1554,8 +1594,8 @@

    FISTA

    -
    -update()[source]#
    +
    +update()[source]#

    Performs a single iteration of FISTA

    \[\begin{split}\begin{cases} @@ -1566,137 +1606,136 @@

    FISTA

    -
    -__delattr__(name, /)#
    +
    +__delattr__(name, /)#

    Implement delattr(self, name).

    -
    -__dir__()#
    +
    +__dir__()#

    Default dir() implementation.

    -
    -__eq__(value, /)#
    +
    +__eq__(value, /)#

    Return self==value.

    -
    -__format__(format_spec, /)#
    +
    +__format__(format_spec, /)#

    Default object formatter.

    -
    -__ge__(value, /)#
    +
    +__ge__(value, /)#

    Return self>=value.

    -
    -__getattribute__(name, /)#
    +
    +__getattribute__(name, /)#

    Return getattr(self, name).

    -
    -__gt__(value, /)#
    +
    +__gt__(value, /)#

    Return self>value.

    -
    -__hash__()#
    +
    +__hash__()#

    Return hash(self).

    -
    -__init_subclass__()#
    +
    +__init_subclass__()#

    This method is called when a class is subclassed.

    The default implementation does nothing. It may be overridden to extend subclasses.

    -
    -__iter__()#
    +
    +__iter__()#

    Algorithm is an iterable

    -
    -__le__(value, /)#
    +
    +__le__(value, /)#

    Return self<=value.

    -
    -__lt__(value, /)#
    +
    +__lt__(value, /)#

    Return self<value.

    -
    -__ne__(value, /)#
    +
    +__ne__(value, /)#

    Return self!=value.

    -
    -__new__(**kwargs)#
    -

    Create and return a new object. See help(type) for accurate signature.

    -
    +
    +__new__(**kwargs)#
    +
    -
    -__next__()#
    +
    +__next__()#

    Algorithm is an iterable

    calling this method triggers update and update_objective

    -
    -__reduce__()#
    +
    +__reduce__()#

    Helper for pickle.

    -
    -__reduce_ex__(protocol, /)#
    +
    +__reduce_ex__(protocol, /)#

    Helper for pickle.

    -
    -__repr__()#
    +
    +__repr__()#

    Return repr(self).

    -
    -__setattr__(name, value, /)#
    +
    +__setattr__(name, value, /)#

    Implement setattr(self, name, value).

    -
    -__sizeof__()#
    +
    +__sizeof__()#

    Size of object in memory, in bytes.

    -
    -__str__()#
    +
    +__str__()#

    Return str(self).

    -
    -__subclasshook__()#
    +
    +__subclasshook__()#

    Abstract classes can override this to customize issubclass().

    This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns @@ -1705,79 +1744,79 @@

    FISTA

    -
    -__weakref__#
    +
    +__weakref__#

    list of weak references to the object (if defined)

    -
    -get_last_loss(**kwargs)#
    +
    +get_last_loss(**kwargs)#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)#
    +
    +get_last_objective(**kwargs)#

    alias to get_last_loss

    -
    -get_output()#
    +
    +get_output()#

    Returns the current solution.

    -
    -is_provably_convergent()#
    +
    +is_provably_convergent()#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -max_iteration_stop_criterion()#
    +
    +max_iteration_stop_criterion()#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()#
    +
    +next()#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -1797,40 +1836,40 @@

    FISTA

    -
    -set_up(initial, f, g, step_size, **kwargs)#
    +
    +set_up(initial, f, g, step_size, **kwargs)#

    Set up of the algorithm

    -
    -should_stop()#
    +
    +should_stop()#

    default stopping criterion: number of iterations

    The user can change this in concrete implementation of iterative algorithms.

    -
    -update_objective()#
    +
    +update_objective()#

    Updates the objective

    \[f(x) + g(x)\]
    -
    -verbose_output(verbose=False)#
    +
    +verbose_output(verbose=False)#

    Creates a nice tabulated output

    -
    -
    + +

    PDHG#

    -
    -class cil.optimisation.algorithms.PDHG(f, g, operator, tau=None, sigma=None, initial=None, **kwargs)[source]#
    +
    +class cil.optimisation.algorithms.PDHG(f, g, operator, tau=None, sigma=None, initial=None, **kwargs)[source]#

    Primal Dual Hybrid Gradient (PDHG) algorithm, see [3], [4].

    Parameters
    @@ -1840,7 +1879,7 @@

    PDHG#<
  • operator (LinearOperator) – A Linear Operator.

  • sigma (positive float, or np.ndarray, DataContainer, BlockDataContainer, optional, default=None) – Step size for the dual problem.

  • tau (positive float, or np.ndarray, DataContainer, BlockDataContainer, optional, default=None) – Step size for the primal problem.

  • -
  • initial (DataContainer, optional, default=None) – Initial point for the PDHG algorithm.

  • +
  • initial (DataContainer, optional, default=None) – Initial point for the PDHG algorithm.

  • gamma_g (positive float, optional, default=None) – Strongly convex constant if the function g is strongly convex. Allows primal acceleration of the PDHG algorithm.

  • gamma_fconj (positive float, optional, default=None) – Strongly convex constant if the convex conjugate of f is strongly convex. Allows dual acceleration of the PDHG algorithm.

  • **kwargs

    Keyward arguments used from the base class Algorithm.

    @@ -1966,8 +2005,8 @@

    PDHG#<

    Implement acceleration of PDHG when both functions are strongly convex.

  • -
    -set_gamma_g(value)[source]#
    +
    +set_gamma_g(value)[source]#

    Set the value of the strongly convex constant for function g

    Parameters
    @@ -1977,8 +2016,8 @@

    PDHG#<

    -
    -set_gamma_fconj(value)[source]#
    +
    +set_gamma_fconj(value)[source]#

    Set the value of the strongly convex constant for the convex conjugate of function f

    Parameters
    @@ -1988,8 +2027,8 @@

    PDHG#<

    -
    -set_up(f, g, operator, tau=None, sigma=None, initial=None, **kwargs)[source]#
    +
    +set_up(f, g, operator, tau=None, sigma=None, initial=None, **kwargs)[source]#

    Initialisation of the algorithm

    Parameters
    @@ -1999,7 +2038,7 @@

    PDHG#<
  • operator (LinearOperator) – A Linear Operator.

  • sigma (positive float, or np.ndarray, DataContainer, BlockDataContainer, optional, default=None) – Step size for the dual problem.

  • tau (positive float, or np.ndarray, DataContainer, BlockDataContainer, optional, default=None) – Step size for the primal problem.

  • -
  • initial (DataContainer, optional, default=None) – Initial point for the PDHG algorithm.

  • +
  • initial (DataContainer, optional, default=None) – Initial point for the PDHG algorithm.

  • theta (Relaxation parameter, Number, default 1.0) –

  • @@ -2007,20 +2046,20 @@

    PDHG#<

    -
    -get_output()[source]#
    +
    +get_output()[source]#

    Returns the current solution.

    -
    -update()[source]#
    +
    +update()[source]#

    Performs a single iteration of the PDHG algorithm

    -
    -check_convergence()[source]#
    +
    +check_convergence()[source]#

    Check whether convergence criterion for PDHG is satisfied with scalar values of tau and sigma

    Returns
    @@ -2033,8 +2072,8 @@

    PDHG#<

    -
    -set_step_sizes(sigma=None, tau=None)[source]#
    +
    +set_step_sizes(sigma=None, tau=None)[source]#

    Sets sigma and tau step-sizes for the PDHG algorithm. The step sizes can be either scalar or array-objects.

    Parameters
    @@ -2049,79 +2088,79 @@

    PDHG#<

    -
    -update_step_sizes()[source]#
    +
    +update_step_sizes()[source]#

    Updates step sizes in the cases of primal or dual acceleration using the strongly convexity property. The case where both functions are strongly convex is not available at the moment.

    -
    -update_objective()[source]#
    +
    +update_objective()[source]#

    Evaluates the primal objective, the dual objective and the primal-dual gap.

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -get_last_loss(**kwargs)#
    +
    +get_last_loss(**kwargs)#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)#
    +
    +get_last_objective(**kwargs)#

    alias to get_last_loss

    -
    -is_provably_convergent()#
    +
    +is_provably_convergent()#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -max_iteration_stop_criterion()#
    +
    +max_iteration_stop_criterion()#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()#
    +
    +next()#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -2141,26 +2180,26 @@

    PDHG#<

    -
    -should_stop()#
    +
    +should_stop()#

    default stopping criterion: number of iterations

    The user can change this in concrete implementation of iterative algorithms.

    -
    -verbose_output(verbose=False)#
    +
    +verbose_output(verbose=False)#

    Creates a nice tabulated output

    - -
    + +

    LADMM#

    -
    -class cil.optimisation.algorithms.LADMM(f=None, g=None, operator=None, tau=None, sigma=1.0, initial=None, **kwargs)[source]#
    +
    +class cil.optimisation.algorithms.LADMM(f=None, g=None, operator=None, tau=None, sigma=1.0, initial=None, **kwargs)[source]#

    LADMM is the Linearized Alternating Direction Method of Multipliers (LADMM)

    General form of ADMM : min_{x} f(x) + g(y), subject to Ax + By = b

    Case: A = Id, B = -K, b = 0 ==> min_x f(Kx) + g(x)

    @@ -2174,91 +2213,91 @@

    LADMM

    u^{k} = u^{k-1} + Ax^{k} - z^{k}

    -
    -set_up(f, g, operator, tau=None, sigma=1.0, initial=None)[source]#
    +
    +set_up(f, g, operator, tau=None, sigma=1.0, initial=None)[source]#

    Set up the algorithm

    -
    -update()[source]#
    +
    +update()[source]#

    A single iteration of the algorithm

    -
    -update_objective()[source]#
    +
    +update_objective()[source]#

    calculates the objective with the current solution

    -
    -get_last_loss(**kwargs)#
    +
    +get_last_loss(**kwargs)#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)#
    +
    +get_last_objective(**kwargs)#

    alias to get_last_loss

    -
    -get_output()#
    +
    +get_output()#

    Returns the current solution.

    -
    -is_provably_convergent()#
    +
    +is_provably_convergent()#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -max_iteration_stop_criterion()#
    +
    +max_iteration_stop_criterion()#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()#
    +
    +next()#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -2278,26 +2317,26 @@

    LADMM

    -
    -should_stop()#
    +
    +should_stop()#

    default stopping criterion: number of iterations

    The user can change this in concrete implementation of iterative algorithms.

    -
    -verbose_output(verbose=False)#
    +
    +verbose_output(verbose=False)#

    Creates a nice tabulated output

    - -
    + +

    SPDHG#

    -
    -class cil.optimisation.algorithms.SPDHG(f=None, g=None, operator=None, tau=None, sigma=None, initial=None, prob=None, gamma=1.0, **kwargs)[source]#
    +
    +class cil.optimisation.algorithms.SPDHG(f=None, g=None, operator=None, tau=None, sigma=None, initial=None, prob=None, gamma=1.0, **kwargs)[source]#

    Stochastic Primal Dual Hybrid Gradient

    Problem:

    @@ -2310,7 +2349,7 @@

    SPDHG
  • operator (BlockOperator) – BlockOperator must contain Linear Operators

  • tau (positive float, optional, default=None) – Step size parameter for Primal problem

  • sigma (list of positive float, optional, default=None) – List of Step size parameters for Dual problem

  • -
  • initial (DataContainer, optional, default=None) – Initial point for the SPDHG algorithm

  • +
  • initial (DataContainer, optional, default=None) – Initial point for the SPDHG algorithm

  • prob (list of floats, optional, default=None) – List of probabilities. If None each subset will have probability = 1/number of subsets

  • gamma (float) – parameter controlling the trade-off between the primal and dual step sizes

  • **kwargs

  • @@ -2319,7 +2358,7 @@

    SPDHG

    Example

    -

    Example of usage: See https://github.com/vais-ral/CIL-Demos/blob/master/Tomography/Simulated/Single%20Channel/PDHG_vs_SPDHG.py

    +

    Example of usage: See vais-ral/CIL-Demos

    Note

    Convergence is guaranteed provided that [2, eq. (12)]:

    @@ -2350,8 +2389,8 @@

    SPDHG Matthias J Ehrhardt, Pawel Markiewicz and Carola-Bibiane Schönlieb, Physics in Medicine & Biology, Volume 64, Number 22, 2019.

    -
    -set_up(f, g, operator, tau=None, sigma=None, initial=None, prob=None, gamma=1.0, norms=None)[source]#
    +
    +set_up(f, g, operator, tau=None, sigma=None, initial=None, prob=None, gamma=1.0, norms=None)[source]#

    set-up of the algorithm :param f: Each must be a convex function with a “simple” proximal method of its conjugate :type f: BlockFunction @@ -2375,85 +2414,85 @@

    SPDHG

    -
    -update()[source]#
    +
    +update()[source]#

    A single iteration of the algorithm

    -
    -update_objective()[source]#
    +
    +update_objective()[source]#

    calculates the objective with the current solution

    -
    -
    -property objective#
    +
    +
    +property objective#

    alias of loss

    -
    -get_last_loss(**kwargs)#
    +
    +get_last_loss(**kwargs)#

    Returns the last stored value of the loss function

    if update_objective_interval is 1 it is the value of the objective at the current iteration. If update_objective_interval > 1 it is the last stored value.

    -
    -get_last_objective(**kwargs)#
    +
    +get_last_objective(**kwargs)#

    alias to get_last_loss

    -
    -get_output()#
    +
    +get_output()#

    Returns the current solution.

    -
    -is_provably_convergent()#
    +
    +is_provably_convergent()#

    Check if the algorithm is convergent based on the provable convergence criterion.

    -
    -
    -property iterations#
    +
    +
    +property iterations#

    returns the iterations at which the objective has been evaluated

    -
    -
    -property loss#
    +
    +
    +property loss#

    returns the list of the values of the objective during the iteration

    The length of this list may be shorter than the number of iterations run when the update_objective_interval > 1

    -
    -
    -property max_iteration#
    +
    +
    +property max_iteration#

    gets the maximum number of iterations

    -
    -max_iteration_stop_criterion()#
    +
    +max_iteration_stop_criterion()#

    default stop criterion for iterative algorithm: max_iteration reached

    -
    -next()#
    +
    +next()#

    Algorithm is an iterable

    python2 backwards compatibility

    -
    -run(iterations=None, verbose=1, callback=None, **kwargs)#
    +
    +run(iterations=None, verbose=1, callback=None, **kwargs)#

    run n iterations and update the user with the callback if specified

    Parameters
    @@ -2473,23 +2512,23 @@

    SPDHG

    -
    -should_stop()#
    +
    +should_stop()#

    default stopping criterion: number of iterations

    The user can change this in concrete implementation of iterative algorithms.

    -
    -verbose_output(verbose=False)#
    +
    +verbose_output(verbose=False)#

    Creates a nice tabulated output

    -

    -
    -
    + + +

    Operators#

    The two most important methods are direct and adjoint methods that describe the result of applying the operator, and its @@ -2497,38 +2536,38 @@

    OperatorsDataContainer object or subclass hereof. An important special case is to represent the tomographic forward and backprojection operations.

    -
    +

    Operator base classes#

    All operators extend the Operator class. A special class is the LinearOperator which represents an operator for which the adjoint operation is defined. A ScaledOperator represents the multiplication of any operator with a scalar.

    -
    -class cil.optimisation.operators.Operator(domain_geometry, **kwargs)[source]#
    +
    +class cil.optimisation.operators.Operator(domain_geometry, **kwargs)[source]#

    Operator that maps from a space X -> Y

    Parameters
    -
    -is_linear()[source]#
    +
    +is_linear()[source]#

    Returns if the operator is linear

    -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Returns the application of the Operator on x

    -
    -norm(**kwargs)[source]#
    +
    +norm(**kwargs)[source]#

    Returns the norm of the Operator. On first call the norm will be calculated using the operator’s calculate_norm method. Subsequent calls will return the cached norm.

    @@ -2542,8 +2581,8 @@

    Operator base classes

    -
    -set_norm(norm=None)[source]#
    +
    +set_norm(norm=None)[source]#

    Sets the norm of the operator to a custom value.

    Parameters
    @@ -2558,53 +2597,53 @@

    Operator base classes

    -
    -calculate_norm()[source]#
    +
    +calculate_norm()[source]#

    Returns the norm of the SumOperator. Note that this gives a NotImplementedError if the SumOperator is not linear.

    -
    -range_geometry()[source]#
    +
    +range_geometry()[source]#

    Returns the range of the Operator: Y space

    -
    -domain_geometry()[source]#
    +
    +domain_geometry()[source]#

    Returns the domain of the Operator: X space

    -
    -class cil.optimisation.operators.LinearOperator(domain_geometry, **kwargs)[source]#
    +
    +class cil.optimisation.operators.LinearOperator(domain_geometry, **kwargs)[source]#

    Linear operator that maps from a space X <-> Y

    Parameters
    -
    -is_linear()[source]#
    +
    +is_linear()[source]#

    Returns if the operator is linear

    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    returns the adjoint/inverse operation

    only available to linear operators

    -
    -static PowerMethod(operator, max_iteration=10, initial=None, tolerance=1e-05, return_all=False, method='auto')[source]#
    +
    +static PowerMethod(operator, max_iteration=10, initial=None, tolerance=1e-05, return_all=False, method='auto')[source]#

    Power method or Power iteration algorithm

    The Power method computes the largest (dominant) eigenvalue of a matrix in magnitude, e.g., absolute value in the real case and modulus in the complex case.

    @@ -2613,7 +2652,7 @@

    Operator base classes
    • operator (LinearOperator) –

    • max_iteration (positive:int, default=10) – Number of iterations for the Power method algorithm.

    • -
    • initial (DataContainer, default = None) – Starting point for the Power method.

    • +
    • initial (DataContainer, default = None) – Starting point for the Power method.

    • tolerance (positive:float, default = 1e-5) – Stopping criterion for the Power method. Check if two consecutive eigenvalue evaluations are below the tolerance.

    • return_all (boolean, default = False) – Toggles the verbosity of the return

    • method (string one of “auto”, “composed_with_adjoint” and “direct_only”, default = “auto”) – The default auto lets the code choose the method, this can be specified with “direct_only” or “composed_with_adjoint”

    • @@ -2657,14 +2696,14 @@

      Operator base classes

    -
    -calculate_norm()[source]#
    +
    +calculate_norm()[source]#

    Returns the norm of the LinearOperator calculated by the PowerMethod with default values.

    -
    -static dot_test(operator, domain_init=None, range_init=None, tolerance=1e-06, **kwargs)[source]#
    +
    +static dot_test(operator, domain_init=None, range_init=None, tolerance=1e-06, **kwargs)[source]#

    Does a dot linearity test on the operator Evaluates if the following equivalence holds .. math:

    @@ -2679,14 +2718,11 @@

    Operator base classes

    domain_init – optional initialisation container in the operator domain

    Vm90_|!FB^yg# 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

  • seed (int, default = 1) – Seed random generator

  • tolerance (float, default 1e-6) – Check if the following expression is below the tolerance

  • -
  • math:: (.) – |Ax\times y - y \times A^Tx|/(|A||x||y| + 1e-12) < tolerance

  • +
  • math:: (..) – |Ax\times y - y \times A^Tx|/(|A||x||y| + 1e-12) < tolerance

  • -
    Returns
    -

    -
    -
    Return type
    -

    boolean, True if the test is passed.

    +
    Return type
    +

    boolean, True if the test is passed.

    @@ -2694,8 +2730,8 @@

    Operator base classes
    -
    -class cil.optimisation.operators.ScaledOperator(operator, scalar, **kwargs)[source]#
    +
    +class cil.optimisation.operators.ScaledOperator(operator, scalar, **kwargs)[source]#

    A class to represent the scalar multiplication of an Operator with a scalar. It holds an operator and a scalar. Basically it returns the multiplication of the result of direct and adjoint of the operator with the scalar. @@ -2717,34 +2753,34 @@

    Operator base classes
    -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    direct method

    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    adjoint method

    -
    -norm(**kwargs)[source]#
    +
    +norm(**kwargs)[source]#

    norm of the operator

    -
    -is_linear()[source]#
    +
    +is_linear()[source]#

    returns a boolean indicating whether the operator is linear

    -
    -class cil.optimisation.operators.CompositionOperator(*operators, **kwargs)[source]#
    +
    +class cil.optimisation.operators.CompositionOperator(*operators, **kwargs)[source]#

    Composes one or more operators. For example, CompositionOperator(left, right).direct(x) is equivalent to left.direct(right.direct(x))

    @@ -2753,44 +2789,44 @@

    Operator base classes

    -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Calls the composition operator

    Parameters
    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    Calls the adjoint of the composition operator

    Parameters
    -
    -is_linear()[source]#
    +
    +is_linear()[source]#

    Returns if the operator is linear

    -
    -class cil.optimisation.operators.DiagonalOperator(diagonal, domain_geometry=None)[source]#
    +
    +class cil.optimisation.operators.DiagonalOperator(diagonal, domain_geometry=None)[source]#

    Performs an element-wise multiplication, i.e., Hadamard Product of a DataContainer x and DataContainer diagonal, d .

    @@ -2802,26 +2838,26 @@

    Operator base classes
    Parameters
      -
    • diagonal (DataContainer) – DataContainer with the same dimensions as the data to be operated on.

    • -
    • domain_geometry (ImageGeometry) – Specifies the geometry of the operator domain. If ‘None’ will use the diagonal geometry directly. default=None .

    • +
    • diagonal (DataContainer) – DataContainer with the same dimensions as the data to be operated on.

    • +
    • domain_geometry (ImageGeometry) – Specifies the geometry of the operator domain. If ‘None’ will use the diagonal geometry directly. default=None .

    -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Returns \(D\circ x\)

    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    Returns \(D^*\circ x\)

    -
    -calculate_norm(**kwargs)[source]#
    +
    +calculate_norm(**kwargs)[source]#

    Returns the operator norm of DiagonalOperator which is the \(\infty\) norm of diagonal

    \[\|D\|_{\infty} = \max_{i}\{|D_{i}|\}\]
    @@ -2830,8 +2866,8 @@

    Operator base classes

    -
    -class cil.optimisation.operators.ChannelwiseOperator(op, channels, dimension='prepend')[source]#
    +
    +class cil.optimisation.operators.ChannelwiseOperator(op, channels, dimension='prepend')[source]#

    ChannelwiseOperator: takes in a single-channel operator op and the number of channels to be used, and creates a new multi-channel ChannelwiseOperator, which will apply the operator op independently on @@ -2853,28 +2889,28 @@

    Operator base classes
    -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Returns D(x)

    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    Returns D^{*}(y)

    -
    -calculate_norm(**kwargs)[source]#
    +
    +calculate_norm(**kwargs)[source]#

    Evaluates operator norm of DiagonalOperator

    -
    -class cil.optimisation.operators.SumOperator(operator1, operator2)[source]#
    +
    +class cil.optimisation.operators.SumOperator(operator1, operator2)[source]#

    Sums two operators. For example, SumOperator(left, right).direct(x) is equivalent to left.direct(x)+right.direct(x)

    @@ -2890,74 +2926,74 @@

    Operator base classesBoth operators must have the same domain and range.

    -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Calls the sum operator

    Parameters
    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    Calls the adjoint of the sum operator

    Parameters
    -
    -is_linear()[source]#
    +
    +is_linear()[source]#

    Returns if the operator is linear

    - -
    + +

    Trivial operators#

    Trivial operators are the following.

    -
    -class cil.optimisation.operators.IdentityOperator(domain_geometry, range_geometry=None)[source]#
    +
    +class cil.optimisation.operators.IdentityOperator(domain_geometry, range_geometry=None)[source]#

    IdentityOperator: Id: X -> Y, Id(x) = xin Y

    X : gm_domain Y : gm_range ( Default: Y = X )

    -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Returns Id(x)

    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    Returns Id(x)

    -
    -calculate_norm(**kwargs)[source]#
    +
    +calculate_norm(**kwargs)[source]#

    Evaluates operator norm of IdentityOperator

    -
    -class cil.optimisation.operators.ZeroOperator(domain_geometry, range_geometry=None)[source]#
    +
    +class cil.optimisation.operators.ZeroOperator(domain_geometry, range_geometry=None)[source]#

    ZeroOperator: O: X -> Y, maps any element of \(x\in X\) into the zero element \(\in Y, O(x) = O_{Y}\)

    Parameters
    @@ -2971,28 +3007,28 @@

    Trivial operators \[ \begin{align}\begin{aligned}O^{*}: Y^{*} -> X^{*} \text{(Adjoint)}\\< O(x), y > = < x, O^{*}(y) >\end{aligned}\end{align} \]

    -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Returns O(x)

    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    Returns O^{*}(y)

    -
    -calculate_norm(**kwargs)[source]#
    +
    +calculate_norm(**kwargs)[source]#

    Evaluates operator norm of ZeroOperator

    -
    -class cil.optimisation.operators.MatrixOperator(A)[source]#
    +
    +class cil.optimisation.operators.MatrixOperator(A)[source]#

    Matrix wrapped into a LinearOperator

    Param
    @@ -3000,14 +3036,14 @@

    Trivial operators -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Returns the application of the Operator on x

    -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    returns the adjoint/inverse operation

    only available to linear operators

    @@ -3015,30 +3051,30 @@

    Trivial operators -
    -class cil.optimisation.operators.MaskOperator(mask, domain_geometry=None)[source]#
    +
    +class cil.optimisation.operators.MaskOperator(mask, domain_geometry=None)[source]#
    Parameters
      -
    • mask (DataContainer) – Boolean array with the same dimensions as the data to be operated on.

    • -
    • domain_geometry (ImageGeometry) – Specifies the geometry of the operator domain. If ‘None’ will use the mask geometry size and spacing as float32. default = None .

    • +
    • mask (DataContainer) – Boolean array with the same dimensions as the data to be operated on.

    • +
    • domain_geometry (ImageGeometry) – Specifies the geometry of the operator domain. If ‘None’ will use the mask geometry size and spacing as float32. default = None .

    - -
    + +

    GradientOperator#

    -
    -class cil.optimisation.operators.GradientOperator(domain_geometry, method='forward', bnd_cond='Neumann', **kwargs)[source]#
    +
    +class cil.optimisation.operators.GradientOperator(domain_geometry, method='forward', bnd_cond='Neumann', **kwargs)[source]#

    Gradient Operator: Computes first-order forward/backward differences on 2D, 3D, 4D ImageData under Neumann/Periodic boundary conditions

    Parameters
    + +

    Functions#

    A Function represents a mathematical function of one or more inputs and is intended to accept DataContainers as input as well as any @@ -3242,11 +3278,11 @@

    Functionsproximal should return the proximal operator evaluated at an input point. The function value is evaluated by calling the function itself, e.g. f(x) for a Function f and input point x.

    -
    +

    Base classes#

    -
    -class cil.optimisation.functions.Function(L=None)[source]#
    +
    +class cil.optimisation.functions.Function(L=None)[source]#

    Abstract class representing a function

    Parameters
    @@ -3258,72 +3294,63 @@

    Base classes\(\|f'(x) - f'(y)\| \leq L \|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the value of the gradient of function \(F\) evaluated at \(x\), if it is differentiable

    \[F'(x)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the gradient of the function at x or None if out

    +
    Return type
    +

    DataContainer, the value of the gradient of the function at x or None if out

    -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the proximal operator of function \(\tau F\) evaluated at x

    \[\text{prox}_{\tau F}(x) = \underset{z}{\text{argmin}} \frac{1}{2}\|z - x\|^{2} + \tau F(z)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    +

    x (DataContainer) –

    -
    Returns
    -

    -
    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -proximal_conjugate(x, tau, out=None)[source]#
    +
    +proximal_conjugate(x, tau, out=None)[source]#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -3333,43 +3360,37 @@

    Base classes
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -centered_at(center)[source]#
    +
    +centered_at(center)[source]#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    @@ -3377,8 +3398,8 @@

    Base classes -
    -class cil.optimisation.functions.SumFunction(*functions)[source]#
    +
    +class cil.optimisation.functions.SumFunction(*functions)[source]#

    SumFunction represents the sum of \(n\geq2\) functions

    \[(F_{1} + F_{2} + ... + F_{n})(\cdot) = F_{1}(\cdot) + F_{2}(\cdot) + ... + F_{n}(\cdot)\]
    @@ -3405,18 +3426,18 @@

    Base classes
    >>> F = SumFunction(*[L2NormSquared(b=i) for i in range(50)])
     

    -
    -
    -property L#
    +
    +
    +property L#

    Returns the Lipschitz constant for the SumFunction

    \[L = \sum_{i} L_{i}\]

    where \(L_{i}\) is the Lipschitz constant of the smooth function \(F_{i}\).

    -
    -
    -property Lmax#
    +
    +
    +property Lmax#

    Returns the maximum Lipschitz constant for the SumFunction

    \[L = \max_{i}\{L_{i}\}\]
    @@ -3424,92 +3445,80 @@

    Base classes -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the value of the sum of the gradient of functions evaluated at \(x\), if all of them are differentiable.

    \[(F'_{1} + F'_{2} + ... + F'_{n})(x) = F'_{1}(x) + F'_{2}(x) + ... + F'_{n}(x)\]
    Parameters
      -
    • x (DataContainer) – Point to evaluate the gradient at.

    • +
    • x (DataContainer) – Point to evaluate the gradient at.

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the sum of the gradients evaluated at point \(x\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the sum of the gradients evaluated at point \(x\) or None if out.

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    +

    x (DataContainer) –

    -
    Returns
    -

    -
    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -proximal(x, tau, out=None)#
    +
    +proximal(x, tau, out=None)#

    Returns the proximal operator of function \(\tau F\) evaluated at x

    \[\text{prox}_{\tau F}(x) = \underset{z}{\text{argmin}} \frac{1}{2}\|z - x\|^{2} + \tau F(z)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -3519,16 +3528,13 @@

    Base classes
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    @@ -3536,8 +3542,8 @@

    Base classes -
    -class cil.optimisation.functions.ScaledFunction(function, scalar)[source]#
    +
    +class cil.optimisation.functions.ScaledFunction(function, scalar)[source]#

    ScaledFunction represents the scalar multiplication with a Function.

    Let a function F then and a scalar \(\alpha\).

    If \(G(x) = \alpha F(x)\) then:

    @@ -3547,114 +3553,99 @@

    Base classes\(G^{*}(x^{*}) = \alpha F^{*}(\frac{x^{*}}{\alpha})\) ( convex_conjugate method )

  • \(\text{prox}_{\tau G}(x) = \text{prox}_{(\tau\alpha) F}(x)\) ( proximal method )

  • -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the convex conjugate of the scaled function.

    \[G^{*}(x^{*}) = \alpha F^{*}(\frac{x^{*}}{\alpha})\]
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    +

    x (DataContainer) –

    -
    Return type
    -

    The value of the convex conjugate of the scaled function.

    +
    Return type
    +

    The value of the convex conjugate of the scaled function.

    -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the gradient of the scaled function evaluated at \(x\).

    \[G'(x) = \alpha F'(x)\]
    Parameters
      -
    • x (DataContainer) – Point to evaluate the gradient at.

    • +
    • x (DataContainer) – Point to evaluate the gradient at.

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the gradient of the scaled function evaluated at \(x\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the gradient of the scaled function evaluated at \(x\) or None if out.

    -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the proximal operator of the scaled function, evaluated at \(x\).

    \[\text{prox}_{\tau G}(x) = \text{prox}_{(\tau\alpha) F}(x)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the scaled function evaluated at \(x\) with scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the scaled function evaluated at \(x\) with scalar \(\tau\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)[source]#
    +
    +proximal_conjugate(x, tau, out=None)[source]#

    This returns the proximal conjugate operator for the function at \(x\), \(\tau\)

    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal conjugate operator for the function evaluated at \(x\) and \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal conjugate operator for the function evaluated at \(x\) and \(\tau\) or None if out.

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    +

    center (DataContainer) – The point to center the function at.

    -
    Returns
    -

    -
    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    @@ -3662,8 +3653,8 @@

    Base classes -
    -class cil.optimisation.functions.SumScalarFunction(function, constant)[source]#
    +
    +class cil.optimisation.functions.SumScalarFunction(function, constant)[source]#

    SumScalarFunction represents the sum a function with a scalar.

    \[(F + scalar)(x) = F(x) + scalar\]
    @@ -3675,59 +3666,53 @@

    Base classes -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the convex conjugate of a \((F+scalar)\), evaluated at \(x\).

    \[(F+scalar)^{*}(x^{*}) = F^{*}(x^{*}) - scalar\]
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    +

    x (DataContainer) –

    -
    Return type
    -

    The value of the convex conjugate evaluated at \(x\).

    +
    Return type
    +

    The value of the convex conjugate evaluated at \(x\).

    -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the proximal operator of \(F+scalar\)

    \[ext{prox}_{ au (F+scalar)}(x) = ext{prox}_{ au F}\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the evaluation of the proximal operator evaluated at \(x\) and :math:` au` or None if out.

    +
    Return type
    +

    DataContainer, the evaluation of the proximal operator evaluated at \(x\) and :math:` au` or None if out.

    -
    -
    -property L#
    +
    +
    +property L#

    Returns the Lipschitz constant for the SumFunction

    \[L = \sum_{i} L_{i}\]

    where \(L_{i}\) is the Lipschitz constant of the smooth function \(F_{i}\).

    -
    -
    -property Lmax#
    +
    +
    +property Lmax#

    Returns the maximum Lipschitz constant for the SumFunction

    \[L = \max_{i}\{L_{i}\}\]
    @@ -3735,50 +3720,44 @@

    Base classes -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    +

    center (DataContainer) – The point to center the function at.

    -
    Returns
    -

    -
    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -gradient(x, out=None)#
    +
    +gradient(x, out=None)#

    Returns the value of the sum of the gradient of functions evaluated at \(x\), if all of them are differentiable.

    \[(F'_{1} + F'_{2} + ... + F'_{n})(x) = F'_{1}(x) + F'_{2}(x) + ... + F'_{n}(x)\]
    Parameters
      -
    • x (DataContainer) – Point to evaluate the gradient at.

    • +
    • x (DataContainer) – Point to evaluate the gradient at.

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the sum of the gradients evaluated at point \(x\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the sum of the gradients evaluated at point \(x\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -3788,16 +3767,13 @@

    Base classes
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    @@ -3805,8 +3781,8 @@

    Base classes -
    -class cil.optimisation.functions.TranslateFunction(function, center)[source]#
    +
    +class cil.optimisation.functions.TranslateFunction(function, center)[source]#

    TranslateFunction represents the translation of function F with respect to the center b.

    Let a function F and consider \(G(x) = F(x - center)\).

    Function F is centered at 0, whereas G is centered at point b.

    @@ -3817,36 +3793,33 @@

    Base classes\(G^{*}(x^{*}) = F^{*}(x^{*}) + <x^{*}, b >\) ( convex_conjugate method )

  • \(\text{prox}_{\tau G}(x) = \text{prox}_{\tau F}(x - b) + b\) ( proximal method )

  • -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -3856,114 +3829,99 @@

    Base classes
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the gradient of the translated function.

    \[G'(x) = F'(x - b)\]
    Parameters
      -
    • x (DataContainer) – Point to evaluate the gradient at.

    • +
    • x (DataContainer) – Point to evaluate the gradient at.

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the gradient of the translated function evaluated at \(x\) or None if out.

    +
    Return type
    +

    DataContainer, the gradient of the translated function evaluated at \(x\) or None if out.

    -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the proximal operator of the translated function.

    \[\text{prox}_{\tau G}(x) = \text{prox}_{\tau F}(x-b) + b\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the translated function at \(x\) and \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the translated function at \(x\) and \(\tau\) or None if out.

    -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the convex conjugate of the translated function.

    \[G^{*}(x^{*}) = F^{*}(x^{*}) + <x^{*}, b >\]
    Parameters
    -

    x (DataContainer) –

    +

    x (DataContainer) –

    -
    Returns
    -

    -
    -
    Return type
    -

    The value of the convex conjugate of the translated function at \(x\).

    +
    Return type
    +

    The value of the convex conjugate of the translated function at \(x\).

    - -
    + +

    Simple functions#

    -
    -class cil.optimisation.functions.ConstantFunction(constant=0)[source]#
    +
    +class cil.optimisation.functions.ConstantFunction(constant=0)[source]#

    ConstantFunction: \(F(x) = constant, constant\in\mathbb{R}\)

    -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the value of the gradient of the function, \(F'(x)=0\) :param x: Point to evaluate the gradient at. :type x: DataContainer :param out: :type out: return DataContainer, if None a new DataContainer is returned, default None.

    -
    Returns
    -

    -
    -
    Return type
    -

    A DataContainer of zeros, the same size as \(x\) or None if out

    +
    Return type
    +

    A DataContainer of zeros, the same size as \(x\) or None if out

    -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    The convex conjugate of constant function \(F(x) = c\in\mathbb{R}\) is

    \[\begin{split}F(x^{*}) @@ -3980,70 +3938,61 @@

    Simple functions
    Parameters
    -

    x (DataContainer) –

    +

    x (DataContainer) –

    -
    Returns
    -

    -
    -
    Return type
    -

    The maximum of x and 0, summed over the entries of x.

    +
    Return type
    +

    The maximum of x and 0, summed over the entries of x.

    -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the proximal operator of the constant function, which is the same element, i.e.,

    \[\text{prox}_{\tau F}(x) = x\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, equal to \(x\) or None if out.

    +
    Return type
    +

    DataContainer, equal to \(x\) or None if out.

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -4053,16 +4002,13 @@

    Simple functions
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    @@ -4070,39 +4016,36 @@

    Simple functions -
    -class cil.optimisation.functions.ZeroFunction[source]#
    +
    +class cil.optimisation.functions.ZeroFunction[source]#

    ZeroFunction represents the zero function, \(F(x) = 0\)

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    The convex conjugate of constant function \(F(x) = c\in\mathbb{R}\) is

    \[\begin{split}F(x^{*}) @@ -4119,61 +4062,52 @@

    Simple functions
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    +

    x (DataContainer) –

    -
    Return type
    -

    The maximum of x and 0, summed over the entries of x.

    +
    Return type
    +

    The maximum of x and 0, summed over the entries of x.

    -
    -gradient(x, out=None)#
    +
    +gradient(x, out=None)#

    Returns the value of the gradient of the function, \(F'(x)=0\) :param x: Point to evaluate the gradient at. :type x: DataContainer :param out: :type out: return DataContainer, if None a new DataContainer is returned, default None.

    -
    Returns
    -

    -
    -
    Return type
    -

    A DataContainer of zeros, the same size as \(x\) or None if out

    +
    Return type
    +

    A DataContainer of zeros, the same size as \(x\) or None if out

    -
    -proximal(x, tau, out=None)#
    +
    +proximal(x, tau, out=None)#

    Returns the proximal operator of the constant function, which is the same element, i.e.,

    \[\text{prox}_{\tau F}(x) = x\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, equal to \(x\) or None if out.

    +
    Return type
    +

    DataContainer, equal to \(x\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -4183,16 +4117,13 @@

    Simple functions
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    @@ -4200,94 +4131,85 @@

    Simple functions -
    -class cil.optimisation.functions.Rosenbrock(alpha, beta)[source]#
    +
    +class cil.optimisation.functions.Rosenbrock(alpha, beta)[source]#

    Rosenbrock function

    \[\]

    F(x,y) = (alpha - x)^2 + beta(y-x^2)^2

    The function has a global minimum at .. math:: (x,y)=(alpha, alpha^2)

    -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Gradient of the Rosenbrock function

    \[\]

    nabla f(x,y) = left[ 2*((x-alpha) - 2beta x(y-x^2)) ; 2beta (y - x^2) right]

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    +

    center (DataContainer) – The point to center the function at.

    -
    Returns
    -

    -
    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    +

    x (DataContainer) –

    -
    Returns
    -

    -
    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -proximal(x, tau, out=None)#
    +
    +proximal(x, tau, out=None)#

    Returns the proximal operator of function \(\tau F\) evaluated at x

    \[\text{prox}_{\tau F}(x) = \underset{z}{\text{argmin}} \frac{1}{2}\|z - x\|^{2} + \tau F(z)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -4297,24 +4219,21 @@

    Simple functions
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -

    -
    + +

    Composition of operator and a function#

    This class allows the user to write a function which does the following:

    @@ -4324,8 +4243,8 @@

    Composition of operator and a function \[F(x) = || Ax - b ||^2_2\]

    -
    -class cil.optimisation.functions.OperatorCompositionFunction(function, operator)[source]#
    +
    +class cil.optimisation.functions.OperatorCompositionFunction(function, operator)[source]#

    Composition of a function with an operator as : \((F \otimes A)(x) = F(Ax)\)

    @@ -4339,85 +4258,76 @@

    Composition of operator and a function -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Return the gradient of F(Ax),

    ..math :: (F(Ax))’ = A^{T}F’(Ax)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    +

    x (DataContainer) –

    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -proximal(x, tau, out=None)#
    +
    +proximal(x, tau, out=None)#

    Returns the proximal operator of function \(\tau F\) evaluated at x

    \[\text{prox}_{\tau F}(x) = \underset{z}{\text{argmin}} \frac{1}{2}\|z - x\|^{2} + \tau F(z)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -4427,28 +4337,25 @@

    Composition of operator and a function
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -
    + +

    Indicator box#

    -
    -class cil.optimisation.functions.IndicatorBox(lower=None, upper=None, accelerated=True)[source]#
    +
    +class cil.optimisation.functions.IndicatorBox(lower=None, upper=None, accelerated=True)[source]#

    Indicator function for box constraint

    @@ -4460,8 +4367,8 @@

    Indicator box
    Parameters
      -
    • lower (float, DataContainer or numpy array, default None) – Lower bound. If set to None, it is equivalent to -np.inf.

    • -
    • upper (float, DataContainer or numpy array, default None) – Upper bound. If set to None, it is equivalent to np.inf.

    • +
    • lower (float, DataContainer or numpy array, default None) – Lower bound. If set to None, it is equivalent to -np.inf.

    • +
    • upper (float, DataContainer or numpy array, default None) – Upper bound. If set to None, it is equivalent to np.inf.

    • accelerated (bool, default True) – Specifies whether to use the accelerated version or not, using numba or numpy backends respectively.

    @@ -4493,8 +4400,8 @@

    Indicator box -
    -set_suppress_evaluation(value)[source]#
    +
    +set_suppress_evaluation(value)[source]#

    Suppresses the evaluation of the function

    Parameters
    @@ -4504,17 +4411,17 @@

    Indicator box -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Proximal operator of IndicatorBox at x

    \[prox_{\tau * f}(x)\]
    Parameters
      -
    • x (DataContainer) – Input to the proximal operator

    • +
    • x (DataContainer) – Input to the proximal operator

    • tau (float) – Step size. Notice it is ignored in IndicatorBox

    • -
    • out (DataContainer, optional) – Output of the proximal operator. If not provided, a new DataContainer is created.

    • +
    • out (DataContainer, optional) – Output of the proximal operator. If not provided, a new DataContainer is created.

    @@ -4525,74 +4432,68 @@

    Indicator box -
    -gradient(x)[source]#
    +
    +gradient(x)[source]#

    IndicatorBox is not differentiable, so calling gradient will raise a ValueError

    -
    -
    -property num_threads#
    +
    +
    +property num_threads#

    Get the optional number of threads parameter to use for the accelerated version.

    Defaults to the value set in the CIL multiprocessing module.

    -
    -set_num_threads(value)[source]#
    +
    +set_num_threads(value)[source]#

    Set the optional number of threads parameter to use for the accelerated version.

    This is discarded if accelerated=False.

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    +

    x (DataContainer) –

    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -4602,28 +4503,25 @@

    Indicator box
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -
    + +

    KullbackLeibler#

    -
    -class cil.optimisation.functions.KullbackLeibler(b, eta=None, mask=None, backend='numba')[source]#
    +
    +class cil.optimisation.functions.KullbackLeibler(b, eta=None, mask=None, backend='numba')[source]#

    Kullback Leibler

    \[\begin{split}F(u, v) @@ -4636,9 +4534,9 @@

    KullbackLeibler
    Parameters
      -
    • b (DataContainer, non-negative) – Translates the function at point b.

    • -
    • eta (DataContainer, default = 0) – Background noise

    • -
    • mask (DataContainer, default = None) – Mask for the data b

    • +
    • b (DataContainer, non-negative) – Translates the function at point b.

    • +
    • eta (DataContainer, default = 0) – Background noise

    • +
    • mask (DataContainer, default = None) – Mask for the data b

    • backend ({'numba','numpy'}, optional) – Backend for the KullbackLeibler methods. Numba is the default backend.

    @@ -4660,7 +4558,7 @@

    KullbackLeibler

    Note

    The default implementation uses the build-in function kl_div from scipy. -The methods of the KullbackLeibler are accelerated provided that numba library is installed.

    +The methods of the KullbackLeibler are accelerated provided that numba library is installed.

    Examples

    >>> from cil.optimisation.functions import KullbackLeibler
    @@ -4670,100 +4568,88 @@ 

    KullbackLeibler>>> F = KullbackLeibler(b = data)

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    +

    x (DataContainer) –

    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -gradient(x, out=None)#
    +
    +gradient(x, out=None)#

    Returns the value of the gradient of function \(F\) evaluated at \(x\), if it is differentiable

    \[F'(x)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the gradient of the function at x or None if out

    +
    Return type
    +

    DataContainer, the value of the gradient of the function at x or None if out

    -
    -proximal(x, tau, out=None)#
    +
    +proximal(x, tau, out=None)#

    Returns the proximal operator of function \(\tau F\) evaluated at x

    \[\text{prox}_{\tau F}(x) = \underset{z}{\text{argmin}} \frac{1}{2}\|z - x\|^{2} + \tau F(z)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -4773,28 +4659,25 @@

    KullbackLeibler
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -
    + +

    L1 Norm#

    -
    -class cil.optimisation.functions.L1Norm(b=None, weight=None)[source]#
    +
    +class cil.optimisation.functions.L1Norm(b=None, weight=None)[source]#

    L1Norm function

    Consider the following cases:

      @@ -4818,14 +4701,14 @@

      L1 Norm
      Parameters
        -
      • weight (DataContainer, numpy ndarray, default None) – Array of positive weights. If None returns the L1 Norm.

      • -
      • b (DataContainer, default None) – Translation of the function.

      • +
      • weight (DataContainer, numpy ndarray, default None) – Array of positive weights. If None returns the L1 Norm.

      • +
      • b (DataContainer, default None) – Translation of the function.

    -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the value of the convex conjugate of the L1 Norm function at x.

    This is the indicator of the unit \(L^{\infty}\) norm:

      @@ -4857,7 +4740,7 @@

      L1 Norm\(\|x\|_{L^\infty(w^{-1})} = \max_{i} \frac{|x_i|}{w_i}\).

      Parameters
      -

      x (DataContainer) – where to evaluate the convex conjugate of the L1 Norm function.

      +

      x (DataContainer) – where to evaluate the convex conjugate of the L1 Norm function.

      Returns

      the value of the convex conjugate of the WeightedL1Norm function at x

      @@ -4869,8 +4752,8 @@

      L1 Norm -
      -proximal(x, tau, out=None)[source]#
      +
      +proximal(x, tau, out=None)[source]#

      Returns the value of the proximal operator of the L1 Norm function at x with scaling parameter tau.

      Consider the following cases:

        @@ -4897,9 +4780,9 @@

        L1 Norm
        Parameters
        Returns
        @@ -4911,58 +4794,52 @@

        L1 Norm -
        -property L#
        +
        +
        +property L#

        Lipschitz of the gradient of function f.

        L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

        -
        -centered_at(center)#
        +
        +centered_at(center)#
        Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

        TranslateFunction is \(F(x - b)\) and the center is at point b.

        Parameters
        -

        center (DataContainer) – The point to center the function at.

        -
        -
        Returns
        -

        +

        center (DataContainer) – The point to center the function at.

        -
        Return type
        -

        The translated function.

        +
        Return type
        +

        The translated function.

        -
        -gradient(x, out=None)#
        +
        +gradient(x, out=None)#

        Returns the value of the gradient of function \(F\) evaluated at \(x\), if it is differentiable

        \[F'(x)\]
        Parameters
          -
        • x (DataContainer) –

        • +
        • x (DataContainer) –

        • out (return DataContainer, if None a new DataContainer is returned, default None.) –

        -
        Returns
        -

        -
        -
        Return type
        -

        DataContainer, the value of the gradient of the function at x or None if out

        +
        Return type
        +

        DataContainer, the value of the gradient of the function at x or None if out

        -
        -proximal_conjugate(x, tau, out=None)#
        +
        +proximal_conjugate(x, tau, out=None)#

        Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

        \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
        @@ -4972,28 +4849,25 @@

        L1 Norm
        Parameters
        -
        Returns
        -

        -
        -
        Return type
        -

        DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

        +
        Return type
        +

        DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -
    + +

    L2 Norm Squared#

    -
    -class cil.optimisation.functions.L2NormSquared(**kwargs)[source]#
    +
    +class cil.optimisation.functions.L2NormSquared(**kwargs)[source]#

    L2NormSquared function: \(F(x) = \| x\|^{2}_{2} = \underset{i}{\sum}x_{i}^{2}\)

    Following cases are considered:

    @@ -5018,8 +4892,8 @@

    L2 Norm Squared -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the value of the gradient of the L2NormSquared function at x.

    Following cases are considered:

    @@ -5031,8 +4905,8 @@

    L2 Norm Squared -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the value of the convex conjugate of the L2NormSquared function at x.

    Consider the following cases:

    @@ -5048,8 +4922,8 @@

    L2 Norm Squared -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the value of the proximal operator of the L2NormSquared function at x.

    Consider the following cases:

    @@ -5064,36 +4938,33 @@

    L2 Norm Squared -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -5103,16 +4974,13 @@

    L2 Norm Squared
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    @@ -5120,8 +4988,8 @@

    L2 Norm Squared -
    -class cil.optimisation.functions.WeightedL2NormSquared(**kwargs)[source]#
    +
    +class cil.optimisation.functions.WeightedL2NormSquared(**kwargs)[source]#

    WeightedL2NormSquared function: \(F(x) = \|x\|_{W,2}^2 = \Sigma_iw_ix_i^2 = \langle x, Wx\rangle = x^TWx\) where \(W=\text{diag}(weight)\) if weight is a DataContainer or \(W=\text{weight} I\) if weight is a scalar.

    @@ -5134,54 +5002,51 @@

    L2 Norm Squared -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the value of \(F'(x) = 2Wx\) or, if b is defined, \(F'(x) = 2W(x-b)\) where \(W=\text{diag}(weight)\) if weight is a DataContainer or \(\text{weight}I\) if weight is a scalar.

    -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the value of the convex conjugate of the WeightedL2NormSquared function at x.

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    +

    center (DataContainer) – The point to center the function at.

    -
    Returns
    -

    -
    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the value of the proximal operator of the WeightedL2NormSquared function at x.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -5191,28 +5056,25 @@

    L2 Norm Squared
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -

    -
    + +

    Least Squares#

    -
    -class cil.optimisation.functions.LeastSquares(A, b, c=1.0, weight=None)[source]#
    +
    +class cil.optimisation.functions.LeastSquares(A, b, c=1.0, weight=None)[source]#

    (Weighted) Least Squares function

    \[F(x) = c\|Ax-b\|_2^2\]
    @@ -5224,7 +5086,7 @@

    Least SquaresParameters
    • A (LinearOperator) –

    • -
    • b (Data, DataContainer) –

    • +
    • b (Data, DataContainer) –

    • c (Scaling Constant, float, default 1.0) –

    • weight (DataContainer with all positive elements of size of the range of operator A, default None) –

    @@ -5235,8 +5097,8 @@

    Least Squares\(F\) which is \(2 c ||A||_2^2 = 2 c \sigma_1(A)^2\), or \(2 c ||W|| ||A||_2^2 = 2c||W|| \sigma_1(A)^2\), where \(\sigma_1(A)\) is the largest singular value of \(A\) and \(W=\text{diag}(weight)\).

    -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the value of the gradient of \(F(x)\):

    \[F'(x) = 2cA^T(Ax-b)\]
    @@ -5246,78 +5108,69 @@

    Least Squares\(W=\text{diag}(weight)\).

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    +

    x (DataContainer) –

    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -proximal(x, tau, out=None)#
    +
    +proximal(x, tau, out=None)#

    Returns the proximal operator of function \(\tau F\) evaluated at x

    \[\text{prox}_{\tau F}(x) = \underset{z}{\text{argmin}} \frac{1}{2}\|z - x\|^{2} + \tau F(z)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -5327,33 +5180,30 @@

    Least Squares
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    - -
    + +

    Mixed L21 norm#

    -
    -class cil.optimisation.functions.MixedL21Norm(**kwargs)[source]#
    +
    +class cil.optimisation.functions.MixedL21Norm(**kwargs)[source]#

    MixedL21Norm function: \(F(x) = ||x||_{2,1} = \sum |x|_{2} = \sum \sqrt{ (x^{1})^{2} + (x^{2})^{2} + \dots}\)

    where x is a BlockDataContainer, i.e., \(x=(x^{1}, x^{2}, \dots)\)

    -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the value of the convex conjugate of the MixedL21Norm function at x.

    This is the Indicator function of \(\mathbb{I}_{\{\|\cdot\|_{2,\infty}\leq1\}}(x^{*})\),

    i.e.,

    @@ -5369,66 +5219,60 @@

    Mixed L21 norm -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the value of the proximal operator of the MixedL21Norm function at x.

    \[\mathrm{prox}_{\tau F}(x) = \frac{x}{\|x\|_{2}}\max\{ \|x\|_{2} - \tau, 0 \}\]

    where the convention 0 · (0/0) = 0 is used.

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    +

    center (DataContainer) – The point to center the function at.

    -
    Returns
    -

    -
    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -gradient(x, out=None)#
    +
    +gradient(x, out=None)#

    Returns the value of the gradient of function \(F\) evaluated at \(x\), if it is differentiable

    \[F'(x)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the gradient of the function at x or None if out

    +
    Return type
    +

    DataContainer, the value of the gradient of the function at x or None if out

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -5438,110 +5282,98 @@

    Mixed L21 norm
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -
    + +

    Smooth Mixed L21 norm#

    -
    -class cil.optimisation.functions.SmoothMixedL21Norm(epsilon)[source]#
    +
    +class cil.optimisation.functions.SmoothMixedL21Norm(epsilon)[source]#

    SmoothMixedL21Norm function: \(F(x) = ||x||_{2,1} = \sum |x|_{2} = \sum \sqrt{ (x^{1})^{2} + (x^{2})^{2} + \epsilon^2 + \dots}\)

    where x is a BlockDataContainer, i.e., \(x=(x^{1}, x^{2}, \dots)\)

    Conjugate, proximal and proximal conjugate methods no closed-form solution

    -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the value of the gradient of the SmoothMixedL21Norm function at x.

    frac{x}{|x|}

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    +

    x (DataContainer) –

    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -proximal(x, tau, out=None)#
    +
    +proximal(x, tau, out=None)#

    Returns the proximal operator of function \(\tau F\) evaluated at x

    \[\text{prox}_{\tau F}(x) = \underset{z}{\text{argmin}} \frac{1}{2}\|z - x\|^{2} + \tau F(z)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • tau (scalar) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the proximal operator of the function at x with scalar \(\tau\) or None if out.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -5551,28 +5383,25 @@

    Smooth Mixed L21 norm
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -
    + +

    Mixed L11 norm#

    -
    -class cil.optimisation.functions.MixedL11Norm(**kwargs)[source]#
    +
    +class cil.optimisation.functions.MixedL11Norm(**kwargs)[source]#

    MixedL11Norm function

    \[F(x) = ||x||_{1,1} = \sum |x_{1}| + |x_{2}| + \cdots + |x_{n}|\]
    @@ -5584,77 +5413,68 @@

    Mixed L11 normSee also

    L1Norm, MixedL21Norm

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    +

    center (DataContainer) – The point to center the function at.

    -
    Returns
    -

    -
    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -convex_conjugate(x)#
    +
    +convex_conjugate(x)#

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    \[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    Parameters
    -

    x (DataContainer) –

    +

    x (DataContainer) –

    -
    Returns
    -

    -
    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    -
    -gradient(x, out=None)#
    +
    +gradient(x, out=None)#

    Returns the value of the gradient of function \(F\) evaluated at \(x\), if it is differentiable

    \[F'(x)\]
    Parameters
      -
    • x (DataContainer) –

    • +
    • x (DataContainer) –

    • out (return DataContainer, if None a new DataContainer is returned, default None.) –

    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the gradient of the function at x or None if out

    +
    Return type
    +

    DataContainer, the value of the gradient of the function at x or None if out

    -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the value of the proximal operator of the MixedL11Norm function at x.

    \[\mathrm{prox}_{\tau F}(x) = \mathrm{ShinkOperator}(x)\]
    @@ -5664,8 +5484,8 @@

    Mixed L11 norm -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -5675,28 +5495,25 @@

    Mixed L11 norm
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    - -
    + +

    Total variation#

    -
    -class cil.optimisation.functions.TotalVariation(max_iteration=10, tolerance=None, correlation='Space', backend='c', lower=None, upper=None, isotropic=True, split=False, info=False, strong_convexity_constant=0, warm_start=True)[source]#
    +
    +class cil.optimisation.functions.TotalVariation(max_iteration=10, tolerance=None, correlation='Space', backend='c', lower=None, upper=None, isotropic=True, split=False, info=False, strong_convexity_constant=0, warm_start=True)[source]#

    Total variation Function

    \[\mathrm{TV}(u) := \|\nabla u\|_{2,1} = \sum \|\nabla u\|_{2},\, (\mbox{isotropic})\]
    @@ -5791,53 +5608,50 @@

    Total variation -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Returns the proximal operator of the TotalVariation function at x .

    -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the value of convex conjugate of the TotalVariation function at x .

    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -calculate_Lipschitz()[source]#
    +
    +calculate_Lipschitz()[source]#

    Default value for the Lipschitz constant.

    -
    -centered_at(center)#
    +
    +centered_at(center)#
    Returns a translated function, namely if we have a function \(F(x)\) the center is at the origin.

    TranslateFunction is \(F(x - b)\) and the center is at point b.

    Parameters
    -

    center (DataContainer) – The point to center the function at.

    -
    -
    Returns
    -

    +

    center (DataContainer) – The point to center the function at.

    -
    Return type
    -

    The translated function.

    +
    Return type
    +

    The translated function.

    -
    -proximal_conjugate(x, tau, out=None)#
    +
    +proximal_conjugate(x, tau, out=None)#

    Returns the proximal operator of the convex conjugate of function \(\tau F\) evaluated at \(x^{*}\)

    \[\text{prox}_{\tau F^{*}}(x^{*}) = \underset{z^{*}}{\text{argmin}} \frac{1}{2}\|z^{*} - x^{*}\|^{2} + \tau F^{*}(z^{*})\]
    @@ -5847,42 +5661,39 @@

    Total variation
    Parameters
    -
    Returns
    -

    -
    -
    Return type
    -

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    +
    Return type
    +

    DataContainer, the value of the proximal operator of the convex conjugate at point \(x\) for scalar \(\tau\) or None if out.

    -
    -
    -property gradient#
    +
    +
    +property gradient#

    GradientOperator is created if it is not instantiated yet. The domain of the _gradient, is created in the __call__ and proximal methods.

    -
    - -
    + + +

    Utilities#

    Contains utilities for the CIL optimisation framework.

    -
    +

    Samplers#

    Here, we define samplers that select from a list of indices {0, 1, …, N-1} either randomly or by some deterministic pattern. The cil.optimisation.utilities.sampler class defines a function next() which gives the next sample. It also has utility to get_samples to access which samples have or will be drawn.

    For ease of use we provide the following static methods in cil.optimisation.utilities.sampler that allow you to configure your sampler object rather than initialising the classes directly:

    -
    -static Sampler.from_function(num_indices, function, prob_weights=None)[source]#
    +
    +static Sampler.from_function(num_indices, function, prob_weights=None)[source]#

    Instantiate a sampler that wraps a function for index selection.

    @@ -5946,8 +5757,8 @@

    Samplers -
    -static Sampler.sequential(num_indices)[source]#
    +
    +static Sampler.sequential(num_indices)[source]#

    Instantiates a sampler that outputs sequential indices.

    Parameters
    @@ -5973,8 +5784,8 @@

    Samplers -
    -static Sampler.staggered(num_indices, stride)[source]#
    +
    +static Sampler.staggered(num_indices, stride)[source]#

    Instantiates a sampler which outputs in a staggered order.

    Parameters
    @@ -6013,8 +5824,8 @@

    Samplers -
    -static Sampler.herman_meyer(num_indices)[source]#
    +
    +static Sampler.herman_meyer(num_indices)[source]#

    Instantiates a sampler which outputs in a Herman Meyer order.

    Parameters
    @@ -6022,13 +5833,13 @@

    SamplersReturns @@ -6047,8 +5858,8 @@

    Samplers -
    -static Sampler.random_with_replacement(num_indices, prob=None, seed=None)[source]#
    +
    +static Sampler.random_with_replacement(num_indices, prob=None, seed=None)[source]#

    Instantiates a sampler which outputs an index between 0 - num_indices with a given probability.

    Parameters
    @@ -6083,8 +5894,8 @@

    Samplers -
    -static Sampler.random_without_replacement(num_indices, seed=None)[source]#
    +
    +static Sampler.random_without_replacement(num_indices, seed=None)[source]#

    Instantiates a sampler which outputs an index between 0 - num_indices. Once sampled the index will not be sampled again until all indices have been returned.

    Parameters
    @@ -6110,8 +5921,8 @@

    Samplers -
    -class cil.optimisation.utilities.Sampler(num_indices, function, sampling_type=None, prob_weights=None)[source]#
    +
    +class cil.optimisation.utilities.Sampler(num_indices, function, sampling_type=None, prob_weights=None)[source]#

    Initialises a sampler that returns and then increments indices from a sequence defined by a function.

    Static methods to easily configure several samplers are provided, such as sequential, staggered, Herman-Mayer, random with and without replacement.

    Custom deterministic samplers can be created by using the from_function static method or by subclassing this sampler class.

    @@ -6184,14 +5995,14 @@

    Samplers -
    -next()[source]#
    +
    +next()[source]#

    Returns a sample from the list of indices `{0, 1, …, N-1}, where N is the number of indices and increments the sampler.

    -
    -get_samples(num_samples)[source]#
    +
    +get_samples(num_samples)[source]#

    Generates a list of the first num_samples output by the sampler. Calling this does not increment the sampler index or affect the behaviour of the sampler .

    Parameters
    @@ -6207,8 +6018,8 @@

    Samplers -
    -static sequential(num_indices)[source]#
    +
    +static sequential(num_indices)[source]#

    Instantiates a sampler that outputs sequential indices.

    Parameters
    @@ -6234,8 +6045,8 @@

    Samplers -
    -static staggered(num_indices, stride)[source]#
    +
    +static staggered(num_indices, stride)[source]#

    Instantiates a sampler which outputs in a staggered order.

    Parameters
    @@ -6274,8 +6085,8 @@

    Samplers -
    -static random_with_replacement(num_indices, prob=None, seed=None)[source]#
    +
    +static random_with_replacement(num_indices, prob=None, seed=None)[source]#

    Instantiates a sampler which outputs an index between 0 - num_indices with a given probability.

    Parameters
    @@ -6310,8 +6121,8 @@

    Samplers -
    -static random_without_replacement(num_indices, seed=None)[source]#
    +
    +static random_without_replacement(num_indices, seed=None)[source]#

    Instantiates a sampler which outputs an index between 0 - num_indices. Once sampled the index will not be sampled again until all indices have been returned.

    Parameters
    @@ -6336,8 +6147,8 @@

    Samplers -
    -static from_function(num_indices, function, prob_weights=None)[source]#
    +
    +static from_function(num_indices, function, prob_weights=None)[source]#

    Instantiate a sampler that wraps a function for index selection.

    @@ -6401,8 +6212,8 @@

    Samplers -
    -static herman_meyer(num_indices)[source]#
    +
    +static herman_meyer(num_indices)[source]#

    Instantiates a sampler which outputs in a Herman Meyer order.

    Parameters
    @@ -6410,13 +6221,13 @@

    SamplersReturns @@ -6438,8 +6249,8 @@

    Samplers -
    -class cil.optimisation.utilities.SamplerRandom(num_indices, seed=None, replace=True, prob=None, sampling_type='random_with_replacement')[source]#
    +
    +class cil.optimisation.utilities.SamplerRandom(num_indices, seed=None, replace=True, prob=None, sampling_type='random_with_replacement')[source]#

    The user is recommended to not instantiate this class directly but instead use one of the static methods in the parent Sampler class that will return instances of different samplers.

    This class produces Samplers that output random samples with and without replacement from the set {0, 1, …, N-1} where N=num_indices.

    Custom random samplers can be created by subclassing this sampler class.

    @@ -6473,8 +6284,8 @@

    Samplers -
    -get_samples(num_samples)[source]#
    +
    +get_samples(num_samples)[source]#

    Generates a list of the first num_samples output by the sampler. Calling this does not increment the sampler index or affect the behaviour of the sampler .

    Parameters
    @@ -6491,10 +6302,10 @@

    Samplers +

    +
    + +

    Block Framework#

    To be able to express more advanced optimisation problems we developed the Block Framework, which provides a generic strategy to treat variational @@ -6536,15 +6347,15 @@

    Block FrameworkBlockGeometry, BlockDataContainer, BlockFunction and BlockOperator.

    -
    +

    BlockDataContainer#

    BlockDataContainer holds `DataContainer`_ as column vector. It is possible to do basic algebra between BlockDataContainer s and with numbers, list or numpy arrays.

    \[ \begin{align}\begin{aligned}x = [x_{1}, x_{2} ]\in (X_{1}\times X_{2})\\y = [y_{1}, y_{2}, y_{3} ]\in(Y_{1}\times Y_{2} \times Y_{3})\end{aligned}\end{align} \]
    -
    -class cil.framework.BlockDataContainer(*args, **kwargs)[source]#
    +
    +class cil.framework.BlockDataContainer(*args, **kwargs)[source]#

    Class to hold DataContainers as column vector

    Provides basic algebra between BlockDataContainer’s, DataContainer’s and subclasses and Numbers

    @@ -6564,26 +6375,26 @@

    BlockDataContainer -
    -__iter__()[source]#
    +
    +__iter__()[source]#

    BlockDataContainer is Iterable

    -
    -next()[source]#
    +
    +next()[source]#

    python2 backwards compatibility

    -
    -is_compatible(other)[source]#
    +
    +is_compatible(other)[source]#

    basic check if the size of the 2 objects fit

    -
    -add(other, *args, **kwargs)[source]#
    +
    +add(other, *args, **kwargs)[source]#

    Algebra: add method of BlockDataContainer with number/DataContainer or BlockDataContainer

    Param
    @@ -6596,8 +6407,8 @@

    BlockDataContainer -
    -subtract(other, *args, **kwargs)[source]#
    +
    +subtract(other, *args, **kwargs)[source]#

    Algebra: subtract method of BlockDataContainer with number/DataContainer or BlockDataContainer

    Param
    @@ -6610,8 +6421,8 @@

    BlockDataContainer -
    -multiply(other, *args, **kwargs)[source]#
    +
    +multiply(other, *args, **kwargs)[source]#

    Algebra: multiply method of BlockDataContainer with number/DataContainer or BlockDataContainer

    Param
    @@ -6624,8 +6435,8 @@

    BlockDataContainer -
    -divide(other, *args, **kwargs)[source]#
    +
    +divide(other, *args, **kwargs)[source]#

    Algebra: divide method of BlockDataContainer with number/DataContainer or BlockDataContainer

    Param
    @@ -6638,8 +6449,8 @@

    BlockDataContainer -
    -power(other, *args, **kwargs)[source]#
    +
    +power(other, *args, **kwargs)[source]#

    Algebra: power method of BlockDataContainer with number/DataContainer or BlockDataContainer

    Param
    @@ -6652,8 +6463,8 @@

    BlockDataContainer -
    -maximum(other, *args, **kwargs)[source]#
    +
    +maximum(other, *args, **kwargs)[source]#

    Algebra: power method of BlockDataContainer with number/DataContainer or BlockDataContainer

    Param
    @@ -6666,8 +6477,8 @@

    BlockDataContainer -
    -minimum(other, *args, **kwargs)[source]#
    +
    +minimum(other, *args, **kwargs)[source]#

    Algebra: power method of BlockDataContainer with number/DataContainer or BlockDataContainer

    Param
    @@ -6680,8 +6491,8 @@

    BlockDataContainer -
    -sapyb(a, y, b, out, num_threads=2)[source]#
    +
    +sapyb(a, y, b, out, num_threads=2)[source]#

    performs axpby element-wise on the BlockDataContainer containers

    Does the operation .. math:: a*x+b*y and stores the result in out, where x is self

    @@ -6707,14 +6518,14 @@

    BlockDataContainer -
    -axpby(a, b, y, out, dtype=<class 'numpy.float32'>, num_threads=2)[source]#
    +
    +axpby(a, b, y, out, dtype=<class 'numpy.float32'>, num_threads=2)[source]#

    Deprecated method. Alias of sapyb

    -
    -binary_operations(operation, other, *args, **kwargs)[source]#
    +
    +binary_operations(operation, other, *args, **kwargs)[source]#

    Algebra: generic method of algebric operation with BlockDataContainer with number/DataContainer or BlockDataContainer

    Provides commutativity with DataContainer and subclasses, i.e. this class’s reverse algebraic methods take precedence w.r.t. direct algebraic @@ -6723,22 +6534,22 @@

    BlockDataContainer -
    -unary_operations(operation, *args, **kwargs)[source]#
    +
    +unary_operations(operation, *args, **kwargs)[source]#

    Unary operation on BlockDataContainer:

    generic method of unary operation with BlockDataContainer: abs, sign, sqrt and conjugate

    This method is not to be used directly

    -
    -copy()[source]#
    +
    +copy()[source]#

    alias of clone

    -
    -__radd__(other)[source]#
    +
    +__radd__(other)[source]#

    Reverse addition

    to make sure that this method is called rather than the __mul__ of a numpy array the class constant __array_priority__ must be set > 0 @@ -6746,8 +6557,8 @@

    BlockDataContainer -
    -__rsub__(other)[source]#
    +
    +__rsub__(other)[source]#

    Reverse subtraction

    to make sure that this method is called rather than the __mul__ of a numpy array the class constant __array_priority__ must be set > 0 @@ -6755,8 +6566,8 @@

    BlockDataContainer -
    -__rmul__(other)[source]#
    +
    +__rmul__(other)[source]#

    Reverse multiplication

    to make sure that this method is called rather than the __mul__ of a numpy array the class constant __array_priority__ must be set > 0 @@ -6764,8 +6575,8 @@

    BlockDataContainer -
    -__rdiv__(other)[source]#
    +
    +__rdiv__(other)[source]#

    Reverse division

    to make sure that this method is called rather than the __mul__ of a numpy array the class constant __array_priority__ must be set > 0 @@ -6773,8 +6584,8 @@

    BlockDataContainer -
    -__rtruediv__(other)[source]#
    +
    +__rtruediv__(other)[source]#

    Reverse truedivision

    to make sure that this method is called rather than the __mul__ of a numpy array the class constant __array_priority__ must be set > 0 @@ -6782,8 +6593,8 @@

    BlockDataContainer -
    -__rpow__(other)[source]#
    +
    +__rpow__(other)[source]#

    Reverse power

    to make sure that this method is called rather than the __mul__ of a numpy array the class constant __array_priority__ must be set > 0 @@ -6791,51 +6602,51 @@

    BlockDataContainer -
    -__iadd__(other)[source]#
    +
    +__iadd__(other)[source]#

    Inline addition

    -
    -__isub__(other)[source]#
    +
    +__isub__(other)[source]#

    Inline subtraction

    -
    -__imul__(other)[source]#
    +
    +__imul__(other)[source]#

    Inline multiplication

    -
    -__idiv__(other)[source]#
    +
    +__idiv__(other)[source]#

    Inline division

    -
    -__itruediv__(other)[source]#
    +
    +__itruediv__(other)[source]#

    Inline truedivision

    -
    -__neg__()[source]#
    +
    +__neg__()[source]#

    Return - self

    -
    -__weakref__#
    +
    +__weakref__#

    list of weak references to the object (if defined)

    -

    -
    +

    +

    Block Function#

    BlockFunction acts on BlockDataContainer as a separable sum function:

    @@ -6849,8 +6660,8 @@

    Block Function -
    -class cil.optimisation.functions.BlockFunction(*functions)[source]#
    +
    +class cil.optimisation.functions.BlockFunction(*functions)[source]#

    BlockFunction represents a separable sum function \(F\) defined as

    \[F:X_{1}\times X_{2}\cdots\times X_{m} \rightarrow (-\infty, \infty]\]
    @@ -6865,21 +6676,20 @@

    Block Function \[\mathrm{prox}_{\tau F}(x) = ( \mathrm{prox}_{\tau_{i} f_{i}}(x_{i}) )_{i=1}^{m}\]

    -
    -__init__(*functions)[source]#
    -

    Initialize self. See help(type(self)) for accurate signature.

    -
    +
    +__init__(*functions)[source]#
    +
    -
    -
    -property L#
    +
    +
    +property L#

    Lipschitz of the gradient of function f.

    L is positive real number, such that \(\|f'(x) - f'(y)\| \leq L\|x-y\|\), assuming \(f: IG \rightarrow \mathbb{R}\)

    -
    -__call__(x)[source]#
    +
    +__call__(x)[source]#

    Returns the value of the BlockFunction \(F\)

    \[F(x) = \overset{m}{\underset{i=1}{\sum}}f_{i}(x_{i}), \mbox{ where } x = (x_{1}, x_{2}, \cdots, x_{m}), \quad i = 1,2,\dots,m\]
    @@ -6891,8 +6701,8 @@

    Block Function -
    -convex_conjugate(x)[source]#
    +
    +convex_conjugate(x)[source]#

    Returns the value of the convex conjugate of the BlockFunction at \(x^{*}\).

    \[F^{*}(x^{*}) = \overset{m}{\underset{i=1}{\sum}}f_{i}^{*}(x^{*}_{i})\]
    @@ -6903,8 +6713,8 @@

    Block Function -
    -proximal(x, tau, out=None)[source]#
    +
    +proximal(x, tau, out=None)[source]#

    Proximal operator of the BlockFunction at x:

    \[\mathrm{prox}_{\tau F}(x) = (\mathrm{prox}_{\tau f_{i}}(x_{i}))_{i=1}^{m}\]
    @@ -6915,8 +6725,8 @@

    Block Function -
    -gradient(x, out=None)[source]#
    +
    +gradient(x, out=None)[source]#

    Returns the value of the gradient of the BlockFunction function at x.

    \[F'(x) = [f_{1}'(x_{1}), ... , f_{m}'(x_{m})]\]
    @@ -6927,8 +6737,8 @@

    Block Function -
    -proximal_conjugate(x, tau, out=None)[source]#
    +
    +proximal_conjugate(x, tau, out=None)[source]#

    Proximal operator of the convex conjugate of BlockFunction at x:

    \[\mathrm{prox}_{\tau F^{*}}(x) = (\mathrm{prox}_{\tau f^{*}_{i}}(x^{*}_{i}))_{i=1}^{m}\]
    @@ -6939,8 +6749,8 @@

    Block Function -
    -__rmul__(other)[source]#
    +
    +__rmul__(other)[source]#

    Define multiplication with a scalar

    Parameters
    @@ -6952,8 +6762,8 @@

    Block Function + +

    Block Operator#

    BlockOperator represent a block matrix with operators

    @@ -7014,8 +6824,8 @@

    Block Operator -
    -class cil.optimisation.operators.BlockOperator(*args, **kwargs)[source]#
    +
    +class cil.optimisation.operators.BlockOperator(*args, **kwargs)[source]#

    A Block matrix containing Operators

    Parameters
    @@ -7046,26 +6856,25 @@

    Block Operator -
    -__init__(*args, **kwargs)[source]#
    -

    Initialize self. See help(type(self)) for accurate signature.

    -

    +
    +__init__(*args, **kwargs)[source]#
    +

    -
    -column_wise_compatible()[source]#
    +
    +column_wise_compatible()[source]#

    Operators in a Block should have the same domain per column

    -
    -row_wise_compatible()[source]#
    +
    +row_wise_compatible()[source]#

    Operators in a Block should have the same range per row

    -
    -get_item(row, col)[source]#
    +
    +get_item(row, col)[source]#

    Returns the Operator at specified row and col :param row: The row index required. :type row: int @@ -7074,20 +6883,20 @@

    Block Operator -
    -norm()[source]#
    +
    +norm()[source]#

    Returns the Euclidean norm of the norms of the individual operators in the BlockOperators

    -
    -get_norms_as_list()[source]#
    +
    +get_norms_as_list()[source]#

    Returns a list of the individual norms of the Operators in the BlockOperator

    -
    -set_norms(norms)[source]#
    +
    +set_norms(norms)[source]#

    Uses the set_norm() function in Operator to set the norms of the operators in the BlockOperator from a list of custom values.

    Parameters
    @@ -7097,8 +6906,8 @@

    Block Operator -
    -direct(x, out=None)[source]#
    +
    +direct(x, out=None)[source]#

    Direct operation for the BlockOperator

    Note

    @@ -7108,8 +6917,8 @@

    Block Operator -
    -adjoint(x, out=None)[source]#
    +
    +adjoint(x, out=None)[source]#

    Adjoint operation for the BlockOperator

    Note

    @@ -7123,14 +6932,14 @@

    Block Operator -
    -is_linear()[source]#
    +
    +is_linear()[source]#

    Returns whether all the elements of the BlockOperator are linear

    -
    -get_output_shape(xshape, adjoint=False)[source]#
    +
    +get_output_shape(xshape, adjoint=False)[source]#

    Returns the shape of the output BlockDataContainer :param xshape: :type xshape: BlockDataContainer @@ -7142,8 +6951,8 @@

    Block Operator -
    -__rmul__(scalar)[source]#
    +
    +__rmul__(scalar)[source]#

    Defines the left multiplication with a scalar. Returns a block operator with Scaled Operators inside.

    Parameters
    @@ -7152,43 +6961,43 @@

    Block Operator -
    -property T#
    +
    +
    +property T#

    Returns the transposed of self.

    Recall the input list is shaped in a row-by-row fashion

    -
    -domain_geometry()[source]#
    +
    +domain_geometry()[source]#

    Returns the domain of the BlockOperator

    If the shape of the BlockOperator is (N,1) the domain is a ImageGeometry or AcquisitionGeometry. Otherwise it is a BlockGeometry.

    -
    -range_geometry()[source]#
    +
    +range_geometry()[source]#

    Returns the range of the BlockOperator

    -
    -__getitem__(index)[source]#
    +
    +__getitem__(index)[source]#

    Returns the index-th operator in the block irrespectively of it’s shape

    -
    -get_as_list()[source]#
    +
    +get_as_list()[source]#

    Returns the list of operators

    -

    Return Home

    - + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/plugins.html b/nightly/plugins.html deleted file mode 100644 index ab5ac149bb..0000000000 --- a/nightly/plugins.html +++ /dev/null @@ -1,817 +0,0 @@ - - - - - - - - CIL Plugins — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - -
    - -
    - -
    -

    CIL Plugins#

    -
    -

    CCPi Regularisation#

    -

    This plugin allows the use of regularisation functions from the CCPi Regularisation toolkit -(10.1016/j.softx.2019.04.003, -a set of CPU/GPU optimised regularisation modules for iterative image reconstruction and -other image processing tasks.

    -
    -

    Total variation#

    -
    -
    -class cil.plugins.ccpi_regularisation.functions.FGP_TV(alpha=1, max_iteration=100, tolerance=0, isotropic=True, nonnegativity=True, device='cpu', strong_convexity_constant=0)[source]#
    -

    Fast Gradient Projection Total Variation (FGP_TV)

    -

    The FGP_TV computes the proximal operator of the Total variation regulariser

    -
    -\[\mathrm{prox}_{\tau (\alpha TV)}(x) = \underset{z}{\mathrm{argmin}} \,\alpha\,\mathrm{TV}(z) + \frac{1}{2}\|z - x\|^{2} .\]
    -

    The algorithm used for the proximal operator of TV is the Fast Gradient Projection algorithm -applied to the _dual problem_ of the above problem, see [1], [2].

    -
    -
    Parameters
    -
      -
    • alpha (Number (positive), default = 1.0 .) – Total variation regularisation parameter.

    • -
    • max_iteration (int. Default = 100 .) – Maximum number of iterations for the Fast Gradient Projection algorithm.

    • -
    • isotropic (boolean. Default = True .) –

      Isotropic or Anisotropic definition of the Total variation regulariser.

      -
      -\[|x|_{2} = \sqrt{x_{1}^{2} + x_{2}^{2}},\, (\mbox{isotropic})\]
      -
      -\[|x|_{1} = |x_{1}| + |x_{2}|\, (\mbox{anisotropic})\]
      -

    • -
    • nonnegativity (boolean. Default = True .) – Non-negativity constraint for the solution of the FGP algorithm.

    • -
    • tolerance (float, Default = 0 .) –

      Stopping criterion for the FGP algorithm.

      -
      -\[\|x^{k+1} - x^{k}\|_{2} < \mathrm{tolerance}\]
      -

    • -
    • device (str, Default = ‘cpu’ .) – FGP_TV algorithm runs on cpu or gpu.

    • -
    • strong_convexity_constant (float, default = 0) –

      A strongly convex term weighted by the strong_convexity_constant (\(\gamma\)) parameter is added to the Total variation. -Now the TotalVariation function is \(\gamma\) - strongly convex and the proximal operator is

      -
      -\[\underset{u}{\mathrm{argmin}} \frac{1}{2\tau}\|u - b\|^{2} + \mathrm{TV}(u) + \frac{\gamma}{2}\|u\|^{2} \Leftrightarrow\]
      -
      -\[\underset{u}{\mathrm{argmin}} \frac{1}{2\frac{\tau}{1+\gamma\tau}}\|u - \frac{b}{1+\gamma\tau}\|^{2} + \mathrm{TV}(u)\]
      -

    • -
    -
    -
    -

    Examples

    -
    -\[\underset{u\qeq0}{\mathrm{argmin}} \frac{1}{2}\|u - b\|^{2} + \alpha TV(u)\]
    -
    >>> G = alpha * FGP_TV(max_iteration=100, device='gpu')
    ->>> sol = G.proximal(b)
    -
    -
    -
    -

    Note

    -

    The FGP_TV regularisation does not incorparate information on the ImageGeometry, i.e., pixel/voxel size. -Therefore a rescaled parameter should be used to match the same solution computed using TotalVariation.

    -
    >>> G1 = (alpha/ig.voxel_size_x) * FGP_TV(max_iteration=100, device='gpu')
    ->>> G2 = alpha * TotalVariation(max_iteration=100, lower=0.)
    -
    -
    -
    -
    -

    See also

    -

    TotalVariation

    -
    -
    - -
    -
    -

    Other regularisation functions#

    -
    -
    -class cil.plugins.ccpi_regularisation.functions.TGV(alpha=1, gamma=1, max_iteration=100, tolerance=0, device='cpu', **kwargs)[source]#
    -
    -
    -__init__(alpha=1, gamma=1, max_iteration=100, tolerance=0, device='cpu', **kwargs)[source]#
    -

    Creator of Total Generalised Variation Function

    -
    -
    Parameters
    -
      -
    • alpha (number, default 1) – regularisation parameter

    • -
    • gamma (number, default 1, can range between 1 and 2) – ratio of TGV terms

    • -
    • max_iteration (integer, default 100) – max number of sub iterations. The algorithm will iterate up to this number of iteration or up to when the tolerance has been reached

    • -
    • tolerance (float, default 0) – minimum difference between previous iteration of the algorithm that determines the stop of the iteration earlier than max_iteration. If set to 0 only the max_iteration will be used as stop criterion.

    • -
    • device (string, default 'cpu', can be 'gpu' if GPU is installed) – determines if the code runs on CPU or GPU

    • -
    -
    -
    -
    - -
    -
    -__call__(x)[source]#
    -

    Call self as a function.

    -
    - -
    -
    -convex_conjugate(x)[source]#
    -

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    -
    -\[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    -
    -
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    -
    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    -
    -
    -
    - -
    -
    -__rmul__(scalar)[source]#
    -

    Define the multiplication with a scalar

    -

    this changes the regularisation parameter in the plugin

    -
    - -
    - -
    -
    -class cil.plugins.ccpi_regularisation.functions.FGP_dTV(reference, alpha=1, max_iteration=100, tolerance=0, eta=0.01, isotropic=True, nonnegativity=True, device='cpu')[source]#
    -

    Creator of FGP_dTV Function

    -
    -
    Parameters
    -
      -
    • reference (ImageData) – reference image

    • -
    • alpha (number, default 1) – regularisation parameter

    • -
    • max_iteration (integer, default 100) – max number of sub iterations. The algorithm will iterate up to this number of iteration or up to when the tolerance has been reached

    • -
    • tolerance (float, default 0) – minimum difference between previous iteration of the algorithm that determines the stop of the iteration earlier than max_iteration. If set to 0 only the max_iteration will be used as stop criterion.

    • -
    • eta (number, default 0.01) – smoothing constant to calculate gradient of the reference

    • -
    • isotropic (boolean, default True, can range between 1 and 2) – Whether it uses L2 (isotropic) or L1 (anisotropic) norm

    • -
    • nonnegativity (boolean, default True) – Whether to add the non-negativity constraint

    • -
    • device (string, default 'cpu', can be 'gpu' if GPU is installed) – determines if the code runs on CPU or GPU

    • -
    -
    -
    -
    -
    -__init__(reference, alpha=1, max_iteration=100, tolerance=0, eta=0.01, isotropic=True, nonnegativity=True, device='cpu')[source]#
    -

    Initialize self. See help(type(self)) for accurate signature.

    -
    - -
    -
    -__call__(x)[source]#
    -

    Call self as a function.

    -
    - -
    -
    -convex_conjugate(x)[source]#
    -

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    -
    -\[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    -
    -
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    -
    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    -
    -
    -
    - -
    -
    -__rmul__(scalar)[source]#
    -

    Define the multiplication with a scalar

    -

    this changes the regularisation parameter in the plugin

    -
    - -
    - -
    -
    -class cil.plugins.ccpi_regularisation.functions.TNV(alpha=1, max_iteration=100, tolerance=0)[source]#
    -
    -
    -__init__(alpha=1, max_iteration=100, tolerance=0)[source]#
    -

    Creator of TNV Function

    -
    -
    Parameters
    -
      -
    • alpha (number, default 1) – regularisation parameter

    • -
    • max_iteration (integer, default 100) – max number of sub iterations. The algorithm will iterate up to this number of iteration or up to when the tolerance has been reached

    • -
    • tolerance (float, default 0) – minimum difference between previous iteration of the algorithm that determines the stop of the iteration earlier than max_iteration. If set to 0 only the max_iteration will be used as stop criterion.

    • -
    -
    -
    -
    - -
    -
    -__call__(x)[source]#
    -

    Call self as a function.

    -
    - -
    -
    -convex_conjugate(x)[source]#
    -

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    -
    -\[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    -
    -
    Parameters
    -

    x (DataContainer) –

    -
    -
    Returns
    -

    -
    -
    Return type
    -

    The value of the convex conjugate of the function at x.

    -
    -
    -
    - -
    -
    -__rmul__(scalar)[source]#
    -

    Define the multiplication with a scalar

    -

    this changes the regularisation parameter in the plugin

    -
    - -
    -
    -check_input(input)[source]#
    -

    TNV requires 2D+channel data with the first dimension as the channel dimension

    -
    - -
    - -
    -
    -
    -

    TomoPhantom#

    -

    This plugin allows the use of part of TomoPhantom -(10.1016/j.softx.2018.05.003, -a toolbox written in C language to generate customisable 2D-4D phantoms (with a -temporal capability).

    -
    -
    -cil.plugins.TomoPhantom.get_ImageData(num_model, geometry)[source]#
    -

    Returns an ImageData relative to geometry with the model num_model from tomophantom

    -
    -
    Parameters
    -
      -
    • num_model (int) – model number

    • -
    • geometry (ImageGeometry) – geometrical info that describes the phantom

    • -
    -
    -
    -

    Example usage:

    -
    ndim = 2
    -N=128
    -angles = np.linspace(0, 360, 50, True, dtype=np.float32)
    -offset = 0.4
    -channels = 3
    -
    -if ndim == 2:
    -    ag = AcquisitionGeometry.create_Cone2D((offset,-100), (offset,100))
    -    ag.set_panel(N)
    -
    -else:
    -    ag = AcquisitionGeometry.create_Cone3D((offset,-100, 0), (offset,100,0))
    -    ag.set_panel((N,N-2))
    -
    -ag.set_channels(channels)
    -ag.set_angles(angles, angle_unit=AcquisitionGeometry.DEGREE)
    -
    -
    -ig = ag.get_ImageGeometry()
    -num_model = 1
    -phantom = TomoPhantom.get_ImageData(num_model=num_model, geometry=ig)
    -
    -
    -
    - -
    -
    -

    TIGRE#

    -

    This plugin allows the use of TIGRE -(10.1088/2057-1976/2/5/055010 -for forward and back projections and filter back projection reconstruction.

    -
    -

    FBP#

    -

    This reconstructs with FBP for parallel-beam data, and with FDK weights for cone-beam data

    -
    -
    -class cil.plugins.tigre.FBP(image_geometry=None, acquisition_geometry=None, **kwargs)[source]#
    -

    FBP Filtered Back Projection is a reconstructor for 2D and 3D parallel and cone-beam geometries. -It is able to back-project circular trajectories with 2 PI angular range and equally spaced angular steps.

    -

    This uses the ram-lak filter -This is provided for simple and offset parallel-beam geometries only

    -
    -
    acquisition_geometryAcquisitionGeometry

    A description of the acquisition data

    -
    -
    image_geometryImageGeometry, default used if None

    A description of the area/volume to reconstruct

    -
    -
    -

    Example

    -
    >>> from cil.plugins.tigre import FBP
    ->>> fbp = FBP(image_geometry, data.geometry)
    ->>> fbp.set_input(data)
    ->>> reconstruction = fbp.get_ouput()
    -
    -
    -
    -
    -get_output(out=None)#
    -

    Runs the configured processor and returns the processed data

    -
    -
    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    -
    -
    Returns
    -

    The processed data. Suppressed if out is passed

    -
    -
    Return type
    -

    DataContainer

    -
    -
    -
    - -
    -
    -set_input(dataset)#
    -

    Set the input data to the processor

    -
    -
    Parameters
    -

    input (DataContainer) – The input DataContainer

    -
    -
    -
    - -
    - -
    -
    -

    Projection Operator#

    -
    -
    -class cil.plugins.tigre.ProjectionOperator(image_geometry=None, acquisition_geometry=None, direct_method='interpolated', adjoint_weights='matched', **kwargs)[source]#
    -

    ProjectionOperator configures and calls TIGRE Projectors for your dataset.

    -

    Please refer to the TIGRE documentation for futher descriptions -https://github.com/CERN/TIGRE -https://iopscience.iop.org/article/10.1088/2057-1976/2/5/055010

    -
    -
    Parameters
    -
      -
    • image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    • -
    • acquisition_geometry (AcquisitionGeometry, BlockGeometry) – A description of the acquisition data. If passed a BlockGeometry it will return a BlockOperator.

    • -
    • direct_method (str, default 'interpolated') – The method used by the forward projector, ‘Siddon’ for ray-voxel intersection, ‘interpolated’ for interpolated projection

    • -
    • adjoint_weights (str, default 'matched') – The weighting method used by the cone-beam backward projector, ‘matched’ for weights to approximately match the ‘interpolated’ forward projector, ‘FDK’ for FDK weights

    • -
    -
    -
    -

    Example

    -
    >>> from cil.plugins.tigre import ProjectionOperator
    ->>> PO = ProjectionOperator(image.geometry, data.geometry)
    ->>> forward_projection = PO.direct(image)
    ->>> backward_projection = PO.adjoint(data)
    -
    -
    -
    - -
    -
    -
    -

    ASTRA#

    -

    This plugin allows the use of ASTRA-toolbox -(10.1364/OE.24.025129) -for forward and back projections and filter back projection reconstruction.

    -
    -

    FBP#

    -

    This reconstructs with FBP for parallel-beam data, and with FDK weights for cone-beam data

    -
    -
    -class cil.plugins.astra.FBP(image_geometry=None, acquisition_geometry=None, device='gpu', **kwargs)[source]#
    -

    FBP configures and calls an appropriate ASTRA FBP or FDK algorithm for your dataset.

    -

    The best results will be on data with circular trajectories of a 2PI angular range and equally spaced small angular steps.

    -
    -
    Parameters
    -
      -
    • image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    • -
    • acquisition_geometry (AcquisitionGeometry) – A description of the acquisition data

    • -
    • device (string, default='gpu') – ‘gpu’ will run on a compatible CUDA capable device using the ASTRA FDK_CUDA algorithm -‘cpu’ will run on CPU using the ASTRA FBP algorithm - see Notes for limitations

    • -
    -
    -
    -

    Example

    -
    >>> from cil.plugins.astra import FBP
    ->>> fbp = FBP(image_geometry, data.geometry)
    ->>> fbp.set_input(data)
    ->>> reconstruction = fbp.get_ouput()
    -
    -
    -

    Notes

    -

    A CPU version is provided for simple 2D parallel-beam geometries only, any offsets and rotations in the acquisition geometry will be ignored.

    -

    This uses the ram-lak filter only.

    -
    -
    -set_input(dataset)[source]#
    -

    Set the input data to the processor

    -
    -
    Parameters
    -

    input (DataContainer) – The input DataContainer

    -
    -
    -
    - -
    -
    -get_output(out=None)[source]#
    -

    Runs the configured processor and returns the processed data

    -
    -
    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    -
    -
    Returns
    -

    The processed data. Suppressed if out is passed

    -
    -
    Return type
    -

    DataContainer

    -
    -
    -
    - -
    - -
    -
    -

    Projection Operator#

    -
    -
    -class cil.plugins.astra.ProjectionOperator(image_geometry=None, acquisition_geometry=None, device='gpu', **kwargs)[source]#
    -

    ProjectionOperator configures and calls appropriate ASTRA Projectors for your dataset.

    -
    -
    Parameters
    -
      -
    • image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    • -
    • acquisition_geometry (AcquisitionGeometry, BlockGeometry) – A description of the acquisition data. If passed a BlockGeometry it will return a BlockOperator.

    • -
    • device (string, default='gpu') – ‘gpu’ will run on a compatible CUDA capable device using the ASTRA 3D CUDA Projectors, ‘cpu’ will run on CPU using the ASTRA 2D CPU Projectors

    • -
    -
    -
    -

    Example

    -
    >>> from cil.plugins.astra import ProjectionOperator
    ->>> PO = ProjectionOperator(image.geometry, data.geometry)
    ->>> forward_projection = PO.direct(image)
    ->>> backward_projection = PO.adjoint(data)
    -
    -
    -

    Notes

    -

    For multichannel data the ProjectionOperator will broadcast across all channels.

    -
    - -

    Return Home

    -
    -
    -
    - - -
    - - - - - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/plugins/index.html b/nightly/plugins/index.html new file mode 100644 index 0000000000..00bf799cd0 --- /dev/null +++ b/nightly/plugins/index.html @@ -0,0 +1,852 @@ + + + + + + + + + + + + CIL Plugins — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +
    +

    CIL Plugins#

    +
    +

    CCPi Regularisation#

    +

    This plugin allows the use of regularisation functions from the CCPi Regularisation toolkit +(10.1016/j.softx.2019.04.003, +a set of CPU/GPU optimised regularisation modules for iterative image reconstruction and +other image processing tasks.

    +
    +

    Total variation#

    +
    +
    +class cil.plugins.ccpi_regularisation.functions.FGP_TV(alpha=1, max_iteration=100, tolerance=0, isotropic=True, nonnegativity=True, device='cpu', strong_convexity_constant=0)[source]#
    +

    Fast Gradient Projection Total Variation (FGP_TV)

    +

    The FGP_TV computes the proximal operator of the Total variation regulariser

    +
    +\[\mathrm{prox}_{\tau (\alpha TV)}(x) = \underset{z}{\mathrm{argmin}} \,\alpha\,\mathrm{TV}(z) + \frac{1}{2}\|z - x\|^{2} .\]
    +

    The algorithm used for the proximal operator of TV is the Fast Gradient Projection algorithm +applied to the _dual problem_ of the above problem, see [1], [2].

    +
    +
    Parameters
    +
      +
    • alpha (Number (positive), default = 1.0 .) – Total variation regularisation parameter.

    • +
    • max_iteration (int. Default = 100 .) – Maximum number of iterations for the Fast Gradient Projection algorithm.

    • +
    • isotropic (boolean. Default = True .) –

      Isotropic or Anisotropic definition of the Total variation regulariser.

      +
      +\[|x|_{2} = \sqrt{x_{1}^{2} + x_{2}^{2}},\, (\mbox{isotropic})\]
      +
      +\[|x|_{1} = |x_{1}| + |x_{2}|\, (\mbox{anisotropic})\]
      +

    • +
    • nonnegativity (boolean. Default = True .) – Non-negativity constraint for the solution of the FGP algorithm.

    • +
    • tolerance (float, Default = 0 .) –

      Stopping criterion for the FGP algorithm.

      +
      +\[\|x^{k+1} - x^{k}\|_{2} < \mathrm{tolerance}\]
      +

    • +
    • device (str, Default = ‘cpu’ .) – FGP_TV algorithm runs on cpu or gpu.

    • +
    • strong_convexity_constant (float, default = 0) –

      A strongly convex term weighted by the strong_convexity_constant (\(\gamma\)) parameter is added to the Total variation. +Now the TotalVariation function is \(\gamma\) - strongly convex and the proximal operator is

      +
      +\[\underset{u}{\mathrm{argmin}} \frac{1}{2\tau}\|u - b\|^{2} + \mathrm{TV}(u) + \frac{\gamma}{2}\|u\|^{2} \Leftrightarrow\]
      +
      +\[\underset{u}{\mathrm{argmin}} \frac{1}{2\frac{\tau}{1+\gamma\tau}}\|u - \frac{b}{1+\gamma\tau}\|^{2} + \mathrm{TV}(u)\]
      +

    • +
    +
    +
    +

    Examples

    +
    +\[\underset{u\qeq0}{\mathrm{argmin}} \frac{1}{2}\|u - b\|^{2} + \alpha TV(u)\]
    +
    >>> G = alpha * FGP_TV(max_iteration=100, device='gpu')
    +>>> sol = G.proximal(b)
    +
    +
    +
    +

    Note

    +

    The FGP_TV regularisation does not incorparate information on the ImageGeometry, i.e., pixel/voxel size. +Therefore a rescaled parameter should be used to match the same solution computed using TotalVariation.

    +
    >>> G1 = (alpha/ig.voxel_size_x) * FGP_TV(max_iteration=100, device='gpu')
    +>>> G2 = alpha * TotalVariation(max_iteration=100, lower=0.)
    +
    +
    +
    +
    +

    See also

    +

    TotalVariation

    +
    +
    + +
    +
    +

    Other regularisation functions#

    +
    +
    +class cil.plugins.ccpi_regularisation.functions.TGV(alpha=1, gamma=1, max_iteration=100, tolerance=0, device='cpu', **kwargs)[source]#
    +
    +
    +__init__(alpha=1, gamma=1, max_iteration=100, tolerance=0, device='cpu', **kwargs)[source]#
    +

    Creator of Total Generalised Variation Function

    +
    +
    Parameters
    +
      +
    • alpha (number, default 1) – regularisation parameter

    • +
    • gamma (number, default 1, can range between 1 and 2) – ratio of TGV terms

    • +
    • max_iteration (integer, default 100) – max number of sub iterations. The algorithm will iterate up to this number of iteration or up to when the tolerance has been reached

    • +
    • tolerance (float, default 0) – minimum difference between previous iteration of the algorithm that determines the stop of the iteration earlier than max_iteration. If set to 0 only the max_iteration will be used as stop criterion.

    • +
    • device (string, default 'cpu', can be 'gpu' if GPU is installed) – determines if the code runs on CPU or GPU

    • +
    +
    +
    +
    + +
    +
    +__call__(x)[source]#
    +

    Call self as a function.

    +
    + +
    +
    +convex_conjugate(x)[source]#
    +

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    +
    +\[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    +
    +
    Parameters
    +

    x (DataContainer) –

    +
    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    +
    +
    +
    + +
    +
    +__rmul__(scalar)[source]#
    +

    Define the multiplication with a scalar

    +

    this changes the regularisation parameter in the plugin

    +
    + +
    + +
    +
    +class cil.plugins.ccpi_regularisation.functions.FGP_dTV(reference, alpha=1, max_iteration=100, tolerance=0, eta=0.01, isotropic=True, nonnegativity=True, device='cpu')[source]#
    +

    Creator of FGP_dTV Function

    +
    +
    Parameters
    +
      +
    • reference (ImageData) – reference image

    • +
    • alpha (number, default 1) – regularisation parameter

    • +
    • max_iteration (integer, default 100) – max number of sub iterations. The algorithm will iterate up to this number of iteration or up to when the tolerance has been reached

    • +
    • tolerance (float, default 0) – minimum difference between previous iteration of the algorithm that determines the stop of the iteration earlier than max_iteration. If set to 0 only the max_iteration will be used as stop criterion.

    • +
    • eta (number, default 0.01) – smoothing constant to calculate gradient of the reference

    • +
    • isotropic (boolean, default True, can range between 1 and 2) – Whether it uses L2 (isotropic) or L1 (anisotropic) norm

    • +
    • nonnegativity (boolean, default True) – Whether to add the non-negativity constraint

    • +
    • device (string, default 'cpu', can be 'gpu' if GPU is installed) – determines if the code runs on CPU or GPU

    • +
    +
    +
    +
    +
    +__init__(reference, alpha=1, max_iteration=100, tolerance=0, eta=0.01, isotropic=True, nonnegativity=True, device='cpu')[source]#
    +
    + +
    +
    +__call__(x)[source]#
    +

    Call self as a function.

    +
    + +
    +
    +convex_conjugate(x)[source]#
    +

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    +
    +\[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    +
    +
    Parameters
    +

    x (DataContainer) –

    +
    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    +
    +
    +
    + +
    +
    +__rmul__(scalar)[source]#
    +

    Define the multiplication with a scalar

    +

    this changes the regularisation parameter in the plugin

    +
    + +
    + +
    +
    +class cil.plugins.ccpi_regularisation.functions.TNV(alpha=1, max_iteration=100, tolerance=0)[source]#
    +
    +
    +__init__(alpha=1, max_iteration=100, tolerance=0)[source]#
    +

    Creator of TNV Function

    +
    +
    Parameters
    +
      +
    • alpha (number, default 1) – regularisation parameter

    • +
    • max_iteration (integer, default 100) – max number of sub iterations. The algorithm will iterate up to this number of iteration or up to when the tolerance has been reached

    • +
    • tolerance (float, default 0) – minimum difference between previous iteration of the algorithm that determines the stop of the iteration earlier than max_iteration. If set to 0 only the max_iteration will be used as stop criterion.

    • +
    +
    +
    +
    + +
    +
    +__call__(x)[source]#
    +

    Call self as a function.

    +
    + +
    +
    +convex_conjugate(x)[source]#
    +

    Evaluation of the function F* at x, where F* is the convex conjugate of function F,

    +
    +\[F^{*}(x^{*}) = \underset{x}{\sup} \langle x^{*}, x \rangle - F(x)\]
    +
    +
    Parameters
    +

    x (DataContainer) –

    +
    +
    Return type
    +

    The value of the convex conjugate of the function at x.

    +
    +
    +
    + +
    +
    +__rmul__(scalar)[source]#
    +

    Define the multiplication with a scalar

    +

    this changes the regularisation parameter in the plugin

    +
    + +
    +
    +check_input(input)[source]#
    +

    TNV requires 2D+channel data with the first dimension as the channel dimension

    +
    + +
    + +
    +
    +
    +

    TomoPhantom#

    +

    This plugin allows the use of part of TomoPhantom +(10.1016/j.softx.2018.05.003, +a toolbox written in C language to generate customisable 2D-4D phantoms (with a +temporal capability).

    +
    +
    +cil.plugins.TomoPhantom.get_ImageData(num_model, geometry)[source]#
    +

    Returns an ImageData relative to geometry with the model num_model from tomophantom

    +
    +
    Parameters
    +
      +
    • num_model (int) – model number

    • +
    • geometry (ImageGeometry) – geometrical info that describes the phantom

    • +
    +
    +
    +

    Example usage:

    +
    ndim = 2
    +N=128
    +angles = np.linspace(0, 360, 50, True, dtype=np.float32)
    +offset = 0.4
    +channels = 3
    +
    +if ndim == 2:
    +    ag = AcquisitionGeometry.create_Cone2D((offset,-100), (offset,100))
    +    ag.set_panel(N)
    +
    +else:
    +    ag = AcquisitionGeometry.create_Cone3D((offset,-100, 0), (offset,100,0))
    +    ag.set_panel((N,N-2))
    +
    +ag.set_channels(channels)
    +ag.set_angles(angles, angle_unit=AcquisitionGeometry.DEGREE)
    +
    +
    +ig = ag.get_ImageGeometry()
    +num_model = 1
    +phantom = TomoPhantom.get_ImageData(num_model=num_model, geometry=ig)
    +
    +
    +
    + +
    +
    +

    TIGRE#

    +

    This plugin allows the use of TIGRE +(10.1088/2057-1976/2/5/055010 +for forward and back projections and filter back projection reconstruction.

    +
    +

    FBP#

    +

    This reconstructs with FBP for parallel-beam data, and with FDK weights for cone-beam data

    +
    +
    +

    Projection Operator#

    +
    +
    +
    +

    ASTRA#

    +

    This plugin allows the use of ASTRA-toolbox +(10.1364/OE.24.025129) +for forward and back projections and filter back projection reconstruction.

    +
    +

    FBP#

    +

    This reconstructs with FBP for parallel-beam data, and with FDK weights for cone-beam data

    +
    +
    +

    Projection Operator#

    +

    Return Home

    +
    +
    +
    + + +
    + + + + + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/processors.html b/nightly/processors/index.html similarity index 55% rename from nightly/processors.html rename to nightly/processors/index.html index 1e4a4bd8d4..033e075b1f 100644 --- a/nightly/processors.html +++ b/nightly/processors/index.html @@ -1,160 +1,382 @@ + - + + + - + + Processors — CIL 23.1.0 documentation - + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + - - + +
    + + + + + - -
    - + +
    + +
    + + +
    +
    - -
    - -
    - -
    - - - - - - -
    -
    -
    + +
    + +

    Processors#

    This module allows the user to manipulate or pre-process their data.

    -
    +

    Data Manipulation#

    These processors can be used on ImageData or AcquisitionData objects.

    -
    +

    Data Slicer#

    -
    -class cil.processors.Slicer(roi=None)[source]#
    +
    +class cil.processors.Slicer(roi=None)[source]#

    This creates a Slicer processor.

    The processor will crop the data, and then return every n input pixels along a dimension from the starting index.

    The output will be a data container with the data, and geometry updated to reflect the operation.

    @@ -353,59 +519,59 @@

    Data Slicer -
    -set_input(dataset)[source]#
    +
    +set_input(dataset)[source]#

    Set the input data or geometry to the processor

    Parameters
    -

    dataset (DataContainer, Geometry) – The input DataContainer or Geometry

    +

    dataset (DataContainer, Geometry) – The input DataContainer or Geometry

    -
    -process(out=None)[source]#
    +
    +process(out=None)[source]#

    Processes the input data

    Parameters
    -

    out (ImageData, AcquisitionData, DataContainer, optional) – Fills the referenced DataContainer with the processed output and suppresses the return

    +

    out (ImageData, AcquisitionData, DataContainer, optional) – Fills the referenced DataContainer with the processed output and suppresses the return

    Returns

    The downsampled output is returned. Depending on the input type this may be: ImageData, AcquisitionData, DataContainer, ImageGeometry, AcquisitionGeometry

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    - -
    + +

    Data Binner#

    -
    -class cil.processors.Binner(roi=None, accelerated=True)[source]#
    +
    +class cil.processors.Binner(roi=None, accelerated=True)[source]#

    This creates a Binner processor.

    The processor will crop the data, and then average together n input pixels along a dimension from the starting index.

    The output will be a data container with the data, and geometry updated to reflect the operation.

    @@ -450,59 +616,59 @@

    Data Binner -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -process(out=None)#
    +
    +process(out=None)#

    Processes the input data

    Parameters
    -

    out (ImageData, AcquisitionData, DataContainer, optional) – Fills the referenced DataContainer with the processed output and suppresses the return

    +

    out (ImageData, AcquisitionData, DataContainer, optional) – Fills the referenced DataContainer with the processed output and suppresses the return

    Returns

    The downsampled output is returned. Depending on the input type this may be: ImageData, AcquisitionData, DataContainer, ImageGeometry, AcquisitionGeometry

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -set_input(dataset)#
    +
    +set_input(dataset)#

    Set the input data or geometry to the processor

    Parameters
    -

    dataset (DataContainer, Geometry) – The input DataContainer or Geometry

    +

    dataset (DataContainer, Geometry) – The input DataContainer or Geometry

    - -
    + +

    Data Padder#

    -
    -class cil.processors.Padder(mode='constant', pad_width=None, pad_values=0)[source]#
    +
    +class cil.processors.Padder(mode='constant', pad_width=None, pad_values=0)[source]#

    Processor to pad an array with a border, wrapping numpy.pad. See https://numpy.org/doc/stable/reference/generated/numpy.pad.html

    It is recommended to use the static methods to configure your Padder object rather than initialising this class directly. See examples for details.

    @@ -564,8 +730,8 @@

    Data Padder -
    -static constant(pad_width=None, constant_values=0.0)[source]#
    +
    +static constant(pad_width=None, constant_values=0.0)[source]#

    Padder processor wrapping numpy.pad with mode constant.

    Pads the data with a constant value border. Pads in all spatial dimensions unless a dictionary is passed to either pad_width or constant_values

    @@ -613,8 +779,8 @@

    Data Padder -
    -static edge(pad_width=None)[source]#
    +
    +static edge(pad_width=None)[source]#

    Padder processor wrapping numpy.pad with mode edge.

    Pads the data by extending the edge values in to the border. Pads in all spatial dimensions unless a dictionary is passed to pad_width.

    @@ -652,8 +818,8 @@

    Data Padder -
    -static linear_ramp(pad_width=None, end_values=0.0)[source]#
    +
    +static linear_ramp(pad_width=None, end_values=0.0)[source]#

    Padder processor wrapping numpy.pad with mode linear_ramp

    Pads the data with values calculated from a linear ramp between the array edge value and the set end_value. Pads in all spatial dimensions unless a dictionary @@ -702,8 +868,8 @@

    Data Padder -
    -static reflect(pad_width=None)[source]#
    +
    +static reflect(pad_width=None)[source]#

    Padder processor wrapping numpy.pad with mode reflect.

    Pads with the reflection of the data mirrored along first and last values each axis. Pads in all spatial dimensions unless a dictionary is passed to pad_width.

    @@ -741,8 +907,8 @@

    Data Padder -
    -static symmetric(pad_width=None)[source]#
    +
    +static symmetric(pad_width=None)[source]#

    Padder processor wrapping numpy.pad with mode symmetric.

    Pads with the reflection of the data mirrored along the edge of the array. Pads in all spatial dimensions unless a dictionary is passed to pad_width.

    @@ -781,8 +947,8 @@

    Data Padder -
    -static wrap(pad_width=None)[source]#
    +
    +static wrap(pad_width=None)[source]#

    Padder processor wrapping numpy.pad with mode wrap.

    Pads with the wrap of the vector along the axis. The first values are used to pad the end and the end values are used to pad the beginning. Pads in all spatial dimensions @@ -822,45 +988,45 @@

    Data Padder -
    -set_input(dataset)[source]#
    +
    +set_input(dataset)[source]#

    Set the input data to the processor

    Parameters
    -

    dataset (DataContainer, Geometry) – The input DataContainer

    +

    dataset (DataContainer, Geometry) – The input DataContainer

    -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -
    + +

    Mask Generator from Data#

    -
    -class cil.processors.MaskGenerator(mode='special_values', threshold_value=(None, None), quantiles=(None, None), threshold_factor=3, window=5, axis=None)[source]#
    +
    +class cil.processors.MaskGenerator(mode='special_values', threshold_value=(None, None), quantiles=(None, None), threshold_factor=3, window=5, axis=None)[source]#

    Processor to detect outliers and return a mask with 0 where outliers were detected, and 1 for other pixels. Please use the desiried method to configure a processor for your needs.

    -
    -static special_values(nan=True, inf=True)[source]#
    +
    +static special_values(nan=True, inf=True)[source]#

    This creates a MaskGenerator processor which generates a mask for inf and/or nan values.

    Parameters
    @@ -873,8 +1039,8 @@

    Mask Generator from Data -
    -static threshold(min_val=None, max_val=None)[source]#
    +
    +static threshold(min_val=None, max_val=None)[source]#

    This creates a MaskGenerator processor which generates a mask for values outside boundaries

    Parameters
    @@ -887,8 +1053,8 @@

    Mask Generator from Data -
    -static quantile(min_quantile=None, max_quantile=None)[source]#
    +
    +static quantile(min_quantile=None, max_quantile=None)[source]#

    This creates a MaskGenerator processor which generates a mask for values outside boundaries

    Parameters
    @@ -901,8 +1067,8 @@

    Mask Generator from Data -
    -static mean(axis=None, threshold_factor=3, window=None)[source]#
    +
    +static mean(axis=None, threshold_factor=3, window=None)[source]#

    This creates a MaskGenerator processor which generates a mask for values outside a multiple of standard-devaiations from the mean.

    abs(A - mean(A)) < threshold_factor * std(A).

    @@ -917,8 +1083,8 @@

    Mask Generator from Data -
    -static median(axis=None, threshold_factor=3, window=None)[source]#
    +
    +static median(axis=None, threshold_factor=3, window=None)[source]#

    This creates a MaskGenerator processor which generates a mask for values outside a multiple of median absolute deviation (MAD) from the mean.

    abs(A - median(A)) < threshold_factor * MAD(A), MAD = c*median(abs(A-median(A))) where c=-1/(sqrt(2)*erfcinv(3/2))

    @@ -934,50 +1100,50 @@

    Mask Generator from Data -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -set_input(dataset)#
    +
    +set_input(dataset)#

    Set the input data to the processor

    Parameters
    -

    input (DataContainer) – The input DataContainer

    +

    input (DataContainer) – The input DataContainer

    -

    -
    + +

    Data Masking#

    -
    -class cil.processors.Masker(mask=None, mode='value', value=0, axis=None, method='linear')[source]#
    +
    +class cil.processors.Masker(mask=None, mode='value', value=0, axis=None, method='linear')[source]#

    Processor to fill missing values provided by mask. Please use the desiried method to configure a processor for your needs.

    -
    -static value(mask=None, value=0)[source]#
    +
    +static value(mask=None, value=0)[source]#

    This sets the masked values of the input data to the requested value.

    Parameters
      -
    • mask (DataContainer, ImageData, AcquisitionData, numpy.ndarray) – A boolean array with the same dimensions as input, where ‘False’ represents masked values. Mask can be generated using ‘MaskGenerator’ processor to identify outliers.

    • +
    • mask (DataContainer, ImageData, AcquisitionData, numpy.ndarray) – A boolean array with the same dimensions as input, where ‘False’ represents masked values. Mask can be generated using ‘MaskGenerator’ processor to identify outliers.

    • value (float, default=0) – values to be assigned to missing elements

    @@ -985,13 +1151,13 @@

    Data Masking -
    -static mean(mask=None, axis=None)[source]#
    +
    +static mean(mask=None, axis=None)[source]#

    This sets the masked values of the input data to the mean of the unmasked values across the array or axis.

    Parameters
      -
    • mask (DataContainer, ImageData, AcquisitionData, numpy.ndarray) – A boolean array with the same dimensions as input, where ‘False’ represents masked values. Mask can be generated using ‘MaskGenerator’ processor to identify outliers.

    • +
    • mask (DataContainer, ImageData, AcquisitionData, numpy.ndarray) – A boolean array with the same dimensions as input, where ‘False’ represents masked values. Mask can be generated using ‘MaskGenerator’ processor to identify outliers.

    • axis (str, int) – specify axis as int or from ‘dimension_labels’ to calculate mean.

    @@ -999,13 +1165,13 @@

    Data Masking -
    -static median(mask=None, axis=None)[source]#
    +
    +static median(mask=None, axis=None)[source]#

    This sets the masked values of the input data to the median of the unmasked values across the array or axis.

    Parameters
      -
    • mask (DataContainer, ImageData, AcquisitionData, numpy.ndarray) – A boolean array with the same dimensions as input, where ‘False’ represents masked values. Mask can be generated using ‘MaskGenerator’ processor to identify outliers.

    • +
    • mask (DataContainer, ImageData, AcquisitionData, numpy.ndarray) – A boolean array with the same dimensions as input, where ‘False’ represents masked values. Mask can be generated using ‘MaskGenerator’ processor to identify outliers.

    • axis (str, int) – specify axis as int or from ‘dimension_labels’ to calculate median.

    @@ -1013,13 +1179,13 @@

    Data Masking -
    -static interpolate(mask=None, axis=None, method='linear')[source]#
    +
    +static interpolate(mask=None, axis=None, method='linear')[source]#

    This operates over the specified axis and uses 1D interpolation over remaining flattened array to fill in missing vaues.

    Parameters
      -
    • mask (DataContainer, ImageData, AcquisitionData, numpy.ndarray) – A boolean array with the same dimensions as input, where ‘False’ represents masked values. Mask can be generated using ‘MaskGenerator’ processor to identify outliers.

    • +
    • mask (DataContainer, ImageData, AcquisitionData, numpy.ndarray) – A boolean array with the same dimensions as input, where ‘False’ represents masked values. Mask can be generated using ‘MaskGenerator’ processor to identify outliers.

    • axis (str, int) – specify axis as int or from ‘dimension_labels’ to loop over and perform 1D interpolation.

    • method – One of the following interpoaltion methods: linear, nearest, zeros, linear, quadratic, cubic, previous, next

    • method – str, default=’linear’

    • @@ -1029,41 +1195,41 @@

      Data Masking -
      -get_output(out=None)#
      +
      +get_output(out=None)#

      Runs the configured processor and returns the processed data

      Parameters
      -

      out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

      +

      out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

      Returns

      The processed data. Suppressed if out is passed

      Return type
      -

      DataContainer

      +

      DataContainer

    -
    -set_input(dataset)#
    +
    +set_input(dataset)#

    Set the input data to the processor

    Parameters
    -

    input (DataContainer) – The input DataContainer

    +

    input (DataContainer) – The input DataContainer

    -

    - -
    + + +

    Pre-processors#

    These processors can be used with AcquisitionData objects

    -
    +

    Centre Of Rotation Corrector#

    In the ideal alignment of a CT instrument, the projection of the axis of rotation onto the detector coincides with the vertical midline of the detector. In practice this is hard to achieve @@ -1079,12 +1245,12 @@

    Centre Of Rotation Corrector -
    -class cil.processors.CentreOfRotationCorrector(**attributes)[source]#
    +
    +class cil.processors.CentreOfRotationCorrector(**attributes)[source]#

    This class contains methods to create a CentreOfRotationCorrector processor using the desired algorithm.

    -
    -static xcorrelation(slice_index='centre', projection_index=0, ang_tol=0.1)[source]#
    +
    +static xcorrelation(slice_index='centre', projection_index=0, ang_tol=0.1)[source]#

    This creates a CentreOfRotationCorrector processor using the cross-correlation algorithm.

    For use on parallel-beam geometry it requires two projections 180 degree apart.

    @@ -1130,8 +1296,8 @@

    Centre Of Rotation Corrector -
    -static image_sharpness(slice_index='centre', backend='tigre', tolerance=0.005, search_range=None, initial_binning=None, **kwargs)[source]#
    +
    +static image_sharpness(slice_index='centre', backend='tigre', tolerance=0.005, search_range=None, initial_binning=None, **kwargs)[source]#

    This creates a CentreOfRotationCorrector processor.

    The processor will find the centre offset by maximising the sharpness of a reconstructed slice.

    Can be used on single slice parallel-beam, and centre slice cone beam geometry. For use only with datasets that can be reconstructed with FBP/FDK.

    @@ -1143,11 +1309,9 @@

    Centre Of Rotation CorrectorOther Parameters -

    **kwargs (dict) – FBP : The FBP class to use as the backend imported from cil.plugins.[backend].FBP - This has been deprecated please use ‘backend’ instead

    -

    Example

    from cil.processors import CentreOfRotationCorrector

    @@ -1167,41 +1331,41 @@

    Centre Of Rotation Corrector -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -set_input(dataset)#
    +
    +set_input(dataset)#

    Set the input data to the processor

    Parameters
    -

    input (DataContainer) – The input DataContainer

    +

    input (DataContainer) – The input DataContainer

    - -
    + +

    Data Normaliser#

    -
    -class cil.processors.Normaliser(flat_field=None, dark_field=None, tolerance=1e-05)[source]#
    +
    +class cil.processors.Normaliser(flat_field=None, dark_field=None, tolerance=1e-05)[source]#

    Normalisation based on flat and dark

    This processor read in a AcquisitionData and normalises it based on the instrument reading with and without incident photons or neutrons.

    @@ -1212,49 +1376,49 @@

    Data Normaliser -
    -static estimate_normalised_error(projection, flat, dark, delta_flat, delta_dark)[source]#
    +
    +static estimate_normalised_error(projection, flat, dark, delta_flat, delta_dark)[source]#

    returns the estimated relative error of the normalised projection

    n = (projection - dark) / (flat - dark) Dn/n = (flat-dark + projection-dark)/((flat-dark)*(projection-dark))*(Df/f + Dd/d)

    -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -set_input(dataset)#
    +
    +set_input(dataset)#

    Set the input data to the processor

    Parameters
    -

    input (DataContainer) – The input DataContainer

    +

    input (DataContainer) – The input DataContainer

    -
    -
    + +

    Transmission to Absorption Converter#

    -
    -class cil.processors.TransmissionAbsorptionConverter(min_intensity=0.0, white_level=1.0)[source]#
    +
    +class cil.processors.TransmissionAbsorptionConverter(min_intensity=0.0, white_level=1.0)[source]#

    Processor to convert from transmission measurements to absorption based on the Beer-Lambert law

    @@ -1268,47 +1432,47 @@

    Transmission to Absorption Converter

    returns AcquisitionData, ImageData or DataContainer depending on input data type, return is suppressed if ‘out’ is passed

    Return type
    -

    AcquisitionData, ImageData or DataContainer

    +

    AcquisitionData, ImageData or DataContainer

    Processor first divides by white_level (default=1) and then take negative logarithm. Elements below threshold (after division by white_level) are set to threshold.

    -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -set_input(dataset)#
    +
    +set_input(dataset)#

    Set the input data to the processor

    Parameters
    -

    input (DataContainer) – The input DataContainer

    +

    input (DataContainer) – The input DataContainer

    -
    -
    + +

    Absorption to Transmission Converter#

    -
    -class cil.processors.AbsorptionTransmissionConverter(white_level=1)[source]#
    +
    +class cil.processors.AbsorptionTransmissionConverter(white_level=1)[source]#

    Processor to convert from absorption measurements to transmission

    Parameters
    @@ -1318,47 +1482,47 @@

    Absorption to Transmission Converter

    returns AcquisitionData, ImageData or DataContainer depending on input data type

    Return type
    -

    AcquisitionData, ImageData or DataContainer

    +

    AcquisitionData, ImageData or DataContainer

    Processor first multiplies data by -1, then calculates exponent and scales result by white_level (default=1)

    -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -set_input(dataset)#
    +
    +set_input(dataset)#

    Set the input data to the processor

    Parameters
    -

    input (DataContainer) – The input DataContainer

    +

    input (DataContainer) – The input DataContainer

    -
    -
    + +

    Ring Remover#

    -
    -class cil.processors.RingRemover(decNum=4, wname='db10', sigma=1.5, info=True)[source]#
    +
    +class cil.processors.RingRemover(decNum=4, wname='db10', sigma=1.5, info=True)[source]#

    RingRemover Processor: Removes vertical stripes from a DataContainer(ImageData/AcquisitionData) using the algorithm in https://doi.org/10.1364/OE.17.008567

    @@ -1376,90 +1540,116 @@

    Ring Remover

    Corrected ImageData/AcquisitionData 2D, 3D, multi-spectral 2D, multi-spectral 3D

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -get_output(out=None)#
    +
    +get_output(out=None)#

    Runs the configured processor and returns the processed data

    Parameters
    -

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    +

    out (DataContainer, optional) – Fills the referenced DataContainer with the processed data and suppresses the return

    Returns

    The processed data. Suppressed if out is passed

    Return type
    -

    DataContainer

    +

    DataContainer

    -
    -set_input(dataset)#
    +
    +set_input(dataset)#

    Set the input data to the processor

    Parameters
    -

    input (DataContainer) – The input DataContainer

    +

    input (DataContainer) – The input DataContainer

    -

    Return Home

    -
    - - +

    Return Home

    + + + - + + - - + + + + + + + + +
    + +
    + + + - -
    -
    + + + +
    +
    + + +
    + +
    \ No newline at end of file diff --git a/nightly/py-modindex.html b/nightly/py-modindex.html deleted file mode 100644 index 5c3e012fdf..0000000000 --- a/nightly/py-modindex.html +++ /dev/null @@ -1,255 +0,0 @@ - - - - - - - - Python Module Index — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - - -

    Python Module Index

    - -
    - c -
    - - - - - - - - - - -
     
    - c
    - cil -
        - cil.utilities.quality_measures -
    - - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/py-modindex/index.html b/nightly/py-modindex/index.html new file mode 100644 index 0000000000..c37dcb6943 --- /dev/null +++ b/nightly/py-modindex/index.html @@ -0,0 +1,492 @@ + + + + + + + + + + + Python Module Index — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    + + + + + + + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/recon.html b/nightly/recon.html deleted file mode 100644 index 8ea7c1ad34..0000000000 --- a/nightly/recon.html +++ /dev/null @@ -1,635 +0,0 @@ - - - - - - - - Recon — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - -
    - -
    - -
    -

    Recon#

    -

    This module allows the user to run pre-configured reconstruction algorithms on their data.

    -
    -

    Analytical Reconstruction#

    -

    The CIL analytical reconstructions use CIL to filter and prepare the data using highly optimised routines. The filtered data is then -backprojected using projectors from TIGRE or ASTRA-TOOLBOX.

    -

    Standard FBP (filtered-backprojection) should be used for parallel-beam data. FDK (Feldkamp, Davis, and Kress) is a filtered-backprojection -algorithm for reconstruction of cone-beam data measured with a standard circular orbit.

    -

    The filter can be set to a predefined function, or a custom filter can be set. The predefined filters take the following forms:

    -
    -FBP Filters -
    -
    -

    FBP - Reconstructor for parallel-beam geometry#

    -
    -
    -class cil.recon.FBP(input, image_geometry=None, filter='ram-lak', backend='tigre')[source]#
    -

    Creates an FBP reconstructor based on your parallel-beam acquisition data.

    -
    -
    Parameters
    -
      -
    • input (AcquisitionData) – The input data to reconstruct. The reconstructor is set-up based on the geometry of the data.

    • -
    • image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    • -
    • filter (string, numpy.ndarray, default='ram-lak') – The filter to be applied. Can be a string from: {‘ram-lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’, ‘hann’}, or a numpy array.

    • -
    • backend (string) – The backend to use, can be ‘astra’ or ‘tigre’. Data must be in the correct order for requested backend.

    • -
    -
    -
    -

    Example

    -
    >>> from cil.utilities.dataexample import SIMULATED_PARALLEL_BEAM_DATA
    ->>> from cil.recon import FBP
    ->>> data = SIMULATED_PARALLEL_BEAM_DATA.get()
    ->>> fbp = FBP(data)
    ->>> out = fbp.run()
    -
    -
    -

    Notes

    -

    The reconstructor can be further customised using additional ‘set’ methods provided.

    -
    -
    -set_split_processing(slices_per_chunk=0)[source]#
    -

    Splits the processing in to chunks. Default, 0 will process the data in a single call.

    -
    -
    Parameters
    -

    out (slices_per_chunk, optional) – Process the data in chunks of n slices. It is recommended to use value of power-of-two.

    -
    -
    -

    Notes

    -

    This will reduce memory use but may increase computation time. -It is recommended to tune it too your hardware requirements using 8, 16 or 32 slices.

    -

    This can only be used on simple and offset data-geometries.

    -
    - -
    -
    -run(out=None, verbose=1)[source]#
    -

    Runs the configured FBP recon and returns the reconstruction

    -
    -
    Parameters
    -
      -
    • out (ImageData, optional) – Fills the referenced ImageData with the reconstructed volume and suppresses the return

    • -
    • verbose (int, default=1) – Controls the verbosity of the reconstructor. 0: No output is logged, 1: Full configuration is logged

    • -
    -
    -
    Returns
    -

    The reconstructed volume. Suppressed if out is passed

    -
    -
    Return type
    -

    ImageData

    -
    -
    -
    - -
    -
    -reset()[source]#
    -

    Resets all optional configuration parameters to their default values

    -
    - -
    -
    -get_filter_array()#
    -

    Returns the filter array in the frequency domain.

    -
    -
    Returns
    -

    An array containing the filter values

    -
    -
    Return type
    -

    numpy.ndarray

    -
    -
    -

    Notes

    -

    The filter length N is 2^self.fft_order.

    -

    The indices of the array are interpreted as:

    -
      -
    • [0] The DC frequency component

    • -
    • [1:N/2] positive frequencies

    • -
    • [N/2:N-1] negative frequencies

    • -
    -

    The array can be modified and passed back using set_filter()

    -

    Notes

    -

    Filter reference in frequency domain: -Eq. 1.12 - 1.15 T. M. Buzug. Computed Tomography: From Photon Statistics to Modern Cone-Beam CT. Berlin: Springer, 2008.

    -

    Plantagie, L. Algebraic filters for filtered backprojection, 2017 -https://hdl.handle.net/1887/48289

    -
    - -
    -
    -set_fft_order(order=None)#
    -

    The width of the fourier transform N=2^order.

    -
    -
    Parameters
    -

    order (int, optional) – The width of the fft N=2^order

    -
    -
    -

    Notes

    -

    If None the default used is the power-of-2 greater than 2 * detector width, or 8, whichever is greater -Higher orders will yield more accurate results but increase computation time.

    -
    - -
    -
    -set_filter(filter='ram-lak', cutoff=1.0)#
    -

    Set the filter used by the reconstruction.

    -

    Pre-set filters are constructed in the frequency domain. -Pre-set filters are: ‘ram-lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’, ‘hann’

    -
    -
    Parameters
    -
      -
    • filter (string, numpy.ndarray, default='ram-lak') – Pass a string selecting from the list of pre-set filters, or pass a numpy.ndarray with a custom filter.

    • -
    • cutoff (float, default = 1) – The cut-off frequency of the filter between 0 - 1 pi rads/pixel. The filter will be 0 outside the range rect(-frequency_cutoff, frequency_cutoff)

    • -
    -
    -
    -

    Notes

    -

    If passed a numpy array the filter must have length N = 2^self.fft_order

    -

    The indices of the array are interpreted as:

    -
      -
    • [0] The DC frequency component

    • -
    • [1:N/2] positive frequencies

    • -
    • [N/2:N-1] negative frequencies

    • -
    -
    - -
    -
    -set_filter_inplace(inplace=False)#
    -

    False (default) will allocate temporary memory for filtered projections. -True will filter projections in-place.

    -
    -
    Parameters
    -

    inplace (boolean) – Sets the inplace filtering of projections

    -
    -
    -
    - -
    -
    -set_image_geometry(image_geometry=None)#
    -

    Sets a custom image geometry to be used by the reconstructor

    -
    -
    Parameters
    -

    image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    -
    -
    -
    - -
    -
    -set_input(input)#
    -

    Update the input data to run the reconstructor on. The geometry of the dataset must be compatible with the reconstructor.

    -
    -
    Parameters
    -

    input (AcquisitionData) – A dataset with a compatible geometry

    -
    -
    -
    - -
    - -
    -
    -

    FDK - Reconstructor for cone-beam geometry#

    -
    -
    -class cil.recon.FDK(input, image_geometry=None, filter='ram-lak')[source]#
    -

    Creates an FDK reconstructor based on your cone-beam acquisition data using TIGRE as a backend.

    -
    -
    Parameters
    -
      -
    • input (AcquisitionData) – The input data to reconstruct. The reconstructor is set-up based on the geometry of the data.

    • -
    • image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    • -
    • filter (string, numpy.ndarray, default='ram-lak') – The filter to be applied. Can be a string from: {‘ram-lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’, ‘hann’}, or a numpy array.

    • -
    -
    -
    -

    Example

    -
    >>> from cil.utilities.dataexample import SIMULATED_CONE_BEAM_DATA
    ->>> from cil.recon import FDK
    ->>> data = SIMULATED_CONE_BEAM_DATA.get()
    ->>> fdk = FDK(data)
    ->>> out = fdk.run()
    -
    -
    -

    Notes

    -

    The reconstructor can be futher customised using additional ‘set’ methods provided.

    -
    -
    -run(out=None, verbose=1)[source]#
    -

    Runs the configured FDK recon and returns the reconstruction.

    -
    -
    Parameters
    -
      -
    • out (ImageData, optional) – Fills the referenced ImageData with the reconstructed volume and suppresses the return

    • -
    • verbose (int, default=1) – Controls the verbosity of the reconstructor. 0: No output is logged, 1: Full configuration is logged

    • -
    -
    -
    Returns
    -

    The reconstructed volume. Suppressed if out is passed

    -
    -
    Return type
    -

    ImageData

    -
    -
    -
    - -
    -
    -get_filter_array()#
    -

    Returns the filter array in the frequency domain.

    -
    -
    Returns
    -

    An array containing the filter values

    -
    -
    Return type
    -

    numpy.ndarray

    -
    -
    -

    Notes

    -

    The filter length N is 2^self.fft_order.

    -

    The indices of the array are interpreted as:

    -
      -
    • [0] The DC frequency component

    • -
    • [1:N/2] positive frequencies

    • -
    • [N/2:N-1] negative frequencies

    • -
    -

    The array can be modified and passed back using set_filter()

    -

    Notes

    -

    Filter reference in frequency domain: -Eq. 1.12 - 1.15 T. M. Buzug. Computed Tomography: From Photon Statistics to Modern Cone-Beam CT. Berlin: Springer, 2008.

    -

    Plantagie, L. Algebraic filters for filtered backprojection, 2017 -https://hdl.handle.net/1887/48289

    -
    - -
    -
    -reset()#
    -

    Resets all optional configuration parameters to their default values

    -
    - -
    -
    -set_fft_order(order=None)#
    -

    The width of the fourier transform N=2^order.

    -
    -
    Parameters
    -

    order (int, optional) – The width of the fft N=2^order

    -
    -
    -

    Notes

    -

    If None the default used is the power-of-2 greater than 2 * detector width, or 8, whichever is greater -Higher orders will yield more accurate results but increase computation time.

    -
    - -
    -
    -set_filter(filter='ram-lak', cutoff=1.0)#
    -

    Set the filter used by the reconstruction.

    -

    Pre-set filters are constructed in the frequency domain. -Pre-set filters are: ‘ram-lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’, ‘hann’

    -
    -
    Parameters
    -
      -
    • filter (string, numpy.ndarray, default='ram-lak') – Pass a string selecting from the list of pre-set filters, or pass a numpy.ndarray with a custom filter.

    • -
    • cutoff (float, default = 1) – The cut-off frequency of the filter between 0 - 1 pi rads/pixel. The filter will be 0 outside the range rect(-frequency_cutoff, frequency_cutoff)

    • -
    -
    -
    -

    Notes

    -

    If passed a numpy array the filter must have length N = 2^self.fft_order

    -

    The indices of the array are interpreted as:

    -
      -
    • [0] The DC frequency component

    • -
    • [1:N/2] positive frequencies

    • -
    • [N/2:N-1] negative frequencies

    • -
    -
    - -
    -
    -set_filter_inplace(inplace=False)#
    -

    False (default) will allocate temporary memory for filtered projections. -True will filter projections in-place.

    -
    -
    Parameters
    -

    inplace (boolean) – Sets the inplace filtering of projections

    -
    -
    -
    - -
    -
    -set_image_geometry(image_geometry=None)#
    -

    Sets a custom image geometry to be used by the reconstructor

    -
    -
    Parameters
    -

    image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    -
    -
    -
    - -
    -
    -set_input(input)#
    -

    Update the input data to run the reconstructor on. The geometry of the dataset must be compatible with the reconstructor.

    -
    -
    Parameters
    -

    input (AcquisitionData) – A dataset with a compatible geometry

    -
    -
    -
    - -
    - -

    Return Home

    -
    -
    -
    - - -
    - - - - - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/recon/index.html b/nightly/recon/index.html new file mode 100644 index 0000000000..4bb7467729 --- /dev/null +++ b/nightly/recon/index.html @@ -0,0 +1,874 @@ + + + + + + + + + + + + Recon — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +
    +

    Recon#

    +

    This module allows the user to run pre-configured reconstruction algorithms on their data.

    +
    +

    Analytical Reconstruction#

    +

    The CIL analytical reconstructions use CIL to filter and prepare the data using highly optimised routines. The filtered data is then +backprojected using projectors from TIGRE or ASTRA-TOOLBOX.

    +

    Standard FBP (filtered-backprojection) should be used for parallel-beam data. FDK (Feldkamp, Davis, and Kress) is a filtered-backprojection +algorithm for reconstruction of cone-beam data measured with a standard circular orbit.

    +

    The filter can be set to a predefined function, or a custom filter can be set. The predefined filters take the following forms:

    +
    +FBP Filters +
    +
    +

    FBP - Reconstructor for parallel-beam geometry#

    +
    +
    +class cil.recon.FBP(input, image_geometry=None, filter='ram-lak', backend='tigre')[source]#
    +

    Creates an FBP reconstructor based on your parallel-beam acquisition data.

    +
    +
    Parameters
    +
      +
    • input (AcquisitionData) – The input data to reconstruct. The reconstructor is set-up based on the geometry of the data.

    • +
    • image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    • +
    • filter (string, numpy.ndarray, default='ram-lak') – The filter to be applied. Can be a string from: {’ram-lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’, ‘hann’}, or a numpy array.

    • +
    • backend (string) – The backend to use, can be ‘astra’ or ‘tigre’. Data must be in the correct order for requested backend.

    • +
    +
    +
    +

    Example

    +
    >>> from cil.utilities.dataexample import SIMULATED_PARALLEL_BEAM_DATA
    +>>> from cil.recon import FBP
    +>>> data = SIMULATED_PARALLEL_BEAM_DATA.get()
    +>>> fbp = FBP(data)
    +>>> out = fbp.run()
    +
    +
    +

    Notes

    +

    The reconstructor can be further customised using additional ‘set’ methods provided.

    +
    +
    +set_split_processing(slices_per_chunk=0)[source]#
    +

    Splits the processing in to chunks. Default, 0 will process the data in a single call.

    +
    +
    Parameters
    +

    out (slices_per_chunk, optional) – Process the data in chunks of n slices. It is recommended to use value of power-of-two.

    +
    +
    +

    Notes

    +

    This will reduce memory use but may increase computation time. +It is recommended to tune it too your hardware requirements using 8, 16 or 32 slices.

    +

    This can only be used on simple and offset data-geometries.

    +
    + +
    +
    +run(out=None, verbose=1)[source]#
    +

    Runs the configured FBP recon and returns the reconstruction

    +
    +
    Parameters
    +
      +
    • out (ImageData, optional) – Fills the referenced ImageData with the reconstructed volume and suppresses the return

    • +
    • verbose (int, default=1) – Controls the verbosity of the reconstructor. 0: No output is logged, 1: Full configuration is logged

    • +
    +
    +
    Returns
    +

    The reconstructed volume. Suppressed if out is passed

    +
    +
    Return type
    +

    ImageData

    +
    +
    +
    + +
    +
    +reset()[source]#
    +

    Resets all optional configuration parameters to their default values

    +
    + +
    +
    +get_filter_array()#
    +

    Returns the filter array in the frequency domain.

    +
    +
    Returns
    +

    An array containing the filter values

    +
    +
    Return type
    +

    numpy.ndarray

    +
    +
    +

    Notes

    +

    The filter length N is 2^self.fft_order.

    +

    The indices of the array are interpreted as:

    +
      +
    • [0] The DC frequency component

    • +
    • [1:N/2] positive frequencies

    • +
    • [N/2:N-1] negative frequencies

    • +
    +

    The array can be modified and passed back using set_filter()

    +

    Notes

    +

    Filter reference in frequency domain: +Eq. 1.12 - 1.15 T. M. Buzug. Computed Tomography: From Photon Statistics to Modern Cone-Beam CT. Berlin: Springer, 2008.

    +

    Plantagie, L. Algebraic filters for filtered backprojection, 2017 +https://hdl.handle.net/1887/48289

    +
    + +
    +
    +set_fft_order(order=None)#
    +

    The width of the fourier transform N=2^order.

    +
    +
    Parameters
    +

    order (int, optional) – The width of the fft N=2^order

    +
    +
    +

    Notes

    +

    If None the default used is the power-of-2 greater than 2 * detector width, or 8, whichever is greater +Higher orders will yield more accurate results but increase computation time.

    +
    + +
    +
    +set_filter(filter='ram-lak', cutoff=1.0)#
    +

    Set the filter used by the reconstruction.

    +

    Pre-set filters are constructed in the frequency domain. +Pre-set filters are: ‘ram-lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’, ‘hann’

    +
    +
    Parameters
    +
      +
    • filter (string, numpy.ndarray, default='ram-lak') – Pass a string selecting from the list of pre-set filters, or pass a numpy.ndarray with a custom filter.

    • +
    • cutoff (float, default = 1) – The cut-off frequency of the filter between 0 - 1 pi rads/pixel. The filter will be 0 outside the range rect(-frequency_cutoff, frequency_cutoff)

    • +
    +
    +
    +

    Notes

    +

    If passed a numpy array the filter must have length N = 2^self.fft_order

    +

    The indices of the array are interpreted as:

    +
      +
    • [0] The DC frequency component

    • +
    • [1:N/2] positive frequencies

    • +
    • [N/2:N-1] negative frequencies

    • +
    +
    + +
    +
    +set_filter_inplace(inplace=False)#
    +

    False (default) will allocate temporary memory for filtered projections. +True will filter projections in-place.

    +
    +
    Parameters
    +

    inplace (boolean) – Sets the inplace filtering of projections

    +
    +
    +
    + +
    +
    +set_image_geometry(image_geometry=None)#
    +

    Sets a custom image geometry to be used by the reconstructor

    +
    +
    Parameters
    +

    image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    +
    +
    +
    + +
    +
    +set_input(input)#
    +

    Update the input data to run the reconstructor on. The geometry of the dataset must be compatible with the reconstructor.

    +
    +
    Parameters
    +

    input (AcquisitionData) – A dataset with a compatible geometry

    +
    +
    +
    + +
    + +
    +
    +

    FDK - Reconstructor for cone-beam geometry#

    +
    +
    +class cil.recon.FDK(input, image_geometry=None, filter='ram-lak')[source]#
    +

    Creates an FDK reconstructor based on your cone-beam acquisition data using TIGRE as a backend.

    +
    +
    Parameters
    +
      +
    • input (AcquisitionData) – The input data to reconstruct. The reconstructor is set-up based on the geometry of the data.

    • +
    • image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    • +
    • filter (string, numpy.ndarray, default='ram-lak') – The filter to be applied. Can be a string from: {’ram-lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’, ‘hann’}, or a numpy array.

    • +
    +
    +
    +

    Example

    +
    >>> from cil.utilities.dataexample import SIMULATED_CONE_BEAM_DATA
    +>>> from cil.recon import FDK
    +>>> data = SIMULATED_CONE_BEAM_DATA.get()
    +>>> fdk = FDK(data)
    +>>> out = fdk.run()
    +
    +
    +

    Notes

    +

    The reconstructor can be futher customised using additional ‘set’ methods provided.

    +
    +
    +run(out=None, verbose=1)[source]#
    +

    Runs the configured FDK recon and returns the reconstruction.

    +
    +
    Parameters
    +
      +
    • out (ImageData, optional) – Fills the referenced ImageData with the reconstructed volume and suppresses the return

    • +
    • verbose (int, default=1) – Controls the verbosity of the reconstructor. 0: No output is logged, 1: Full configuration is logged

    • +
    +
    +
    Returns
    +

    The reconstructed volume. Suppressed if out is passed

    +
    +
    Return type
    +

    ImageData

    +
    +
    +
    + +
    +
    +get_filter_array()#
    +

    Returns the filter array in the frequency domain.

    +
    +
    Returns
    +

    An array containing the filter values

    +
    +
    Return type
    +

    numpy.ndarray

    +
    +
    +

    Notes

    +

    The filter length N is 2^self.fft_order.

    +

    The indices of the array are interpreted as:

    +
      +
    • [0] The DC frequency component

    • +
    • [1:N/2] positive frequencies

    • +
    • [N/2:N-1] negative frequencies

    • +
    +

    The array can be modified and passed back using set_filter()

    +

    Notes

    +

    Filter reference in frequency domain: +Eq. 1.12 - 1.15 T. M. Buzug. Computed Tomography: From Photon Statistics to Modern Cone-Beam CT. Berlin: Springer, 2008.

    +

    Plantagie, L. Algebraic filters for filtered backprojection, 2017 +https://hdl.handle.net/1887/48289

    +
    + +
    +
    +reset()#
    +

    Resets all optional configuration parameters to their default values

    +
    + +
    +
    +set_fft_order(order=None)#
    +

    The width of the fourier transform N=2^order.

    +
    +
    Parameters
    +

    order (int, optional) – The width of the fft N=2^order

    +
    +
    +

    Notes

    +

    If None the default used is the power-of-2 greater than 2 * detector width, or 8, whichever is greater +Higher orders will yield more accurate results but increase computation time.

    +
    + +
    +
    +set_filter(filter='ram-lak', cutoff=1.0)#
    +

    Set the filter used by the reconstruction.

    +

    Pre-set filters are constructed in the frequency domain. +Pre-set filters are: ‘ram-lak’, ‘shepp-logan’, ‘cosine’, ‘hamming’, ‘hann’

    +
    +
    Parameters
    +
      +
    • filter (string, numpy.ndarray, default='ram-lak') – Pass a string selecting from the list of pre-set filters, or pass a numpy.ndarray with a custom filter.

    • +
    • cutoff (float, default = 1) – The cut-off frequency of the filter between 0 - 1 pi rads/pixel. The filter will be 0 outside the range rect(-frequency_cutoff, frequency_cutoff)

    • +
    +
    +
    +

    Notes

    +

    If passed a numpy array the filter must have length N = 2^self.fft_order

    +

    The indices of the array are interpreted as:

    +
      +
    • [0] The DC frequency component

    • +
    • [1:N/2] positive frequencies

    • +
    • [N/2:N-1] negative frequencies

    • +
    +
    + +
    +
    +set_filter_inplace(inplace=False)#
    +

    False (default) will allocate temporary memory for filtered projections. +True will filter projections in-place.

    +
    +
    Parameters
    +

    inplace (boolean) – Sets the inplace filtering of projections

    +
    +
    +
    + +
    +
    +set_image_geometry(image_geometry=None)#
    +

    Sets a custom image geometry to be used by the reconstructor

    +
    +
    Parameters
    +

    image_geometry (ImageGeometry, default used if None) – A description of the area/volume to reconstruct

    +
    +
    +
    + +
    +
    +set_input(input)#
    +

    Update the input data to run the reconstructor on. The geometry of the dataset must be compatible with the reconstructor.

    +
    +
    Parameters
    +

    input (AcquisitionData) – A dataset with a compatible geometry

    +
    +
    +
    + +
    + +

    Return Home

    +
    +
    +
    + + +
    + + + + + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/search.html b/nightly/search.html deleted file mode 100644 index 2089325751..0000000000 --- a/nightly/search.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - - Search — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - -
    - -
    - -

    Search

    -
    - -

    - Please activate JavaScript to enable the search - functionality. -

    -
    -

    - Searching for multiple words only shows matches that contain - all words. -

    -
    - - - -
    - -
    - -
    - -
    - - - -
    -
    - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/search/index.html b/nightly/search/index.html new file mode 100644 index 0000000000..d9d5e8b182 --- /dev/null +++ b/nightly/search/index.html @@ -0,0 +1,496 @@ + + + + + + + + + + Search - CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    + + +
    +

    Search

    + + + +
    +
    + + + + +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + +
    + + +
    + + \ No newline at end of file diff --git a/nightly/searchindex.js b/nightly/searchindex.js index 80e740eedb..6329a52b27 100644 --- a/nightly/searchindex.js +++ b/nightly/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["developer_guide","framework","index","introduction","io","optimisation","plugins","processors","recon","utilities"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,"sphinxcontrib.bibtex":9,sphinx:56},filenames:["developer_guide.rst","framework.rst","index.rst","introduction.rst","io.rst","optimisation.rst","plugins.rst","processors.rst","recon.rst","utilities.rst"],objects:{"cil.framework":{AcquisitionData:[1,0,1,""],AcquisitionGeometry:[1,0,1,""],BlockDataContainer:[5,0,1,""],BlockGeometry:[1,0,1,""],DataContainer:[1,0,1,""],DataOrder:[1,0,1,""],DataProcessor:[1,0,1,""],ImageData:[1,0,1,""],ImageGeometry:[1,0,1,""],Processor:[1,0,1,""],VectorData:[1,0,1,""]},"cil.framework.AcquisitionData":{as_array:[1,1,1,""],clone:[1,1,1,""],copy:[1,1,1,""],dot:[1,1,1,""],dtype:[1,1,1,""],exp:[1,1,1,""],fill:[1,1,1,""],get_data_axes_order:[1,1,1,""],get_dimension_axis:[1,1,1,""],get_slice:[1,1,1,""],log:[1,1,1,""],max:[1,1,1,""],mean:[1,1,1,""],min:[1,1,1,""],ndim:[1,1,1,""],norm:[1,1,1,""],number_of_dimensions:[1,1,1,""],partition:[1,1,1,""],reorder:[1,1,1,""],sapyb:[1,1,1,""],shape:[1,1,1,""],size:[1,1,1,""],squared_norm:[1,1,1,""],sum:[1,1,1,""]},"cil.framework.AcquisitionGeometry":{allocate:[1,1,1,""],create_Cone2D:[1,1,1,""],create_Cone3D:[1,1,1,""],create_Parallel2D:[1,1,1,""],create_Parallel3D:[1,1,1,""],get_ImageGeometry:[1,1,1,""],get_slice:[1,1,1,""],set_angles:[1,1,1,""],set_channels:[1,1,1,""],set_labels:[1,1,1,""],set_panel:[1,1,1,""]},"cil.framework.BlockDataContainer":{__iadd__:[5,1,1,""],__idiv__:[5,1,1,""],__imul__:[5,1,1,""],__isub__:[5,1,1,""],__iter__:[5,1,1,""],__itruediv__:[5,1,1,""],__neg__:[5,1,1,""],__radd__:[5,1,1,""],__rdiv__:[5,1,1,""],__rmul__:[5,1,1,""],__rpow__:[5,1,1,""],__rsub__:[5,1,1,""],__rtruediv__:[5,1,1,""],__weakref__:[5,2,1,""],add:[5,1,1,""],axpby:[5,1,1,""],binary_operations:[5,1,1,""],copy:[5,1,1,""],divide:[5,1,1,""],is_compatible:[5,1,1,""],maximum:[5,1,1,""],minimum:[5,1,1,""],multiply:[5,1,1,""],next:[5,1,1,""],power:[5,1,1,""],sapyb:[5,1,1,""],subtract:[5,1,1,""],unary_operations:[5,1,1,""]},"cil.framework.BlockGeometry":{allocate:[1,1,1,""],get_item:[1,1,1,""]},"cil.framework.DataContainer":{as_array:[1,1,1,""],clone:[1,1,1,""],copy:[1,1,1,""],dot:[1,1,1,""],dtype:[1,1,1,""],exp:[1,1,1,""],fill:[1,1,1,""],get_data_axes_order:[1,1,1,""],get_dimension_axis:[1,1,1,""],get_slice:[1,1,1,""],log:[1,1,1,""],max:[1,1,1,""],mean:[1,1,1,""],min:[1,1,1,""],ndim:[1,1,1,""],norm:[1,1,1,""],number_of_dimensions:[1,1,1,""],reorder:[1,1,1,""],sapyb:[1,1,1,""],shape:[1,1,1,""],size:[1,1,1,""],squared_norm:[1,1,1,""],sum:[1,1,1,""]},"cil.framework.DataProcessor":{check_input:[1,1,1,""],get_input:[1,1,1,""],get_output:[1,1,1,""],set_input:[1,1,1,""]},"cil.framework.ImageData":{apply_circular_mask:[1,1,1,""],as_array:[1,1,1,""],clone:[1,1,1,""],copy:[1,1,1,""],dot:[1,1,1,""],dtype:[1,1,1,""],exp:[1,1,1,""],fill:[1,1,1,""],get_data_axes_order:[1,1,1,""],get_dimension_axis:[1,1,1,""],get_slice:[1,1,1,""],log:[1,1,1,""],max:[1,1,1,""],mean:[1,1,1,""],min:[1,1,1,""],ndim:[1,1,1,""],norm:[1,1,1,""],number_of_dimensions:[1,1,1,""],reorder:[1,1,1,""],sapyb:[1,1,1,""],shape:[1,1,1,""],size:[1,1,1,""],squared_norm:[1,1,1,""],sum:[1,1,1,""]},"cil.framework.ImageGeometry":{allocate:[1,1,1,""],clone:[1,1,1,""],copy:[1,1,1,""],get_slice:[1,1,1,""]},"cil.framework.Processor":{check_input:[1,1,1,""],get_input:[1,1,1,""],get_output:[1,1,1,""],set_input:[1,1,1,""]},"cil.framework.VectorData":{as_array:[1,1,1,""],clone:[1,1,1,""],copy:[1,1,1,""],dot:[1,1,1,""],dtype:[1,1,1,""],exp:[1,1,1,""],fill:[1,1,1,""],get_data_axes_order:[1,1,1,""],get_dimension_axis:[1,1,1,""],get_slice:[1,1,1,""],log:[1,1,1,""],max:[1,1,1,""],mean:[1,1,1,""],min:[1,1,1,""],ndim:[1,1,1,""],norm:[1,1,1,""],number_of_dimensions:[1,1,1,""],reorder:[1,1,1,""],sapyb:[1,1,1,""],shape:[1,1,1,""],size:[1,1,1,""],squared_norm:[1,1,1,""],sum:[1,1,1,""]},"cil.io":{NEXUSDataReader:[4,0,1,""],NEXUSDataWriter:[4,0,1,""],NikonDataReader:[4,0,1,""],RAWFileWriter:[4,0,1,""],TIFFStackReader:[4,0,1,""],TIFFWriter:[4,0,1,""],ZEISSDataReader:[4,0,1,""]},"cil.io.NEXUSDataReader":{get_data_offset:[4,1,1,""],get_data_scale:[4,1,1,""],get_geometry:[4,1,1,""],load_data:[4,1,1,""],read:[4,1,1,""],read_as_original:[4,1,1,""],set_up:[4,1,1,""]},"cil.io.NEXUSDataWriter":{set_up:[4,1,1,""],write:[4,1,1,""]},"cil.io.NikonDataReader":{get_geometry:[4,1,1,""],get_roi:[4,1,1,""],load_projections:[4,1,1,""],read:[4,1,1,""]},"cil.io.RAWFileWriter":{write:[4,1,1,""]},"cil.io.TIFFStackReader":{read:[4,1,1,""],read_as_AcquisitionData:[4,1,1,""],read_as_ImageData:[4,1,1,""],read_rescaled:[4,1,1,""],read_scale_offset:[4,1,1,""]},"cil.io.TIFFWriter":{write:[4,1,1,""]},"cil.io.ZEISSDataReader":{get_geometry:[4,1,1,""],get_metadata:[4,1,1,""],read:[4,1,1,""],set_up:[4,1,1,""],slice_metadata:[4,1,1,""]},"cil.io.utilities":{HDF5_utilities:[4,0,1,""]},"cil.io.utilities.HDF5_utilities":{get_dataset_metadata:[4,1,1,""],print_metadata:[4,1,1,""],read:[4,1,1,""],read_to:[4,1,1,""]},"cil.optimisation.algorithms":{Algorithm:[5,0,1,""],CGLS:[5,0,1,""],FISTA:[5,0,1,""],GD:[5,0,1,""],ISTA:[5,0,1,""],LADMM:[5,0,1,""],PDHG:[5,0,1,""],SIRT:[5,0,1,""],SPDHG:[5,0,1,""]},"cil.optimisation.algorithms.Algorithm":{get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.algorithms.CGLS":{flag:[5,1,1,""],get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.algorithms.FISTA":{__delattr__:[5,1,1,""],__dir__:[5,1,1,""],__eq__:[5,1,1,""],__format__:[5,1,1,""],__ge__:[5,1,1,""],__getattribute__:[5,1,1,""],__gt__:[5,1,1,""],__hash__:[5,1,1,""],__init__:[5,1,1,""],__init_subclass__:[5,1,1,""],__iter__:[5,1,1,""],__le__:[5,1,1,""],__lt__:[5,1,1,""],__ne__:[5,1,1,""],__new__:[5,1,1,""],__next__:[5,1,1,""],__reduce__:[5,1,1,""],__reduce_ex__:[5,1,1,""],__repr__:[5,1,1,""],__setattr__:[5,1,1,""],__sizeof__:[5,1,1,""],__str__:[5,1,1,""],__subclasshook__:[5,1,1,""],__weakref__:[5,2,1,""],get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_step_size:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.algorithms.GD":{armijo_rule:[5,1,1,""],get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.algorithms.ISTA":{__delattr__:[5,1,1,""],__dir__:[5,1,1,""],__eq__:[5,1,1,""],__format__:[5,1,1,""],__ge__:[5,1,1,""],__getattribute__:[5,1,1,""],__gt__:[5,1,1,""],__hash__:[5,1,1,""],__init__:[5,1,1,""],__init_subclass__:[5,1,1,""],__iter__:[5,1,1,""],__le__:[5,1,1,""],__lt__:[5,1,1,""],__ne__:[5,1,1,""],__new__:[5,1,1,""],__next__:[5,1,1,""],__reduce__:[5,1,1,""],__reduce_ex__:[5,1,1,""],__repr__:[5,1,1,""],__setattr__:[5,1,1,""],__sizeof__:[5,1,1,""],__str__:[5,1,1,""],__subclasshook__:[5,1,1,""],__weakref__:[5,2,1,""],get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_step_size:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.algorithms.LADMM":{get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.algorithms.PDHG":{check_convergence:[5,1,1,""],get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_gamma_fconj:[5,1,1,""],set_gamma_g:[5,1,1,""],set_step_sizes:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],update_step_sizes:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.algorithms.SIRT":{get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_relaxation_parameter:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.algorithms.SPDHG":{get_last_loss:[5,1,1,""],get_last_objective:[5,1,1,""],get_output:[5,1,1,""],is_provably_convergent:[5,1,1,""],iterations:[5,1,1,""],loss:[5,1,1,""],max_iteration:[5,1,1,""],max_iteration_stop_criterion:[5,1,1,""],next:[5,1,1,""],objective:[5,1,1,""],run:[5,1,1,""],set_up:[5,1,1,""],should_stop:[5,1,1,""],update:[5,1,1,""],update_objective:[5,1,1,""],verbose_output:[5,1,1,""]},"cil.optimisation.functions":{BlockFunction:[5,0,1,""],ConstantFunction:[5,0,1,""],Function:[5,0,1,""],IndicatorBox:[5,0,1,""],KullbackLeibler:[5,0,1,""],L1Norm:[5,0,1,""],L2NormSquared:[5,0,1,""],LeastSquares:[5,0,1,""],MixedL11Norm:[5,0,1,""],MixedL21Norm:[5,0,1,""],OperatorCompositionFunction:[5,0,1,""],Rosenbrock:[5,0,1,""],ScaledFunction:[5,0,1,""],SmoothMixedL21Norm:[5,0,1,""],SumFunction:[5,0,1,""],SumScalarFunction:[5,0,1,""],TotalVariation:[5,0,1,""],TranslateFunction:[5,0,1,""],WeightedL2NormSquared:[5,0,1,""],ZeroFunction:[5,0,1,""]},"cil.optimisation.functions.BlockFunction":{L:[5,1,1,""],__call__:[5,1,1,""],__init__:[5,1,1,""],__rmul__:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.ConstantFunction":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.Function":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.IndicatorBox":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],num_threads:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""],set_num_threads:[5,1,1,""],set_suppress_evaluation:[5,1,1,""]},"cil.optimisation.functions.KullbackLeibler":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.L1Norm":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.L2NormSquared":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.LeastSquares":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.MixedL11Norm":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.MixedL21Norm":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.OperatorCompositionFunction":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.Rosenbrock":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.ScaledFunction":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.SmoothMixedL21Norm":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.SumFunction":{L:[5,1,1,""],Lmax:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.SumScalarFunction":{L:[5,1,1,""],Lmax:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.TotalVariation":{L:[5,1,1,""],calculate_Lipschitz:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.TranslateFunction":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.WeightedL2NormSquared":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.functions.ZeroFunction":{L:[5,1,1,""],centered_at:[5,1,1,""],convex_conjugate:[5,1,1,""],gradient:[5,1,1,""],proximal:[5,1,1,""],proximal_conjugate:[5,1,1,""]},"cil.optimisation.operators":{BlockOperator:[5,0,1,""],ChannelwiseOperator:[5,0,1,""],CompositionOperator:[5,0,1,""],DiagonalOperator:[5,0,1,""],FiniteDifferenceOperator:[5,0,1,""],GradientOperator:[5,0,1,""],IdentityOperator:[5,0,1,""],LinearOperator:[5,0,1,""],MaskOperator:[5,0,1,""],MatrixOperator:[5,0,1,""],Operator:[5,0,1,""],ScaledOperator:[5,0,1,""],SparseFiniteDifferenceOperator:[5,0,1,""],SumOperator:[5,0,1,""],SymmetrisedGradientOperator:[5,0,1,""],ZeroOperator:[5,0,1,""]},"cil.optimisation.operators.BlockOperator":{T:[5,1,1,""],__getitem__:[5,1,1,""],__init__:[5,1,1,""],__rmul__:[5,1,1,""],adjoint:[5,1,1,""],column_wise_compatible:[5,1,1,""],direct:[5,1,1,""],domain_geometry:[5,1,1,""],get_as_list:[5,1,1,""],get_item:[5,1,1,""],get_norms_as_list:[5,1,1,""],get_output_shape:[5,1,1,""],is_linear:[5,1,1,""],norm:[5,1,1,""],range_geometry:[5,1,1,""],row_wise_compatible:[5,1,1,""],set_norms:[5,1,1,""]},"cil.optimisation.operators.ChannelwiseOperator":{adjoint:[5,1,1,""],calculate_norm:[5,1,1,""],direct:[5,1,1,""]},"cil.optimisation.operators.CompositionOperator":{adjoint:[5,1,1,""],direct:[5,1,1,""],is_linear:[5,1,1,""]},"cil.optimisation.operators.DiagonalOperator":{adjoint:[5,1,1,""],calculate_norm:[5,1,1,""],direct:[5,1,1,""]},"cil.optimisation.operators.FiniteDifferenceOperator":{adjoint:[5,1,1,""],direct:[5,1,1,""]},"cil.optimisation.operators.GradientOperator":{adjoint:[5,1,1,""],calculate_norm:[5,1,1,""],direct:[5,1,1,""]},"cil.optimisation.operators.IdentityOperator":{adjoint:[5,1,1,""],calculate_norm:[5,1,1,""],direct:[5,1,1,""]},"cil.optimisation.operators.LinearOperator":{PowerMethod:[5,1,1,""],adjoint:[5,1,1,""],calculate_norm:[5,1,1,""],dot_test:[5,1,1,""],is_linear:[5,1,1,""]},"cil.optimisation.operators.MatrixOperator":{adjoint:[5,1,1,""],direct:[5,1,1,""]},"cil.optimisation.operators.Operator":{calculate_norm:[5,1,1,""],direct:[5,1,1,""],domain_geometry:[5,1,1,""],is_linear:[5,1,1,""],norm:[5,1,1,""],range_geometry:[5,1,1,""],set_norm:[5,1,1,""]},"cil.optimisation.operators.ScaledOperator":{adjoint:[5,1,1,""],direct:[5,1,1,""],is_linear:[5,1,1,""],norm:[5,1,1,""]},"cil.optimisation.operators.SparseFiniteDifferenceOperator":{direct:[5,1,1,""]},"cil.optimisation.operators.SumOperator":{adjoint:[5,1,1,""],direct:[5,1,1,""],is_linear:[5,1,1,""]},"cil.optimisation.operators.SymmetrisedGradientOperator":{adjoint:[5,1,1,""],direct:[5,1,1,""]},"cil.optimisation.operators.ZeroOperator":{adjoint:[5,1,1,""],calculate_norm:[5,1,1,""],direct:[5,1,1,""]},"cil.optimisation.utilities":{Sampler:[5,0,1,""],SamplerRandom:[5,0,1,""]},"cil.optimisation.utilities.Sampler":{from_function:[5,1,1,"id28"],get_samples:[5,1,1,""],herman_meyer:[5,1,1,"id29"],next:[5,1,1,""],random_with_replacement:[5,1,1,"id26"],random_without_replacement:[5,1,1,"id27"],sequential:[5,1,1,"id0"],staggered:[5,1,1,"id25"]},"cil.optimisation.utilities.SamplerRandom":{get_samples:[5,1,1,""]},"cil.plugins.TomoPhantom":{get_ImageData:[6,3,1,""]},"cil.plugins.astra":{FBP:[6,0,1,""],ProjectionOperator:[6,0,1,""]},"cil.plugins.astra.FBP":{get_output:[6,1,1,""],set_input:[6,1,1,""]},"cil.plugins.ccpi_regularisation.functions":{FGP_TV:[6,0,1,""],FGP_dTV:[6,0,1,""],TGV:[6,0,1,""],TNV:[6,0,1,""]},"cil.plugins.ccpi_regularisation.functions.FGP_dTV":{__call__:[6,1,1,""],__init__:[6,1,1,""],__rmul__:[6,1,1,""],convex_conjugate:[6,1,1,""]},"cil.plugins.ccpi_regularisation.functions.TGV":{__call__:[6,1,1,""],__init__:[6,1,1,""],__rmul__:[6,1,1,""],convex_conjugate:[6,1,1,""]},"cil.plugins.ccpi_regularisation.functions.TNV":{__call__:[6,1,1,""],__init__:[6,1,1,""],__rmul__:[6,1,1,""],check_input:[6,1,1,""],convex_conjugate:[6,1,1,""]},"cil.plugins.tigre":{FBP:[6,0,1,""],ProjectionOperator:[6,0,1,""]},"cil.plugins.tigre.FBP":{get_output:[6,1,1,""],set_input:[6,1,1,""]},"cil.processors":{AbsorptionTransmissionConverter:[7,0,1,""],Binner:[7,0,1,""],CentreOfRotationCorrector:[7,0,1,""],MaskGenerator:[7,0,1,""],Masker:[7,0,1,""],Normaliser:[7,0,1,""],Padder:[7,0,1,""],RingRemover:[7,0,1,""],Slicer:[7,0,1,""],TransmissionAbsorptionConverter:[7,0,1,""]},"cil.processors.AbsorptionTransmissionConverter":{get_output:[7,1,1,""],set_input:[7,1,1,""]},"cil.processors.Binner":{get_output:[7,1,1,""],process:[7,1,1,""],set_input:[7,1,1,""]},"cil.processors.CentreOfRotationCorrector":{get_output:[7,1,1,""],image_sharpness:[7,1,1,""],set_input:[7,1,1,""],xcorrelation:[7,1,1,""]},"cil.processors.MaskGenerator":{get_output:[7,1,1,""],mean:[7,1,1,""],median:[7,1,1,""],quantile:[7,1,1,""],set_input:[7,1,1,""],special_values:[7,1,1,""],threshold:[7,1,1,""]},"cil.processors.Masker":{get_output:[7,1,1,""],interpolate:[7,1,1,""],mean:[7,1,1,""],median:[7,1,1,""],set_input:[7,1,1,""],value:[7,1,1,""]},"cil.processors.Normaliser":{estimate_normalised_error:[7,1,1,""],get_output:[7,1,1,""],set_input:[7,1,1,""]},"cil.processors.Padder":{constant:[7,1,1,""],edge:[7,1,1,""],get_output:[7,1,1,""],linear_ramp:[7,1,1,""],reflect:[7,1,1,""],set_input:[7,1,1,""],symmetric:[7,1,1,""],wrap:[7,1,1,""]},"cil.processors.RingRemover":{get_output:[7,1,1,""],set_input:[7,1,1,""]},"cil.processors.Slicer":{get_output:[7,1,1,""],process:[7,1,1,""],set_input:[7,1,1,""]},"cil.processors.TransmissionAbsorptionConverter":{get_output:[7,1,1,""],set_input:[7,1,1,""]},"cil.recon":{FBP:[8,0,1,""],FDK:[8,0,1,""]},"cil.recon.FBP":{get_filter_array:[8,1,1,""],reset:[8,1,1,""],run:[8,1,1,""],set_fft_order:[8,1,1,""],set_filter:[8,1,1,""],set_filter_inplace:[8,1,1,""],set_image_geometry:[8,1,1,""],set_input:[8,1,1,""],set_split_processing:[8,1,1,""]},"cil.recon.FBP.FBP":{run:[0,1,1,""]},"cil.recon.FDK":{get_filter_array:[8,1,1,""],reset:[8,1,1,""],run:[8,1,1,""],set_fft_order:[8,1,1,""],set_filter:[8,1,1,""],set_filter_inplace:[8,1,1,""],set_image_geometry:[8,1,1,""],set_input:[8,1,1,""]},"cil.utilities":{quality_measures:[9,4,0,"-"]},"cil.utilities.dataexample":{SIMULATED_CONE_BEAM_DATA:[9,0,1,"id0"],SIMULATED_PARALLEL_BEAM_DATA:[9,0,1,""],SYNCHROTRON_PARALLEL_BEAM_DATA:[9,0,1,""],TestData:[9,0,1,""]},"cil.utilities.dataexample.SIMULATED_CONE_BEAM_DATA":{get:[9,1,1,"id1"]},"cil.utilities.dataexample.SIMULATED_PARALLEL_BEAM_DATA":{get:[9,1,1,""]},"cil.utilities.dataexample.SYNCHROTRON_PARALLEL_BEAM_DATA":{get:[9,1,1,""]},"cil.utilities.dataexample.TestData":{load:[9,1,1,""],random_noise:[9,1,1,""],scikit_random_noise:[9,1,1,""]},"cil.utilities.display":{show1D:[9,0,1,""],show2D:[9,0,1,""],show_geometry:[9,0,1,""]},"cil.utilities.display.show1D":{figure:[9,2,1,""],save:[9,1,1,""]},"cil.utilities.display.show2D":{save:[9,1,1,""]},"cil.utilities.display.show_geometry":{save:[9,1,1,""]},"cil.utilities.jupyter":{islicer:[9,0,1,""],link_islicer:[9,0,1,""]},"cil.utilities.quality_measures":{mae:[9,3,1,""],mse:[9,3,1,""],psnr:[9,3,1,""]}},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","attribute","Python attribute"],"3":["py","function","Python function"],"4":["py","module","Python module"]},objtypes:{"0":"py:class","1":"py:method","2":"py:attribute","3":"py:function","4":"py:module"},terms:{"0000654846240296":5,"0005647295658866":5,"00186":5,"003":6,"005":7,"008":5,"008567":7,"010":5,"018":5,"0192":[2,5],"0193":[2,5],"020":5,"0251":5,"025129":6,"055010":6,"080716542":5,"09076934x":5,"100":[4,5,6],"1007":5,"1015":5,"1016":6,"1046":5,"1088":6,"1098":[2,5],"1102995080":5,"1109":5,"1137":5,"120":[5,7],"128":[6,7],"1321":5,"1364":[6,7],"145":5,"1533217":5,"180":7,"183":5,"1887":8,"1976":6,"1992":5,"200":[4,7],"2001":5,"2003":5,"2008":8,"2009":5,"2010":5,"2011":5,"2016":5,"2017":[5,8],"2018":[5,6],"2019":[5,6,9],"202":5,"2020":[2,5],"20200192":[2,5],"20200193":[2,5],"2021":[2,5],"2022":[0,5],"2028250":5,"2057":6,"20channel":5,"2204":5,"2419":5,"2434":5,"256":9,"2783":5,"2808":5,"2_2":[3,5],"2beta":5,"2ca":5,"2pi":6,"2wx":5,"300":4,"360":6,"360deg":7,"377":5,"379":5,"381":5,"400":5,"430":5,"48289":8,"4t_":5,"500":9,"550":4,"649":5,"664":5,"7142857142857":4,"9225":5,"9780898719277":5,"9ntwu9megq":2,"abstract":5,"boolean":[1,5,6,7,8,9],"byte":5,"case":[1,4,5,7,9],"class":[0,1,2,4,6,7,8,9],"default":[0,1,4,5,6,7,8,9],"final":5,"float":[1,4,5,6,7,8,9],"function":[1,2,3,4,8,9],"import":[4,5,6,7,8,9],"int":[0,1,4,5,6,7,8,9],"j\u00f8rgensen":2,"long":[1,5],"new":[1,2,5],"return":[0,1,4,5,6,7,8,9],"richt\u00e1rik":5,"sch\u00f6nlieb":5,"static":[1,4,5,7,9],"true":[1,4,5,6,7,8,9],"try":1,"var":9,"while":[2,5],AND:9,ARE:9,BUT:9,DLS:9,FOR:9,For:[0,1,2,4,5,6,7,9],IDEs:0,NOT:9,One:[7,9],SUCH:9,THE:9,The:[0,1,2,3,4,5,6,7,8,9],Their:5,Then:5,There:1,These:[4,7],USE:9,Use:[0,2,5,9],Used:[5,9],Uses:[5,7],Will:[1,9],With:[3,5],__array_priority__:5,__call__:[5,6],__delattr__:5,__dir__:5,__eq__:5,__format__:5,__ge__:5,__getattribute__:5,__getitem__:5,__gt__:5,__hash__:5,__iadd__:5,__idiv__:5,__imul__:5,__init__:[5,6],__init_subclass__:5,__isub__:5,__iter__:5,__itruediv__:5,__le__:5,__lt__:5,__mul__:5,__ne__:5,__neg__:5,__new__:5,__next__:5,__radd__:5,__rdiv__:5,__reduce__:5,__reduce_ex__:5,__repr__:5,__rmul__:[5,6],__rpow__:5,__rsub__:5,__rtruediv__:5,__setattr__:[1,5],__sizeof__:5,__str__:5,__subclasscheck__:5,__subclasshook__:5,__weakref__:5,_as_gen:9,_dual:[5,6],_gradient:5,_po_class:0,_pre_filt:0,_process_chunk:0,_setup_po_for_chunk:0,_slices_per_chunk:0,abc:5,abcmeta:5,abl:[3,5,6],about:[4,7],about_original_data:4,abov:[2,3,5,6,9],abs:[1,5,7],absolut:[5,7,9],absorpt:2,absorptiontransmissionconvert:7,abspath:4,acceler:[3,5,7],accept:[0,1,4,5,7],access:5,accord:1,accordingli:5,accumul:1,accur:[5,6,8],accuraci:7,achiev:[3,5,7],acquir:[3,5],acquisit:[1,2,3,4,5,6,8,9],acquisition_geometri:[0,4,6,9],acquisitiondata:[2,3,5,7,8,9],acquisitiondatasetn:7,acquisitiongeomerti:1,acquisitiongeometri:[2,3,4,5,6,7,9],across:[6,7],act:5,activ:0,actor:[3,5],actual:[0,5],ad1:4,adapt:9,add:[0,1,5,6,9],added:[5,6],addit:[0,1,5,7,8,9],adher:0,adjoint:[0,5,6],adjoint_weight:6,adjust:4,admm:5,advanc:[0,3,5],advis:9,affect:5,after:[5,7,9],ag1:4,again:5,against:9,agre:0,aim:2,algebr:[1,5],algebra:[1,5,8],algorithm:[2,3,6,7,8],alia:[1,4,5,9],align:[1,5,7],all:[0,1,4,5,6,7,8,9],alloc:[0,1,5,8],allow:[1,3,4,5,6,7,8,9],alon:9,along:[1,4,5,7,9],alpha:[3,5,6],alphabet:4,also:[0,2,3,4,5,7],alter:7,altern:[4,5],although:5,alwai:[4,5],ametova:5,amir:5,amount:[3,5,9],analyt:[2,5],ang_tol:7,angl:[1,4,6,7],angle_unit:[1,6],angular:[1,6,7],ani:[0,1,3,5,6,9],anisotrop:[5,6],anoth:5,antonin:5,aop:5,apach:0,apart:7,api:9,appear:7,append:5,appli:[1,3,4,5,6,7,8,9],applic:[0,5],apply_circular_mask:1,appropri:[0,1,5,6],approx:5,approxim:[4,6],arbitrari:5,archiv:5,area:[6,8],arg:[0,1,5,9],argmin:[3,5,6],argument:[0,1,5,9],aris:9,armijo:5,armijo_rul:5,around:5,arrai:[0,1,3,4,5,7,8,9],arrang:[3,4],artefact:[1,7],articl:[2,6],artifact:7,arxiv:5,as_arrai:1,ascent:5,aspect:9,assembl:3,assign:7,assum:[5,9],astra:[1,2,3,7,8],asymmetr:7,asymptot:5,attribut:[1,3,4,7],augment:5,author:[0,9],auto:5,automat:7,avail:5,averag:[4,7],avinash:5,avoid:[5,7],axes:[1,4,7],axi:[1,4,7,9],axis_0:4,axis_1:4,axis_2:4,axis_label:[4,9],axis_labels_1:4,axis_labels_2:4,axis_nam:7,axis_name1:7,axis_name2:7,axpbi:[1,5],azimuth:9,b_i:5,back:[3,4,6,8,9],backend:[5,7,8],background:5,backproject:[5,8],backward:[1,4,5,6],backward_project:6,bar:5,base:[0,1,2,3,7,8,9],basi:0,basic:[1,2,4,5],basicconfig:7,batch:1,bdc1:[1,5],bdc2:[1,5],bdc:1,beam:[1,2,6,7,9],becaus:[5,9],beck:5,becom:5,been:[4,5,6,7],beer:7,befor:[4,5,7,9],begin:[0,3,5,7],behav:[1,5],behaviour:[4,5,7,9],being:[2,7,9],below:[3,5,7,9],berlin:8,best:[6,7],beta:5,betck:5,better:[3,5],between:[1,3,5,6,7,8,9],beyond:[3,9],bibian:5,big:5,bin:[4,7],binari:[1,4,9],binary_oper:[1,5],binner:2,binom:[3,5],biologi:5,bit:4,blob:[4,5,9],block:[1,2],blockdatacontain:[2,3,9],blockfunct:[3,5],blockgeometri:[2,3,5,6],blockoper:[3,5,6],blur:7,bmatrix:5,bnd_cond:5,boat:9,book:5,bool:[4,5,7,9],boolian:1,border:7,both:[1,2,3,5,7],bottom:[0,1],bound:5,boundari:[5,7],box:[2,9],broadcast:6,brows:4,build:[2,3,5],burca:5,busi:[5,9],buzug:8,bypass:1,cach:5,calcul:[1,4,5,6,7,9],calculate_lipschitz:5,calculate_norm:5,call:[3,4,5,6,8],callabl:5,callback:5,camera:9,can:[0,1,2,3,4,5,6,7,8,9],cannot:9,cap:0,capabl:6,care:9,carola:5,cast:1,caus:[7,9],ccpi:[2,4],ccpi_regularis:6,cdot:5,ceil:[0,5],center:[3,5,7,9],center_i:1,center_x:1,center_z:1,centered_at:5,centr:[1,2,9],centreofrotationcorrector:7,cern:6,certain:5,cgl:[2,3],chambol:5,chan:5,chang:[0,4,5,6,9],channel:[1,2,5,6,7,9],channel_label:1,channelwiseoper:5,chapter:5,characterist:3,check:[1,4,5],check_converg:5,check_input:[1,6],child:5,choic:5,choos:5,chosen:5,chunk:[0,4,8],cil:[1,3,4,5,7,8,9],cil_log_level:7,circ:5,circular:[1,3,6,8],clair:5,classmethod:9,clear:5,clearli:0,clip:9,clone:[0,1,5],close:[0,5],cmake:0,cmap:9,code:[0,1,2,4,5,6,9],coincid:7,col:5,collect:[2,5],collim:3,color:9,colorbar:9,colormap:9,colour:9,column:[1,4,5,9],column_wise_compat:5,com:[0,2,5,6,9],comment:0,common:3,commonli:1,commut:[1,5],compar:9,comparison:[5,9],compat:[1,4,5,6,8],complex128:1,complex:[1,5],compli:0,complianc:0,compon:[5,7,8],compos:5,composed_with_adjoint:5,composit:2,compositionoper:5,compress:4,compressed_data:4,compris:[3,5],comput:[5,6,7,8],computation:5,computer:5,concret:5,conda:0,conda_prefix:0,condit:[0,5,9],cone2d:2,cone3d:2,cone:[1,2,6,7,9],config:[0,4],configpars:4,configur:[0,2,4,5,6,7,8],conjug:[1,5,6],consecut:5,consequenti:9,consid:[2,3,5,9],consist:[1,5],constant:[5,6,7],constant_valu:7,constantfunct:5,constrain:5,constraint:[5,6],construct:[2,4,5,8],constructor:5,contain:[0,2,3,4,5,7,8,9],content:[4,5],continu:5,contract:9,contribut:[2,5,7],contributor:9,control:[0,5,8],convent:[2,3,5],converg:5,convert:[2,9],convex:[5,6],convex_conjug:[5,6],coordin:9,copi:[0,1,5],copyright:[0,9],core:[0,2,3,5],correct:[1,5,7,8],corrector:2,correl:[5,7],correlation_spac:5,correspond:[4,5,7,9],corrupt:9,cosin:8,costli:5,could:[1,5],counter_offset:4,cours:5,courtesi:[4,5],cpu:[5,6],creat:[0,1,3,4,5,7,8,9],create_cone2d:[1,6],create_cone3d:[1,6],create_local_env_for_cil_development_test:0,create_parallel2d:1,create_parallel3d:1,creation:5,creator:[2,6],criteria:7,criterion:[5,6],crop:[4,7],cross:7,cubic:7,cuda:6,current:[0,1,5],custom:[5,8],custom_list:5,customis:[6,8],cut:8,cutoff:8,damag:9,damp:7,dark:7,dark_field:7,data:[2,4,5,6,8],data_bin:7,data_centr:7,data_channel0:9,data_channel1:9,data_dir:9,data_pad:7,data_rang:9,data_sl:7,data_typ:4,datacontain:[2,4,5,6,7,9],datacontainer0:1,datacontainer1:1,dataexampl:[8,9],dataord:2,dataprocessor:2,dataset:[0,1,2,3,4,6,7,8],date:2,davi:8,db10:7,db1:7,db35:7,dc1:9,dc2:9,dcmake_install_prefix:0,dealloc:5,deblur:5,debug:7,decnum:7,decompos:5,decomposit:7,deep:5,deep_copi:1,def:[0,5],defin:[1,2,3,4,5,6,7,9],definit:[0,3,5,6],degre:[1,6,7,9],delattr:5,delplanck:5,delta:5,delta_dark:7,delta_flat:7,demo:[3,5],denois:5,denot:5,dens:5,depend:[0,3,4,5,7],deprec:[1,5,7],depth:4,deriv:[5,9],descent:5,describ:[1,3,4,5,6],descript:[3,6,7,8],design:[3,5],desir:[5,7],desiri:7,dest_sel:4,destin:4,detail:[1,2,7],detect:7,detector:[1,3,4,7,8],detector_direction_i:1,detector_direction_x:1,detector_i:1,detector_posit:1,detector_x:1,determin:[1,6],determinist:5,devaiat:7,devel:2,develop:[2,3,5],deviat:[7,9],devic:6,diag:5,diagon:5,diagonaloper:5,diamond:2,dict:[4,5,7],dictionari:[1,4,7],differ:[2,3,5,6,7,9],differenti:5,digaonaloper:5,dimens:[0,1,4,5,6,7,9],dimension:[5,9],dimension_label:[1,5,7],dir:5,direct:[1,4,5,6,9],direct_method:6,direct_onli:5,direction0:9,direction1:9,directli:[1,4,5,7],directori:[0,4,9],discard:5,disclaim:9,discord:2,disk:4,displai:[2,3],distanc:[1,3,5,9],distribut:[0,5,9],divid:[0,1,5,7],divis:[1,5,7],doc:[0,4,5,7],docs_environ:0,docstr:2,document:[6,9],doe:[0,1,5,6,7,9],doi:[2,5,7],domain:[5,8,9],domain_geometri:5,domain_init:5,domin:5,done:[1,5],dot:[1,5],dot_test:5,doubl:7,down:9,download:5,downsampl:7,draw:5,drawn:5,dset_path:4,dtype:[1,4,5,6,9],dual:5,dualiti:5,due:[5,7],dure:[0,1,5],dynam:[2,5,9],each:[0,1,4,5,7,9],earli:5,earlier:6,eas:5,easiest:0,easili:5,edg:[1,7],edoardo:5,edu:5,effect:5,effici:5,effort:7,ehrhardt:5,eigenvalu:5,eigenvector:5,either:[0,3,5,7,9],element:[1,4,5,7],elev:9,elif:0,els:[0,6],email:0,embed:0,emiss:5,emit:3,emploi:2,empti:1,enabl:[2,7],enclos:0,end:[0,3,4,5,7],end_valu:7,endors:9,enforc:[2,5],engin:[1,5],enough:2,ensur:7,entri:[4,5],env:0,environ:0,environment_nam:0,epsilon:5,eqnarrai:5,equal:[1,5,6,9],equival:[3,4,5],erfcinv:7,erni:5,error:[1,7,9],essenti:0,esser:5,estim:7,estimate_normalised_error:7,eta:[5,6],euclid:5,euclidean:[1,5],eval:4,evalu:[5,6,9],evangelo:5,evelina:5,even:[1,5,9],event:[5,9],everi:[5,7,9],everyth:4,evolv:0,exact:[4,5],exactli:5,exampl:[1,4,5,6,7,8,9],except:0,excess:0,exclus:[7,9],execut:5,exemplari:9,exist:5,exp:1,expect:[1,5,7],expens:5,explicit:5,explicitli:9,expon:7,expos:9,express:[0,1,3,5,9],ext:5,extend:[5,7,9],extens:4,extract:[4,9],extrapol:7,f_1:5,f_i:5,f_n:5,fact:[1,4,5],factor:[3,4,7,9],fail:[1,5],fals:[0,1,4,5,7,8,9],fan:2,fanbeam:2,fardel:5,fashion:5,fast:[5,6],faster:5,favour:0,fbp:[0,1,2,3,7],fdk:[2,3,6,7],fdk_cuda:6,feldkamp:8,fft:8,fft_order:8,fgp:[5,6],fgp_dtv:6,fgp_tv:6,fidel:[3,5],field:[0,3,7],figsiz:9,figur:9,file:[0,2,3,5],file_nam:4,filenam:[4,9],fill:[0,1,4,5,6,7,8],filter:[3,6,7,8],filter_inplac:0,find:[0,5,7],fine:7,finit:5,finitedifferenceoper:5,first:[3,4,5,6,7,9],firstli:[2,5],fista:2,fit:[1,5,7,9],fix:5,fix_rang:9,flag:[5,7],flat:7,flat_field:7,flatten:[5,7],flip:4,fliplr:4,float32:[1,4,5,6],float64:1,fname:4,folder:[0,4],follow:[0,1,4,5,7,8,9],fontsiz:9,forc:1,fork:7,form:[3,5,8,9],format:[0,3],format_spec:5,formatt:5,formul:[2,5],formula:5,forth:5,forward:[5,6],forward_project:6,found:[2,5,9],fourier:[7,8],frac:[3,5,6],frame:1,framework:[2,4],frequenc:8,frequency_cutoff:8,from:[1,2,3,4,5,6,8],from_funct:5,fromfil:4,full:[0,3,4,8],fulli:[0,4],fundament:5,further:[0,2,5,8],futher:[6,8],futur:5,gamma:[5,6],gamma_fconj:5,gamma_g:5,gantri:3,gap:[5,7],gaussian:9,gemma:5,gener:[0,1,2,4,5,6,9],generalis:[5,6],genericlli:5,geometr:6,geometri:[0,2,4,5,6,7],geometry_bin:7,geometry_sl:7,geq1:5,geq2:5,get:[4,5,8,9],get_as_list:5,get_data_axes_ord:1,get_data_offset:4,get_data_scal:4,get_dataset_metadata:4,get_dimension_axi:1,get_filter_arrai:8,get_geometri:4,get_imagedata:6,get_imagegeometri:[0,1,6],get_input:1,get_item:[1,5],get_last_loss:5,get_last_object:5,get_metadata:4,get_norms_as_list:5,get_ouput:[6,7],get_output:[1,5,6,7],get_output_shap:5,get_roi:4,get_sampl:5,get_slic:[1,9],getattr:5,getlogg:7,git:[0,2],github:[0,2,5,6,9],give:[1,3,5,7],given:5,global:[5,9],gm_domain:5,gm_rang:5,goal:3,good:9,govern:0,gpu:6,gradient:[5,6],gradientoper:2,grai:9,greater:[1,5,8],greatli:3,grid:9,ground:9,ground_truth:9,group:[4,5],guarante:5,guess:5,guid:[2,5],guidelin:2,guler:5,haar:7,hadamard:5,half:[5,7],ham:8,handl:[1,2,3,8],hann:8,happen:1,hard:7,hardwar:8,has:[0,1,3,4,5,6,7],hash:5,have:[0,1,3,4,5,7,8],hdf5:2,hdf5_util:4,hdl:8,height:9,held:1,help:[0,5,6],helper:5,henc:5,here:[0,5],hereof:5,herman:5,herman_mey:5,high:[2,5],higher:[8,9],highli:[5,8],hold:[1,5,7],home:[1,4,5,6,7,8,9],horizont:[1,4,7],horizontal_i:[1,5,7,9],horizontal_x:[1,5,7,9],hotdog:9,how:5,howev:[4,5,9],html:[0,4,5,7,9],http:[0,2,4,5,6,7,8,9],hybrid:5,i_0:4,ideal:7,ident:5,identifi:[0,7],identityoper:5,ieee:5,ignor:[5,6,7],illustr:3,imag:[0,2,3,4,5,6,7,8],image_geometri:[0,4,6,8,9],image_sharp:7,imagedata:[0,2,3,5,6,7,8,9],imagegeometri:[2,3,4,5,6,7,8,9],implement:[2,5],impli:[0,9],impos:[3,5],imraj:5,in_plac:1,inch:9,incid:[3,7],incident:9,includ:[1,5,7,9],inclus:7,incorpar:6,incorrect:7,increas:[5,7,8],increment:5,independ:[1,4,5],index:[1,4,5,7],indic:[1,2,4,7,8],indicatorbox:5,indirect:9,individu:5,industri:5,inequ:5,inexact:5,inf:[5,7],infin:5,infinit:5,influenc:3,info:[4,5,6,7],inform:[0,1,2,4,5,6,7,9],infrastructur:5,infti:5,ingredi:5,inherit:[1,5],ini:4,inifnam:4,initi:[4,5,6,7,9],initial_angl:1,initial_bin:7,initialis:[1,4,5,7],inlin:5,inner:[1,5],innov:0,inpaintingand:5,inplac:8,input:[0,1,2,5,6,7,8,9],insid:[1,5],instal:[0,5,6],instanc:[0,1,4,5],instanti:[1,5],instead:[0,5,7,9],instruct:0,instrument:[3,7],integ:[5,6,7,9],intend:5,intens:7,interact:[2,5],interest:[1,7],intermedi:9,intern:[1,4],interpoalt:7,interpol:[6,7],interpret:[5,7,8],interrupt:9,intersect:6,interv:[5,9],introduc:5,introduct:2,introductori:5,intuit:9,invers:5,invok:5,iop:6,iopscienc:6,ipywidget:9,irrespect:5,is_compat:[1,5],is_fortran:4,is_linear:5,is_provably_converg:5,is_virtu:4,islic:2,isotrop:[5,6],issubclass:5,ista:2,iter:[3,5,6,9],iteration_numb:5,its:[0,5,9],itself:[0,5],jakob:5,januari:5,join:2,journal:5,json:4,julian:5,jun:5,jupyt:9,just:1,k_i:5,kak:5,keep:[5,9],kei:[0,1,4,7],kereta:5,keyward:5,keyword:[1,5],kind:0,kinemat:7,kingdom:0,kl_div:5,kmax:5,knowledg:[3,5],known:5,kress:8,kullback:5,kullbackleibl:2,kwarg:[0,1,5,6,7,9],l11:2,l1norm:5,l21:2,l2norm_:5,l2normsquar:5,lab:3,label:[1,4,5,9],ladmm:2,lagrangian:5,lak:[6,8],lambert:7,langl:[5,6],languag:[0,6],larg:[1,5],larger:5,largest:5,last:[5,7],law:[0,7],layout:4,lead:[4,7],least:[1,2,3],leastsquar:5,lectur:5,left:[1,4,5,9],leftrightarrow:[5,6],legend:9,leibler:5,len:5,length:[1,5,8,9],leq1:5,leq:5,ler:5,less:5,let:5,level:[2,4,5,7,9],liabil:9,liabl:9,librari:[0,1,2,3,5],licens:0,light:2,like:[3,4,5],limit:[0,5,6,9],line:[4,9],line_colour:9,line_styl:9,linear:[5,7],linear_ramp:7,linearoper:5,linestyl:9,link:[0,2,5],link_islic:2,linspac:6,lionheart:5,lipschitz:5,lipshitz:5,list:[1,2,4,5,8,9],lmax:5,load:[4,9],load_data:4,load_project:4,loader:3,local:[2,9],local_var:9,localvar:9,locat:[1,7],log0:5,log10:5,log:[0,1,5,7,8],log_fil:5,logan:8,logarithm:7,look:4,loop:[4,5,7],loss:[5,7,9],lossi:4,low:5,low_val:9,lower:[5,6,7,9],lvert:5,machin:3,mad:7,made:5,mae:9,magnif:3,magnitud:5,mai:[0,1,2,5,7,8,9],mail:2,main:[2,3,5],mainli:3,maintain:9,make:[0,3,5],malcolm:5,manchest:0,mani:5,manipul:[2,3],manual:[4,9],map:[5,9],marc:5,markiewicz:5,martin:5,mask:[1,2,5,9],masker:7,maskgener:7,maskoper:5,master:[5,9],match:[1,5,6],materi:9,math:[1,5],mathbb:5,mathcal:5,mathemat:[2,5],mathrm:[3,5,6],matplotlib:9,matric:5,matrix:[3,5,9],matrixoper:5,matthia:5,max:[1,5,6,9],max_:5,max_iter:[5,6],max_iteration_stop_criterion:5,max_quantil:7,max_val:7,maximis:7,maximum:[1,5,6,9],mayer:5,mbox:[5,6],mean:[1,5,7,9],meant:0,measur:[3,5,7,8],med:5,media:5,median:7,medicin:5,medium:5,member:0,memori:[1,5,8],merchant:9,messag:7,met:[5,9],meta:1,metadata:[2,4],method:[1,2,3,4,5,6,7,8],metric:2,meyer:5,mic:5,midlin:7,might:5,min:[1,5,9],min_:5,min_intens:7,min_quantil:7,min_val:7,min_x:5,mingqiang:5,minim:[4,5],minimis:5,minimum:[1,5,6,9],minmax:9,mirror:7,misalign:7,miss:7,mix:2,mixedl11norm:5,mixedl21norm:5,mkdir:0,mo25:5,mo25_ch6:5,mode:[1,4,5,7,9],model:6,modern:8,modif:9,modifi:[1,8],modul:[3,5,6,7,8],modulu:5,moment:5,monitor:5,mop:5,mop_norm:5,more:[1,3,4,5,7,8,9],moreau:5,most:[1,5],mri:5,mse:9,multi:[2,4,5,7,9],multichannel:[2,5,6],multicontrast:5,multipl:[0,1,4,5,6,7,9],multiplc:5,multipli:[1,5,7],multiprocess:5,must:[0,1,4,5,7,8,9],mx1:5,my_data:4,my_sampling_funct:5,nabla:5,name:[0,1,4,5,7,9],nan:[5,7],nbyte:4,ndarrai:[1,4,5,7,8,9],ndim:[1,4,6],nearest:7,necessari:[0,1,4],need:[0,4,5,7,9],neg:[4,5,6,7,8,9],neglig:9,neither:9,nest:[1,5,9],nesterov:5,net:8,neumann:5,neutron:7,never:5,new_ord:1,newlin:5,next:[1,5,7,9],nexu:[2,3],nexusdataread:4,nexusdatawrit:4,nice:5,nikon:[2,3],nikondataread:4,nois:[5,9],noisy_data:5,non:[0,2,5,6],none:[0,1,4,5,6,7,8,9],nonneg:6,nonzero:9,nor:9,norm2sq:5,norm:[1,2,6],normal:[1,5],normalis:[2,4,5],notat:5,note:[4,5,6,7,8,9],notebook:3,noth:5,notic:[4,5,9],notimpl:5,notimplementederror:5,nov:5,now:[3,5,6],nss:5,num_batch:1,num_channel:1,num_chunk:0,num_col:9,num_indic:5,num_model:6,num_pixel:1,num_pixels_h:1,num_pixels_v:1,num_sampl:5,num_thread:[1,5],numba:5,number:[1,2,3,4,5,6,7,9],number_of_dimens:1,numer:1,numpi:[1,4,5,7,8,9],numpy_vers:0,numpydoc:0,nx1:5,nxs:4,object:[1,2,3,4,5,7],objective_funct:5,obtain:[0,4],occur:9,off:[5,8],offset:[0,1,4,6,7,8],often:0,omega:5,onc:5,one:[1,2,3,5,7,9],ones:[4,5],onli:[0,1,4,5,6,7,8,9],onto:[3,5,7],op0:5,op1:5,op2:5,oper:[0,1,2,3,7,9],operator1:5,operator2:5,operatorcompositionfunct:5,optim:[2,5],optimis:[2,3,6,8],option:[0,1,4,5,6,7,8,9],orbit:8,order:[1,4,5,8,9],ordin:4,org:[0,2,4,5,6,7,9],orient:[0,2,5],origin:[0,1,4,5,9],original_data:4,osman:5,other:[1,2,5,7,9],otherwis:[1,5,9],otim:5,our:[1,2,3,5],out:[0,1,4,5,6,7,8,9],outcom:5,outer:9,outlier:7,output:[0,1,2,4,5,7,8,9],outsid:[1,7,8,9],over:[1,5,7],overrid:5,overridden:5,overset:5,own:0,owner:0,p_i:5,pack:4,packag:[0,2,5],pad:7,pad_valu:7,pad_width:7,padder:2,page:[2,4],pair:[5,9],panel:[0,1,7],paper:2,papoutselli:[2,5],parallel2d:2,parallel3d:2,parallel:[1,2,6,7,9],param:[1,5,9],paramet:[0,1,3,4,5,6,7,8,9],parent:[1,5],pars:4,part:[2,5,6],partial_:5,partial_i:5,partial_x:5,particular:[5,9],partit:1,pasca:5,pass:[0,1,5,6,7,8,9],path:[4,9],pattern:5,pawel:5,pbar:0,pdf:5,pdf_1:5,pdhg:2,pdhg_vs_spdhg:5,peak:9,penalis:5,pepper:9,per:[5,9],percent:9,percentag:1,perform:[1,5,7],period:5,permiss:[0,9],permit:9,permut:1,pet:5,peter:5,phantom:6,phil:2,philip:5,philosoph:5,photon:[7,8],physic:5,pickl:5,pixel:[1,3,4,6,7,8,9],pixel_num_v:0,pixel_s:1,pixel_size_h:1,pixel_size_v:1,pixelwis:9,pjm:5,place:[1,3,8],placehold:[1,5],plantagi:8,play_interv:9,pleas:[0,1,2,3,6,7],plot:9,plugin:[2,3,7],png:9,pock:5,point:[1,3,5,9],pointer:1,poisson:[5,9],poissonloglikelihoodwithlinearmodelformean:5,poorli:9,popul:7,posit:[0,1,5,6,7,8,9],positron:5,possibl:[1,5,9],power:[1,2,5,8,9],powermethod:5,practic:[5,7],pre:[2,3,5,8],precalcul:5,preced:[1,5],precondit:5,predefin:8,prefix:4,prepar:8,prepend:5,present:[1,5,9],preserv:9,preval:9,previou:[5,6,7],primal:5,prime:5,principl:5,print:[0,4,5,7],print_interv:5,print_metadata:4,prior:[3,5,9],prob:5,prob_weight:5,probabl:5,problem:[2,3,5,6,9],problem_:[5,6],process:[0,1,3,5,6,7,8],processor:[1,2,3,6],procur:9,produc:[5,9],product:[1,5,9],profil:7,profit:9,progress:7,proj:5,proj_filt:0,project:[2,3,4,5,7,8],projecteuclid:5,projection_index:7,projectionoper:6,projector:[3,6,8],promot:9,prompt:5,proper:9,properti:[1,2,5],proport:9,protect:0,protocol:5,prototyp:[2,5],provabl:5,provid:[0,1,2,3,4,5,6,7,8,9],prox:[5,6],prox_:5,proxim:[5,6],proximal_conjug:5,pseudo:9,psnr:9,purpos:[5,9],pydata:0,pyplot:9,python2:[1,5],python3:0,python:[2,5],python_vers:0,pywt:7,qeq0:6,quad:5,quadrat:[5,7],qualiti:[2,3],quality_measur:9,quantil:7,quarter:7,question:5,r_1:3,r_2:3,rad:8,radia:2,radian:1,radiat:3,radiu:1,rai:[1,3,6],rainbow:9,rais:[0,1,5],ral:5,ram:[6,8],ramp:7,random:[1,5,9],random_int:1,random_nois:9,random_permut:1,random_with_replac:5,random_without_replac:5,randomli:5,randomsampl:5,randomwithoutreplac:5,rang:[0,5,6,7,8,9],range_geometri:5,range_init:5,rangl:[5,6],rapid:[2,5],rare:9,rasch:5,rate:5,rather:[5,7],ratio:[6,9],ration:9,raw:2,rawfilewrit:4,ray_direct:1,reach:[3,5,6],read:[2,7],read_arrai:4,read_as_acquisitiondata:4,read_as_imagedata:4,read_as_origin:4,read_data:4,read_dtyp:4,read_resc:4,read_scale_offset:4,read_shap:4,read_to:4,reader:[2,3],real:[1,2,3,5],recal:5,receiv:5,recognis:[3,5],recommend:[5,7,8],recon:[0,2,3],reconstruct:[0,1,2,3,4,5,6,7],reconstructor:[0,2,3,6],record:5,recov:5,rect:8,recurs:[0,4],redistribut:9,reduc:[1,3,5,8,9],reduct:1,refer:[0,1,2,3,4,6,7,8,9],referenc:[0,1,6,7,8],reflect:[5,7],region:7,regular:5,regularis:[2,3,5],rel:[5,6,7],relat:[1,5],relax:5,relev:4,remain:7,remaind:0,remov:2,reorder:1,repeat:5,replac:[0,5,9],repo:0,repositori:[2,3],repositoryy:5,repr:5,repres:[1,4,5,7,9],reproduc:[2,9],request:[0,1,4,7,8,9],requir:[0,1,5,6,7,8],rescal:[4,6],rescaled_data:4,research:0,reserv:9,reset:8,reshap:[4,5],resid:4,resolut:[1,7],resolution_chart:9,resort:1,respect:[1,3,4,5,7,9],rest:5,restart:5,restor:5,resul:[1,5],result:[1,2,3,4,5,6,7,8,9],ret:0,retain:9,return_al:5,revers:[1,5],rewritten:5,rgensen:5,right:[1,4,5,9],rightarrow:5,ring:2,ringremov:7,rof:5,roi:[4,7],roll:7,root:[4,5],rosenbrock:5,rotat:[1,2,3,6],rotation_axis_direct:1,rotation_axis_posit:1,round:9,routin:[5,8],row:[0,1,3,4,5],row_wise_compat:5,royal:5,royalsocietypublish:5,rsta:[2,5],rtsd:5,rule:5,run:[0,1,5,6,7,8],rvert_:5,ryan:5,s10107:5,s10589:5,s10851:5,saddl:5,sai:5,salt:9,salt_vs_pepp:9,same:[0,1,4,5,6,7,9],sampl:[3,5],sampler:2,samplerrandom:5,sampling_typ:5,sapyb:[1,5],satisfi:5,save:[3,4,5,9],savefig:9,scalar:[1,5,6,9],scale:[2,4,5,7,9],scaledfunct:5,scaledoper:5,scaleoffset:4,scan:[3,7],scatter:[3,5],schemat:9,schonlieb:5,scienc:5,scikit:9,scikit_random_nois:9,scipi:5,screen:5,script:0,search:[7,9],search_rang:7,sec:5,second:[3,5,7,9],secondli:2,section:[4,5],see:[0,1,5,6,7,9],seed:[1,5,9],select:[3,4,5,8,9],selector:9,self:[0,1,5,6,8],sensibl:4,separ:[0,5,9],sequenc:5,sequenti:[1,5,9],serial:5,serv:0,server:0,servic:9,set:[0,1,2,4,5,6,7,8],set_:0,set_angl:[1,6],set_channel:[1,6],set_fft_ord:8,set_filt:8,set_filter_inplac:8,set_gamma_fconj:5,set_gamma_g:5,set_image_geometri:8,set_input:[1,6,7,8],set_label:1,set_norm:5,set_num_thread:5,set_panel:[1,6],set_relaxation_paramet:5,set_split_process:[0,8],set_step_s:5,set_suppress_evalu:5,set_up:[4,5],setattr:5,setlevel:7,setter:2,sever:[5,7],sgn:5,shall:9,shape:[0,1,4,5,9],share:5,sharp:7,shepp:8,shift:5,shinkoper:5,shortcut:4,shorter:5,should:[0,1,4,5,6,7,8,9],should_stop:5,show1d:2,show2d:2,show:9,show_geometri:2,shown:9,shrinkag:5,siam:5,siddon:6,side:7,sigma:[5,7],sigma_1:5,sigma_:5,sigma_iw_i:5,sigma_iw_ix_i:5,sign:[1,5,9],signal:9,signatur:[5,6],signific:3,simpl:[0,2,6,8],simple_phantom_2d:9,simpli:3,simplifi:5,simul:[2,3,5],simulated_cone_beam_data:[8,9],simulated_parallel_beam_data:[8,9],simulated_sphere_volum:9,simultan:5,singh:5,singl:[1,3,4,5,7,8,9],singular:5,sinogram:1,sirf:5,sirt:2,size:[0,1,4,5,6,7,9],skimag:9,skip:4,slanei:5,slice:[1,2,3,4,7,8],slice_index:7,slice_list:9,slice_metadata:4,slice_numb:9,slicer:2,slices_per_chunk:[0,8],slider:9,slight:7,small:[0,5,6,9],smooth:[2,6],smoothmixedl21norm:5,soc:2,societi:5,softwar:[0,5,9],softx:6,sol:[5,6],solut:[3,5,6],solv:[2,3,5,9],some:[5,7],some_data:1,someth:4,soon:5,sop:5,sort:1,sourc:[1,2,3,4,5,6,7,8],source_posit:1,source_sel:4,space:[5,6,7],spacechannel:5,spars:5,sparsefinitedifferenceoper:5,spatial:[1,5,7],spdhg:2,special:[5,7,9],special_valu:7,specif:[0,4,5,9],specifi:[1,4,5,7,9],speckl:9,spectral:[2,3,5,7],sphere:9,sphinx:0,split:[5,8],springer:[5,8],sqrt:[1,5,6,7],squar:[1,2,3,9],squared_norm:1,stabl:[4,7,9],stack:[4,7],stackexchang:5,stage:3,stagger:[1,5],standard:[1,3,4,7,8,9],stanford:5,start:[0,4,5,7,9],statement:7,stationari:3,statist:8,statu:5,std:7,step:[0,3,4,5,6,7],step_siz:5,stephen:5,sting:1,stochast:5,stop:[5,6,7],store:[0,1,5],store_output:1,str:[1,4,5,6,7,9],strategi:5,strength:7,strict:9,strictli:5,stride:[1,5],string:[1,4,5,6,7,8,9],stripe:7,strong_convexity_const:[5,6],strongli:[5,6],structur:5,style:[0,7],sub:6,subclass:[1,4,5],subject:5,submodul:0,subplot:9,subproblem:5,subsequ:5,subset:5,substitut:9,subtract:[1,5],suffici:3,suit:3,suitabl:[0,1,7],sum:[1,5],sum_:5,sumfunct:5,sumoper:5,sumscalarfunct:5,sup:[5,6],support:[5,7],suppress:[0,1,5,6,7,8,9],suppress_evalu:5,sure:[0,5],swap:5,symmetr:7,symmetris:5,symmetrisedgradientoper:5,sync:5,synchrotron:3,synchrotron_parallel_beam_data:9,syntax:0,system:[1,2,3,5],system_descript:0,tabul:5,take:[1,4,5,7,8,9],target:[0,7],task:6,tau:[5,6],tau_:5,team:9,teboul:5,techniqu:[3,5],tempor:[5,6],temporari:8,temporarili:9,term:[3,5,6],test:[0,2,3,5],testdata:9,text:[0,4,5],textbf:5,tgv:6,than:[4,5,6,7,8],thank:5,thei:[0,1,5,7,9],them:[4,5,9],theme:0,theoret:7,theori:9,therefor:[1,5,6],theta:5,theta_:5,thi:[0,1,3,4,5,6,7,8,9],thieleman:5,thoma:5,those:1,thread:[1,5],three:[3,5],threshold:[5,7],threshold_factor:7,threshold_valu:7,through:[4,9],thu:5,tiff:[2,9],tiffstackread:4,tiffwrit:4,tigr:[1,2,3,7,8],tikhonov:[3,5],tild:[3,5],time:[0,3,5,8,9],tip:5,titl:9,tmp_nexu:4,tnv:6,tofil:4,togeth:[4,7],toggl:5,toler:[5,6,7],tomograph:[1,2,5],tomographi:[2,5,8],tomographicimag:[0,2],tomophantom:[2,3],toni:5,too:8,tool:3,toolbox:[6,8],toolkit:[3,6],top:[1,9],tort:9,tot_slic:0,total:[0,2],totalvari:[5,6],tqdm:0,trade:5,trajectori:[3,6],tran:[2,5],transact:5,transform:8,translat:5,translatefunct:5,transmiss:[2,3],transmissionabsorptionconvert:7,transpos:[4,5],treat:5,trigger:5,trivial:2,truedivis:5,truth:9,tune:[7,8],tupl:[1,4,5,7,9],turner:5,two:[1,5,7,8,9],twx:5,txm:4,txrm:4,type:[0,1,3,4,5,6,7,8,9],typic:[3,5],uint16:4,uint8:4,unari:[1,5],unary_oper:[1,5],unbin:7,unchang:5,uncompress:4,under:[0,5],underbrac:5,underscor:0,underset:[3,5,6],understand:0,unexpect:9,uniform:[1,5,9],uniformli:5,uniqu:[1,9],unit16:4,unit:[0,1,5],univers:0,unknown:[3,5],unless:[0,7],unmask:7,unpack:4,unreli:7,unsign:[4,9],until:5,updat:[0,5,7,8],update_object:5,update_objective_interv:5,update_step_s:5,upper:[5,7,9],url:5,usag:[5,6,7],use:[0,1,2,3,5,6,7,8,9],used:[0,1,2,3,4,5,6,7,8,9],useful:[1,2,5],user:[0,1,3,5,7,8],uses:[5,6,7,9],using:[0,1,3,4,5,6,7,8,9],util:[2,3,8],v_1:5,v_2:5,vai:5,valid:9,valu:[1,4,5,6,7,8,9],valueerror:[0,5],vararg:5,variabl:5,varianc:9,variat:2,variou:9,vaue:7,vector:[1,5,7],vectordata:2,verbos:[0,5,8],verbose_output:5,veri:5,versatil:[2,5],version:[0,5,6],vertic:[1,4,7],via:5,view:[0,1,3,9],view_dist:9,vision:5,visualis:2,vmatrix:[3,5],volum:[0,1,2,4,5,6,7,8],voxel:[5,6],voxel_num_i:1,voxel_num_x:1,voxel_num_z:1,voxel_size_i:1,voxel_size_x:[1,6],voxel_size_z:1,w_i:5,wai:[0,1,5,9],want:[1,5],warm:5,warm_start:5,warn:7,warr:5,warranti:[0,4,9],wavelet:7,weak:5,web:5,websit:2,weight:[5,6],weightedl1norm:5,weightedl2normsquar:5,well:[2,3,5],were:7,wether:5,what:[0,4,5],when:[0,3,4,5,6,9],where:[1,3,5,6,7,9],wherea:5,whether:[1,4,5,6,9],which:[1,3,4,5,7,9],whichev:[1,8],white:4,white_level:7,whole:1,widget:9,width:[7,8,9],william:5,window:7,wise:[1,5],wish:5,wither:5,within:0,without:[0,4,5,7,9],wname:7,won:5,word:0,work:[0,1,3,4,5],would:[4,5],wrap:[5,7],wright:5,write:[0,2,3,5],writer:[2,3],written:[3,4,5,6,9],wrt:5,www:0,x_0:5,x_1:5,x_axis_label:9,x_i:5,x_k:5,x_n:5,xcorrel:7,xiaoqun:5,xin:5,xshape:5,xtekct:4,y_axis_label:9,year:0,yet:5,yield:[5,8],yml:0,you:[0,2,4,5,7],your:[0,5,6,7,8],yurii:5,yyyi:0,zeiss:2,zeissdataread:4,zeljko:5,zero:[1,5,7],zerofunct:5,zerooper:5,zhang:5,zhu:5},titles:["Developers\u2019 Guide","Framework","Welcome to CIL\u2019s documentation!","Introduction","Read/ write AcquisitionData and ImageData","Optimisation framework","CIL Plugins","Processors","Recon","Utilities"],titleterms:{"class":5,"function":[5,6],"new":0,Use:1,absorpt:7,acquisitiondata:[1,4],acquisitiongeometri:1,algorithm:5,analyt:8,astra:6,base:5,beam:[3,8],binner:7,block:[3,5],blockdatacontain:[1,5],blockgeometri:1,box:5,build:0,ccpi:6,centr:7,cgl:5,channel:3,cil:[0,2,6],cite:2,composit:5,cone2d:1,cone3d:1,cone:[3,8],configur:1,contact:2,contain:1,content:2,contribut:0,convent:0,convert:7,corrector:7,creator:0,data:[1,3,7,9],datacontain:1,dataord:1,dataprocessor:1,dataset:9,demo:2,develop:0,diamond:9,displai:9,docstr:0,document:[0,2],exampl:[0,2],fan:3,fanbeam:1,fbp:[6,8],fdk:8,file:4,fista:5,framework:[1,3,5],from:[0,7,9],gener:7,geometri:[1,3,8,9],gradientoper:5,guid:0,guidelin:0,hdf5:4,imag:9,imagedata:[1,4],imagegeometri:1,index:[2,9],indic:5,interact:9,introduct:3,islic:9,ista:5,kullbackleibl:5,l11:5,l21:5,ladmm:5,least:5,light:9,link:9,link_islic:9,local:0,manipul:7,mask:7,method:0,metric:9,mix:5,multi:3,nexu:4,nikon:4,norm:5,normalis:7,object:[0,9],oper:[5,6],optimis:5,other:[0,6],padder:7,parallel2d:1,parallel3d:1,parallel:[3,8],pdhg:5,plugin:6,pre:7,processor:7,project:6,properti:0,qualiti:9,raw:4,read:4,reader:4,recon:8,reconstruct:8,reconstructor:8,refer:5,regularis:6,remov:7,render:0,ring:7,rotat:7,sampler:5,set:9,setter:0,show1d:9,show2d:9,show_geometri:9,simpl:5,simul:9,sirt:5,slice:9,slicer:7,smooth:5,softwar:2,sourc:[0,9],spdhg:5,squar:5,system:9,test:9,thi:2,tiff:4,tigr:6,todo:5,tomophantom:6,total:[5,6],transmiss:7,trivial:5,util:[4,5,9],variat:[5,6],vectordata:1,visualis:9,volum:9,welcom:2,work:2,write:4,writer:4,zeiss:4}}) \ No newline at end of file +Search.setIndex({docnames:["developer_guide","framework","index","introduction","io","optimisation","plugins","processors","recon","utilities"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,"sphinx.ext.viewcode":1,"sphinxcontrib.bibtex":9,sphinx:56},filenames:["developer_guide.rst","framework.rst","index.rst","introduction.rst","io.rst","optimisation.rst","plugins.rst","processors.rst","recon.rst","utilities.rst"],objects:{"cil.framework":[[1,0,1,"","AcquisitionData"],[1,0,1,"","AcquisitionGeometry"],[5,0,1,"","BlockDataContainer"],[1,0,1,"","BlockGeometry"],[1,0,1,"","DataContainer"],[1,0,1,"","DataOrder"],[1,0,1,"","DataProcessor"],[1,0,1,"","ImageData"],[1,0,1,"","ImageGeometry"],[1,0,1,"","Processor"],[1,0,1,"","VectorData"]],"cil.framework.AcquisitionData":[[1,1,1,"","as_array"],[1,1,1,"","clone"],[1,1,1,"","copy"],[1,1,1,"","dot"],[1,2,1,"","dtype"],[1,1,1,"","exp"],[1,1,1,"","fill"],[1,1,1,"","get_data_axes_order"],[1,1,1,"","get_dimension_axis"],[1,1,1,"","get_slice"],[1,1,1,"","log"],[1,1,1,"","max"],[1,1,1,"","mean"],[1,1,1,"","min"],[1,2,1,"","ndim"],[1,1,1,"","norm"],[1,2,1,"","number_of_dimensions"],[1,1,1,"","partition"],[1,1,1,"","reorder"],[1,1,1,"","sapyb"],[1,2,1,"","shape"],[1,2,1,"","size"],[1,1,1,"","squared_norm"],[1,1,1,"","sum"]],"cil.framework.AcquisitionGeometry":[[1,1,1,"","allocate"],[1,1,1,"","create_Cone2D"],[1,1,1,"","create_Cone3D"],[1,1,1,"","create_Parallel2D"],[1,1,1,"","create_Parallel3D"],[1,1,1,"","get_ImageGeometry"],[1,1,1,"","get_slice"],[1,1,1,"","set_angles"],[1,1,1,"","set_channels"],[1,1,1,"","set_labels"],[1,1,1,"","set_panel"]],"cil.framework.BlockDataContainer":[[5,1,1,"","__iadd__"],[5,1,1,"","__idiv__"],[5,1,1,"","__imul__"],[5,1,1,"","__isub__"],[5,1,1,"","__iter__"],[5,1,1,"","__itruediv__"],[5,1,1,"","__neg__"],[5,1,1,"","__radd__"],[5,1,1,"","__rdiv__"],[5,1,1,"","__rmul__"],[5,1,1,"","__rpow__"],[5,1,1,"","__rsub__"],[5,1,1,"","__rtruediv__"],[5,3,1,"","__weakref__"],[5,1,1,"","add"],[5,1,1,"","axpby"],[5,1,1,"","binary_operations"],[5,1,1,"","copy"],[5,1,1,"","divide"],[5,1,1,"","is_compatible"],[5,1,1,"","maximum"],[5,1,1,"","minimum"],[5,1,1,"","multiply"],[5,1,1,"","next"],[5,1,1,"","power"],[5,1,1,"","sapyb"],[5,1,1,"","subtract"],[5,1,1,"","unary_operations"]],"cil.framework.BlockGeometry":[[1,1,1,"","allocate"],[1,1,1,"","get_item"]],"cil.framework.DataContainer":[[1,1,1,"","as_array"],[1,1,1,"","clone"],[1,1,1,"","copy"],[1,1,1,"","dot"],[1,2,1,"","dtype"],[1,1,1,"","exp"],[1,1,1,"","fill"],[1,1,1,"","get_data_axes_order"],[1,1,1,"","get_dimension_axis"],[1,1,1,"","get_slice"],[1,1,1,"","log"],[1,1,1,"","max"],[1,1,1,"","mean"],[1,1,1,"","min"],[1,2,1,"","ndim"],[1,1,1,"","norm"],[1,2,1,"","number_of_dimensions"],[1,1,1,"","reorder"],[1,1,1,"","sapyb"],[1,2,1,"","shape"],[1,2,1,"","size"],[1,1,1,"","squared_norm"],[1,1,1,"","sum"]],"cil.framework.DataProcessor":[[1,1,1,"","check_input"],[1,1,1,"","get_input"],[1,1,1,"","get_output"],[1,1,1,"","set_input"]],"cil.framework.ImageData":[[1,1,1,"","apply_circular_mask"],[1,1,1,"","as_array"],[1,1,1,"","clone"],[1,1,1,"","copy"],[1,1,1,"","dot"],[1,2,1,"","dtype"],[1,1,1,"","exp"],[1,1,1,"","fill"],[1,1,1,"","get_data_axes_order"],[1,1,1,"","get_dimension_axis"],[1,1,1,"","get_slice"],[1,1,1,"","log"],[1,1,1,"","max"],[1,1,1,"","mean"],[1,1,1,"","min"],[1,2,1,"","ndim"],[1,1,1,"","norm"],[1,2,1,"","number_of_dimensions"],[1,1,1,"","reorder"],[1,1,1,"","sapyb"],[1,2,1,"","shape"],[1,2,1,"","size"],[1,1,1,"","squared_norm"],[1,1,1,"","sum"]],"cil.framework.ImageGeometry":[[1,1,1,"","allocate"],[1,1,1,"","clone"],[1,1,1,"","copy"],[1,1,1,"","get_slice"]],"cil.framework.Processor":[[1,1,1,"","check_input"],[1,1,1,"","get_input"],[1,1,1,"","get_output"],[1,1,1,"","set_input"]],"cil.framework.VectorData":[[1,1,1,"","as_array"],[1,1,1,"","clone"],[1,1,1,"","copy"],[1,1,1,"","dot"],[1,2,1,"","dtype"],[1,1,1,"","exp"],[1,1,1,"","fill"],[1,1,1,"","get_data_axes_order"],[1,1,1,"","get_dimension_axis"],[1,1,1,"","get_slice"],[1,1,1,"","log"],[1,1,1,"","max"],[1,1,1,"","mean"],[1,1,1,"","min"],[1,2,1,"","ndim"],[1,1,1,"","norm"],[1,2,1,"","number_of_dimensions"],[1,1,1,"","reorder"],[1,1,1,"","sapyb"],[1,2,1,"","shape"],[1,2,1,"","size"],[1,1,1,"","squared_norm"],[1,1,1,"","sum"]],"cil.io":[[4,0,1,"","NEXUSDataReader"],[4,0,1,"","NEXUSDataWriter"],[4,0,1,"","NikonDataReader"],[4,0,1,"","RAWFileWriter"],[4,0,1,"","TIFFStackReader"],[4,0,1,"","TIFFWriter"],[4,0,1,"","ZEISSDataReader"]],"cil.io.NEXUSDataReader":[[4,1,1,"","get_data_offset"],[4,1,1,"","get_data_scale"],[4,1,1,"","get_geometry"],[4,1,1,"","load_data"],[4,1,1,"","read"],[4,1,1,"","read_as_original"],[4,1,1,"","set_up"]],"cil.io.NEXUSDataWriter":[[4,1,1,"","set_up"],[4,1,1,"","write"]],"cil.io.NikonDataReader":[[4,1,1,"","get_geometry"],[4,1,1,"","get_roi"],[4,1,1,"","load_projections"],[4,1,1,"","read"]],"cil.io.RAWFileWriter":[[4,1,1,"","write"]],"cil.io.TIFFStackReader":[[4,1,1,"","read"],[4,1,1,"","read_as_AcquisitionData"],[4,1,1,"","read_as_ImageData"],[4,1,1,"","read_rescaled"],[4,1,1,"","read_scale_offset"]],"cil.io.TIFFWriter":[[4,1,1,"","write"]],"cil.io.ZEISSDataReader":[[4,1,1,"","get_geometry"],[4,1,1,"","get_metadata"],[4,1,1,"","read"],[4,1,1,"","set_up"],[4,1,1,"","slice_metadata"]],"cil.io.utilities":[[4,0,1,"","HDF5_utilities"]],"cil.io.utilities.HDF5_utilities":[[4,1,1,"","get_dataset_metadata"],[4,1,1,"","print_metadata"],[4,1,1,"","read"],[4,1,1,"","read_to"]],"cil.optimisation.algorithms":[[5,0,1,"","Algorithm"],[5,0,1,"","CGLS"],[5,0,1,"","FISTA"],[5,0,1,"","GD"],[5,0,1,"","ISTA"],[5,0,1,"","LADMM"],[5,0,1,"","PDHG"],[5,0,1,"","SIRT"],[5,0,1,"","SPDHG"]],"cil.optimisation.algorithms.Algorithm":[[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","verbose_output"]],"cil.optimisation.algorithms.CGLS":[[5,1,1,"","flag"],[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","verbose_output"]],"cil.optimisation.algorithms.FISTA":[[5,1,1,"","__delattr__"],[5,1,1,"","__dir__"],[5,1,1,"","__eq__"],[5,1,1,"","__format__"],[5,1,1,"","__ge__"],[5,1,1,"","__getattribute__"],[5,1,1,"","__gt__"],[5,1,1,"","__hash__"],[5,1,1,"","__init__"],[5,1,1,"","__init_subclass__"],[5,1,1,"","__iter__"],[5,1,1,"","__le__"],[5,1,1,"","__lt__"],[5,1,1,"","__ne__"],[5,1,1,"","__new__"],[5,1,1,"","__next__"],[5,1,1,"","__reduce__"],[5,1,1,"","__reduce_ex__"],[5,1,1,"","__repr__"],[5,1,1,"","__setattr__"],[5,1,1,"","__sizeof__"],[5,1,1,"","__str__"],[5,1,1,"","__subclasshook__"],[5,3,1,"","__weakref__"],[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_step_size"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","verbose_output"]],"cil.optimisation.algorithms.GD":[[5,1,1,"","armijo_rule"],[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","verbose_output"]],"cil.optimisation.algorithms.ISTA":[[5,1,1,"","__delattr__"],[5,1,1,"","__dir__"],[5,1,1,"","__eq__"],[5,1,1,"","__format__"],[5,1,1,"","__ge__"],[5,1,1,"","__getattribute__"],[5,1,1,"","__gt__"],[5,1,1,"","__hash__"],[5,1,1,"","__init__"],[5,1,1,"","__init_subclass__"],[5,1,1,"","__iter__"],[5,1,1,"","__le__"],[5,1,1,"","__lt__"],[5,1,1,"","__ne__"],[5,1,1,"","__new__"],[5,1,1,"","__next__"],[5,1,1,"","__reduce__"],[5,1,1,"","__reduce_ex__"],[5,1,1,"","__repr__"],[5,1,1,"","__setattr__"],[5,1,1,"","__sizeof__"],[5,1,1,"","__str__"],[5,1,1,"","__subclasshook__"],[5,3,1,"","__weakref__"],[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_step_size"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","verbose_output"]],"cil.optimisation.algorithms.LADMM":[[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","verbose_output"]],"cil.optimisation.algorithms.PDHG":[[5,1,1,"","check_convergence"],[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_gamma_fconj"],[5,1,1,"","set_gamma_g"],[5,1,1,"","set_step_sizes"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","update_step_sizes"],[5,1,1,"","verbose_output"]],"cil.optimisation.algorithms.SIRT":[[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_relaxation_parameter"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","verbose_output"]],"cil.optimisation.algorithms.SPDHG":[[5,1,1,"","get_last_loss"],[5,1,1,"","get_last_objective"],[5,1,1,"","get_output"],[5,1,1,"","is_provably_convergent"],[5,2,1,"","iterations"],[5,2,1,"","loss"],[5,2,1,"","max_iteration"],[5,1,1,"","max_iteration_stop_criterion"],[5,1,1,"","next"],[5,2,1,"","objective"],[5,1,1,"","run"],[5,1,1,"","set_up"],[5,1,1,"","should_stop"],[5,1,1,"","update"],[5,1,1,"","update_objective"],[5,1,1,"","verbose_output"]],"cil.optimisation.functions":[[5,0,1,"","BlockFunction"],[5,0,1,"","ConstantFunction"],[5,0,1,"","Function"],[5,0,1,"","IndicatorBox"],[5,0,1,"","KullbackLeibler"],[5,0,1,"","L1Norm"],[5,0,1,"","L2NormSquared"],[5,0,1,"","LeastSquares"],[5,0,1,"","MixedL11Norm"],[5,0,1,"","MixedL21Norm"],[5,0,1,"","OperatorCompositionFunction"],[5,0,1,"","Rosenbrock"],[5,0,1,"","ScaledFunction"],[5,0,1,"","SmoothMixedL21Norm"],[5,0,1,"","SumFunction"],[5,0,1,"","SumScalarFunction"],[5,0,1,"","TotalVariation"],[5,0,1,"","TranslateFunction"],[5,0,1,"","WeightedL2NormSquared"],[5,0,1,"","ZeroFunction"]],"cil.optimisation.functions.BlockFunction":[[5,2,1,"","L"],[5,1,1,"","__call__"],[5,1,1,"","__init__"],[5,1,1,"","__rmul__"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.ConstantFunction":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.Function":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.IndicatorBox":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,2,1,"","num_threads"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"],[5,1,1,"","set_num_threads"],[5,1,1,"","set_suppress_evaluation"]],"cil.optimisation.functions.KullbackLeibler":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.L1Norm":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.L2NormSquared":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.LeastSquares":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.MixedL11Norm":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.MixedL21Norm":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.OperatorCompositionFunction":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.Rosenbrock":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.ScaledFunction":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.SmoothMixedL21Norm":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.SumFunction":[[5,2,1,"","L"],[5,2,1,"","Lmax"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.SumScalarFunction":[[5,2,1,"","L"],[5,2,1,"","Lmax"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.TotalVariation":[[5,2,1,"","L"],[5,1,1,"","calculate_Lipschitz"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,2,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.TranslateFunction":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.WeightedL2NormSquared":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.functions.ZeroFunction":[[5,2,1,"","L"],[5,1,1,"","centered_at"],[5,1,1,"","convex_conjugate"],[5,1,1,"","gradient"],[5,1,1,"","proximal"],[5,1,1,"","proximal_conjugate"]],"cil.optimisation.operators":[[5,0,1,"","BlockOperator"],[5,0,1,"","ChannelwiseOperator"],[5,0,1,"","CompositionOperator"],[5,0,1,"","DiagonalOperator"],[5,0,1,"","FiniteDifferenceOperator"],[5,0,1,"","GradientOperator"],[5,0,1,"","IdentityOperator"],[5,0,1,"","LinearOperator"],[5,0,1,"","MaskOperator"],[5,0,1,"","MatrixOperator"],[5,0,1,"","Operator"],[5,0,1,"","ScaledOperator"],[5,0,1,"","SparseFiniteDifferenceOperator"],[5,0,1,"","SumOperator"],[5,0,1,"","SymmetrisedGradientOperator"],[5,0,1,"","ZeroOperator"]],"cil.optimisation.operators.BlockOperator":[[5,2,1,"","T"],[5,1,1,"","__getitem__"],[5,1,1,"","__init__"],[5,1,1,"","__rmul__"],[5,1,1,"","adjoint"],[5,1,1,"","column_wise_compatible"],[5,1,1,"","direct"],[5,1,1,"","domain_geometry"],[5,1,1,"","get_as_list"],[5,1,1,"","get_item"],[5,1,1,"","get_norms_as_list"],[5,1,1,"","get_output_shape"],[5,1,1,"","is_linear"],[5,1,1,"","norm"],[5,1,1,"","range_geometry"],[5,1,1,"","row_wise_compatible"],[5,1,1,"","set_norms"]],"cil.optimisation.operators.ChannelwiseOperator":[[5,1,1,"","adjoint"],[5,1,1,"","calculate_norm"],[5,1,1,"","direct"]],"cil.optimisation.operators.CompositionOperator":[[5,1,1,"","adjoint"],[5,1,1,"","direct"],[5,1,1,"","is_linear"]],"cil.optimisation.operators.DiagonalOperator":[[5,1,1,"","adjoint"],[5,1,1,"","calculate_norm"],[5,1,1,"","direct"]],"cil.optimisation.operators.FiniteDifferenceOperator":[[5,1,1,"","adjoint"],[5,1,1,"","direct"]],"cil.optimisation.operators.GradientOperator":[[5,1,1,"","adjoint"],[5,1,1,"","calculate_norm"],[5,1,1,"","direct"]],"cil.optimisation.operators.IdentityOperator":[[5,1,1,"","adjoint"],[5,1,1,"","calculate_norm"],[5,1,1,"","direct"]],"cil.optimisation.operators.LinearOperator":[[5,1,1,"","PowerMethod"],[5,1,1,"","adjoint"],[5,1,1,"","calculate_norm"],[5,1,1,"","dot_test"],[5,1,1,"","is_linear"]],"cil.optimisation.operators.MatrixOperator":[[5,1,1,"","adjoint"],[5,1,1,"","direct"]],"cil.optimisation.operators.Operator":[[5,1,1,"","calculate_norm"],[5,1,1,"","direct"],[5,1,1,"","domain_geometry"],[5,1,1,"","is_linear"],[5,1,1,"","norm"],[5,1,1,"","range_geometry"],[5,1,1,"","set_norm"]],"cil.optimisation.operators.ScaledOperator":[[5,1,1,"","adjoint"],[5,1,1,"","direct"],[5,1,1,"","is_linear"],[5,1,1,"","norm"]],"cil.optimisation.operators.SparseFiniteDifferenceOperator":[[5,1,1,"","direct"]],"cil.optimisation.operators.SumOperator":[[5,1,1,"","adjoint"],[5,1,1,"","direct"],[5,1,1,"","is_linear"]],"cil.optimisation.operators.SymmetrisedGradientOperator":[[5,1,1,"","adjoint"],[5,1,1,"","direct"]],"cil.optimisation.operators.ZeroOperator":[[5,1,1,"","adjoint"],[5,1,1,"","calculate_norm"],[5,1,1,"","direct"]],"cil.optimisation.utilities":[[5,0,1,"","Sampler"],[5,0,1,"","SamplerRandom"]],"cil.optimisation.utilities.Sampler":[[5,1,1,"id28","from_function"],[5,1,1,"","get_samples"],[5,1,1,"id29","herman_meyer"],[5,1,1,"","next"],[5,1,1,"id26","random_with_replacement"],[5,1,1,"id27","random_without_replacement"],[5,1,1,"id0","sequential"],[5,1,1,"id25","staggered"]],"cil.optimisation.utilities.SamplerRandom":[[5,1,1,"","get_samples"]],"cil.plugins.TomoPhantom":[[6,4,1,"","get_ImageData"]],"cil.plugins.ccpi_regularisation.functions":[[6,0,1,"","FGP_TV"],[6,0,1,"","FGP_dTV"],[6,0,1,"","TGV"],[6,0,1,"","TNV"]],"cil.plugins.ccpi_regularisation.functions.FGP_dTV":[[6,1,1,"","__call__"],[6,1,1,"","__init__"],[6,1,1,"","__rmul__"],[6,1,1,"","convex_conjugate"]],"cil.plugins.ccpi_regularisation.functions.TGV":[[6,1,1,"","__call__"],[6,1,1,"","__init__"],[6,1,1,"","__rmul__"],[6,1,1,"","convex_conjugate"]],"cil.plugins.ccpi_regularisation.functions.TNV":[[6,1,1,"","__call__"],[6,1,1,"","__init__"],[6,1,1,"","__rmul__"],[6,1,1,"","check_input"],[6,1,1,"","convex_conjugate"]],"cil.processors":[[7,0,1,"","AbsorptionTransmissionConverter"],[7,0,1,"","Binner"],[7,0,1,"","CentreOfRotationCorrector"],[7,0,1,"","MaskGenerator"],[7,0,1,"","Masker"],[7,0,1,"","Normaliser"],[7,0,1,"","Padder"],[7,0,1,"","RingRemover"],[7,0,1,"","Slicer"],[7,0,1,"","TransmissionAbsorptionConverter"]],"cil.processors.AbsorptionTransmissionConverter":[[7,1,1,"","get_output"],[7,1,1,"","set_input"]],"cil.processors.Binner":[[7,1,1,"","get_output"],[7,1,1,"","process"],[7,1,1,"","set_input"]],"cil.processors.CentreOfRotationCorrector":[[7,1,1,"","get_output"],[7,1,1,"","image_sharpness"],[7,1,1,"","set_input"],[7,1,1,"","xcorrelation"]],"cil.processors.MaskGenerator":[[7,1,1,"","get_output"],[7,1,1,"","mean"],[7,1,1,"","median"],[7,1,1,"","quantile"],[7,1,1,"","set_input"],[7,1,1,"","special_values"],[7,1,1,"","threshold"]],"cil.processors.Masker":[[7,1,1,"","get_output"],[7,1,1,"","interpolate"],[7,1,1,"","mean"],[7,1,1,"","median"],[7,1,1,"","set_input"],[7,1,1,"","value"]],"cil.processors.Normaliser":[[7,1,1,"","estimate_normalised_error"],[7,1,1,"","get_output"],[7,1,1,"","set_input"]],"cil.processors.Padder":[[7,1,1,"","constant"],[7,1,1,"","edge"],[7,1,1,"","get_output"],[7,1,1,"","linear_ramp"],[7,1,1,"","reflect"],[7,1,1,"","set_input"],[7,1,1,"","symmetric"],[7,1,1,"","wrap"]],"cil.processors.RingRemover":[[7,1,1,"","get_output"],[7,1,1,"","set_input"]],"cil.processors.Slicer":[[7,1,1,"","get_output"],[7,1,1,"","process"],[7,1,1,"","set_input"]],"cil.processors.TransmissionAbsorptionConverter":[[7,1,1,"","get_output"],[7,1,1,"","set_input"]],"cil.recon":[[8,0,1,"","FBP"],[8,0,1,"","FDK"]],"cil.recon.FBP":[[8,1,1,"","get_filter_array"],[8,1,1,"","reset"],[8,1,1,"","run"],[8,1,1,"","set_fft_order"],[8,1,1,"","set_filter"],[8,1,1,"","set_filter_inplace"],[8,1,1,"","set_image_geometry"],[8,1,1,"","set_input"],[8,1,1,"","set_split_processing"]],"cil.recon.FBP.FBP":[[0,1,1,"","run"]],"cil.recon.FDK":[[8,1,1,"","get_filter_array"],[8,1,1,"","reset"],[8,1,1,"","run"],[8,1,1,"","set_fft_order"],[8,1,1,"","set_filter"],[8,1,1,"","set_filter_inplace"],[8,1,1,"","set_image_geometry"],[8,1,1,"","set_input"]],"cil.utilities":[[9,5,0,"-","quality_measures"]],"cil.utilities.dataexample":[[9,0,1,"id0","SIMULATED_CONE_BEAM_DATA"],[9,0,1,"","SIMULATED_PARALLEL_BEAM_DATA"],[9,0,1,"","SYNCHROTRON_PARALLEL_BEAM_DATA"],[9,0,1,"","TestData"]],"cil.utilities.dataexample.SIMULATED_CONE_BEAM_DATA":[[9,1,1,"id1","get"]],"cil.utilities.dataexample.SIMULATED_PARALLEL_BEAM_DATA":[[9,1,1,"","get"]],"cil.utilities.dataexample.SYNCHROTRON_PARALLEL_BEAM_DATA":[[9,1,1,"","get"]],"cil.utilities.dataexample.TestData":[[9,1,1,"","load"],[9,1,1,"","random_noise"],[9,1,1,"","scikit_random_noise"]],"cil.utilities.display":[[9,0,1,"","show1D"],[9,0,1,"","show2D"],[9,0,1,"","show_geometry"]],"cil.utilities.display.show1D":[[9,3,1,"","figure"],[9,1,1,"","save"]],"cil.utilities.display.show2D":[[9,1,1,"","save"]],"cil.utilities.display.show_geometry":[[9,1,1,"","save"]],"cil.utilities.quality_measures":[[9,4,1,"","mae"],[9,4,1,"","mse"],[9,4,1,"","psnr"]]},objnames:{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","property","Python property"],"3":["py","attribute","Python attribute"],"4":["py","function","Python function"],"5":["py","module","Python module"]},objtypes:{"0":"py:class","1":"py:method","2":"py:property","3":"py:attribute","4":"py:function","5":"py:module"},terms:{"0":[0,1,3,4,5,6,7,8,9],"0000654846240296":5,"0005647295658866":5,"00186":5,"003":6,"005":7,"008":5,"008567":7,"01":[6,9],"010":5,"018":5,"0192":[2,5],"0193":[2,5],"020":5,"0251":5,"025129":6,"04":6,"05":[5,6,7,9],"055010":6,"06":5,"080716542":5,"09076934x":5,"1":[0,1,2,4,5,6,7,8,9],"10":[1,2,4,5,6,7,9],"100":[4,5,6],"1007":5,"1015":5,"1016":6,"1046":5,"1088":6,"1098":[2,5],"11":[1,5],"1102995080":5,"1109":5,"1137":5,"12":[5,8],"120":[5,7],"128":[6,7],"1321":5,"1364":[6,7],"145":5,"15":[5,8,9],"1533217":5,"16":[4,5,8],"17":[5,7],"18":5,"180":7,"183":5,"1887":8,"1976":6,"1992":5,"1d":[1,2,3,7],"1e":[5,7],"2":[0,1,2,3,4,5,6,7,8,9],"20":[5,9],"200":[4,7],"2001":5,"2003":5,"2008":8,"2009":5,"2010":5,"2011":5,"2016":5,"2017":[5,8],"2018":[5,6],"2019":[5,6,9],"202":5,"2020":[2,5],"20200192":[2,5],"20200193":[2,5],"2021":[2,5],"2022":[0,5],"2028250":5,"2057":6,"21":5,"22":5,"2204":5,"23":[5,7],"24":6,"2419":5,"2434":5,"25":5,"256":9,"2783":5,"28":5,"2808":5,"2_2":[3,5],"2beta":5,"2c":5,"2ca":5,"2d":[0,1,2,3,5,6,7],"2w":5,"2wx":5,"2x":5,"3":[1,4,5,6,7,9],"300":4,"32":[1,8],"35":9,"360":6,"360deg":7,"377":5,"379":5,"381":5,"3d":[0,1,3,4,5,7,9],"4":[1,3,4,5,6,7],"40":5,"400":5,"430":5,"47":5,"48289":8,"4d":[3,4,5,6,9],"4t_":5,"5":[1,4,5,6,7,9],"50":[5,6,9],"550":4,"6":[1,4,5,7,9],"64":5,"649":5,"664":5,"7":[1,5,7],"7142857142857":4,"76":5,"8":[1,4,5,7,8,9],"87":5,"9":[4,5],"9225":5,"9780898719277":5,"99":1,"9ntwu9megq":2,"\u00f6":5,"\u00fc":5,"abstract":5,"boolean":[1,5,6,7,8,9],"byte":5,"case":[1,4,5,7,9],"class":[0,1,2,4,6,7,8,9],"default":[0,1,4,5,6,7,8,9],"do":[0,4,5],"final":5,"float":[1,4,5,6,7,8,9],"function":[1,2,3,4,8,9],"import":[4,5,7,8,9],"int":[0,1,4,5,6,7,8,9],"j\u00f8rgensen":2,"long":[1,5],"new":[1,2,5],"return":[0,1,4,5,6,7,8,9],"richt\u00e1rik":5,"sch\u00f6nlieb":5,"static":[1,4,5,7,9],"true":[1,4,5,6,7,8,9],"try":1,"var":9,"while":[2,5],A:[1,2,3,4,5,6,7,8],AND:9,AS:[0,9],As:5,BE:9,BUT:9,BY:9,By:[4,5],FOR:9,For:[0,1,2,4,5,7,9],IF:9,IN:9,IS:[0,9],If:[1,2,4,5,6,7,8,9],In:[1,3,4,5,7,9],It:[0,1,3,5,7,8],NO:9,NOT:9,No:[0,8],OF:[0,9],ON:9,OR:[0,9],Of:2,On:5,One:[7,9],SUCH:9,THE:9,TO:9,The:[0,1,2,3,4,5,6,7,8,9],Then:5,There:1,These:[4,7],To:[0,3,4,5,9],Will:[1,9],With:[3,5],_1:5,_2:5,_:[0,3,5,6],__array_priority__:5,__call__:[5,6],__delattr__:5,__dir__:5,__eq__:5,__format__:5,__ge__:5,__getattribute__:5,__getitem__:5,__gt__:5,__hash__:5,__iadd__:5,__idiv__:5,__imul__:5,__init__:[5,6],__init_subclass__:5,__isub__:5,__iter__:5,__itruediv__:5,__le__:5,__lt__:5,__mul__:5,__ne__:5,__neg__:5,__new__:5,__next__:5,__radd__:5,__rdiv__:5,__reduce__:5,__reduce_ex__:5,__repr__:5,__rmul__:[5,6],__rpow__:5,__rsub__:5,__rtruediv__:5,__setattr__:[1,5],__sizeof__:5,__str__:5,__subclasscheck__:5,__subclasshook__:5,__weakref__:5,_as_gen:9,_dual:[5,6],_gradient:5,_po_class:0,_pre_filt:0,_process_chunk:0,_setup_po_for_chunk:0,_slices_per_chunk:0,a_:5,ab:[1,5,7],abc:5,abcmeta:5,abl:[3,5],about:[4,7],about_original_data:4,abov:[2,3,5,6,9],absolut:[5,7,9],absorpt:2,absorptiontransmissionconvert:7,abspath:4,acceler:[3,5,7],accept:[0,1,4,5,7],access:5,accord:1,accordingli:5,accumul:1,accur:8,accuraci:7,achiev:[3,5,7],acquir:[3,5],acquisit:[1,2,3,4,5,8,9],acquisition_geometri:[0,4,9],acquisitiondata:[2,3,5,7,8,9],acquisitiondatasetn:7,acquisitiongeomerti:1,acquisitiongeometri:[2,3,4,5,6,7,9],across:7,act:5,activ:0,actor:[3,5],actual:[0,5],ad1:4,ad:[5,6],adapt:9,add:[0,1,5,6,9],addit:[0,1,5,7,8,9],adher:0,adjoint:[0,5],adjust:4,admm:5,advanc:[0,3,5],advis:9,affect:5,after:[5,7,9],ag1:4,ag:[5,6],again:5,against:9,agre:0,aim:2,al:[2,5],algebr:[1,5],algebra:[1,5,8],algorithm:[2,3,6,7,8],alia:[1,4,5,9],align:[1,5,7],all:[0,1,4,5,7,8,9],alloc:[0,1,5,8],allow:[1,3,4,5,6,7,8,9],alon:9,along:[1,4,5,7],alpha:[3,5,6],alphabet:4,also:[0,2,3,4,5,7],alter:7,altern:[4,5],although:5,alwai:[4,5],ametova:5,amir:5,amount:[3,5,9],an:[0,1,2,3,4,5,6,7,8,9],analyt:[2,5],ang_tol:7,angl:[1,4,6,7],angle_unit:[1,6],angular:[1,7],ani:[0,1,3,5,9],anisotrop:[5,6],anoth:5,antonin:5,aop:5,apach:0,apart:7,api:9,appear:7,append:5,appli:[1,3,4,5,6,7,8,9],applic:[0,5],apply_circular_mask:1,appropri:[0,1,5],approx:5,approxim:4,ar:[0,1,3,4,5,7,8,9],arbitrari:5,archiv:5,area:8,arg:[0,1,5],argmin:[3,5,6],argument:[0,1,5,9],aris:9,armijo:5,armijo_rul:5,around:5,arrai:[0,1,3,4,5,7,8,9],arrang:[3,4],artefact:[1,7],articl:2,artifact:7,arxiv:5,as_arrai:1,ascent:5,assembl:3,assign:7,assum:[5,9],astra:[1,2,3,7,8],asymmetr:7,asymptot:5,attribut:[1,3,4,7],au:5,augment:5,author:[0,9],auto:5,automat:7,avail:5,averag:[4,7],avinash:5,avoid:[5,7],ax:[1,4,5,7],axi:[1,4,7,9],axis_0:4,axis_1:4,axis_2:4,axis_label:[4,9],axis_labels_1:4,axis_labels_2:4,axis_nam:7,axis_name1:7,axis_name2:7,axpbi:[1,5],azimuth:9,b:[1,3,5,6],b_:5,b_i:5,back:[3,4,6,8,9],backend:[5,7,8],background:5,backproject:[5,8],backward:[1,4,5],bar:5,base:[0,1,2,3,7,8,9],basi:0,basic:[1,2,4,5],basicconfig:7,batch:1,bdc1:[1,5],bdc2:[1,5],bdc:1,beam:[1,2,6,7,9],becaus:[5,9],beck:5,becom:5,been:[4,5,6,7],beer:7,befor:[4,5,7,9],begin:[0,3,5,7],behav:[1,5],behaviour:[4,5,7,9],being:[2,7],below:[3,5,7,9],berlin:8,best:7,beta:5,betck:5,better:[3,5],between:[1,3,5,6,7,8,9],beyond:[3,9],bibian:5,big:5,bin:[4,7],binari:[1,4,9],binary_oper:[1,5],binner:2,binom:[3,5],biologi:5,bit:4,blob:4,block:[1,2],blockdatacontain:[2,3,9],blockfunct:[3,5],blockgeometri:[2,3,5],blockoper:[3,5],blur:7,bmatrix:5,bnd_cond:5,boat:9,book:5,bool:[4,5,7,9],boolian:1,border:7,both:[1,2,3,5,7],bottom:[0,1],bound:5,boundari:[5,7],box:2,brows:4,build:[2,3,5],burca:5,busi:[5,9],buzug:8,bypass:1,c:[0,1,4,5,6,7,9],cach:5,calcul:[1,4,5,6,7,9],calculate_lipschitz:5,calculate_norm:5,call:[3,4,5,6,8],callabl:5,callback:5,camera:9,can:[0,1,2,3,4,5,6,7,8,9],cannot:9,cap:0,capabl:6,care:9,carola:5,cast:1,caus:[7,9],ccpi:[2,4],ccpi_regularis:6,cd:0,cdot:5,ceil:[0,5],center:[3,5,7],center_i:1,center_x:1,center_z:1,centered_at:5,centr:[1,2,9],centreofrotationcorrector:7,certain:5,cgl:[2,3],chambol:5,chan:5,chang:[0,4,5,6,9],channel:[1,2,5,6,7,9],channel_label:1,channelwiseoper:5,chapter:5,characterist:3,check:[1,4,5],check_converg:5,check_input:[1,6],child:5,choic:5,choos:5,chosen:5,chunk:[0,4,8],cil:[1,3,4,5,7,8,9],cil_log_level:7,circ:5,circular:[1,3,8],clair:5,classmethod:9,clear:5,clearli:0,clip:9,clone:[0,1,5],close:[0,5],cmake:0,cmap:9,code:[0,1,2,4,5,6,9],coincid:7,col:5,collect:[2,5],collim:3,color:9,colour:9,column:[1,4,5,9],column_wise_compat:5,com:[0,5],comment:0,common:3,commonli:1,commut:[1,5],compar:9,comparison:[5,9],compat:[1,4,5,8],complex128:1,complex:[1,5],compli:0,complianc:0,compon:[5,7,8],compos:5,composed_with_adjoint:5,composit:2,compositionoper:5,compress:4,compressed_data:4,compris:[3,5],comput:[5,6,7,8],computation:5,computer:5,concret:5,conda:0,conda_prefix:0,condit:[0,5,9],cone2d:2,cone3d:2,cone:[1,2,6,7,9],config:[0,4],configpars:4,configur:[0,2,4,5,7,8],conjug:[1,5,6],consecut:5,consequenti:9,consid:[2,3,5,9],consist:[1,5],constant:[5,6,7],constant_valu:7,constantfunct:5,constrain:5,constraint:[5,6],construct:[2,4,5,8],constructor:5,contain:[0,2,3,4,5,7,8,9],content:[4,5],continu:5,contract:9,contribut:[2,5,7],contributor:9,control:[0,5,8],convent:[2,3,5],converg:5,convert:[2,9],convex:[5,6],convex_conjug:[5,6],coordin:9,copi:[0,1,5],copyright:[0,9],core:[0,2,3,5],correct:[1,5,7,8],corrector:2,correl:[5,7],correlation_spac:5,correspond:[4,5,7,9],corrupt:9,cosin:8,costli:5,could:[1,5],counter_offset:4,cours:5,courtesi:[4,5],cpu:[5,6],creat:[0,1,3,4,5,7,8,9],create_cone2d:[1,6],create_cone3d:[1,6],create_local_env_for_cil_development_test:0,create_parallel2d:1,create_parallel3d:1,creation:5,creator:[2,6],criteria:7,criterion:[5,6],crop:[4,7],cross:7,ct:[1,2,7,8],cubic:7,current:[0,1,5],custom:[5,8],custom_list:5,customis:[6,8],cut:8,cutoff:8,d:[1,5,7],d_:5,damag:9,damp:7,dark:7,dark_field:7,data:[2,4,5,6,8],data_bin:7,data_centr:7,data_channel0:9,data_channel1:9,data_dir:9,data_pad:7,data_rang:9,data_sl:7,data_typ:4,datacontain:[2,4,5,6,7,9],datacontainer0:1,datacontainer1:1,dataexampl:[8,9],dataord:2,dataprocessor:2,dataset:[0,1,2,3,4,7,8],date:2,davi:8,db10:7,db1:7,db35:7,dc1:9,dc2:9,dc:[1,8],dcmake_install_prefix:0,dd:7,dealloc:5,deblur:5,debug:7,decnum:7,decompos:5,decomposit:7,deep:5,deep_copi:1,def:[0,5],defin:[1,2,3,4,5,6,7,9],definit:[0,3,5,6],degre:[1,6,7,9],delattr:5,delplanck:5,delta:5,delta_dark:7,delta_flat:7,demo:[3,5],denois:5,denot:5,dens:5,depend:[0,3,4,5,7],deprec:[1,5,7],depth:4,deriv:[5,9],descent:5,describ:[1,3,4,5,6],descript:[3,7,8],design:[3,5],desir:[5,7],desiri:7,dest_sel:4,destin:4,detail:[1,2,7],detect:7,detector:[1,3,4,7,8],detector_direction_i:1,detector_direction_x:1,detector_i:1,detector_posit:1,detector_x:1,determin:[1,6],determinist:5,devaiat:7,devel:2,develop:[2,3,5],deviat:[7,9],devic:6,df:7,diag:5,diagon:5,diagonaloper:5,diamond:2,dict:[4,5,7],dictionari:[1,4,7],differ:[2,3,5,6,7,9],differenti:5,digaonaloper:5,dimens:[0,1,4,5,6,7,9],dimension:[5,9],dimension_label:[1,5,7],dir:5,direct:[1,4,5,9],direct_onli:5,direction0:9,direction1:9,directli:[1,4,5,7],directori:[0,4,9],discard:5,disclaim:9,discord:2,disk:4,displai:[2,3],distanc:[1,3,5,9],distribut:[0,5,9],divid:[0,1,5,7],divis:[1,5,7],dl:9,dn:7,doc:[0,4,5,7],docs_environ:0,docstr:2,document:9,doe:[0,1,5,6,7,9],doi:[2,5,7],domain:[5,8,9],domain_geometri:5,domain_init:5,domin:5,done:[1,5],dot:[1,5],dot_test:5,doubl:7,down:9,download:5,downsampl:7,draw:5,drawn:5,dset_path:4,dtype:[1,4,5,6,9],dual:5,dualiti:5,due:[5,7],dure:[0,1,5],dynam:[2,5,9],e:[0,1,2,3,4,5,6,7,9],each:[0,1,4,5,7,9],earli:5,earlier:6,eas:5,easiest:0,easili:5,edg:[1,7],edoardo:5,edu:5,effect:5,effici:5,effort:7,ehrhardt:5,eigenvalu:5,eigenvector:5,either:[0,3,5,7,9],element:[1,4,5,7],elev:9,elif:0,els:[0,6],email:0,embed:0,emiss:5,emit:3,emploi:2,empti:1,enabl:[2,7],enclos:0,end:[0,3,4,5,7],end_valu:7,endors:9,enforc:[2,5],engin:[1,5],enough:2,ensur:7,entri:[4,5],env:0,environ:0,environment_nam:0,epsilon:5,eq:[5,8],eqnarrai:5,equal:[1,5,9],equival:[3,4,5],erfcinv:7,erni:5,error:[1,7,9],essenti:0,esser:5,estim:7,estimate_normalised_error:7,et:[2,5],eta:[5,6],euclid:5,euclidean:[1,5],eval:4,evalu:[5,6,9],evangelo:5,evelina:5,even:[1,5,9],event:[5,9],everi:[5,7,9],everyth:4,evolv:0,exact:[4,5],exactli:5,exampl:[1,4,5,6,7,8,9],except:0,excess:0,exclus:[7,9],execut:5,exemplari:9,exist:5,exp:1,expect:[1,5,7],expens:5,explicit:5,explicitli:9,expon:7,expos:9,express:[0,1,3,5,9],ext:5,extend:[5,7,9],extens:4,extract:4,extrapol:7,f1:5,f2:5,f:[0,3,5,6,7],f_1:5,f_:5,f_i:5,f_n:5,fact:[1,4,5],factor:[3,4,7,9],fail:[1,5],fals:[0,1,4,5,7,8,9],fan:2,fanbeam:2,fardel:5,fashion:5,fast:[5,6],faster:5,favour:0,fbp:[0,1,2,3,7],fdk:[2,3,6,7],feldkamp:8,fft:8,fft_order:8,fgp:[5,6],fgp_dtv:6,fgp_tv:6,fidel:[3,5],field:[0,3,7],figsiz:9,figur:9,file:[0,2,3,5],file_nam:4,filenam:[4,9],fill:[0,1,4,5,7,8],filter:[3,6,7,8],filter_inplac:0,find:[0,5,7],fine:7,finit:5,finitedifferenceoper:5,first:[3,4,5,6,7,9],firstli:[2,5],fista:2,fit:[1,5,7,9],fix:5,fix_rang:9,flag:[5,7],flat:7,flat_field:7,flatten:[5,7],flip:4,fliplr:4,float32:[1,4,5,6],float64:1,fname:4,folder:[0,4],follow:[0,1,4,5,7,8,9],fontsiz:9,forc:1,fork:7,form:[3,5,8,9],format:[0,3],format_spec:5,formatt:5,formul:[2,5],formula:5,forth:5,forward:[5,6],found:[2,5,9],fourier:[7,8],frac:[3,5,6],frame:1,framework:[2,4],frequenc:8,frequency_cutoff:8,from:[1,2,3,4,5,6,8],from_funct:5,fromfil:4,full:[0,3,4,8],fulli:[0,4],fundament:5,further:[0,2,5,8],futher:8,futur:5,g1:6,g2:6,g:[0,1,2,3,4,5,6,7,9],gamma:[5,6],gamma_fconj:5,gamma_g:5,gantri:3,gap:[5,7],gaussian:9,gd:2,ge:5,gemma:5,gener:[0,1,2,4,5,6,9],generalis:[5,6],genericlli:5,geometr:6,geometri:[0,2,4,5,6,7],geometry_bin:7,geometry_sl:7,geq1:5,geq2:5,get:[4,5,8,9],get_as_list:5,get_data_axes_ord:1,get_data_offset:4,get_data_scal:4,get_dataset_metadata:4,get_dimension_axi:1,get_filter_arrai:8,get_geometri:4,get_imagedata:6,get_imagegeometri:[0,1,6],get_input:1,get_item:[1,5],get_last_loss:5,get_last_object:5,get_metadata:4,get_norms_as_list:5,get_ouput:7,get_output:[1,5,7],get_output_shap:5,get_roi:4,get_sampl:5,get_slic:[1,9],getattr:5,getlogg:7,gg:2,git:[0,2],github:[0,2],give:[1,3,5,7],given:5,global:[5,9],gm_domain:5,gm_rang:5,go:[0,3,4],goal:3,good:9,govern:0,gpu:6,gradient:[5,6],gradientoper:2,grai:9,greater:[1,5,8],greatli:3,grid:9,ground:9,ground_truth:9,group:[4,5],gt:5,guarante:5,guess:5,guid:[2,5],guidelin:2,guler:5,h_:5,ha:[0,1,3,4,5,6,7],haar:7,hadamard:5,half:[5,7],ham:8,handl:[1,2,3,8],hann:8,happen:1,hard:7,hardwar:8,hash:5,have:[0,1,3,4,5,7,8],hdf5:2,hdf5_util:4,hdl:8,held:1,help:0,helper:5,henc:5,here:[0,5],hereof:5,herman:5,herman_mey:5,high:[2,5],higher:[8,9],highli:[5,8],hold:[1,5,7],home:[1,4,5,6,7,8,9],horizont:[1,4,7],horizontal_i:[1,5,7,9],horizontal_x:[1,5,7,9],hotdog:9,how:5,howev:[4,5,9],html:[0,4,5,7,9],http:[0,2,4,5,7,8,9],hybrid:5,i:[0,1,2,4,5,6,7,9],i_0:4,ib:5,id:[0,5],ideal:7,ident:5,identifi:[0,7],identityoper:5,ieee:5,ig:[1,5,6],ignor:[5,7],ii:[2,5],illustr:3,imag:[0,2,3,4,5,6,7,8],image_geometri:[0,4,8,9],image_sharp:7,imagedata:[0,2,3,5,6,7,8,9],imagegeometri:[2,3,4,5,6,7,8,9],implement:[2,5],impli:[0,9],impos:[3,5],in_plac:1,inch:9,incid:[3,7],incident:9,includ:[1,5,7,9],inclus:7,incorpar:6,incorrect:7,increas:[5,7,8],increment:5,independ:[1,4,5],index:[1,4,5,7],indic:[1,2,4,7,8],indicatorbox:5,indirect:9,individu:5,industri:5,inequ:5,inexact:5,inf:[5,7],infin:5,infinit:5,influenc:3,info:[4,5,6,7],inform:[0,1,2,4,5,6,7,9],infrastructur:5,infti:5,ingredi:5,inherit:[1,5],ini:4,inifnam:4,initi:[4,5,7],initial_angl:1,initial_bin:7,initialis:[1,4,5,7],inlin:5,inner:[1,5],innov:0,inpaintingand:5,inplac:8,input:[0,1,2,5,6,7,8,9],insid:[1,5],instal:[0,5,6],instanc:[0,1,4,5],instanti:[1,5],instead:[0,5,7,9],instruct:0,instrument:[3,7],integ:[5,6,7,9],intend:5,intens:7,interact:[2,5],interest:[1,7],intermedi:9,intern:[1,4],interpoalt:7,interpol:7,interpret:[5,7,8],interrupt:9,interv:5,introduc:5,introduct:2,introductori:5,intuit:9,invers:5,invok:5,io:[0,3,4],irrespect:5,is_compat:[1,5],is_fortran:4,is_linear:5,is_provably_converg:5,is_virtu:4,islic:2,isotrop:[5,6],issubclass:5,ista:2,iter:[3,5,6],iteration_numb:5,its:[0,5,9],itself:[0,5],j:[5,6],jakob:5,januari:5,join:2,journal:5,js:2,json:4,julian:5,jun:5,just:1,k:[5,6],k_i:5,kak:5,keep:5,kei:[0,1,4,7],keyward:5,keyword:[1,5],kind:0,kinemat:7,kingdom:0,kl_div:5,kmax:5,knowledg:[3,5],known:5,kress:8,kullback:5,kullbackleibl:2,kw:[1,5],kwarg:[0,1,5,6,7,9],kx:5,l11:2,l1:[2,6],l1norm:5,l21:2,l2:[2,6],l2norm_:5,l2normsquar:5,l:[3,5,8],l_:5,lab:3,label:[1,4,5,9],ladmm:2,lagrangian:5,lak:8,lambert:7,langl:[5,6],languag:[0,6],larg:[1,5],larger:5,largest:5,last:[5,7],law:[0,7],layout:4,lb:5,lead:[4,7],least:[1,2,3],leastsquar:5,lectur:5,left:[1,4,5,9],leftrightarrow:[5,6],legend:9,leibler:5,len:5,length:[1,5,8,9],leq1:5,leq:5,ler:5,less:5,let:5,level:[2,4,5,7],liabil:9,liabl:9,librari:[0,1,2,3,5],licens:0,light:2,like:[3,4,5],limit:[0,5,9],line:[4,9],line_colour:9,line_styl:9,linear:[5,7],linear_ramp:7,linearoper:5,linestyl:9,link:[0,2,5],link_islic:2,linspac:6,lionheart:5,lipschitz:5,lipshitz:5,list:[1,2,4,5,8,9],lmax:5,load:[4,9],load_data:4,load_project:4,loader:3,local:[2,9],local_var:9,localvar:9,locat:[1,7],log0:5,log10:5,log:[0,1,5,7,8],log_fil:5,logan:8,logarithm:7,look:4,loop:[4,5,7],loss:[5,7,9],lossi:4,low:5,low_val:9,lower:[5,6,7,9],lu:[3,5],lvert:5,m:[0,5,8],machin:3,mad:7,made:5,mae:9,magnif:3,magnitud:5,mai:[0,1,2,5,7,8,9],mail:2,main:[2,3,5],mainli:3,maintain:9,make:[0,3,5],malcolm:5,manchest:0,mani:5,manipul:[2,3],manual:[4,9],map:[5,9],marc:5,markiewicz:5,martin:5,mask:[1,2,5,9],masker:7,maskgener:7,maskoper:5,match:[1,5,6],materi:9,math:[1,5],mathbb:5,mathcal:5,mathemat:[2,5],mathrm:[3,5,6],matplotlib:9,matric:5,matrix:[3,5,9],matrixoper:5,matthia:5,max:[1,5,6,9],max_:5,max_iter:[5,6],max_iteration_stop_criterion:5,max_quantil:7,max_val:7,maximis:7,maximum:[1,5,6,9],mayer:5,mbox:[5,6],mean:[1,5,7,9],meant:0,measur:[3,5,7,8],med:5,media:5,median:7,medicin:5,medium:5,member:0,memori:[1,5,8],merchant:9,messag:7,met:[5,9],meta:1,metadata:[2,4],method:[1,2,3,4,5,7,8],metric:2,meyer:5,mic:5,midlin:7,might:5,min:[1,5,9],min_:5,min_intens:7,min_quantil:7,min_val:7,min_x:5,mingqiang:5,minim:[4,5],minimis:5,minimum:[1,5,6,9],mirror:7,misalign:7,miss:7,mix:2,mixedl11norm:5,mixedl21norm:5,mkdir:0,mo25:5,mo25_ch6:5,mode:[1,4,5,7,9],model:6,modern:8,modif:9,modifi:[1,8],modul:[3,5,6,7,8],modulu:5,moment:5,monitor:5,mop:5,mop_norm:5,more:[1,3,4,5,7,8,9],moreau:5,most:[1,5],mri:5,mse:9,multi:[2,4,5,7,9],multichannel:[2,5],multicontrast:5,multipl:[0,1,4,5,6,7,9],multiplc:5,multipli:[1,5,7],multiprocess:5,must:[0,1,4,5,7,8,9],mx1:5,my_data:4,my_sampling_funct:5,n:[0,5,6,7,8,9],nabla:5,name:[0,1,4,5,7,9],nan:[5,7],nbyte:4,ndarrai:[1,4,5,7,8,9],ndim:[1,4,6],nearest:7,necessari:[0,1,4],need:[0,4,5,7,9],neg:[4,5,6,7,8,9],neglig:9,neither:9,nest:[1,5,9],nesterov:5,net:8,neumann:5,neutron:7,never:5,new_ord:1,newlin:5,next:[1,5,7,9],nexu:[2,3],nexusdataread:4,nexusdatawrit:4,nice:5,nikon:[2,3],nikondataread:4,nois:[5,9],noisy_data:5,non:[0,2,5,6],none:[0,1,4,5,7,8,9],nonneg:6,nonzero:9,nor:9,norm2sq:5,norm:[1,2,6],normal:[1,5],normalis:[2,4,5],notat:5,note:[4,5,7,8,9],notebook:3,noth:5,notic:[4,5,9],notimpl:5,notimplementederror:5,nov:5,now:[3,5,6],np:[0,4,5,6],nss:5,num_batch:1,num_channel:1,num_chunk:0,num_col:9,num_indic:5,num_model:6,num_pixel:1,num_pixels_h:1,num_pixels_v:1,num_sampl:5,num_thread:[1,5],numba:5,number:[1,2,3,4,5,6,7,9],number_of_dimens:1,numer:1,numpi:[1,4,5,7,8,9],numpy_vers:0,numpydoc:0,nx1:5,nx:4,o:5,o_:5,object:[1,2,3,4,5,7],objective_funct:5,obtain:[0,4],occur:9,oe:[6,7],off:[5,8],offset:[0,1,4,6,7,8],often:0,omega:5,onc:5,one:[1,2,3,5,7,9],ones:[4,5],onli:[0,1,4,5,6,7,8,9],onto:[3,5,7],op0:5,op1:5,op2:5,op:5,oper:[0,1,2,3,7,9],operator1:5,operator2:5,operatorcompositionfunct:5,optim:[2,5],optimis:[2,3,6,8],option:[0,1,4,5,7,8,9],orbit:8,order:[1,4,5,8],ordin:4,org:[0,2,4,5,7,9],orient:[0,2,5],origin:[0,1,4,5,9],original_data:4,os:4,osman:5,other:[1,2,5,7,9],otherwis:[1,5,9],otim:5,our:[1,2,3,5],out:[0,1,4,5,7,8,9],outcom:5,outer:9,outlier:7,output:[0,1,2,4,5,7,8,9],outsid:[1,7,8,9],over:[1,5,7],overrid:5,overridden:5,overset:5,own:0,owner:0,p:[0,5,9],p_i:5,pack:4,packag:[0,2,5],pad:7,pad_valu:7,pad_width:7,padder:2,page:[2,4],pair:[5,9],panel:[0,1,7],paper:2,papoutselli:[2,5],parallel2d:2,parallel3d:2,parallel:[1,2,6,7,9],param:[1,5,9],paramet:[0,1,3,4,5,6,7,8,9],parent:[1,5],pars:4,part:[2,5,6],partial_:5,partial_i:5,partial_x:5,particular:[5,9],partit:1,pasca:5,pass:[0,1,5,7,8,9],path:[4,9],pattern:5,pawel:5,pbar:0,pdf:5,pdf_1:5,pdhg:2,peak:9,penalis:5,pepper:9,per:[5,9],percent:9,percentag:1,perform:[1,5,7],period:5,permiss:[0,9],permit:9,permut:1,pet:5,peter:5,phantom:6,phil:2,philip:5,philosoph:5,photon:[7,8],physic:5,pi:8,pickl:5,pixel:[1,3,4,6,7,8,9],pixel_num_v:0,pixel_s:1,pixel_size_h:1,pixel_size_v:1,pixelwis:9,pjm:5,place:[1,3,8],placehold:[1,5],plantagi:8,pleas:[0,1,2,3,7],plot:9,plugin:[2,3,7],png:9,pock:5,point:[1,3,5,9],pointer:1,poisson:[5,9],poissonloglikelihoodwithlinearmodelformean:5,poorli:9,popul:7,posit:[0,1,5,6,7,8,9],positron:5,possibl:[1,5,9],power:[1,2,5,8,9],powermethod:5,practic:[5,7],pre:[2,3,5,8],precalcul:5,preced:[1,5],precondit:5,predefin:8,prefix:4,prepar:8,prepend:5,present:[1,5],preserv:9,preval:9,previou:[5,6,7],primal:5,prime:5,principl:5,print:[0,4,5,7],print_interv:5,print_metadata:4,prior:[3,5,9],prob:5,prob_weight:5,probabl:5,problem:[2,3,5,6,9],problem_:[5,6],process:[0,1,3,5,6,7,8],processor:[1,2,3],procur:9,produc:[5,9],product:[1,5,9],profil:7,profit:9,progress:7,proj:5,proj_filt:0,project:[2,3,4,5,7,8],projecteuclid:5,projection_index:7,projector:[3,8],promot:9,prompt:5,proper:9,properti:[1,2,5],proport:9,protect:0,protocol:5,prototyp:[2,5],provabl:5,provid:[0,1,2,3,4,5,7,8,9],prox:[5,6],prox_:5,proxim:[5,6],proximal_conjug:5,pseudo:9,psnr:9,purpos:[5,9],py:5,pydata:0,pyplot:9,python2:[1,5],python3:0,python:[2,5],python_vers:0,pywt:7,qeq0:6,quad:5,quadrat:[5,7],qualiti:[2,3],quality_measur:9,quantil:7,quarter:7,question:5,r:[1,2,5],r_1:3,r_2:3,rad:8,radia:2,radian:1,radiat:3,radiu:1,rai:[1,3],rainbow:9,rais:[0,1,5],ral:5,ram:8,ramp:7,random:[1,5,9],random_int:1,random_nois:9,random_permut:1,random_with_replac:5,random_without_replac:5,randomli:5,randomsampl:5,randomwithoutreplac:5,rang:[0,5,6,7,8,9],range_geometri:5,range_init:5,rangl:[5,6],rapid:[2,5],rare:9,rasch:5,rate:5,rather:[5,7],ratio:[6,9],ration:9,raw:2,rawfilewrit:4,ray_direct:1,re:[3,5],reach:[3,5,6],read:[2,7],read_arrai:4,read_as_acquisitiondata:4,read_as_imagedata:4,read_as_origin:4,read_data:4,read_dtyp:4,read_resc:4,read_scale_offset:4,read_shap:4,read_to:4,reader:[2,3],real:[1,2,3,5],recal:5,receiv:5,recognis:[3,5],recommend:[5,7,8],recon:[0,2,3],reconstruct:[0,1,2,3,4,5,6,7],reconstructor:[0,2,3],record:5,recov:5,rect:8,recurs:[0,4],redistribut:9,reduc:[1,3,5,8,9],reduct:1,refer:[0,1,2,3,4,6,7,8,9],referenc:[0,1,7,8],reflect:[5,7],region:7,regular:5,regularis:[2,3,5],rel:[5,6,7],relat:[1,5],relax:5,relev:4,remain:7,remaind:0,remov:2,reorder:1,repeat:5,replac:[0,5,9],repo:0,repositori:[2,3],repositoryy:5,repr:5,repres:[1,4,5,7,9],reproduc:[2,9],request:[0,1,4,7,8,9],requir:[0,1,5,6,7,8],rescal:[4,6],rescaled_data:4,research:0,reserv:9,reset:8,reshap:[4,5],resid:4,resolut:[1,7],resolution_chart:9,resort:1,respect:[1,3,4,5,7,9],rest:5,restart:5,restor:5,resul:[1,5],result:[1,2,3,4,5,7,8,9],ret:0,retain:9,return_al:5,revers:[1,5],rewritten:5,rgensen:5,right:[1,4,5,9],rightarrow:5,ring:2,ringremov:7,rof:5,roi:[4,7],roll:7,root:[4,5],rosenbrock:5,rotat:[1,2,3],rotation_axis_direct:1,rotation_axis_posit:1,round:9,routin:[5,8],row:[0,1,3,4,5],row_wise_compat:5,royal:5,royalsocietypublish:5,rsta:[2,5],rtsd:5,rule:5,run:[0,1,5,6,7,8],rvert_:5,ryan:5,s10107:5,s10589:5,s10851:5,s:[0,1,4,5,9],s_:4,saddl:5,sai:5,salt:9,salt_vs_pepp:9,same:[0,1,4,5,6,7,9],sampl:[3,5],sampler:2,samplerrandom:5,sampling_typ:5,sapyb:[1,5],satisfi:5,save:[3,4,5,9],savefig:9,scalar:[1,5,6,9],scale:[2,4,5,7,9],scaledfunct:5,scaledoper:5,scaleoffset:4,scan:[3,7],scatter:[3,5],schemat:9,schonlieb:5,scienc:5,scikit:9,scikit_random_nois:9,scipi:5,screen:5,script:0,search:[7,9],search_rang:7,sec:5,second:[3,5,7,9],secondli:2,section:[4,5],see:[0,1,5,6,7,9],seed:[1,5,9],select:[3,4,5,8,9],selector:9,self:[0,1,5,6,8],sensibl:4,separ:[0,5,9],sequenc:5,sequenti:[1,5,9],serial:5,serv:0,server:0,servic:9,set:[0,1,2,4,5,6,7,8],set_:0,set_angl:[1,6],set_channel:[1,6],set_fft_ord:8,set_filt:8,set_filter_inplac:8,set_gamma_fconj:5,set_gamma_g:5,set_image_geometri:8,set_input:[1,7,8],set_label:1,set_norm:5,set_num_thread:5,set_panel:[1,6],set_relaxation_paramet:5,set_split_process:[0,8],set_step_s:5,set_suppress_evalu:5,set_up:[4,5],setattr:5,setlevel:7,setter:2,sever:[5,7],sgn:5,sh:0,shall:9,shape:[0,1,4,5,9],share:5,sharp:7,shepp:8,shift:5,shinkoper:5,shortcut:4,shorter:5,should:[0,1,4,5,6,7,8,9],should_stop:5,show1d:2,show2d:2,show:9,show_geometri:2,shrinkag:5,siam:5,side:7,sigma:[5,7],sigma_1:5,sigma_:5,sigma_iw_i:5,sigma_iw_ix_i:5,sign:[1,5,9],signal:9,signatur:5,signific:3,simpl:[0,2,8],simple_phantom_2d:9,simpli:3,simplifi:5,simul:[2,3],simulated_cone_beam_data:[8,9],simulated_parallel_beam_data:[8,9],simulated_sphere_volum:9,simultan:5,singh:5,singl:[1,3,4,5,7,8,9],singular:5,sinogram:1,sirf:5,sirt:2,size:[0,1,4,5,6,7,9],skimag:9,skip:4,slanei:5,slice:[1,2,3,4,7,8],slice_index:7,slice_list:9,slice_metadata:4,slicer:2,slices_per_chunk:[0,8],slight:7,small:[0,5,9],smooth:[2,6],smoothmixedl21norm:5,so:[0,3,5],soc:2,societi:5,softwar:[0,5,9],softx:6,sol:[5,6],solut:[3,5,6],solv:[2,3,5,9],some:[5,7],some_data:1,someth:4,soon:5,sop:5,sort:1,sourc:[1,2,3,4,5,6,7,8],source_posit:1,source_sel:4,space:[5,7],spacechannel:5,spars:5,sparsefinitedifferenceoper:5,spatial:[1,5,7],spdhg:2,special:[5,7,9],special_valu:7,specif:[0,4,5,9],specifi:[1,4,5,7,9],speckl:9,spectral:[2,3,5,7],sphere:9,sphinx:0,split:[5,8],springer:[5,8],sqrt:[1,5,6,7],squar:[1,2,3,9],squared_norm:1,stabl:[4,7,9],stack:[4,7],stackexchang:5,stage:3,stagger:[1,5],standard:[1,3,4,7,8,9],stanford:5,start:[0,4,5,7],statement:7,stationari:3,statist:8,statu:5,std:7,step:[0,3,4,5,7],step_siz:5,stephen:5,sting:1,stochast:5,stop:[5,6,7],store:[0,1,5],store_output:1,str:[1,4,5,6,7,9],strategi:5,strength:7,strict:9,strictli:5,stride:[1,5],string:[1,4,5,6,7,8,9],stripe:7,strong_convexity_const:[5,6],strongli:[5,6],structur:5,style:[0,7],sub:6,subclass:[1,4,5],subject:5,submodul:0,subplot:9,subproblem:5,subsequ:5,subset:5,substitut:9,subtract:[1,5],suffici:3,suit:3,suitabl:[0,1,7],sum:[1,5],sum_:5,sumfunct:5,sumoper:5,sumscalarfunct:5,sup:[5,6],support:[5,7],suppress:[0,1,5,7,8,9],suppress_evalu:5,sure:[0,5],swap:5,symmetr:7,symmetris:5,symmetrisedgradientoper:5,sync:5,synchrotron:3,synchrotron_parallel_beam_data:9,syntax:0,system:[1,2,3,5],system_descript:0,t:[1,4,5,8],t_:5,ta:5,tabul:5,take:[1,4,5,7,8,9],target:[0,7],task:6,tau:[5,6],tau_:5,team:9,teboul:5,techniqu:[3,5],tempor:[5,6],temporari:8,temporarili:9,term:[3,5,6],test:[0,2,3,5],testdata:9,text:[0,4,5],textbf:5,tgv:6,th:[5,9],than:[4,5,6,7,8],thei:[0,1,5,7,9],them:[4,5],theme:0,theoret:7,theori:9,therefor:[1,5,6],theta:5,theta_:5,thi:[0,1,3,4,5,6,7,8,9],thieleman:5,thoma:5,those:1,thread:[1,5],three:[3,5],threshold:[5,7],threshold_factor:7,threshold_valu:7,through:4,thu:5,tiff:[2,9],tiffstackread:4,tiffwrit:4,tigr:[1,2,3,7,8],tikhonov:[3,5],tild:[3,5],time:[0,3,5,8],tip:5,titl:9,tmp_nexu:4,tnv:6,tofil:4,togeth:[4,7],toggl:5,toler:[5,6,7],tomograph:[1,2,5],tomographi:[2,5,8],tomographicimag:[0,2],tomophantom:[2,3],toni:5,too:8,tool:3,toolbox:[6,8],toolkit:[3,6],top:1,tort:9,tot_slic:0,total:[0,2],totalvari:[5,6],tqdm:0,trade:5,trajectori:3,tran:[2,5],transact:5,transform:8,translat:5,translatefunct:5,transmiss:[2,3],transmissionabsorptionconvert:7,transpos:[4,5],treat:5,trigger:5,trivial:2,truedivis:5,truth:9,tune:[7,8],tupl:[1,4,5,7,9],turner:5,tv:[5,6],tw:5,two:[1,5,7,8,9],twx:5,tx:5,txm:4,txrm:4,type:[0,1,3,4,5,6,7,8,9],typic:[3,5],u2:4,u:[3,5,6],uint16:4,uint8:4,unari:[1,5],unary_oper:[1,5],unbin:7,unchang:5,uncompress:4,under:[0,5],underbrac:5,underscor:0,underset:[3,5,6],understand:0,unexpect:9,uniform:[1,5,9],uniformli:5,uniqu:[1,9],unit16:4,unit:[0,1,5],univers:0,unknown:[3,5],unless:[0,7],unmask:7,unpack:4,unreli:7,unsign:[4,9],until:5,up:[2,4,5,6,8,9],updat:[0,5,7,8],update_object:5,update_objective_interv:5,update_step_s:5,upper:[5,7,9],url:5,us:[0,2,3,4,5,6,7,8,9],usag:[5,6,7],user:[0,1,3,5,7,8],util:[2,3,8],v1:5,v2:5,v:5,v_1:5,v_2:5,vai:5,valid:9,valu:[1,4,5,6,7,8,9],valueerror:[0,5],vararg:5,variabl:5,varianc:9,variat:2,variou:9,vaue:7,vector:[1,5,7],vectordata:2,verbos:[0,5,8],verbose_output:5,veri:5,versatil:[2,5],version:[0,5],vertic:[1,4,7],via:5,view:[0,1,3,9],view_dist:9,vision:5,visualis:2,vmatrix:[3,5],volum:[0,1,2,4,5,7,8],voxel:[5,6],voxel_num_i:1,voxel_num_x:1,voxel_num_z:1,voxel_size_i:1,voxel_size_x:[1,6],voxel_size_z:1,vs:9,w:[1,5],w_i:5,wa:[5,9],wai:[0,1,5,9],want:[1,5],warm:5,warm_start:5,warn:7,warr:5,warranti:[0,4,9],wavelet:7,we:[1,3,4,5,9],weak:5,web:5,websit:2,weight:[5,6],weightedl1norm:5,weightedl2normsquar:5,well:[2,3,5],were:7,wether:5,what:[0,4,5],when:[0,3,4,5,6,9],where:[1,3,5,6,7,9],wherea:5,whether:[1,4,5,6,9],which:[1,3,4,5,7,9],whichev:[1,8],white:4,white_level:7,whole:1,width:[7,8],william:5,window:7,wise:[1,5],wish:5,wither:5,within:0,without:[0,4,5,7,9],wname:7,won:5,word:0,work:[0,1,3,4,5],would:[4,5],wrap:[5,7],wright:5,write:[0,2,3,5],writer:[2,3],written:[3,4,5,6,9],wrt:5,www:0,wx:5,x:[1,2,3,5,6,9],x_0:5,x_1:5,x_:[5,6],x_axis_label:9,x_i:5,x_k:5,x_n:5,xcorrel:7,xiaoqun:5,xin:5,xshape:5,xtekct:4,y:[1,5,9],y_:5,y_axis_label:9,year:0,yet:5,yield:[5,8],yml:0,you:[0,2,4,5,7],your:[0,5,7,8],yurii:5,yyyi:0,z:[1,5,6],zeiss:2,zeissdataread:4,zero:[1,5,7],zerofunct:5,zerooper:5,zhang:5,zhu:5},titles:["Developers\u2019 Guide","Framework","Welcome to CIL\u2019s documentation!","Introduction","Read/ write AcquisitionData and ImageData","Optimisation framework","CIL Plugins","Processors","Recon","Utilities"],titleterms:{"1d":9,"2d":9,"class":5,"function":[5,6],"new":0,A:9,Of:7,absorpt:7,acquisitiondata:[1,4],acquisitiongeometri:1,algorithm:5,analyt:8,astra:6,base:5,beam:[3,8],binner:7,block:[3,5],blockdatacontain:[1,5],blockgeometri:1,box:5,build:0,ccpi:6,centr:7,cgl:5,channel:3,cil:[0,2,6],cite:2,composit:5,cone2d:1,cone3d:1,cone:[3,8],configur:1,contact:2,contain:1,content:2,contribut:0,convent:0,convert:7,corrector:7,creator:0,ct:[3,9],data:[1,3,7,9],datacontain:1,dataord:1,dataprocessor:1,dataset:9,demo:2,develop:0,diamond:9,displai:9,docstr:0,document:[0,2],exampl:[0,2],fan:3,fanbeam:1,fbp:[6,8],fdk:8,file:4,fista:5,framework:[1,3,5],from:[0,7,9],gd:5,gener:7,geometri:[1,3,8,9],gradientoper:5,guid:0,guidelin:0,hdf5:4,imag:9,imagedata:[1,4],imagegeometri:1,index:[2,9],indic:5,interact:9,introduct:3,islic:9,ista:5,kullbackleibl:5,l11:5,l1:5,l21:5,l2:5,ladmm:5,least:5,light:9,link:9,link_islic:9,local:0,manipul:7,mask:7,method:0,metric:9,mix:5,multi:3,nexu:4,nikon:4,norm:5,normalis:7,object:[0,9],oper:[5,6],optimis:5,other:[0,6],padder:7,parallel2d:1,parallel3d:1,parallel:[3,8],pdhg:5,plugin:6,pre:7,processor:7,project:6,properti:0,qualiti:9,raw:4,read:4,reader:4,recon:8,reconstruct:8,reconstructor:8,refer:5,regularis:6,remov:7,render:0,ring:7,rotat:7,s:2,sampler:5,set:9,setter:0,show1d:9,show2d:9,show_geometri:9,simpl:5,simul:9,sirt:5,slice:9,slicer:7,smooth:5,softwar:2,sourc:[0,9],spdhg:5,squar:5,system:9,test:9,thi:2,tiff:4,tigr:6,todo:5,tomophantom:6,total:[5,6],transmiss:7,trivial:5,us:1,util:[4,5,9],variat:[5,6],vectordata:1,visualis:9,volum:9,welcom:2,work:2,write:4,writer:4,zeiss:4}}) \ No newline at end of file diff --git a/nightly/utilities.html b/nightly/utilities.html deleted file mode 100644 index 7c67913a6f..0000000000 --- a/nightly/utilities.html +++ /dev/null @@ -1,910 +0,0 @@ - - - - - - - - Utilities — CIL 23.1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - -
    - -
    - -
    -

    Utilities#

    -
    -

    Test datasets#

    -

    A range of small test datasets to generate and use

    -
    -

    A set of simulated volumes and CT data#

    -
    -
    -class cil.utilities.dataexample.SIMULATED_CONE_BEAM_DATA[source]#
    -
    -
    -classmethod get(**kwargs)[source]#
    -

    A cone-beam dataset generated from SIMULATED_SPHERE_VOLUME

    -
    -
    Parameters
    -

    data_dir (str, optional) – The path to the data directory

    -
    -
    Returns
    -

    The simulated spheres dataset

    -
    -
    Return type
    -

    AcquisitionData

    -
    -
    -
    - -
    - -
    -
    -class cil.utilities.dataexample.SIMULATED_PARALLEL_BEAM_DATA[source]#
    -
    -
    -classmethod get(**kwargs)[source]#
    -

    A simulated parallel-beam dataset generated from SIMULATED_SPHERE_VOLUME

    -
    -
    Parameters
    -

    data_dir (str, optional) – The path to the data directory

    -
    -
    Returns
    -

    The simulated spheres dataset

    -
    -
    Return type
    -

    AcquisitionData

    -
    -
    -
    - -
    - -
    -
    -class cil.utilities.dataexample.SIMULATED_CONE_BEAM_DATA[source]#
    -
    -
    -classmethod get(**kwargs)[source]#
    -

    A cone-beam dataset generated from SIMULATED_SPHERE_VOLUME

    -
    -
    Parameters
    -

    data_dir (str, optional) – The path to the data directory

    -
    -
    Returns
    -

    The simulated spheres dataset

    -
    -
    Return type
    -

    AcquisitionData

    -
    -
    -
    - -
    - -
    -
    -

    A CT dataset from the Diamond Light Source#

    -
    -
    -class cil.utilities.dataexample.SYNCHROTRON_PARALLEL_BEAM_DATA[source]#
    -
    -
    -classmethod get(**kwargs)[source]#
    -

    A DLS dataset

    -
    -
    Parameters
    -

    data_dir (str, optional) – The path to the data directory

    -
    -
    Returns
    -

    The DLS dataset

    -
    -
    Return type
    -

    AcquisitionData

    -
    -
    -
    - -
    - -
    -
    -

    Simulated image data#

    -
    -
    -class cil.utilities.dataexample.TestData(**kwargs)[source]#
    -

    Class to return test data

    -

    provides 6 dataset: -BOAT = ‘boat.tiff’ -CAMERA = ‘camera.png’ -PEPPERS = ‘peppers.tiff’ -RESOLUTION_CHART = ‘resolution_chart.tiff’ -SIMPLE_PHANTOM_2D = ‘hotdog’ -SHAPES = ‘shapes.png’ -RAINBOW = ‘rainbow.png’

    -
    -
    -load(which, size=None, scale=(0, 1), **kwargs)[source]#
    -

    Return a test data of the requested image

    -
    -
    Parameters
    -
      -
    • which (str) – Image selector: BOAT, CAMERA, PEPPERS, RESOLUTION_CHART, SIMPLE_PHANTOM_2D, SHAPES, RAINBOW

    • -
    • size (tuple, optional) – The size of the returned ImageData. If None default will be used for each image type

    • -
    • scale (tuple, optional) – The scale of the data values

    • -
    -
    -
    Returns
    -

    The simulated spheres volume

    -
    -
    Return type
    -

    ImageData

    -
    -
    -
    - -
    -
    -static random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs)[source]#
    -

    Function to add noise to input image

    -
    -
    Parameters
    -
      -
    • image – input dataset, DataContainer of numpy.ndarray

    • -
    • mode – type of noise

    • -
    • seed – seed for random number generator

    • -
    • clip – should clip the data.

    • -
    -
    -
    -

    See https://github.com/scikit-image/scikit-image/blob/master/skimage/util/noise.py

    -
    - -
    -
    -static scikit_random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs)[source]#
    -

    Function to add random noise of various types to a floating-point image. -:param image: Input image data. Will be converted to float. -:type image: ndarray -:param mode: One of the following strings, selecting the type of noise to add:

    -
    -
      -
    • ‘gaussian’ Gaussian-distributed additive noise.

    • -
    • -
      ‘localvar’ Gaussian-distributed additive noise, with specified

      local variance at each point of image.

      -
      -
      -
    • -
    • ‘poisson’ Poisson-distributed noise generated from the data.

    • -
    • ‘salt’ Replaces random pixels with 1.

    • -
    • -
      ‘pepper’ Replaces random pixels with 0 (for unsigned images) or

      -1 (for signed images).

      -
      -
      -
    • -
    • -
      ‘s&p’ Replaces random pixels with either 1 or low_val, where

      low_val is 0 for unsigned images or -1 for signed -images.

      -
      -
      -
    • -
    • -
      ‘speckle’ Multiplicative noise using out = image + n*image, where

      n is uniform noise with specified mean & variance.

      -
      -
      -
    • -
    -
    -
    -
    Parameters
    -
      -
    • seed (int, optional) – If provided, this will set the random seed before generating noise, -for valid pseudo-random comparisons.

    • -
    • clip (bool, optional) – If True (default), the output will be clipped after noise applied -for modes ‘speckle’, ‘poisson’, and ‘gaussian’. This is -needed to maintain the proper image data range. If False, clipping -is not applied, and the output may extend beyond the range [-1, 1].

    • -
    • mean (float, optional) – Mean of random distribution. Used in ‘gaussian’ and ‘speckle’. -Default : 0.

    • -
    • var (float, optional) – Variance of random distribution. Used in ‘gaussian’ and ‘speckle’. -Note: variance = (standard deviation) ** 2. Default : 0.01

    • -
    • local_vars (ndarray, optional) – Array of positive floats, same shape as image, defining the local -variance at every image point. Used in ‘localvar’.

    • -
    • amount (float, optional) – Proportion of image pixels to replace with noise on range [0, 1]. -Used in ‘salt’, ‘pepper’, and ‘salt & pepper’. Default : 0.05

    • -
    • salt_vs_pepper (float, optional) – Proportion of salt vs. pepper noise for ‘s&p’ on range [0, 1]. -Higher values represent more salt. Default : 0.5 (equal amounts)

    • -
    -
    -
    Returns
    -

    out – Output floating-point image data on range [0, 1] or [-1, 1] if the -input image was unsigned or signed, respectively.

    -
    -
    Return type
    -

    ndarray

    -
    -
    -

    Notes

    -

    Speckle, Poisson, Localvar, and Gaussian noise may generate noise outside -the valid image range. The default is to clip (not alias) these values, -but they may be preserved by setting clip=False. Note that in this case -the output may contain values outside the ranges [0, 1] or [-1, 1]. -Use this option with care. -Because of the prevalence of exclusively positive floating-point images in -intermediate calculations, it is not possible to intuit if an input is -signed based on dtype alone. Instead, negative values are explicitly -searched for. Only if found does this function assume signed input. -Unexpected results only occur in rare, poorly exposes cases (e.g. if all -values are above 50 percent gray in a signed image). In this event, -manually scaling the input to the positive domain will solve the problem. -The Poisson distribution is only defined for positive integers. To apply -this noise type, the number of unique values in the image is found and -the next round power of two is used to scale up the floating-point result, -after which it is scaled back down to the floating-point image range. -To generate Poisson noise against a signed image, the signed image is -temporarily converted to an unsigned image in the floating point domain, -Poisson noise is generated, then it is returned to the original range.

    -

    This function is adapted from scikit-image. -https://github.com/scikit-image/scikit-image/blob/master/skimage/util/noise.py

    -

    Copyright (C) 2019, the scikit-image team -All rights reserved.

    -

    Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met:

    -
      -
    1. -
      Redistributions of source code must retain the above copyright

      notice, this list of conditions and the following disclaimer.

      -
      -
      -
    2. -
    3. -
      Redistributions in binary form must reproduce the above copyright

      notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the -distribution.

      -
      -
      -
    4. -
    5. -
      Neither the name of skimage nor the names of its contributors may be

      used to endorse or promote products derived from this software without -specific prior written permission.

      -
      -
      -
    6. -
    -

    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS’’ AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE.

    -
    - -
    - -
    -
    -
    -

    Image Quality metrics#

    -
    -
    -cil.utilities.quality_measures.mse(dc1, dc2, mask=None)[source]#
    -

    Calculates the mean squared error of two images

    -
    -
    Parameters
    -
      -
    • dc1 (DataContainer) – One image to be compared

    • -
    • dc2 (DataContainer) – Second image to be compared

    • -
    • mask (array or DataContainer with the same dimensions as the dc1 and dc2) – The pixelwise operation only considers values where the mask is True or NonZero.

    • -
    -
    -
    Returns
    -

    -
    -
    Return type
    -

    A number, the mean squared error of the two images

    -
    -
    -
    - -
    -
    -cil.utilities.quality_measures.mae(dc1, dc2, mask=None)[source]#
    -

    Calculates the Mean Absolute error of two images.

    -
    -
    Parameters
    -
      -
    • dc1 (DataContainer) – One image to be compared

    • -
    • dc2 (DataContainer) – Second image to be compared

    • -
    • mask (array or DataContainer with the same dimensions as the dc1 and dc2) – The pixelwise operation only considers values where the mask is True or NonZero.

    • -
    -
    -
    Returns
    -

    -
    -
    Return type
    -

    A number with the mean absolute error between the two images.

    -
    -
    -
    - -
    -
    -cil.utilities.quality_measures.psnr(ground_truth, corrupted, data_range=None, mask=None)[source]#
    -

    Calculates the Peak signal to noise ratio (PSNR) between the two images.

    -
    -
    Parameters
    -
      -
    • ground_truth (DataContainer) – The reference image

    • -
    • corrupted (DataContainer) – The image to be evaluated

    • -
    • data_range (scalar value, default=None) – PSNR scaling factor, the dynamic range of the images (i.e., the difference between the maximum the and minimum allowed values). We take the maximum value in the ground truth array.

    • -
    • mask (array or DataContainer with the same dimensions as the dc1 and dc2) – The pixelwise operation only considers values where the mask is True or NonZero..

    • -
    -
    -
    Returns
    -

    -
    -
    Return type
    -

    A number, the peak signal to noise ration between the two images.

    -
    -
    -
    - -
    -
    -

    Visualisation#

    -
    -

    show2D - Display 2D slices#

    -
    -
    -class cil.utilities.display.show2D(datacontainers, title=None, slice_list=None, fix_range=False, axis_labels=None, origin='lower-left', cmap='gray', num_cols=2, size=(15, 15))[source]#
    -

    This plots 2D slices from cil DataContainer types.

    -

    Plots 1 or more 2D plots in an (n x num_cols) matrix. -Can plot multiple slices from one 3D dataset, or compare multiple datasets -Inputs can be single arguments or list of arguments that will be sequentially applied to subplots -If no slice_list is passed a 3D dataset will display the centre slice of the outer dimension, a 4D dataset will show the centre slices of the two outer dimension.

    -
    -
    Parameters
    -
      -
    • datacontainers (ImageData, AcquisitionData, list of ImageData / AcquisitionData, BlockDataContainer) – The DataContainers to be displayed

    • -
    • title (string, list of strings, optional) – The title for each figure

    • -
    • slice_list (tuple, int, list of tuples, list of ints, optional) – The slices to show. A list of integers will show slices for the outer dimension. For 3D datacontainers single slice: (direction, index). For 4D datacontainers two slices: [(direction0, index),(direction1, index)].

    • -
    • fix_range (boolean, tuple, list of tuples) – Sets the display range of the data. True sets all plots to the global (min, max).

    • -
    • axis_labels (tuple, list of tuples, optional) – The axis labels for each figure e.g. (‘x’,’y’)

    • -
    • origin (string, list of strings) – Sets the display origin. ‘lower/upper-left/right’

    • -
    • cmap (str, list or tuple of strings) – Sets the colour map of the plot (see matplotlib.pyplot). If passed a list or tuple of the -length of datacontainers, allows to set a different color map for each datacontainer.

    • -
    • num_cols (int) – Sets the number of columns of subplots to display

    • -
    • size (tuple) – Figure size in inches

    • -
    -
    -
    Returns
    -

    returns a matplotlib.pyplot figure object

    -
    -
    Return type
    -

    matplotlib.figure.Figure

    -
    -
    -
    -
    -save(filename, **kwargs)#
    -

    Saves the image as a .png using matplotlib.figure.savefig()

    -

    matplotlib kwargs can be passed, refer to documentation -https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.savefig.html

    -
    - -
    - -
    -
    -

    show1D - Display 1D slices#

    -
    -
    -class cil.utilities.display.show1D(data, slice_list=None, label='default', title=None, line_colours=None, line_styles=None, axis_labels=('Index', 'Value'), size=(8, 6))[source]#
    -

    This creates and displays 1D plots of pixel values by slicing -multi-dimensional data.

    -

    The behaviour is as follows: if provided multiple datasets and a single -slice set (see first example below), one line plot will be generated -per dataset; if provided a single dataset and multiple sets of slices -(see second example below), one line plot will be generated per slice -set; if provided multiple datasets and multiple slice sets, the -\(i\)-th set of slices will apply to the \(i\)-th dataset, with -a line plot generated in each case.

    -
    -
    Parameters
    -
      -
    • data (DataContainer, list of DataContainer, tuple of DataContainer) – Multi-dimensional data to be reduced to 1D.

    • -
    • slice_list (tuple, list of tuple or list of list of tuple, default=None) – A tuple of (dimension, coordinate) pair, or a list, or nested list, of -such pairs for slicing data (default is None, which is only valid when 1D -data is passed)

    • -
    • label ('default', str, list of str, None, default='default') – Label(s) to use in the plot’s legend. Use None to suppress legend.

    • -
    • title (str, default None) – A title for the plot

    • -
    • line_colours (str, list of str, default=None) – Colour(s) for each line plot

    • -
    • line_styles ({"-","--","-.",":"}, list of {"-","--","-.",":"}, default=None) – Linestyle(s) for each line plot

    • -
    • axis_labels (tuple of str, list of str, default=('Index','Value')) – Axis labels in the form (x_axis_label,y_axis_label)

    • -
    • num_cols (int, default=3) – The number of columns in the grid of subplots produced in the case -of multiple plots

    • -
    • size (tuple, default=(8,6)) – The size of the figure

    • -
    -
    -
    -
    -
    -figure#
    -
    -
    Type
    -

    matplotlib.figure.Figure

    -
    -
    -
    - -

    Examples

    -

    This example creates two 2D datasets (images), and uses the provided -slicing information to generate two plots on the same axis, -corresponding to the two datasets.

    -
    >>> from cil.utilities.display import show1D
    ->>> from cil.utilities.dataexample import PEPPERS
    ->>> data = PEPPERS.get()
    ->>> data_channel0 = data.get_slice(channel=0)
    ->>> data_channel1 = data.get_slice(channel=1)
    ->>> show1D([data_channel0, data_channel1], slice_list=[('horizontal_x', 256)],
    -...        label=['Channel 0', 'Channel 1'], line_styles=["--", "-"])
    -
    -
    -

    The following example uses two sets of slicing information applied to a -single dataset, resulting in two separate plots.

    -
    >>> from cil.utilities.display import show1D
    ->>> from cil.utilities.dataexample import PEPPERS
    ->>> data = PEPPERS.get()
    ->>> slices = [[('channel', 0), ('horizontal_x', 256)], [('channel', 1), ('horizontal_y', 256)]]
    ->>> show1D(data, slice_list=slices, title=['Channel 0', 'Channel 1'])
    -
    -
    -
    -
    -save(filename, **kwargs)#
    -

    Saves the image as a .png using matplotlib.figure.savefig()

    -

    matplotlib kwargs can be passed, refer to documentation -https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.savefig.html

    -
    - -
    - -
    -
    -

    show_geometry - Display system geometry#

    -
    -
    -class cil.utilities.display.show_geometry(acquisition_geometry, image_geometry=None, elevation=20, azimuthal=- 35, view_distance=10, grid=False, figsize=(10, 10), fontsize=10)[source]#
    -

    Displays a schematic of the acquisition geometry -for 2D geometries elevation and azimuthal cannot be changed

    -
    -
    Parameters
    -
      -
    • acquisition_geometry (AcquisitionGeometry) – CIL acquisition geometry

    • -
    • image_geometry (ImageGeometry, optional) – CIL image geometry

    • -
    • elevation (float) – Camera elevation in degrees, 3D geometries only, default=20

    • -
    • azimuthal (float) – Camera azimuthal in degrees, 3D geometries only, default=-35

    • -
    • view_distance (float) – Camera view distance, default=10

    • -
    • grid (boolean) – Show figure axis, default=False

    • -
    • figsize (tuple (x, y)) – Set figure size (inches), default (10,10)

    • -
    • fontsize (int) – Set fontsize, default 10

    • -
    -
    -
    Returns
    -

    returns a matplotlib.pyplot figure object

    -
    -
    Return type
    -

    matplotlib.figure.Figure

    -
    -
    -
    -
    -save(filename, **kwargs)#
    -

    Saves the image as a .png using matplotlib.figure.savefig()

    -

    matplotlib kwargs can be passed, refer to documentation -https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.savefig.html

    -
    - -
    - -
    -
    -

    islicer - interactive display of 2D slices#

    -
    -
    -class cil.utilities.jupyter.islicer(data, direction=0, title=None, slice_number=None, cmap='gray', minmax=None, size=None, axis_labels=None, origin='lower-left', play_interval=500)[source]#
    -

    Creates an interactive slider that slices a 3D volume along an axis.

    -
    -
    Parameters
    -
      -
    • data (DataContainer or numpy.ndarray) – A 3-dimensional dataset from which 2-dimensional slices will be -shown

    • -
    • direction (int) – Axis to slice on. Can be 0,1,2 or the axis label, default 0

    • -
    • title (str, list of str or tuple of str, default='') – Title for the display

    • -
    • slice_number (int, optional) – Start slice number (default is None, which results in the center -slice being shown initially)

    • -
    • cmap (str or matplotlib.colors.Colormap, default='gray') – Set the colour map

    • -
    • minmax (tuple) – Colorbar (min, max) values, default None (uses the min, max of -values in data)

    • -
    • size (int or tuple, optional) – Specify the figure size in inches. If int this specifies the -width, and scales the height in order to keep the standard -matplotlib aspect ratio, default None (use the default matplotlib -figure size)

    • -
    • axis_labels (list of str, optional) – The axis labels to use for each of the 3 dimensions in the data -(default is None, resulting in labels extracted from the data, or -[‘X’,’Y’,’Z’] if no labels are present)

    • -
    • origin ({'lower-left', 'upper-left', 'lower-right', 'upper-right'}) – Sets the display origin

    • -
    • play_interval (int, default=500) – The interval of time (in ms) a slice is selected for when iterating -through a set of them

    • -
    -
    -
    Returns
    -

    box – The top-level widget container.

    -
    -
    Return type
    -

    ipywidgets.Box

    -
    -
    -
    - -
    - -
    -
    - - -
    - - - - - -
    - - -
    -
    - - - -
    -
    - - - - - -
    -
    - - \ No newline at end of file diff --git a/nightly/utilities/index.html b/nightly/utilities/index.html new file mode 100644 index 0000000000..11cf76c746 --- /dev/null +++ b/nightly/utilities/index.html @@ -0,0 +1,1049 @@ + + + + + + + + + + + + Utilities — CIL 23.1.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + + +
    +
    + +
    + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    +
    + +
    + +
    + + + + +
    + +
    + + +
    +
    + + + + + +
    + +
    +

    Utilities#

    +
    +

    Test datasets#

    +

    A range of small test datasets to generate and use

    +
    +

    A set of simulated volumes and CT data#

    +
    +
    +class cil.utilities.dataexample.SIMULATED_CONE_BEAM_DATA[source]#
    +
    +
    +classmethod get(**kwargs)[source]#
    +

    A cone-beam dataset generated from SIMULATED_SPHERE_VOLUME

    +
    +
    Parameters
    +

    data_dir (str, optional) – The path to the data directory

    +
    +
    Returns
    +

    The simulated spheres dataset

    +
    +
    Return type
    +

    AcquisitionData

    +
    +
    +
    + +
    + +
    +
    +class cil.utilities.dataexample.SIMULATED_PARALLEL_BEAM_DATA[source]#
    +
    +
    +classmethod get(**kwargs)[source]#
    +

    A simulated parallel-beam dataset generated from SIMULATED_SPHERE_VOLUME

    +
    +
    Parameters
    +

    data_dir (str, optional) – The path to the data directory

    +
    +
    Returns
    +

    The simulated spheres dataset

    +
    +
    Return type
    +

    AcquisitionData

    +
    +
    +
    + +
    + +
    +
    +class cil.utilities.dataexample.SIMULATED_CONE_BEAM_DATA[source]#
    +
    +
    +classmethod get(**kwargs)[source]#
    +

    A cone-beam dataset generated from SIMULATED_SPHERE_VOLUME

    +
    +
    Parameters
    +

    data_dir (str, optional) – The path to the data directory

    +
    +
    Returns
    +

    The simulated spheres dataset

    +
    +
    Return type
    +

    AcquisitionData

    +
    +
    +
    + +
    + +
    +
    +

    A CT dataset from the Diamond Light Source#

    +
    +
    +class cil.utilities.dataexample.SYNCHROTRON_PARALLEL_BEAM_DATA[source]#
    +
    +
    +classmethod get(**kwargs)[source]#
    +

    A DLS dataset

    +
    +
    Parameters
    +

    data_dir (str, optional) – The path to the data directory

    +
    +
    Returns
    +

    The DLS dataset

    +
    +
    Return type
    +

    AcquisitionData

    +
    +
    +
    + +
    + +
    +
    +

    Simulated image data#

    +
    +
    +class cil.utilities.dataexample.TestData(**kwargs)[source]#
    +

    Class to return test data

    +

    provides 6 dataset: +BOAT = ‘boat.tiff’ +CAMERA = ‘camera.png’ +PEPPERS = ‘peppers.tiff’ +RESOLUTION_CHART = ‘resolution_chart.tiff’ +SIMPLE_PHANTOM_2D = ‘hotdog’ +SHAPES = ‘shapes.png’ +RAINBOW = ‘rainbow.png’

    +
    +
    +load(which, size=None, scale=(0, 1), **kwargs)[source]#
    +

    Return a test data of the requested image

    +
    +
    Parameters
    +
      +
    • which (str) – Image selector: BOAT, CAMERA, PEPPERS, RESOLUTION_CHART, SIMPLE_PHANTOM_2D, SHAPES, RAINBOW

    • +
    • size (tuple, optional) – The size of the returned ImageData. If None default will be used for each image type

    • +
    • scale (tuple, optional) – The scale of the data values

    • +
    +
    +
    Returns
    +

    The simulated spheres volume

    +
    +
    Return type
    +

    ImageData

    +
    +
    +
    + +
    +
    +static random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs)[source]#
    +

    Function to add noise to input image

    +
    +
    Parameters
    +
      +
    • image – input dataset, DataContainer of numpy.ndarray

    • +
    • mode – type of noise

    • +
    • seed – seed for random number generator

    • +
    • clip – should clip the data.

    • +
    +
    +
    +

    See scikit-image/scikit-image

    +
    + +
    +
    +static scikit_random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs)[source]#
    +

    Function to add random noise of various types to a floating-point image. +:param image: Input image data. Will be converted to float. +:type image: ndarray +:param mode: One of the following strings, selecting the type of noise to add:

    +
    +
      +
    • ‘gaussian’ Gaussian-distributed additive noise.

    • +
    • +
      ‘localvar’ Gaussian-distributed additive noise, with specified

      local variance at each point of image.

      +
      +
      +
    • +
    • ‘poisson’ Poisson-distributed noise generated from the data.

    • +
    • ‘salt’ Replaces random pixels with 1.

    • +
    • +
      ‘pepper’ Replaces random pixels with 0 (for unsigned images) or

      -1 (for signed images).

      +
      +
      +
    • +
    • +
      ‘s&p’ Replaces random pixels with either 1 or low_val, where

      low_val is 0 for unsigned images or -1 for signed +images.

      +
      +
      +
    • +
    • +
      ‘speckle’ Multiplicative noise using out = image + n*image, where

      n is uniform noise with specified mean & variance.

      +
      +
      +
    • +
    +
    +
    +
    Parameters
    +
      +
    • seed (int, optional) – If provided, this will set the random seed before generating noise, +for valid pseudo-random comparisons.

    • +
    • clip (bool, optional) – If True (default), the output will be clipped after noise applied +for modes ‘speckle’, ‘poisson’, and ‘gaussian’. This is +needed to maintain the proper image data range. If False, clipping +is not applied, and the output may extend beyond the range [-1, 1].

    • +
    • mean (float, optional) – Mean of random distribution. Used in ‘gaussian’ and ‘speckle’. +Default : 0.

    • +
    • var (float, optional) – Variance of random distribution. Used in ‘gaussian’ and ‘speckle’. +Note: variance = (standard deviation) ** 2. Default : 0.01

    • +
    • local_vars (ndarray, optional) – Array of positive floats, same shape as image, defining the local +variance at every image point. Used in ‘localvar’.

    • +
    • amount (float, optional) – Proportion of image pixels to replace with noise on range [0, 1]. +Used in ‘salt’, ‘pepper’, and ‘salt & pepper’. Default : 0.05

    • +
    • salt_vs_pepper (float, optional) – Proportion of salt vs. pepper noise for ‘s&p’ on range [0, 1]. +Higher values represent more salt. Default : 0.5 (equal amounts)

    • +
    +
    +
    Returns
    +

    out – Output floating-point image data on range [0, 1] or [-1, 1] if the +input image was unsigned or signed, respectively.

    +
    +
    Return type
    +

    ndarray

    +
    +
    +

    Notes

    +

    Speckle, Poisson, Localvar, and Gaussian noise may generate noise outside +the valid image range. The default is to clip (not alias) these values, +but they may be preserved by setting clip=False. Note that in this case +the output may contain values outside the ranges [0, 1] or [-1, 1]. +Use this option with care. +Because of the prevalence of exclusively positive floating-point images in +intermediate calculations, it is not possible to intuit if an input is +signed based on dtype alone. Instead, negative values are explicitly +searched for. Only if found does this function assume signed input. +Unexpected results only occur in rare, poorly exposes cases (e.g. if all +values are above 50 percent gray in a signed image). In this event, +manually scaling the input to the positive domain will solve the problem. +The Poisson distribution is only defined for positive integers. To apply +this noise type, the number of unique values in the image is found and +the next round power of two is used to scale up the floating-point result, +after which it is scaled back down to the floating-point image range. +To generate Poisson noise against a signed image, the signed image is +temporarily converted to an unsigned image in the floating point domain, +Poisson noise is generated, then it is returned to the original range.

    +

    This function is adapted from scikit-image. +scikit-image/scikit-image

    +

    Copyright (C) 2019, the scikit-image team +All rights reserved.

    +

    Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met:

    +
      +
    1. +
      Redistributions of source code must retain the above copyright

      notice, this list of conditions and the following disclaimer.

      +
      +
      +
    2. +
    3. +
      Redistributions in binary form must reproduce the above copyright

      notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the +distribution.

      +
      +
      +
    4. +
    5. +
      Neither the name of skimage nor the names of its contributors may be

      used to endorse or promote products derived from this software without +specific prior written permission.

      +
      +
      +
    6. +
    +

    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS’’ AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE.

    +
    + +
    + +
    +
    +
    +

    Image Quality metrics#

    +
    +
    +cil.utilities.quality_measures.mse(dc1, dc2, mask=None)[source]#
    +

    Calculates the mean squared error of two images

    +
    +
    Parameters
    +
      +
    • dc1 (DataContainer) – One image to be compared

    • +
    • dc2 (DataContainer) – Second image to be compared

    • +
    • mask (array or DataContainer with the same dimensions as the dc1 and dc2) – The pixelwise operation only considers values where the mask is True or NonZero.

    • +
    +
    +
    Return type
    +

    A number, the mean squared error of the two images

    +
    +
    +
    + +
    +
    +cil.utilities.quality_measures.mae(dc1, dc2, mask=None)[source]#
    +

    Calculates the Mean Absolute error of two images.

    +
    +
    Parameters
    +
      +
    • dc1 (DataContainer) – One image to be compared

    • +
    • dc2 (DataContainer) – Second image to be compared

    • +
    • mask (array or DataContainer with the same dimensions as the dc1 and dc2) – The pixelwise operation only considers values where the mask is True or NonZero.

    • +
    +
    +
    Return type
    +

    A number with the mean absolute error between the two images.

    +
    +
    +
    + +
    +
    +cil.utilities.quality_measures.psnr(ground_truth, corrupted, data_range=None, mask=None)[source]#
    +

    Calculates the Peak signal to noise ratio (PSNR) between the two images.

    +
    +
    Parameters
    +
      +
    • ground_truth (DataContainer) – The reference image

    • +
    • corrupted (DataContainer) – The image to be evaluated

    • +
    • data_range (scalar value, default=None) – PSNR scaling factor, the dynamic range of the images (i.e., the difference between the maximum the and minimum allowed values). We take the maximum value in the ground truth array.

    • +
    • mask (array or DataContainer with the same dimensions as the dc1 and dc2) – The pixelwise operation only considers values where the mask is True or NonZero..

    • +
    +
    +
    Return type
    +

    A number, the peak signal to noise ration between the two images.

    +
    +
    +
    + +
    +
    +

    Visualisation#

    +
    +

    show2D - Display 2D slices#

    +
    +
    +class cil.utilities.display.show2D(datacontainers, title=None, slice_list=None, fix_range=False, axis_labels=None, origin='lower-left', cmap='gray', num_cols=2, size=(15, 15))[source]#
    +

    This plots 2D slices from cil DataContainer types.

    +

    Plots 1 or more 2D plots in an (n x num_cols) matrix. +Can plot multiple slices from one 3D dataset, or compare multiple datasets +Inputs can be single arguments or list of arguments that will be sequentially applied to subplots +If no slice_list is passed a 3D dataset will display the centre slice of the outer dimension, a 4D dataset will show the centre slices of the two outer dimension.

    +
    +
    Parameters
    +
      +
    • datacontainers (ImageData, AcquisitionData, list of ImageData / AcquisitionData, BlockDataContainer) – The DataContainers to be displayed

    • +
    • title (string, list of strings, optional) – The title for each figure

    • +
    • slice_list (tuple, int, list of tuples, list of ints, optional) – The slices to show. A list of integers will show slices for the outer dimension. For 3D datacontainers single slice: (direction, index). For 4D datacontainers two slices: [(direction0, index),(direction1, index)].

    • +
    • fix_range (boolean, tuple, list of tuples) – Sets the display range of the data. True sets all plots to the global (min, max).

    • +
    • axis_labels (tuple, list of tuples, optional) – The axis labels for each figure e.g. (‘x’,’y’)

    • +
    • origin (string, list of strings) – Sets the display origin. ‘lower/upper-left/right’

    • +
    • cmap (str, list or tuple of strings) – Sets the colour map of the plot (see matplotlib.pyplot). If passed a list or tuple of the +length of datacontainers, allows to set a different color map for each datacontainer.

    • +
    • num_cols (int) – Sets the number of columns of subplots to display

    • +
    • size (tuple) – Figure size in inches

    • +
    +
    +
    Returns
    +

    returns a matplotlib.pyplot figure object

    +
    +
    Return type
    +

    matplotlib.figure.Figure

    +
    +
    +
    +
    +save(filename, **kwargs)#
    +

    Saves the image as a .png using matplotlib.figure.savefig()

    +

    matplotlib kwargs can be passed, refer to documentation +https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.savefig.html

    +
    + +
    + +
    +
    +

    show1D - Display 1D slices#

    +
    +
    +class cil.utilities.display.show1D(data, slice_list=None, label='default', title=None, line_colours=None, line_styles=None, axis_labels=('Index', 'Value'), size=(8, 6))[source]#
    +

    This creates and displays 1D plots of pixel values by slicing +multi-dimensional data.

    +

    The behaviour is as follows: if provided multiple datasets and a single +slice set (see first example below), one line plot will be generated +per dataset; if provided a single dataset and multiple sets of slices +(see second example below), one line plot will be generated per slice +set; if provided multiple datasets and multiple slice sets, the +\(i\)-th set of slices will apply to the \(i\)-th dataset, with +a line plot generated in each case.

    +
    +
    Parameters
    +
      +
    • data (DataContainer, list of DataContainer, tuple of DataContainer) – Multi-dimensional data to be reduced to 1D.

    • +
    • slice_list (tuple, list of tuple or list of list of tuple, default=None) – A tuple of (dimension, coordinate) pair, or a list, or nested list, of +such pairs for slicing data (default is None, which is only valid when 1D +data is passed)

    • +
    • label ('default', str, list of str, None, default='default') – Label(s) to use in the plot’s legend. Use None to suppress legend.

    • +
    • title (str, default None) – A title for the plot

    • +
    • line_colours (str, list of str, default=None) – Colour(s) for each line plot

    • +
    • line_styles ({"-","--","-.",":"}, list of {"-","--","-.",":"}, default=None) – Linestyle(s) for each line plot

    • +
    • axis_labels (tuple of str, list of str, default=('Index','Value')) – Axis labels in the form (x_axis_label,y_axis_label)

    • +
    • num_cols (int, default=3) – The number of columns in the grid of subplots produced in the case +of multiple plots

    • +
    • size (tuple, default=(8,6)) – The size of the figure

    • +
    +
    +
    +
    +
    +figure#
    +
    +
    Type
    +

    matplotlib.figure.Figure

    +
    +
    +
    + +

    Examples

    +

    This example creates two 2D datasets (images), and uses the provided +slicing information to generate two plots on the same axis, +corresponding to the two datasets.

    +
    >>> from cil.utilities.display import show1D
    +>>> from cil.utilities.dataexample import PEPPERS
    +>>> data = PEPPERS.get()
    +>>> data_channel0 = data.get_slice(channel=0)
    +>>> data_channel1 = data.get_slice(channel=1)
    +>>> show1D([data_channel0, data_channel1], slice_list=[('horizontal_x', 256)],
    +...        label=['Channel 0', 'Channel 1'], line_styles=["--", "-"])
    +
    +
    +

    The following example uses two sets of slicing information applied to a +single dataset, resulting in two separate plots.

    +
    >>> from cil.utilities.display import show1D
    +>>> from cil.utilities.dataexample import PEPPERS
    +>>> data = PEPPERS.get()
    +>>> slices = [[('channel', 0), ('horizontal_x', 256)], [('channel', 1), ('horizontal_y', 256)]]
    +>>> show1D(data, slice_list=slices, title=['Channel 0', 'Channel 1'])
    +
    +
    +
    +
    +save(filename, **kwargs)#
    +

    Saves the image as a .png using matplotlib.figure.savefig()

    +

    matplotlib kwargs can be passed, refer to documentation +https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.savefig.html

    +
    + +
    + +
    +
    +

    show_geometry - Display system geometry#

    +
    +
    +class cil.utilities.display.show_geometry(acquisition_geometry, image_geometry=None, elevation=20, azimuthal=- 35, view_distance=10, grid=False, figsize=(10, 10), fontsize=10)[source]#
    +

    Displays a schematic of the acquisition geometry +for 2D geometries elevation and azimuthal cannot be changed

    +
    +
    Parameters
    +
      +
    • acquisition_geometry (AcquisitionGeometry) – CIL acquisition geometry

    • +
    • image_geometry (ImageGeometry, optional) – CIL image geometry

    • +
    • elevation (float) – Camera elevation in degrees, 3D geometries only, default=20

    • +
    • azimuthal (float) – Camera azimuthal in degrees, 3D geometries only, default=-35

    • +
    • view_distance (float) – Camera view distance, default=10

    • +
    • grid (boolean) – Show figure axis, default=False

    • +
    • figsize (tuple (x, y)) – Set figure size (inches), default (10,10)

    • +
    • fontsize (int) – Set fontsize, default 10

    • +
    +
    +
    Returns
    +

    returns a matplotlib.pyplot figure object

    +
    +
    Return type
    +

    matplotlib.figure.Figure

    +
    +
    +
    +
    +save(filename, **kwargs)#
    +

    Saves the image as a .png using matplotlib.figure.savefig()

    +

    matplotlib kwargs can be passed, refer to documentation +https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.savefig.html

    +
    + +
    + +
    +
    +

    islicer - interactive display of 2D slices#

    +
    + +
    +
    + + +
    + + + + + +
    + + + + +
    +
    + +
    + +
    +
    +
    + + + + + + + + \ No newline at end of file diff --git a/versions.json b/versions.json new file mode 100644 index 0000000000..6a33c46657 --- /dev/null +++ b/versions.json @@ -0,0 +1 @@ +[{"name": "nightly", "version": "23.1.0", "url": "/CIL/nightly/"}] \ No newline at end of file