summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-04-15 03:02:52 +0000
committerNorbert Preining <norbert@preining.info>2020-04-15 03:02:52 +0000
commite768cc604852d6fe8821592cea67835f67eab0db (patch)
tree06dc26d3571570f9578f59825f6ecc2186dfb47c
parentc7235aafe4ddb8f9800cdf784212d4c53bb53e32 (diff)
CTAN sync 202004150302
-rw-r--r--FILES.byname845
-rw-r--r--FILES.byname.gzbin2210718 -> 2210801 bytes
-rw-r--r--FILES.last07days670
-rw-r--r--graphics/pgf/contrib/yquant/README.md3
-rw-r--r--graphics/pgf/contrib/yquant/doc/yquant-doc.pdfbin467903 -> 512339 bytes
-rw-r--r--graphics/pgf/contrib/yquant/doc/yquant-doc.tex342
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-circuit.tex304
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-config.tex188
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-draw.tex410
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-env.tex8
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-lang.tex151
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-langhelper.tex16
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-registers.tex365
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-shapes.tex610
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant-tools.tex41
-rw-r--r--graphics/pgf/contrib/yquant/tex/yquant.sty8
-rw-r--r--macros/generic/chemfig/README4
-rw-r--r--macros/generic/chemfig/chemfig-en.pdfbin1087379 -> 1087261 bytes
-rw-r--r--macros/generic/chemfig/chemfig-fr.pdfbin1115561 -> 1115526 bytes
-rw-r--r--macros/generic/chemfig/chemfig.tex30
-rw-r--r--macros/latex/contrib/asmeconf/README.md6
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-sample.bib470
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.pdfbin419299 -> 425075 bytes
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf-template.tex235
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf.bst275
-rw-r--r--macros/latex/contrib/asmeconf/asmeconf.cls8
-rw-r--r--macros/latex/contrib/embedfile/embedfile.dtx35
-rw-r--r--macros/latex/contrib/embedfile/embedfile.pdfbin391565 -> 397083 bytes
-rw-r--r--macros/latex/contrib/iodhbwm/tex/iodhbwm-i18n.def (renamed from macros/latex/contrib/iodhbwm/tex/i18n.def)0
-rw-r--r--macros/latex/contrib/iodhbwm/tex/iodhbwm-templates.sty6
-rw-r--r--macros/latex/contrib/iodhbwm/tex/iodhbwm.cls4
-rw-r--r--macros/latex/contrib/media4svg/ChangeLog4
-rw-r--r--macros/latex/contrib/media4svg/README.md2
-rw-r--r--macros/latex/contrib/media4svg/example/beamer-example-1.svg14
-rw-r--r--macros/latex/contrib/media4svg/example/beamer-example-2.svg10
-rw-r--r--macros/latex/contrib/media4svg/example/beamer-example-3.svg8
-rw-r--r--macros/latex/contrib/media4svg/example/beamer-example-4.svg12
-rw-r--r--macros/latex/contrib/media4svg/media4svg.sty53
-rw-r--r--macros/luatex/latex/emojicite/LICENSE.txt416
-rw-r--r--macros/luatex/latex/emojicite/README.md72
-rw-r--r--macros/luatex/latex/emojicite/emojicite-doc.pdfbin0 -> 175903 bytes
-rw-r--r--macros/luatex/latex/emojicite/emojicite-doc.tex182
-rw-r--r--macros/luatex/latex/emojicite/emojicite.sty101
-rw-r--r--macros/luatex/latex/emojicite/example.tex12
-rw-r--r--obsolete/macros/latex/contrib/latex-tds/README (renamed from macros/latex/contrib/latex-tds/README)0
-rw-r--r--obsolete/macros/latex/contrib/latex-tds/README.html (renamed from macros/latex/contrib/latex-tds/README.html)0
-rw-r--r--obsolete/macros/latex/contrib/latex-tds/README.pdf (renamed from macros/latex/contrib/latex-tds/README.pdf)bin104081 -> 104081 bytes
-rw-r--r--support/arara/README.md2
-rw-r--r--support/arara/doc/arara-manual.pdfbin1862533 -> 1865024 bytes
-rw-r--r--support/arara/doc/arara-manual.tex2
-rw-r--r--support/arara/doc/chapters/concepts.tex6
-rw-r--r--support/arara/scripts/rules/animate.yaml4
-rw-r--r--support/arara/scripts/rules/asymptote.yaml2
-rw-r--r--support/arara/scripts/rules/bib2gls.yaml5
-rw-r--r--support/arara/scripts/rules/biber.yaml3
-rw-r--r--support/arara/scripts/rules/bibtex.yaml2
-rw-r--r--support/arara/scripts/rules/bibtex8.yaml2
-rw-r--r--support/arara/scripts/rules/bibtexu.yaml2
-rw-r--r--support/arara/scripts/rules/context.yaml2
-rw-r--r--support/arara/scripts/rules/csplain.yaml2
-rw-r--r--support/arara/scripts/rules/detex.yaml2
-rw-r--r--support/arara/scripts/rules/dvipdfm.yaml4
-rw-r--r--support/arara/scripts/rules/dvipdfmx.yaml4
-rw-r--r--support/arara/scripts/rules/dvips.yaml4
-rw-r--r--support/arara/scripts/rules/dvipspdf.yaml8
-rw-r--r--support/arara/scripts/rules/dvisvgm.yaml2
-rw-r--r--support/arara/scripts/rules/etex.yaml3
-rw-r--r--support/arara/scripts/rules/fig2dev.yaml2
-rw-r--r--support/arara/scripts/rules/frontespizio.yaml10
-rw-r--r--support/arara/scripts/rules/indent.yaml4
-rw-r--r--support/arara/scripts/rules/knitr.yaml2
-rw-r--r--support/arara/scripts/rules/latex.yaml2
-rw-r--r--support/arara/scripts/rules/latexmk.yaml2
-rw-r--r--support/arara/scripts/rules/luahbtex.yaml2
-rw-r--r--support/arara/scripts/rules/lualatex.yaml2
-rw-r--r--support/arara/scripts/rules/luatex.yaml2
-rw-r--r--support/arara/scripts/rules/makeglossaries.yaml3
-rw-r--r--support/arara/scripts/rules/makeglossarieslite.yaml3
-rw-r--r--support/arara/scripts/rules/makeindex.yaml2
-rw-r--r--support/arara/scripts/rules/metapost.yaml2
-rw-r--r--support/arara/scripts/rules/nomencl.yaml4
-rw-r--r--support/arara/scripts/rules/pbibtex.yaml2
-rw-r--r--support/arara/scripts/rules/pdfcsplain.yaml2
-rw-r--r--support/arara/scripts/rules/pdflatex.yaml2
-rw-r--r--support/arara/scripts/rules/pdftex.yaml2
-rw-r--r--support/arara/scripts/rules/pdftk.yaml2
-rw-r--r--support/arara/scripts/rules/platex.yaml2
-rw-r--r--support/arara/scripts/rules/ps2pdf.yaml4
-rw-r--r--support/arara/scripts/rules/ptex.yaml2
-rw-r--r--support/arara/scripts/rules/sketch.yaml5
-rw-r--r--support/arara/scripts/rules/tex.yaml3
-rw-r--r--support/arara/scripts/rules/texcount.yaml3
-rw-r--r--support/arara/scripts/rules/texindy.yaml2
-rw-r--r--support/arara/scripts/rules/tikzmake.yaml2
-rw-r--r--support/arara/scripts/rules/upbibtex.yaml3
-rw-r--r--support/arara/scripts/rules/uplatex.yaml2
-rw-r--r--support/arara/scripts/rules/uptex.yaml2
-rw-r--r--support/arara/scripts/rules/xdvipdfmx.yaml4
-rw-r--r--support/arara/scripts/rules/xelatex.yaml2
-rw-r--r--support/arara/scripts/rules/xetex.yaml2
-rw-r--r--support/arara/scripts/rules/xindy.yaml2
-rw-r--r--support/pkgcheck/CHANGES.md17
-rw-r--r--support/pkgcheck/Cargo.toml9
-rwxr-xr-xsupport/pkgcheck/bin/pkgcheckbin7026480 -> 6109008 bytes
-rw-r--r--support/pkgcheck/docs/errorsd.tex7
-rw-r--r--support/pkgcheck/docs/pkgcheck.pdfbin69832 -> 75087 bytes
-rw-r--r--support/pkgcheck/docs/title.tex2
-rw-r--r--support/pkgcheck/src/generate.pest.md4
-rw-r--r--support/pkgcheck/src/main.rs66
-rw-r--r--support/pkgcheck/src/messages/errorsd.rs5
-rw-r--r--support/pkgcheck/src/utils.rs2
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl8
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt3466
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb617
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2183640 -> 2188600 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini6
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini6
-rw-r--r--systems/win32/w32tex/ChangeLog30
-rw-r--r--timestamp2
122 files changed, 8010 insertions, 2328 deletions
diff --git a/FILES.byname b/FILES.byname
index 492bdf2e91..2c5d0f1787 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5001,7 +5001,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2020/04/13 | 73273 | FILES.last07days
+2020/04/14 | 69571 | FILES.last07days
2018/06/27 | 99883 | fonts/academicons/academicons.pdf
2018/06/27 | 10779 | fonts/academicons/academicons.sty
2018/06/27 | 5774 | fonts/academicons/academicons.tex
@@ -135572,20 +135572,20 @@
2016/09/12 | 139796 | graphics/pgf/contrib/xebaposter/xebaposter-doc.pdf
2016/09/12 | 27760 | graphics/pgf/contrib/xebaposter/xebaposter-doc.tex
2016/09/12 | 422607 | graphics/pgf/contrib/xebaposter.zip
-2020/03/22 | 467903 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
-2020/03/23 | 134197 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
-2020/03/23 | 3737 | graphics/pgf/contrib/yquant/README.md
-2020/03/23 | 18886 | graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
-2020/03/23 | 5264 | graphics/pgf/contrib/yquant/tex/yquant-config.tex
-2020/03/23 | 14448 | graphics/pgf/contrib/yquant/tex/yquant-draw.tex
-2020/03/23 | 10452 | graphics/pgf/contrib/yquant/tex/yquant-env.tex
-2020/03/23 | 12256 | graphics/pgf/contrib/yquant/tex/yquant-langhelper.tex
-2020/03/23 | 21143 | graphics/pgf/contrib/yquant/tex/yquant-lang.tex
-2020/03/23 | 18370 | graphics/pgf/contrib/yquant/tex/yquant-registers.tex
-2020/03/23 | 22658 | graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
-2020/03/23 | 1382 | graphics/pgf/contrib/yquant/tex/yquant.sty
-2020/03/23 | 7967 | graphics/pgf/contrib/yquant/tex/yquant-tools.tex
-2020/03/23 | 419405 | graphics/pgf/contrib/yquant.zip
+2020/04/11 | 512339 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
+2020/04/14 | 146542 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
+2020/03/24 | 3815 | graphics/pgf/contrib/yquant/README.md
+2020/04/06 | 17224 | graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
+2020/04/14 | 12915 | graphics/pgf/contrib/yquant/tex/yquant-config.tex
+2020/04/14 | 27731 | graphics/pgf/contrib/yquant/tex/yquant-draw.tex
+2020/04/14 | 10349 | graphics/pgf/contrib/yquant/tex/yquant-env.tex
+2020/03/29 | 12208 | graphics/pgf/contrib/yquant/tex/yquant-langhelper.tex
+2020/04/11 | 21396 | graphics/pgf/contrib/yquant/tex/yquant-lang.tex
+2020/04/11 | 25575 | graphics/pgf/contrib/yquant/tex/yquant-registers.tex
+2020/04/14 | 24860 | graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
+2020/04/11 | 1435 | graphics/pgf/contrib/yquant/tex/yquant.sty
+2020/04/05 | 8092 | graphics/pgf/contrib/yquant/tex/yquant-tools.tex
+2020/04/14 | 461777 | graphics/pgf/contrib/yquant.zip
2007/12/11 | 654 | graphics/pgf/README
1994/04/20 | 473 | graphics/pictex/addon/00index
2008/08/12 | 1048 | graphics/pictex/addon/autoarea/ANNOUNCE.txt
@@ -162333,7 +162333,7 @@
2018/03/30 | 183071 | install/macros/latex/contrib/easyfig.tds.zip
2017/05/17 | 240523 | install/macros/latex/contrib/ebproof.tds.zip
2011/02/27 | 309139 | install/macros/latex/contrib/edfnotes.tds.zip
-2019/12/03 | 406694 | install/macros/latex/contrib/embedfile.tds.zip
+2020/04/14 | 412779 | install/macros/latex/contrib/embedfile.tds.zip
2008/08/15 | 2277719 | install/macros/latex/contrib/engpron.tds.zip
2008/05/07 | 281587 | install/macros/latex/contrib/engrec.tds.zip
2014/05/04 | 164868 | install/macros/latex/contrib/environ.tds.zip
@@ -162439,7 +162439,7 @@
2014/06/19 | 690439 | install/macros/latex/contrib/matlab-prettifier.tds.zip
2010/03/26 | 732372 | install/macros/latex/contrib/mattens.tds.zip
2013/07/01 | 1898068 | install/macros/latex/contrib/mdframed.tds.zip
-2020/04/13 | 160226 | install/macros/latex/contrib/media4svg.tds.zip
+2020/04/14 | 160649 | install/macros/latex/contrib/media4svg.tds.zip
2020/03/25 | 7429669 | install/macros/latex/contrib/media9.tds.zip
2020/03/25 | 3612179 | install/macros/latex/contrib/memoir.tds.zip
2016/08/08 | 586877 | install/macros/latex/contrib/menukeys.tds.zip
@@ -162617,7 +162617,7 @@
2020/02/01 | 1178383 | install/macros/xetex/latex/xepersian.tds.zip
2008/06/20 | 3954 | install/macros/xetex/plain/xetexfontinfo.tds.zip
2013/01/04 | 36361 | install/support/adhocfilelist.tds.zip
-2020/04/03 | 17140845 | install/support/arara.tds.zip
+2020/04/14 | 17143901 | install/support/arara.tds.zip
2019/11/05 | 310742 | install/support/chklref.tds.zip
2017/04/22 | 51557 | install/support/ctanify.tds.zip
2012/05/08 | 180596 | install/support/ctanupload.tds.zip
@@ -174595,16 +174595,16 @@
2015/05/22 | 6015 | macros/generic/catcodes/use/catchdq.sty
2012/11/07 | 4853 | macros/generic/catcodes/use/stacklet.sty
2015/11/15 | 557118 | macros/generic/catcodes.zip
-2020/04/06 | 1087379 | macros/generic/chemfig/chemfig-en.pdf
-2020/04/06 | 185808 | macros/generic/chemfig/chemfig-en.tex
-2020/04/06 | 1115561 | macros/generic/chemfig/chemfig-fr.pdf
-2020/04/06 | 200049 | macros/generic/chemfig/chemfig-fr.tex
-2020/04/06 | 109562 | macros/generic/chemfig/chemfigold.tex
-2020/04/06 | 371 | macros/generic/chemfig/chemfig.sty
-2020/04/06 | 118985 | macros/generic/chemfig/chemfig.tex
-2020/04/06 | 1126 | macros/generic/chemfig/README
-2020/04/06 | 200 | macros/generic/chemfig/t-chemfig.tex
-2020/04/07 | 2353562 | macros/generic/chemfig.zip
+2020/04/13 | 1087261 | macros/generic/chemfig/chemfig-en.pdf
+2020/04/13 | 185808 | macros/generic/chemfig/chemfig-en.tex
+2020/04/13 | 1115526 | macros/generic/chemfig/chemfig-fr.pdf
+2020/04/13 | 200049 | macros/generic/chemfig/chemfig-fr.tex
+2020/04/13 | 109562 | macros/generic/chemfig/chemfigold.tex
+2020/04/13 | 371 | macros/generic/chemfig/chemfig.sty
+2020/04/13 | 119280 | macros/generic/chemfig/chemfig.tex
+2020/04/13 | 1125 | macros/generic/chemfig/README
+2020/04/13 | 200 | macros/generic/chemfig/t-chemfig.tex
+2020/04/14 | 2353464 | macros/generic/chemfig.zip
1996/04/17 | 17290 | macros/generic/code128/code128.tex
1996/04/17 | 716 | macros/generic/code128/README
1996/04/17 | 4503 | macros/generic/code128/test128.tex
@@ -178492,16 +178492,16 @@
2013/12/04 | 19318 | macros/latex/contrib/askmaps/askmaps.tex
2013/12/04 | 745 | macros/latex/contrib/askmaps/README
2013/12/04 | 313666 | macros/latex/contrib/askmaps.zip
-2019/07/07 | 33861 | macros/latex/contrib/asmeconf/asmeconf.bst
-2020/02/29 | 33650 | macros/latex/contrib/asmeconf/asmeconf.cls
-2019/10/02 | 9272 | macros/latex/contrib/asmeconf/asmeconf-sample.bib
-2020/02/29 | 419299 | macros/latex/contrib/asmeconf/asmeconf-template.pdf
-2020/02/29 | 34613 | macros/latex/contrib/asmeconf/asmeconf-template.tex
-2020/02/29 | 4900 | macros/latex/contrib/asmeconf/README.md
+2020/04/14 | 36930 | macros/latex/contrib/asmeconf/asmeconf.bst
+2020/04/14 | 33646 | macros/latex/contrib/asmeconf/asmeconf.cls
+2020/04/14 | 11967 | macros/latex/contrib/asmeconf/asmeconf-sample.bib
+2020/04/14 | 425075 | macros/latex/contrib/asmeconf/asmeconf-template.pdf
+2020/04/14 | 36722 | macros/latex/contrib/asmeconf/asmeconf-template.tex
+2020/04/14 | 5179 | macros/latex/contrib/asmeconf/README.md
2019/03/24 | 17689 | macros/latex/contrib/asmeconf/sample-figure-1.pdf
2019/07/08 | 95556 | macros/latex/contrib/asmeconf/sample-figure-2a.pdf
2019/07/08 | 91105 | macros/latex/contrib/asmeconf/sample-figure-2b.pdf
-2020/02/29 | 625111 | macros/latex/contrib/asmeconf.zip
+2020/04/14 | 633414 | macros/latex/contrib/asmeconf.zip
2020/04/12 | 41592 | macros/latex/contrib/asmejour/asmejour.bst
2020/04/12 | 27712 | macros/latex/contrib/asmejour/asmejour.cls
2020/04/12 | 18675 | macros/latex/contrib/asmejour/asmejour-sample.bib
@@ -185387,10 +185387,10 @@
2019/05/18 | 235095 | macros/latex/contrib/embedall/embedall.pdf
2019/05/17 | 217 | macros/latex/contrib/embedall/README
2019/05/20 | 239653 | macros/latex/contrib/embedall.zip
-2019/12/03 | 57640 | macros/latex/contrib/embedfile/embedfile.dtx
-2019/12/03 | 391565 | macros/latex/contrib/embedfile/embedfile.pdf
-2019/12/03 | 148 | macros/latex/contrib/embedfile/README.md
-2019/12/03 | 397370 | macros/latex/contrib/embedfile.zip
+2020/04/14 | 58124 | macros/latex/contrib/embedfile/embedfile.dtx
+2020/04/14 | 397083 | macros/latex/contrib/embedfile/embedfile.pdf
+2020/04/01 | 148 | macros/latex/contrib/embedfile/README.md
+2020/04/14 | 402848 | macros/latex/contrib/embedfile.zip
2019/12/31 | 458551 | macros/latex/contrib/embrac/embrac_en.pdf
2019/12/31 | 15022 | macros/latex/contrib/embrac/embrac_en.tex
2019/12/31 | 2500 | macros/latex/contrib/embrac/embrac_kerning_test.tex
@@ -190212,67 +190212,67 @@
2018/08/06 | 26795 | macros/latex/contrib/invoice/invoice.tex
2018/08/06 | 631 | macros/latex/contrib/invoice/README
2018/08/06 | 110862 | macros/latex/contrib/invoice.zip
-2020/04/01 | 321222 | macros/latex/contrib/iodhbwm/doc/examples/abstract/iodhbwm-auto-sections-with-abstract.pdf
-2020/04/01 | 2945 | macros/latex/contrib/iodhbwm/doc/examples/abstract/iodhbwm-auto-sections-with-abstract.tex
-2020/04/01 | 490 | macros/latex/contrib/iodhbwm/doc/examples/abstract/my-abstract.inc.tex
-2020/04/01 | 167754 | macros/latex/contrib/iodhbwm/doc/examples/acronyms/iodhbwm-acro.pdf
-2020/04/01 | 1367 | macros/latex/contrib/iodhbwm/doc/examples/acronyms/iodhbwm-acro.tex
-2020/04/01 | 168050 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix-auto.pdf
-2020/04/01 | 1437 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix-auto.tex
-2020/04/01 | 269843 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix.pdf
-2020/04/01 | 1972 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix.tex
-2020/04/01 | 271768 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-custom-option.pdf
-2020/04/01 | 1704 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-custom-option.tex
-2020/04/01 | 178915 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-footcite.pdf
-2020/04/01 | 1077 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-footcite.tex
-2020/04/01 | 106171 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-rename-heading.pdf
-2020/04/01 | 1127 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-rename-heading.tex
-2020/04/01 | 277478 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-style-option.pdf
-2020/04/01 | 1296 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-style-option.tex
-2020/04/01 | 125376 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-print.pdf
-2020/04/01 | 1611 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-print.tex
-2020/04/01 | 226207 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-replace-part-naming.pdf
-2020/04/01 | 1735 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-replace-part-naming.tex
-2020/04/01 | 311487 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-roman-numbers.pdf
-2020/04/01 | 1643 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-roman-numbers.tex
-2020/04/01 | 229791 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-advanced-starter.pdf
-2020/04/01 | 3267 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-advanced-starter.tex
-2020/04/01 | 227148 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-recommended-starter.pdf
-2020/04/01 | 2435 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-recommended-starter.tex
-2020/04/01 | 207446 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-simple-starter.pdf
-2020/04/01 | 2556 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-simple-starter.tex
-2020/04/01 | 174188 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings-color.pdf
-2020/04/01 | 2722 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings-color.tex
-2020/04/01 | 152752 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings.pdf
-2020/04/01 | 2097 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings.tex
-2020/04/01 | 164362 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-hyperref.pdf
-2020/04/01 | 1625 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-hyperref.tex
-2020/04/01 | 84883 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-references.pdf
-2020/04/01 | 1301 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-references.tex
-2020/04/01 | 145319 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/img/penguin-158298-pixabay.png
-2020/04/01 | 87976 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-custom-titlepage.pdf
-2020/04/01 | 1130 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-custom-titlepage.tex
-2020/04/01 | 326935 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-titlepage-logo.pdf
-2020/04/01 | 1459 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-titlepage-logo.tex
-2020/04/01 | 376 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/my-titlepage.tex
-2020/04/01 | 624361 | macros/latex/contrib/iodhbwm/doc/iodhbwm.pdf
-2020/04/01 | 45081 | macros/latex/contrib/iodhbwm/doc/iodhbwm.tex
-2020/04/01 | 1406 | macros/latex/contrib/iodhbwm/README.md
-2020/04/01 | 33897 | macros/latex/contrib/iodhbwm/tex/dhbw-logo.png
-2020/04/01 | 1025 | macros/latex/contrib/iodhbwm/tex/i18n.def
-2020/04/01 | 729 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-declaration.def
-2020/04/01 | 1564 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-ba.def
-2020/04/01 | 1473 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage.def
-2020/04/01 | 1735 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-pa.def
-2020/04/01 | 1735 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-sa.def
-2020/04/01 | 768 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-declaration.def
-2020/04/01 | 1570 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-ba.def
-2020/04/01 | 1404 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage.def
-2020/04/01 | 1712 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-pa.def
-2020/04/01 | 1264 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-sa.def
-2020/04/01 | 17215 | macros/latex/contrib/iodhbwm/tex/iodhbwm.cls
-2020/04/01 | 20112 | macros/latex/contrib/iodhbwm/tex/iodhbwm-templates.sty
-2020/04/01 | 4312654 | macros/latex/contrib/iodhbwm.zip
+2020/04/14 | 321222 | macros/latex/contrib/iodhbwm/doc/examples/abstract/iodhbwm-auto-sections-with-abstract.pdf
+2020/04/14 | 2945 | macros/latex/contrib/iodhbwm/doc/examples/abstract/iodhbwm-auto-sections-with-abstract.tex
+2020/04/14 | 490 | macros/latex/contrib/iodhbwm/doc/examples/abstract/my-abstract.inc.tex
+2020/04/14 | 167754 | macros/latex/contrib/iodhbwm/doc/examples/acronyms/iodhbwm-acro.pdf
+2020/04/14 | 1367 | macros/latex/contrib/iodhbwm/doc/examples/acronyms/iodhbwm-acro.tex
+2020/04/14 | 168050 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix-auto.pdf
+2020/04/14 | 1437 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix-auto.tex
+2020/04/14 | 269843 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix.pdf
+2020/04/14 | 1972 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix.tex
+2020/04/14 | 271768 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-custom-option.pdf
+2020/04/14 | 1704 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-custom-option.tex
+2020/04/14 | 178915 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-footcite.pdf
+2020/04/14 | 1077 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-footcite.tex
+2020/04/14 | 106171 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-rename-heading.pdf
+2020/04/14 | 1127 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-rename-heading.tex
+2020/04/14 | 277478 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-style-option.pdf
+2020/04/14 | 1296 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-style-option.tex
+2020/04/14 | 125376 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-print.pdf
+2020/04/14 | 1611 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-print.tex
+2020/04/14 | 226207 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-replace-part-naming.pdf
+2020/04/14 | 1735 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-replace-part-naming.tex
+2020/04/14 | 311487 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-roman-numbers.pdf
+2020/04/14 | 1643 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-roman-numbers.tex
+2020/04/14 | 229791 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-advanced-starter.pdf
+2020/04/14 | 3267 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-advanced-starter.tex
+2020/04/14 | 227148 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-recommended-starter.pdf
+2020/04/14 | 2435 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-recommended-starter.tex
+2020/04/14 | 207446 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-simple-starter.pdf
+2020/04/14 | 2556 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-simple-starter.tex
+2020/04/14 | 174188 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings-color.pdf
+2020/04/14 | 2722 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings-color.tex
+2020/04/14 | 152752 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings.pdf
+2020/04/14 | 2097 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings.tex
+2020/04/14 | 164362 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-hyperref.pdf
+2020/04/14 | 1625 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-hyperref.tex
+2020/04/14 | 84883 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-references.pdf
+2020/04/14 | 1301 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-references.tex
+2020/04/14 | 145319 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/img/penguin-158298-pixabay.png
+2020/04/14 | 87976 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-custom-titlepage.pdf
+2020/04/14 | 1130 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-custom-titlepage.tex
+2020/04/14 | 326935 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-titlepage-logo.pdf
+2020/04/14 | 1459 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-titlepage-logo.tex
+2020/04/14 | 376 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/my-titlepage.tex
+2020/04/14 | 624361 | macros/latex/contrib/iodhbwm/doc/iodhbwm.pdf
+2020/04/14 | 45081 | macros/latex/contrib/iodhbwm/doc/iodhbwm.tex
+2020/04/14 | 1406 | macros/latex/contrib/iodhbwm/README.md
+2020/04/14 | 33897 | macros/latex/contrib/iodhbwm/tex/dhbw-logo.png
+2020/04/14 | 729 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-declaration.def
+2020/04/14 | 1564 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-ba.def
+2020/04/14 | 1473 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage.def
+2020/04/14 | 1735 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-pa.def
+2020/04/14 | 1735 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-sa.def
+2020/04/14 | 768 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-declaration.def
+2020/04/14 | 1570 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-ba.def
+2020/04/14 | 1404 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage.def
+2020/04/14 | 1712 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-pa.def
+2020/04/14 | 1264 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-sa.def
+2020/04/14 | 17217 | macros/latex/contrib/iodhbwm/tex/iodhbwm.cls
+2020/04/14 | 1025 | macros/latex/contrib/iodhbwm/tex/iodhbwm-i18n.def
+2020/04/14 | 20122 | macros/latex/contrib/iodhbwm/tex/iodhbwm-templates.sty
+2020/04/14 | 4312678 | macros/latex/contrib/iodhbwm.zip
2008/10/27 | 35147 | macros/latex/contrib/ionumbers/COPYING
2014/04/06 | 58784 | macros/latex/contrib/ionumbers/ionumbers.dtx
2008/11/02 | 3094 | macros/latex/contrib/ionumbers/ionumbers.ins
@@ -191504,21 +191504,6 @@
2018/12/26 | 35141 | macros/latex/contrib/latexgit/LICENSE
2018/12/26 | 452 | macros/latex/contrib/latexgit/README.md
2020/03/18 | 451194 | macros/latex/contrib/latexgit.zip
-2014/11/11 | 5802305 | macros/latex/contrib/latex-tds/amsfonts.tds.zip
-2014/11/11 | 5288216 | macros/latex/contrib/latex-tds/amslatex.tds.zip
-2014/11/11 | 9923284 | macros/latex/contrib/latex-tds/base.tds.zip
-2014/11/11 | 589725 | macros/latex/contrib/latex-tds/cyrillic.tds.zip
-2014/11/11 | 145056 | macros/latex/contrib/latex-tds/etex.tds.zip
-2014/11/11 | 817144 | macros/latex/contrib/latex-tds/graphics.tds.zip
-2014/11/11 | 16620386 | macros/latex/contrib/latex-tds/knuth.tds.zip
-2014/11/11 | 44587439 | macros/latex/contrib/latex-tds/latex-tds.tds.zip
-2014/11/11 | 1476356 | macros/latex/contrib/latex-tds/psnfss.tds.zip
-2014/11/11 | 27355 | macros/latex/contrib/latex-tds/README
-2014/11/11 | 67253 | macros/latex/contrib/latex-tds/README.html
-2014/11/11 | 104081 | macros/latex/contrib/latex-tds/README.pdf
-2014/11/11 | 265886 | macros/latex/contrib/latex-tds/source.tds.zip
-2014/11/11 | 254017 | macros/latex/contrib/latex-tds/tds.tds.zip
-2014/11/11 | 3414592 | macros/latex/contrib/latex-tds/tools.tds.zip
2019/01/14 | 1043 | macros/latex/contrib/latex-uni8/example_flr.tex
2019/01/14 | 973 | macros/latex/contrib/latex-uni8/example_fl.tex
2019/01/14 | 417 | macros/latex/contrib/latex-uni8/example_fmr.tex
@@ -192697,16 +192682,16 @@
2008/06/23 | 311275 | macros/latex/contrib/mdwtools/syntax.pdf
1999/03/25 | 19268 | macros/latex/contrib/mdwtools/syntax.sty
2008/06/23 | 1901320 | macros/latex/contrib/mdwtools.zip
-2020/04/13 | 164 | macros/latex/contrib/media4svg/ChangeLog
-2020/04/13 | 24620 | macros/latex/contrib/media4svg/example/beamer-example-1.svg
-2020/04/13 | 276583 | macros/latex/contrib/media4svg/example/beamer-example-2.svg
-2020/04/13 | 13291 | macros/latex/contrib/media4svg/example/beamer-example-3.svg
-2020/04/13 | 39912 | macros/latex/contrib/media4svg/example/beamer-example-4.svg
-2020/04/13 | 5652 | macros/latex/contrib/media4svg/example/beamer-example.tex
+2020/04/14 | 233 | macros/latex/contrib/media4svg/ChangeLog
+2020/04/14 | 24560 | macros/latex/contrib/media4svg/example/beamer-example-1.svg
+2020/04/14 | 277375 | macros/latex/contrib/media4svg/example/beamer-example-2.svg
+2020/04/14 | 14155 | macros/latex/contrib/media4svg/example/beamer-example-3.svg
+2020/04/14 | 39936 | macros/latex/contrib/media4svg/example/beamer-example-4.svg
+2020/04/14 | 5652 | macros/latex/contrib/media4svg/example/beamer-example.tex
2020/04/09 | 3292 | macros/latex/contrib/media4svg/media4svg.lua
-2020/04/13 | 23922 | macros/latex/contrib/media4svg/media4svg.sty
-2020/04/13 | 5537 | macros/latex/contrib/media4svg/README.md
-2020/04/13 | 158730 | macros/latex/contrib/media4svg.zip
+2020/04/14 | 25605 | macros/latex/contrib/media4svg/media4svg.sty
+2020/04/14 | 5537 | macros/latex/contrib/media4svg/README.md
+2020/04/14 | 159153 | macros/latex/contrib/media4svg.zip
2020/03/25 | 14004 | macros/latex/contrib/media9/ChangeLog
2020/03/11 | 7152 | macros/latex/contrib/media9/doc/files/3dsystem.fig
2020/03/11 | 5989 | macros/latex/contrib/media9/doc/files/3dsystem.pdf
@@ -207876,6 +207861,13 @@
2019/06/08 | 10433 | macros/luatex/latex/combofont/combofont.tex
2019/06/08 | 445 | macros/luatex/latex/combofont/README.md
2019/06/08 | 94990 | macros/luatex/latex/combofont.zip
+2020/04/14 | 175903 | macros/luatex/latex/emojicite/emojicite-doc.pdf
+2020/04/14 | 8451 | macros/luatex/latex/emojicite/emojicite-doc.tex
+2020/04/14 | 2959 | macros/luatex/latex/emojicite/emojicite.sty
+2020/04/14 | 210 | macros/luatex/latex/emojicite/example.tex
+2020/04/14 | 19025 | macros/luatex/latex/emojicite/LICENSE.txt
+2020/04/14 | 2773 | macros/luatex/latex/emojicite/README.md
+2020/04/14 | 175067 | macros/luatex/latex/emojicite.zip
2020/03/16 | 1057851 | macros/luatex/latex/emoji/emoji-doc.pdf
2020/03/16 | 14146 | macros/luatex/latex/emoji/emoji-doc.tex
2020/03/16 | 4934 | macros/luatex/latex/emoji/emoji.sty
@@ -232838,6 +232830,21 @@
2006/08/14 | 6735 | obsolete/macros/latex/contrib/labelcas/labelcas.sty
2006/08/15 | 2698 | obsolete/macros/latex/contrib/labelcas/README
2006/10/10 | 242408 | obsolete/macros/latex/contrib/labelcas.zip
+2014/11/11 | 5802305 | obsolete/macros/latex/contrib/latex-tds/amsfonts.tds.zip
+2014/11/11 | 5288216 | obsolete/macros/latex/contrib/latex-tds/amslatex.tds.zip
+2014/11/11 | 9923284 | obsolete/macros/latex/contrib/latex-tds/base.tds.zip
+2014/11/11 | 589725 | obsolete/macros/latex/contrib/latex-tds/cyrillic.tds.zip
+2014/11/11 | 145056 | obsolete/macros/latex/contrib/latex-tds/etex.tds.zip
+2014/11/11 | 817144 | obsolete/macros/latex/contrib/latex-tds/graphics.tds.zip
+2014/11/11 | 16620386 | obsolete/macros/latex/contrib/latex-tds/knuth.tds.zip
+2014/11/11 | 44587439 | obsolete/macros/latex/contrib/latex-tds/latex-tds.tds.zip
+2014/11/11 | 1476356 | obsolete/macros/latex/contrib/latex-tds/psnfss.tds.zip
+2014/11/11 | 27355 | obsolete/macros/latex/contrib/latex-tds/README
+2014/11/11 | 67253 | obsolete/macros/latex/contrib/latex-tds/README.html
+2014/11/11 | 104081 | obsolete/macros/latex/contrib/latex-tds/README.pdf
+2014/11/11 | 265886 | obsolete/macros/latex/contrib/latex-tds/source.tds.zip
+2014/11/11 | 254017 | obsolete/macros/latex/contrib/latex-tds/tds.tds.zip
+2014/11/11 | 3414592 | obsolete/macros/latex/contrib/latex-tds/tools.tds.zip
2013/09/13 | 6748 | obsolete/macros/latex/contrib/lgrx/lgrxenc.def
2013/09/13 | 27136 | obsolete/macros/latex/contrib/lgrx/lgrxenc.def.html
2013/09/13 | 236572 | obsolete/macros/latex/contrib/lgrx/lgrxenc-test.pdf
@@ -239524,99 +239531,99 @@
2011/05/01 | 29792 | support/ant-worker-tasks/lib/worker-tools.jar
2011/05/01 | 1107 | support/ant-worker-tasks/README
2011/05/02 | 2079536 | support/ant-worker-tasks.zip
-2020/04/03 | 1862533 | support/arara/doc/arara-manual.pdf
-2020/04/03 | 3312 | support/arara/doc/arara-manual.tex
-2020/04/03 | 39 | support/arara/doc/arararc.yaml
-2020/04/03 | 33046 | support/arara/doc/arara.sty
-2020/04/03 | 11683 | support/arara/doc/chapters/building.tex
-2020/04/03 | 24985 | support/arara/doc/chapters/cli.tex
-2020/04/03 | 36105 | support/arara/doc/chapters/concepts.tex
-2020/04/03 | 19524 | support/arara/doc/chapters/configuration.tex
-2020/04/03 | 13553 | support/arara/doc/chapters/deploying.tex
-2020/04/03 | 12487 | support/arara/doc/chapters/introduction.tex
-2020/04/03 | 2108 | support/arara/doc/chapters/license.tex
-2020/04/03 | 11369 | support/arara/doc/chapters/logging.tex
-2020/04/03 | 79174 | support/arara/doc/chapters/methods.tex
-2020/04/03 | 13532 | support/arara/doc/chapters/mvel.tex
-2020/04/03 | 111655 | support/arara/doc/chapters/rules.tex
-2020/04/03 | 7353 | support/arara/doc/chapters/yaml.tex
-2020/04/03 | 140957 | support/arara/doc/figures/arara.png
-2020/04/03 | 60850 | support/arara/doc/figures/dropdown1.pdf
-2020/04/03 | 59101 | support/arara/doc/figures/dropdown2.pdf
-2020/04/03 | 1347 | support/arara/doc/figures/gl.pdf
-2020/04/03 | 59941 | support/arara/doc/figures/inputbox1.pdf
-2020/04/03 | 58249 | support/arara/doc/figures/inputbox2.pdf
-2020/04/03 | 54949 | support/arara/doc/figures/messagebox1.pdf
-2020/04/03 | 53224 | support/arara/doc/figures/messagebox2.pdf
-2020/04/03 | 61172 | support/arara/doc/figures/optionbox1.pdf
-2020/04/03 | 59540 | support/arara/doc/figures/optionbox2.pdf
-2020/04/03 | 3026 | support/arara/doc/logos/bird.pdf
-2020/04/03 | 14215 | support/arara/doc/logos/logo1.pdf
-2020/04/03 | 14166 | support/arara/doc/logos/logo2.pdf
-2020/04/03 | 1032 | support/arara/doc/rules/manual.yaml
-2020/04/03 | 4465 | support/arara/README.md
-2020/04/03 | 16028276 | support/arara/scripts/arara.jar
-2020/04/03 | 575 | support/arara/scripts/arara.sh
-2020/04/03 | 1108 | support/arara/scripts/rules/animate.yaml
-2020/04/03 | 1468 | support/arara/scripts/rules/asymptote.yaml
-2020/04/03 | 5751 | support/arara/scripts/rules/bib2gls.yaml
-2020/04/03 | 827 | support/arara/scripts/rules/biber.yaml
-2020/04/03 | 611 | support/arara/scripts/rules/bibtex8.yaml
-2020/04/03 | 611 | support/arara/scripts/rules/bibtexu.yaml
-2020/04/03 | 582 | support/arara/scripts/rules/bibtex.yaml
-2020/04/03 | 1337 | support/arara/scripts/rules/clean.yaml
-2020/04/03 | 4244 | support/arara/scripts/rules/context.yaml
-2020/04/03 | 647 | support/arara/scripts/rules/convert.yaml
-2020/04/03 | 1262 | support/arara/scripts/rules/csplain.yaml
-2020/04/03 | 4087 | support/arara/scripts/rules/datatooltk.yaml
-2020/04/03 | 1825 | support/arara/scripts/rules/detex.yaml
-2020/04/03 | 780 | support/arara/scripts/rules/dvipdfmx.yaml
-2020/04/03 | 776 | support/arara/scripts/rules/dvipdfm.yaml
-2020/04/03 | 1226 | support/arara/scripts/rules/dvipspdf.yaml
-2020/04/03 | 767 | support/arara/scripts/rules/dvips.yaml
-2020/04/03 | 597 | support/arara/scripts/rules/dvisvgm.yaml
-2020/04/03 | 1026 | support/arara/scripts/rules/etex.yaml
-2020/04/03 | 1662 | support/arara/scripts/rules/fig2dev.yaml
-2020/04/03 | 1897 | support/arara/scripts/rules/frontespizio.yaml
-2020/04/03 | 320 | support/arara/scripts/rules/halt.yaml
-2020/04/03 | 2598 | support/arara/scripts/rules/indent.yaml
-2020/04/03 | 1436 | support/arara/scripts/rules/knitr.yaml
-2020/04/03 | 1529 | support/arara/scripts/rules/latexmk.yaml
-2020/04/03 | 1599 | support/arara/scripts/rules/latex.yaml
-2020/04/03 | 1266 | support/arara/scripts/rules/luahbtex.yaml
-2020/04/03 | 1617 | support/arara/scripts/rules/lualatex.yaml
-2020/04/03 | 1258 | support/arara/scripts/rules/luatex.yaml
-2020/04/03 | 611 | support/arara/scripts/rules/makeglossarieslite.yaml
-2020/04/03 | 2392 | support/arara/scripts/rules/makeglossaries.yaml
-2020/04/03 | 1484 | support/arara/scripts/rules/makeindex.yaml
-2020/04/03 | 985 | support/arara/scripts/rules/make.yaml
-2020/04/03 | 1264 | support/arara/scripts/rules/metapost.yaml
-2020/04/03 | 814 | support/arara/scripts/rules/nomencl.yaml
-2020/04/03 | 586 | support/arara/scripts/rules/pbibtex.yaml
-2020/04/03 | 1274 | support/arara/scripts/rules/pdfcsplain.yaml
-2020/04/03 | 1617 | support/arara/scripts/rules/pdflatex.yaml
-2020/04/03 | 1258 | support/arara/scripts/rules/pdftex.yaml
-2020/04/03 | 578 | support/arara/scripts/rules/pdftk.yaml
-2020/04/03 | 1507 | support/arara/scripts/rules/platex.yaml
-2020/04/03 | 777 | support/arara/scripts/rules/ps2pdf.yaml
-2020/04/03 | 1152 | support/arara/scripts/rules/ptex.yaml
-2020/04/03 | 546 | support/arara/scripts/rules/qpdf.yaml
-2020/04/03 | 636 | support/arara/scripts/rules/sketch.yaml
-2020/04/03 | 809 | support/arara/scripts/rules/songidx.yaml
-2020/04/03 | 1674 | support/arara/scripts/rules/texcount.yaml
-2020/04/03 | 1955 | support/arara/scripts/rules/texindy.yaml
-2020/04/03 | 1014 | support/arara/scripts/rules/tex.yaml
-2020/04/03 | 832 | support/arara/scripts/rules/tikzmake.yaml
-2020/04/03 | 590 | support/arara/scripts/rules/upbibtex.yaml
-2020/04/03 | 1513 | support/arara/scripts/rules/uplatex.yaml
-2020/04/03 | 1156 | support/arara/scripts/rules/uptex.yaml
-2020/04/03 | 795 | support/arara/scripts/rules/xdvipdfmx.yaml
-2020/04/03 | 1513 | support/arara/scripts/rules/xelatex.yaml
-2020/04/03 | 1156 | support/arara/scripts/rules/xetex.yaml
-2020/04/03 | 926 | support/arara/scripts/rules/xindex.yaml
-2020/04/03 | 1956 | support/arara/scripts/rules/xindy.yaml
-2020/04/03 | 129837 | support/arara/source/arara-5.1.0-src.zip
-2020/04/03 | 17146375 | support/arara.zip
+2020/04/14 | 1865024 | support/arara/doc/arara-manual.pdf
+2020/04/14 | 3314 | support/arara/doc/arara-manual.tex
+2020/04/14 | 39 | support/arara/doc/arararc.yaml
+2020/04/14 | 33046 | support/arara/doc/arara.sty
+2020/04/14 | 11683 | support/arara/doc/chapters/building.tex
+2020/04/14 | 24985 | support/arara/doc/chapters/cli.tex
+2020/04/14 | 36783 | support/arara/doc/chapters/concepts.tex
+2020/04/14 | 19524 | support/arara/doc/chapters/configuration.tex
+2020/04/14 | 13553 | support/arara/doc/chapters/deploying.tex
+2020/04/14 | 12487 | support/arara/doc/chapters/introduction.tex
+2020/04/14 | 2108 | support/arara/doc/chapters/license.tex
+2020/04/14 | 11369 | support/arara/doc/chapters/logging.tex
+2020/04/14 | 79174 | support/arara/doc/chapters/methods.tex
+2020/04/14 | 13532 | support/arara/doc/chapters/mvel.tex
+2020/04/14 | 111655 | support/arara/doc/chapters/rules.tex
+2020/04/14 | 7353 | support/arara/doc/chapters/yaml.tex
+2020/04/14 | 140957 | support/arara/doc/figures/arara.png
+2020/04/14 | 60850 | support/arara/doc/figures/dropdown1.pdf
+2020/04/14 | 59101 | support/arara/doc/figures/dropdown2.pdf
+2020/04/14 | 1347 | support/arara/doc/figures/gl.pdf
+2020/04/14 | 59941 | support/arara/doc/figures/inputbox1.pdf
+2020/04/14 | 58249 | support/arara/doc/figures/inputbox2.pdf
+2020/04/14 | 54949 | support/arara/doc/figures/messagebox1.pdf
+2020/04/14 | 53224 | support/arara/doc/figures/messagebox2.pdf
+2020/04/14 | 61172 | support/arara/doc/figures/optionbox1.pdf
+2020/04/14 | 59540 | support/arara/doc/figures/optionbox2.pdf
+2020/04/14 | 3026 | support/arara/doc/logos/bird.pdf
+2020/04/14 | 14215 | support/arara/doc/logos/logo1.pdf
+2020/04/14 | 14166 | support/arara/doc/logos/logo2.pdf
+2020/04/14 | 1032 | support/arara/doc/rules/manual.yaml
+2020/04/14 | 4465 | support/arara/README.md
+2020/04/14 | 16028278 | support/arara/scripts/arara.jar
+2020/04/14 | 575 | support/arara/scripts/arara.sh
+2020/04/14 | 1128 | support/arara/scripts/rules/animate.yaml
+2020/04/14 | 1478 | support/arara/scripts/rules/asymptote.yaml
+2020/04/14 | 5788 | support/arara/scripts/rules/bib2gls.yaml
+2020/04/14 | 867 | support/arara/scripts/rules/biber.yaml
+2020/04/14 | 621 | support/arara/scripts/rules/bibtex8.yaml
+2020/04/14 | 621 | support/arara/scripts/rules/bibtexu.yaml
+2020/04/14 | 592 | support/arara/scripts/rules/bibtex.yaml
+2020/04/14 | 1337 | support/arara/scripts/rules/clean.yaml
+2020/04/14 | 4254 | support/arara/scripts/rules/context.yaml
+2020/04/14 | 647 | support/arara/scripts/rules/convert.yaml
+2020/04/14 | 1272 | support/arara/scripts/rules/csplain.yaml
+2020/04/14 | 4087 | support/arara/scripts/rules/datatooltk.yaml
+2020/04/14 | 1835 | support/arara/scripts/rules/detex.yaml
+2020/04/14 | 800 | support/arara/scripts/rules/dvipdfmx.yaml
+2020/04/14 | 796 | support/arara/scripts/rules/dvipdfm.yaml
+2020/04/14 | 1266 | support/arara/scripts/rules/dvipspdf.yaml
+2020/04/14 | 787 | support/arara/scripts/rules/dvips.yaml
+2020/04/14 | 607 | support/arara/scripts/rules/dvisvgm.yaml
+2020/04/14 | 1062 | support/arara/scripts/rules/etex.yaml
+2020/04/14 | 1672 | support/arara/scripts/rules/fig2dev.yaml
+2020/04/14 | 1989 | support/arara/scripts/rules/frontespizio.yaml
+2020/04/14 | 320 | support/arara/scripts/rules/halt.yaml
+2020/04/14 | 2608 | support/arara/scripts/rules/indent.yaml
+2020/04/14 | 1446 | support/arara/scripts/rules/knitr.yaml
+2020/04/14 | 1539 | support/arara/scripts/rules/latexmk.yaml
+2020/04/14 | 1609 | support/arara/scripts/rules/latex.yaml
+2020/04/14 | 1276 | support/arara/scripts/rules/luahbtex.yaml
+2020/04/14 | 1627 | support/arara/scripts/rules/lualatex.yaml
+2020/04/14 | 1268 | support/arara/scripts/rules/luatex.yaml
+2020/04/14 | 647 | support/arara/scripts/rules/makeglossarieslite.yaml
+2020/04/14 | 2431 | support/arara/scripts/rules/makeglossaries.yaml
+2020/04/14 | 1494 | support/arara/scripts/rules/makeindex.yaml
+2020/04/14 | 985 | support/arara/scripts/rules/make.yaml
+2020/04/14 | 1274 | support/arara/scripts/rules/metapost.yaml
+2020/04/14 | 834 | support/arara/scripts/rules/nomencl.yaml
+2020/04/14 | 596 | support/arara/scripts/rules/pbibtex.yaml
+2020/04/14 | 1284 | support/arara/scripts/rules/pdfcsplain.yaml
+2020/04/14 | 1627 | support/arara/scripts/rules/pdflatex.yaml
+2020/04/14 | 1268 | support/arara/scripts/rules/pdftex.yaml
+2020/04/14 | 588 | support/arara/scripts/rules/pdftk.yaml
+2020/04/14 | 1517 | support/arara/scripts/rules/platex.yaml
+2020/04/14 | 797 | support/arara/scripts/rules/ps2pdf.yaml
+2020/04/14 | 1162 | support/arara/scripts/rules/ptex.yaml
+2020/04/14 | 546 | support/arara/scripts/rules/qpdf.yaml
+2020/04/14 | 682 | support/arara/scripts/rules/sketch.yaml
+2020/04/14 | 809 | support/arara/scripts/rules/songidx.yaml
+2020/04/14 | 1710 | support/arara/scripts/rules/texcount.yaml
+2020/04/14 | 1965 | support/arara/scripts/rules/texindy.yaml
+2020/04/14 | 1050 | support/arara/scripts/rules/tex.yaml
+2020/04/14 | 842 | support/arara/scripts/rules/tikzmake.yaml
+2020/04/14 | 626 | support/arara/scripts/rules/upbibtex.yaml
+2020/04/14 | 1523 | support/arara/scripts/rules/uplatex.yaml
+2020/04/14 | 1166 | support/arara/scripts/rules/uptex.yaml
+2020/04/14 | 815 | support/arara/scripts/rules/xdvipdfmx.yaml
+2020/04/14 | 1523 | support/arara/scripts/rules/xelatex.yaml
+2020/04/14 | 1166 | support/arara/scripts/rules/xetex.yaml
+2020/04/14 | 926 | support/arara/scripts/rules/xindex.yaml
+2020/04/14 | 1966 | support/arara/scripts/rules/xindy.yaml
+2020/04/14 | 129837 | support/arara/source/arara-5.1.1-src.zip
+2020/04/14 | 17149460 | support/arara.zip
2001/08/10 | 19878 | support/arraymaker/arraymaker
2001/08/11 | 1352 | support/arraymaker/README
1995/02/22 | 13087 | support/artex/artex
@@ -247075,34 +247082,34 @@
2012/04/18 | 27484 | support/pkfix/pkfix.pl
2012/04/18 | 9740 | support/pkfix/README
2012/04/18 | 12122 | support/pkfix.zip
-2020/02/07 | 7026480 | support/pkgcheck/bin/pkgcheck
-2020/02/07 | 663 | support/pkgcheck/Cargo.toml
-2020/02/07 | 6004 | support/pkgcheck/CHANGES.md
-2020/01/17 | 14370 | support/pkgcheck/docs/errorsd.tex
+2020/04/12 | 6109008 | support/pkgcheck/bin/pkgcheck
+2020/04/10 | 836 | support/pkgcheck/Cargo.toml
+2020/04/14 | 6760 | support/pkgcheck/CHANGES.md
+2020/04/12 | 14348 | support/pkgcheck/docs/errorsd.tex
2020/01/17 | 2157 | support/pkgcheck/docs/fatald.tex
2020/01/17 | 2792 | support/pkgcheck/docs/informationd.tex
-2020/02/07 | 69832 | support/pkgcheck/docs/pkgcheck.pdf
+2020/04/12 | 75087 | support/pkgcheck/docs/pkgcheck.pdf
2019/03/29 | 10638 | support/pkgcheck/docs/pkgcheck.tex
-2020/02/07 | 33 | support/pkgcheck/docs/title.tex
+2020/04/12 | 33 | support/pkgcheck/docs/title.tex
2020/01/17 | 3532 | support/pkgcheck/docs/warningsd.tex
2018/12/18 | 11357 | support/pkgcheck/LICENSE-APACHE
2020/02/02 | 1074 | support/pkgcheck/LICENSE-MIT
2018/12/18 | 509 | support/pkgcheck/quick_intro.txt
2019/02/26 | 1353 | support/pkgcheck/README.md
-2020/01/07 | 14505 | support/pkgcheck/src/filemagic.rs
+2020/03/07 | 14505 | support/pkgcheck/src/filemagic.rs
2019/03/11 | 992 | support/pkgcheck/src/generate.pest
-2018/12/18 | 585 | support/pkgcheck/src/generate.pest.md
+2020/03/07 | 587 | support/pkgcheck/src/generate.pest.md
2019/12/30 | 1371 | support/pkgcheck/src/gparser.rs
2020/01/09 | 7075 | support/pkgcheck/src/linkcheck.rs
-2020/02/07 | 43968 | support/pkgcheck/src/main.rs
-2020/01/04 | 10066 | support/pkgcheck/src/messages/errorsd.rs
+2020/04/12 | 44188 | support/pkgcheck/src/main.rs
+2020/04/10 | 10035 | support/pkgcheck/src/messages/errorsd.rs
2019/12/23 | 1445 | support/pkgcheck/src/messages/fatald.rs
2020/01/12 | 1958 | support/pkgcheck/src/messages/informationd.rs
2020/01/12 | 16893 | support/pkgcheck/src/messages/mod.rs
2020/01/04 | 2385 | support/pkgcheck/src/messages/warningsd.rs
2020/01/13 | 7048 | support/pkgcheck/src/recode.rs
-2020/01/15 | 14967 | support/pkgcheck/src/utils.rs
-2020/02/07 | 3071923 | support/pkgcheck.zip
+2020/04/12 | 14958 | support/pkgcheck/src/utils.rs
+2020/04/14 | 2717045 | support/pkgcheck.zip
1992/05/06 | 47595 | support/plttopic/acad.plt
1990/11/06 | 6348 | support/plttopic/att.bgi
1992/05/12 | 45982 | support/plttopic/cascade.plt
@@ -268709,7 +268716,7 @@
2020/02/04 | 281488 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2020/04/13 | 532476 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/04/14 | 532476 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -269848,9 +269855,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2020/03/24 | 38794 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2020/03/24 | 42866 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/04/13 | 198232 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/04/13 | 1187762 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/04/13 | 1106159 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/04/14 | 198267 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/04/14 | 1185894 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/04/14 | 1106559 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2020/03/24 | 13036 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2020/03/24 | 14041 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -270001,183 +270008,183 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2019/09/11 | 231430 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2020/04/13 | 532381 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/04/13 | 29218 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/04/13 | 33460 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2020/04/13 | 941171 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/04/13 | 1049101 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2020/04/13 | 28489 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2020/04/13 | 30718 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/04/13 | 29288 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/04/13 | 34840 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/04/13 | 49774 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/04/13 | 57117 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/04/13 | 84786 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/04/13 | 94230 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/04/13 | 62781 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2020/04/13 | 70759 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/04/13 | 26655 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/04/13 | 30283 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/04/13 | 328619 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2020/04/13 | 391633 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2020/04/13 | 32255 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2020/04/13 | 36380 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2020/04/13 | 49384 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2020/04/13 | 53948 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/04/13 | 202039 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2020/04/13 | 221504 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2020/04/13 | 169267 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2020/04/13 | 184290 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2020/04/13 | 52085 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2020/04/13 | 58751 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2020/04/13 | 20704 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2020/04/13 | 22939 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2020/04/13 | 461294 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
-2020/04/13 | 41060 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2020/04/13 | 45801 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2020/04/13 | 272696 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2020/04/13 | 310587 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2020/04/13 | 40577 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2020/04/13 | 44997 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2020/04/13 | 115558 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2020/04/13 | 130463 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2020/04/13 | 1257973 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2020/04/13 | 1399649 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2020/04/13 | 95089 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/04/13 | 109678 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/04/13 | 43405 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2020/04/13 | 47969 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2020/04/13 | 45482 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2020/04/13 | 50467 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/04/13 | 56749 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2020/04/13 | 61922 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/04/13 | 133234 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2020/04/13 | 152264 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2020/04/13 | 69740 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/04/13 | 72651 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/04/13 | 68750 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2020/04/13 | 77448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2020/04/13 | 246440 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2020/04/13 | 281461 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2020/04/13 | 25319 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2020/04/13 | 28722 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2020/04/13 | 100548 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2020/04/13 | 116757 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/04/13 | 63282 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2020/04/13 | 72545 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/04/13 | 94162 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2020/04/13 | 110907 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2020/04/13 | 57769 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2020/04/13 | 64369 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2020/04/13 | 457419 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/04/13 | 544279 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/04/13 | 137170 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2020/04/13 | 149778 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2020/04/13 | 92891 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/04/13 | 108817 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2020/04/13 | 15898 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2020/04/13 | 17660 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2020/04/13 | 27762 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2020/04/13 | 29670 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2020/04/13 | 615238 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2020/04/13 | 670038 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2020/04/13 | 498635 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2020/04/13 | 560930 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2020/04/13 | 539441 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2020/04/13 | 575485 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2020/04/13 | 93489 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2020/04/13 | 102456 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2020/04/13 | 1686623 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2020/04/13 | 1981920 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/04/13 | 67256 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2020/04/13 | 73621 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/04/13 | 26949 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/04/13 | 31205 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/04/13 | 7497 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2020/04/13 | 8466 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2020/04/13 | 167770 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/04/13 | 182827 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2020/04/13 | 247730 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2020/04/13 | 281217 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2020/04/13 | 87375 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2020/04/13 | 92048 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/04/13 | 77967 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2020/04/13 | 86670 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2020/04/13 | 164882 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2020/04/13 | 184591 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/04/13 | 148230 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2020/04/13 | 167638 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2020/04/13 | 194945 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2020/04/13 | 177537 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/04/13 | 80541 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2020/04/13 | 91794 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/04/13 | 30995 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/04/13 | 34828 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/04/13 | 55023 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/04/13 | 62172 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2020/04/13 | 41826 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2020/04/13 | 45645 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/04/13 | 45613 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2020/04/13 | 52034 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/04/13 | 354349 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
-2020/04/13 | 387546 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
-2020/04/13 | 321843 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2020/04/13 | 356212 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2020/04/13 | 186972 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2020/04/13 | 193856 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2020/04/13 | 207876 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2020/04/13 | 242929 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/04/13 | 77978 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2020/04/13 | 87186 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2020/04/13 | 932369 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2020/04/13 | 1042662 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2020/04/13 | 19891 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2020/04/13 | 23500 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2020/04/13 | 31154 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2020/04/13 | 36614 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2020/04/13 | 63317 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/04/13 | 71687 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2020/04/13 | 42629 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2020/04/13 | 50937 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/04/13 | 1117265 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2020/04/13 | 1247933 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2020/04/13 | 41862 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2020/04/13 | 50828 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2020/04/13 | 53375 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
-2020/04/13 | 59409 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
-2020/04/13 | 26728 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2020/04/13 | 29118 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2020/04/13 | 16045 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2020/04/13 | 17747 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2020/04/13 | 63157 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2020/04/13 | 69226 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/04/13 | 147308 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2020/04/13 | 160804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2020/04/13 | 74446 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2020/04/13 | 84390 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2020/04/13 | 91361 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2020/04/13 | 96276 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2020/04/13 | 2532205 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2020/04/13 | 2662044 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2020/04/13 | 54761 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2020/04/13 | 61588 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2020/04/13 | 26496 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2020/04/13 | 32353 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/04/13 | 61530 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2020/04/13 | 65079 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2020/04/13 | 247508 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2020/04/13 | 276879 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2020/04/13 | 562070 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2020/04/13 | 596599 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2020/04/13 | 39220 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/04/13 | 42859 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/04/13 | 198200 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/04/13 | 1186328 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/04/13 | 1106579 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2020/04/13 | 13056 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2020/04/13 | 14042 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/04/14 | 532381 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/04/14 | 29218 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/04/14 | 33461 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/04/14 | 941174 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/04/14 | 1049101 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/04/14 | 28489 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/04/14 | 30719 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/04/14 | 29290 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/04/14 | 34841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/04/14 | 49775 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/04/14 | 57117 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/04/14 | 84790 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/04/14 | 94231 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/04/14 | 62783 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/04/14 | 70760 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/04/14 | 26656 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/04/14 | 30283 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/04/14 | 328618 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/04/14 | 391633 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/04/14 | 32256 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/04/14 | 36380 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/04/14 | 49387 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/04/14 | 53949 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/04/14 | 202041 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/04/14 | 221505 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/04/14 | 169267 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/04/14 | 184291 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/04/14 | 52086 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/04/14 | 58752 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/04/14 | 20708 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/04/14 | 22940 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/04/14 | 461294 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
+2020/04/14 | 41061 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/04/14 | 45802 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/04/14 | 272697 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/04/14 | 310588 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/04/14 | 40579 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/04/14 | 44999 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/04/14 | 115560 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/04/14 | 130464 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/04/14 | 1257978 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/04/14 | 1399649 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/04/14 | 95089 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/04/14 | 109680 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/04/14 | 43405 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/04/14 | 47969 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/04/14 | 45482 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/04/14 | 50467 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/04/14 | 56748 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/04/14 | 61923 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/04/14 | 133237 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/04/14 | 152266 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/04/14 | 69742 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/04/14 | 72653 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/04/14 | 68750 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/04/14 | 77450 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/04/14 | 246441 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/04/14 | 281462 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/04/14 | 25320 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/04/14 | 28724 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/04/14 | 100550 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/04/14 | 116760 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/04/14 | 63283 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/04/14 | 72547 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/04/14 | 94164 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/04/14 | 110907 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/04/14 | 57769 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/04/14 | 64369 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/04/14 | 457418 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/04/14 | 544281 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/04/14 | 137170 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/04/14 | 149778 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/04/14 | 92892 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/04/14 | 108818 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/04/14 | 15899 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/04/14 | 17661 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/04/14 | 27763 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/04/14 | 29670 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/04/14 | 615242 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/04/14 | 670038 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/04/14 | 498639 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/04/14 | 560929 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/04/14 | 539446 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/04/14 | 575487 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/04/14 | 93490 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/04/14 | 102460 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/04/14 | 1686625 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/04/14 | 1981922 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/04/14 | 67256 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/04/14 | 73625 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/04/14 | 26950 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/04/14 | 31206 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/04/14 | 7500 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/04/14 | 8463 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/04/14 | 167771 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/04/14 | 182827 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/04/14 | 247730 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/04/14 | 281218 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/04/14 | 87376 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/04/14 | 92049 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/04/14 | 77968 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/04/14 | 86671 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/04/14 | 164883 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/04/14 | 184592 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/04/14 | 148231 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/04/14 | 167639 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/04/14 | 194945 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/04/14 | 177537 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/04/14 | 80541 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/04/14 | 91795 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/04/14 | 30995 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/04/14 | 34828 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/04/14 | 55023 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/04/14 | 62173 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/04/14 | 41826 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/04/14 | 45645 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/04/14 | 45613 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/04/14 | 52034 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/04/14 | 354347 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
+2020/04/14 | 387547 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
+2020/04/14 | 321843 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/04/14 | 356212 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/04/14 | 186973 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/04/14 | 193856 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/04/14 | 207877 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/04/14 | 242932 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/04/14 | 77980 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/04/14 | 87186 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/04/14 | 932368 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/04/14 | 1042662 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/04/14 | 19892 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/04/14 | 23502 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/04/14 | 31155 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/04/14 | 36616 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/04/14 | 63318 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/04/14 | 71688 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/04/14 | 42630 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/04/14 | 50937 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/04/14 | 1117265 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/04/14 | 1247934 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/04/14 | 41861 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/04/14 | 50829 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/04/14 | 53378 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
+2020/04/14 | 59409 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
+2020/04/14 | 26729 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/04/14 | 29119 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/04/14 | 16048 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/04/14 | 17746 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/04/14 | 63154 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/04/14 | 69226 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/04/14 | 147307 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/04/14 | 160804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/04/14 | 74444 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/04/14 | 84390 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/04/14 | 91361 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/04/14 | 96277 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/04/14 | 2532206 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/04/14 | 2662045 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/04/14 | 54762 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/04/14 | 61588 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/04/14 | 26496 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/04/14 | 32353 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/04/14 | 61532 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/04/14 | 65081 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/04/14 | 247507 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/04/14 | 276883 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/04/14 | 562071 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/04/14 | 596600 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/04/14 | 39218 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/04/14 | 42858 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/04/14 | 198257 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/04/14 | 1186305 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/04/14 | 1106824 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/04/14 | 13057 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/04/14 | 14043 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2020/04/13 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/04/14 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -270493,7 +270500,7 @@
2008/11/07 | 35981 | systems/win32/miktex/tm/packages/prettyref.tar.lzma
2017/07/26 | 201385 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
-2020/04/13 | 376 | systems/win32/miktex/tm/packages/pr.ini
+2020/04/14 | 376 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -271626,7 +271633,7 @@
2020/04/07 | 4936988 | systems/win32/w32tex/aleph-w32.tar.xz
2020/04/08 | 64888156 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2020/04/12 | 622969 | systems/win32/w32tex/ChangeLog
+2020/04/13 | 623319 | systems/win32/w32tex/ChangeLog
2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0
2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1
2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2
@@ -271646,17 +271653,17 @@
2020/01/20 | 17349048 | systems/win32/w32tex/gregorio-w32.tar.xz
2009/08/03 | 1072620 | systems/win32/w32tex/gtftex.zip
2020/03/27 | 1831716 | systems/win32/w32tex/jtex-w32.tar.xz
-2020/04/07 | 41559612 | systems/win32/w32tex/latex-dev.tar.xz
+2020/04/13 | 41537412 | systems/win32/w32tex/latex-dev.tar.xz
2020/04/03 | 29248268 | systems/win32/w32tex/latex.tar.xz
2020/01/20 | 996420 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz
2020/04/05 | 393872496 | systems/win32/w32tex/ltxpkgdocs.tar.xz
-2020/04/12 | 34533712 | systems/win32/w32tex/ltxpkgs.tar.xz
+2020/04/13 | 34545236 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/04/02 | 3840048 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
2020/04/07 | 3855212 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
2020/04/02 | 3840040 | systems/win32/w32tex/luajittex-w32.tar.xz
2020/04/07 | 17970676 | systems/win32/w32tex/luatex-dev-w32.tar.xz
2020/04/07 | 17976004 | systems/win32/w32tex/luatex-exp-w32.tar.xz
-2020/03/26 | 69328756 | systems/win32/w32tex/luatexja.tar.xz
+2020/04/13 | 69336828 | systems/win32/w32tex/luatexja.tar.xz
2020/04/07 | 17968592 | systems/win32/w32tex/luatex-w32.tar.xz
2020/03/12 | 1599504 | systems/win32/w32tex/makeindex-w32.tar.xz
2015/05/26 | 1542676 | systems/win32/w32tex/manual.tar.xz
@@ -271670,13 +271677,13 @@
2020/04/07 | 20622420 | systems/win32/w32tex/pdftex-w32.tar.xz
2020/04/12 | 80274472 | systems/win32/w32tex/pgfcontrib.tar.xz
2015/01/26 | 189072 | systems/win32/w32tex/plain2-2.54-w32.tar.xz
-2020/03/02 | 2970172 | systems/win32/w32tex/platex.tar.xz
+2020/04/13 | 2820836 | systems/win32/w32tex/platex.tar.xz
2020/03/20 | 1598792 | systems/win32/w32tex/pmx.tar.xz
2020/04/10 | 1168848 | systems/win32/w32tex/pstoedit-w32.tar.xz
2020/04/02 | 274372500 | systems/win32/w32tex/pstricks.tar.xz
2020/01/20 | 517548 | systems/win32/w32tex/psutils-w32.tar.xz
-2020/04/07 | 6447268 | systems/win32/w32tex/ptex-ng-w32.tar.xz
-2020/04/12 | 10327676 | systems/win32/w32tex/ptex-w32.tar.xz
+2020/04/13 | 6448284 | systems/win32/w32tex/ptex-ng-w32.tar.xz
+2020/04/13 | 10338492 | systems/win32/w32tex/ptex-w32.tar.xz
2020/04/10 | 1784316 | systems/win32/w32tex/qpdf-w32.tar.xz
2019/04/15 | 499188 | systems/win32/w32tex/sam2p-w32.tar.xz
2020/01/24 | 24929772 | systems/win32/w32tex/t1fonts.tar.xz
@@ -271696,7 +271703,7 @@
2020/01/19 | 5856 | systems/win32/w32tex/txtutil.tar.xz
2013/04/08 | 71588 | systems/win32/w32tex/ums.tar.xz
2012/05/28 | 233472 | systems/win32/w32tex/unzip.exe
-2020/04/07 | 8484584 | systems/win32/w32tex/uptex-w32.tar.xz
+2020/04/13 | 8455492 | systems/win32/w32tex/uptex-w32.tar.xz
2013/04/08 | 722652 | systems/win32/w32tex/utf.tar.xz
2013/04/08 | 13748 | systems/win32/w32tex/vf-n2bk.tar.xz
2020/03/27 | 38319492 | systems/win32/w32tex/w32tex-src.tar.xz
@@ -271840,7 +271847,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2020/04/14 | 186 | timestamp
+2020/04/15 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 427136282c..f4fb0777b3 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 4b8b59442d..a1c5844354 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,330 +1,529 @@
+2020/04/14 | 985 | support/arara/scripts/rules/make.yaml
+2020/04/14 | 96277 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/04/14 | 95089 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/04/14 | 94231 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/04/14 | 94164 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/04/14 | 941174 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/04/14 | 93490 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/04/14 | 932368 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/04/14 | 92892 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/04/14 | 926 | support/arara/scripts/rules/xindex.yaml
+2020/04/14 | 92049 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/04/14 | 91795 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/04/14 | 91361 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/04/14 | 87976 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-custom-titlepage.pdf
+2020/04/14 | 87376 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/04/14 | 87186 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/04/14 | 867 | support/arara/scripts/rules/biber.yaml
+2020/04/14 | 86671 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/04/14 | 84883 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-references.pdf
+2020/04/14 | 84790 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/04/14 | 8463 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/04/14 | 8451 | macros/luatex/latex/emojicite/emojicite-doc.tex
+2020/04/14 | 84390 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/04/14 | 842 | support/arara/scripts/rules/tikzmake.yaml
+2020/04/14 | 834 | support/arara/scripts/rules/nomencl.yaml
+2020/04/14 | 815 | support/arara/scripts/rules/xdvipdfmx.yaml
+2020/04/14 | 809 | support/arara/scripts/rules/songidx.yaml
+2020/04/14 | 80541 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/04/14 | 800 | support/arara/scripts/rules/dvipdfmx.yaml
+2020/04/14 | 797 | support/arara/scripts/rules/ps2pdf.yaml
+2020/04/14 | 796 | support/arara/scripts/rules/dvipdfm.yaml
+2020/04/14 | 79174 | support/arara/doc/chapters/methods.tex
+2020/04/14 | 787 | support/arara/scripts/rules/dvips.yaml
+2020/04/14 | 77980 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/04/14 | 77968 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/04/14 | 77450 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/04/14 | 768 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-declaration.def
+2020/04/14 | 7500 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/04/14 | 74444 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/04/14 | 73625 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/04/14 | 7353 | support/arara/doc/chapters/yaml.tex
+2020/04/14 | 729 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-declaration.def
+2020/04/14 | 72653 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/04/14 | 72547 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/04/14 | 71688 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/04/14 | 70760 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/04/14 | 69742 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/04/14 | 69226 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/04/14 | 68750 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/04/14 | 682 | support/arara/scripts/rules/sketch.yaml
+2020/04/14 | 6760 | support/pkgcheck/CHANGES.md
+2020/04/14 | 67256 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/04/14 | 670038 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/04/14 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/04/14 | 65081 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/04/14 | 647 | support/arara/scripts/rules/makeglossarieslite.yaml
+2020/04/14 | 647 | support/arara/scripts/rules/convert.yaml
+2020/04/14 | 64369 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/04/14 | 633414 | macros/latex/contrib/asmeconf.zip
+2020/04/14 | 63318 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/04/14 | 63283 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/04/14 | 63154 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/04/14 | 62783 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/04/14 | 626 | support/arara/scripts/rules/upbibtex.yaml
+2020/04/14 | 624361 | macros/latex/contrib/iodhbwm/doc/iodhbwm.pdf
+2020/04/14 | 621 | support/arara/scripts/rules/bibtexu.yaml
+2020/04/14 | 621 | support/arara/scripts/rules/bibtex8.yaml
+2020/04/14 | 62173 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/04/14 | 61923 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/04/14 | 61588 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/04/14 | 61532 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/04/14 | 615242 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/04/14 | 61172 | support/arara/doc/figures/optionbox1.pdf
+2020/04/14 | 60850 | support/arara/doc/figures/dropdown1.pdf
+2020/04/14 | 607 | support/arara/scripts/rules/dvisvgm.yaml
+2020/04/14 | 59941 | support/arara/doc/figures/inputbox1.pdf
+2020/04/14 | 596 | support/arara/scripts/rules/pbibtex.yaml
+2020/04/14 | 596600 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/04/14 | 59540 | support/arara/doc/figures/optionbox2.pdf
+2020/04/14 | 59409 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
+2020/04/14 | 592 | support/arara/scripts/rules/bibtex.yaml
+2020/04/14 | 59101 | support/arara/doc/figures/dropdown2.pdf
+2020/04/14 | 588 | support/arara/scripts/rules/pdftk.yaml
+2020/04/14 | 58752 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/04/14 | 58249 | support/arara/doc/figures/inputbox2.pdf
+2020/04/14 | 58124 | macros/latex/contrib/embedfile/embedfile.dtx
+2020/04/14 | 5788 | support/arara/scripts/rules/bib2gls.yaml
+2020/04/14 | 57769 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/04/14 | 575 | support/arara/scripts/arara.sh
+2020/04/14 | 575487 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/04/14 | 57117 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/04/14 | 56748 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/04/14 | 5652 | macros/latex/contrib/media4svg/example/beamer-example.tex
+2020/04/14 | 562071 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/04/14 | 560929 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/04/14 | 5537 | macros/latex/contrib/media4svg/README.md
+2020/04/14 | 55023 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/04/14 | 54949 | support/arara/doc/figures/messagebox1.pdf
+2020/04/14 | 54762 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/04/14 | 546 | support/arara/scripts/rules/qpdf.yaml
+2020/04/14 | 544281 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/04/14 | 53949 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/04/14 | 539446 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/04/14 | 53378 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
+2020/04/14 | 532476 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/04/14 | 532381 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/04/14 | 53224 | support/arara/doc/figures/messagebox2.pdf
+2020/04/14 | 52086 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/04/14 | 52034 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/04/14 | 5179 | macros/latex/contrib/asmeconf/README.md
+2020/04/14 | 50937 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/04/14 | 50829 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/04/14 | 50467 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/04/14 | 498639 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/04/14 | 49775 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/04/14 | 49387 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/04/14 | 490 | macros/latex/contrib/iodhbwm/doc/examples/abstract/my-abstract.inc.tex
+2020/04/14 | 47969 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/04/14 | 461777 | graphics/pgf/contrib/yquant.zip
+2020/04/14 | 461294 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
+2020/04/14 | 45802 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/04/14 | 457418 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/04/14 | 45645 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/04/14 | 45613 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/04/14 | 45482 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/04/14 | 45081 | macros/latex/contrib/iodhbwm/doc/iodhbwm.tex
+2020/04/14 | 44999 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/04/14 | 4465 | support/arara/README.md
+2020/04/14 | 43405 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/04/14 | 4312678 | macros/latex/contrib/iodhbwm.zip
+2020/04/14 | 42858 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/04/14 | 42630 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/04/14 | 4254 | support/arara/scripts/rules/context.yaml
+2020/04/14 | 425075 | macros/latex/contrib/asmeconf/asmeconf-template.pdf
+2020/04/14 | 41861 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/04/14 | 41826 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/04/14 | 412779 | install/macros/latex/contrib/embedfile.tds.zip
+2020/04/14 | 41061 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/04/14 | 4087 | support/arara/scripts/rules/datatooltk.yaml
+2020/04/14 | 40579 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/04/14 | 402848 | macros/latex/contrib/embedfile.zip
+2020/04/14 | 39 | support/arara/doc/arararc.yaml
+2020/04/14 | 39936 | macros/latex/contrib/media4svg/example/beamer-example-4.svg
+2020/04/14 | 397083 | macros/latex/contrib/embedfile/embedfile.pdf
+2020/04/14 | 39218 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/04/14 | 391633 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/04/14 | 387547 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
+2020/04/14 | 376 | systems/win32/miktex/tm/packages/pr.ini
+2020/04/14 | 376 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/my-titlepage.tex
+2020/04/14 | 36930 | macros/latex/contrib/asmeconf/asmeconf.bst
+2020/04/14 | 36783 | support/arara/doc/chapters/concepts.tex
+2020/04/14 | 36722 | macros/latex/contrib/asmeconf/asmeconf-template.tex
+2020/04/14 | 36616 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/04/14 | 36380 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/04/14 | 356212 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/04/14 | 354347 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
+2020/04/14 | 34841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/04/14 | 34828 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/04/14 | 33897 | macros/latex/contrib/iodhbwm/tex/dhbw-logo.png
+2020/04/14 | 33646 | macros/latex/contrib/asmeconf/asmeconf.cls
+2020/04/14 | 33461 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/04/14 | 3314 | support/arara/doc/arara-manual.tex
+2020/04/14 | 33046 | support/arara/doc/arara.sty
+2020/04/14 | 328618 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/04/14 | 326935 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-titlepage-logo.pdf
+2020/04/14 | 3267 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-advanced-starter.tex
+2020/04/14 | 32353 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/04/14 | 32256 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/04/14 | 321843 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/04/14 | 321222 | macros/latex/contrib/iodhbwm/doc/examples/abstract/iodhbwm-auto-sections-with-abstract.pdf
+2020/04/14 | 320 | support/arara/scripts/rules/halt.yaml
+2020/04/14 | 31206 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/04/14 | 31155 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/04/14 | 311487 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-roman-numbers.pdf
+2020/04/14 | 310588 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/04/14 | 30995 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/04/14 | 30719 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/04/14 | 30283 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/04/14 | 3026 | support/arara/doc/logos/bird.pdf
+2020/04/14 | 29670 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/04/14 | 2959 | macros/luatex/latex/emojicite/emojicite.sty
+2020/04/14 | 2945 | macros/latex/contrib/iodhbwm/doc/examples/abstract/iodhbwm-auto-sections-with-abstract.tex
+2020/04/14 | 29290 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/04/14 | 29218 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/04/14 | 29119 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/04/14 | 28724 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/04/14 | 28489 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/04/14 | 281462 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/04/14 | 281218 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/04/14 | 27763 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/04/14 | 277478 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-style-option.pdf
+2020/04/14 | 2773 | macros/luatex/latex/emojicite/README.md
+2020/04/14 | 277375 | macros/latex/contrib/media4svg/example/beamer-example-2.svg
+2020/04/14 | 27731 | graphics/pgf/contrib/yquant/tex/yquant-draw.tex
+2020/04/14 | 276883 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/04/14 | 272697 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/04/14 | 2722 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings-color.tex
+2020/04/14 | 271768 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-custom-option.pdf
+2020/04/14 | 2717045 | support/pkgcheck.zip
+2020/04/14 | 269843 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix.pdf
+2020/04/14 | 26950 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/04/14 | 26729 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/04/14 | 26656 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/04/14 | 2662045 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/04/14 | 26496 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/04/14 | 2608 | support/arara/scripts/rules/indent.yaml
+2020/04/14 | 25605 | macros/latex/contrib/media4svg/media4svg.sty
+2020/04/14 | 2556 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-simple-starter.tex
+2020/04/14 | 2532206 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/04/14 | 25320 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/04/14 | 24985 | support/arara/doc/chapters/cli.tex
+2020/04/14 | 24860 | graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
+2020/04/14 | 247730 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/04/14 | 247507 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/04/14 | 246441 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/04/14 | 24560 | macros/latex/contrib/media4svg/example/beamer-example-1.svg
+2020/04/14 | 2435 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-recommended-starter.tex
+2020/04/14 | 2431 | support/arara/scripts/rules/makeglossaries.yaml
+2020/04/14 | 242932 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/04/14 | 2353464 | macros/generic/chemfig.zip
+2020/04/14 | 23502 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/04/14 | 233 | macros/latex/contrib/media4svg/ChangeLog
+2020/04/14 | 229791 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-advanced-starter.pdf
+2020/04/14 | 22940 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/04/14 | 227148 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-recommended-starter.pdf
+2020/04/14 | 226207 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-replace-part-naming.pdf
+2020/04/14 | 221505 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/04/14 | 210 | macros/luatex/latex/emojicite/example.tex
+2020/04/14 | 2108 | support/arara/doc/chapters/license.tex
+2020/04/14 | 2097 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings.tex
+2020/04/14 | 207877 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/04/14 | 207446 | macros/latex/contrib/iodhbwm/doc/examples/how-to-use-iodhbwm/iodhbwm-simple-starter.pdf
+2020/04/14 | 20708 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/04/14 | 202041 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/04/14 | 20122 | macros/latex/contrib/iodhbwm/tex/iodhbwm-templates.sty
+2020/04/14 | 1989 | support/arara/scripts/rules/frontespizio.yaml
+2020/04/14 | 19892 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/04/14 | 198267 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/04/14 | 198257 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/04/14 | 1981922 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/04/14 | 1972 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix.tex
+2020/04/14 | 1966 | support/arara/scripts/rules/xindy.yaml
+2020/04/14 | 1965 | support/arara/scripts/rules/texindy.yaml
+2020/04/14 | 19524 | support/arara/doc/chapters/configuration.tex
+2020/04/14 | 194945 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/04/14 | 193856 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/04/14 | 19025 | macros/luatex/latex/emojicite/LICENSE.txt
+2020/04/14 | 186973 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/04/14 | 1865024 | support/arara/doc/arara-manual.pdf
+2020/04/14 | 184592 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/04/14 | 184291 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/04/14 | 1835 | support/arara/scripts/rules/detex.yaml
+2020/04/14 | 182827 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/04/14 | 178915 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-footcite.pdf
+2020/04/14 | 177537 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/04/14 | 17746 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/04/14 | 17661 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/04/14 | 175903 | macros/luatex/latex/emojicite/emojicite-doc.pdf
+2020/04/14 | 175067 | macros/luatex/latex/emojicite.zip
+2020/04/14 | 174188 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings-color.pdf
+2020/04/14 | 1735 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-sa.def
+2020/04/14 | 1735 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-pa.def
+2020/04/14 | 1735 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-replace-part-naming.tex
+2020/04/14 | 17217 | macros/latex/contrib/iodhbwm/tex/iodhbwm.cls
+2020/04/14 | 17149460 | support/arara.zip
+2020/04/14 | 17143901 | install/support/arara.tds.zip
+2020/04/14 | 1712 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-pa.def
+2020/04/14 | 1710 | support/arara/scripts/rules/texcount.yaml
+2020/04/14 | 1704 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-custom-option.tex
+2020/04/14 | 169267 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/04/14 | 1686625 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/04/14 | 168050 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix-auto.pdf
+2020/04/14 | 167771 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/04/14 | 167754 | macros/latex/contrib/iodhbwm/doc/examples/acronyms/iodhbwm-acro.pdf
+2020/04/14 | 167639 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/04/14 | 1672 | support/arara/scripts/rules/fig2dev.yaml
+2020/04/14 | 164883 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/04/14 | 1643 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-roman-numbers.tex
+2020/04/14 | 164362 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-hyperref.pdf
+2020/04/14 | 1627 | support/arara/scripts/rules/pdflatex.yaml
+2020/04/14 | 1627 | support/arara/scripts/rules/lualatex.yaml
+2020/04/14 | 1625 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-hyperref.tex
+2020/04/14 | 1611 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-print.tex
+2020/04/14 | 1609 | support/arara/scripts/rules/latex.yaml
+2020/04/14 | 160804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/04/14 | 160649 | install/macros/latex/contrib/media4svg.tds.zip
+2020/04/14 | 16048 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/04/14 | 16028278 | support/arara/scripts/arara.jar
+2020/04/14 | 159153 | macros/latex/contrib/media4svg.zip
+2020/04/14 | 15899 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/04/14 | 1570 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-ba.def
+2020/04/14 | 1564 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage-ba.def
+2020/04/14 | 1539 | support/arara/scripts/rules/latexmk.yaml
+2020/04/14 | 152752 | macros/latex/contrib/iodhbwm/doc/examples/listings/iodhbwm-listings.pdf
+2020/04/14 | 1523 | support/arara/scripts/rules/xelatex.yaml
+2020/04/14 | 1523 | support/arara/scripts/rules/uplatex.yaml
+2020/04/14 | 152266 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/04/14 | 1517 | support/arara/scripts/rules/platex.yaml
+2020/04/14 | 149778 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/04/14 | 1494 | support/arara/scripts/rules/makeindex.yaml
+2020/04/14 | 148231 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/04/14 | 1478 | support/arara/scripts/rules/asymptote.yaml
+2020/04/14 | 1473 | macros/latex/contrib/iodhbwm/tex/i18n/english/dhbw-titlepage.def
+2020/04/14 | 147307 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/04/14 | 146542 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
+2020/04/14 | 1459 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-titlepage-logo.tex
+2020/04/14 | 145319 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/img/penguin-158298-pixabay.png
+2020/04/14 | 1446 | support/arara/scripts/rules/knitr.yaml
+2020/04/14 | 1437 | macros/latex/contrib/iodhbwm/doc/examples/appendix/iodhbwm-appendix-auto.tex
+2020/04/14 | 14215 | support/arara/doc/logos/logo1.pdf
+2020/04/14 | 14166 | support/arara/doc/logos/logo2.pdf
+2020/04/14 | 14155 | macros/latex/contrib/media4svg/example/beamer-example-3.svg
+2020/04/14 | 140957 | support/arara/doc/figures/arara.png
+2020/04/14 | 1406 | macros/latex/contrib/iodhbwm/README.md
+2020/04/14 | 1404 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage.def
+2020/04/14 | 14043 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/04/14 | 1399649 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/04/14 | 137170 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/04/14 | 1367 | macros/latex/contrib/iodhbwm/doc/examples/acronyms/iodhbwm-acro.tex
+2020/04/14 | 13553 | support/arara/doc/chapters/deploying.tex
+2020/04/14 | 13532 | support/arara/doc/chapters/mvel.tex
+2020/04/14 | 1347 | support/arara/doc/figures/gl.pdf
+2020/04/14 | 1337 | support/arara/scripts/rules/clean.yaml
+2020/04/14 | 133237 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/04/14 | 13057 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/04/14 | 130464 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/04/14 | 1301 | macros/latex/contrib/iodhbwm/doc/examples/references/iodhbwm-references.tex
+2020/04/14 | 129837 | support/arara/source/arara-5.1.1-src.zip
+2020/04/14 | 1296 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-style-option.tex
+2020/04/14 | 12915 | graphics/pgf/contrib/yquant/tex/yquant-config.tex
+2020/04/14 | 1284 | support/arara/scripts/rules/pdfcsplain.yaml
+2020/04/14 | 1276 | support/arara/scripts/rules/luahbtex.yaml
+2020/04/14 | 1274 | support/arara/scripts/rules/metapost.yaml
+2020/04/14 | 1272 | support/arara/scripts/rules/csplain.yaml
+2020/04/14 | 1268 | support/arara/scripts/rules/pdftex.yaml
+2020/04/14 | 1268 | support/arara/scripts/rules/luatex.yaml
+2020/04/14 | 1266 | support/arara/scripts/rules/dvipspdf.yaml
+2020/04/14 | 1264 | macros/latex/contrib/iodhbwm/tex/i18n/ngerman/dhbw-titlepage-sa.def
+2020/04/14 | 1257978 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/04/14 | 125376 | macros/latex/contrib/iodhbwm/doc/examples/customizing/iodhbwm-print.pdf
+2020/04/14 | 12487 | support/arara/doc/chapters/introduction.tex
+2020/04/14 | 1247934 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/04/14 | 11967 | macros/latex/contrib/asmeconf/asmeconf-sample.bib
+2020/04/14 | 1186305 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/04/14 | 1185894 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/04/14 | 11683 | support/arara/doc/chapters/building.tex
+2020/04/14 | 116760 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/04/14 | 1166 | support/arara/scripts/rules/xetex.yaml
+2020/04/14 | 1166 | support/arara/scripts/rules/uptex.yaml
+2020/04/14 | 1162 | support/arara/scripts/rules/ptex.yaml
+2020/04/14 | 115560 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/04/14 | 11369 | support/arara/doc/chapters/logging.tex
+2020/04/14 | 1130 | macros/latex/contrib/iodhbwm/doc/examples/titlepages/iodhbwm-custom-titlepage.tex
+2020/04/14 | 1128 | support/arara/scripts/rules/animate.yaml
+2020/04/14 | 1127 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-rename-heading.tex
+2020/04/14 | 1117265 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/04/14 | 111655 | support/arara/doc/chapters/rules.tex
+2020/04/14 | 110907 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/04/14 | 1106824 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/04/14 | 1106559 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/04/14 | 109680 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/04/14 | 108818 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/04/14 | 1077 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-footcite.tex
+2020/04/14 | 1062 | support/arara/scripts/rules/etex.yaml
+2020/04/14 | 106171 | macros/latex/contrib/iodhbwm/doc/examples/bibliography/iodhbwm-biblatex-rename-heading.pdf
+2020/04/14 | 1050 | support/arara/scripts/rules/tex.yaml
+2020/04/14 | 1049101 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/04/14 | 1042662 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/04/14 | 10349 | graphics/pgf/contrib/yquant/tex/yquant-env.tex
+2020/04/14 | 1032 | support/arara/doc/rules/manual.yaml
+2020/04/14 | 1025 | macros/latex/contrib/iodhbwm/tex/iodhbwm-i18n.def
+2020/04/14 | 102460 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/04/14 | 100550 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
2020/04/13 | 9646462 | install/fonts/coelacanth.tds.zip
-2020/04/13 | 96276 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2020/04/13 | 96127 | macros/latex/contrib/lettre/lettre.cls
2020/04/13 | 9593756 | fonts/coelacanth.zip
-2020/04/13 | 95089 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/04/13 | 94230 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/04/13 | 94162 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2020/04/13 | 941171 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/04/13 | 93489 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2020/04/13 | 9332 | systems/texlive/tlnet/archive/gnuplottex.source.r54711.tar.xz
-2020/04/13 | 932369 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
2020/04/13 | 93094 | macros/generic/systeme.zip
-2020/04/13 | 92891 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/04/13 | 92048 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/04/13 | 91794 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/04/13 | 91361 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2020/04/13 | 90691 | macros/generic/misc.zip
2020/04/13 | 8936 | systems/texlive/tlnet/archive/doclicense.source.r54700.tar.xz
2020/04/13 | 878152 | systems/texlive/tlnet/archive/witharrows.doc.r54707.tar.xz
2020/04/13 | 876036 | systems/texlive/tlnet/archive/elegantpaper.doc.r54702.tar.xz
-2020/04/13 | 87375 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2020/04/13 | 87186 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2020/04/13 | 86670 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
2020/04/13 | 854944 | biblio/bibtex/utils/bibtool/bibtool.pdf
-2020/04/13 | 84786 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/04/13 | 8466 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2020/04/13 | 84390 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/04/13 | 8455492 | systems/win32/w32tex/uptex-w32.tar.xz
2020/04/13 | 84340 | systems/texlive/tlnet/archive/luatexja.source.r54705.tar.xz
2020/04/13 | 8384 | systems/texlive/tlnet/archive/elegantbook.r54695.tar.xz
2020/04/13 | 8176 | systems/texlive/tlnet/archive/psnfss.source.r54694.tar.xz
-2020/04/13 | 80541 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
2020/04/13 | 79697 | macros/generic/random.zip
-2020/04/13 | 77978 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2020/04/13 | 77967 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
2020/04/13 | 77724 | macros/generic/systeme/systeme_fr.pdf
-2020/04/13 | 77448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2020/04/13 | 76332 | macros/generic/random/random-doc.pdf
2020/04/13 | 75108 | systems/texlive/tlnet/archive/doclicense.r54700.tar.xz
-2020/04/13 | 7497 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
2020/04/13 | 745469 | biblio/bibtex/utils/bibtool/BibTool-2.68.tar.gz
2020/04/13 | 744612 | systems/texlive/tlnet/archive/tkz-fct.doc.r54703.tar.xz
-2020/04/13 | 74446 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2020/04/13 | 73621 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/04/13 | 72651 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/04/13 | 72545 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/04/13 | 71687 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2020/04/13 | 711664 | systems/texlive/tlnet/archive/cmsrb.doc.r54706.tar.xz
-2020/04/13 | 70759 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
2020/04/13 | 702 | macros/latex/contrib/lettre/lettre-path.tex
2020/04/13 | 702363 | macros/latex/contrib/yathesis/exemples/specimen/comue.pdf
-2020/04/13 | 69740 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/04/13 | 69226 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/04/13 | 68750 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/04/13 | 69336828 | systems/win32/w32tex/luatexja.tar.xz
2020/04/13 | 677 | macros/latex/contrib/yathesis/exemples/specimen/latexmkrc
-2020/04/13 | 67256 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2020/04/13 | 670038 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2020/04/13 | 658 | macros/latex/contrib/lettre/lettre-languages.tex
-2020/04/13 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
2020/04/13 | 6516511 | macros/latex/contrib/yathesis/doc/yathesis-fr.pdf
-2020/04/13 | 65079 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2020/04/13 | 64369 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/04/13 | 6448284 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2020/04/13 | 63456 | fonts/coelacanth/doc/coelacanth-samples.pdf
-2020/04/13 | 63317 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/04/13 | 63282 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2020/04/13 | 63157 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2020/04/13 | 62781 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2020/04/13 | 62172 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2020/04/13 | 61922 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/04/13 | 61588 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2020/04/13 | 61530 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2020/04/13 | 615238 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/04/13 | 623319 | systems/win32/w32tex/ChangeLog
2020/04/13 | 601068 | macros/latex/contrib/askinclude.zip
-2020/04/13 | 596599 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2020/04/13 | 595059 | macros/latex/contrib/askinclude/askinclude.pdf
-2020/04/13 | 59409 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
-2020/04/13 | 58751 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2020/04/13 | 57769 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2020/04/13 | 5768 | systems/texlive/tlnet/archive/tikzcodeblocks.r54713.tar.xz
-2020/04/13 | 575485 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2020/04/13 | 57117 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/04/13 | 56749 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
2020/04/13 | 56648 | systems/texlive/tlnet/archive/nicematrix.source.r54712.tar.xz
-2020/04/13 | 5652 | macros/latex/contrib/media4svg/example/beamer-example.tex
-2020/04/13 | 562070 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2020/04/13 | 560930 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2020/04/13 | 5583244 | systems/texlive/tlnet/archive/cormorantgaramond.r54696.tar.xz
2020/04/13 | 5575 | fonts/cmupint/tex/cmupint.sty
-2020/04/13 | 5537 | macros/latex/contrib/media4svg/README.md
2020/04/13 | 55356 | systems/texlive/tlnet/archive/tikz-planets.doc.r54708.tar.xz
-2020/04/13 | 55023 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/04/13 | 54761 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2020/04/13 | 544279 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/04/13 | 53948 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/04/13 | 539441 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2020/04/13 | 53375 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
2020/04/13 | 53340 | macros/latex/contrib/askinclude/askinclude.dtx
-2020/04/13 | 532476 | systems/win32/miktex/tm/packages/files.csv.lzma
-2020/04/13 | 532381 | systems/win32/miktex/tm/packages/next/files.csv.lzma
2020/04/13 | 52530 | macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx
2020/04/13 | 5226 | macros/latex/contrib/lettre/ALIRE
-2020/04/13 | 52085 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2020/04/13 | 52034 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/04/13 | 50937 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/04/13 | 50828 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2020/04/13 | 50467 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
2020/04/13 | 5019 | macros/latex/contrib/lettre/README
2020/04/13 | 50188 | systems/texlive/tlnet/archive/witharrows.source.r54707.tar.xz
2020/04/13 | 5012 | systems/texlive/tlnet/archive/tkz-fct.r54703.tar.xz
2020/04/13 | 500457 | biblio/bibtex/utils/bibtool/c_lib.pdf
-2020/04/13 | 498635 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2020/04/13 | 49774 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/04/13 | 49384 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
2020/04/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/04/13 | 488 | biblio/bibtex/utils/bibtool/BibTool-2.68.tar.gz.asc
2020/04/13 | 4856 | macros/latex/contrib/yathesis/exemples/specimen/paris13.pdf
2020/04/13 | 481364 | systems/texlive/tlnet/archive/tikzcodeblocks.doc.r54713.tar.xz
2020/04/13 | 4810 | fonts/coelacanth/latex/coelacanth.sty
2020/04/13 | 4805 | fonts/cmupint/doc/cmupint.tex
-2020/04/13 | 47969 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2020/04/13 | 47613 | macros/latex/contrib/yathesis/exemples/specimen/ulco.pdf
2020/04/13 | 475828 | systems/texlive/tlnet/archive/asmejour.doc.r54698.tar.xz
2020/04/13 | 4652 | systems/texlive/tlnet/archive/elegantnote.r54701.tar.xz
-2020/04/13 | 461294 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
-2020/04/13 | 45801 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2020/04/13 | 457419 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/04/13 | 45645 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/04/13 | 45613 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
2020/04/13 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
2020/04/13 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2020/04/13 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
2020/04/13 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2020/04/13 | 45482 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
2020/04/13 | 4523 | fonts/cmupint/source/cmupint.mf
-2020/04/13 | 44997 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2020/04/13 | 4382 | macros/latex/contrib/yathesis/CHANGELOG.md
2020/04/13 | 4348 | systems/texlive/tlnet/archive/topiclongtable.r54704.tar.xz
-2020/04/13 | 43405 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2020/04/13 | 42859 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/04/13 | 42629 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
2020/04/13 | 4222083 | macros/latex/contrib/yathesis/exemples/canevas-specimen.zip
2020/04/13 | 4206 | macros/generic/random/random.tex
-2020/04/13 | 41862 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2020/04/13 | 418476 | systems/texlive/tlnet/archive/gnuplottex.doc.r54711.tar.xz
-2020/04/13 | 41826 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
2020/04/13 | 4154 | biblio/bibtex/utils/bibtool/README.md
-2020/04/13 | 41060 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2020/04/13 | 40577 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/04/13 | 41537412 | systems/win32/w32tex/latex-dev.tar.xz
2020/04/13 | 399 | macros/generic/random/README.md
-2020/04/13 | 39912 | macros/latex/contrib/media4svg/example/beamer-example-4.svg
2020/04/13 | 39792 | systems/texlive/tlnet/archive/platex.r54697.tar.xz
2020/04/13 | 3950770 | systems/texlive/tlnet/install-tl-unx.tar.gz
2020/04/13 | 3948 | systems/texlive/tlnet/archive/elegantpaper.r54702.tar.xz
-2020/04/13 | 39220 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/04/13 | 391633 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2020/04/13 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r54692.tar.xz
-2020/04/13 | 387546 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
2020/04/13 | 379760 | systems/texlive/tlnet/archive/topiclongtable.doc.r54704.tar.xz
-2020/04/13 | 376 | systems/win32/miktex/tm/packages/pr.ini
-2020/04/13 | 36614 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/04/13 | 371 | macros/generic/chemfig/chemfig.sty
2020/04/13 | 3649 | macros/latex/contrib/lettre/lettre-french.ldf
-2020/04/13 | 36380 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2020/04/13 | 360749 | fonts/cmupint.zip
2020/04/13 | 357 | fonts/cmupint/README.md
2020/04/13 | 357864 | systems/texlive/tlnet/archive/doclicense.doc.r54700.tar.xz
-2020/04/13 | 356212 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2020/04/13 | 354349 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
-2020/04/13 | 34840 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/04/13 | 34828 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/04/13 | 33460 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/04/13 | 34545236 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/04/13 | 33436 | macros/latex/contrib/yathesis/exemples/specimen/tiger.pdf
2020/04/13 | 33396 | systems/texlive/tlnet/archive/hitszthesis.source.r54709.tar.xz
2020/04/13 | 332868 | fonts/cmupint/doc/cmupint.pdf
2020/04/13 | 330966 | biblio/bibtex/utils/bibtool/ref_card.pdf
2020/04/13 | 3288 | systems/texlive/tlnet/archive/gnuplottex.r54711.tar.xz
-2020/04/13 | 328619 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2020/04/13 | 3249372 | systems/texlive/tlnet/archive/luatexja.doc.r54705.tar.xz
-2020/04/13 | 32353 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/04/13 | 32255 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2020/04/13 | 321843 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
2020/04/13 | 3155 | macros/generic/random/random-doc.tex
-2020/04/13 | 31205 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/04/13 | 31154 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2020/04/13 | 310587 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2020/04/13 | 30995 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/04/13 | 30718 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
2020/04/13 | 30622 | macros/latex/contrib/yathesis/exemples/specimen/these.tex
-2020/04/13 | 30283 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/04/13 | 29670 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2020/04/13 | 2936 | macros/latex/contrib/lettre/lettre-obs.cfg
-2020/04/13 | 29288 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/04/13 | 29218 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/04/13 | 29118 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2020/04/13 | 28722 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2020/04/13 | 2864 | systems/texlive/tlnet/archive/tikz-planets.r54708.tar.xz
-2020/04/13 | 28489 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2020/04/13 | 281461 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2020/04/13 | 281217 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2020/04/13 | 27762 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2020/04/13 | 276879 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2020/04/13 | 276583 | macros/latex/contrib/media4svg/example/beamer-example-2.svg
-2020/04/13 | 272696 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/04/13 | 2820836 | systems/win32/w32tex/platex.tar.xz
2020/04/13 | 27164 | macros/generic/systeme/systeme.tex
-2020/04/13 | 26949 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/04/13 | 26728 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2020/04/13 | 26655 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/04/13 | 2662044 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2020/04/13 | 26496 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
2020/04/13 | 260860 | systems/texlive/tlnet/archive/psnfss.doc.r54694.tar.xz
2020/04/13 | 2599 | fonts/coelacanth/README
2020/04/13 | 25938 | macros/generic/systeme/systeme_fr.tex
2020/04/13 | 25552 | systems/texlive/tlnet/archive/chemfig.r54710.tar.xz
-2020/04/13 | 2532205 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2020/04/13 | 25319 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2020/04/13 | 24836 | systems/texlive/tlnet/archive/hitszthesis.r54709.tar.xz
-2020/04/13 | 247730 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2020/04/13 | 247508 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2020/04/13 | 246440 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2020/04/13 | 24620 | macros/latex/contrib/media4svg/example/beamer-example-1.svg
2020/04/13 | 2445 | macros/latex/contrib/lettre/lettre-romand.ldf
-2020/04/13 | 242929 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2020/04/13 | 2415262 | biblio/bibtex/utils/bibtool.zip
-2020/04/13 | 23922 | macros/latex/contrib/media4svg/media4svg.sty
-2020/04/13 | 23500 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2020/04/13 | 2330560 | systems/texlive/tlnet/archive/elegantbook.doc.r54695.tar.xz
2020/04/13 | 2309 | macros/latex/contrib/lettre/lettre-USenglish.ldf
2020/04/13 | 2299372 | systems/texlive/tlnet/archive/cmsrb.r54706.tar.xz
-2020/04/13 | 22939 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2020/04/13 | 2277 | macros/latex/contrib/lettre/lettre-german.ldf
2020/04/13 | 22720336 | systems/texlive/tlnet/install-tl.zip
2020/04/13 | 2254 | macros/latex/contrib/lettre/lettre-english.ldf
-2020/04/13 | 221504 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2020/04/13 | 2183640 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2020/04/13 | 215819 | macros/latex/contrib/yathesis/source/yathesis.dtx
-2020/04/13 | 207876 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2020/04/13 | 20704 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
2020/04/13 | 2063508 | systems/texlive/tlnet/archive/chemfig.doc.r54710.tar.xz
-2020/04/13 | 202039 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2020/04/13 | 19891 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2020/04/13 | 198232 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/04/13 | 198200 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/04/13 | 1981920 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/04/13 | 194945 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2020/04/13 | 193856 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/04/13 | 200 | macros/generic/chemfig/t-chemfig.tex
+2020/04/13 | 200049 | macros/generic/chemfig/chemfig-fr.tex
2020/04/13 | 1933 | macros/latex/contrib/lettre/lettre-default.cfg
2020/04/13 | 187 | macros/latex/contrib/yathesis/doc/README-TRANSLATION.md
-2020/04/13 | 186972 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2020/04/13 | 184591 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/04/13 | 184290 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2020/04/13 | 182827 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/04/13 | 185808 | macros/generic/chemfig/chemfig-en.tex
2020/04/13 | 181712 | systems/texlive/tlnet/archive/luatexja.r54705.tar.xz
2020/04/13 | 17889757 | systems/texlive/tlnet/install-tl-windows.exe
-2020/04/13 | 177537 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/04/13 | 17747 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2020/04/13 | 1773 | macros/latex/contrib/yathesis/exemples/specimen/bibliographie.bib
-2020/04/13 | 17660 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
2020/04/13 | 17460 | systems/texlive/tlnet/archive/asmejour.r54698.tar.xz
2020/04/13 | 171 | macros/generic/systeme/systeme.sty
-2020/04/13 | 169267 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2020/04/13 | 1686623 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2020/04/13 | 167770 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/04/13 | 167638 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2020/04/13 | 1674424 | systems/texlive/tlnet/archive/hitszthesis.doc.r54709.tar.xz
-2020/04/13 | 164 | macros/latex/contrib/media4svg/ChangeLog
-2020/04/13 | 164882 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2020/04/13 | 16294545 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2020/04/13 | 160992 | systems/texlive/tlnet/archive/texlive-docindex.doc.r54692.tar.xz
-2020/04/13 | 160804 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2020/04/13 | 16045 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
2020/04/13 | 16032 | systems/texlive/tlnet/archive/nicematrix.r54712.tar.xz
-2020/04/13 | 160226 | install/macros/latex/contrib/media4svg.tds.zip
-2020/04/13 | 15898 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2020/04/13 | 158730 | macros/latex/contrib/media4svg.zip
2020/04/13 | 1582 | macros/latex/contrib/yathesis/README.md
2020/04/13 | 158028 | systems/texlive/tlnet/archive/cormorantgaramond.doc.r54696.tar.xz
2020/04/13 | 15665 | macros/latex/contrib/lettre/3.002-release-notes.txt
2020/04/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2020/04/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2020/04/13 | 152264 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2020/04/13 | 1509 | macros/latex/contrib/lettre/lettre-amg.cfg
-2020/04/13 | 149778 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2020/04/13 | 148230 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2020/04/13 | 147308 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
2020/04/13 | 1464456 | systems/texlive/tlnet/archive/platex.doc.r54697.tar.xz
2020/04/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2020/04/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2020/04/13 | 14052 | systems/texlive/tlnet/archive/witharrows.r54707.tar.xz
-2020/04/13 | 14042 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2020/04/13 | 1399649 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2020/04/13 | 137170 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2020/04/13 | 135127 | macros/latex/contrib/yathesis/exemples/specimen/labo.pdf
2020/04/13 | 1340 | systems/texlive/tlnet/archive/collection-pictures.r54708.tar.xz
-2020/04/13 | 133234 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2020/04/13 | 13291 | macros/latex/contrib/media4svg/example/beamer-example-3.svg
2020/04/13 | 131408 | systems/texlive/tlnet/archive/platex.source.r54697.tar.xz
-2020/04/13 | 13056 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2020/04/13 | 130463 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2020/04/13 | 12792590 | install/macros/latex/contrib/yathesis.tds.zip
2020/04/13 | 1278807 | macros/latex/contrib/lettre/lettre.pdf
2020/04/13 | 12667675 | macros/latex/contrib/yathesis.zip
-2020/04/13 | 1257973 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2020/04/13 | 1247933 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2020/04/13 | 1245417 | macros/latex/contrib/yathesis/exemples/specimen/these.pdf
2020/04/13 | 122276 | systems/texlive/tlnet/archive/csplain.r54699.tar.xz
2020/04/13 | 121 | fonts/cmupint/tex/ucmupint.fd
2020/04/13 | 1210344 | systems/texlive/tlnet/archive/elegantnote.doc.r54701.tar.xz
2020/04/13 | 11936 | systems/texlive/tlnet/archive/psnfss.r54694.tar.xz
-2020/04/13 | 1187762 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/04/13 | 1186328 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/04/13 | 119280 | macros/generic/chemfig/chemfig.tex
2020/04/13 | 1184 | macros/latex/contrib/lettre/latexmkrc
2020/04/13 | 117 | macros/latex/contrib/askinclude/README.md
-2020/04/13 | 116757 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/04/13 | 115558 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2020/04/13 | 1139272 | systems/texlive/tlnet/archive/nicematrix.doc.r54712.tar.xz
-2020/04/13 | 1117265 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2020/04/13 | 110907 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2020/04/13 | 1106579 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2020/04/13 | 1106159 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2020/04/13 | 109678 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/04/13 | 108817 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/04/13 | 1125 | macros/generic/chemfig/README
+2020/04/13 | 1115526 | macros/generic/chemfig/chemfig-fr.pdf
+2020/04/13 | 109562 | macros/generic/chemfig/chemfigold.tex
2020/04/13 | 1087604 | install/macros/latex/contrib/lettre.tds.zip
+2020/04/13 | 1087261 | macros/generic/chemfig/chemfig-en.pdf
2020/04/13 | 1084282 | macros/latex/contrib/lettre.zip
-2020/04/13 | 1049101 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
2020/04/13 | 104783 | macros/latex/contrib/lettre/lettre.tex
-2020/04/13 | 1042662 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2020/04/13 | 1034 | macros/generic/systeme/README
-2020/04/13 | 102456 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2020/04/13 | 100548 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/04/13 | 10338492 | systems/win32/w32tex/ptex-w32.tar.xz
2020/04/12 | 997860 | systems/texlive/tlnet/archive/euclideangeometry.doc.r54659.tar.xz
2020/04/12 | 9712 | language/japanese/platex/kinsoku.dtx
2020/04/12 | 9696 | systems/texlive/tlnet/archive/canoniclayout.source.r54653.tar.xz
@@ -363,6 +562,7 @@
2020/04/12 | 759 | macros/latex/contrib/topiclongtable/README.md
2020/04/12 | 7547 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
2020/04/12 | 7541 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
+2020/04/12 | 75087 | support/pkgcheck/docs/pkgcheck.pdf
2020/04/12 | 7453 | macros/luatex/generic/luatexja/src/ltj-math.lua
2020/04/12 | 7380 | systems/texlive/tlnet/archive/srdp-mathematik.r54685.tar.xz
2020/04/12 | 708073 | macros/latex/contrib/asmejour.zip
@@ -377,9 +577,9 @@
2020/04/12 | 6648 | systems/texlive/tlnet/archive/manfnt.source.r54684.tar.xz
2020/04/12 | 6496 | systems/texlive/tlnet/archive/tkz-tab.r54662.tar.xz
2020/04/12 | 63304 | systems/texlive/tlnet/archive/glossaries-extra.r54688.tar.xz
-2020/04/12 | 622969 | systems/win32/w32tex/ChangeLog
2020/04/12 | 617 | macros/luatex/generic/luatexja/src/patches/lltjp-array.sty
2020/04/12 | 61188 | systems/texlive/tlnet/archive/tex4ht.doc.r54679.tar.xz
+2020/04/12 | 6109008 | support/pkgcheck/bin/pkgcheck
2020/04/12 | 6069 | language/japanese/platex/plnews06.tex
2020/04/12 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
2020/04/12 | 6047 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
@@ -437,6 +637,7 @@
2020/04/12 | 45320 | systems/texlive/tlnet/archive/curve2e.source.r54657.tar.xz
2020/04/12 | 451399 | macros/latex/contrib/elegantpaper/elegantpaper-cn.pdf
2020/04/12 | 4452 | macros/luatex/generic/luatexja/doc/jfm-ujisc33.lua
+2020/04/12 | 44188 | support/pkgcheck/src/main.rs
2020/04/12 | 43906 | macros/luatex/generic/luatexja/src/ltj-jfont.lua
2020/04/12 | 4294 | macros/luatex/generic/luatexja/src/ltj-plain.sty
2020/04/12 | 4262 | macros/luatex/generic/luatexja/tool/kyoikukanji.txt
@@ -480,8 +681,8 @@
2020/04/12 | 355 | macros/luatex/generic/luatexja/doc/luatexja.ins
2020/04/12 | 3504 | systems/texlive/tlnet/archive/expkv-cs.r54674.tar.xz
2020/04/12 | 3484 | language/japanese/platex/plnewsc11.tex
-2020/04/12 | 34533712 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/04/12 | 3444 | systems/texlive/tlnet/archive/brandeis-thesis.source.r54656.tar.xz
+2020/04/12 | 33 | support/pkgcheck/docs/title.tex
2020/04/12 | 338912 | systems/texlive/tlnet/archive/cases.doc.r54682.tar.xz
2020/04/12 | 3371 | macros/luatex/generic/luatexja/src/patches/lltjp-xunicode.sty
2020/04/12 | 33676 | systems/texlive/tlnet/archive/xsim.r54681.tar.xz
@@ -591,6 +792,7 @@
2020/04/12 | 15182 | language/japanese/platex/exppl2e.sty
2020/04/12 | 150808 | systems/texlive/tlnet/archive/l3kernel.r54672.tar.xz
2020/04/12 | 150260 | systems/texlive/tlnet/archive/brandeis-thesis.doc.r54656.tar.xz
+2020/04/12 | 14958 | support/pkgcheck/src/utils.rs
2020/04/12 | 1488 | language/japanese/platex/plcls.ins
2020/04/12 | 14727 | macros/luatex/generic/luatexja/src/patches/lltjp-listings.sty
2020/04/12 | 1470350 | macros/latex/contrib/elegantnote.zip
@@ -598,6 +800,7 @@
2020/04/12 | 14510 | macros/latex/contrib/elegantnote/elegantnote-en.tex
2020/04/12 | 143772 | systems/texlive/tlnet/archive/hyperxmp.source.r54652.tar.xz
2020/04/12 | 143676 | systems/texlive/tlnet/archive/optex.r54650.tar.xz
+2020/04/12 | 14348 | support/pkgcheck/docs/errorsd.tex
2020/04/12 | 143281 | language/japanese/platex/exppl2e.pdf
2020/04/12 | 1420 | systems/texlive/tlnet/archive/manfnt.r54684.tar.xz
2020/04/12 | 14072 | systems/texlive/tlnet/archive/expkv-cs.source.r54674.tar.xz
@@ -641,7 +844,6 @@
2020/04/12 | 10446 | macros/latex/contrib/elegantpaper/elegantpaper.cls
2020/04/12 | 10430 | language/japanese/platex/plnewsc07.tex
2020/04/12 | 10426 | language/japanese/platex/plnews01.tex
-2020/04/12 | 10327676 | systems/win32/w32tex/ptex-w32.tar.xz
2020/04/12 | 10113 | macros/latex/contrib/topiclongtable/topiclongtable-doc.tex
2020/04/12 | 10010772 | systems/texlive/tlnet/archive/l3kernel.doc.r54672.tar.xz
2020/04/12 | 100064 | systems/texlive/tlnet/archive/hepunits.doc.r54660.tar.xz
@@ -656,6 +858,7 @@
2020/04/11 | 70830 | macros/latex/contrib/hyperxmp/einstein1.pdf
2020/04/11 | 6209 | macros/latex/contrib/tkz/tkz-fct/doc/latex/TKZdoc-fct-main.tex
2020/04/11 | 5708 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2020/04/11 | 512339 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
2020/04/11 | 51170 | fonts/cmupint/source/upintsymd.mf
2020/04/11 | 504 | fonts/cmupint/tfm/cmupint.tfm
2020/04/11 | 4934 | macros/latex/contrib/tkz/tkz-fct/doc/latex/TKZdoc-fct-asymptote.tex
@@ -664,13 +867,16 @@
2020/04/11 | 3442 | macros/latex/contrib/hyperxmp/gind-hyxmp.ist
2020/04/11 | 295778 | macros/latex/contrib/acronym.zip
2020/04/11 | 275707 | macros/latex/contrib/acronym/acronym.pdf
+2020/04/11 | 25575 | graphics/pgf/contrib/yquant/tex/yquant-registers.tex
2020/04/11 | 24111 | macros/latex/contrib/tkz/tkz-fct/latex/tkz-fct.sty
2020/04/11 | 230597 | indexing/makeindexk.zip
2020/04/11 | 2249 | macros/latex/contrib/hyperxmp/README
+2020/04/11 | 21396 | graphics/pgf/contrib/yquant/tex/yquant-lang.tex
2020/04/11 | 211319 | macros/latex/contrib/hyperxmp/hyperxmp.dtx
2020/04/11 | 2036 | macros/latex/contrib/hyperxmp/hyperxmp.ins
2020/04/11 | 1702104 | systems/texlive/tlnet/archive/arara.doc.r54640.tar.xz
2020/04/11 | 1698 | macros/latex/contrib/tkz/tkz-fct/README.md
+2020/04/11 | 1435 | graphics/pgf/contrib/yquant/tex/yquant.sty
2020/04/11 | 14337088 | systems/texlive/tlnet/archive/arara.r54640.tar.xz
2020/04/11 | 1258008 | macros/latex/contrib/hyperxmp/hyperxmp.pdf
2020/04/11 | 1186160 | systems/texlive/tlnet/archive/asymptote.amd64-netbsd.r54635.tar.xz
@@ -684,6 +890,7 @@
2020/04/10 | 95331 | macros/latex/contrib/hepunits/hepunits.pdf
2020/04/10 | 88245 | macros/latex/contrib/endnotes-hy/examples/exmpl-endnotes.pdf
2020/04/10 | 8429 | macros/latex/contrib/brandeis-thesis/brandeis-thesis.dtx
+2020/04/10 | 836 | support/pkgcheck/Cargo.toml
2020/04/10 | 806244 | macros/latex/contrib/eqexam/doc/eqexam.pdf
2020/04/10 | 789604 | systems/win32/w32tex/win64/pstoedit-w64.tar.xz
2020/04/10 | 759028 | systems/win32/w32tex/win64/dvipsk-w64.tar.xz
@@ -753,6 +960,7 @@
2020/04/10 | 1045539 | macros/latex/contrib/euclideangeometry.zip
2020/04/10 | 101262 | macros/latex/contrib/hepunits.zip
2020/04/10 | 1003 | macros/latex/contrib/hepunits/README
+2020/04/10 | 10035 | support/pkgcheck/src/messages/errorsd.rs
2020/04/09 | 85149 | macros/latex/contrib/musical.zip
2020/04/09 | 806385 | install/macros/latex/contrib/zhlipsum.tds.zip
2020/04/09 | 66910 | macros/latex/contrib/zhlipsum/zhlipsum-en.pdf
@@ -772,7 +980,6 @@
2020/04/08 | 732 | macros/pdftex/mptopdf/doc/context/scripts/mkii/mptopdf.man
2020/04/08 | 71627 | macros/pdftex/mptopdf/tex/context/base/mkii/supp-pdf.mkii
2020/04/08 | 692052 | macros/latex/contrib/polyglossia/polyglossia.dtx
-2020/04/08 | 64888156 | systems/win32/w32tex/biblatex-biber.tar.xz
2020/04/08 | 6017 | macros/latex/contrib/tkz/tkz-tab/doc/latex/TKZdoc-tab-tangente.tex
2020/04/08 | 54 | systems/mac/mactex/mactex-20200407.pkg.md5
2020/04/08 | 5322 | macros/pdftex/mptopdf/tex/generic/context/mptopdf/mptopdf.tex
@@ -791,76 +998,3 @@
2020/04/08 | 1429 | macros/latex/contrib/tkz/tkz-tab/doc/latex/TKZdoc-tab-slope.tex
2020/04/08 | 139688692 | systems/win32/w32tex/context.tar.xz
2020/04/08 | 11887 | macros/latex/contrib/tkz/tkz-tab/doc/latex/TKZdoc-tab-style.tex
-2020/04/07 | 99057432 | systems/win32/w32tex/web2c-lib.tar.xz
-2020/04/07 | 9776 | macros/latex/contrib/biblatex-contrib/biblatex-apa/russian-apa.lbx
-2020/04/07 | 9768 | macros/latex/contrib/biblatex-contrib/biblatex-apa/slovene-apa.lbx
-2020/04/07 | 9459 | macros/latex/contrib/biblatex-contrib/biblatex-apa/danish-apa.lbx
-2020/04/07 | 9414 | macros/latex/contrib/biblatex-contrib/biblatex-apa/italian-apa.lbx
-2020/04/07 | 9356 | macros/latex/contrib/biblatex-contrib/biblatex-apa/french-apa.lbx
-2020/04/07 | 9342 | systems/win32/miktex/tm/packages/tkz-doc.tar.lzma
-2020/04/07 | 91839 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test-references.bib
-2020/04/07 | 9152 | macros/latex/contrib/biblatex-contrib/biblatex-apa/nynorsk-apa.lbx
-2020/04/07 | 9142 | macros/latex/contrib/biblatex-contrib/biblatex-apa/brazilian-apa.lbx
-2020/04/07 | 9136 | macros/latex/contrib/biblatex-contrib/biblatex-apa/norwegian-apa.lbx
-2020/04/07 | 9136 | macros/latex/contrib/biblatex-contrib/biblatex-apa/norsk-apa.lbx
-2020/04/07 | 9114 | macros/latex/contrib/biblatex-contrib/biblatex-apa/english-apa.lbx
-2020/04/07 | 9108 | macros/latex/contrib/biblatex-contrib/biblatex-apa/portuguese-apa.lbx
-2020/04/07 | 9093 | macros/latex/contrib/biblatex-contrib/biblatex-apa/dutch-apa.lbx
-2020/04/07 | 8988 | macros/latex/contrib/biblatex-contrib/biblatex-apa/british-apa.lbx
-2020/04/07 | 8956 | macros/latex/contrib/biblatex-contrib/biblatex-apa/swedish-apa.lbx
-2020/04/07 | 8484584 | systems/win32/w32tex/uptex-w32.tar.xz
-2020/04/07 | 83213937 | systems/mac/mactex/mactex-basictex-20200407.pkg
-2020/04/07 | 75541 | macros/latex/contrib/musical/musical.pdf
-2020/04/07 | 65817 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa.pdf
-2020/04/07 | 64542 | macros/latex/contrib/biblatex-contrib/biblatex-apa/apa.bbx
-2020/04/07 | 6447268 | systems/win32/w32tex/ptex-ng-w32.tar.xz
-2020/04/07 | 63 | systems/mac/mactex/mactex-basictex-20200407.pkg.md5
-2020/04/07 | 6372 | macros/latex/contrib/tkz/tkz-tab/doc/latex/TKZdoc-tab-bac.tex
-2020/04/07 | 563270 | systems/win32/miktex/tm/packages/upmethodology.tar.lzma
-2020/04/07 | 505846 | systems/win32/miktex/tm/packages/keyvaltable.tar.lzma
-2020/04/07 | 4936988 | systems/win32/w32tex/aleph-w32.tar.xz
-2020/04/07 | 489850 | systems/win32/miktex/tm/packages/tikzcodeblocks.tar.lzma
-2020/04/07 | 479 | macros/latex/contrib/musical/README.md
-2020/04/07 | 431135 | systems/win32/miktex/tm/packages/gnuplottex.tar.lzma
-2020/04/07 | 428125 | systems/win32/miktex/tm/packages/tkz-base.tar.lzma
-2020/04/07 | 41559612 | systems/win32/w32tex/latex-dev.tar.xz
-2020/04/07 | 394833 | macros/latex/contrib/biblatex-contrib/biblatex-apa.zip
-2020/04/07 | 3855212 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
-2020/04/07 | 375273 | systems/win32/miktex/tm/packages/expkv.tar.lzma
-2020/04/07 | 3475300 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz
-2020/04/07 | 341902 | systems/win32/miktex/tm/packages/biblatex-apa.tar.lzma
-2020/04/07 | 32910 | systems/win32/miktex/tm/packages/ehhline.tar.lzma
-2020/04/07 | 32559 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test.tex
-2020/04/07 | 314113 | systems/win32/miktex/tm/packages/expkv-def.tar.lzma
-2020/04/07 | 3103272 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz
-2020/04/07 | 3064180 | systems/win32/miktex/tm/packages/pgfornament.tar.lzma
-2020/04/07 | 2760854 | systems/win32/miktex/tm/packages/xsim.tar.lzma
-2020/04/07 | 2353562 | macros/generic/chemfig.zip
-2020/04/07 | 221740 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test.pdf
-2020/04/07 | 21615 | macros/latex/contrib/tkz/tkz-tab/doc/latex/TKZdoc-tab-adapt.tex
-2020/04/07 | 20622420 | systems/win32/w32tex/pdftex-w32.tar.xz
-2020/04/07 | 2048 | macros/latex/contrib/biblatex-contrib/biblatex-apa/apa.dbx
-2020/04/07 | 1927537 | systems/win32/miktex/tm/packages/bxjscls.tar.lzma
-2020/04/07 | 19076 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa.tex
-2020/04/07 | 18831 | macros/latex/contrib/biblatex-contrib/biblatex-apa/apa.cbx
-2020/04/07 | 17976004 | systems/win32/w32tex/luatex-exp-w32.tar.xz
-2020/04/07 | 17970676 | systems/win32/w32tex/luatex-dev-w32.tar.xz
-2020/04/07 | 17968592 | systems/win32/w32tex/luatex-w32.tar.xz
-2020/04/07 | 1744 | macros/latex/contrib/biblatex-contrib/biblatex-apa/README
-2020/04/07 | 14523 | macros/latex/contrib/biblatex-contrib/biblatex-apa/american-apa.lbx
-2020/04/07 | 14157 | macros/latex/contrib/musical/musical.tex
-2020/04/07 | 1331375 | systems/win32/miktex/tm/packages/tkz-euclide.tar.lzma
-2020/04/07 | 13308 | macros/latex/contrib/musical/musical.sty
-2020/04/07 | 12785 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test-citations.bib
-2020/04/07 | 12394 | macros/latex/contrib/biblatex-contrib/biblatex-apa/ngerman-apa.lbx
-2020/04/07 | 12386 | macros/latex/contrib/biblatex-contrib/biblatex-apa/swissgerman-apa.lbx
-2020/04/07 | 12304 | macros/latex/contrib/biblatex-contrib/biblatex-apa/nswissgerman-apa.lbx
-2020/04/07 | 12296 | macros/latex/contrib/biblatex-contrib/biblatex-apa/naustrian-apa.lbx
-2020/04/07 | 12280 | macros/latex/contrib/biblatex-contrib/biblatex-apa/austrian-apa.lbx
-2020/04/07 | 12253 | macros/latex/contrib/biblatex-contrib/biblatex-apa/german-apa.lbx
-2020/04/07 | 1208718 | systems/win32/miktex/tm/packages/nicematrix.tar.lzma
-2020/04/07 | 1121077 | systems/win32/miktex/tm/packages/annee-scolaire.tar.lzma
-2020/04/07 | 10605190 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
-2020/04/07 | 10457 | macros/latex/contrib/biblatex-contrib/biblatex-apa/greek-apa.lbx
-2020/04/07 | 10017 | macros/latex/contrib/biblatex-contrib/biblatex-apa/galician-apa.lbx
-2020/04/07 | 10015 | macros/latex/contrib/biblatex-contrib/biblatex-apa/spanish-apa.lbx
diff --git a/graphics/pgf/contrib/yquant/README.md b/graphics/pgf/contrib/yquant/README.md
index b7ba338460..56a8428524 100644
--- a/graphics/pgf/contrib/yquant/README.md
+++ b/graphics/pgf/contrib/yquant/README.md
@@ -7,6 +7,9 @@ It builds on and interacts with TiKZ, which brings an enourmous flexibility for
A detailed reference with lots of examples is provided in the PDF version of this Readme. We will sketch some basic usage.
+## License
+This material is subject to the LaTeX Project Public License 1.3.
+
## Examples
Many more examples and explanations can be found in the [PDF version](https://github.com/projekter/yquant/raw/master/doc/latex/yquant/yquant-doc.pdf) of this Readme.
diff --git a/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf b/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
index 3c129f135f..16dca0f393 100644
--- a/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
+++ b/graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/yquant/doc/yquant-doc.tex b/graphics/pgf/contrib/yquant/doc/yquant-doc.tex
index 856ac5b691..6455278430 100644
--- a/graphics/pgf/contrib/yquant/doc/yquant-doc.tex
+++ b/graphics/pgf/contrib/yquant/doc/yquant-doc.tex
@@ -117,16 +117,16 @@
\begingroup%
\setlength{\parskip}{0pt}%
\setlength{\parindent}{0pt}%
- \if\relax\detokenize{#5}\relax%
+ \ifstrempty{#5}{%
\begin{mdframed}[style=bdBox, backgroundcolor=#4, linecolor=#2,
firstextra=\bd@boxextra{#1}, singleextra=\bd@boxextra{#1}]%
- \else%
+ }{%
\begin{mdframed}[style=bdBox, backgroundcolor=#4,
frametitlefont=\bfseries\sffamily\color{#3},
frametitlebackgroundcolor=#2,
frametitle={\strut#5}, linecolor=#2,
firstextra=\bd@boxextra{#1}, singleextra=\bd@boxextra{#1}]%
- \fi%
+ }%
\ignorespaces%
}
\def\bd@boxoutro{%
@@ -197,7 +197,7 @@
This document outlines the scope and usage of the \Yquant{} package.
It contains both a reference and a huge number of examples.
\Yquant{} is a package that makes typesetting quantum circuits easy; the package is not yet available on CTAN.
- This alpha version~0.1.1 \emph{should} be stable and interfaces are not very likely to change in an incompatible way in the future.
+ This alpha version~0.1.2 \emph{should} be stable and interfaces are not very likely to change in an incompatible way in the future.
Please do report all issues and desirable additions.
\subsection{How to read the manual}
@@ -256,12 +256,12 @@
\end{itemize}
\subsection{License}
- This work may be distributed and/or modified under the conditions of the \LaTeX{} Project Public License, either version~1.3 of this license or (at your option) any later version.
+ This work may be distributed and/or modified under the conditions of the \LaTeX{} Project Public License, either version~1.3c of this license or (at your option) any later version.
The latest version of this license is in
\begin{center}
\url{http://www.latex-project.org/lppl.txt}
\end{center}
- and version~1.3 or later is part of all distributions of LaTeX version 2005/12/01 or later.
+ and version~1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later.
\section{Basic elements of \Yquant}\label{sec:grammar}
\Yquant, as some of the aforementioned packages, builds on \TikZ.
@@ -291,7 +291,9 @@
\begin{warning}[Optional arguments]
The optional arguments for the \tex!yquant! environment have to appear \emph{on the same line} as the environment itself.
If you want to put the arguments into a new line, it is crucial to mask the line break by putting a comment symbol after the environment: \tex!\begin{yquant}%!.
- Without this comment, \Yquant{} will detect your line break (this is one of the few places in \TeX{} where line breaks and spaces are different) and assume that the expression in square brackets instead provides arguments for the following operation!
+ Without this comment, \Yquant{} will detect your line break (this is one of the few places in \TeX{} where line breaks and spaces are different) and assume that the expression in square brackets instead provides arguments for the following operation! \\
+ Finally note that in (non\hyp fragile) \texttt{beamer} frames, this discrimination between spaces and new lines does not work; the optional arguments will always be counted for the environment, not for the gate.
+ In this case, you can either declare the frame as fragile or (recommended) introduce a blank line between the environment and the options for the first gate.
\end{warning}
\subsection{Starred vs. unstarred environment}
@@ -321,18 +323,21 @@ RegisterSingleList = RegisterSingle, [ ",", RegisterSingleList ];
RegisterSingle = RegisterSingleNoRange | RegisterRange;
RegisterSingleNoRange = ?name?, [ "[", IndexMultiList, "]" ];
-RegisterMulti = "(", ( RegisterMultiNoRange | RegisterRange ), ")";
-RegisterMultiNoRange = ?name?, [ "[", IndexSingleList, "]" ];
+RegisterMulti = "(", ( RegisterMultiNoRange | [ "*" ], RegisterRange ), ")";
+RegisterMultiNoRange = [ "*" ], ?name?, [ "[", IndexSingleMainList, "]" ];
RegisterRange = [ RegisterUnique ], "-", [ RegisterUnique ];
RegisterUnique = ?name?, [ "[", ?number?, "]" ];
-IndexMultiList = IndexMulti, [ ",", IndexMulti ];
-IndexSingleList = IndexSingle, [ ",", IndexSingle ];
+IndexMultiList = IndexMulti, [ ",", IndexMultiList ];
+IndexSingleList = IndexSingle, [ ",", IndexSingleList ];
+IndexSingleMainList = [ "*" ], IndexSingle, [ ",", IndexSingleMainList ];
IndexMulti = IndexSingle | ( "(", IndexSingle, ")" );
IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\end{minted}
Note that \Yquant{} is quite tolerant with respect to whitespaces.
Virtually every comma in the EBNF notation may consist of an arbitrary (including zero) number of whitespaces.
+ Not all combinations that can be constructed by this grammar are actually allowed semantically; but it would make the grammar too verbose to spell this out in detail.
+ Deviations are noted in this manual.
Valid values for
\begin{BVerbatim}[commandchars=\\\{\}]
@@ -348,7 +353,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\PYG{n+ni}{?name?}
\end{BVerbatim}
\space we denote any valid register name.
- Register names must not contain any of the control literals used before (semicolon, comma, parentheses, square brackets, dash, pipe, tilde); and you should avoid using special \TeX{} characters.
+ Register names must not contain any of the control literals used before (semicolon, comma, parentheses, square brackets, dash, pipe, tilde, beginning star); and you should avoid using special \TeX{} characters.
Note that for performance reasons, \Yquant{} does not check whether a register name is valid or not, but expect to either see unintended output or not\hyp so\hyp helpful error messages if you choose an invalid name.
\begin{BVerbatim}[commandchars=\\\{\}]
\PYG{n+ni}{?number?}
@@ -359,7 +364,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\end{BVerbatim}
).
- \subsection{Registers}
+ \subsection{Registers}\label{sec:registers}
Every quantum circuit is structured by means of \emph{registers}.
A register has a \emph{type} that specifies how its wire is drawn, and that may even change during its lifetime.
At the moment, \Yquant{} supports four types:
@@ -421,10 +426,30 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
It is possible to mix single- and multi\hyp register operations arbitrarily.
In an index list, you may also choose to surround only certain indices with parenthesis, provided the whole register is not already a multi\hyp register.
\begin{warning}
- Note that some gates, such as the \gate{swap} gate, always require multi\hyp register operations with a fixed number of constituents; others, such as the \gate{slash} pseudo\hyp gate always require single\hyp register operations.
- Again others are completely flexible.
+ Note that some gates, such as the \gate{swap} gate, always require (semantically, not grammatically) multi\hyp register operations.
+ Since version 0.1.2, the number of constituents is no longer fixed; while a \gate{swap} gate with more than two targets is no longer well\hyp defined, other registers such as \gate{zz} may still be useful.
\Yquant{} will prevent you from using a gate in a multi\hyp qubit setting when it may only be used for single registers.
- All other types of validity checks are up to the user.
+ \end{warning}
+ Typically, multi\hyp register operations should only be carried out on adjacent registers---but sometimes, one might want to carry out a multi\hyp qubit operation on a visually discontiguous set of registers (which, due to a particular quantum computer topology, might even be physically feasible).
+ Since version 0.1.2, \Yquant{} supports these discontiguous operations explicitly (before, a single gate was drawn with all intermediate non\hyp affected register lines laying on top).
+ It will draw a \emph{main} part of the gate at the first contiguous slice of registers in the target list---you may select another register for this part by preceding the name or index with a star (which, contrary to the simplified grammar, may only occur \emph{once} in a target specification).
+ All other contiguous slices of target registers will be drawn in a \emph{subordinate style} for this gate.
+ Finally, all slices will be connected by a single vertical line with the style \style{/yquant/every multi line}.
+ \begin{warning}[Discontiguous targets and control lines]
+ A control line extends from the very first to the very last affected register in an operation.
+ A sub\hyp gate line that is used for discontiguous registers will only span the range of a multi\hyp register.
+ This distinction becomes crucial if you want to carry out a \emph{controlled} operation on more than one multi\hyp register, where at least one is discontiguous.
+ Without the controls, the separate multi\hyp registers could be identified, since no connecting vertical line extends between them (unless, which you should strictly avoid, they are intertwined).
+ However, with the controls, the control line will make it hard (for some gates, impossible) to visually distinguish the connected parts.
+ \Yquant{} will kindly provide a warning in this case.
+ You may choose to suppress this warning using the boolean key \style{/yquant/operator/multi warning}.
+ \end{warning}
+ \begin{warning}
+ There is no established style for discontiguous gates.
+ Note that at the moment, main and subordinate style coincide for all gates except for the \gate{measure} gate with a value.
+ In order to still make it possible to visually distinguish discontiguous multi\hyp register gates operating on slices of a single register from just a bunch of single\hyp register gates that are executed in a parallel manner, if controls are present, \Yquant's default vertical line style for the former case is a wavy line instead of a straight one.
+ Still, the meaning of this should probably be explained.
+ Please feel free to submit issues or pull requests with propositions of how default styles or alternative subordinate gate shapes may additionally help to mitigate the problem.
\end{warning}
\subsection{Arguments}
@@ -474,6 +499,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\begin{option}{register/separation}!1mm!
This key controls the amount of vertical space that is inserted between two successive registers.
+ Half of this value is also the length that multi\hyp\gate{init} or multi\hyp\gate{output} braces extend beyond the mid position of the register.
\end{option}
\begin{option}{operator/minimum width}!3mm!
@@ -486,6 +512,12 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\begin{option}{operator/separation}!1mm!
This key controls the amount of horizontal space that is inserted between two successive operators.
\end{option}
+
+ \begin{option}{operator/multi warning}!true!
+ If this key is \texttt{true}, a warning is displayed whenever more than a single multi\hyp register gate, where at least one is discontiguous, are employed together with controls.
+ Even if a visual distinction between control and multi\hyp qubit line may be possible (depending on the style in use), they will overlap and produce unaesthetic output.
+ You may disable this warning globally, on a per\hyp circuit, or even on a per\hyp gate basis.
+ \end{option}
\subsection{Register creation}\unskipOpt
\begin{option}{register/default name}!\regidx!
@@ -499,7 +531,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\end{itemize}
\end{option}
- \begin{option}{every label}!shape=yquant-text, anchor=circuit, align=right!
+ \begin{option}{every label}!shape=yquant-text, anchor=center, align=right!
This style is installed for every single register name label (i.e., upon creation and when used with the \gate{init} gate).
The default style allows to use line breaks in the labels.
\end{option}
@@ -521,10 +553,12 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This style is installed for every single register name label of a register of type \gate{qubits}.
\end{option}
- \begin{option}{every multi label}!shift={(-.075, 0)}, draw, decoration={brace, mirror, pre=moveto, pre length=-1mm, post=moveto, post length=-1mm}, decorate, every node/.append style={shape=yquant-text, anchor=east, align=right, midway, shift={(-.025, 0)}}!
+ \begin{option}{every multi label}!shift={(-.075, 0)}, draw, decoration={gapped brace, mirror}, decorate, /yquant/gapped brace/apply shift, every node/.append style={shape=yquant-text, anchor=east, align=right, shift={(-.05, 0)}, pos=-1}!
This style is installed for every register name label that is attached to a multi\hyp qubit register by means of the \gate{init} gate.
\Yquant{} additionally inserts a straight line that connects the topmost and the bottom\hyp most register at their left ends.
The default style turns this line into a brace and places the description at the appropriate position.
+ The decoration \texttt{gapped brace} allows to additionally specify the regions in which a line should be drawn by using the \texttt{/tikz/decoration/from to} key, which expects a comma\hyp separated list of dimension ranges, and which is automatically populated by \Yquant.
+ Since it may happen that the arch of the brace needs to be shifted from the value specified in \texttt{/tikz/decoration/aspect} (else, it would be drawn into a gap), the special key \texttt{/yquant/gapped brace/apply shift} is installed, which transforms the \texttt{pos=-1} specification into a position that corresponds to the actual \texttt{aspect} value.
\end{option}
\subsection{Register outputs}\unskipOpt
@@ -545,16 +579,19 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This style is installed for every \gate{output} label of a register of type \gate{qubits}.
\end{option}
- \begin{option}{every multi output}!shift={(.075, 0)}, draw, decoration={brace, pre=moveto, pre length=-1mm, post=moveto, post length=-1mm}, decorate, every node/.append style={shape=yquant-text, anchor=west, align=left, midway, shift={(.025, 0)}}!
+ \begin{option}{every multi output}!shift={(.075, 0)}, draw, decoration={gapped brace}, decorate, /yquant/gapped brace/apply shift, every node/.append style={shape=yquant-text, anchor=west, align=left, shift={(.05, 0)}, pos=-1}!
This style is installed for every \gate{output} label that is attached to a multi\hyp qubit register.
\Yquant{} additionally inserts a straight line that connects the topmost and the bottom\hyp most register at their right ends.
The default style turns this line into a brace and places the description at the appropriate position.
+ See \style{/yquant/every multi label} for a more detailed explanation.
\end{option}
\subsection{General styling}\unskipOpt
- \begin{option}{every circuit}!!
+ \begin{option}{every circuit}!every node/.prefix style={transform shape}, every label/.prefix style={transform shape=false}!
Style that is installed for every \tex!yquant! and \tex!yquant*! environment, as if it had been given as an option.
- The style's default path is \texttt{/yquant}, in contrast to all other styles that operate in the \texttt{/tikz} path by default.
+ Since version 0.1.2, the style's default path is, as with all other styles, \texttt{/tikz}.
+ The default style will make all nodes (which in particular means, all gates) respect outer canvas transformations.
+ Due to \TikZ{} bug \href{https://github.com/pgf-tikz/pgf/issues/843}{\#843}, this must be undone for \texttt{label}s.
\end{option}
\begin{option}{every wire}!draw!
@@ -577,7 +614,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This style is used to draw the vertical control line that connects controlled operations and their controls.
\end{option}
- \begin{option}{every control}!shape=yquant-circle, anchor=circuit, radius=.5mm!
+ \begin{option}{every control}!shape=yquant-circle, anchor=center, radius=.5mm!
This style is used to draw the node for a control, both positive and negative.
\end{option}
@@ -589,10 +626,14 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This style is installed for every negative control (i.e., one that conditions on the register being in state $\ket0$ or $0$).
\end{option}
- \begin{option}{every operator}!anchor=circuit!
+ \begin{option}{every operator}!anchor=center!
This style is installed for every gate (and also pseudo\hyp gates such as the \gate{slash} operator) that acts on one or multiple registers.
\end{option}
+ \begin{option}{every multi line}!draw, decoration={snake, amplitude=.25mm, segment length=5pt}, decorate!
+ This style is used to draw the vertical line that connects discontiguous slices of sub\hyp gates.
+ \end{option}
+
\begin{option}{this operator}!!
This style is appended to the current style installed for an operator; it should be used only locally to overwrite any global configuration effect.
\end{option}
@@ -612,11 +653,18 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\begin{option}{style}!/yquant/operator style={#1}, /yquant/control style={#1}!
This is a shorthand that modifies the appearance of both the current operator and any controls or control lines.
\end{option}
+
+ \begin{option}{operator/multi as single}!/yquant/every multi line/.style=/yquant/every control line!
+ This option is automatically set for certain gates such as the \gate{swap} or the \gate{zz} gate.
+ For those gates, neighboring registers will be treated as discontiguous; and this style will enforce their connecting line to have the style used by control lines.
+
+ The default \style{/yquant/every multi line} is a wavy line; this allows to distinguish discontiguous multi\hyp qubit gates from multiple single\hyp qubit gates when using controls.
+ Still, some gates have such an established appearance that---despite being logically misleading---we rather use the same style as for a control line.
+ \end{option}
\subsection{Styles for operators}\unskipOpt
- \begin{option}{operators/every barrier}!shape=yquant-barrier, x radius=\pgflinewidth, dashed, draw!
+ \begin{option}{operators/every barrier}!shape=yquant-line, dashed, draw!
This style is installed for every \gate{barrier} pseudo\hyp gate, i.e., the one that is used to explicitly denote a separation between ``before'' and ``after'' within the circuit.
- The \texttt{yquant-barrier} shape is a vertical line of width \texttt{x radius}.
\end{option}
\begin{option}{operators/every box}!shape=yquant-rectangle, draw, align=center, inner xsep=1mm, x radius=2mm, y radius=2.47mm!
@@ -660,22 +708,21 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This style is installed for every \gate{slash} pseudo\hyp gate, i.e., the one that is used to indicate that a single register line actually denotes multiple registers.
\end{option}
- \begin{option}{operators/every swap}!shape=yquant-swap, x radius=.75mm, draw!
- This style is installed for every bipartite \gate{swap} gate that interchanges two qubits.
- The \texttt{yquant-swap} shape consists of two crosses that are connected by a middle line.
- The length of the virtual square that contains the crosses is twice the \texttt{x radius} property; the total height (twice \texttt{y radius}) will automatically be set according to the registers involved.
- Hence, this gate must always act on a two\hyp qubit register.
+ \begin{option}{operators/every swap}!shape=yquant-swap, radius=.75mm, draw!
+ This style is installed for every \gate{swap} gate that interchanges two qubits.
+ The \texttt{yquant-swap} shape consists of a single cross.
+ \end{option}
+
+ \begin{option}{operators/every wave}!shape=yquant-circle, radius=.5mm, fill!
+ This style is installed for every \gate{correlate} gate.
\end{option}
\begin{option}{operators/every x}!/yquant/operators/every pauli!
This style is installed for every Pauli operator $\sigma_x$, i.e., \gate{x}.
\end{option}
- \begin{option}{operators/every xx}!shape=yquant-xx, x radius=.75mm, draw!
- This style is installed for every bipartite \gate{xx} gate in symmetrized notation ($\ketbra{++}{++} + \ketbra{+-}{+-} + \ketbra{-+}{-+} - \ketbra{--}{--}$).
- The \texttt{yquant-xx} shape consists of two open squares that are connected by a middle line.
- The length of one side in the square is twice the \texttt{x radius} property; the total height (twice \texttt{y radius}) will automatically be set according to the registers involved.
- Hence, this gate must always act on a two\hyp qubit register.
+ \begin{option}{operators/every xx}!shape=yquant-rectangle, radius=.75mm, draw!
+ This style is installed for every \gate{xx} gate in symmetrized notation ($\ketbra{++}{++} + \ketbra{+-}{+-} + \ketbra{-+}{-+} - \ketbra{--}{--}$).
\end{option}
\begin{option}{operators/every y}!/yquant/operators/every pauli!
@@ -686,11 +733,8 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This style is installed for every Pauli operator $\sigma_z$, i.e., \gate{z}.
\end{option}
- \begin{option}{operators/every zz}!shape=yquant-zz, x radius=.5mm, fill, draw!
- This style is installed for every bipartite \gate{zz} gate (aka \textsc{CPhase}) in symmetrized notation ($\ketbra{00}{00} + \ketbra{01}{01} + \ketbra{10}{10} - \ketbra{11}{11}$).
- The \texttt{yquant-zz} shape consists of two circles that are connected by a middle line.
- The radius of the circles is controlled via the \texttt{x radius} property; the total height (twice \texttt{y radius}) will automatically be set according to the registers involved.
- Hence, this gate must always act on a two\hyp qubit register.
+ \begin{option}{operators/every zz}!shape=yquant-circle, radius=.5mm, fill!
+ This style is installed for every \gate{zz} gate (aka \textsc{CPhase}) in symmetrized notation ($\ketbra{00}{00} + \ketbra{01}{01} + \ketbra{10}{10} - \ketbra{11}{11}$).
\end{option}
\section{Doing the impossible}\label{sec:tikz}
@@ -708,15 +752,40 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
All quantum operations are in fact \TikZ{} nodes, and the name you give to them then becomes a \TikZ{} name, which you can easily reference to get the coordinates of a particular operator.
Note that the name you specify is only available if a single register is targeted.
The name is suffixed by \tex!-\idx!, where \tex!\idx! refers to the (zero\hyp based) index of the operation ordered from top to bottom (i.e., if an operator acts on two qubits and should be named \texttt{op}, the topmost operator will be available as \texttt{op-0} and the second as \texttt{op-1}).
+ Multiple slices in a discontiguous multi\hyp register are additionally suffixed by \texttt{-s\textit{<slice index>}}.
All controls are also named, suffixed by \tex!-p\idx! or \tex!-n\idx! for positive and negative controls (i.e., the topmost positive control of the previous operator will be available as \texttt{op-p0}).
Counters for target registers, positive, and negative controls are all independent.
All \Yquant{} shapes have the anchors available you would typically expect from a \TikZ{} shape of the given outline.
- Additionally, \Yquant{} shapes will have an anchor \texttt{circuit}; and apart from border anchors, they also implement \emph{projection anchors}.
- As with the former, you will need low\hyp level macros to access these anchors, which are \tex!\pgfpointshapexproj! and \tex!\pgfpointshapeyproj!.
- They will expect the name of the node as first argument and a \pkg{pgf} point as second argument.
- This point will be projected onto the shape in horizontal or vertical direction.
- These special types of anchors are internally used to determine where the intersection of wire and shape is located.
+ Before version~0.1.2, \Yquant{} shapes needed to provide a \texttt{circuit} anchor and projection anchors.
+ These were removed in version~0.1.2 in favor of the common \texttt{center} anchor and clipping paths.
+ The latter is a \Yquant{} extension to \TikZ{} shapes: it is an additional path that must be declared for a given shape.
+ This path has to provide the ``clipping outline,'' i.e., anything that should not contain register or control lines.
+ There may be a difference between horizontal and vertical clipping outlines.
+ To understand clipping paths, \Yquant's drawing pipeline needs to be explained.
+ \begin{itemize}
+ \item In a first run---this is what happens directly at the position where you type the gate command---\Yquant{} will ``virtually'' draw the gates in order to determine their dimensions and calculate register heights.
+ The actual drawing commands are written to a macro (this is the cause that some macros must be preceded by \tex!\protect! if used in a gate \texttt{value}).
+ \item When \tex!\end{yquant}! is encountered, the actual drawing commands are executed.
+ \item Unless the operation changes the wire type or style, do the following (first two items for every register at which an operator node has to be created).
+ \begin{itemize}
+ \item Create the operator node at the appropriate position.
+ \item Call \tex!\pgfshapeclippath! on the newly created node.
+ This will first determine whether the node was stroked; if not, \tex!\pgflinewidth! is set to zero.
+ Then, it will call the horizontal clipping path, which is supposed to create some soft path commands.
+ Those soft path commands are collected in a macro on a per\hyp register basis and the soft path is cleared.
+ The same happens for the vertical clipping path, which is collected in a macro on a per\hyp operation basis.
+ \item If control lines or multi lines are to be drawn, the vertical clipping path commands are now executed and installed as an inverted\footnote{Inverting the clipping has two consequences: First, the region of inversion in vertical direction is given by the width of the operators. The line cannot be wider than the operator. Second, if you specify a register multiple times, whether as target, control, or mixed, funny effects can be expected, as the clipping region is inverted multiple times. Note that using a register more than once is always an error, but \Yquant{} does not check for it due to the high overhead.} clipping path.
+ \item Control lines and multi lines are drawn (in this order) from one to the next \texttt{center} anchor.
+ Due to the clipping commands, this will create a perfect connection with the shape of the gate, but even transparent gates are possible without the lines being visible.
+ \end{itemize}
+ \item If the operation changes the wire type or style, or if there is no operation left on this register, the following is done.
+ \begin{itemize}
+ \item Load the clipping paths accumulated for all the gates acting on this register and install the inverted clipping.
+ \item Draw the wire as one continuous line from where the last wire ended (or the beginning of the circuit) to the center of the last gate, or to the common end position for all wires of the circuit.
+ \item Remove the clipping paths stored so far on this register, apart from the clipping on the last gate (which will be needed again if this was not the end of the circuit).
+ \end{itemize}
+ \end{itemize}
% The current version of \Yquant{} does not implement subcircuits yet.
% However, this is planned in a future version; by naming a subcircuit, all named operations inside should then also become available (prefixed by the subcircuit's name).
@@ -726,6 +795,19 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
It also details all arguments that can be given to customize the operation, apart from \texttt{name}, which is always available.
Note that the \tex![value=<value>]! attribute can (and should) alternatively be given as a braced expression that follows the name of the register.
+ \subsection{\texorpdfstring{\yquant!addstyle!}{addstyle}}\label{gate:addstyle}
+ Syntax: \yquant!setstyle <target>;! \\
+ This is an invisible pseudo\hyp gate that immediately changes the \TikZ{} style with which the register lines of all target registers are drawn.
+ It adds to the styles that are already installed.
+ Use \gate{setstyle} to replace styles.
+ It may not span multiple registers and does not allow for controls.
+
+ \emph{Possible attributes:}
+ \begin{itemize}
+ \item \yquant![value=<styles>]! (required) \\
+ Denotes the new styles; this should be a string that could be passed to \tex!\tikzset!.
+ \end{itemize}
+
\subsection{\texorpdfstring{\yquant!align!}{align}}\label{gate:align}
Syntax: \yquant!align <target>;! \\
This is an invisible pseudo\hyp gate that enforces all affected registers to share a common horizontal position for their next gate, which is determined by the largest position of all gates involved.
@@ -759,6 +841,13 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\emph{see \hyperref[gate:qubit]{\yquant!qubit!}}
+ \subsection{\texorpdfstring{\yquant!correlate!}{correlate}}\label{gate:correlate}
+ Syntax: \yquant!correlate <target>;! \\
+ This is a pseudo\hyp gate that indicates a correlation (usually a Bell\hyp state) present between the multi\hyp registers involved.
+ This gate should span multiple registers and does not allow for controls.
+
+ \emph{Possible attributes:} none
+
\subsection{\texorpdfstring{\yquant!cnot!}{cnot}}\label{gate:cnot}
Syntax: \yquant!cnot <target> | <pcontrol> ~ <ncontrol>;! \\
This is a synonym for the \gate{not} gate.
@@ -769,7 +858,7 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
This is an invisible pseudo\hyp gate that changes the type of all target registers to \gate{nobit}, i.e., no line will be drawn for them.
This has effect already for the outgoing line of the last visible gate on the target registers.
The gate may not span multiple registers and does not allow for controls.
- To change into a register type on\hyp the\hyp fly into something different from \gate{nobit}, use the \gate{setwire} pseudo\hyp gate.
+ To change into a register type on\hyp the\hyp fly into something different from \gate{nobit}, use the \gate{settype} pseudo\hyp gate.
\emph{Possible attributes:} none
@@ -830,7 +919,6 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
Inside the value, \tex!\idx! expands to the current index within the register list.
\end{itemize}
- \clearpage
\subsection{\texorpdfstring{\yquant!measure!}{measure}}\label{gate:measure}
Syntax: \yquant!measure <target>;! \\
This is a measurement gate, denoted by a rectangle with a meter symbol.
@@ -919,8 +1007,21 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\emph{see \hyperref[gate:qubit]{\yquant!qubit!}}
- \subsection{\texorpdfstring{\yquant!setwire!}{setwire}}\label{gate:setwire}
- Syntax: \yquant!setwire <target>;! \\
+ \subsection{\texorpdfstring{\yquant!setstyle!}{setstyle}}\label{gate:setstyle}
+ Syntax: \yquant!setstyle <target>;! \\
+ This is an invisible pseudo\hyp gate that immediately changes the \TikZ{} style with which the register lines of all target registers are drawn.
+ It replaces all previous styles.
+ Use \gate{addstyle} to accumulate styles.
+ It may not span multiple registers and does not allow for controls.
+
+ \emph{Possible attributes:}
+ \begin{itemize}
+ \item \yquant![value=<styles>]! (required) \\
+ Denotes the new styles; this should be a string that could be passed to \tex!\tikzset!.
+ \end{itemize}
+
+ \subsection{\texorpdfstring{\yquant!settype!}{settype}}\label{gate:settype}
+ Syntax: \yquant!settype <target>;! \\
This is an invisible pseudo\hyp gate that immediately changes the type of the targets registers, taking effect with the output line extending from the last drawn gate.
It may not span multiple registers and does not allow for controls.
@@ -931,6 +1032,9 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
To change the type to \gate{nobit}, use the \hyperref[gate:discard]{\yquant!discard!} pseudo\hyp gate instead.
\end{itemize}
+ \subsection{\texorpdfstring{\yquant!setwire!}{setwire}}\label{gate:setwire}
+ \emph{Deprecated as of version~0.1.2. Use \gate{settype} instead.}
+
\subsection{\texorpdfstring{\yquant!slash!}{slash}}\label{gate:slash}
Syntax: \yquant!slash <target>;! \\
This is a pseudo\hyp gate used to denote that a single line actually represents multiple registers.
@@ -962,11 +1066,9 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\subsection{\texorpdfstring{\yquant!xx!}{xx}}\label{gate:xx}
Syntax: \yquant!xx <targets>;! \\
- This is a two\hyp qubit symmetric flip gate, denoted by two joined open squares.
- It may span multiple registers (in fact, it should always span exactly two registers, though \Yquant{} does not enforce this), and it allows for controls.
- However, refrain from combining \emph{multiple} two\hyp qubit targets \emph{together} with controls.
- The control line will extend from the first to the last of all registers involved in the operation, so that it is impossible to discern visually which registers form the two\hyp qubit compounds.
- Using multiple gates without controls in one operation is fine, as well as a single controlled gate.
+ This is a symmetric flip gate, denoted by joined open squares.
+ It should span multiple registers and it allows for controls.
+ The same warnings as for the \gate{swap} gate apply.
The style \style{/yquant/operators/every xx} is installed.
\emph{Possible attributes:} none
@@ -989,8 +1091,9 @@ IndexSingle = ?number? | ( [ ?number? ], "-", [ ?number? ] );
\subsection{\texorpdfstring{\yquant!zz!}{zz}}\label{gate:zz}
Syntax: \yquant!zz <targets>;! \\
- This is a two\hyp qubit symmetric phase gate $\symbb1 - 2\ketbra{11}{11}$, denoted by two joined filled circles.
- It may span multiple registers (in fact, it should always span exactly two registers, though \Yquant{} does not enforce this), but does not allow for controls.
+ This is a symmetric phase gate, denoted by joined filled circles.
+ It should span multiple registers, but does not allow for controls.
+ The same warnings as for the \gate{swap} gate apply.
The style \style{/yquant/operators/every zz} is installed.
\emph{Possible attributes:} none
@@ -1195,8 +1298,8 @@ qubit {$\ket{q_{\idx}} = \ifcase\idx\relax \ket\psi \else \ket0 \fi$} q[3];
\end{tikzpicture}
\end{codeexample}
Instead of a discontigous vector register, we could also have used three scalar registers.
- The labels chosen for \pkg{qasm} do not fit well to the used required by this use.
- We might also have used a three\hyp register vector and used the \gate{setwire} pseudo\hyp gate to immediately change the second register into a classical one, which would give indices matching the labels---but still, the registers would have a common name, which would make this a very unnatural approach.
+ The labels chosen for \pkg{qasm} do not fit well to the indices \Yquant{} assigns.
+ We might also have used a three\hyp register vector and used the \gate{settype} pseudo\hyp gate to immediately change the second register into a classical one, which would give indices matching the labels---but still, the registers would have a common name, which would make this a very unnatural approach.
\end{example}
\begin{example}[test11 (user-defined multi-qubit ops)]
@@ -1328,12 +1431,12 @@ qubit {$\ket{q_{\idx}} = \ifcase\idx\relax \ket\psi \else \ket0 \fi$} q[3];
\end{yquant}
\end{tikzpicture}
\end{codeexample}
- We needed to include an \tex!align! pseudo\hyp gate to put the slash at the desired position.
- Usually, this would be sufficient to put the \tex!cnot! and the \tex!slash! gate directly under each other, as it is in the \pkg{qasm} example.
- However, the \tex!slash! gate is special in that it does not need horizontal space and is put with only half of the usual operator separation into the circuit (for this reason, it can be put at the beginning of a wire without creating weird shifts with respect to the ``unslashed'' registers---it is put in the initial line that every wire even without an operation has).
- Hence, you should normally only use the \tex!slash! gate as the very first gate in a circuit.
+ We needed to include an \gate{align} pseudo\hyp gate to put the slash at the desired position.
+ Usually, this would be sufficient to put the \gate{cnot} and the \gate{slash} gate directly under each other, as it is in the \pkg{qasm} example.
+ However, the \gate{slash} gate is special in that it does not need horizontal space and is put with only half of the usual operator separation into the circuit (for this reason, it can be put at the beginning of a wire without creating weird shifts with respect to the ``unslashed'' registers---it is put in the initial line that every wire even without an operation has).
+ Hence, you should normally only use the \gate{slash} gate as the very first gate in a circuit.
It is not possible to construct the exact same appearance as in the \pkg{qasm} example.
- Note that \tex!discard! currently just drops the wire directly after the last operation.
+ Note that \gate{discard} currently just drops the wire directly after the last operation.
\end{example}
\begin{example}[test17 (example from Nielsen paper on cluster states)]
@@ -1359,14 +1462,12 @@ qubit {$\ket{q_{\idx}} = \ifcase\idx\relax \ket\psi \else \ket0 \fi$} q[3];
\begin{yquant}
qubit {$\ket{q_{\idx}} = \ket{\ifcase\idx\relax \psi \or + \or + \or \phi \fi}$} q[4];
- phase {} | q;
+ zz (q);
dmeter {$H$} q[1, 2];
\end{yquant}
\end{tikzpicture}
\end{codeexample}
- This non\hyp standard gate is something that would have to be defined in an accompanying text; probably it is a generalization of \gate{zz}, $\symbb1 - 2 \ketbra{1\dotsm1}{1\dotsm1}$.
- We implemented it by carrying out a \gate{phase} gate on \emph{no} register (since \gate{phase} requires an argument, we gave an empty one)---indeed, according to the grammar, this is valid syntax with probably no other use case than this---and conditioned it on all others.
- So in principle, we could have used an arbitrary gate, but \gate{phase} was the semantically closest (\gate{zz} does not allow for controls).
+ This gate is probably a generalization of \gate{zz}, $\symbb1 - 2 \ketbra{1\dotsm1}{1\dotsm1}$, and indeed since version~0.1.2, we can use \gate{zz} for this purpose.
This time, we also used the common way to initialize a gate with various identifiers as was done before version~0.1.1, using case distinctions.
\end{example}
\endgroup
@@ -1506,15 +1607,27 @@ $=$
\begin{yquant*}
box {$U$} a;
box {$U^\dagger$} b;
- \yquantset{every wire/.append style={->}}
+ setstyle {->} -;
\end{yquant*}
\end{tikzpicture}
\end{codeexample}
- Though \Yquant{} does not provide any direct mechanism to achieve such wire re\hyp design, changing the wire style at an appropriate position does work.
- Setting the style beforehand would have made every connecting wire (including the initial ones) into arrows.
+ Since version~0.1.2, \Yquant{} allows to change wire styles by means of the \gate{setstyle} and \gate{addstyle} pseudo\hyp gates.
+ Here, we use the gate on all wires in order to set an arrow style.
+ Note that arrowheads are actually very special in two respects:
+ \begin{itemize}
+ \item \Yquant{} draws continuous wires for as long as possible.
+ In this example, the wire path extends from the very left to the end of the circuit; since version 0.1.2, \Yquant{} does not draw a wire \emph{to} the gate and then a separate one \emph{from} the gate to the next or the end.
+ The only way to force \Yquant{} to draw multiple wires is to change the wire style or type mid\hyp circuit.
+ For example, by saying \yquant!addstyle {} -;!, all wire paths will be separated at the current position, which \emph{in theory} allows to draw arrowsheads on intermediate wires.
+ \item \emph{In practice}, this will not work due to the clipping commands that \Yquant{} installs.
+ Every wire extends from the center of the left to the center of the right gate, and the gate's shape acts as a clipping path.
+ Consequently, though the arrowhead is drawn, it is actually drawn at the center of the gate instead of the \texttt{west} anchor and then clipped away (unless the gate is small, in which case you might still see some fragments of the arrowhead).
+ \end{itemize}
+ Thus, it is currently not possible to use arrowheads on intermediate wires.
+ If you really need to do this (say, for only a single gate), you may experiment with the \TikZ{} \texttt{shorten} keys, which allow you to manually reduce the length of the wire, but the amount of reduction must be hand\hyp computed for every gate.
+ If you need this more often, consider filing a feature request.
\end{example}
- \clearpage
\paragraph{B. CNOT and other controlled single qubits gates}\leavevmode
\begin{example}
\begin{codeexample}
@@ -1539,6 +1652,7 @@ $=$
\end{codeexample}
\end{example}
+ \clearpage
\paragraph{C. Vertical wires}\leavevmode
\begin{example}
\begin{codeexample}
@@ -1590,7 +1704,7 @@ $=$
The second one (using a curly brace) corresponds to the default.
It is overwritten for the first qubit, and to make this modification local, this is done in a group.
The third qubit pair uses an overall label and additionally individual labels on the lines.
- This is achieved by some trickery: the individual labels are given as initialization labels on the register; the global label is given as an \tex!init! multi\hyp qubit gate.
+ This is achieved by some trickery: the individual labels are given as initialization labels on the register; the global label is given as an \gate{init} multi\hyp qubit gate.
\end{example}
\clearpage
@@ -1633,13 +1747,12 @@ $=$
\begin{tikzpicture}
\begin{yquant*}
box {$\symcal F$} (a[-1]);
- [name=g]
- box {$\symcal G$} a[0, 2];
- \draw (g-0) -- (g-1);
+ box {$\symcal G$} (a[0, 2]);
\end{yquant*}
\end{tikzpicture}
- \end{codeexample}
- \emph{Note:} The behavior with a line cannot be reproduced without resolving to \TikZ. However, as \pkg{qcircut}'s manual admits, ``such notation may be a bit confusing,'' so probably support will not be added.
+ \end{codeexample}
+ This demonstrates \Yquant's capabilities of discontiguous multi\hyp qubit gates that was added in version~0.1.2.
+ \Yquant{} automatically splits multi\hyp qubit gates into slices of directly adjacent wires (which, for the $\symcal G$ case, are the single wires \yquant!a[0]! and as second slice \yquant!a[2]!).
\end{example}
\paragraph{B. Measurements and classical bits}\leavevmode
@@ -1662,7 +1775,7 @@ $=$
\begin{codeexample}
\begin{tikzpicture}
\begin{yquant*}
- [shape=yquant-circle]
+ [rounded corners]
box {Codebit} a;
box {$\chi$} b | a;
discard a;
@@ -1670,7 +1783,7 @@ $=$
\end{yquant*}
\end{tikzpicture}
\end{codeexample}
- Rectangles with rounded corners are not supported yet.
+ Rectangles with rounded corners are not a specific style, but since the \texttt{yquant-rectangle} shape internally uses \tex!\pgfpathrectangle!, the ordinary \TikZ{} option can be used (also, an inset specification can control how much the corner is rounded).
\end{example}
\clearpage
@@ -1705,8 +1818,18 @@ $=$
\end{yquant*}
\end{tikzpicture}
\end{codeexample}
- Multi\hyp qubit gates (including measurements) on non\hyp adjacent registers are, while being easily written, not supported in terms of a proper visual output.
- Of course, as was done in a previous example, you may instead decide to emulate the behavior by drawing the vertical line manually, using a \gate{box} gate on the last register and also changing the type by means of the \gate{setwire} pseudo\hyp gate (but note that the type was not even changed in the \pkg{qcircuit} documentation)\dots.
+ Multi\hyp qubit gates (including measurements) on non\hyp adjacent registers are properly supported since version~0.1.2.
+ As explained in \cref{sec:registers}, there is one main and multiple subordinate gate in such a discontiguous multi\hyp qubit operation (though at the moment, the \gate{measure} gate with text is the only gate that makes this distinction).
+ In our case, the main part contains the measurement symbol and the text, while the subordinate gates only contain the text.
+ By default, \Yquant{} uses the first slice as main part, but you may influence this by preceding what you want to be ``main'' by a star:
+
+ \begin{codeexample}
+\begin{tikzpicture}
+ \begin{yquant*}
+ measure {$\ket{\xi_\mp}$} (a[-1, *3]);
+ \end{yquant*}
+\end{tikzpicture}
+ \end{codeexample}
\end{example}
\clearpage
@@ -1725,7 +1848,7 @@ $=$
\end{yquant*}
\end{tikzpicture}
\end{codeexample}
- Here, the intermediate text was inserted by using a \tex!box! without drawing.
+ Here, the intermediate text was inserted by using a \gate{box} without drawing.
Another way would be to use an \gate{init} command, although this is semantically wrong (probably).
\end{example}
@@ -1762,10 +1885,9 @@ $=$
\end{yquant*}
\end{tikzpicture}
\end{codeexample}
-
- Now the \pkg{qcircuit} manual lists three circuits with barriers at different positions.
- They cannot be drawn with \Yquant; however, since neither of them is a valid circuit, this is of no concern.
\end{example}
+ Now the \pkg{qcircuit} manual lists three circuits with barriers at different positions.
+ They cannot be drawn with \Yquant; however, since neither of them is a valid circuit, this is of no concern.
\paragraph{E. How to control anything}\leavevmode
\begin{example}
@@ -1785,6 +1907,7 @@ $=$
Note that it is not possible to draw a control to measurement (the measurement operations are explicitly defined not to accept controls): Either the measurement is performed or not (which transforms the register type), but a measurement conditioned on a quantum state is not possible.
In principle, one could think of a measurement conditioned on a classical register (in which case the register type cannot change, as maybe the state stays quantum; the measurement operation then is similar to a complete dephasing).
If there is need for this, please file a feature request.
+ But note the relatively common (though unsupported by \Yquant{} at the moment) use of control lines that directly go from the measurement operator to the controlled operation; in this case, the opposite direction would be meant by using the same notation.
\end{example}
\subsubsection{VI. Bells and Whistles: Tweaking Your Diagram to Perfection}
@@ -1821,7 +1944,7 @@ $=$
\end{yquant}
\end{tikzpicture}
\end{codeexample}
- Measurement with bottom output are not supported (yet).
+ Measurement with vertical output are not supported (yet).
Repositioning the initial labels needs some care and manual fine\hyp tuning.
\end{example}
@@ -1915,8 +2038,9 @@ $=$
["$0$/$1$", type=qubit]
measure a;
- \yquantset{every wire/.append style={->}, operator/separation=5mm}
+ addstyle {->} a;
output {$\ket1$} a;
+ \yquantset{operator/separation=5mm}
\end{yquant}
\end{tikzpicture}
\end{codeexample*}
@@ -1926,9 +2050,8 @@ $=$
In this example, \tex!\\! is a robust command (at least in newer kernels), so protection is not required.
Since it may occur quite frequently that \Yquant{} is used within a \tex!center! environment or in \tex!\centering! mode (in which \tex!\\! is still fragile), \Yquant{} takes care of this (it actually robustifies \tex!\@centercr!, which is the meaning of \tex!\\! in these surroundings).
- In order to change the style of an individual wire, the proper \tex!\yquantset! command must be placed directly before the wire is internally drawn (which happens when the next gate that needs a connecting line is drawn).
- Remember to use grouping so that the changes are local.
- However, the output wires are all drawn together, so it is not possible to individually change the style of a single output wire, only all of them.
+ In order to change the style of an individual wire, we use \gate{addstyle} as of version~0.1.2.
+ To make the final line smaller, we change the operator separation by issuing \tex!\yquantset! at the end.
\end{example}
\begin{example}
@@ -2003,6 +2126,7 @@ $=$
Also, if you discard a gate, this will prevent it from exiting from its last gate.
\Yquant{} will not allow you (apart from manual drawing) to extend the wire to some arbitrary position, then drop it.
But of course, as done here, you can always resort to the full power of \TikZ.
+ Still, this is inferior to a wire drawn by \Yquant, as it does not use clippings: the connection with the \gate{cnot} gate may not be accurate; in particular, if the wire is of a different color or if you need to draw classical or bundle wires, the connection will become unpleasant.
\end{example}
\begin{example}
@@ -2122,11 +2246,11 @@ $=$
cbit d;
qubit e;
box {$U$} (-);
- setwire {qubit} c;
+ settype {qubit} c;
\end{yquant}
\end{tikzpicture}
\end{codeexample}
- This example for the first time demonstrates the declaration of a non\hyp existing register and the \gate{setwire} pseudo\hyp gate that acts as a zero\hyp width, no\hyp content \gate{init} gate.
+ This example for the first time demonstrates the declaration of a non\hyp existing register and the \gate{settype} pseudo\hyp gate that acts as a zero\hyp width, no\hyp content \gate{init} gate.
\end{example}
\clearpage
@@ -2195,7 +2319,7 @@ $=$
\end{tikzpicture}
\end{codeexample*}
Usually, the \texttt{shorten} keys do not have any effect on \Yquant{} operations, since the latter are all made up of nodes.
- However, the \texttt{yquant-barrier} shape explicitly takes care of correctly handling them.
+ However, the \texttt{yquant-line} shape explicitly takes care of correctly handling them.
It is the only one that does so.
Since barriers usually end quite closely to the wires---and the default \texttt{dashed} style may make this worse---the \texttt{shorten}ing may often prove useful.
Note that if the barriers are enlarged by means of negative \texttt{shorten}ings, this will not affect the bounding box or internal register height calculations, and you must take care of appropriately shifting labels.
@@ -2387,7 +2511,7 @@ $=$
\paragraph{D. Scaling}\leavevmode
\begin{example}
\begin{codeexample*}
-\begin{tikzpicture}[scale=1.5, every node/.append style={scale=1.5}]
+\begin{tikzpicture}[scale=1.5, every label/.append style={scale=1.5}]
\begin{yquant*}
h a;
phase {$\beta$} a;
@@ -2396,7 +2520,8 @@ $=$
\end{tikzpicture}
\end{codeexample*}
Here, we first scaled the circuit itself.
- However, since \TikZ{} does not apply scaling to nodes (which means any operation) unless explicitly told so, we need to add the style to those.
+ The default style for \style{/yquant/every circuit} sets the \texttt{transform shape} key for every node (which means any gate), so that those are also scaled.
+ This is explicitly undone for \texttt{label}s due to \TikZ{} bug \href{https://github.com/pgf-tikz/pgf/issues/843}{\#843}, so the scaling must be specified explicitly for the \texttt{label}s.
\end{example}
\subsubsection{VII. Typesetting}
@@ -2448,7 +2573,7 @@ $=$
\end{yquant}
\end{tikzpicture}
\end{codeexample*}
- \Yquant{} will make sure that ``pass\hyp through'' lines are never obscured, even if, as in this case, the backgrounds are explicitly filled.
+ \Yquant{} properly splits discontiguous multi\hyp qubit operations as of version~0.1.2.
\end{example}
\paragraph{B. Per-Gate Styling}\leavevmode
@@ -2495,10 +2620,10 @@ $=$
\end{codeexample*}
\TikZ{} shapes cannot simply be used with \Yquant.
Any \Yquant{} shape must be aware of the keys \texttt{x radius} and \texttt{y radius} that control its width and height.
- Additionally, \Yquant{} shapes must implement the \texttt{circuit} anchor (which can usually be let to the \texttt{center} anchor), and they must implement projection anchors.
- Those objects, which are a \Yquant{} addition to \TikZ{} allow \Yquant{} to determine where precisely the wires at the individual positions are supposed to begin and end.
- \Yquant{} draws its elements sequentially; hence, a wire that comes into an operator will be hidden by anything the operator draws on top of it; but outgoing wires will in turn draw on the operator.
- To avoid the issues, we construct an invisible box operator and name it; \emph{outside} of the \tex!yquant! environment, we \tex!fit! the special \TikZ{} shape on top of it.
+ Additionally, \Yquant{} shapes must implement clipping paths.
+ Those objects, which are a \Yquant{} addition to \TikZ{} allow \Yquant{} to properly clip wires and vertical lines to the shape of the gate.
+ \Yquant{} draws its elements sequentially; hence, a wire that comes into an operator will be hidden by anything the operator draws on top of it; but outgoing wires will in turn draw on the operator (modulo clipping).
+ To avoid the issues, we construct an invisible box operator and name it; \emph{outside} of the \tex!yquant! environment, we \texttt{fit} the special \TikZ{} shape on top of it.
\end{example}
\paragraph{C. Boxing/Highlighting Parts of a Circuit}\leavevmode
@@ -2551,6 +2676,7 @@ $=$
\Yquant{} does not support the fancy nearest\hyp neighbor swap gate that \pkg{quantikz} has.
It would however not be very difficult to implement this particular shape and make it available.
+ Maybe even a multi\hyp swap gate using the \texttt{knots} library would be possible.
\clearpage
\subsubsection{VIII. Otherwise undocumented features}
@@ -2615,14 +2741,6 @@ $=$
Subcircuits will typically be multi\hyp qubit elements that, at least if internal wires are used, may significantly increase the required height for an individual register.
Hence, the internal height calculations must be adapted.
This will be particularly problematic if the subcircuit targets non\hyp adjacent wires.
- \item Better handling of non\hyp adjacent wires. \\
- While this would be a nice feature, an implementation would hard: How should the individual shapes behave for non\hyp adjacent wires?
- Two boxes, connected by a wire, as used in one \pkg{qcircuit} example, is a simplistic design that quickly fails for more complicated or larger shapes.
- \item Styling the wires. \\
- It is currently relatively hard to selectively style wires.
- While individual wire segments can be targeted by changing the appropriate wire styles before the operation that would draw the ingoing wire, it must then be reset and it is cumbersome to do this for all wire segments of a register.
- Additionally, styling the final output wires individually is not possible.
- For this, it would be advantageous to allow a wire style on a per\hyp register basis.
\item Support for other languages. \\
It would be particularly nice to introduce a language mode.
While the \Yquant{} language will always provide the set of everything \Yquant{} can do at the moment, it would be nice if \Yquant{} can automatically detect \texttt{OpenQASM} and parse its content correctly.
@@ -2647,5 +2765,13 @@ $=$
Complete rewrite of the register name parser.
\Yquant{} now understands comma\hyp separated lists and ranges in indices, and also is far more tolerant with respect to whitespaces. \\
\Yquant{} now also supports non\hyp contiguous vector registers and allows to add new registers into an already existing vector that is not the last register, and also in the unstarred mode.
+
+ \subsection{2020-04-11: Version 0.1.2}
+ Introduce \gate{setstyle} and \gate{addstyle} pseudo\hyp gates that allow to style individual wires; rename \gate{setwire} to \gate{settype} (the old name is still available and shows a deprecation warning). \\
+ Complete rewrite of the way \Yquant{} draws wires; projection anchors are removed in favor of clipping paths.
+ This allows perfect connections between gates and wires, even if the (rather rectangular) wire lines meets with nonplanar shapes, while still preserving the possibility of transparent wires. \\
+ \Yquant{} now also properly draws non\hyp contiguous multi\hyp qubit operations. \\
+ New gate: \gate{correlate}.
+ Various bug fixes.
%END_FOLD
\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-circuit.tex b/graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
index 993455cbeb..2117e7f440 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-circuit.tex
@@ -1,221 +1,145 @@
% BEGIN_FOLD Drawing wires
-% extends the wire of register #1. Assumes a node called yquantbox is set up, and it is a node with appropriate projections.
-\protected\def\yquant@circuit@extendwire#1{%
- \begingroup%
- \edef\wiretype{\yquant@register@get@type{#1}}%
- \dimdef\wireypos{\yquant@register@get@y{#1}}%
- \tikzset{/yquant/every wire}%
- \unless\ifnum\wiretype=\yquant@register@type@none{%
- \csname yquant@circuit@extendwire@\wiretype\endcsname{#1}%
- }\fi%
- % set the wire style to have the correct \pgflinewidth available (we don't allow individual line widths for different types of wires
- \tikzset{/yquant/every wire}%
- \pgfpointanchor{yquantbox}{east}%
- \@tempdima=\pgf@x%
- \pgfpointshapexproj{yquantbox}%
- {\pgfqpoint{\@tempdima}
- {\dimexpr\wireypos+2\pgflinewidth\relax}}%
- \edef\tmp{{(\the\pgf@x,\the\pgf@y)}}%
- % For multi-qubit registers, the east anchor is not necessarily accurate.
- \pgfpointshapexproj{yquantbox}{\pgfqpoint{\@tempdima}{\wireypos}}%
- \edef\tmp{\tmp{(\the\pgf@x,\the\pgf@y)}}%
- \pgfpointshapexproj{yquantbox}
- {\pgfqpoint{\@tempdima}%
- {\dimexpr\wireypos-2\pgflinewidth\relax}}%
- \yquant@register@set@lastwire{#1}{\tmp{(\the\pgf@x,\the\pgf@y)}}%
- \endgroup%
-}
-
-% finishes the wire of register #1 until x position \yquant@env@end@xpos
-\protected\def\yquant@circuit@endwire#1{%
- \begingroup%
- \edef\wiretype{\yquant@register@get@type{#1}}%
- \unless\ifnum\wiretype=\yquant@register@type@none\relax%
- % we don't have a yquantbox node but still want to extend the line; so just install a dummy projection
- \let\pgfpointshapexproj=\yquant@circuit@endwire@xproj%
- \dimdef\wireypos{\yquant@register@get@y{#1}}%
- \tikzset{/yquant/every wire}%
- \csname yquant@circuit@extendwire@\wiretype\endcsname{#1}%
- \fi%
- \endgroup%
-}
-
-\protected\def\yquant@circuit@endwire@xproj#1#2{%
- \pgf@process{%
- #2%
- \pgf@x=\yquant@env@end@xpos%
- }%
-}
-
-\def\yquant@circuit@extendwire@@extract(#1,#2){%
- #1%
-}
-
% a bit faster than nested \@firstoftwo/\@secondoftwo
% note \@thirdofthree is defined in the latex kernel already.
\long\def\@firstofthree#1#2#3{#1}%
\long\def\@secondofthree#1#2#3{#2}%
+\long\def\@firstoffour#1#2#3#4{#1}%
+\long\def\@secondoffour#1#2#3#4{#2}%
+\long\def\@thirdoffour#1#2#3#4{#3}%
+\long\def\@fourthoffour#1#2#3#4{#4}%
+\long\def\@thirdandfourthoffour#1#2#3#4{#3#4}%
-% quantum wire
-\protected\csdef{yquant@circuit@extendwire@1}#1{%
- \edef\tmp{\yquant@register@get@lastwire{#1}}%
- \edef\tmp{\expandafter\@secondofthree\tmp}%
- \edef\lastx{\expandafter\yquant@circuit@extendwire@@extract\tmp}%
- \pgfpointshapexproj{yquantbox}{\pgfqpoint{\lastx}{\wireypos}}%
- \ifdim\lastx<\pgf@x%
- \edef\cmd{%
- \noexpand\path [/yquant/every wire, /yquant/every qubit wire]
- \tmp -- (\the\pgf@x,\the\pgf@y);%
- }%
- \cmd%
- \fi%
+% extends the wire of register #1. Assumes a node called yquantbox is set up, and the \pgfshapeclippathhorzresult was set up appropriately for this node.
+\protected\def\yquant@circuit@extendwire#1{%
+ \begingroup%
+ \pgfpointanchor{yquantbox}{center}%
+ \edef\wirexpos{\the\pgf@x}%
+ \yquant@register@get@typeywire{#1}\wiretype\wireypos\wirelast%
+ \edef\wirexprevpos{\expandafter\@firstoffour\wirelast}%
+ \ifnum\wiretype=\yquant@register@type@none%
+ % the clippings of the previous operator will for sure not be needed, but the type might be turned into an active one, so we need the last clipping.
+ \yquant@register@set@lastwire{#1}{%
+ {\wirexprevpos}{\wirexpos}{}%
+ {\unexpanded\expandafter{\pgfshapeclippathhorzresult}}%
+ }%
+ \else%
+ % append the previous `last' clipping to the old list and insert the new one
+ \yquant@register@set@lastwire{#1}{%
+ {\wirexprevpos}{\wirexpos}%
+ {\unexpanded\expandafter\expandafter\expandafter{%
+ \expandafter\@thirdandfourthoffour\wirelast%
+ }%
+ }
+ {\unexpanded\expandafter{\pgfshapeclippathhorzresult}}%
+ }%
+ \fi%
+ \endgroup%
}
-% classical wire
-\protected\csdef{yquant@circuit@extendwire@2}#1{%
- \edef\tmp{\yquant@register@get@lastwire{#1}}%
- \edef\tmpa{\expandafter\@firstofthree\tmp}%
- \edef\lastxa{\expandafter\yquant@circuit@extendwire@@extract\tmpa}%
- \edef\tmpb{\expandafter\@thirdofthree\tmp}%
- \edef\lastxb{\expandafter\yquant@circuit@extendwire@@extract\tmpb}%
- \let\cmd=\empty%
- \pgfpointshapexproj{yquantbox}{\pgfqpoint{\lastxa}%
- {\dimexpr\wireypos+2\pgflinewidth\relax}}%
- \ifdim\lastxa<\pgf@x%
- \edef\cmd{%
- \tmpa -- (\the\pgf@x,\the\pgf@y)%
- }%
- \fi%
- \pgfpointshapexproj{yquantbox}{\pgfqpoint{\lastxb}%
- {\dimexpr\wireypos-2\pgflinewidth\relax}}%
- \ifdim\lastxb<\pgf@x%
- \eappto\cmd{%
- \tmpb -- (\the\pgf@x,\the\pgf@y)%
- }%
- \fi%
- \unless\ifx\cmd\empty%
- \edef\cmd{\noexpand\path [/yquant/every wire, /yquant/every cbit wire] \cmd;}%
- \cmd%
- \fi%
+% finishes the wire of registers 1 to #1 until x position \yquant@env@end@xpos
+\protected\def\yquant@circuit@endwires#1{%
+ \yquant@for \yquant@circuit@endwires@i := 1 to #1 {
+ \yquant@draw@wire\yquant@circuit@endwires@i\yquant@env@end@xpos%
+ }%
}
-% quantum-bundle
-\protected\csdef{yquant@circuit@extendwire@3}#1{%
- \edef\tmp{\yquant@register@get@lastwire{#1}}%
- \edef\tmpa{\expandafter\@firstofthree\tmp}%
- \edef\lastxa{\expandafter\yquant@circuit@extendwire@@extract\tmpa}%
- \edef\tmpb{\expandafter\@secondofthree\tmp}%
- \edef\lastxb{\expandafter\yquant@circuit@extendwire@@extract\tmpb}%
- \edef\tmpc{\expandafter\@thirdofthree\tmp}%
- \edef\lastxc{\expandafter\yquant@circuit@extendwire@@extract\tmpc}%
- \let\cmd=\empty%
- \pgfpointshapexproj{yquantbox}{\pgfqpoint{\lastxa}%
- {\dimexpr\wireypos+2\pgflinewidth\relax}}%
- \ifdim\lastxa<\pgf@x%
- \edef\cmd{%
- \tmpa -- (\the\pgf@x,\the\pgf@y)%
- }%
- \fi%
- \pgfpointshapexproj{yquantbox}{\pgfqpoint{\lastxb}{\wireypos}}%
- \ifdim\lastxb<\pgf@x%
- \eappto\cmd{%
- \tmpb -- (\the\pgf@x,\the\pgf@y)%
- }%
- \fi%
- \pgfpointshapexproj{yquantbox}{\pgfqpoint{\lastxc}%
- {\dimexpr\wireypos-2\pgflinewidth\relax}}%
- \ifdim\lastxc<\pgf@x%
- \eappto\cmd{%
- \tmpc -- (\the\pgf@x,\the\pgf@y)%
+% outputs the wire according to its previous instructions and prepares for a change in the wire style
+\protected\def\yquant@circuit@flushwire#1{%
+ \yquant@draw@wire{#1}{}%
+ \begingroup%
+ \yquant@register@get@lastwire{#1}\wirelast%
+ \yquant@register@set@lastwire{#1}{%
+ {\expandafter\@secondoffour\wirelast}{\expandafter\@secondoffour\wirelast}{}%
+ {\unexpanded\expandafter\expandafter\expandafter{%
+ \expandafter\@fourthoffour\wirelast%
+ }}%
}%
- \fi%
- \unless\ifx\cmd\empty%
- \edef\cmd{\noexpand\path [/yquant/every wire, /yquant/every qubits wire] \cmd;}%
- \cmd%
- \fi%
+ \endgroup%
}
% END_FOLD
% BEGIN_FOLD Drawing control lines
-% populates a drawing macro with the current control line with style #1 at position #2. Assumes a node called yquantbox is set up, and it is a node with appropriate projections. At the first call, \yquant@circuit@extendcontrolline@cmd must be \let to \empty and \yquant@circuit@extendcontrolline@prev to \relax.
+% populates a drawing macro with the current control line with style #1 at position #2. Assumes a node called yquantbox is set up, and the \pgfshapeclippathvertresult was set up appropriately for this node. At the first call, \yquant@circuit@extendcontrolline@cmd must be \let to \empty and \yquant@circuit@extendcontrolline@prev to \relax.
\protected\def\yquant@circuit@extendcontrolline#1#2{%
\begingroup%
\tikzset{/yquant/every control line}%
\expandafter%
\endgroup%
+ \eappto\yquant@circuit@extendcontrolline@clip{%
+ \unexpanded\expandafter{\pgfshapeclippathvertresult}%
+ }%
\expandafter\@tempdima\the\pgflinewidth%
\ifcase#1%
% no control (or to a discarded target, which we don't do)
\or%
% qubit
+ \pgfpointanchor{yquantbox}{center}%
\unless\ifx\yquant@circuit@extendcontrolline@prev\relax%
- \pgfpointanchor{yquantbox}{north}%
- \pgfpointshapeyproj{yquantbox}{\pgf@x=#2\relax}%
\eappto\yquant@circuit@extendcontrolline@cmd{%
\expandafter\@secondofthree\yquant@circuit@extendcontrolline@prev%
- -- (\the\pgf@x,\the\pgf@y)%
+ -- (#2,\the\pgf@y)%
}%
\fi%
\yquant@circuit@extendcontrolline@store{#2}%
\or%
% cbit
+ \pgfpointanchor{yquantbox}{center}%
\unless\ifx\yquant@circuit@extendcontrolline@prev\relax%
- \pgfpointanchor{yquantbox}{north}%
- \pgfpointshapeyproj{yquantbox}%
- {\pgf@x=\dimexpr#2-2\@tempdima\relax}%
\eappto\yquant@circuit@extendcontrolline@cmd{%
\expandafter\@firstofthree\yquant@circuit@extendcontrolline@prev%
- -- (\the\pgf@x,\the\pgf@y)%
- }%
- \pgfpointshapeyproj{yquantbox}%
- {\pgf@x=\dimexpr#2+2\@tempdima\relax}%
- \eappto\yquant@circuit@extendcontrolline@cmd{%
+ -- (\the\dimexpr#2-2\@tempdima\relax,\the\pgf@y)%
\expandafter\@thirdofthree\yquant@circuit@extendcontrolline@prev%
- -- (\the\pgf@x,\the\pgf@y)%
+ -- (\the\dimexpr#2+2\@tempdima\relax,\the\pgf@y)%
}%
\fi%
\yquant@circuit@extendcontrolline@store{#2}%
\or%
% quantum-bundle (very unusual, but perhaps for transversal operations?)
+ \pgfpointanchor{yquantbox}{center}%
\unless\ifx\yquant@circuit@extendcontrolline@prev\relax%
- \pgfpointanchor{yquantbox}{north}%
- \pgfpointshapeyproj{yquantbox}%
- {\pgf@x=\dimexpr#2-2\@tempdima\relax}%
\eappto\yquant@circuit@extendcontrolline@cmd{%
\expandafter\@firstofthree\yquant@circuit@extendcontrolline@prev%
- -- (\the\pgf@x,\the\pgf@y)%
- }%
- \pgfpointshapeyproj{yquantbox}%
- {\pgf@x=\dimexpr#2\relax}%
- \eappto\yquant@circuit@extendcontrolline@cmd{%
+ -- (\the\dimexpr#2-2\@tempdima\relax,\the\pgf@y)%
\expandafter\@secondofthree\yquant@circuit@extendcontrolline@prev%
- -- (\the\pgf@x,\the\pgf@y)%
- }%
- \pgfpointshapeyproj{yquantbox}%
- {\pgf@x=\dimexpr#2+2\@tempdima\relax}%
- \eappto\yquant@circuit@extendcontrolline@cmd{%
+ -- (\the\dimexpr#2\relax,\the\pgf@y)%
\expandafter\@thirdofthree\yquant@circuit@extendcontrolline@prev%
- -- (\the\pgf@x,\the\pgf@y)%
+ -- (\the\dimexpr#2+2\@tempdima\relax,\the\pgf@y)%
}%
\fi%
\yquant@circuit@extendcontrolline@store{#2}%
\else%
- \PackageError{yquant.sty}{Invalid control line type `\the#1'}%
+ \PackageError{yquant.sty}{Invalid control line type `#1'}%
{yquant encountered an internal error.}%
\fi%
}
\protected\def\yquant@circuit@extendcontrolline@store#1{%
- \pgfpointanchor{yquantbox}{south}%
- \pgfpointshapeyproj{yquantbox}%
- {\pgf@x=\dimexpr#1-2\@tempdima\relax}%
- \edef\yquant@circuit@extendcontrolline@prev{{(\the\pgf@x,\the\pgf@y)}}%
- \pgfpointshapeyproj{yquantbox}%
- {\pgf@x=#1\relax}%
- \eappto\yquant@circuit@extendcontrolline@prev{{(\the\pgf@x,\the\pgf@y)}}%
- \pgfpointshapeyproj{yquantbox}%
- {\pgf@x=\dimexpr#1+2\@tempdima\relax}%
- \eappto\yquant@circuit@extendcontrolline@prev{{(\the\pgf@x,\the\pgf@y)}}%
+ \edef\yquant@circuit@extendcontrolline@prev{%
+ {(\the\dimexpr#1-2\@tempdima\relax,\the\pgf@y)}%
+ {(\the\dimexpr#1\relax,\the\pgf@y)}%
+ {(\the\dimexpr#1+2\@tempdima\relax,\the\pgf@y)}%
+ }%
+}
+
+% populates a drawing macro with the multi operation connector at position #2. Assumes a node called yquantbox is set up, and the \pgfshapeclippathvertresult was set up appropriately for this node. At the first call, \yquant@circuit@extendmultiline@cmd must be \let to \empty and \yquant@circuit@extendmultiline@prev to \relax.
+\protected\def\yquant@circuit@extendmultiline#1{%
+ \begingroup%
+ \tikzset{/yquant/every multi line}%
+ \expandafter%
+ \endgroup%
+ \eappto\yquant@circuit@extendmultiline@clip{%
+ \unexpanded\expandafter{\pgfshapeclippathvertresult}%
+ }%
+ \expandafter\@tempdima\the\pgflinewidth%
+ \pgfpointanchor{yquantbox}{center}%
+ \unless\ifx\yquant@circuit@extendmultiline@prev\relax%
+ \eappto\yquant@circuit@extendmultiline@cmd{%
+ \yquant@circuit@extendmultiline@prev -- (#1,\the\pgf@y)%
+ }%
+ \fi%
+ \edef\yquant@circuit@extendmultiline@prev{%
+ (\the\dimexpr#1\relax,\the\pgf@y)%
+ }%
}
% END_FOLD
@@ -364,7 +288,18 @@
% BEGIN_FOLD Helpers for operator callbacks
% turn a wire into a different type
\def\yquant@circuit@settype#1{%
- \yquant@register@set@type{#1}\yquant@circuit@settype@to%
+ \yquant@circuit@flushwire{#1}%
+ \yquant@register@set@type{#1}{\yquant@circuit@settype@to}%
+}
+
+\protected\long\def\yquant@circuit@setstyle#1#2{%
+ \yquant@circuit@flushwire{#1}%
+ \yquant@register@set@style{#1}{#2}%
+}
+
+\protected\long\def\yquant@circuit@addstyle#1#2{%
+ \yquant@circuit@flushwire{#1}%
+ \yquant@register@set@style{#1}{\yquant@register@get@style{#1},#2}%
}
% performs an alignment of all registers specified in the argument; that is, the next operation on any of the listed registers will be after the maximum position of all of them
@@ -393,19 +328,20 @@
\endgroup%
}
-% sets the type of a list of registers
-% #1: arbitrary register list
-% #2: new type
-\protected\def\yquant@circuit@settypes#1#2{%
+% applies an action to wires a list of registers and causes them to be redrawn
+% #1: action
+% #2: arbitrary register list
+% #3: parameter(s)
+\protected\def\yquant@circuit@actonwires#1#2#3{%
\begingroup%
\let\tmp=\empty%
\def\do##1{%
% We do not extend the wire: a register that is discarded somewhere does not make
% sense, only right after some application (which is supposed to already have
% extended the wire appropriately).
- \appto\tmp{\yquant@register@set@type{##1}#2}%
+ \appto\tmp{#1{##1}#3}%
}%
- \dolistloop{#1}%
+ \dolistloop{#2}%
\csxappto{\yquant@prefix draw}{\tmp}%
\endgroup%
}
@@ -434,12 +370,12 @@
{\yquant@circuit@output@do@single{##1}{#3}}%
}%
}%
- % \dolistloop will carry out one \expandafter on the argument; but this expansion step
- % is already done. If #1 starts with \yquant@register@multi, this will be expanded once
- % despite \protected, so insert some expand-to-nothing token first.
\csgappto{\yquant@prefix draw}{%
\yquant@circuit@output@group{#2}%
}
+ % \dolistloop will carry out one \expandafter on the argument; but this expansion step
+ % is already done. If #1 starts with \yquant@register@multi, this will be expanded once
+ % despite \protected, so insert some expand-to-nothing token first.
\dolistloop{\empty#1}%
\csgappto{\yquant@prefix draw}{%
\yquant@circuit@output@endgroup%
@@ -447,7 +383,7 @@
}
\def\yquant@circuit@output@do@multi@@extract#1#2#3#4#5{%
- {#2}{#3}%
+ {#2}{#3}{#5}%
}
\protected\long\def\yquant@circuit@output@group#1{%
@@ -462,15 +398,27 @@
\path
(\yquant@env@end@xpos, \yquant@register@get@y{#1})
node[/yquant/every output,
- /yquant/every \ifcase\yquant@register@get@type{#1} qubit\or cbit\or qubits\fi\space output] {#2};
+ /yquant/every \ifcase\yquant@register@get@type{#1} nobit\or qubit\or cbit\or qubits\fi\space output] {#2};
\numdef\idx{\idx+1}%
}
-\long\def\yquant@circuit@output@do@multi#1#2#3{%
+\long\def\yquant@circuit@output@do@multi#1#2#3#4{%
+ % extremely similar to \yquant@draw@multiinit
+ \@tempdima=-.5\dimexpr\yquant@config@register@sep\relax%
+ \dimdef\yquant@draw@multiinit@@min{\yquant@register@get@y{#1}-\@tempdima}%
+ \dimdef\yquant@draw@multiinit@@max{\yquant@register@get@y{#2}+\@tempdima}%
+ \dimdef\yquant@draw@multiinit@@total{%
+ \yquant@draw@multiinit@@max-\yquant@draw@multiinit@@min%
+ }%
+ \def\pgfdecorationsegmentaspect{0}%
+ \let\yquant@register@multi@contiguous=\yquant@draw@multiinit@contiguous%
+ \let\pgfdecorationsegmentfromto=\empty%
+ #3%
+ \edef\pgfdecorationsegmentfromto{\expandafter\@gobble\pgfdecorationsegmentfromto}%
\path[/yquant/every multi output]
- (\yquant@env@end@xpos, \yquant@register@get@y{#1}) --
- (\yquant@env@end@xpos, \yquant@register@get@y{#2})
- node {#3};%
+ (\yquant@env@end@xpos, \yquant@draw@multiinit@@min) --
+ (\yquant@env@end@xpos, \yquant@draw@multiinit@@max)
+ node {#4};%
\numdef\idx{\idx+1}%
}
% END_FOLD \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-config.tex b/graphics/pgf/contrib/yquant/tex/yquant-config.tex
index 2aa1158b05..c1a74fecb4 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-config.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-config.tex
@@ -1,4 +1,3 @@
-\usetikzlibrary{decorations.pathreplacing}
\pgfdeclaremetadecoration{tikz@internal}{pre}{
\state{pre}[width=\pgfkeysvalueof{/pgf/decoration/pre length}+\pgfkeysvalueof{/pgf/decoration/post length}, next state=main]{
\appto\tikz@dec@shift{\pgftransformxshift{-\pgfkeysvalueof{/pgf/decoration/post length}}}
@@ -15,7 +14,10 @@
}
}
\pgfqkeys{/yquant}{
- every circuit/.style={},
+ every circuit/.style={%
+ every node/.prefix style={transform shape},%
+ every label/.prefix style={transform shape=false}% TODO: no, we don't really want this, but pgf bug #843 requires this if we still want to have `label position` available
+ },
% register settings
register/default name/.store in=%
\yquant@config@register@default@name,
@@ -25,7 +27,7 @@
{\dimdef\yquant@config@register@sep{#1}},
% register label style
every label/.style=%
- {shape=yquant-text, anchor=circuit, align=right},
+ {shape=yquant-text, anchor=center, align=right},
every initial label/.style=%
{anchor=east},
every qubit label/.style=%
@@ -35,8 +37,8 @@
every qubits label/.style=%
{},
every multi label/.style=%
- {shift={(-.075, 0)}, draw, decoration={brace, mirror, pre=moveto, pre length=-1mm, post=moveto, post length=-1mm}, decorate,
- every node/.append style={shape=yquant-text, anchor=east, align=right, midway, shift={(-.025, 0)}}},
+ {shift={(-.075, 0)}, draw, decoration={gapped brace, mirror}, decorate, /yquant/gapped brace/apply shift,
+ every node/.append style={shape=yquant-text, anchor=east, align=right, shift={(-.05, 0)}, pos=-1}},
% output label styles
every output/.style=%
{shape=yquant-text, anchor=west, align=left},
@@ -47,8 +49,8 @@
every qubits output/.style=%
{},
every multi output/.style=%
- {shift={(.075, 0)}, draw, decoration={brace, pre=moveto, pre length=-1mm, post=moveto, post length=-1mm}, decorate,
- every node/.append style={shape=yquant-text, anchor=west, align=left, midway, shift={(.025, 0)}}},
+ {shift={(.075, 0)}, draw, decoration={gapped brace}, decorate, /yquant/gapped brace/apply shift,
+ every node/.append style={shape=yquant-text, anchor=west, align=left, shift={(.05, 0)}, pos=-1}},
% wire style
every wire/.style=%
{draw},
@@ -63,18 +65,26 @@
{\dimdef\yquant@config@operator@sep{#1}},
operator/minimum width/.code=%
{\dimdef\yquant@config@operator@minimum@width{#1}},
+ operator/multi warning/.is if=%
+ yquant@config@operator@multi@warn,
% operator style: control
every control line/.style=%
{draw},
every control/.style=%
- {shape=yquant-circle, anchor=circuit, radius=.5mm},
+ {shape=yquant-circle, anchor=center, radius=.5mm},
every positive control/.style=%
{fill=black},
every negative control/.style=%
{draw},
% operator style: main part
every operator/.style=%
- {anchor=circuit},
+ {anchor=center},
+ operator/multi main/.is if=%
+ yquant@config@operator@multi@main,
+ operator/multi as single/.style=%
+ {/yquant/every multi line/.style=/yquant/every control line},
+ every multi line/.style=%
+ {draw, decoration={snake, amplitude=.25mm, segment length=5pt}, decorate},
% overwriting all styles
this operator/.style=%
{},
@@ -107,17 +117,13 @@
operators/every phase/.style=%
{shape=yquant-circle, radius=.5mm, fill},
operators/every zz/.style=%
- % y radius must be twice as large as x radius (= two circles). And there is no
- % possiblity to distort the circle to an ellipse; x radius is always the defining
- % property!
- {shape=yquant-zz, x radius=.5mm, y radius=1mm, fill, draw},
+ {shape=yquant-circle, radius=.5mm, fill},
operators/every xx/.style=%
- % same as zz
- {shape=yquant-xx, x radius=.75mm, y radius=1.5mm, draw},
+ {shape=yquant-rectangle, radius=.75mm, draw},
operators/every slash/.style=%
{shape=yquant-slash, x radius=.5mm, y radius=.7mm, draw},
operators/every swap/.style=%
- {shape=yquant-swap, x radius=.75mm, y radius=1.5mm, draw},
+ {shape=yquant-swap, radius=.75mm, draw},
operators/every not/.style=%
{shape=yquant-oplus, radius=1.3mm, draw},
operators/every measure/.style=%
@@ -127,8 +133,13 @@
operators/every dmeter/.style=%
{shape=yquant-dmeter, x radius=2mm, y radius=2mm, draw},
operators/every barrier/.style=%
- {shape=yquant-barrier, dashed, draw},
- operators/multi operator line/.is if=\yquant@config@multi@line,
+ {shape=yquant-line, dashed, draw},
+ operators/every wave/.style=%
+ {shape=yquant-circle, radius=.5mm, fill},
+ /pgf/decoration/from to/.store in=\pgfdecorationsegmentfromto,
+ gapped brace/apply shift/.code={%
+ \let\tikz@timer@line=\yquant@gappedbrace@timer%
+ },
}
\def\yquant@config@register@default@name{\regidx}
@@ -136,5 +147,142 @@
\def\yquant@config@register@sep{1mm}
\def\yquant@config@operator@sep{1mm}
\def\yquant@config@operator@minimum@width{5mm}
-\newif\ifyquant@config@multi@line
-\yquant@config@multi@linetrue \ No newline at end of file
+\newif\ifyquant@config@operator@multi@main%
+\yquant@config@operator@multi@maintrue
+\newif\ifyquant@config@operator@multi@warn
+\yquant@config@operator@multi@warntrue
+\def\pgfdecorationsegmentfromto{0-1}%
+
+\protected\def\yquant@gappedbrace@extract#1-#2\yquant@sep{%
+ \dimdef\from{#1\pgfdecoratedremainingdistance}%
+ \dimdef\to{#2\pgfdecoratedremainingdistance}%
+}
+% This function is set to replace the transformation that changes the fraction value specified in the node property pos by a computation of the correct value for the gappedbrace decoration. It thus requires \pgfdecorationsegmentfromto to be already set up properly. Only if the special position -1 is given, these transformations are applied; else, the default behavior is reproduced (\tikz@timer@line).
+\protected\def\yquant@gappedbrace@timer{%
+ \ifdim\tikz@time pt=-1pt %
+ % first set \pgfdecoratedremainingdistance appropriately
+ \pgfpointdiff\tikz@timer@start\tikz@timer@end%
+ \pgfmathsqrt@{\dimexpr\pgf@x*\pgf@x/65536+\pgf@y*\pgf@y/65536\relax\@gobbletwo}
+ \pgfdecoratedremainingdistance=\pgfmathresult pt %
+ % now perform the transformation
+ \pgf@xc=\pgfdecorationsegmentaspect\pgfdecoratedremainingdistance%
+ \expandafter\forcsvlist\expandafter\yquant@gappedbrace@shiftloop%
+ \expandafter{\pgfdecorationsegmentfromto}%
+ % and finally let us return the desired position, just ignoring \tikz@time...
+ \pgftransformlineattime{\pgfdecorationsegmentaspect}{\tikz@timer@start}{\tikz@timer@end}%
+ \else%
+ \pgftransformlineattime{\tikz@time}{\tikz@timer@start}{\tikz@timer@end}%
+ \fi%
+}
+\def\yquant@gappedbrace@shiftloop#1{%
+ \yquant@gappedbrace@extract#1\yquant@sep%
+ \unless\ifdim\pgfdecorationsegmentaspect\pgfdecoratedremainingdistance<\from %
+ \unless\ifdim\pgfdecorationsegmentaspect\pgfdecoratedremainingdistance>\to %
+ % be careful about arch positions at the border
+ \ifdim\dimexpr\to-\from\relax<2\pgfdecorationsegmentamplitude %
+ % The arch is larger than the segment. We do not draw a line to it or an end line and place it in the mid of the segment, even if it is too short (this issues one extra \pgfpathmoveto command, but catching this rare case is not worth the effort).
+ \edef\pgfdecorationsegmentaspect{\pgfmath@tonumber{\dimexpr%
+ .5\dimexpr\from+\to\relax*65536/\pgfdecoratedremainingdistance%
+ \relax}}%
+ \else%
+ % The segment is large enough to cover the whole arch. But maybe we are too close at the border?
+ \ifdim\dimexpr\pgf@xc-\pgfdecorationsegmentamplitude\relax<\from %
+ \pgf@xc=\dimexpr\from+\pgfdecorationsegmentamplitude\relax%
+ \fi%
+ \ifdim\dimexpr\pgf@xc+\pgfdecorationsegmentamplitude\relax>\to %
+ \pgf@xc=\dimexpr\to-\pgfdecorationsegmentamplitude\relax%
+ \fi%
+ \edef\pgfdecorationsegmentaspect{\pgfmath@tonumber{\dimexpr%
+ \dimexpr\pgf@xc*65536/\pgfdecoratedremainingdistance%
+ \relax}}%
+ \fi%
+ \expandafter\expandafter\expandafter\listbreak%
+ \fi%
+ \fi%
+}
+\def\yquant@gappedbrace@loop#1{%
+ \yquant@gappedbrace@extract#1\yquant@sep%
+ \unless\ifdim\from=0pt %
+ \pgfpathmoveto{%
+ \pgfqpoint{\from}{.5\pgfdecorationsegmentamplitude}%
+ }%
+ \fi%
+ \unless\ifdim\pgfdecorationsegmentaspect\pgfdecoratedremainingdistance<\from %
+ \unless\ifdim\pgfdecorationsegmentaspect\pgfdecoratedremainingdistance>\to %
+ % be careful about arch positions at the border
+ \ifdim\dimexpr\to-\from\relax<2\pgfdecorationsegmentamplitude %
+ % The arch is larger than the segment. We do not draw a line to it or an end line and place it in the mid of the segment, even if it is too short (this issues one extra \pgfpathmoveto command, but catching this rare case is not worth the effort).
+ \pgfpathmoveto{%
+ \pgfqpoint{\dimexpr.5\dimexpr\from+\to\relax-\pgfdecorationsegmentamplitude\relax}%
+ {.5\pgfdecorationsegmentamplitude}%
+ }%
+ \edef\to{\the\pgfdecoratedremainingdistance}% to prevent the final line, we do not need "to" any more
+ \else%
+ % The segment is large enough to cover the whole arch. But maybe we are too close at the border?
+ \ifdim\dimexpr\pgf@xc-\pgfdecorationsegmentamplitude\relax<\from %
+ \pgf@xc=\dimexpr\from+\pgfdecorationsegmentamplitude\relax%
+ \fi%
+ \ifdim\dimexpr\pgf@xc+\pgfdecorationsegmentamplitude\relax>\to %
+ \pgf@xc=\dimexpr\to-\pgfdecorationsegmentamplitude\relax%
+ \fi%
+ % Both cases can't occur at the same time in this \else clause.
+ \pgfpathlineto{%
+ \pgfqpoint{\dimexpr\pgf@xc-\pgfdecorationsegmentamplitude\relax}%
+ {.5\pgfdecorationsegmentamplitude}%
+ }%
+ \fi%
+ \pgfpathcurveto{%
+ \pgfqpoint{\dimexpr\pgf@xc-.5\pgfdecorationsegmentamplitude\relax}%
+ {.5\pgfdecorationsegmentamplitude}%
+ }{%
+ \pgfqpoint{\dimexpr\pgf@xc-.15\pgfdecorationsegmentamplitude\relax}%
+ {.7\pgfdecorationsegmentamplitude}%
+ }{%
+ \pgfqpoint{\pgf@xc}{\pgfdecorationsegmentamplitude}%
+ }%
+ \pgfpathcurveto{%
+ \pgfqpoint{\dimexpr\pgf@xc+.15\pgfdecorationsegmentamplitude\relax}%
+ {.7\pgfdecorationsegmentamplitude}%
+ }{%
+ \pgfqpoint{\dimexpr\pgf@xc+.5\pgfdecorationsegmentamplitude\relax}%
+ {.5\pgfdecorationsegmentamplitude}%
+ }{%
+ \pgfqpoint{\dimexpr\pgf@xc+\pgfdecorationsegmentamplitude\relax}%
+ {.5\pgfdecorationsegmentamplitude}%
+ }%
+ \fi%
+ \fi%
+ \unless\ifdim\to=\pgfdecoratedremainingdistance %
+ \pgfpathlineto{%
+ \pgfqpoint{\to}{.5\pgfdecorationsegmentamplitude}%
+ }%
+ \fi%
+}
+% This is a variant of the brace in pathreplacing that allows for holes
+\pgfdeclaredecoration{gapped brace}{final}{%
+ \state{final}{%
+ \pgf@xc=\pgfdecorationsegmentaspect\pgfdecoratedremainingdistance%
+ \pgfpathcurveto{%
+ \pgfqpoint{.15\pgfdecorationsegmentamplitude}{.3\pgfdecorationsegmentamplitude}%
+ }{%
+ \pgfqpoint{.5\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}%
+ }{%
+ \pgfqpoint{\pgfdecorationsegmentamplitude}{.5\pgfdecorationsegmentamplitude}%
+ }%
+ \expandafter\forcsvlist\expandafter\yquant@gappedbrace@loop%
+ \expandafter{\pgfdecorationsegmentfromto}%
+ \pgfpathlineto{%
+ \pgfqpoint{\dimexpr\pgfdecoratedremainingdistance-\pgfdecorationsegmentamplitude\relax}%
+ {.5\pgfdecorationsegmentamplitude}%
+ }%
+ \pgfpathcurveto{%
+ \pgfqpoint{\dimexpr\pgfdecoratedremainingdistance-.5\pgfdecorationsegmentamplitude\relax}%
+ {.5\pgfdecorationsegmentamplitude}%
+ }{%
+ \pgfqpoint{\dimexpr\pgfdecoratedremainingdistance-.15\pgfdecorationsegmentamplitude\relax}%
+ {.3\pgfdecorationsegmentamplitude}%
+ }{%
+ \pgfqpoint{\pgfdecoratedremainingdistance}{0pt}%
+ }%
+ }%
+}% \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-draw.tex b/graphics/pgf/contrib/yquant/tex/yquant-draw.tex
index baaac6ac0d..c89eb3ef98 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-draw.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-draw.tex
@@ -11,6 +11,8 @@
\fi%
\let\yquant@circuit@extendcontrolline@cmd=\empty%
\let\yquant@circuit@extendcontrolline@prev=\relax%
+ \let\yquant@circuit@extendcontrolline@clip=\empty%
+ \let\yquant@circuit@extendmultiline@total=\empty%
\yquant@langhelper@list@attrs%
% If the quotes library is loaded, activate it. (else, this is by default \relax)
\tikz@enable@node@quotes%
@@ -47,6 +49,7 @@
\yquant@draw@alias@ctrl{#2}p%
\yquant@draw@alias@ctrl{#2}n%
\fi%
+ \yquant@circuit@extendmultiline@total%
\endgroup%
}
@@ -57,86 +60,162 @@
node[/yquant/every operator, \yquant@draw@@style, /yquant/this operator,%
name prefix=, name suffix=, name=yquantbox]%
{\unexpanded\expandafter{\yquant@draw@@content}};%
+ \pgfshapeclippath{yquantbox}%
+ {/yquant/every operator, \yquant@draw@@style,%
+ /yquant/this operator}%
}%
\cmd%
- \ifpgfpointshapexproj{yquantbox}%
- \yquant@circuit@extendwire{#1}%
- \fi%
- \yquant@circuit@extendcontrolline\yquant@draw@@currentcontroltype\yquant@draw@@x%
+ \yquant@circuit@extendwire{#1}%
+ \expandafter\yquant@circuit@extendcontrolline\expandafter%
+ {\the\yquant@draw@@currentcontroltype}\yquant@draw@@x%
% check for empty name parameter
- \if\relax\detokenize{#2}\relax%
- \else%
+ \ifstrempty{#2}\relax{%
\pgfnodealias{\tikz@pp@name{#2}}{yquantbox}%
- \fi%
+ }%
\numdef\yquant@draw@@idx@content{\yquant@draw@@idx@content+1}%
}
-\protected\long\def\yquant@draw@multi#1#2#3#4#5{%
+\protected\def\yquant@draw@multi#1#2#3#4#5{%
\let\idx=\yquant@draw@@idx@content%
+ \edef\yquant@draw@multi@@name{#5}%
+ \def\yquant@draw@@idx@multipart{0}%
+ \let\yquant@circuit@extendmultiline@cmd=\empty%
+ \let\yquant@circuit@extendmultiline@prev=\relax%
+ \let\yquant@circuit@extendmultiline@clip=\empty%
+ \let\yquant@register@multi@contiguous=\yquant@draw@multi@contiguous%
+ #4%
+ \ifnum\yquant@draw@@idx@multipart>1 %
+ % make sure also the first split part is available via the "-s0" suffix
+ \unless\ifx\yquant@draw@multi@@name\empty%
+ \pgfnodealias{\tikz@pp@name{\yquant@draw@multi@@name-s0}}%
+ {\tikz@pp@name{\yquant@draw@multi@@name}}%
+ \fi%
+ \yquant@draw@mline@prep%
+ \fi%
+ \numdef\yquant@draw@@idx@content{\yquant@draw@@idx@content+1}%
+}
+
+\protected\def\yquant@draw@multi@contiguous#1#2#3{%
% We need to somehow extract the y radius
\edef\cmd{%
\noexpand\path (\yquant@draw@@x, \the\dimexpr.5\dimexpr%
\yquant@register@get@y{#1}+\yquant@register@get@y{#2}\relax%
\relax)%
node[/yquant/every operator, \yquant@draw@@style, /yquant/this operator,%
+ /yquant/operator/multi main=\ifnum#3=1 true\else false\fi\unless\ifnum#1=#2 ,%
y radius/.expanded=\the\dimexpr.5\dimexpr\yquant@register@get@ydist{#1}{#2}\relax\relax+%
- .5*\noexpand\pgfkeysvalueof{/tikz/y radius},%
+ .5*\noexpand\pgfkeysvalueof{/tikz/y radius}\fi,%
name prefix=, name suffix=, name=yquantbox]%
{\unexpanded\expandafter{\yquant@draw@@content}};
+ \pgfshapeclippath{yquantbox}%
+ {/yquant/every operator, \yquant@draw@@style,%
+ /yquant/this operator}%
}%
\cmd%
- \ifpgfpointshapexproj{yquantbox}%
- \let\do=\yquant@circuit@extendwire%
- \dolistloop{#4}%
- \fi%
- \yquant@circuit@extendcontrolline\yquant@draw@@currentcontroltype\yquant@draw@@x%
- % check for empty name parameter
- \if\relax\detokenize{#5}\relax%
- \else%
- \pgfnodealias{\tikz@pp@name{#5}}{yquantbox}%
+ \yquant@for \i := #1 to #2 {%
+ \yquant@circuit@extendwire\i%
+ }%
+ \yquant@circuit@extendmultiline\yquant@draw@@x%
+ \expandafter\yquant@circuit@extendcontrolline\expandafter%
+ {\the\yquant@draw@@currentcontroltype}\yquant@draw@@x%
+ \unless\ifx\yquant@draw@multi@@name\empty%
+ \ifnum\yquant@draw@@idx@multipart=0 %
+ \pgfnodealias{\tikz@pp@name{\yquant@draw@multi@@name}}{yquantbox}%
+ \else%
+ \pgfnodealias{\tikz@pp@name{\yquant@draw@multi@@name-s\yquant@draw@@idx@multipart}}{yquantbox}%
+ \fi%
\fi%
- \numdef\yquant@draw@@idx@content{\yquant@draw@@idx@content+1}%
+ \numdef\yquant@draw@@idx@multipart{\yquant@draw@@idx@multipart+1}%
}
-\protected\long\def\yquant@draw@multiinit#1#2#3#4#5{%
+\protected\def\yquant@draw@multiinit#1#2#3#4#5{%
\let\idx=\yquant@draw@@idx@content%
+ \@tempdima=-.5\dimexpr\yquant@config@register@sep\relax%
+ \dimdef\yquant@draw@multiinit@@min{\yquant@register@get@y{#1}-\@tempdima}%
+ \dimdef\yquant@draw@multiinit@@max{\yquant@register@get@y{#2}+\@tempdima}%
+ \dimdef\yquant@draw@multiinit@@total{%
+ \yquant@draw@multiinit@@max-\yquant@draw@multiinit@@min%
+ }%
+ \def\pgfdecorationsegmentaspect{0}%
+ \let\yquant@register@multi@contiguous=\yquant@draw@multiinit@contiguous%
+ \let\pgfdecorationsegmentfromto=\empty%
+ #4%
+ \edef\pgfdecorationsegmentfromto{\expandafter\@gobble\pgfdecorationsegmentfromto}%
% We need to somehow extract the y radius
\edef\cmd{%
\noexpand\path[/yquant/every operator, \yquant@draw@@style,%
/yquant/every multi label, /yquant/this operator]%
- (\yquant@draw@@x, \yquant@register@get@y{#1}) --%
- (\yquant@draw@@x, \yquant@register@get@y{#2})%
+ (\yquant@draw@@x, \yquant@draw@multiinit@@min) --%
+ (\yquant@draw@@x, \yquant@draw@multiinit@@max)%
node[name prefix=, name suffix=, name=yquantbox]%
{\unexpanded\expandafter{\yquant@draw@@content}};
}%
\cmd%
- % no wire extension (we are still at the initial position), no control line (init doesn't allow for those, so just save the no-op)
+ % no wire extension (we are still at the initial position), no control line (init doesn't allow for those, so just save the no-op), no multi line
% check for empty name parameter
- \if\relax\detokenize{#5}\relax%
- \else%
+ \ifstrempty{#5}\relax{%
\pgfnodealias{\tikz@pp@name{#5}}{yquantbox}%
- \fi%
+ }%
\numdef\yquant@draw@@idx@content{\yquant@draw@@idx@content+1}%
}
+\protected\def\yquant@draw@multiinit@contiguous#1#2#3{%
+ \edef\yquant@draw@multiinit@@from{%
+ \pgfmath@tonumber{\dimexpr%
+ \dimexpr\yquant@register@get@y{#1}-\@tempdima-\yquant@draw@multiinit@@min\relax*65536/%
+ \dimexpr\yquant@draw@multiinit@@total\relax%
+ \relax}%
+ }%
+ \edef\yquant@draw@multiinit@@to{%
+ \pgfmath@tonumber{\dimexpr%
+ \dimexpr\yquant@register@get@y{#2}+\@tempdima-\yquant@draw@multiinit@@min\relax*65536/%
+ \dimexpr\yquant@draw@multiinit@@total\relax%
+ \relax}%
+ }%
+ \eappto\pgfdecorationsegmentfromto{,%
+ \yquant@draw@multiinit@@from-\yquant@draw@multiinit@@to%
+ }%
+ % We need to decide where to put the brace arch.
+ \ifdim\yquant@draw@multiinit@@from pt<.5pt %
+ \ifdim\yquant@draw@multiinit@@to pt>.5 pt%
+ % This segment covers the true 1/2 position, take it
+ \def\pgfdecorationsegmentaspect{.5}%
+ \else%
+ % We are not there yet, so the end of this segment is the closest we can get to the mid so far
+ \edef\pgfdecorationsegmentaspect{\yquant@draw@multiinit@@to}%
+ \fi%
+ \else%
+ % We are already beyond the mid...
+ \ifdim\pgfdecorationsegmentaspect pt<.5pt %
+ % ...but we did not find an ideal position yet
+ \ifdim\dimexpr\yquant@draw@multiinit@@from pt-.5pt\relax<%
+ \dimexpr.5pt-\pgfdecorationsegmentaspect pt\relax%
+ % this one is closer to the mid than anything found before
+ \edef\pgfdecorationsegmentaspect{\yquant@draw@multiinit@from}%
+ \fi%
+ \fi%
+ \fi%
+}
+
\protected\def\yquant@draw@control#1#2#3{%
\edef\cmd{%
\noexpand\path (\yquant@draw@@x, \yquant@register@get@y{#2})%
node[/yquant/every control, /yquant/every #1 control, /yquant/this control,%
name prefix=, name suffix=, name=yquantbox]%
{};%
+ \pgfshapeclippath{yquantbox}%
+ {/yquant/every control, /yquant/every #1 control,%
+ /yquant/this control}%
}%
\cmd%
- \ifpgfpointshapexproj{yquantbox}%
- \yquant@circuit@extendwire{#2}%
- \fi%
+ \yquant@circuit@extendwire{#2}%
\yquant@draw@@currentcontroltype=\yquant@register@get@type{#2}\relax%
- \yquant@circuit@extendcontrolline\yquant@draw@@currentcontroltype\yquant@draw@@x%
+ \expandafter\yquant@circuit@extendcontrolline\expandafter%
+ {\yquant@draw@@currentcontroltype}\yquant@draw@@x%
% check for empty name parameter
- \if\relax\detokenize{#3}\relax%
- \else%
+ \ifstrempty{#3}\relax{%
\pgfnodealias{\tikz@pp@name{#3}}{yquantbox}%
- \fi%
+ }%
}
\protected\def\yquant@draw@pcontrol#1#2{%
@@ -152,11 +231,62 @@
}
\protected\def\yquant@draw@cline{%
- \edef\cmd{%
- \noexpand\path[/yquant/every control line]%
- \yquant@circuit@extendcontrolline@cmd;
+ \pgfscope%
+ % install the clipping
+ \pgfsyssoftpath@setcurrentpath\yquant@circuit@extendcontrolline@clip%
+ % and invert it. It is sufficient to cover the current bounding box, as the wire will be drawn between existing operators.
+ \ifyquantdebug%
+ \pgfsetfillcolor{teal}%
+ \pgfsetfillopacity{.3}%
+ \pgfusepathqfill%
+ \else%
+ \begingroup%
+ \pgftransformreset%
+ \pgfpathrectanglecorners%
+ {\pgfqpoint{\pgf@picminx}{\pgf@picminy}}%
+ {\pgfqpoint{\pgf@picmaxx}{\pgf@picmaxy}}%
+ \pgfseteorule% even-odd to properly invert the clipping
+ \pgfusepathqclip%
+ \endgroup%
+ \fi%
+ \edef\cmd{%
+ \noexpand\path[/yquant/every control line]%
+ \yquant@circuit@extendcontrolline@cmd;
+ }%
+ \cmd%
+ \endpgfscope%
+}
+
+\protected\def\yquant@draw@mline@prep{%
+ \eappto\yquant@circuit@extendmultiline@total{%
+ \yquant@draw@mline%
+ {\unexpanded\expandafter{\yquant@circuit@extendmultiline@clip}}%
+ {\yquant@circuit@extendmultiline@cmd}%
}%
- \cmd%
+}
+
+\protected\def\yquant@draw@mline#1#2{%
+ \pgfscope%
+ % install the clipping
+ \def\pgfsyssoftpath@thepath{#1}%
+ \pgfsyssoftpath@setcurrentpath\pgfsyssoftpath@thepath%
+ % and invert it. It is sufficient to cover the current bounding box, as the wire will be drawn between existing operators.
+ \ifyquantdebug%
+ \pgfsetfillcolor{teal}%
+ \pgfsetfillopacity{.3}%
+ \pgfusepathqfill%
+ \else%
+ \begingroup%
+ \pgftransformreset%
+ \pgfpathrectanglecorners%
+ {\pgfqpoint{\pgf@picminx}{\pgf@picminy}}%
+ {\pgfqpoint{\pgf@picmaxx}{\pgf@picmaxy}}%
+ \pgfseteorule% even-odd to properly invert the clipping
+ \pgfusepathqclip%
+ \endgroup%
+ \fi%
+ \path[/yquant/every multi line] #2;
+ \endpgfscope%
}
\protected\def\yquant@draw@alias#1{%
@@ -166,6 +296,106 @@
\protected\def\yquant@draw@alias@ctrl#1#2{%
\pgfnodealias{\tikz@pp@name{#1-#2}}{\tikz@pp@name{#1-#20}}%
}
+
+\protected\def\yquant@draw@wire#1#2{%
+ \begingroup%
+ \yquant@register@get@typeywire{#1}\wiretype\wireypos\wirelast%
+ \edef\wirexprevpos{\expandafter\@firstoffour\wirelast}%
+ \ifx\yquant@env@end@xpos#2\relax%
+ \let\wirexpos=\yquant@env@end@xpos%
+ \else%
+ \edef\wirexpos{\expandafter\@secondoffour\wirelast}%
+ \fi%
+ \unless\ifnum\wiretype=\yquant@register@type@none%
+ \ifdim\wirexpos>\wirexprevpos %
+ \edef\wirestyle{\noexpand\tikzset{%
+ /yquant/this wire/.style={%
+ /yquant/every wire,%
+ /yquant/every \ifcase\wiretype\relax nobit\or qubit \or cbit \or qubits \fi wire,%
+ \yquant@register@get@style{#1}%
+ }, /yquant/this wire%
+ }}%
+ \wirestyle%
+ % load all clippings
+ \edef\wireclipping{%
+ \unexpanded\expandafter\expandafter\expandafter{%
+ \expandafter\@thirdandfourthoffour\wirelast%
+ }%
+ }%
+ \pgfscope%
+ % install the clipping
+ \pgfsyssoftpath@setcurrentpath\wireclipping%
+ % invert the clipping
+ \ifyquantdebug%
+ \pgfsetfillcolor{orange}%
+ \pgfsetfillopacity{.3}%
+ \pgfusepathqfill%
+ \else%
+ % We need to access the current bounding box as well as other positions in the local coordinate frame. For this, transform the bounding box to the current frame (though this is expensive). Does this capture rotations correctly?
+ \begingroup%
+ \pgftransforminvert%
+ \pgfpointtransformednonlinear{\pgfqpoint{\pgf@picminx}{\pgf@picminy}}
+ \global\@tempdima=\pgf@y%
+ \pgfpointtransformednonlinear{\pgfqpoint{\pgf@picmaxx}{\pgf@picmaxy}}%
+ \global\@tempdimb=\pgf@y%
+ \endgroup%
+ % To avoid rendering artifacts at all zoom levels with all renderers, we need to make the clipping region large. Let's try the current bounding box first.
+ % This may be insufficient if there no or a tiny wire label and only registers of a small height. In this case, take at ten times the line width or at least 1cm, but don't let it affect the bounding box.
+ \ifdim\dimexpr\@tempdimb-\@tempdima\relax<10\pgflinewidth %
+ \@tempdima=\dimexpr\wireypos-5\pgflinewidth\relax%
+ \@tempdimb=\dimexpr\wireypos+5\pgflinewidth\relax%
+ \fi%
+ \ifdim\dimexpr\@tempdimb-\@tempdima\relax<1cm %
+ \@tempdima=\dimexpr\wireypos-5mm\relax%
+ \@tempdimb=\dimexpr\wireypos+5mm\relax%
+ \fi%
+ \pgfinterruptboundingbox%
+ \pgfpathrectanglecorners%
+ {\pgfqpoint{\dimexpr\wirexprevpos-2\pgflinewidth\relax}%
+ {\@tempdima}}%
+ {\pgfqpoint{\dimexpr\wirexpos+2\pgflinewidth\relax}%
+ {\@tempdimb}}%
+ \endpgfinterruptboundingbox%
+ \pgfseteorule% even-odd to properly invert the clipping
+ \pgfusepathqclip%
+ \fi%
+ % the clip inversion is left to the drawing commands (clip two \pgflinewidth more to avoid renderer artifacts)
+ \csname yquant@draw@wire@\wiretype\endcsname{#1}%
+ \endpgfscope%
+ \fi%
+ \fi%
+ \endgroup%
+}
+
+% quantum wire
+\protected\csdef{yquant@draw@wire@\yquant@register@type@q}#1{%
+ \edef\cmd{%
+ \noexpand\path [/yquant/this wire]
+ (\wirexprevpos,\wireypos) -- (\wirexpos,\wireypos);%
+ }%
+ \cmd%
+}
+
+% classical wire
+\protected\csdef{yquant@draw@wire@\yquant@register@type@c}#1{%
+ \edef\cmd{%
+ \noexpand\path [/yquant/this wire]
+ (\wirexprevpos,\wireypos+2\pgflinewidth)--(\wirexpos,\wireypos+2\pgflinewidth)%
+ (\wirexprevpos,\wireypos-2\pgflinewidth)--(\wirexpos,\wireypos-2\pgflinewidth);%
+ }%
+ \cmd%
+}
+
+% quantum-bundle
+\protected\csdef{yquant@draw@wire@\yquant@register@type@qs}#1{%
+ \edef\cmd{%
+ \noexpand\path [/yquant/this wire]
+ (\wirexprevpos,\wireypos+2\pgflinewidth)--(\wirexpos,\wireypos+2\pgflinewidth)%
+ (\wirexprevpos,\wireypos)--(\wirexpos,\wireypos)%
+ (\wirexprevpos,\wireypos-2\pgflinewidth)--(\wirexpos,\wireypos-2\pgflinewidth);%
+ }%
+ \cmd%
+}
% END_FOLD
% BEGIN_FOLD Preparation of drawing a generic shape
@@ -274,7 +504,7 @@
\advance \dimen2 by \yquant@circuit@operator@x\relax%
% BEGIN_FOLD shipout
\ifyquant@circuit@operator@hasControls%
- % If we draw a control line, all intermediate registers are affected in their position so that the line is never crossed.
+ % If we draw a control line, all intermediate registers are affected in their position so that the line is never crossed. If the vertical line is instead caused by a multi register, \yquant@draw@finalize@ctrl will be responsible for advancing only the affected positions.
\yquant@for \yquant@i := \yquant@circuit@operator@minctrl to \yquant@circuit@operator@maxctrl {%
\yquant@register@set@x\yquant@i{\the\dimen2}%
}%
@@ -354,14 +584,39 @@
#3%
{\nodename}%
}%
- % Determining the actual height is a problem - where to store its value? We just assume that there is always enough space for such a control, since it anyway already spans multiple registers. (TODO?)
+ % Determining the actual height is a problem - where to store its value? If there are single-register parts, we update the height accordingly; else we just assume that there is always enough space for such a control, since it anyways already spans multiple registers. (TODO?)
\pgfinterruptboundingbox%
\yquant@env@virtualize@path%
- % Here, we just set a dummy height, as we don't know the actual height yet. As the width of most/all shapes should not depend on their height, it does not matter.
- \path%
- (0pt, 0pt)
- node[/yquant/every operator, #2, /yquant/this operator, y radius=1cm,%
- name prefix=, name suffix=0, name=] {#1};
+ \def\yquant@draw@@content{#1}%
+ \def\yquant@draw@@style{#2}%
+ \let\yquant@register@multi@contiguous=\yquant@draw@@multi@contiguous%
+ \@fifthoffive#3%
+ \ifdim\pgf@picmaxy=-16000pt %
+ % if there was no single contiguous part before, determine the width now
+ \path%
+ (0pt, 0pt)
+ node[/yquant/every operator, #2, /yquant/this operator,%
+ name prefix=, name suffix=, name=] {#1};
+ \fi%
+}
+
+\protected\def\yquant@draw@@multi@contiguous#1#2#3{%
+ \ifnum#1=#2 %
+ % we only care about single-register parts
+ \global\pgf@picmaxy=-16000pt %
+ \global\pgf@picminy=16000pt %
+ \edef\cmd{%
+ \noexpand\path (0pt, 0pt)%
+ node[/yquant/every operator, \yquant@draw@@style, /yquant/this operator,%
+ /yquant/operator/multi main=\ifnum#3=1 true\else false\fi,
+ name prefix=, name suffix=, name=]%
+ {\unexpanded\expandafter{\yquant@draw@@content}};
+ }%
+ \cmd%
+ \yquant@register@update@height{#1}{%
+ \the\dimexpr\pgf@picmaxy-\pgf@picminy\relax%
+ }%
+ \fi%
}
\protected\def\yquant@draw@@multiinit#1#2#3{%
@@ -373,11 +628,10 @@
% Determining the actual height is a problem - where to store its value? We just assume that there is always enough space for such a control, since it anyway already spans multiple registers. (TODO?)
\pgfinterruptboundingbox%
\yquant@env@virtualize@path%
- % Here, we just set a dummy height, as we don't know the actual height yet. As the width of most/all shapes should not depend on their height, it does not matter.
\path%
(0pt, 0pt)
- node[/yquant/every operator, #2, /yquant/every multi label, y radius=1cm,%
- name prefix=, name suffix=0, name=] {#1};
+ node[/yquant/every operator, #2, /yquant/every multi label,%
+ name prefix=, name suffix=, name=] {#1};
}
\def\yquant@draw@finalize@ctrl#1{%
@@ -401,6 +655,12 @@
}%
}
+\protected\def\yquant@draw@finalize@ctrl@singleinit#1#2{%
+ \eappto\yquant@draw@append{%
+ \yquant@draw@callback@wire{#1}%
+ }%
+}
+
\protected\def\yquant@draw@finalize@ctrl@multi#1#2#3#4#5{%
\unless\ifyquant@circuit@operator@hasControls{%
% \yquant@for uses \loop...\repeat and hence redefines \body, which would destroy an outer loop.
@@ -410,13 +670,57 @@
}%
}\fi%
% this is called from a do loop itself, so preserve \do (but do not enter grouping)
- \let\yquant@draw@update@x@multi@@olddo=\do%
- \def\do##1{%
- \eappto\yquant@draw@append{%
- \yquant@draw@callback@wire{##1}%
+ \let\yquant@register@multi@contiguous=\yquant@draw@finalize@ctrl@multi@contiguous%
+ \ifyquant@circuit@operator@hasControls%
+ \ifyquant@config@operator@multi@warn%
+ \def\yquant@draw@finalize@ctrl@multi@contiguous@warn{0}%
+ \else%
+ \def\yquant@draw@finalize@ctrl@multi@contiguous@warn{2}%
+ \fi%
+ \else%
+ \def\yquant@draw@finalize@ctrl@multi@contiguous@warn{2}%
+ \fi%
+ \cslet{\yquant@prefix finalize@ctrl@draw@appto}\empty%
+ #4%
+ \eappto\yquant@draw@append{\csname\yquant@prefix finalize@ctrl@draw@appto\endcsname}%
+ \csgundef{\yquant@prefix finalize@ctrl@draw@appto}%
+}
+
+\protected\def\yquant@draw@finalize@ctrl@multiinit#1#2#3#4#5{%
+ % this is called from a do loop itself, so preserve \do (but do not enter grouping)
+ \let\yquant@register@multi@contiguous=\yquant@draw@finalize@ctrl@multi@contiguous%
+ \ifyquant@circuit@operator@hasControls%
+ \ifyquant@config@operator@multi@warn%
+ \def\yquant@draw@finalize@ctrl@multi@contiguous@warn{0}%
+ \else%
+ \def\yquant@draw@finalize@ctrl@multi@contiguous@warn{2}%
+ \fi%
+ \else%
+ \def\yquant@draw@finalize@ctrl@multi@contiguous@warn{2}%
+ \fi%
+ \cslet{\yquant@prefix finalize@ctrl@draw@appto}\empty%
+ #4%
+ \eappto\yquant@draw@append{\csname\yquant@prefix finalize@ctrl@draw@appto\endcsname}%
+ \csgundef{\yquant@prefix finalize@ctrl@draw@appto}%
+}
+
+\protected\def\yquant@draw@finalize@ctrl@multi@contiguous#1#2#3{%
+ \ifnum\yquant@draw@finalize@ctrl@multi@contiguous@warn=1 %
+ \PackageWarning{yquant.sty}{Ambiguous operation: multiple discontiguous multi-register operations in combination with controls make it hard to visually determine on which registers the gates act on.}%
+ % switch the warning off for this group (which is a single operation)
+ \yquant@config@operator@multi@warnfalse%
+ \def\yquant@draw@finalize@ctrl@multi@contiguous@warn{2}%
+ \else%
+ \numdef\yquant@draw@finalize@ctrl@multi@contiguous@warn{%
+ \yquant@draw@finalize@ctrl@multi@contiguous@warn+1%
}%
+ \fi%
+ {% save \body
+ \yquant@for \yquant@i := #1 to #2 {{% let inner loop mess up with macros
+ \csxappto{\yquant@prefix finalize@ctrl@draw@appto}{%
+ \expandafter\yquant@draw@callback@wire\expandafter{\yquant@i}%
+ }%
+ }}%
}%
- \dolistloop{#4}%
- \let\do=\yquant@draw@update@x@multi@@olddo%
}
% END_FOLD \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-env.tex b/graphics/pgf/contrib/yquant/tex/yquant-env.tex
index 9ba97f5915..16c3598af3 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-env.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-env.tex
@@ -49,7 +49,6 @@
\let\yquant=\yquant@env@scan%
\yquant@lang@reset@attrs%
\csgdef{\yquant@prefix registers}{0}%
-% \csgdef{\yquant@prefix lasty}{0pt}%
\global\cslet{\yquant@prefix draw}\relax%
\global\cslet{\yquant@prefix outputs}\relax%
\csxdef{\yquant@prefix cleanup}{%
@@ -61,7 +60,7 @@
\ifnum\yquant@env=1 %
\yquant@env@substikz%
\fi%
- \scope[{/yquant/.cd, every circuit, #1}]%
+ \scope[{/yquant/.cd, #1, /tikz/.cd, /yquant/every circuit}]%
}
\newif\ifyquantdebug
\protected\def\yquant@env@end{%
@@ -74,16 +73,13 @@
\def\noexpand\yquant@env@end@xpos{%
\the\dimexpr\yquant@env@end@xpos+\yquant@config@operator@sep\relax%
}%
+ \yquant@circuit@endwires{\yquant@env@end@registers}%
}
% also calculate the true y positions
\dimen0=0pt %
\dimen2=0pt %
\dimen4=\yquant@config@register@sep %
\yquant@for \i := 1 to \yquant@env@end@registers {%
- % add a final wire
- \csxappto{\yquant@prefix draw}{%
- \yquant@circuit@endwire{\i}%
- }%
% we do not care if the wire is present for the y position
\dimen2=.5\dimexpr\yquant@register@get@height\i\relax%
\advance\dimen0 by \dimen2\relax%
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-lang.tex b/graphics/pgf/contrib/yquant/tex/yquant-lang.tex
index b88503beb1..b250f78827 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-lang.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-lang.tex
@@ -68,25 +68,25 @@
}
\def\yquant@lang@create@parse@name#1[#2;{%
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
\yquant@lang@create@do#1[1][;%
- \else%
+ }{%
\yquant@lang@create@do#1[#2;%
- \fi%
+ }%
}
\protected\def\yquant@lang@create@do#1[#2]#3[;{%
% parse length
- \if\relax\detokenize{#3}\relax%
+ \ifstrempty{#3}{%
\yquant@langhelper@validate\len\count{#2}%
\ifnum\len<1 %
\PackageError{yquant.sty}{Invalid register length}%
{Valid register lengths are integers greater or equal to one.}%
\fi
- \else%
+ }{%
\PackageError{yquant.sty}{Invalid register name}%
{Register names must not contain `[' apart from register length indication.}%
- \fi%
+ }%
\edef\reg{\trim@spaces{#1}}%
% we allow for scattering, so check whether the register already exists
\ifcsname\yquant@prefix registerhigh@\reg\endcsname%
@@ -157,47 +157,25 @@
\protected\def\yquant@lang@create@draw#1#2#3#4#5{%
\begingroup%
\dimdef\wireypos{\yquant@register@get@y{#1}}%
- \if\relax\detokenize{#4}\relax%
+ \ifstrempty{#4}{%
% For empty labels, we still put the node at the appropriate position as it may needs to be referenced, but we will not let it effect the bounding box (so that the left end is not shifted), and we don't need an inner separation, so that the label is truely just a coordinate.
\path[overlay]
(#2, \wireypos)%
coordinate[name prefix=, name suffix=, name=yquantbox];
- \else%
+ }{%
\path
(#2, \wireypos)%
node[/yquant/every label, /yquant/every initial label,%
/yquant/every #3 label, name prefix=, name suffix=, name=yquantbox]%
{#4};%
- \fi%
+ }%
% set the wire style to have the correct \pgflinewidth available (we don't allow individual line widths for different types of wires)
\tikzset{/yquant/every wire}%
\pgfpointanchor{yquantbox}{east}%
- % Every label shape should implement the projection anchor, else we just guess the values, but this might be inaccurate for non-rectangular shapes
- \ifpgfpointshapexproj{yquantbox}%
- \@tempdima=\pgf@x%
- \pgfpointshapexproj{yquantbox}%
- {\pgfqpoint{\@tempdima}
- {\dimexpr\wireypos+2\pgflinewidth\relax}}%
- \edef\tmp{{(\the\pgf@x,\the\pgf@y)}}%
- % This projection should normally not be necessary, as the east anchor _should_ be accurate - but who knows?
- \pgfpointshapexproj{yquantbox}{\pgfqpoint{\@tempdima}{\wireypos}}%
- \edef\tmp{\tmp{(\the\pgf@x,\the\pgf@y)}}%
- \pgfpointshapexproj{yquantbox}
- {\pgfqpoint{\@tempdima}%
- {\dimexpr\wireypos-2\pgflinewidth\relax}}%
- \yquant@register@set@lastwire{#1}{\tmp{(\the\pgf@x,\the\pgf@y)}}%
- \else%
- % Just guess the values.
- \yquant@register@set@lastwire{#1}{%
- {(\the\pgf@x,\the\dimexpr\wireypos+2\pgflinewidth\relax)}%
- {(\the\pgf@x,\wireypos)}%
- {(\the\pgf@x,\the\dimexpr\wireypos-2\pgflinewidth\relax)}%
- }%
- \fi%
- \if\relax\detokenize{#5}\relax%
- \else%
+ \yquant@register@set@lastwire{#1}{{\the\pgf@x}{\the\pgf@x}{}{}}%
+ \ifstrempty{#5}\relax{%
\pgfnodealias{\tikz@pp@name{#5}}{yquantbox}%
- \fi%
+ }%
\endgroup%
}
% END_FOLD
@@ -289,21 +267,18 @@
% two-qubit controlled x (symmetric notation)
\yquant@langhelper@declare@command{xx}\yquant@lang@@xx
\yquant@langhelper@setup@attrs{xx}{}{}
-\def\yquant@lang@@xx#1#2#3{%
- \yquant@register@get@allowmultitrue%
- \yquant@circuit@operator{#1}{#2}{#3}%
- \ifyquant@circuit@operator@hasControls%
- \yquant@draw@{}{/yquant/operators/every xx, /yquant/operator/multi operator line=false}%
- \else%
- \yquant@draw@{}{/yquant/operators/every xx}%
- \fi%
+\def\yquant@lang@@xx{%
+ \yquant@register@get@multiassingle%
+ \yquant@draw%
+ {}%
+ {/yquant/operators/every xx}%
}
% two-qubit controlled phase (symmetric notation)
\yquant@langhelper@declare@command@uncontrolled{zz}\yquant@lang@@zz
\yquant@langhelper@setup@attrs{zz}{}{}
\def\yquant@lang@@zz{%
- \yquant@register@get@allowmultitrue%
+ \yquant@register@get@multiassingle%
\yquant@draw%
{}%
{/yquant/operators/every zz}%
@@ -333,14 +308,11 @@
% swap
\yquant@langhelper@declare@command{swap}\yquant@lang@@swap
\yquant@langhelper@setup@attrs{swap}{}{}
-\def\yquant@lang@@swap#1#2#3{%
- \yquant@register@get@allowmultitrue%
- \yquant@circuit@operator{#1}{#2}{#3}%
- \ifyquant@circuit@operator@hasControls%
- \yquant@draw@{}{/yquant/operators/every swap, /yquant/operator/multi operator line=false}%
- \else%
- \yquant@draw@{}{/yquant/operators/every swap}%
- \fi%
+\def\yquant@lang@@swap{%
+ \yquant@register@get@multiassingle%
+ \yquant@draw%
+ {}%
+ {/yquant/operators/every swap}%
}
% not
@@ -433,6 +405,18 @@
{}{}
}
+\yquant@langhelper@declare@command@uncontrolled{correlate}\yquant@lang@@correlate
+\yquant@langhelper@setup@attrs{correlate}{}{}
+\def\yquant@lang@@correlate{%
+ % do not call \yquant@register@get@multiassingle, we do not want to install a different multi line style!
+ \yquant@register@get@allowmultitrue%
+ \let\yquant@register@multi@splitparts=\yquant@register@multi@splitparts@sepall%
+ \yquant@draw%
+ {}%
+ {/yquant/operators/every wave}%
+ {}{}%
+}
+
\yquant@langhelper@declare@command@uncontrolled{align}\yquant@lang@@align
\yquant@langhelper@setup@attrs{align}{}{}
\def\yquant@lang@@align#1{%
@@ -452,14 +436,24 @@
\yquant@langhelper@setup@attrs{discard}{}{}
\def\yquant@lang@@discard#1{%
\yquant@register@get@ids{#1}%
- \yquant@circuit@settypes\yquant@register@get@ids@list\yquant@register@type@none%
+ \let\yquant@circuit@settype@to=\yquant@register@type@none%
+ \yquant@circuit@actonwires%
+ \yquant@circuit@settype%
+ \yquant@register@get@ids@list%
+ \yquant@register@type@none%
}
\yquant@langhelper@declare@command@uncontrolled{init}\yquant@lang@@init
\yquant@langhelper@setup@attrs{init}{value}{type}
-\def\yquant@lang@@init@multi@@extract#1#2#3#4#5{%
- #5%
+\protected\def\yquant@lang@@init@multi@@extract#1#2#3{%
+ \yquant@for \yquant@i := #1 to #2 {%
+ \edef\yquant@circuit@settype@to{\yquant@register@get@type\yquant@i}%
+ \unless\ifx\yquant@circuit@settype@to\yquant@register@type@none%
+ \expandafter\yquant@for@break%
+ \fi%
+ }%
}
+\long\def\@fifthoffive#1#2#3#4#5{#5}
\protected\def\yquant@lang@@init#1{%
\yquant@register@get@allowmultitrue%
\yquant@register@get@ids{#1}%
@@ -483,13 +477,9 @@
\let\yquant@circuit@settype@to=\yquant@register@type@none%
\def\do##1{%
\ifyquant@firsttoken\yquant@register@multi{##1}{%
- \def\@do####1{%
- \edef\yquant@circuit@settype@to{\yquant@register@get@type{####1}}%
- \unless\ifx\yquant@circuit@settype@to\yquant@register@type@none%
- \expandafter\listbreak%
- \fi%
- }%
- \forlistloop\@do{\yquant@lang@@init@multi@@extract##1}%
+ \let\yquant@register@multi@contiguous=\yquant@lang@@init@multi@@extract%
+ \@fifthoffive##1%
+ % we should reset multi@contiguous to the original command; but this is really just a placeholder. As long as it is \protected, everything is fine.
}{%
\edef\yquant@circuit@settype@to{\yquant@register@get@type{##1}}%
}%
@@ -518,6 +508,8 @@
% special case: if there were no operations at any affected wire before, we will replace the wire description
\ifdim\yquant@circuit@operator@x=\yquant@config@operator@sep\relax%
\def\yquant@circuit@operator@x{-.5\dimen2}%
+ \let\yquant@draw@finalize@ctrl@single=\yquant@draw@finalize@ctrl@singleinit%
+ \let\yquant@draw@finalize@ctrl@multi=\yquant@draw@finalize@ctrl@multiinit%
\expandafter\yquant@draw@%
\expandafter{\yquant@lang@attr@value}%
{/yquant/every label, /yquant/every initial label, /yquant/every \yquant@lang@attr@type\space label}%
@@ -536,9 +528,9 @@
\expandafter\yquant@circuit@output\expandafter{\yquant@register@get@ids@list}%
}
-\yquant@langhelper@declare@command@uncontrolled{setwire}\yquant@lang@@setwire
-\yquant@langhelper@setup@attrs{setwire}{value}{}
-\protected\def\yquant@lang@@setwire#1{%
+\yquant@langhelper@declare@command@uncontrolled{settype}\yquant@lang@@settype
+\yquant@langhelper@setup@attrs{settype}{value}{}
+\protected\def\yquant@lang@@settype#1{%
\yquant@register@get@ids{#1}%
\expandafter\ifstrequal\expandafter{\yquant@lang@attr@value}{qubit}%
{\let\yquant@circuit@settype@to=\yquant@register@type@q}%
@@ -554,6 +546,35 @@
}%
}%
}%
- \yquant@circuit@settypes\yquant@register@get@ids@list\yquant@circuit@settype@to%
+ \yquant@circuit@actonwires%
+ \yquant@circuit@settype%
+ \yquant@register@get@ids@list%
+ {}%
+}
+
+\def\yquant@lang@setwire{%
+ \PackageWarning{yquant.sty}{`setwire' gate is deprecated as of yquant 0.1.2. Use `settype' instead.}%
+ \yquant@lang@settype%
+}
+\yquant@langhelper@setup@attrs{setwire}{value}{}
+
+\yquant@langhelper@declare@command@uncontrolled{setstyle}\yquant@lang@@setstyle
+\yquant@langhelper@setup@attrs{setstyle}{value}{}
+\protected\def\yquant@lang@@setstyle#1{%
+ \yquant@register@get@ids{#1}%
+ \yquant@circuit@actonwires%
+ \yquant@circuit@setstyle%
+ \yquant@register@get@ids@list%
+ {{\yquant@lang@attr@value}}%
+}
+
+\yquant@langhelper@declare@command@uncontrolled{addstyle}\yquant@lang@@addstyle
+\yquant@langhelper@setup@attrs{addstyle}{value}{}
+\protected\def\yquant@lang@@addstyle#1{%
+ \yquant@register@get@ids{#1}%
+ \yquant@circuit@actonwires%
+ \yquant@circuit@addstyle%
+ \yquant@register@get@ids@list%
+ {{\yquant@lang@attr@value}}%
}
% END_FOLD \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-langhelper.tex b/graphics/pgf/contrib/yquant/tex/yquant-langhelper.tex
index f9a82d1c74..102a8959d9 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-langhelper.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-langhelper.tex
@@ -244,19 +244,19 @@
}
\def\yquant@langhelper@declare@command@@extract@nctrl#1~#2;{%
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
\yquant@langhelper@declare@command@@extract@pctrl#1|~~;%
- \else%
+ }{%
\yquant@langhelper@declare@command@@extract@pctrl#1|~#2;%
- \fi%
+ }%
}
\def\yquant@langhelper@declare@command@@extract@pctrl#1|#2~#3~;{%
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
\yquant@langhelper@declare@command@@exec#1||~#3;%
- \else%
+ }{%
\yquant@langhelper@declare@command@@exec#1|#2~#3;%
- \fi%
+ }%
}
\protected\def\yquant@langhelper@declare@command@@exec#1|#2|~#3;{%
@@ -301,7 +301,7 @@
% if the valid value was not user-delimited by \relax, #1 and #2 are empty
% if the valid value was user-delimited by \relax, #1 is empty and #2 is \relax
\let\ifvalid=\iffalse%
- \if\relax\detokenize{#1}\relax%
+ \ifstrempty{#1}{%
\def\tmp{#2}%
\ifx\empty\tmp%
\csletcs{ifvalid}{iftrue}%
@@ -310,6 +310,6 @@
\csletcs{ifvalid}{iftrue}%
\fi%
\fi%
- \fi%
+ }\relax%
% eat the rest (which should be empty anyway)
} \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-registers.tex b/graphics/pgf/contrib/yquant/tex/yquant-registers.tex
index 7f640fe499..18a23662d3 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-registers.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-registers.tex
@@ -17,7 +17,8 @@
{#1}% type
{#2}% x pos
{\yquant@config@register@minimum@height}% height; at the end, the y position
- {}% wire start positions
+ {{0pt}{0pt}{}{}}% wire start positions and clipping
+ {}% wire style
}%
\global\csletcs{\yquant@prefix registername@#3[#4]}{\yquant@prefix registers}%
\csxdef{\yquant@prefix registerhigh@\reg}{#4}%
@@ -63,34 +64,34 @@
}
\def\yquant@register@get@id@lazycreate@parse#1[#2;{%
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
\yquant@register@get@id@lazycreate@do#1[0][;%
- \else%
+ }{%
\yquant@register@get@id@lazycreate@do#1[#2;%
- \fi%
+ }%
}
\protected\def\yquant@register@get@id@lazycreate@do#1[#2]#3[;{%
- % parse length
- \if\relax\detokenize{#3}\relax%
- \yquant@langhelper@validate\len\count{#2}%
- \numdef\len{\len+1}%
- \else%
- \PackageError{yquant.sty}{Invalid register name}%
- {Register names must not contain `[' apart from register length indication.}%
- \fi%
- \edef\reg{\trim@spaces{#1}}%
- % Was this register already defined?
- \ifcsname\yquant@prefix registerhigh@\reg\endcsname%
- \numdef\idx{\csname\yquant@prefix registerhigh@\reg\endcsname+1}%
- \unless\ifnum\idx<\len\relax%
- \PackageError{yquant.sty}{Internal inconsistency detected}%
- {Tried to create a register on-the-fly that already existed.}%
- \fi%
- \else%
- \def\idx{0}%
- \fi%
\begingroup%
+ % parse length
+ \ifstrempty{#3}{%
+ \yquant@langhelper@validate\len\count{#2}%
+ \numdef\len{\len+1}%
+ }{%
+ \PackageError{yquant.sty}{Invalid register name}%
+ {Register names must not contain `[' apart from register length indication.}%
+ }%
+ \edef\reg{\trim@spaces{#1}}%
+ % Was this register already defined?
+ \ifcsname\yquant@prefix registerhigh@\reg\endcsname%
+ \numdef\idx{\csname\yquant@prefix registerhigh@\reg\endcsname+1}%
+ \unless\ifnum\idx<\len\relax%
+ \PackageError{yquant.sty}{Internal inconsistency detected}%
+ {Tried to create a register on-the-fly that already existed.}%
+ \fi%
+ \else%
+ \def\idx{0}%
+ \fi%
% pre-set y position
\yquant@for \idx := \idx to \numexpr \len -1\relax {%
\yquant@register@define%
@@ -129,6 +130,7 @@
\count4=0 % number of total registers
\ifblank{#1}{}{%
\let\ifinmulti=\iffalse%
+ \let\ifallowmain=\iffalse%
\let\do=\yquant@register@get@ids@outerlist%
\begingroup%
\catcode`[=\active%
@@ -169,9 +171,15 @@
\count0=2147483647 % minimal id
\count2=0 % maximal id
\count4=0 % number of total registers
+ \count6=-1 % index of main register
\let\ifinmulti=\iftrue%
+ \let\ifallowmain=\iftrue%
\let\do=\yquant@register@get@ids@multilist%
\docsvlist{#1}%
+ \ifnum\count6=-1 %
+ \count6=\count0 %
+ \fi%
+ \yquant@register@multi@splitparts%
\edef\process{%
\endgroup%
\noexpand\listadd\noexpand\yquant@register@get@ids@list{%
@@ -195,13 +203,13 @@
}
\def\yquant@register@get@ids@checkrange#1-#2\yquant@sep{%
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
% the string does not contain a dash
\yquant@register@get@ids@norange{#1}%
- \else%
+ }{%
% this is a range argument
\yquant@register@get@ids@range#1-#2\yquant@sep%
- \fi%
+ }%
}
\def\yquant@register@get@ids@norange#1{%
@@ -214,7 +222,30 @@
\protected\def\yquant@register@get@ids@norange@checkindex#1\yquant@register@get@ids@@index#2\yquant@sep{%
\edef\current{\trim@spaces{#1}}%
- \if\relax\detokenize{#2}\relax%
+ \ifallowmain%
+ \expandafter\ifyquant@firsttoken\expandafter*\expandafter{\current}{%
+ \edef\current{%
+ \expandafter\expandafter\expandafter\trim@spaces%
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@gobble\current%
+ }%
+ }%
+ % catch the minimal index
+ \edef\yquant@register@get@ids@norange@checkindex@setmain{%
+ \count6=\count2%
+ \ifnum\count0<\the\count0 %
+ \count0=\the\count0 %
+ \fi%
+ }%
+ \count0=2147483647 %
+ \csletcs{ifallowmain}{iffalse}%
+ }{
+ \let\yquant@register@get@ids@norange@checkindex@setmain=\relax%
+ }%
+ \else%
+ \let\yquant@register@get@ids@norange@checkindex@setmain=\relax%
+ \fi%
+ \ifstrempty{#2}{%
% the string does not contain a sub-index; we add the full register
\yquant@register@get@id\first{\current[0]}%
\letcs\high{\yquant@prefix registerhigh@\current}%
@@ -230,9 +261,10 @@
\yquant@register@get@id\idx{\current[\i]}%
\listeadd\yquant@register@get@ids@list{\idx}%
}%
- \else%
+ }{%
\yquant@register@get@ids@norange@index#2%
- \fi%
+ }%
+ \yquant@register@get@ids@norange@checkindex@setmain%
}
\protected\def\yquant@register@get@ids@norange@index#1\yquant@register@get@ids@@index{%
@@ -269,9 +301,15 @@
\count0=2147483647 % minimal id
\count2=0 % maximal id
\count4=0 % number of total registers
+ \count6=-1 % index of main register
\let\ifinmulti=\iftrue%
+ \let\ifallowmain=\iftrue%
\let\do=\yquant@register@get@ids@subindex@nomulti%
\docsvlist{#1}%
+ \ifnum\count6=-1 %
+ \count6=\count0 %
+ \fi%
+ \yquant@register@multi@splitparts%
\edef\process{%
\endgroup%
\noexpand\listadd\noexpand\yquant@register@get@ids@list{%
@@ -291,17 +329,29 @@
}
\def\yquant@register@get@ids@subindex@checkrange#1-#2\yquant@sep{%
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
% the string does not contain a dash, this is a single sub-item
- \yquant@register@get@ids@subindex@norange{\trim@spaces{#1}}%
- \else%
+ \edef\idx{\trim@spaces{#1}}%
+ \expandafter\yquant@register@get@ids@subindex@norange\expandafter{\idx}%
+ }{%
% this is a range argument
\yquant@register@get@ids@subindex@range#1-#2\yquant@sep%
- \fi%
+ }%
}
\protected\def\yquant@register@get@ids@subindex@norange#1{%
- \yquant@register@get@id\idx{\current[#1]}%
+ \ifallowmain%%
+ \ifyquant@firsttoken*{#1}{%
+ \edef\idx{\current[\expandafter\trim@spaces\expandafter{\@gobble#1}]}%
+ \expandafter\yquant@register@get@id\expandafter\idx\expandafter{\idx}%
+ \count6=\idx%
+ \csletcs{ifallowmain}{iffalse}%
+ }{
+ \yquant@register@get@id\idx{\current[#1]}%
+ }%
+ \else%
+ \yquant@register@get@id\idx{\current[#1]}%
+ \fi%
\ifnum\idx<\count0 %
\count0=\idx\relax%
\fi%
@@ -313,16 +363,55 @@
}
\protected\def\yquant@register@get@ids@subindex@range#1-#2-\yquant@sep{%
- \ifblank{#1}{%
- \def\first{0}%
- }{%
- \yquant@langhelper@validate\first\count{#1}%
- }%
- \ifblank{#2}{%
- \yquant@register@get@id@high\last\current%
- }{%
- \yquant@langhelper@validate\last\count{#2}%
- }%
+ \ifallowmain%
+ \ifyquant@firsttoken*{#1}{%
+ \expandafter\ifblank\expandafter{\@gobble#1}{%
+ \def\first{0}%
+ }{%
+ \expandafter\yquant@langhelper@validate\expandafter\first\expandafter\count\expandafter{\@gobble#1}%
+ }%
+ \yquant@register@get@id\idx{\current[\first]}%
+ \count6=\idx%
+ \csletcs{ifallowmain}{iffalse}%
+ }{%
+ \ifblank{#1}{%
+ \def\first{0}%
+ }{%
+ \yquant@langhelper@validate\first\count{#1}%
+ }%
+ }%
+ \else%
+ \ifblank{#1}{%
+ \def\first{0}%
+ }{%
+ \yquant@langhelper@validate\first\count{#1}%
+ }%
+ \fi%
+ \ifallowmain%
+ % in #1, all initial spaces are gobbled automatically, but not in #2
+ \expandafter\ifyquant@firsttoken\expandafter*\expandafter{\empty#2}{%
+ \expandafter\ifblank\expandafter{\@gobble#2}{%
+ \yquant@register@get@id@high\last\current%
+ }{%
+ \expandafter\yquant@langhelper@validate\expandafter\last\expandafter\count\expandafter{\@gobble#2}%
+ }%
+ \yquant@register@get@id\idx{\current[\last]}%
+ \count6=\idx%
+ \csletcs{ifallowmain}{iffalse}%
+ }{%
+ \ifblank{#2}{%
+ \yquant@register@get@id@high\last\current%
+ }{%
+ \yquant@langhelper@validate\last\count{#2}%
+ }%
+ }%
+ \else%
+ \ifblank{#2}{%
+ \yquant@register@get@id@high\last\current%
+ }{%
+ \yquant@langhelper@validate\last\count{#2}%
+ }%
+ \fi%
\yquant@for \i := \first to \last {%
\yquant@register@get@ids@subindex@norange\i%
}%
@@ -330,14 +419,33 @@
\protected\def\yquant@register@get@ids@range#1-#2-\yquant@sep{%
% being a range between two registers, those must be uniquely identifiable, i.e. either a single sub-indexed part of a vector register, or no vector specification at all.
- \ifblank{#1}{%
- \def\first{1}%
- }{%
- \yquant@register@get@ids@range@getfirst#1\yquant@register@get@ids@@index\yquant@sep%
- }%
+ \ifallowmain%
+ \ifyquant@firsttoken*{#1}{%
+ \expandafter\ifblank\expandafter{\@gobble#1}{%
+ \def\first{1}%
+ }{%
+ \expandafter\yquant@register@get@ids@range@getfirst\@gobble#1\yquant@register@get@ids@@index\yquant@sep%
+ }%
+ \count6=\first%
+ \csletcs{ifallowmain}{iffalse}%
+ }{%
+ \ifblank{#1}{%
+ \def\first{1}%
+ }{%
+ \yquant@register@get@ids@range@getfirst#1\yquant@register@get@ids@@index\yquant@sep%
+ }%
+ }%
+ \else%
+ \ifblank{#1}{%
+ \def\first{1}%
+ }{%
+ \yquant@register@get@ids@range@getfirst#1\yquant@register@get@ids@@index\yquant@sep%
+ }%
+ \fi%
+ % it does not make sense to allow to set the main part on the second half of the range, since a range over registers (not indices) is automatically visual, so this range will be contiguous.
\ifblank{#2}{%
\letcs\last{\yquant@prefix registers}%
- }{%%
+ }{%
\yquant@register@get@ids@range@getlast#2\yquant@register@get@ids@@index\yquant@sep%
}%
\ifnum\first<\last\relax%
@@ -363,20 +471,20 @@
}
\def\yquant@register@get@ids@range@getfirst#1\yquant@register@get@ids@@index#2\yquant@sep{%
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
\yquant@register@get@id\first{\trim@spaces{#1}[0]}%
- \else%
+ }{%
\yquant@register@get@ids@range@get\first#1\yquant@register@get@ids@@index#2%
- \fi%
+ }%
}
\protected\def\yquant@register@get@ids@range@getlast#1\yquant@register@get@ids@@index#2\yquant@sep{%
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
\yquant@register@get@id@high\last{\trim@spaces{#1}}%
\yquant@register@get@id\last{\trim@spaces{#1}[\last]}%
- \else%
+ }{%
\yquant@register@get@ids@range@get\last#1\yquant@register@get@ids@@index#2%
- \fi%
+ }%
}
\def\yquant@register@get@ids@range@get#1#2\yquant@register@get@ids@@index#3\yquant@register@get@ids@@index{%
@@ -384,6 +492,94 @@
}
\let\yquant@register@multi=\empty%
+\protected\def\yquant@register@multi@contiguous{}%
+
+% splits \yquant@register@get@ids@list into a list of contiguous parts
+\protected\def\yquant@register@multi@splitparts{%
+ \begingroup%
+ \let\registers=\yquant@register@get@ids@list%
+ \yquant@sort@list\registers\yquant@sort@ascending%
+ \let\newlist=\empty%
+ \count2=-1 %
+ \def\do##1{%
+ \ifnum\count2=-1 %
+ \count2=##1 %
+ \count4=\count2 %
+ \else%
+ \advance\count2 by 1 %
+ \ifnum##1>\count2 %
+ % this is a discontiguous change (we disallow duplicate entries)
+ \eappto\newlist{%
+ \yquant@register@multi@contiguous%
+ {\the\count4}{\the\numexpr\count2-1\relax}%
+ {\ifnum\count6<\count2 %
+ \ifnum\count4>\count6 %
+ 0%
+ \else%
+ 1%
+ \fi%
+ \else%
+ 0%
+ \fi}%
+ }%
+ \count2=##1 %
+ \count4=\count2 %
+ \fi%
+ \fi%
+ }%
+ \dolistloop\registers%
+ % we disallow empty lists
+ \eappto\newlist{%
+ \yquant@register@multi@contiguous%
+ {\the\count4}{\the\count2}%
+ {\ifnum\count6>\count2 %
+ 0%
+ \else%
+ \ifnum\count4>\count6 %
+ 0%
+ \else%
+ 1%
+ \fi%
+ \fi}%
+ }%
+ \expandafter%
+ \endgroup%
+ \expandafter\def\expandafter\yquant@register@get@ids@list\expandafter{%
+ \newlist%
+ }%
+}
+
+% splits \yquant@register@get@ids@list into a list of discontiguous parts
+\protected\def\yquant@register@multi@splitparts@sepall{%
+ \begingroup%
+ \let\registers=\yquant@register@get@ids@list%
+ \yquant@sort@list\registers\yquant@sort@ascending%
+ \let\newlist=\empty%
+ \def\do##1{%
+ \eappto\newlist{%
+ \yquant@register@multi@contiguous%
+ {##1}{##1}%
+ {\ifnum##1=\count6 %
+ 1%
+ \else%
+ 0%
+ \fi%
+ }%
+ }%
+ }%
+ \dolistloop\registers%
+ \expandafter%
+ \endgroup%
+ \expandafter\def\expandafter\yquant@register@get@ids@list\expandafter{%
+ \newlist%
+ }%
+}
+
+\protected\def\yquant@register@get@multiassingle{%
+ \yquant@register@get@allowmultitrue%
+ \let\yquant@register@multi@splitparts=\yquant@register@multi@splitparts@sepall%
+ \preto\yquant@attrs@remaining{/yquant/operator/multi as single,}%
+}
% END_FOLD
% BEGIN_FOLD Getters: extract the requested information from the register with given id
@@ -392,21 +588,21 @@
\yquant@register@get@type@aux\csname\yquant@prefix register@#1\endcsname%
}
-\def\yquant@register@get@type@aux#1#2#3#4{#1}
+\def\yquant@register@get@type@aux#1#2#3#4#5{#1}
\def\yquant@register@get@x#1{%
\expandafter\expandafter\expandafter%
\yquant@register@get@x@aux\csname\yquant@prefix register@#1\endcsname%
}
-\def\yquant@register@get@x@aux#1#2#3#4{#2}
+\def\yquant@register@get@x@aux#1#2#3#4#5{#2}
\def\yquant@register@get@height#1{%
\expandafter\expandafter\expandafter%
\yquant@register@get@height@aux\csname\yquant@prefix register@#1\endcsname%
}
-\def\yquant@register@get@height@aux#1#2#3#4{#3}
+\def\yquant@register@get@height@aux#1#2#3#4#5{#3}
% The y parameter get macros exist in two forms: The protected one is used during the storage to the draw macro; it should never be executed. The env environment then maps them to their proper expandable forms.
\protected\def\yquant@register@get@@protected{%
@@ -443,7 +639,27 @@
\yquant@register@get@lastwire@aux\csname\yquant@prefix register@#1\endcsname%
}
-\def\yquant@register@get@lastwire@aux#1#2#3#4{#4}
+\protected\def\yquant@register@get@lastwire@aux#1#2#3#4#5#6{%
+ \def#6{#4}%
+}
+
+\def\yquant@register@get@style#1{%
+ \expandafter\expandafter\expandafter%
+ \yquant@register@get@style@aux\csname\yquant@prefix register@#1\endcsname%
+}
+
+\def\yquant@register@get@style@aux#1#2#3#4#5{#5}
+
+\def\yquant@register@get@typeywire#1{%
+ \expandafter\expandafter\expandafter%
+ \yquant@register@get@typeywire@aux\csname\yquant@prefix register@#1\endcsname%
+}
+
+\protected\def\yquant@register@get@typeywire@aux#1#2#3#4#5#6#7#8{%
+ \def#6{#1}%
+ \def#7{#3}%
+ \def#8{#4}%
+}%
% Set #1 to the maximum x value found between #2 and #3
\protected\def\yquant@register@get@maxxrange#1#2#3{%
@@ -487,8 +703,8 @@
\csname\yquant@prefix register@#1\endcsname\yquant@register@set@type@aux%
}
-\long\def\yquant@register@set@type@aux#1#2#3#4#5{%
- {#5}{#2}{#3}{#4}%
+\long\def\yquant@register@set@type@aux#1#2#3#4#5#6{%
+ {#6}\unexpanded{{#2}{#3}{#4}{#5}}%
}
\protected\def\yquant@register@set@x#1{%
@@ -496,8 +712,8 @@
\csname\yquant@prefix register@#1\endcsname\yquant@register@set@x@aux%
}
-\long\def\yquant@register@set@x@aux#1#2#3#4#5{%
- {#1}{#5}{#3}{#4}%
+\long\def\yquant@register@set@x@aux#1#2#3#4#5#6{%
+ \unexpanded{{#1}}{#6}\unexpanded{{#3}{#4}{#5}}%
}
\protected\def\yquant@register@update@height#1#2{%
@@ -513,12 +729,8 @@
}
% Set the currently used register
-\protected\def\yquant@register@use#1{%
- \edef\yquant@register@y{\yquant@register@get@y{#1}}%
-}
-
-\long\def\yquant@register@set@height@aux#1#2#3#4#5{%
- {#1}{#2}{#5}{#4}%
+\long\def\yquant@register@set@height@aux#1#2#3#4#5#6{%
+ \unexpanded{{#1}{#2}}{#6}\unexpanded{{#4}{#5}}%
}
\protected\def\yquant@register@set@lastwire#1{%
@@ -526,7 +738,16 @@
\csname\yquant@prefix register@#1\endcsname\yquant@register@set@lastwire@aux%
}
-\long\def\yquant@register@set@lastwire@aux#1#2#3#4#5{%
- {#1}{#2}{#3}{#5}%
+\long\def\yquant@register@set@lastwire@aux#1#2#3#4#5#6{%
+ \unexpanded{{#1}{#2}{#3}}{#6}\unexpanded{{#5}}%
+}
+
+\protected\def\yquant@register@set@style#1{%
+ \expandafter\yquant@register@set@@aux%
+ \csname\yquant@prefix register@#1\endcsname\yquant@register@set@style@aux%
+}
+
+\long\def\yquant@register@set@style@aux#1#2#3#4#5#6{%
+ \unexpanded{{#1}{#2}{#3}{#4}}{#6}%
}
% END_FOLD \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-shapes.tex b/graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
index 0f88ed6345..3a03985ca5 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-shapes.tex
@@ -1,97 +1,63 @@
-% To draw the wires, we need to determine border angles. However, pgf's approach for this (giving the border point that lies on a line from the center to a desired probe point) is not suitable for this. Instead, we need to give a point that is projected perpendicularly onto the shape.
-\def\pgf@sh@anchorxproj#1{%
- \csgdef{pgf@anchor@\pgf@sm@shape@name @xproj}##1{\pgf@process{##1}#1}%
-}%
-\def\pgf@sh@inheritanchorxproj[from=#1]{%
- \global\csletcs{pgf@anchor@\pgf@sm@shape@name @xproj}{pgf@anchor@#1@xproj}%
-}%
-\def\pgf@sh@anchoryproj#1{%
- \csgdef{pgf@anchor@\pgf@sm@shape@name @yproj}##1{\pgf@process{##1}#1}%
-}%
-\def\pgf@sh@inheritanchoryproj[from=#1]{%
- \global\csletcs{pgf@anchor@\pgf@sm@shape@name @yproj}{pgf@anchor@#1@yproj}%
-}%
+\long\def\pgf@sh@clippathhorz#1{%
+ \csgdef{pgf@sh@cliphorz@\pgf@sm@shape@name}{#1}%
+}
+\let\pgf@sh@clippath=\pgf@sh@clippathhorz%
+\long\def\pgf@sh@clippathvert#1{%
+ \csgdef{pgf@sh@clipvert@\pgf@sm@shape@name}{#1}%
+}
+\def\pgf@sh@inheritclippath[from=#1]{%
+ \global\csletcs{pgf@sh@cliphorz@\pgf@sm@shape@name}{pgf@sh@cliphorz@#1}%
+ \global\csletcs{pgf@sh@clipvert@\pgf@sm@shape@name}{pgf@sh@clipvert@#1}%
+}
\patchcmd%
\pgfdeclareshape%
{\let\anchorborder=\pgf@sh@anchorborder}%
{\let\anchorborder=\pgf@sh@anchorborder%
- \let\anchorxproj=\pgf@sh@anchorxproj%
- \let\inheritanchorxproj=\pgf@sh@inheritanchorxproj
- \let\anchoryproj=\pgf@sh@anchoryproj%
- \let\inheritanchoryproj=\pgf@sh@inheritanchoryproj}%
+ \let\clippathhorz=\pgf@sh@clippathhorz%
+ \let\clippathvert=\pgf@sh@clippathvert%
+ \let\clippath=\pgf@sh@clippath%
+ \let\inheritclippath=\pgf@sh@inheritclippath}%
{}%
{\PackageError{yquant.sty}%
{Failed to patch \string\pgfdeclareshape}%
{yquant could not provide a necessary extension to pgf.}}%
-% This is mostly a copy of \pgfpointshapeborder, but we do not perform the center-anchor shift.
-\def\pgfpointshapexproj#1#2{%
+% Every shape additionally provides information about how it should clip the wires. The clipping softpath instructions of shape #1 are stored into \pgfshapeclippathresult. The path is drawn with the tikz options #2 in place.
+\protected\def\pgfshapeclippath#1#2{%
% Ok, check whether #1 is known!
\ifcsname pgf@sh@ns@#1\endcsname%
- \pgf@process{%
+ \begin{pgfinterruptpath}%
\edef\pgfreferencednodename{#1}% for use inside of anchors.
+ % install the given style and extract whether we draw a line.
+ \let\tikz@mode=\pgfutil@empty%
+ \tikzset{every path/.try,#2}%
+ \edef\oldpgflinewidth{\the\pgflinewidth}%
+ \tikz@mode@drawfalse%
+ \tikz@mode%
+ \unless\iftikz@mode@draw%
+ \pgflinewidth=0pt %
+ \fi%
% MW install special macros
\csname pgf@sh@ma@#1\endcsname% MW
% install special coordinates
\csname pgf@sh@np@#1\endcsname%
- \pgf@process{%
- \pgf@process{\pgfpointtransformed{#2}}%
- \pgfsettransform{\csname pgf@sh@nt@#1\endcsname}%
- \pgftransforminvert%
- \pgf@pos@transform@glob%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- \csname pgf@anchor@\csname pgf@sh@ns@#1\endcsname @xproj\endcsname{\pgfqpoint{\pgf@xa}{\pgf@ya}}%
- \pgfsettransform{\csname pgf@sh@nt@#1\endcsname}%
- \pgf@pos@transform@glob%
- }%
- % Add inter picture transformation
- \pgf@shape@interpictureshift{#1}%
- % Undo current transformation
- \pgftransforminvert%
- \pgf@pos@transform@glob%
- }%
+ \pgfsettransform{\csname pgf@sh@nt@#1\endcsname}%
+ \csname pgf@sh@cliphorz@\csname pgf@sh@ns@#1\endcsname\endcsname%
+ \pgfsyssoftpath@getcurrentpath\pgfshapeclippathresult%
+ \pgfprocessround{\pgfshapeclippathresult}{\pgfshapeclippathresult}%
+ \global\let\pgfshapeclippathhorzresult=\pgfshapeclippathresult%
+ \ifcsname pgf@sh@clipvert@\csname pgf@sh@ns@#1\endcsname\endcsname%
+ % different clipping in vertical direction
+ \pgfsyssoftpath@setcurrentpath\pgfutil@empty%
+ \csname pgf@sh@clipvert@\csname pgf@sh@ns@#1\endcsname\endcsname%
+ \pgfsyssoftpath@getcurrentpath\pgfshapeclippathresult%
+ \pgfprocessround{\pgfshapeclippathresult}{\pgfshapeclippathresult}%
+ \fi%
+ \global\let\pgfshapeclippathvertresult=\pgfshapeclippathresult%
+ \end{pgfinterruptpath}%
\else%
\pgferror{No shape named #1 is known}%
\pgfpointorigin%
\fi%
-}%
-\def\ifpgfpointshapexproj#1{%
- \pgfutil@ifundefined{pgf@sh@ns@#1}%
- {\pgferror{No shape named #1 is known}}%
- {\ifcsname pgf@anchor@\csname pgf@sh@ns@#1\endcsname @xproj\endcsname}%
-}
-\let\pgfpointshapeyproj=\pgfpointshapexproj%
-\patchcmd%
- \pgfpointshapeyproj%
- {xproj}{yproj}%
- {}{\PackageError{yquant.sty}{Failed to provide \string\pgfpointshapeyproj}{}}%
-\def\ifpgfpointshapeyproj#1{%
- \pgfutil@ifundefined{pgf@sh@ns@#1}%
- {\pgferror{No shape named #1 is known}}%
- {\ifcsname pgf@anchor@\csname pgf@sh@ns@#1\endcsname @yproj\endcsname}%
-}
-
-% Calculate the intersection of an ellipse centered at the origin with radii #1 and #2 with a horizontal line at position #3. Result goes to \pgf@xa, and it is the right intersection point.
-\protected\def\yquant@shape@ellipse@xfromy#1#2#3{%
- \ifdim#3>#2\relax%
- \global\pgf@xa=0pt %
- \else%
- \ifdim-\dimexpr#3\relax>#2\relax%
- \global\pgf@xa=0pt %
- \else%
- \begingroup%
- % Here, we essentially do #1*sqrt(1-(#3/#2)^2)
- \dimen2=#2\relax%
- \dimen3=#3\relax%
- % if we divide by a dimension, it is internally converted to sp, so we divide by its pt-value and again by 65536. Same for multiplication. etex fuses muldiv to 64bit, so we don't get overflows.
- % calculate the sqrt; but \pgfmathsqrt@ expects a real number without dimension suffix. It internally does \expandafter\pgfmath@x#1pt\relax, so just gobble the additional pt.
- % TODO: is there a better way, exploiting perhaps a representation in sp?
- \pgfmathsqrt@{\the\dimexpr1pt-\dimen3*\dimen3/\dimen2*65536/\dimen2\relax%
- \@gobbletwo}%
- \global\pgf@xa=\pgfmathresult\dimexpr#1\relax%
- \endgroup%
- \fi%
- \fi%
}
\pgfdeclareshape{yquant-text}{%
@@ -99,39 +65,28 @@
\foreach \anc in {center, mid, base, north, south, west, mid west, base west, north west, south west, east, mid east, base east, north east, south east} {%
\inheritanchor[from=rectangle]{\anc}%
}%
- \global\cslet{pgf@anchor@yquant-text@circuit}\pgf@anchor@rectangle@center%
\inheritanchorborder[from=rectangle]%
\inheritbackgroundpath[from=rectangle]%
- \anchorxproj{%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- % The origin is at the left baseline of the text, i.e. to the left we have the inner + outer xsep, the the right there's the text + inner + outer xsep.
- \northeast%
- \pgf@xb=.5\pgf@x%
- \southwest%
- \advance \pgf@xb by .5\pgf@x%
- \ifdim\pgf@xa>\pgf@xb%
- % to the right
- \northeast%
- % else we already called \southwest
- \fi%
- \pgf@y=\pgf@ya%
- }%
- \anchoryproj{%
- \pgf@xa=\pgf@x%
- \pgf@ya=\pgf@y%
- % The origin is at the left baseline of the text, i.e. to the top we have the text height + inner + outer ysep, the the bottom there's the text depth + inner + outer ysep.
- \northeast%
- \pgf@yb=.5\pgf@y%
- \southwest%
- \advance \pgf@yb by .5\pgf@y%
- \ifdim\pgf@ya>\pgf@yb%
- % to the top
- \northeast%
- % else we already called \southwest
- \fi%
- \pgf@x=\pgf@xa%
- }
+ \clippath{%
+ % all pgf temporaries may be overwritten by \pgfpathrectanglecorners
+ \begingroup%
+ % the outer sep may depend on the line width (though there may not be any line)
+ \pgflinewidth=\oldpgflinewidth%
+ \global\@tempdima=\pgfkeysvalueof{/pgf/outer xsep} %
+ \global\@tempdimb=\pgfkeysvalueof{/pgf/outer ysep} %
+ \endgroup%
+ \advance\@tempdima by -.5\pgflinewidth%
+ \advance\@tempdimb by -.5\pgflinewidth%
+ \pgfpathrectanglecorners%
+ {\southwest%
+ \advance\pgf@x by \@tempdima%
+ \advance\pgf@y by \@tempdimb%
+ }
+ {\northeast%
+ \advance\pgf@x by -\@tempdima%
+ \advance\pgf@y by -\@tempdimb%
+ }%
+ }%
}
\pgfdeclareshape{yquant-rectangle}{%
@@ -198,28 +153,6 @@
\pgfpointborderrectangle{\pgfqpoint{\@tempdima}{\@tempdimb}}%
{\pgfqpoint{\xradius}{\yradius}}%
}%
- \anchorxproj{%
- \ifdim\pgf@x>0pt %
- % to the right
- \pgf@x=\xradius\relax%
- \else%
- % to the left
- \pgf@x=-\xradius\relax%
- \fi%
- }%
- \anchoryproj{%
- \ifdim\pgf@y>0pt %
- % to the top
- \pgf@y=\yradius\relax%
- \else%
- % to the bottom
- \pgf@y=-\yradius\relax%
- \fi%
- }%
- % END_FOLD
- % BEGIN_FOLD Circuit-related anchors
- \global\csletcs{pgf@anchor@yquant-rectangle@circuit}%
- {pgf@anchor@yquant-rectangle@center}%
% END_FOLD
% BEGIN_FOLD Path
\backgroundpath{%
@@ -227,12 +160,19 @@
{\pgfqpoint{-\xradius}{\yradius}}%
{\pgfqpoint{\xradius}{-\yradius}}%
}%
+ \clippath{%
+ \pgfpathrectanglecorners%
+ {\pgfqpoint{-\dimexpr\xradius+.5\pgflinewidth\relax}%
+ {\dimexpr\yradius+.5\pgflinewidth\relax}}%
+ {\pgfqpoint{\dimexpr\xradius+.5\pgflinewidth\relax}%
+ {-\dimexpr\yradius+.5\pgflinewidth\relax}}%
+ }%
% END_FOLD
}
\pgfdeclareshape{yquant-circle}{%
\inheritsavedanchors[from=yquant-rectangle]%
- \foreach \anc in {center, north, east, south, west, circuit, text} {%
+ \foreach \anc in {center, north, east, south, west, text} {%
\inheritanchor[from=yquant-rectangle]{\anc}%
}%
\anchor{north east}%
@@ -254,123 +194,26 @@
{\pgfqpoint{.707107\dimexpr\xradius\relax}%
{.707107\dimexpr\yradius\relax}}%
}%
- \anchorxproj{%
- \yquant@shape@ellipse@xfromy\xradius\yradius\pgf@y%
- \ifdim\pgf@x>0pt %
- % to the right
- \pgf@x=\pgf@xa%
- \else%
- % to the left
- \pgf@x=-\pgf@xa%
- \fi%
- }%
- \anchoryproj{%
- \yquant@shape@ellipse@xfromy\yradius\xradius\pgf@x%
- \ifdim\pgf@y>0pt %
- % to the top
- \pgf@y=\pgf@xa%
- \else%
- % to the bottom
- \pgf@y=-\pgf@xa%
- \fi%
- }%
- \foregroundpath{%
+ \backgroundpath{%
\pgfpathellipse{\pgfpointorigin}%
{\pgfqpoint{\xradius}{0pt}}%
{\pgfqpoint{0pt}{\yradius}}%
}%
+ \clippath{%
+ \pgfpathellipse{\pgfpointorigin}%
+ {\pgfqpoint{\dimexpr\xradius+.5\pgflinewidth}{0pt}}%
+ {\pgfqpoint{0pt}{\dimexpr\yradius+.5\pgflinewidth}}%
+ }%
}
-\pgfdeclareshape{yquant-zz}{%
- % Here, the radii have a special meaning, we don't put text into the shape
+\pgfdeclareshape{yquant-slash}{%
\saveddimen\xradius{%
\pgfmathsetlength\pgf@x{\pgfkeysvalueof{/tikz/x radius}}%
}%
\saveddimen\yradius{%
\pgfmathsetlength\pgf@x{\pgfkeysvalueof{/tikz/y radius}}%
}%
- \foreach \anc in {center, north, east, south, west, circuit} {%
- \inheritanchor[from=yquant-circle]{\anc}%
- }%
- \anchor{north east}%
- {\pgfqpoint{.707107\dimexpr\xradius\relax}%
- {\dimexpr\yradius-.292893\dimexpr\xradius\relax\relax}}%
- \anchor{south east}%
- {\pgfqpoint{.707107\dimexpr\xradius\relax}%
- {\dimexpr-\yradius+.292893\dimexpr\xradius\relax\relax}}%
- \anchor{south west}%
- {\pgfqpoint{-.707107\dimexpr\xradius\relax}%
- {\dimexpr-\yradius+.292893\dimexpr\xradius\relax\relax}}%
- \anchor{north west}%
- {\pgfqpoint{-.707107\dimexpr\xradius\relax}%
- {\dimexpr\yradius-.292893\dimexpr\xradius\relax\relax}}%
- % TODO: this is not really the correct border anchor
- \inheritanchorborder[from=yquant-rectangle]%
- \anchorxproj{%
- \ifdim\pgf@y<0pt %
- \pgf@ya=\dimexpr\pgf@y+\yradius-\xradius\relax%
- \else%
- \pgf@ya=\dimexpr\pgf@y-\yradius+\xradius\relax%
- \fi%
- \yquant@shape@ellipse@xfromy\xradius\xradius\pgf@ya%
- \ifdim\pgf@x>0pt %
- % to the right
- \pgf@x=\pgf@xa%
- \else%
- % to the left
- \pgf@x=-\pgf@xa%
- \fi%
- }%
- \anchoryproj{%
- \yquant@shape@ellipse@xfromy\xradius\xradius\pgf@xa%
- \ifdim\pgf@y>0pt %
- % to the top
- \pgf@y=\dimexpr\yradius-\xradius+\pgf@xa\relax%
- \else%
- % to the bottom
- \pgf@y=-\dimexpr\yradius-\xradius+\pgf@xa\relax%
- \fi%
- }%
- \backgroundpath{%
- \pgfpathmoveto{\pgfqpoint{0pt}{\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
- \pgfpathlineto{\pgfqpoint{0pt}{-\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
- \pgfpathcircle{\pgfqpoint{0pt}{\dimexpr\yradius-\xradius\relax}}%
- {\xradius}%
- \pgfpathcircle{\pgfqpoint{0pt}{\dimexpr\xradius-\yradius\relax}}%
- {\xradius}%
- }%
-}
-
-\pgfdeclareshape{yquant-xx}{%
- \inheritsavedanchors[from=yquant-zz]%
- \savedmacro\ifconnector{%
- \let\ifconnector=\ifyquant@config@multi@line%
- }%
- \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west, circuit} {%
- \inheritanchor[from=yquant-rectangle]{\anc}%
- }%
- % TODO: this is not really the correct border anchor
- \inheritanchorborder[from=yquant-rectangle]%
- \inheritanchorxproj[from=yquant-rectangle]%
- \inheritanchoryproj[from=yquant-rectangle]%
- % Draw the operator itself
- \backgroundpath{%
- \ifconnector%
- \pgfpathmoveto{\pgfqpoint{0pt}{\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
- \pgfpathlineto{\pgfqpoint{0pt}{-\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
- \fi%
- \pgfpathrectanglecorners%
- {\pgfqpoint{-\xradius}{\dimexpr\yradius\relax}}%
- {\pgfqpoint{\xradius}{\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
- \pgfpathrectanglecorners%
- {\pgfqpoint{-\xradius}{-\yradius}}%
- {\pgfqpoint{\xradius}{-\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
- }%
-}
-
-\pgfdeclareshape{yquant-slash}{%
- \inheritsavedanchors[from=yquant-zz]%
- \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west, circuit} {%
+ \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west} {%
\inheritanchor[from=yquant-rectangle]{\anc}%
}%
\inheritanchorborder[from=yquant-rectangle]%
@@ -378,46 +221,148 @@
\pgfpathmoveto{\pgfqpoint{\xradius}{\yradius}}%
\pgfpathlineto{\pgfqpoint{-\xradius}{-\yradius}}%
}%
+ \clippath{%
+ % we need to clip to the line; but this is not possible, we can only clip to the inner of a path. For this reason, calculate the rectangle that represents the line.
+ % TODO: for round line endings, this is not a rectangle. Only a problem if the yradius is so short that the slash ends within a wire.
+ \ifcsname yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth\endcsname%
+ \letcs\tmp{yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth}%
+ \dimen2=\expandafter\@firstoftwo\tmp%
+ \dimen4=\expandafter\@secondoftwo\tmp%
+ \else%
+ % cos(arctan(x)) = 1/sqrt(1+x^2)
+ % sin(arctan(x)) = x/sqrt(1+x^2)
+ \dimen2=\xradius %
+ \dimen4=\yradius %
+ % if we divide by a dimension, it is internally converted to sp, so we divide by its pt-value and again by 65536. Same for multiplication. etex fuses muldiv to 64bit, so we don't get overflows.
+ \dimen0=\dimexpr\dimen4*\dimen4/\dimen2*65536/\dimen2\relax%
+ % calculate the sqrt; but \pgfmathsqrt@ expects a real number without dimension suffix. It internally does \expandafter\pgfmath@x#1pt\relax, so just gobble the additional pt.
+ \pgfmathsqrt@{\the\dimexpr1pt+\dimen0\relax\@gobbletwo}%
+ \pgfmathreciprocal@\pgfmathresult%
+ \dimen2=\dimexpr.5\pgflinewidth*\dimexpr\pgfmathresult pt\relax/65536\relax%
+ \dimen4=\dimexpr\dimexpr\yradius\relax*\dimen2/\dimexpr\xradius\relax\relax%
+ \csxdef{yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth}%
+ {{\the\dimen2}{\the\dimen4}}%
+ \fi%
+ \pgfpathmoveto{\pgfqpoint{-\dimexpr\xradius+\dimen4\relax}%
+ {-\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius-\dimen4\relax}%
+ {\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius+\dimen4\relax}%
+ {\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{-\dimexpr\xradius-\dimen4\relax}%
+ {-\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathclose%
+ }%
}
\pgfdeclareshape{yquant-swap}{%
- \inheritsavedanchors[from=yquant-xx]%
- \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west, circuit} {%
+ \inheritsavedanchors[from=yquant-slash]%
+ \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west} {%
\inheritanchor[from=yquant-rectangle]{\anc}%
}%
\inheritanchorborder[from=yquant-rectangle]%
- \inheritanchoryproj[from=yquant-rectangle]%
\backgroundpath{%
- % Connector
- \ifconnector%
- \pgfpathmoveto{\pgfqpoint{0pt}{\dimexpr\yradius-\xradius\relax}}%
- \pgfpathlineto{\pgfqpoint{0pt}{-\dimexpr\yradius-\xradius\relax}}%
- \fi%
- % Upper cross
\pgfpathmoveto{\pgfqpoint{-\xradius}{\yradius}}%
- \pgfpathlineto{\pgfqpoint{\xradius}%
- {\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
- \pgfpathmoveto{\pgfqpoint{\xradius}{\yradius}}%
- \pgfpathlineto{\pgfqpoint{-\xradius}
- {\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
- % Lower cross
- \pgfpathmoveto{\pgfqpoint{-\xradius}%
- {-\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
\pgfpathlineto{\pgfqpoint{\xradius}{-\yradius}}%
- \pgfpathmoveto{\pgfqpoint{\xradius}%
- {-\dimexpr\yradius-2\dimexpr\xradius\relax\relax}}%
+ \pgfpathmoveto{\pgfqpoint{\xradius}{\yradius}}%
\pgfpathlineto{\pgfqpoint{-\xradius}{-\yradius}}%
}%
+ \clippathhorz{%
+ % we need to clip to the line; but this is not possible, we can only clip to the inner of a path. For this reason, calculate the rectangle that represents the line.
+ % TODO: for round line endings, this is not a rectangle. Only a problem if the yradius is so short that the slash ends within a wire.
+ \ifcsname yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth\endcsname%
+ \letcs\tmp{yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth}%
+ \dimen2=\expandafter\@firstoftwo\tmp%
+ \dimen4=\expandafter\@secondoftwo\tmp%
+ \else%
+ % cos(arctan(x)) = 1/sqrt(1+x^2)
+ % sin(arctan(x)) = x/sqrt(1+x^2)
+ \dimen2=\xradius %
+ \dimen4=\yradius %
+ % if we divide by a dimension, it is internally converted to sp, so we divide by its pt-value and again by 65536. Same for multiplication. etex fuses muldiv to 64bit, so we don't get overflows.
+ \dimen0=\dimexpr\dimen4*\dimen4/\dimen2*65536/\dimen2\relax%
+ % calculate the sqrt; but \pgfmathsqrt@ expects a real number without dimension suffix. It internally does \expandafter\pgfmath@x#1pt\relax, so just gobble the additional pt.
+ \pgfmathsqrt@{\the\dimexpr1pt+\dimen0\relax\@gobbletwo}%
+ \pgfmathreciprocal@\pgfmathresult%
+ \dimen2=\dimexpr.5\pgflinewidth*\dimexpr\pgfmathresult pt\relax/65536\relax%
+ \dimen4=\dimexpr\dimexpr\yradius\relax*\dimen2/\dimexpr\xradius\relax\relax%
+ \csxdef{yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth}%
+ {{\the\dimen2}{\the\dimen4}}%
+ \fi%
+ \dimen6=\dimexpr\dimen2*\dimexpr\xradius\relax/\dimexpr\yradius\relax+%
+ \dimen2*\dimexpr\yradius\relax/\dimexpr\xradius\relax\relax%
+ \pgfpathmoveto{\pgfqpoint{-\dimexpr\xradius+\dimen4\relax}%
+ {\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{-\dimexpr\xradius-\dimen4\relax}%
+ {\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius-\dimen4\relax}%
+ {\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius+\dimen4\relax}%
+ {\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimen6}{0pt}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius+\dimen4\relax}%
+ {-\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius-\dimen4\relax}%
+ {-\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{-\dimexpr\xradius-\dimen4\relax}%
+ {-\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{-\dimexpr\xradius+\dimen4\relax}%
+ {-\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{-\dimen6}{0pt}}%
+ \pgfpathclose%
+ }%
+ \clippathvert{%
+ % we need to clip to the line; but this is not possible, we can only clip to the inner of a path. For this reason, calculate the rectangle that represents the line.
+ % TODO: for round line endings, this is not a rectangle. Only a problem if the yradius is so short that the slash ends within a wire.
+ \ifcsname yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth\endcsname%
+ \letcs\tmp{yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth}%
+ \dimen2=\expandafter\@firstoftwo\tmp%
+ \dimen4=\expandafter\@secondoftwo\tmp%
+ \else%
+ % cos(arctan(x)) = 1/sqrt(1+x^2)
+ % sin(arctan(x)) = x/sqrt(1+x^2)
+ \dimen2=\xradius %
+ \dimen4=\yradius %
+ % if we divide by a dimension, it is internally converted to sp, so we divide by its pt-value and again by 65536. Same for multiplication. etex fuses muldiv to 64bit, so we don't get overflows.
+ \dimen0=\dimexpr\dimen4*\dimen4/\dimen2*65536/\dimen2\relax%
+ % calculate the sqrt; but \pgfmathsqrt@ expects a real number without dimension suffix. It internally does \expandafter\pgfmath@x#1pt\relax, so just gobble the additional pt.
+ \pgfmathsqrt@{\the\dimexpr1pt+\dimen0\relax\@gobbletwo}%
+ \pgfmathreciprocal@\pgfmathresult%
+ \dimen2=\dimexpr.5\pgflinewidth*\dimexpr\pgfmathresult pt\relax/65536\relax%
+ \dimen4=\dimexpr\dimexpr\yradius\relax*\dimen2/\dimexpr\xradius\relax\relax%
+ \csxdef{yquant@math@cache1@\xradius @\yradius @\the\pgflinewidth}%
+ {{\the\dimen2}{\the\dimen4}}%
+ \fi%
+ \dimen6=\dimexpr\dimen4*\dimexpr\xradius\relax/\dimexpr\yradius\relax+%
+ \dimen4*\dimexpr\yradius\relax/\dimexpr\xradius\relax\relax%
+ \pgfpathmoveto{\pgfqpoint{-\dimexpr\xradius+\dimen4\relax}%
+ {\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{-\dimexpr\xradius-\dimen4\relax}%
+ {\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{0pt}{\dimen6}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius-\dimen4\relax}%
+ {\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius+\dimen4\relax}%
+ {\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius+\dimen4\relax}%
+ {-\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius-\dimen4\relax}%
+ {-\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{0pt}{-\dimen6}}%
+ \pgfpathlineto{\pgfqpoint{-\dimexpr\xradius-\dimen4\relax}%
+ {-\dimexpr\yradius+\dimen2\relax}}%
+ \pgfpathlineto{\pgfqpoint{-\dimexpr\xradius+\dimen4\relax}%
+ {-\dimexpr\yradius-\dimen2\relax}}%
+ \pgfpathclose%
+ }%
}
\pgfdeclareshape{yquant-oplus}{%
- \inheritsavedanchors[from=yquant-zz]%
- \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west, circuit} {%
+ \inheritsavedanchors[from=yquant-slash]%
+ \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west} {%
\inheritanchor[from=yquant-circle]{\anc}%
}%
\inheritanchorborder[from=yquant-circle]%
- \inheritanchorxproj[from=yquant-circle]%
- \inheritanchoryproj[from=yquant-circle]%
\backgroundpath{%
\pgfpathmoveto{\pgfqpoint{0pt}{\yradius}}%
\pgfpathlineto{\pgfqpoint{0pt}{-\yradius}}%
@@ -427,6 +372,7 @@
{\pgfqpoint{\xradius}{0pt}}%
{\pgfqpoint{0pt}{\yradius}}%
}%
+ \inheritclippath[from=yquant-circle]%
}
\pgfdeclareshape{yquant-measure}{%
@@ -443,52 +389,73 @@
\pgf@x=1.25mm %
\fi%
\else%
- % We need the 2.3mm for the meter sign, the height of the text plus a minimum separation of 2pt
- \pgf@y=.5\dimexpr\ht\pgfnodeparttextbox+\dp\pgfnodeparttextbox+2.3mm+4pt\relax%
+ \pgf@y=\dimexpr.5\ht\pgfnodeparttextbox+.5\dp\pgfnodeparttextbox+2pt\relax%
+ \ifyquant@config@operator@multi@main%
+ \advance\pgf@y by 1.25mm %
+ \fi%
\ifdim\pgf@x<\pgf@y%
\pgf@x=\pgf@y%
\fi%
\fi%
}%
\savedanchor\stext{%
- \pgfqpoint%
- {-.5\wd\pgfnodeparttextbox}%
- {\dp\pgfnodeparttextbox}%
+ \ifyquant@config@operator@multi@main%
+ \pgfqpoint%
+ {-.5\wd\pgfnodeparttextbox}%
+ {\dp\pgfnodeparttextbox}%
+ \else%
+ \pgfqpoint%
+ {-.5\wd\pgfnodeparttextbox}%
+ {-\dimexpr.5\ht\pgfnodeparttextbox-.5\dp\pgfnodeparttextbox\relax}%
+ \fi%
}%
\saveddimen\textheight{%
\pgf@x=\ht\pgfnodeparttextbox%
- }
- \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west, circuit} {%
+ }%
+ \savedmacro\main{%
+ \ifyquant@config@operator@multi@main%
+ \def\main{\noexpand\yquant@config@operator@multi@maintrue}%
+ \else%
+ \ifdim\dimexpr\ht\pgfnodeparttextbox+\dp\pgfnodeparttextbox\relax=0pt%
+ \def\main{\noexpand\yquant@config@operator@multi@maintrue}%
+ \else%
+ \def\main{\noexpand\yquant@config@operator@multi@mainfalse}%
+ \fi%
+ \fi%
+ }%
+ \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west} {%
\inheritanchor[from=yquant-rectangle]{\anc}%
}%
\anchor{text}{%
\stext%
- \pgf@y=\dimexpr-\yradius+1pt+\pgf@y\relax%
+ \main%
+ \ifyquant@config@operator@multi@main%
+ \pgf@y=\dimexpr-\yradius+1pt+\pgf@y\relax%
+ \fi%
}%
\inheritanchorborder[from=yquant-rectangle]%
- \inheritanchorxproj[from=yquant-rectangle]%
- \inheritanchoryproj[from=yquant-rectangle]%
- \backgroundpath{%
- \pgfpathrectanglecorners%
- {\pgfqpoint{-\xradius}{\yradius}}%
- {\pgfqpoint{\xradius}{-\yradius}}%
- }
+ \inheritbackgroundpath[from=yquant-rectangle]%
+ \inheritclippath[from=yquant-rectangle]%
\beforebackgroundpath{%
- % Make sure the meter does not extend beyond the box (we are in a scope here)
- \path [clip]
- (-\xradius, \yradius) rectangle (\xradius, -\yradius);%
- % The position of the meter symbol depends on the presence of the text. If there is no text, we just vertically center. If there is some text, we shift the symbol upwards from the text until there is no overlap any more.
- \csname pgf@anchor@yquant-measure@text\endcsname%
- \advance\pgf@y by \textheight\relax%
- \ifdim\pgf@y<-1.15mm %
- \@tempdima=-1.15mm %
- \else%
- \@tempdima=\dimexpr\pgf@y+2pt\relax%
+ \main%
+ % we only draw the meter symbol if this is the main part of a multi-register (or there is no text)
+ \ifyquant@config@operator@multi@main%
+ % Make sure the meter does not extend beyond the box (we are in a scope here)
+ \path [clip]
+ (-\xradius, \yradius) rectangle (\xradius, -\yradius);%
+ % The position of the meter symbol depends on the presence of the text. If there is no text, we just vertically center. If there is some text, we shift the symbol upwards from the text until there is no overlap any more.
+ \csname pgf@anchor@yquant-measure@text\endcsname%
+ \advance\pgf@y by \textheight\relax%
+ \ifdim\pgf@y<-1.15mm %
+ \@tempdima=-1.15mm %
+ \else%
+ \@tempdima=\dimexpr\pgf@y+2pt\relax%
+ \fi%
+ \path [/yquant/operators/every measure meter]
+ (-2.25mm, \@tempdima) arc[start angle=160, end angle=20,%
+ x radius=2.25mm, y radius=1.4mm]
+ (0, \@tempdima) -- ++(1.6mm, 2.3mm);
\fi%
- \path [/yquant/operators/every measure meter]
- (-2.25mm, \@tempdima) arc[start angle=160, end angle=20,%
- x radius=2.25mm, y radius=1.4mm]
- (0, \@tempdima) -- ++(1.6mm, 2.3mm);
}%
}
@@ -521,16 +488,12 @@
{-\dimexpr.5\wd\pgfnodeparttextbox+1mm\relax}%
{-\dimexpr.5\ht\pgfnodeparttextbox-.5\dp\pgfnodeparttextbox\relax}%
}%
- \foreach \anc in {center, north, south, south west, west, north west, circuit, text} {%
+ \foreach \anc in {center, north, south, south west, west, north west, text} {%
\inheritanchor[from=yquant-rectangle]{\anc}%
}%
\foreach \anc in {north east, east, south east} {%
\inheritanchor[from=yquant-circle]{\anc}%
}%
-% \anchor{text}{%
-% \stext%
-% \pgf@x=-.5\dimexpr\xradius-\pgf@x\relax%
-% }%
\anchorborder{%
\@tempdima=\pgf@x%
\@tempdimb=\pgf@y%
@@ -545,40 +508,6 @@
{\pgfqpoint{\xradius}{\yradius}}%
\fi%
}%
- \anchorxproj{%
- \ifdim\pgf@x>\dimexpr\xradius-3mm\relax%
- % to the right
- \advance\pgf@x by -\dimexpr\xradius-3mm\relax%
- \yquant@shape@ellipse@xfromy{3mm}\yradius\pgf@y%
- \pgf@x=\dimexpr\pgf@xa+\xradius-3mm\relax%
- \else%
- % to the left
- \pgf@x=-\xradius\relax%
- \fi%
- }%
- \anchoryproj{%
- \ifdim\pgf@x>\dimexpr\xradius-3mm\relax%
- % to the right
- \advance\pgf@x by -\dimexpr\xradius-3mm\relax%
- \yquant@shape@ellipse@xfromy\yradius{3mm}\pgf@x%
- \advance\pgf@x by \dimexpr\xradius-3mm\relax%
- \ifdim\pgf@y>0pt %
- % to the top
- \pgf@y=\pgf@xa%
- \else%
- % to the bottom
- \pgf@y=-\pgf@xa%
- \fi%
- \else%
- % to the left
- \ifdim\pgf@y>0pt %
- % to the top
- \pgf@y=\yradius\relax%
- \else%
- \pgf@y=-\yradius\relax%
- \fi%
- \fi%
- }%
\backgroundpath{%
\pgfpathmoveto{\pgfqpoint{-\xradius}{\yradius}}%
\pgfpathlineto{\pgfqpoint{\dimexpr\xradius-3mm\relax}{\yradius}}%
@@ -586,29 +515,46 @@
\pgfpathlineto{\pgfqpoint{-\xradius}{-\yradius}}%
\pgfpathclose%
}%
+ \clippath{%
+ \pgfpathmoveto{\pgfqpoint{-\dimexpr\xradius+.5\pgflinewidth\relax}%
+ {\dimexpr\yradius+.5\pgflinewidth\relax}}%
+ \pgfpathlineto{\pgfqpoint{\dimexpr\xradius-3mm\relax}%
+ {\dimexpr\yradius+.5\pgflinewidth\relax}}%
+ \pgfpatharc{90}{-90}{3mm+.5\pgflinewidth and \yradius+.5\pgflinewidth}%
+ \pgfpathlineto{\pgfqpoint{-\dimexpr\xradius+.5\pgflinewidth\relax}%
+ {-\dimexpr\yradius+.5\pgflinewidth\relax}}%
+ \pgfpathclose%
+ }%
}
-\pgfdeclareshape{yquant-barrier}{%
- % Here, the radii have a special meaning, we don't put text into the shape
- \saveddimen\xradius{%
- \pgf@x=.5\pgflinewidth%
- }%
+\pgfdeclareshape{yquant-line}{%
\savedanchor\shorten{%
\pgfqpoint\pgf@shorten@end@additional\pgf@shorten@start@additional%
}%
+ \saveddimen\xradius{%
+ % we only need this for the border anchor; the value is automatically correct in the paths.
+ \pgf@x=.5\pgflinewidth%
+ }%
\saveddimen\yradius{%
\pgfmathsetlength\pgf@x{\pgfkeysvalueof{/tikz/y radius}+.5*\yquant@config@register@sep}%
}%
- \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west, circuit} {%
+ \foreach \anc in {center, north, north east, east, south east, south, south west, west, north west} {%
\inheritanchor[from=yquant-rectangle]{\anc}%
}%
\inheritanchorborder[from=yquant-rectangle]%
\backgroundpath{%
- \pgfsetlinewidth{\xradius}%
\shorten%
\pgf@xa=\dimexpr\yradius+\pgf@x\relax%
\pgf@ya=\dimexpr\yradius+\pgf@y\relax%
\pgfpathmoveto{\pgfqpoint{0pt}{\pgf@xa}}%
\pgfpathlineto{\pgfqpoint{0pt}{-\pgf@ya}}%
}%
+ \clippath{%
+ \shorten%
+ \@tempdima=\dimexpr\yradius+\pgf@x\relax%
+ \@tempdimb=\dimexpr\yradius+\pgf@y\relax%
+ \pgfpathrectanglecorners
+ {\pgfqpoint{-.5\pgflinewidth}{\@tempdima}}%
+ {\pgfqpoint{.5\pgflinewidth}{-\@tempdimb}}%
+ }%
} \ No newline at end of file
diff --git a/graphics/pgf/contrib/yquant/tex/yquant-tools.tex b/graphics/pgf/contrib/yquant/tex/yquant-tools.tex
index 15d3c328aa..fe1efecbf4 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant-tools.tex
+++ b/graphics/pgf/contrib/yquant/tex/yquant-tools.tex
@@ -45,6 +45,11 @@
\repeat%
}
+\def\yquant@for@break{%
+ \fi%
+ \iffalse%
+}
+
% Def #1 to be the minimum of #2, ... until \relax
\protected\def\yquant@min#1{%
\def#1{2147483647}%
@@ -92,11 +97,11 @@
% Executes #3 if #1 (single token!) is equal (\ifx) to the first token of #2, and #4 else.
\def\ifyquant@firsttoken#1#2{%
% First check whether #2 is present at all...
- \if\relax\detokenize{#2}\relax%
+ \ifstrempty{#2}{%
\expandafter\@secondoftwo%
- \else%
+ }{%
\ifyquant@firsttoken@aux#1#2\yquant@sep%
- \fi%
+ }%
}
\def\ifyquant@firsttoken@aux#1#2#3\yquant@sep{%
@@ -110,11 +115,7 @@
% Executes #3 if #1 begins with #2, and #4 else - non-expandable
\protected\def\ifyquant@beginswith#1#2{%
\def\ifyquant@beginswith@##1#2##2\yquant@end{%
- \if\relax\detokenize{##1}\relax%
- \expandafter\@firstoftwo%
- \else%
- \expandafter\@secondoftwo%
- \fi%
+ \ifstrempty{##1}%
}%
\ifyquant@beginswith@#1#2\yquant@end%
}
@@ -148,6 +149,14 @@
\expandafter\yquant@sort@aux\expandafter0\expandafter{\the\numexpr\yquant@sort@count-1\relax}%
}
+\def\yquant@sort@ascending#1#2{%
+ \ifnum#2>#1 %
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
+ \fi%
+}
+
\protected\def\yquant@sort@aux#1#2{%
\ifnum#1<#2\relax%
\yquant@sort@divide{#1}{#2}%
@@ -159,6 +168,8 @@
\fi%
}
+\def\iftrue@hidden{\iftrue}%
+\def\iffalse@hidden{\iffalse}%
\protected\def\yquant@sort@divide#1#2{%
\count0=#1\relax% i
\count2=#2\relax% j
@@ -167,7 +178,6 @@
\loop%
% search an item from the left that is larger or equal to the pivot
{% protect the outer loop from finding \repeat
- \csletcs{next}{iftrue}%
\loop%
\ifnum\count0<#2\relax%
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\yquant@sort@cmp%
@@ -177,21 +187,20 @@
\expandafter\expandafter\expandafter{%
\csname yquant@sort@item\the\count0\endcsname%
}{%
- \csletcs{next}{iffalse}%
+ \expandafter\iffalse@hidden%
}{%
\advance\count0 by 1 %
+ \expandafter\iftrue@hidden%
}%
\else%
- \csletcs{next}{iffalse}%
+ \expandafter\iffalse@hidden%
\fi%
- \next%
\repeat%
\expandafter%
}%
\expandafter\count\expandafter0\expandafter=\the\count0\relax%
% search an item from the right that is small than the pivot
{% protect the outer loop from finding \repeat
- \csletcs{next}{iftrue}%
\loop%
\ifnum\count2>#1\relax%
\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\expandafter\yquant@sort@cmp%
@@ -202,13 +211,13 @@
\csname yquant@sort@item\the\count2\endcsname%
}{%
\advance\count2 by -1 %
+ \expandafter\iftrue@hidden%
}{%
- \csletcs{next}{iffalse}%
+ \expandafter\iffalse@hidden%
}%
\else%
- \csletcs{next}{iffalse}%
+ \expandafter\iffalse@hidden%
\fi%
- \next%
\repeat%
\expandafter
}%
diff --git a/graphics/pgf/contrib/yquant/tex/yquant.sty b/graphics/pgf/contrib/yquant/tex/yquant.sty
index 25c0873b70..c402c6342c 100644
--- a/graphics/pgf/contrib/yquant/tex/yquant.sty
+++ b/graphics/pgf/contrib/yquant/tex/yquant.sty
@@ -4,23 +4,23 @@
% Copyright 2019-2020 Benjamin Desef
%
% This work may be distributed and/or modified under the conditions of the LaTeX Project
-% Public License, either version 1.3 of this license or (at your option) any later
+% Public License, either version 1.3c of this license or (at your option) any later
% version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX version 2005/12/01 or
+% and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or
% later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Benjamin Desef.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{yquant}[2020/03/22 v0.1.1 Yet another quantum circuit library for LaTeX]
+\ProvidesPackage{yquant}[2020/04/11 v0.1.2 Yet another quantum circuit library for LaTeX]
\RequirePackage{etoolbox}[2018/02/11]
\RequirePackage{tikz}[2015/08/29]
\RequirePackage{trimspaces}[2009/09/17]
-\usetikzlibrary{arrows.meta}
+\usetikzlibrary{arrows.meta,decorations.pathreplacing,decorations.pathmorphing}
\input yquant-config.tex
\input yquant-tools.tex
diff --git a/macros/generic/chemfig/README b/macros/generic/chemfig/README
index ebfc2cb79f..145bdfed79 100644
--- a/macros/generic/chemfig/README
+++ b/macros/generic/chemfig/README
@@ -2,9 +2,9 @@ ___________________________________
The
Chemfig package
- v1.51
+ v1.52
- 2020/04/06
+ 2020/04/14
___________________________________
Maintainer: Christian Tellechea
diff --git a/macros/generic/chemfig/chemfig-en.pdf b/macros/generic/chemfig/chemfig-en.pdf
index 306b0e9e16..250d8500c9 100644
--- a/macros/generic/chemfig/chemfig-en.pdf
+++ b/macros/generic/chemfig/chemfig-en.pdf
Binary files differ
diff --git a/macros/generic/chemfig/chemfig-fr.pdf b/macros/generic/chemfig/chemfig-fr.pdf
index 295e912146..4e63fadd1d 100644
--- a/macros/generic/chemfig/chemfig-fr.pdf
+++ b/macros/generic/chemfig/chemfig-fr.pdf
Binary files differ
diff --git a/macros/generic/chemfig/chemfig.tex b/macros/generic/chemfig/chemfig.tex
index 77bc5b8811..bf66ce58d1 100644
--- a/macros/generic/chemfig/chemfig.tex
+++ b/macros/generic/chemfig/chemfig.tex
@@ -4,9 +4,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
\def\CFname {chemfig} %
-\def\CFver {1.51} %
+\def\CFver {1.52} %
% %
-\def\CFdate {2020/04/06} %
+\def\CFdate {2020/04/14} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -499,18 +499,20 @@
}%
{\scantokens\expandafter{%
\the\toks0{%
- \csname CF_exec%
- \ifdim\csname CF_currentangle\endcsname pt>90pt
- \ifdim\csname CF_currentangle\endcsname pt<270pt
- first%
+ \expanded{% bugfix 1.52
+ \csname CF_exec%
+ \ifdim\csname CF_currentangle\endcsname pt>90pt
+ \ifdim\csname CF_currentangle\endcsname pt<270pt
+ first%
+ \else
+ second%
+ \fi
\else
second%
\fi
- \else
- second%
- \fi
- \endcsname
- {#2}{#3}%
+ \endcsname
+ {\unexpanded{#2}}{\unexpanded{#3}}%
+ }%
}%
}%
}%
@@ -3066,4 +3068,8 @@ v1.5 2020/03/05
- ajout d'une section dans le manuel (placement des atomes)
----------------------------------------------------------------------
v1.51 2020/04/06
- - bug corrigé dans \chargerect_a et \chargeline_a \ No newline at end of file
+ - bug corrigé dans \chargerect_a et \chargeline_a
+----------------------------------------------------------------------
+v1.52 2020/04/14
+ - bug : définition corrigée de \CFthesubmol dans \def_submolc pour
+ qu'elle se développe en 1 coup seulement \ No newline at end of file
diff --git a/macros/latex/contrib/asmeconf/README.md b/macros/latex/contrib/asmeconf/README.md
index 87f8916cbb..e611fea975 100644
--- a/macros/latex/contrib/asmeconf/README.md
+++ b/macros/latex/contrib/asmeconf/README.md
@@ -1,7 +1,7 @@
#asmeconf: A template for ASME conference papers#
- Version 1.17 dated 2020/02/29.
+ Version 1.18 dated 2020/04/14.
####Overview####
This class provides a template to format ASME Conference papers according to
@@ -37,7 +37,7 @@
- support hyperref package (hyperlinks to figures, tables, references, web)
-- support pdf bookmarks
+- support pdf bookmarks and metadata
- enable various math and text features with newtxmath and newtxtext packages
@@ -67,6 +67,8 @@
####Change log####
+ v1.18 (2020/04/14): edit and expand documentation; revise sample .bib file; extensive edits to asmeconf.bst, to better support hyperlinks, to correct eid error, and for better conformance to ASME style (details listed in .bst file); add foreign language example.
+
v1.17: set T1 font encoding with utf-8 input, ensure LuaLaTeX compatibility; load hologo and metalogo packages; edit documentation.
v1.16: remove xpatch and comment packages from class file; disable \\( and \\) in pdf bookmarks to avoid warnings; edit documentation.
diff --git a/macros/latex/contrib/asmeconf/asmeconf-sample.bib b/macros/latex/contrib/asmeconf/asmeconf-sample.bib
index 3b4e5194e2..6cd209464b 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-sample.bib
+++ b/macros/latex/contrib/asmeconf/asmeconf-sample.bib
@@ -1,200 +1,179 @@
-%% Revised 2 October 2019
+%% Revised 14 April 2020
+%% John H. Lienhard, MIT
@article{ning2002,
- title = {On the Sliding Friction Characteristics of Unidirectional Continuous FRP Deposits},
- journal = {ASME Journal of Tribology},
- year = {2002},
- volume = {48},
- number = {5},
- pages = {2000--2008},
- author = {Xiang Ning and Mary Rose Lovell},
- doi = {10.1115/1.4042912},
- URL = {https://doi.org/10.1115/1.4042912},
+ author = {Xiang Ning and Mary Rose Lovell},
+ title = {On the Sliding Friction Characteristics of Unidirectional Continuous FRP Deposits},
+ journal = {ASME Journal of Tribology},
+ year = {2002},
+ volume = {48},
+ number = {5},
+ pages = {2000--2008},
+ doi = {10.1115/1.4042912},
}
-%% There's no need to give the URL if it is simply the DOI; the DOI itself will be hyperlinked.
+%% article supports these fields: author, year, title, journal, volume, number, pages OR eid (and numpages),
+%% doi, url, eprint with archive, note.
+%% There's no need to give the URL if it is simply the DOI, since the DOI itself will be hyperlinked.
+%% url = {https://doi.org/10.1115/1.4042912}. ASME requests that a URL point to the abstract.
@BOOK{gibson2008,
- title = {The Big Book of Cellular Studies},
+ title = {The Big Book of Cellular Studies},
publisher = {John Wiley and Sons},
- year = {2008},
- author = {Tom A. Gibson and Matthew A. Tucker},
- address = {New York},
+ year = {2008},
+ author = {Tom A. Gibson and Matthew A. Tucker},
+ address = {New York},
}
-%% If a URL or DOI is available, it may be included as in the article above.
+%% book supports these fields: author OR editor, year, title, edition, series, volume OR number
+%% publisher, address, doi, url, eprint with archive, note.
@INCOLLECTION{stevens1999,
- title = {Stochastic Fields and Their Digital Simulation},
- publisher = {Martimius Publishers},
- pages = {22--36},
- year = {1999},
+ author = {Thomas T. Stevens},
+ title = {Stochastic Fields and Their Digital Simulation},
booktitle = {Stochastic Methods},
- author = {Thomas T. Stevens},
- address = {Dordrecht},
+ publisher = {Martimius Publishers},
+ address = {Dordrecht},
+ year = {1999},
+ pages = {22--36},
}
-%% If a URL or DOI is available, it may be included as in the article above.
-
+%% incollection supports these fields: author, year, title, booktitle, edition, editor, series,
+%% volume OR number, publisher, address, type,
+%% chapter, pages, doi, note, eprint with archive, url, urldate.
+%% type = { } changes default "Chap." to something else.
@inproceedings{wions2005,
- author = {Thomas Wions and Christopher D. Mills},
- title = {Structural Dynamics in Parallel Manipulation},
+ author = {Thomas Wions and Christopher D. Mills},
+ title = {Struct\-ur\-al Dynamics in Parallel Manipulation},
booktitle = {Proceedings of the ASME IDETC/CIE},
- year = {2005},
- pages = {777--798},
- number = {DETC2005-99532},
- doi = {10.1115/1.4042912},
- URL = {https://doi.org/10.1115/1.4042912},
- venue = {New Orleans, LA},
- confmonth = {September 10--13},
+ number = {DETC2005-99532},
+ venue = {New Orleans, LA},
+ eventdate = {September 10--13},
+ year = {2005},
+ pages = {777--798},
+ doi = {10.1115/1.4042912},
+ url = {https://doi.org/10.1115/1.4042912},
}
-% Note that venue and confmonth are specific to this .bst style
-% There's no need to give the URL if it is simply the DOI; the DOI itself will be hyperlinked.
-
+%% inproceedings supports these fields: author, year, title, booktitle, edition, editor, volume,
+%% organization OR publisher, address, venue, eventdate,
+%% [paper] number, pages, doi, note, eprint with archive, url, urldate.
+%% Note that venue and eventdate are specific to the asmeconf.bst style.
+%% There's really no need to give the URL if it is simply the DOI because the DOI itself will be hyperlinked.
+%% ASME requests that the URL point to the abstract.
@phdthesis{smith2002,
- author = {Robert Smith},
- title = {Conformal Lubricated Contact of Cylindrical Surfaces Involved in a Non-Steady Motion},
- school = {Rochester Institute of Technology},
- address = {Rochester, NY},
- year = {2002},
- doi = {10.1115/1.4042912},
- URL = {https://doi.org/10.1115/1.4042912},
+ author = {Robert Smith},
+ title = {Conformal Lubricated Contact of Cylindrical Surfaces Involved in a Non-Steady Motion},
+ school = {Rochester Institute of Technology},
+ address = {Rochester, NY},
+ year = {2002},
+ doi = {10.1115/1.4042912},
+ url = {https://doi.org/10.1115/1.4042912},
}
-% type = {Sc{D} Thesis}, could be added to change the type of thesis. See example below.
-% There's no need to give the URL if it is simply the DOI; the DOI itself will be hyperlinked.
-
-
-@techreport{watson1982,
- author = {David Watson},
- title = {Evaporative Heat Transfer in the Contact Line of a Mixture},
- year = {1982},
- number = {HTL-26, CFD-4},
- institution = {Iowa State University},
- address = {Ames, IA},
- doi = {10.1115/1.4042912},
- URL = {https://doi.org/10.1115/1.4042912},
-}
-% type can be changed here also, see example below
-% see example below.
+% type = {Sc{D} {T}hesis}, could be added to change the type of thesis. See two examples below.
+% There's no need to give the URL if it is simply the DOI; the DOI itself will be hyperlinked.
+% eprint with archive is also supported.
+%% ASME requests that the URL point to the abstract.
@mastersthesis{smith1998,
- author = {Robert Smith},
- title = {Conformal Lubricated Contact of Cylindrical Surfaces Involved in a Steady Motion},
- school = {Rochester Institute of Technology},
- address = {Rochester, NY},
- year = {1998},
+ author = {Robert Smith},
+ title = {Conformal Lubricated Contact of Cylindrical Surfaces Involved in a Steady Motion},
+ school = {Rochester Institute of Technology},
+ address = {Rochester, NY},
+ year = {1998},
}
+%% mastersthesis supports these fields: author, year, title, type, school, address, note.
+%% These fields are also supported, but don't use them all: doi, eprint with archive, url, urldate, urltype
+%% type={} can optionally be used to change the type of thesis. Default is "Master's thesis"
@mastersthesis{smith1996,
-author = {Robert Smith},
-title = {Cylindrical Surfaces Involved in a Steady Motion},
-type = {{BS} Thesis},
-school = {Rochester Institute of Technology},
-address = {Rochester, NY},
-year = {1996},
+ author = {Robert Smith},
+ title = {Cylindrical Surfaces Involved in a Steady Motion},
+ type = {{BS} {T}hesis},
+ school = {Rochester Institute of Technology},
+ address = {Rochester, NY},
+ year = {1996},
}
+%% To get a bachelor's thesis, use type = {} as above.
-
-@techreport{watson1981,
-author = {David Watson},
-title = {Evaporative Heat Transfer in the Contact Line of a Mixture},
-year = {1981},
-number = {TN-1234},
-institution = {National Aeronautics and Space Administration},
-address = {Washington, DC},
-URL = {https://doi.org/10.1115/1.4042912},
-type = {NASA Technical Memorandum No.}
+@techreport{watson1982,
+ author = {David Watson},
+ title = {Evaporative Heat Transfer in the Contact Line of a Mixture},
+ institution = {Iowa State University},
+ address = {Ames, IA},
+ number = {HTL-26, CFD-4},
+ year = {1982},
+ doi = {10.1115/1.4042912},
+ url = {https://doi.org/10.1115/1.4042912},
}
-
-@BOOK{bejan,
- title = {Advanced Engineering Thermodynamics},
- publisher = {John Wiley {\&} Sons, Inc.},
- year = {1988},
- author = {Adrian Bejan},
- address = {New York, NY},
+%% techreport supports the fields: author, title, number, institution, address, year, doi, url,
+%% eprint with archive, note.
+% if type = is omitted, it will default to "Tech. Rep." See the example below for changing this.
+
+@techreport{reynolds58,
+ author = {W. C. Reynolds and W. M. Kays and S. J. Kline},
+ title = {Heat Transfer in the Incompressible Turbulent Boundary Layer. {I}--{C}onstant Wall Temperature},
+ type = {Memorandum},
+ institution = {NASA},
+ address = {Washington, DC},
+ number = {12-1-58W},
+ year = {1958},
+ eprint = {2060/19980228020},
+ archive = hdl,
}
+% if type = is omitted, it will default to "Tech. Rep."
@incollection{DKE70,
- author = {Donald K. Edwards},
- title = {Thermal Radiation Measurements},
- editor = {Ernst R. G. Eckert and Richard J. Goldstein},
- booktitle = {Measurement Techniques in Heat Transfer},
- chapter = {9},
- pages = {353--396},
- volume ={130},
- series ={{AGARD}ograph},
- month = {November},
- type = {{C}hapter},
- publisher = {Technivision Services},
- address = {Slough, England},
- year ={1970},
- note ={Published by the Advisory Group for Aerospace Research and Development of {NATO}},
-}
-
-@incollection{Lienhard2017,
- author = {John H. Lienhard and Karan H. Mistry and Mostafa H. Sharqawy and Gregory P. Thiel},
- title ={Thermodynamics, Exergy, and Energy Efficiency in Desalination Systems},
- editor = {Hassan A. Arafat},
- booktitle = {Desalination Sustainability},
- chapter = 4,
- pages = {127--206},
- publisher ={Elsevier Publishing Co.},
- address = {Amsterdam},
- year =2017,
- month = {June},
- url = {https://www.elsevier.com/books/desalination-sustainability/unknown/978-0-12-809791-5},
+ author = {Donald K. Edwards},
+ title = {Thermal Radiation Measurements},
+ editor = {Ernst R. G. Eckert and Richard J. Goldstein},
+ booktitle = {Measurement Techniques in Heat Transfer},
+ chapter = {9},
+ pages = {353--396},
+ volume = {130},
+ series = {{AGARD}ograph},
+ publisher = {Technivision Services},
+ address = {Slough, England},
+ year = {1970},
+ note = {Published by the Advisory Group for Aerospace Research and Development of {NATO}},
}
+%% If you need to change "Chap." to something else, use for example: type = {{C}hapter},
+%% It's uncommon to have the "series" field as above.
@article{Lienhard2019b,
- title = "Exterior Shape Factors from Interior Shape Factors",
- journal = {J. Heat Transfer},
- year = "2019",
- doi = "10.1115/1.4042912",
- author = {Lienhard, V, John H.},
- eid = {061301},
- volume = {141},
- number = {6},
+ author = {Lienhard, V, John H.},
+ title = {Exterior Shape Factors from Interior Shape Factors},
+ journal = jht,
+ doi = {10.1115/1.4042912},
+ volume = {141},
+ number = {6},
+ eid = {061301},
+ year = {2019},
}
+%% Note eid field rather than page numbers. Will not produce "pp." before the eid number.
+%% May include numpages = {} to get "eid (numpages pages)"
+%% Note use of jht macro for title title (produces "ASME J. Heat Transfer"). All ASME journals have macros.
-@misc{narayan2017,
- author = {Prakash Narayan Govindan and Steven Lam and Maximus G. {St. John}},
- title = {Systems including a condensing apparatus such as a bubble column condenser},
- year = {2017},
+@misc{govindan2017,
+ author = {Prakash Narayan Govindan and Steven Lam and Maximus G. {St. John}},
+ title = {Systems Including a Condensing Apparatus Such As a Bubble Column Condenser},
howpublished = {US Patent {\#}9700811},
+ year = {2017},
+ url = {https://patents.google.com/patent/US9700811B2},
}
-@conference{Swaminathan2017IDABRO,
- Author = {Swaminathan, Jaichander and Stover, Richard L. and Tow, Emily W. and Warsinger, David M. and Lienhard, John H.},
- Booktitle = {Proceedings of IDA World Congress on Desalination and Water Reuse},
- Title = {Effect of practical losses on optimal design of batch {RO} systems},
- Year = {2017},
- Month = 10,
- Publisher = {International Desalination Association},
- address = {Topsfield, MA},
- venue ={S{\~a}o Paulo, Brazil},
- confmonth = {October 15--20},
- number = {IDA17WC-58334},
- eprint = {1721.1/111971},
- archive = hndl,
-}
-% number = {Paper No.\ IDA17WC-58334}, could be used instead.
-% url = {http://hdl.handle.net/1721.1/111971},
-
@misc{Fong2015,
- title = {Analytical Methods for Squaring the Disc},
- author = {Chamberlain Fong},
+ title = {Analytical Methods for Squaring the Disc},
+ author = {Chamberlain Fong},
howpublished = {{\itshape ArXiv e-prints}},
- eprint = {1509.06344},
- archive=arxiv,
- year = {2015},
- month = {sep},
+ year = {2015},
+ eprint = {1509.06344},
+ archive = arxiv,
}
-% URL = {https://arxiv.org/abs/1509.06344v3},
+% eprint + arxiv produces the same result as: url = {https://arxiv.org/abs/1509.06344v3},
@manual{GSL,
- title = {{GNU} Scientific Library Release 2.4},
- URL = {https://www.gnu.org/software/gsl/},
- author = {Mark Galassi
+ title = {{GNU} Scientific Library Release 2.4},
+ author = {Mark Galassi
and Jim Davies
and James Theiler
and Brian Gough
@@ -203,109 +182,150 @@ type = {NASA Technical Memorandum No.}
and Michael Booth
and Fabrice Rossi
and Rhys Ulerich},
- year = 2017,
- organization = {Free Software Foundation},
- address = {Boston, MA},
- month = {June},
+ organization = {Free Software Foundation},
+ address = {Boston, MA},
+ year = 2017,
+ url = {https://www.gnu.org/software/gsl/},
}
+%% manual supports these fields: author, year, title, edition, organization, address, doi, eprint with archive, urldate, url, note.
@online{mpl,
- title={mpl colormaps},
- author={St{\'e}fan {van der Walt} and Nathaniel Smith},
- URL = {http://bids.github.io/colormap/},
- urldate = {26 August 2018},
- year = 2015,
- organization = {GitHub},
- address = {San Francisco, CA},
- month = {September},
+ title = {mpl colormaps},
+ author = {St{\'e}fan {van der Walt} and Nathaniel Smith},
+ organization = {GitHub},
+ address = {San Francisco, CA},
+ year = 2015,
+ url = {http://bids.github.io/colormap/},
+ urldate = {August 26, 2018},
}
-
+%% online supports these fields: author OR editor, year, title, organization, address,
+%% note, url OR eprint with archive, urldate, urltype
+%% You can change "Accessed" with "urltype", e.g., urltype = {retrieved},
@BOOK{johnson1980,
- title = {Title of edited book},
+ editor = {Howard Johnson},
+ title = {Title of Edited Book},
publisher = {John Wiley and Sons, Inc.},
- year = {1980},
- editor = {Howard Johnson},
- address = {New York, NY},
+ address = {New York, NY},
+ year = {1980},
}
@proceedings{proceedings,
- title = {The title of the proceedings},
- year = 2015,
- editor = {Howard Johnson},
- volume = 2,
- address = {Address of publisher},
- organization = {The organization},
- publisher = {Name of publisher},
- note = {Optional note}
+ title = {The Title of the Proceedings},
+ year = 2015,
+ editor = {Al Yankovich and Howard Stern},
+ volume = {15},
+ organization = {Organization},
+ venue = {Boston, MA},
+ eventdate = {April 27--28},
+ url = {http://web.mit.edu},
+ note = {Optional note},
}
-% series = {Series A,
+%% proceedings supports these fields: author OR editor, year, title, edition, editor,
+%% series, volume OR number, organization, publisher,
+%% address [of organization or publisher], venue, eventdate,
+%% doi, url, eprint with archive.
+%% The organization will appear as author/editor if those fields are empty.
+%% In most instances, the publisher is the organization so only one should be given
@online{amsmath,
-author = {{American Mathematical Society} and {LATEX3 Project}},
-title = {User's Guide for the \textsf{amsmath} Package, Version 2.1},
-year = {2018},
-organization = {Comprehensive \TeX\ Archive Network},
-url = {https://ctan.org/tex-archive/macros/latex/required/amsmath/amsldoc.pdf},
-urldate = {5 July 2019},
+ author = {{American Mathematical Society} and {LATEX3 Project}},
+ title = {User's Guide for the \textsf{amsmath} Package, Version 2.1},
+ organization = {Comprehensive \TeX\ Archive Network},
+ year = {2018},
+ url = {https://ctan.org/tex-archive/macros/latex/required/amsmath/amsldoc.pdf},
+ urldate = {July 5, 2019},
}
-%% urltype = {retrieved},
@online{sharpe1,
-author = {Michael Sharpe},
-title = {New {TX} font package, Version 1.554},
-year = {2018},
-organization = {Comprehensive \TeX\ Archive Network},
-url = {https://ctan.org/pkg/newtx},
-urldate = {27 April 2019},
+ author = {Michael Sharpe},
+ title = {New {TX} Font Package, Version 1.554},
+ organization = {Comprehensive \TeX\ Archive Network},
+ year = {2018},
+ url = {https://ctan.org/pkg/newtx},
+ urldate = {April 27, 2019},
}
@online{sharpe2,
-author = {Michael Sharpe},
-title = {The \textsf{mathalfa} package, Version 1.10},
-year = {2018},
-organization = {Comprehensive \TeX\ Archive Network},
-url = {https://ctan.org/pkg/mathalfa},
-urldate = {27 April 2019},
+ author = {Michael Sharpe},
+ title = {The \textsf{mathalfa} Package, Version 1.10},
+ organization = {Comprehensive \TeX\ Archive Network},
+ year = {2018},
+ url = {https://ctan.org/pkg/mathalfa},
+ urldate = {April 27, 2019},
}
- @online{tolusis,
- author = {Sigitas Tolu{\v{s}}is},
- title = {The \textsf{flushend} package},
- year = {2017},
+@online{tolusis,
+ author = {Sigitas Tolu{\v{s}}is},
+ title = {The \textsf{flushend} Package, Version 3.3},
organization = {Comprehensive \TeX\ Archive Network},
- url = {https://www.ctan.org/pkg/flushend},
- urldate = {October 1, 2019},
- version = {3.3},
+ year = {2017},
+ url = {https://www.ctan.org/pkg/flushend},
+ urldate = {October 1, 2019},
}
@online{bottcher,
- author = {Stephan I. B{\"o}ttcher and Uwe L{\"u}ck},
- title = {\textsf{lineno.sty}: A {\LaTeX} package to attach line numbers to paragraphs},
- year = {2005},
+ author = {Stephan I. B{\"o}ttcher and Uwe L{\"u}ck},
+ title = {\textsf{lineno.sty}: A {\LaTeX} Package to Attach Line Numbers to Paragraphs, Version 4.41},
organization = {Comprehensive \TeX\ Archive Network},
- url = {https://www.ctan.org/pkg/lineno},
- urldate = {August 17, 2019},
- version = {4.41},
+ year = {2005},
+ url = {https://www.ctan.org/pkg/lineno},
+ urldate = {August 17, 2019},
}
@online{oostrum,
- author = {Piet van Oostrum},
- title = {The \textsf{fancyhdr} and \textsf{extramarks} packages},
- year = {2019},
+ author = {Piet van Oostrum},
+ title = {The \textsf{fancyhdr} and \textsf{extramarks} Packages, Version 3.10},
organization = {Comprehensive \TeX\ Archive Network},
- url = {https://www.ctan.org/pkg/lineno},
- urldate = {August 17, 2019},
- version = {3.10},
+ year = {2019},
+ url = {https://www.ctan.org/pkg/lineno},
+ urldate = {August 17, 2019},
}
@online{fairbairns,
- author = {Robin Fairbairns and Sebastian Rahtz and Leonor Barroca},
- title = {A package for rotated objects in \LaTeX},
- year = {2016},
+ author = {Robin Fairbairns and Sebastian Rahtz and Leonor Barroca},
+ title = {A Package for Rotated Objects in \LaTeX, Version 2.16d},
organization = {Comprehensive \TeX\ Archive Network},
- url = {https://www.ctan.org/pkg/rotating},
- urldate = {October 2, 2019},
- version = {v2.16d},
-}
+ year = {2016},
+ url = {https://www.ctan.org/pkg/rotating},
+ urldate = {October 2, 2019},
+}
+
+@BOOK{book,
+ author = {James Tiberius Kirk},
+ year = {2288},
+ title = {Decline and Fall of the Romulan Empire},
+ edition = {7},
+ series = {Humankind's Greatest Writings},
+ volume = {23},
+ url = {http://web.mit.edu},
+ publisher = {Vulcan Free Press},
+ address = {T'Paal},
+ note = {to appear},
+}
+
+@inbook{inbook,
+ author = {Winston S. Churchill},
+ year = {1948},
+ title = {The Gathering Storm},
+ edition = {1},
+ series = {The Second World War},
+ volume = {1},
+ chapter = {5},
+ pages = {66--89},
+ publisher = {Houghton Mifflin Co.},
+ address = {Boston},
+ note = {{``The Locust Years''}},
+}
+%% inbook supports these fields: author OR editor, year, title, edition, version, series, volume OR number, doi, url, eprint with archive, publisher, address, note. type={} field changes "Chap." to something else.
+
+@book{fourier1822,
+ author = {Jean Baptiste Joseph Fourier},
+ year = {1822},
+ title = {Th\'{e}orie Analytique de la Chaleur},
+ publisher = {Firmin Didot, P\`{e}re et Fils},
+ address = {Paris},
+ url = {https://archive.org/details/analyticaltheory00fourrich},
+}
+
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.pdf b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
index 6e64eb32b9..840922971e 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.pdf
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/asmeconf/asmeconf-template.tex b/macros/latex/contrib/asmeconf/asmeconf-template.tex
index 4010bd1f0e..af6ca23847 100644
--- a/macros/latex/contrib/asmeconf/asmeconf-template.tex
+++ b/macros/latex/contrib/asmeconf/asmeconf-template.tex
@@ -3,10 +3,11 @@
%% This file is asmeconf-template.tex, a template to format ASME Conference papers according to
%% the requirements on ASME's conference web pages.
%%
-%% This file is version 1.17 dated 2020/02/29
+%% This file is version 1.18 dated 2020/04/14
%%
%% As of version 1.11, this template follows ASME's newer conference guidelines first posted July 2019.
-%% The new guidelines have changed the requested author block formatting (old format is also supported)
+%% The new guidelines have changed the requested author block formatting to be inline.
+%% (This template supports the old grid format as a package option.)
%% Nomenclature now follows the abstract. Abstract is in italics.
%%
%% Author: John H. Lienhard V
@@ -85,8 +86,7 @@
%% Class options are described above.
-\documentclass[varvw,largesc,upint,mathalfa=cal=euler,colorlinks,hyphenate,balance]{asmeconf} % <=== remove colorlinks for submission to ASME
-
+\documentclass[varvw,largesc,upint,mathalfa=cal=euler,hyphenate,balance,lang-second=french,lang=english,colorlinks]{asmeconf} % <=== remove colorlinks before submission to ASME!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%% Fields to be completed %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -104,7 +104,7 @@
\begin{document}
-% Change these fields to the right content for your conference!
+% Change these fields to the right content for your conference.
% You can comment these out if for some reason you don't want a header.
% Use title case (first letters capitalized), not all capitals
@@ -140,8 +140,9 @@
\maketitle
-%%% For tracking various versions of your draft. Change text to suit your own needs. Remove from final version.
-%%% \date{..} is the same command.
+%%% Use this footnote for tracking various versions of your draft. Change text to suit your own needs.
+%%% Remove from final version.
+%%% \date{..} calls the same command.
\versionfootnote{Documentation for \texttt{asmeconf.cls}. Version \versionno; \today.}% <=== Delete before final submission.
@@ -158,7 +159,7 @@
%%
%% Abstract should be no more than 200 words
\begin{abstract}
-This paper is an example and template for typesetting ASME Conference Papers in {\upshape\LaTeX} using the {\upshape\texttt{asmeconf}} class. This class follows ASME guidelines for margins, fonts, headings, captions, and reference formats as of early 2020. The class is compatible with the {\upshape\texttt{hyperref}} package for producing pdf files with links. The optional argument of \verb|\section| has been modified for manually setting pdf bookmarks when macros or complicated mathematics are included in section headings. The class is intended to be used with the {\upshape\texttt{asmeconf.bst} \hologo{BibTeX}} style, which is part of this distribution. The class may be invoked with several options, most of which address math fonts. The class calls a number of packages, all of which are in {\upshape\TeX\ Live} and on CTAN. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
+This paper is an example of and a template for typesetting ASME Conference Papers in {\upshape\LaTeX} using the {\upshape\texttt{asmeconf}} class. This class follows ASME guidelines for margins, fonts, headings, captions, and reference formats as of early 2020. The class is intended to be used with the {\upshape\texttt{asmeconf.bst} \hologo{BibTeX}} style, which is part of this distribution. The class is compatible with the {\upshape\texttt{hyperref}} package, so that pdfs will contain internal and external hyperlinks, pdf bookmarks, and metadata. Links may be colored, for online use, or black, for publication. Section headers may contain mathematics, references, citations, and footnotes. The class enables inline author names, following ASME's current style, but is backward compatible to the traditional block style. The class includes many options, e.g., for math fonts. The class calls a number of packages, all of which are in {\upshape\TeX\ Live} and on CTAN. The class is compatible with {\upshape\hologo{pdfLaTeX}} or {\upshape\hologo{LuaLaTeX}}.
\end{abstract}
%%%%%%%%% NOMENCLATURE (OPTIONAL) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -193,7 +194,7 @@ This paper is an example and template for typesetting ASME Conference Papers in
\section{Introduction}
The \texttt{asmeconf} class file will typeset papers with margins, fonts, headings, captions, and reference formats that follow those specified for conference papers of the American Society of Mechanical Engineers (ASME). Internal and external hyperlinks will be set automatically, and the pdf file will contain bookmarks and metadata. This class is not a publication of ASME.
-The \texttt{.tex} file may be written using standard \LaTeX\ commands, although some specific initial commands are needed to format the blocks containing the author[s], title, and abstract. This class loads a number of other packages, all of which are contained in up-to-date versions of \href{https://www.tug.org/texlive/}{\TeX\ Live}, \href{http://www.tug.org/mactex/}{Mac\TeX}, and similar distributions. If you find you are missing one of these packages, you may obtain it from CTAN (\href{http://ctan.org}{ctan.org}).
+The \texttt{.tex} file may be written using standard \LaTeX\ commands, although some specific initial commands are needed to format the blocks containing the author[s], title, and abstract. This class loads a number of other packages, all of which are contained in up-to-date versions of \href{https://www.tug.org/texlive/}{\TeX\ Live}, \href{http://www.tug.org/mactex/}{Mac\TeX}, and similar distributions. If you find you are missing one of these packages, you may obtain it at no cost from CTAN (\href{http://ctan.org}{ctan.org}).
\subsection{Essential Initial Commands}
To begin, fill in the fields to be completed at top of the \texttt{asmeconf-template.tex} file. These fields include the headers for your conference and your paper number. Specified metadata will be placed into the pdf file itself.
@@ -201,30 +202,36 @@ The title should be placed into \verb|\title{..}|.
Put author names into the \verb|\SetAuthors{name, name,...}| command in the desired order; follow the syntax illustrated \texttt{asmeconf-template.tex} file. Put each distinct address sequentially into a separate \verb|\SetAffiliation{n}{address}|, where $n = 1,2,\ldots$ Tag each author with the right affiliation by putting \verb|\affil{n}| after that author's name inside the \verb|\SetAuthors{..| command.
-Author addresses are to be kept short. List the author institution, and the City, State (US authors), City, Province, Canada (Canadian authors), or City, Country (other international authors).
+Author addresses are to be kept short. List the author institution, and the City, State (US authors), City, Province, Canada (Canadian authors), or City, Country (for other international authors).
One author (or more) may be designated as the corresponding author by placing \verb|\CorrespondingAuthor{email}| after \verb|\affil{#}|. Two or more authors may be joint first authors by putting \verb|\JointFirstAuthor| after \verb|\affil{#}|.
After setting up the headers, authors, and title, issue the \verb|\maketitle| command.
-The abstract text must be placed into \verb|\begin{abstract}..\end{abstract}|. The abstract will automatically be italicized. Keywords may optionally be including using the \verb|\keywords{..}| command. This command \textit{must} be issued before the abstract environment.
+The abstract text must be placed into \verb|\begin{abstract}| \ldots \verb|\end{abstract}|. The abstract will automatically be italicized. Keywords may be included using the \verb|\keywords{..}| command. The \texttt{keyword} command \textit{must} be issued before the abstract environment.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Equations and Nomenclature}
-Equations are typeset in the usual way. The class file loads the \texttt{amsmath} and \texttt{mathtools} packages. Further, the \texttt{newtxmath} package used for the math fonts includes many additional features (see Sect.~\ref{sec:moremath}).
+
+\section{Referring to Citations, Figures, and Equations}
+Citations are automatically numbered \cite{ning2002}. They should be inserted at the appropriate point using a \verb|\cite{ref}| command~\cite{gibson2008,stevens1999}. The citations will be automatically sorted and compressed if they are given in a set \cite{stevens1999,ning2002,gibson2008,wions2005,smith2002,watson1982}.
+A specific reference may be named with an abbreviation, as in Ref.~\cite{watson1982}.
+See the \texttt{asmeconf-sample.bib} file and Sect.~\ref{sec:references} for examples of how to enter your references.
+
+For ASME conference papers, the labels Equation and Figure should be abbreviated when they do not start a sentence, as in Eq.~\eqref{eqn:dw} and Fig.~\ref{fig:1}. Figure~\ref{fig:1} is spelled out when it starts a sentence. Equation~\eqref{eqn:dw} is spelled out when it starts a sentence.
+
+Equations are typeset in the usual way and will be automatically numbered. The class file loads the \texttt{amsmath} and \texttt{mathtools} packages. Further, the \texttt{newtxmath} package used for the math fonts includes many additional features (see Sect.~\ref{sec:moremath}).
\begin{equation}\label{eqn:fourier}
\vec{q} = -k\nabla T
\end{equation}
-ASME prefers SI units. U.S.\ style units may follow in parentheses. Be sure to put your symbols into the nomenclature list, including the units.
-
-For ASME conference papers, the labels Equation and Figure should be abbreviated when they do not start a sentence, as in Eq.~\eqref{eqn:dw} and Fig.~\ref{fig:1}. Figure~\ref{fig:1} is spelled out when it starts a sentence. Equation~\eqref{eqn:dw} is spelled out when it starts a sentence.
+ASME prefers SI units. (U.S.\ style units may follow in parentheses.) Be sure to put all symbols into the nomenclature list, including their units.
%%%%%%%%%%%%% begin figure %%%%%%%%%%%%%%%%%
%% captions go below figures
+
\begin{figure}
\centering\includegraphics[width=0.7\linewidth]{sample-figure-1.pdf}
\caption{Figure caption with math, eqn.~\eqref{eqn:fourier}: $z = (r,\phi)$ \cite{Lienhard2019b}\label{fig:1}}
@@ -234,15 +241,17 @@ For ASME conference papers, the labels Equation and Figure should be abbreviated
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
%% Use title case for subsections and subsubsections
+
\section{Section Headings and Captions}
-ASME requires that section headings and captions be set in an uppercase, sans serif font. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and mathematics into headings and captions directly, as you would in the main text. Do not enclose them braces, e.g.\ \verb|{\cite{..}}|, which will cause errors. You can place \verb|\footnote{..}| into headings, but not into captions.\footnote{See \texttt{tex-stackexchange} for various approaches to footnotes in captions, if they seem necessary. For footnotes in tables, use the \texttt{tablefootnote} package.}\footnote{Sequential footnote.}
+ASME requires that section headings and captions be set in an uppercase, sans serif font. The class will do this automatically. You can place \verb|\cite{..}|, \verb|\ref{..}|, \verb|\label{..}|, and mathematics into headings and captions directly, as you would in the main text. Do not enclose them braces, e.g.\ \verb|{\cite{..}}|, which will cause errors. You can place \verb|\footnote{..}| into headings, but not into captions.\footnote{See \texttt{tex-stackexchange} for various approaches to footnotes in captions, if they seem necessary. For footnotes in tables, use the \texttt{tablefootnote} package.}\footnote{Sequential footnotes are automatically separated by a comma.}
Text in section headings and captions will not be capitalized if enclosed in a \verb|\NoCaseChange{..}| command.
Sections may either be numbered or left unnumbered.
-Simple mathematical expressions can be used in either captions or section headings. For a section heading that includes more complicated math (and macros), you may use the optional argument of \verb|\section[..]{..}| to create a pdf bookmark without losing characters or producing warnings or errors. See the \texttt{asmeconf-template.tex} source file for examples of this. These bookmarks should usually be text expressions, although some math is supported.
+Simple mathematical expressions can be used in either captions or section headings. For a section heading that includes more complicated math (and macros), you may use the optional argument of \verb|\section[..]{..}| to create a pdf bookmark without losing characters or producing warnings or errors. See the \texttt{asmeconf-template.tex} source file for examples of this procedure. These bookmarks should usually be text expressions, although some math is supported.
If you wish to override the default math format in captions, put \verb|\mathversion{normal}| in the caption.
@@ -293,16 +302,71 @@ Our competitor's test & 72.321 & 141.384 \\
\section{Tables and Figures}
Table \ref{tab:1} is an example of a simple table. Table captions should be placed above tables.
-The class loads the \texttt{booktabs} package (used for horizontal rules in both Table \ref{tab:1} and \ref{tab:2}), and the \texttt{array} and \texttt{dcolumn} packages which provide extended capabilities for columns in the \texttt{tabular} environment (used in Table \ref{tab:2}). Table \ref{tab:3} is an example of a table that spans two columns.
+The class loads the \texttt{booktabs} package (used for horizontal rules in both Table \ref{tab:1} and \ref{tab:2}), and the \texttt{array} and \texttt{dcolumn} packages which provide extended capabilities for columns in the \texttt{tabular} environment (used in Table \ref{tab:2}). Table \ref{tab:3} is an example of a table that spans two columns. Two column tables (and figures) will always float to the top of a later page.
-Figure captions go below figures. Figure~\ref{fig:2} is an example of a figure that spans two columns and includes subfigures. The text in figures (and tables) should be no smaller than 6~point type. Images in figures are handles by the standard \texttt{graphicx} package.
+Figure captions go below figures. Figure~\ref{fig:2} is an example of a figure that spans two columns and includes subfigures. The text in figures (and tables) should be no smaller than 6~point type. Images in figures are handled by the standard \texttt{graphicx} package.
Landscape figures and tables may be produced at full-page size by putting \verb|\usepackage[figuresright]{rotating}| in your \texttt{.tex} file's preamble and using the \texttt{sidewaystable*} and \texttt{sidewaysfigure*} environments~\cite{fairbairns}.
+%%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%%
+\begin{table*}
+\caption{A table spanning two columns\label{tab:3}}%
+\centering{%
+\begin{tabular*}{0.8\textwidth}{@{\hspace*{1.5em}}@{\extracolsep{\fill}}ccc!{\hspace*{3.em}}ccc@{\hspace*{1.5em}}}
+\toprule
+\multicolumn{1}{@{\hspace*{1.5em}}c}{$x$\rule{0pt}{11pt}} &
+\multicolumn{1}{c}{$\textrm{erf}(x)$} &
+\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} &
+\multicolumn{1}{c}{$x$} &
+\multicolumn{1}{c}{$\textrm{erf}(x)$} &
+\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule
+0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980\rule{0pt}{11pt} \\
+0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\
+0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\
+0.15 & 0.16800 & 0.83200 & 1.40 & 0.95229 & 0.04771 \\
+0.20 & 0.22270 & 0.77730 & 1.50 & 0.96611 & 0.03389 \\
+0.30 & 0.32863 & 0.67137 & 1.60 & 0.97635 & 0.02365 \\
+0.40 & 0.42839 & 0.57161 & 1.70 & 0.98379 & 0.01621 \\
+0.50 & 0.52050 & 0.47950 & 1.80 & 0.98909 & 0.01091 \\
+0.60 & 0.60386 & 0.39614 & 1.82\makebox[0pt][l]{14} & 0.99000 & 0.01000 \\
+0.70 & 0.67780 & 0.32220 & 1.90 & 0.99279 & 0.00721 \\
+0.80 & 0.74210 & 0.25790 & 2.00 & 0.99532 & 0.00468 \\
+0.90 & 0.79691 & 0.20309 & 2.50 & 0.99959 & 0.00041 \\
+1.00 & 0.84270 & 0.15730 & 3.00 & 0.99998 & 0.00002 \\[2pt]
+\bottomrule\end{tabular*}
+}
+\end{table*}
+
+%%%%%%%%%%%%%%%%% end two column table %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Reference Formatting with \NoCaseChange{\texttt{asmeconf.bst}}\footnote{If you have text in a section heading or caption that you do not want to be capitalized, such as an SI unit, enclose it in a \texttt{\textbackslash NoCaseChange} command.}}\label{sec:references}
+
+The {\upshape\texttt{asmeconf.bst}} \hologo{BibTeX} style follows the reference styles shown on ASME's conference web site in early 2020. Examples for these and many other cases are given in the \texttt{asmeconf-sample.bib} file, which is part of this distribution. Citations and references are managed by the standard \texttt{natbib} package. Nevertheless, a few comments are necessary.
+
+%% sub-subsections should *not* be numbered
+
+\subsubsection*{DOI, URL, and eprint} Include DOI numbers when they are available. URL's may alternatively be given. ASME requests that URLs point to a document's abstract.
+
+Elementary support for \texttt{eprint} numbers is also included, generating a url at the end of the citation. The \texttt{archive} type may be specified using the macros \texttt{arxiv, googlebooks, hdl, jstore, oclc}, or \texttt{pubmed} (e.g., \texttt{archive=hdl}, \textit{without} braces). Both \texttt{eprint} and \texttt{archive} fields \textit{must} be given. Other root urls may be invoked using \verb|archive = {http://another.url.org/}|.
+
+\subsubsection*{Online Sources} A bibliography field \verb|@online{..| is included for citation of online sources, such as web pages. A \texttt{url} or \texttt{eprint} with \texttt{archive} must be included. See the examples of use in the \texttt{asmeconf-sample.bib} file.
+
+\subsubsection*{Date Accessed} The \verb|urldate={..}| field may be used to provide the date on which a given url was accessed. By default, the text printed will be \texttt{Accessed `date',}. The word ``Accessed'' may be changed using the \verb|urltype={..}| field.
+
+\subsubsection*{Conference Location and Date} For the entry types \verb|@inproceeedings{..| and \verb|@proceeedings{..|, you may include \verb|venue={..}| and \verb|eventdate={..}| to specify the city and the date of a conference.
+
+\subsubsection*{Capitalization of Titles} ASME's bibliography style requires that document titles be in title case. The first letters of principal words are capitalized. Do this when writing the \texttt{.bib} file.
+
+
-%%%%%%%%%%%%%%%%% begin wide figure %%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%% begin two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{figure*}[t]
+\begin{figure*}
\begin{subfigure}[t]{0.5\textwidth} %subfigure is basically the same as minipage
\vbox{
\vspace*{1.7em}
@@ -313,7 +377,7 @@ Landscape figures and tables may be produced at full-page size by putting \verb|
}
\subcaption{Interior region\label{fig:interior-region}}
\end{subfigure}%
-%%%%%%%%%%%%% no spaces or line breaks between these two minipages
+%%%%%%%%%%%%% no spaces or line breaks between these two subfigures
\begin{subfigure}[t]{0.5\textwidth}
\centering{%
\includegraphics{sample-figure-2b.pdf}
@@ -322,36 +386,16 @@ Landscape figures and tables may be produced at full-page size by putting \verb|
\caption{A figure with two subfigures \cite{Lienhard2019b}}\label{fig:2}
\end{figure*}
-%%%%%%%%%%%%%%%%%%% end wide figure %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Reference Formatting with \NoCaseChange{\texttt{asmeconf.bst}}\footnote{If you have text in a section heading or caption that you do not want to be capitalized, such as an SI unit, enclose it in a \texttt{\textbackslash NoCaseChange} command.}}
-
-Citations are automatically numbered \cite{ning2002}. They should be inserted at the appropriate point using a \verb|\cite{ref}| command~\cite{gibson2008,stevens1999}. The citations will be automatically sorted and compressed as well if they are given in a set \cite{stevens1999,ning2002,gibson2008,wions2005,smith2002,watson1982,smith1998}. See the \texttt{asmeconf-sample.bib} file for examples of how to enter your references. Citations and references are managed by the standard \texttt{natbib} package.
-
-The {\upshape\texttt{asmeconf.bst}} \hologo{BibTeX} style follows the reference styles posted on ASME's conference web site in early 2020. Examples for these and many other cases are given in the \texttt{asmeconf-sample.bib} file, which is part of this distribution. Nevertheless, a few comments are necessary.
-
-%% subsubsections are not numbered
-\subsubsection*{DOI, URL, and eprint} Include DOI numbers when they are available. URL's may alternatively be given.
-
-Elementary support for \texttt{eprint} numbers is also included, generating a url at the end of the citation. The \texttt{archive} type may be specified using the macros \texttt{arxiv, googlebooks, hndl, jstore}, or \texttt{pubmed} (e.g., \texttt{archive=hndl}, \textit{without} braces). Both \texttt{eprint} and \texttt{archive} fields \textit{must} be given. Other root urls may be invoked using \verb|archive = {http://another.url.org/}|.
-
-\subsubsection*{Online Sources} A bibliography field \verb|@online{..| is included for citation of online sources, such as web pages. See the examples of use in the \texttt{asmeconf-sample.bib} file.
-
-\subsubsection*{Date Accessed} The \verb|urldate={..}| field may be used to provide the date on which a given url was accessed. By default, the text printed will be \texttt{accessed `date',}. The word ``accessed'' may be changed using the \verb|urltype={..}| field.
-
-\subsubsection*{Conference Location and Date} For the entry types \verb|@inproceeedings{..| and \verb|@proceeedings{..|, you may include \verb|venue={..}| and \verb|eventdate={..}| to specify the city and the date of a conference.
+%%%%%%%%%%%%%%%%%%% end two column figure %%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%% MORE ON MATH %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Dealing with complicated math in a section or subsection heading:
-%% the optional argument to \section will provide the pdf bookmark
-%% without losing characters or producing warnings/errors.
+%% the optional argument to \section will provide the pdf bookmark
+%% without losing characters or producing warnings/errors.
%%
-%% In this heading, u is forced to be upright with \mathrm{u}
+%% In this heading, letter u is forced to be upright with \mathrm{u}
%%
\section[More on math: u\cdot\omega=0]{More on math: $\vec{\mathrm{u}}\cdot\vec{\omega}=0$}\label{sec:moremath}
@@ -360,11 +404,11 @@ In most cases, the need for a wide equation can be eliminated by using one of th
\texttt{multline} environment:
\begin{multline}\label{eqn:energy}
\frac{\partial}{\partial t}\left[\rho\bigl(e + \lvert\vec{u}\rvert^2\big/2\bigr)\right] + \nabla\cdot\left[\rho\bigl(h + \lvert\vec{u}\rvert^2\big/2 \bigr)\vec{u}\right] \\
- ={}-\nabla \cdot \vec{q} + \rho \vec{u}\cdot\vec{g}+ \frac{\partial}{\partial x_j}\left(d_{ji}u_i\right) + \dot{Q}_v
+ ={}-\nabla \cdot \vec{q} + \rho \vec{u}\cdot\vec{g}+ \frac{\partial}{\partial x_j}\bigl(d_{ji}u_i\bigr) + \dot{Q}_v
\end{multline}
An example using \texttt{align} appears in Appendix~\ref{appendix:a}.
-An alternative solution may be to set large equations into two-column-wide tables or figures. (You can find code online that sets equations across two columns, but the results may be sketchy.)
+An alternative solution may be to set large equations into two-column-wide tables or figures. While a package exists for setting equations that span two columns (\texttt{widetext.sty}), that code is erratic in relation to floats and page breaks.
Math italics are used for roman and greek letters by default. If you want an upright letter in math, you can use the relevant math alphabet, e.g., \verb|\mathrm, \mathbf, \mathsf|:
\begin{equation}\label{eqn:dw}
@@ -372,30 +416,32 @@ Math italics are used for roman and greek letters by default. If you want an up
\end{equation}
To get additional symbols in bold math, you can use the \verb|\bm{..}| macro from the \texttt{bm} package, which is loaded by the class.
-The class file also provides upright sans-serif greek letters with \verb|\sfalpha| and similar expressions (e.g.\ $\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots \bm{\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots}$), in case they are needed (but note that the \verb|newtxmath| options \verb|frenchmath| and \verb|slantedGreek| also affect how greek letters are presented).
+The class file also provides upright sans-serif greek letters with \verb|\sfalpha| and similar expressions (e.g., $\sfalpha, \sfbeta, \sfgamma, \sfdelta$ \ldots $\bm{\sfalpha, \sfbeta, \sfgamma, \sfdelta \ldots}$), in case they are needed (but note that the \verb|newtxmath| options \verb|frenchmath| and \verb|slantedGreek| also affect how greek letters are presented).
-\subsection{The \texttt{newtxmath} and \texttt{mathalpha} packages~\cite{sharpe1,sharpe2}} The \texttt{newtxmath} package~\cite{sharpe1}, loaded by default, includes a large number of options for mathematics. Most options can be called as options to \verb|\documentclass|. For example, the \texttt{upint} option of \texttt{newtxmath} selects upright integral signs (rather than slanted integral signs):
+\subsection{The \texttt{newtxmath} and \texttt{mathalpha} Packages~\cite{sharpe1,sharpe2}} The \texttt{newtxmath} package~\cite{sharpe1}, loaded by default, includes a large number of options for mathematics, most of which can be called as options to \verb|\documentclass|. For example, the \texttt{upint} option of \texttt{newtxmath} selects upright integral signs (rather than slanted integral signs):
\begin{quote}
\verb|\documentclass[upint]{asmeconf}|.
\end{quote}
These math options are discussed further in the \texttt{asmejour-template.tex} file.
-In addition, many options for calligraphic, script, and fraktur fonts are available as options to the \texttt{mathalfa} package, which is also loaded. These may be invoked, for example, as
+In addition, many options for calligraphic, fraktur, and script fonts are available as options to the \texttt{mathalfa} package, which is also loaded. These may be invoked, for example, as
\begin{center}
\verb|\documentclass[mathalfa=cal=euler]{asmeconf}|
\end{center}
which selects the Euler font for \verb|\mathcal| (this is our default). To find all the font options, refer to the \texttt{mathalfa} package documentation \cite{sharpe2}.
-The typewriter font loaded is \texttt{inconsolata} (which is sans serif), as suggested by the \texttt{newtx} package documentation. The class is not set up for use with the \texttt{fontspec} or \texttt{unicode-math} packages.
+The typewriter font loaded is \texttt{inconsolata} (which is sans serif), as suggested by the \texttt{newtx} package documentation.
+The \texttt{asmeconf} class is not set up for use with the \texttt{fontspec} or \texttt{unicode-math} packages.
-%%%%%%%%%%%%%%% ADDITIONAL PACKAGE OPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%% ADDITIONAL PACKAGE OPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Additional Options for \NoCaseChange{\texttt{asmeconf.cls}}}
The class accepts a number of options in addition to those already described. These options are discussed next.
\subsection{Colored hyperlinks}
-ASME requires that all text be in black when the paper is submitted for publication. For other uses, authors may
+ASME requires that all text be \textbf{in black} when the paper is submitted for publication. For other uses, authors may
obtain colored hyperlinks with the [\texttt{colorlinks}] option.
\subsection{Final Column Balancing} The option \texttt{[balance]} invokes the the \texttt{flushend} package~\cite{tolusis}.
@@ -403,7 +449,7 @@ This package will attempt to give equal height to the two columns on the last pa
\subsection{Line Numbers} The option \texttt{[lineno]} invokes the the \texttt{lineno} package~\cite{bottcher}. This option will produce line numbers in the margins. You must run \LaTeX\ \textit{twice} for proper placement of the numbers. Tables, captions, and footnotes will not be numbered. Line numbers can be helpful for review and editing, but should not be used in your final manuscript. See the documentation of the \texttt{lineno} package for further commands to control line numbering.
-The \texttt{lineno} package is not compatible with the \texttt{flushend} package that makes final short columns the same height. Balancing is disabled when this option is called.
+The \texttt{lineno} package is not compatible with the \texttt{flushend} package that makes final short columns the same height. Balancing is automatically disabled when this option is called.
\subsection{Changing the Footer Text} The option \texttt{[nofoot]} will omit the ASME copyright from the first page footer.
The footers are generated with the \texttt{fancyhdr} package~\cite{oostrum}, so you can change them in any way you like using the commands of that package. Only the default arrangement of footers matches ASME's style, however.
@@ -417,44 +463,15 @@ Hyphenation is normally suppressed for typewriter mode because this font is ofte
\subsection{Support for Other Languages} The package can be adapted to incorporate (or entirely use) languages other than English. See Appendix \ref{appendix:c} for details.
-
-%%%%%%%%%%%%%%% begin two column table %%%%%%%%%%%%%%%%%%
-\begin{table*}[t]
-\caption{A table spanning two columns\label{tab:3}}%
-\centering{%
-\begin{tabular*}{0.8\textwidth}{@{\hspace*{1.5em}}@{\extracolsep{\fill}}ccc!{\hspace*{3.em}}ccc@{\hspace*{1.5em}}}
-\toprule
-\multicolumn{1}{@{\hspace*{1.5em}}c}{$x$\rule{0pt}{11pt}} &
-\multicolumn{1}{c}{$\textrm{erf}(x)$} &
-\multicolumn{1}{c!{\hspace*{3.em}}}{$\textrm{erfc}(x)$} &
-\multicolumn{1}{c}{$x$} &
-\multicolumn{1}{c}{$\textrm{erf}(x)$} &
-\multicolumn{1}{c@{\hspace*{1.5em}}}{$\textrm{erfc}(x)$} \\ \midrule
-0.00 & 0.00000 & 1.00000 & 1.10 & 0.88021 & 0.11980\rule{0pt}{11pt} \\
-0.05 & 0.05637 & 0.94363 & 1.20 & 0.91031 & 0.08969 \\
-0.10 & 0.11246 & 0.88754 & 1.30 & 0.93401 & 0.06599 \\
-0.15 & 0.16800 & 0.83200 & 1.40 & 0.95229 & 0.04771 \\
-0.20 & 0.22270 & 0.77730 & 1.50 & 0.96611 & 0.03389 \\
-0.30 & 0.32863 & 0.67137 & 1.60 & 0.97635 & 0.02365 \\
-0.40 & 0.42839 & 0.57161 & 1.70 & 0.98379 & 0.01621 \\
-0.50 & 0.52050 & 0.47950 & 1.80 & 0.98909 & 0.01091 \\
-0.60 & 0.60386 & 0.39614 & 1.82\makebox[0pt][l]{14} & 0.99000 & 0.01000 \\
-0.70 & 0.67780 & 0.32220 & 1.90 & 0.99279 & 0.00721 \\
-0.80 & 0.74210 & 0.25790 & 2.00 & 0.99532 & 0.00468 \\
-0.90 & 0.79691 & 0.20309 & 2.50 & 0.99959 & 0.00041 \\
-1.00 & 0.84270 & 0.15730 & 3.00 & 0.99998 & 0.00002 \\[2pt]
-\bottomrule\end{tabular*}
-}
-\end{table*}
-
-%%%%%%%%%%%%%%%% end two column table %%%%%%%%%%%%%%%%%%%
-
-
+%%%%% Conclusions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Conclusion}
Provide a brief conclusion (3-4 lines).
-\section*{Acknowledgment}
+
+%%%%% Acknowledgments %%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section*{Acknowledgments}
Place any acknowledgments here.
@@ -462,26 +479,26 @@ Place any acknowledgments here.
%%% REFERENCES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% Put your references into your .bib file in the usual way. Run latex once, bibtex once, then latex twice.
-%% This specific .bst style allows: venue = {location of conference}, and confmonth = {Month days}
+%% The asmeconf.bst style allows: venue = {Location of Conference}, and eventdate = {Month, days}
+%% for @inproceedings and @proceedings
%%
-\nocite{*} %% <=== delete this line unless you want to typeset the entire contents of your .bib file.
+\nocite{*} %% <=== Delete this line unless you want to typeset the entire contents of your .bib file!
\bibliographystyle{asmeconf} %% .bst file following ASME conference format. Do not change.
\bibliography{asmeconf-sample} %% <=== change this to name of your bib file
-
-
%%% APPENDICES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\appendix
%% Note that appendices will be "numbered" A, B, C, ... etc. Use \section, not \section*
-%% Equations should be numbered sequentially following those in the paper. Don't reset the equation counter.
+%% Equations will be numbered sequentially following those in the paper. Do not reset the equation counter.
%% Here we use the optional argument for the pdf bookmark.
\section[The vector product A\times B]{The vector product $\vec{A}\times\vec{B}$}\label{appendix:a}
-This is just a brief illustration of an appendix, showing numbering of the appendix and equations. Equations are numbered
+
+This brief illustration of an appendix shows the numbering of the appendix and equations. Equations are numbered
consecutively, following those in the paper.
\begin{align}
\frac{d\Gamma}{dt} &{}= \int_{\mathcal{C}} \frac{D\mathbf{u}}{Dt} \cdot d\mathbf{r}\\
@@ -492,8 +509,8 @@ consecutively, following those in the paper.
\section{Option to use an author grid}\label{appendix:b}
-ASME's most recent templates place author names inline, with affiliations for all authors in rows below. This style is the
-default for this template.
+ASME's most recent templates place author names inline, with affiliations for all authors in rows below.
+This style is the default for this template.
The historical style of authors with affiliation in a grid of blocks may be invoked with
the option [\texttt{oldauthors}]. When using this form, the author names and addresses should be entered as below:
@@ -507,16 +524,21 @@ the option [\texttt{oldauthors}]. When using this form, the author names and ad
\noindent\hbox{}\hfil\verb|Institution \\ City, Country}|
\verb|\SetAuthorBlock{\CorrespondingAuthor{John Lienhard%|
\hbox{}\hfil\verb|}{lienhard@mit.edu}}{Institution \\ City, State}|
+
+Directly usable code is contained at the very end of the \texttt{asmeconf-template.tex} file.
-%% directly usable code follows \end{document}, below.
+%% directly usable code follows the \end{document} command below.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Language Support}\label{appendix:c}
ASME publishes in English, but the \texttt{babel} package is loaded for
-users who may wish to include other languages. Options are supported to load a primary language, \texttt{lang=}, as well
-as a secondary and tertiary language, \texttt{lang-second} and \texttt{lang-third}. The primary language must be specified explicitly if a secondary language is loaded. If no language option is given, the package defaults to English.
+users who may wish to include other languages. Options are supported to load a primary language, \texttt{lang=},
+as well as a secondary and tertiary language, \texttt{lang-second} and \texttt{lang-third}.
+The primary language must be specified explicitly if a secondary language is loaded.
+If no language option is given, the package defaults to English. An example of use is
+shown in \selectlanguage{french}\appendixname\ \ref{app:fourier}.\selectlanguage{english}
The standard caption and section names will follow \texttt{babel}'s dictionary for primary languages other than English. Users may additionally change ``Keywords'', ``Nomenclature'', ``Corresponding author'', and ``Joint first authors'' by renewing the commands \verb|\keywordname|, \verb|\nomname|, \verb|\CAwords|, and \verb|\JAwords|. Changes to the page footer were described earlier. The pdf bookmark for ``Appendices'' may be changed by renewing \verb|\appendicesname|.
@@ -527,6 +549,15 @@ Font encoding is set to T1 with utf-8 input supported:
No effort has been made to support customization of language-specific fonts, although this is possible by modifying the class file (examples are given in the \texttt{newtx} documentation). The bibliography style, \texttt{asmeconf.bst}, is designed in English and aimed at \hologo{BibTeX}. Multilingual bibliographies can be supported using \texttt{BibLaTeX}.
+\selectlanguage{french}
+\section{Discours Préliminaire de Fourier}\label{app:fourier}
+
+Les causes primordiales ne nous sont point con­nues; mais elles sont assujetties à des lois simples et constantes, que l'on peut découvrir par l'obser­vation, et dont l'étude est l'objet de la philosophie naturelle.
+
+La chale ur pénètre, comme la gravité, toutes les substances de l'univers, ses rayons occupent toutes les parties de l'espace. Le but de notre ouvrage est d'exposer les lois mathématiques que suit cet élé­ment. Cette théorie formera désormais une des branches les plus importantes de la physique gé­nérale~\cite{fourier1822}.
+
+\selectlanguage{english}
+
\end{document}
@@ -548,7 +579,7 @@ No effort has been made to support customization of language-specific fonts, alt
% Can omit second argument of \CorrespondingAuthor if putting email into address
% i.e., can just use \CorrespondingAuthor{name}.
-% Can also put multiple emails and use command more than once for multiple corresponding authors.
+% Can also put multiple emails in the command and use more than once for multiple corresponding authors.
\SetAuthorBlock{\CorrespondingAuthor{John H.\ Lienhard V}{lienhard@mit.edu}}{%
Massachusetts Institute of Technology \\ Cambridge, MA}
diff --git a/macros/latex/contrib/asmeconf/asmeconf.bst b/macros/latex/contrib/asmeconf/asmeconf.bst
index 961645f7fe..1388b084f8 100644
--- a/macros/latex/contrib/asmeconf/asmeconf.bst
+++ b/macros/latex/contrib/asmeconf/asmeconf.bst
@@ -1,10 +1,10 @@
%%%%%
%%%%% *** This .bst produces the reference format for ASME conference papers. ***
-%%%%% *** Follows the examples given on ASME's conference web pages in early 2019. ***
+%%%%% *** Follows the examples given on ASME's conference web pages in early 2020. ***
%%%%% *** https://www.asme.org/shop/proceedings/conference-publications/references ***
-%%%%% *** The examples given by ASME do not cover all possibilities ***
+%%%%% *** The examples given by ASME do *not* cover all possibilities ***
%%%%%
-%%%%% This file is version 1.1 dated 2019/07/07
+%%%%% This file is version 1.11 dated 2020/04/14
%%%%%
%%%%% Author: John H. Lienhard V
%%%%% Department of Mechanical Engineering
@@ -26,13 +26,29 @@
%%%%% Added: urlprefix = {}, format.web.urldate, bbl.urldate; urltype field changes "accessed" to something else.
%%%%% Added: venue and eventdate to @inproceedings
%%%%%
+%%%%% Edits in version 1.11, 2020/04/14:
+%%%%% correct error in journal eid code.
+%%%%% remove comma between Vol. and No. in article, per ASME style
+%%%%% capitalize "Thesis", per ASME style
+%%%%% insert "." after techreport number, per ASME style
+%%%%% edits to @inbook, @proceedings, @incollection related to chapter and series.
+%%%%% make punctuation after "(ed.)" consistent across entries.
+%%%%% adjust block breaks in @online.
+%%%%% allow for venue and eventdate in @proceedings
+%%%%% add macros for ASME journal titles. add hdl as an equivalent to hndl archive macro.
+%%%%% add numpages functionality for eid: "eid (numpages pages)"
+%%%%% remove "doi" field from @online (since doi is a digital object identifier, not a web page).
+%%%%% add "urldate" to eprint format, for optional use.
+%%%%% warn in @online not to use both eprint and url, and warn if neither is given.
+%%%%% remove series and add volume to @inproceedings.
+%%%%%
%%%%% Feel free to edit this file to suit your own needs, but please make note of changes in this header.
%%%%%
%%=========================================================
%% LICENSE:
%% This file is a derivative work from the generated file, as envisioned by the LaTeX Project Public License.
%%
-%% Copyright (c) 2019 John Lienhard
+%% Copyright (c) 2020 John Lienhard
%%
%% Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
%% associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -319,6 +335,9 @@ FUNCTION {bbl.nr}
FUNCTION {bbl.in}
{ "in" }
+FUNCTION {bbl.paperno}
+{ "" }
+
FUNCTION {bbl.pages}
{ "pp." }
@@ -335,10 +354,10 @@ FUNCTION {bbl.techrep}
{ "Technical Report" }
FUNCTION {bbl.mthesis}
-{ "Master's thesis" }
+{ "Master's Thesis" }
FUNCTION {bbl.phdthesis}
-{ "Ph.D. thesis" }
+{ "Ph.D. Thesis" }
FUNCTION {bbl.first}
{ "1st" }
@@ -368,7 +387,7 @@ FUNCTION {bbl.th}
{ "th" }
FUNCTION {bbl.urldate}
- { "accessed" }
+ { "Accessed" }
MACRO {jan} {"Jan."}
@@ -420,13 +439,75 @@ MACRO {arxiv} {"https://arxiv.org/abs/"}
MACRO {googlebooks} {"http://books.google.com/books?id="}
+MACRO {hdl} {"http://hdl.handle.net/"}
MACRO {hndl} {"http://hdl.handle.net/"}
MACRO {jstor} {"http://www.jstor.org/stable/"}
+MACRO {oclc} {"http://www.worldcat.org/oclc/"}
+
MACRO {pubmed} {"http://www.ncbi.nlm.nih.gov/pubmed/"}
+MACRO {amr} {"Appl. Mech. Rev."}
+
+MACRO {lds} {"ASME Letters Dynamic Systems"}
+
+MACRO {jru} {"ASME J. Risk Uncertainty"}
+
+MACRO {jsbc} {"ASME J. Sustainable Bldg. and Cities"}
+
+MACRO {jam} {"ASME J. Appl. Mech."}
+
+MACRO {jbe} {"ASME J. Biomed. Eng."}
+
+MACRO {jcnd} {"ASME J. Comput. Nonlin. Dyn."}
+
+MACRO {jcise} {"ASME J. Comput. Inf. Sci. Eng."}
+
+MACRO {jds} {"J. Dyn. Syst.-T. ASME"}
+
+MACRO {jep} {"ASME J. Electron. Packag."}
+
+MACRO {jert} {"ASME J. Energy Resour."}
+
+MACRO {jegtp} {"ASME J. Eng. Gas Turbines Power"}
+
+MACRO {jem} {"ASME J. Eng. Mater."}
+
+MACRO {jfe} {"ASME J. Fluids Eng."}
+
+MACRO {jfcst} {"ASME J. Fuel Cell Sci. Tech."}
+
+MACRO {jht} {"ASME J. Heat Transfer"}
+
+MACRO {jmse} {"ASME J. Manuf. Sci. E."}
+
+MACRO {jmd} {"ASME J. Mech. Des."}
+
+MACRO {jmr} {"ASME J. Mech. Robot."}
+
+MACRO {jmdv} {"ASME J. Med. Devices"}
+
+MACRO {jmnm} {"ASME J. Micro Nano-Manuf."}
+
+MACRO {jnem} {"ASME J. Nanotech Eng. Med."}
+
+MACRO {joma} {"ASME J. Offshore Mech. Arct."}
+
+MACRO {jpv} {"ASME J. Press. Vess."}
+
+MACRO {jse} {"ASME J. Sol. Energy"}
+
+MACRO {jtsea} {"ASME J. Therm. Sci. Eng. Appl."}
+
+MACRO {jtb} {"ASME J. Tribol."}
+
+MACRO {jtm} {"ASME J. Turbomach."}
+
+MACRO {jva} {"ASME J. Vib. Acoust."}
+
+
MACRO {acmcs} {"ACM Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
@@ -504,21 +585,6 @@ FUNCTION {bibinfo.warn}
if$
}
-
-FUNCTION {format.eprint}
-{ eprint duplicate$ empty$
- 'skip$
- { "\eprint"
- archive empty$
- { "there's an eprint but no archive in " cite$ * warning$ }
- { "[" * archive * "]" * }
- if$
- "{" * swap$ * "}" *
- }
- if$
-}
-
-
FUNCTION {format.web.urldate}
{ urldate empty$
{""}
@@ -537,6 +603,20 @@ FUNCTION {format.web.urldate}
if$
}
+FUNCTION {format.eprint}
+{ eprint duplicate$ empty$
+ 'skip$
+ { "\eprint"
+ archive empty$
+ { "there's an eprint but no archive in " cite$ * warning$ }
+ { "[" * archive * "]" * }
+ if$
+ "{" * swap$ * "}" *
+ format.web.urldate swap$ *
+ }
+ if$
+}
+
FUNCTION {format.url}
{
url
@@ -616,7 +696,6 @@ FUNCTION {get.bbl.editor}
FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
{
- "," *
" " *
get.bbl.editor
"(" swap$ * ")" *
@@ -788,6 +867,20 @@ FUNCTION {format.bvolume}
}
if$
}
+
+FUNCTION {format.paper.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.paperno }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
@@ -800,7 +893,7 @@ FUNCTION {format.number.series}
if$
number tie.or.space.prefix "number" bibinfo.check * *
bbl.in space.word *
- series "series" bibinfo.check *
+ series emphasize "series" bibinfo.check *
}
if$
}
@@ -939,19 +1032,21 @@ FUNCTION {format.journal.eid}
{ eid "eid" bibinfo.check
duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$ 'skip$
- {
+ {
" " *
- }
- if$
- swap$ *
- numpages empty$ 'skip$
- { bbl.eidpp numpages tie.or.space.prefix
- "numpages" bibinfo.check * *
- " (" swap$ * ")" * *
+ format.year * ": " *
+ swap$
+ *
+ numpages empty$ 'skip$
+ { numpages bbl.eidpp tie.or.space.prefix
+ "numpages" bibinfo.check * *
+ " (" swap$ * ")" * *
+ }
+ if$
}
if$
- }
- if$
+ }
+ if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
@@ -969,14 +1064,14 @@ FUNCTION {format.vol.num.pages}
'skip$
if$
swap$
- ", " bbl.nr * number tie.or.space.prefix pop$ * swap$ *
+ " " bbl.nr * number tie.or.space.prefix pop$ * swap$ *
}
if$ *
}
FUNCTION {format.chapter.pages}
{ chapter empty$
- { "" }
+ 'format.pages
{ type empty$
{ bbl.chapter }
{ type "l" change.case$
@@ -985,6 +1080,10 @@ FUNCTION {format.chapter.pages}
if$
chapter tie.or.space.prefix
"chapter" bibinfo.check
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
* *
}
if$
@@ -1003,7 +1102,7 @@ FUNCTION {format.in.ed.booktitle}
"" *
" " *
get.bbl.editor
- "(" swap$ * ") " *
+ "(" swap$ * "). " *
* swap$
* }
if$
@@ -1193,7 +1292,6 @@ FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
- add.blank
}
{ format.authors output.nonnull
crossref missing$
@@ -1227,6 +1325,7 @@ FUNCTION {book}
format.note output
fin.entry
}
+
FUNCTION {booklet}
{ output.bibitem
format.authors output
@@ -1263,22 +1362,23 @@ FUNCTION {inbook}
new.block
crossref missing$
{
+ format.bvolume output
format.number.series output
+ new.block
+ new.sentence
format.publisher.address output
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
new.block
new.sentence
}
{
- format.chapter.pages "chapter and pages" output.check
new.block
format.book.crossref output.nonnull
}
if$
format.date "year" output.check
date.block
- format.pages "pages" output.check
+ format.chapter.pages "chapter and pages" output.check
+ new.block
format.doi output
new.block
format.eprint output
@@ -1297,9 +1397,9 @@ FUNCTION {incollection}
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.edition output
+ new.block
format.number.series output
format.bvolume output
- format.chapter.pages output
new.sentence
format.publisher.address output
}
@@ -1309,7 +1409,7 @@ FUNCTION {incollection}
if$
format.date "year" output.check
conf.date.block
- format.pages "pages" output.check
+ format.chapter.pages "pages" output.check
format.doi output
new.block
format.eprint output
@@ -1327,8 +1427,13 @@ FUNCTION {inproceedings}
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
+ volume empty$ 'skip$
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * * output
+ }
+ if$
new.sentence
- format.number.series output
+ format.paper.number output
conf.date.block
format.pages "pages" output.check
new.sentence
@@ -1355,6 +1460,7 @@ FUNCTION {inproceedings}
fin.entry
}
FUNCTION {conference} { inproceedings }
+
FUNCTION {manual}
{ output.bibitem
author empty$
@@ -1435,6 +1541,46 @@ FUNCTION {misc}
empty.misc.check
}
+FUNCTION {online}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ organization "organization" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ new.block
+ url empty$
+ { eprint empty$
+ { "missing url and eprint in" cite$ * warning$ }
+ { format.eprint output }
+ if$
+ }
+ { "url and eprint" eprint either.or.check
+ format.url "url" bibinfo.warn output
+ }
+ if$
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {electronic} { online }
+
+FUNCTION {www} { online }
+
+
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
@@ -1461,11 +1607,16 @@ FUNCTION {proceedings}
editor empty$
{ organization "organization" bibinfo.check output
}
- { format.editors output.nonnull }
+ { format.editors output.nonnull
+ }
if$
new.block
format.btitle "title" output.check
format.bvolume output
+ new.block
+ venue "venue" output.check
+ eventdate "eventdate" output.check
+ new.block
editor empty$
{ publisher empty$
{ format.number.series output }
@@ -1490,7 +1641,7 @@ FUNCTION {proceedings}
if$
}
if$
- format.date "year" output.check
+ format.date "year" output.check
format.doi output
new.block
format.eprint output
@@ -1508,6 +1659,7 @@ FUNCTION {techreport}
"title" output.check
new.block
format.tr.number output.nonnull
+ new.block
institution "institution" bibinfo.warn output
address "address" bibinfo.check output
new.block
@@ -1521,35 +1673,6 @@ FUNCTION {techreport}
fin.entry
}
-FUNCTION {online}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check
- }
- { format.authors output.nonnull
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
- if$
- }
- if$
- format.title
- "title" output.check
- new.block
- organization "organization" bibinfo.warn output
- address "address" bibinfo.check output
- format.date "year" output.check
- format.doi output
- format.note output
- format.eprint output
- format.url "url" bibinfo.warn output
- fin.entry
-}
-
-FUNCTION {electronic} { online }
-
-FUNCTION {www} { online }
-
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
diff --git a/macros/latex/contrib/asmeconf/asmeconf.cls b/macros/latex/contrib/asmeconf/asmeconf.cls
index 11cf01aba5..be225271d9 100644
--- a/macros/latex/contrib/asmeconf/asmeconf.cls
+++ b/macros/latex/contrib/asmeconf/asmeconf.cls
@@ -1,13 +1,13 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%% This file provides the asmeconf class for formatting conference papers according to
-%% ASME conference requirements as represented on ASME's conference web pages in mid-2019.
+%% ASME conference requirements as represented on ASME's conference web pages in 2020.
%%
%% Please note that ASME's journals follow specifications different from ASME conference papers.
%%
-%% This file is version 1.17 dated 2020/02/29.
- \def\versionno{1.17}
- \def\versiondate{2020/02/29\space}
+%% This file is version 1.18 dated 2020/04/14.
+ \def\versionno{1.18}
+ \def\versiondate{2020/04/14\space}
%%
%% Author: John H. Lienhard V
%% Department of Mechanical Engineering
diff --git a/macros/latex/contrib/embedfile/embedfile.dtx b/macros/latex/contrib/embedfile/embedfile.dtx
index 1fb0ed84b6..dbdfbaeafc 100644
--- a/macros/latex/contrib/embedfile/embedfile.dtx
+++ b/macros/latex/contrib/embedfile/embedfile.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
% File: embedfile.dtx
-% Version: 2019/12/03 v2.9
+% Version: 2020-04-14 v2.10
% Info: Embed files into PDF
%
% Copyright (C)
% 2006-2011 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
+% 2016-2020 Oberdiek Package Support Group
% https://github.com/ho-tex/embedfile/issues
%
% This work may be distributed and/or modified under the
@@ -89,7 +89,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: embedfile 2019/12/03 v2.9 Embed files into PDF (HO)}
+\Msg{* Package: embedfile 2020-04-14 v2.10 Embed files into PDF (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -101,11 +101,11 @@
This is a generated file.
Project: embedfile
-Version: 2019/12/03 v2.9
+Version: 2020-04-14 v2.10
Copyright (C)
2006-2011 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
+ 2016-2020 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -179,7 +179,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{embedfile.drv}%
- [2019/12/03 v2.9 Embed files into PDF (HO)]%
+ [2020-04-14 v2.10 Embed files into PDF (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -193,7 +193,7 @@ and the derived files
% \GetFileInfo{embedfile.drv}
%
% \title{The \xpackage{embedfile} package}
-% \date{2019/12/03 v2.9}
+% \date{2020-04-14 v2.10}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/embedfile/issues}}}
%
@@ -201,7 +201,7 @@ and the derived files
%
% \begin{abstract}
% This package embeds files to a PDF document.
-% Currently the only supported driver is \pdfTeX\ $>=$ 1.30 in PDF mode.
+% Currently the only supported drivers are \pdfTeX\ $>=$ 1.30 and lua\TeX\ in PDF mode.
% \end{abstract}
%
% \tableofcontents
@@ -302,6 +302,9 @@ and the derived files
% for a list of officially registered types.
% \item[\xoption{desc}]
% The description for the file.
+% \item[\xoption{afrelationship}]
+% This adds the /AFRelationship key to the filespec dicrectory. The value is
+% a pdf name with or without the leading slash.%
% \item[\xoption{stringmethod}]
% The package must convert the values of the keys \xoption{ucfilespec}
% and \xoption{desc} into a PDF string (before version 2.4: \xoption{filespec}
@@ -620,7 +623,7 @@ You need Acrobat Reader 8 or higher.
%<*dtxattach>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{dtx-attach}
- [2019/12/03 v2.9 Embed \string\jobname.dtx (HO)]%
+ [2020-04-14 v2.10 Embed \string\jobname.dtx (HO)]%
\RequirePackage{embedfile}[2019/12/03]
\embedfile[%
stringmethod=escape,%
@@ -711,7 +714,7 @@ You need Acrobat Reader 8 or higher.
\fi
\expandafter\x\csname ver@embedfile.sty\endcsname
\ProvidesPackage{embedfile}%
- [2019/12/03 v2.9 Embed files into PDF (HO)]%
+ [2020-04-14 v2.10 Embed files into PDF (HO)]%
% \end{macrocode}
%
% \subsection{Catcodes}
@@ -1376,6 +1379,7 @@ You need Acrobat Reader 8 or higher.
% \end{macro}
% \begin{macro}{\EmFi@embedfile}
% \begin{macrocode}
+\def\EmFi@removeslash#1{\if/#1\else#1\fi}%
\def\EmFi@embedfile[#1]#2{%
\ifEmFi@finished
\EmFi@Error{%
@@ -1412,7 +1416,8 @@ You need Acrobat Reader 8 or higher.
\ifx\EmFi@afrelationship\ltx@empty
\let\EmFi@@afrelationship\ltx@empty
\else
- \EmFi@convert\EmFi@afrelationship\EmFi@@afrelationship
+ \expandafter\edef\expandafter\EmFi@@afrelationship\expandafter
+ {\expandafter\EmFi@removeslash\EmFi@afrelationship}
\fi
\ifEmFi@item
\let\do\EmFi@do
@@ -1454,7 +1459,7 @@ You need Acrobat Reader 8 or higher.
\fi
\ifx\EmFi@@afrelationship\ltx@empty
\else
- /AFRelationship\EmFi@@afrelationship%
+ /AFRelationship/\pdf@escapename{\EmFi@@afrelationship}%
\fi
/EF<<%
/F \the\pdflastobj\ltx@space 0 R%
@@ -1947,7 +1952,7 @@ You need Acrobat Reader 8 or higher.
% \end{Version}
% \begin{Version}{2018/11/01 v2.8}
% \item
-% Remove luatex85 package depenency.
+% Remove luatex85 package dependency.
% \end{Version}
% \begin{Version}{2019/12/03 v2.9}
% \item
@@ -1957,6 +1962,10 @@ You need Acrobat Reader 8 or higher.
% \item
% update to use \xpackage{iftex}
% \end{Version}
+% \begin{Version}{2020-04-14 v2.10}
+% \item Fix issue \#4, the value of afrelationship should not be
+% converted but name escaped.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/embedfile/embedfile.pdf b/macros/latex/contrib/embedfile/embedfile.pdf
index a91594eaf5..66682ebd9f 100644
--- a/macros/latex/contrib/embedfile/embedfile.pdf
+++ b/macros/latex/contrib/embedfile/embedfile.pdf
Binary files differ
diff --git a/macros/latex/contrib/iodhbwm/tex/i18n.def b/macros/latex/contrib/iodhbwm/tex/iodhbwm-i18n.def
index 42dda7a3ff..42dda7a3ff 100644
--- a/macros/latex/contrib/iodhbwm/tex/i18n.def
+++ b/macros/latex/contrib/iodhbwm/tex/iodhbwm-i18n.def
diff --git a/macros/latex/contrib/iodhbwm/tex/iodhbwm-templates.sty b/macros/latex/contrib/iodhbwm/tex/iodhbwm-templates.sty
index b52807439e..15ef8e9317 100644
--- a/macros/latex/contrib/iodhbwm/tex/iodhbwm-templates.sty
+++ b/macros/latex/contrib/iodhbwm/tex/iodhbwm-templates.sty
@@ -23,8 +23,8 @@
%
% ----------------------------------------------------------
-\newcommand*{\iodhbwm@pkg@version}{v1.2}
-\newcommand*{\iodhbwm@pkg@date}{2020-04-01}
+\newcommand*{\iodhbwm@pkg@version}{v1.2.1}
+\newcommand*{\iodhbwm@pkg@date}{2020-04-13}
\newcommand*{\iodhbwm@pkg@info}{Inoffical DHBW Mannheim thesis package}
\newcommand*{\iodhbwm@pkg@name}{iodhbwm-templates}
@@ -84,7 +84,7 @@
\def\iodhbwm@thesis@type@sa{Studienarbeit}
\iflanguage{ngerman}{\booltrue{iodhbwm@if@supported@language}}{}
-\input{i18n.def}
+\input{iodhbwm-i18n.def}
% ----------------------------------------------------------
% Define internal commands
diff --git a/macros/latex/contrib/iodhbwm/tex/iodhbwm.cls b/macros/latex/contrib/iodhbwm/tex/iodhbwm.cls
index c1ffa62ff6..2c3e62ea26 100644
--- a/macros/latex/contrib/iodhbwm/tex/iodhbwm.cls
+++ b/macros/latex/contrib/iodhbwm/tex/iodhbwm.cls
@@ -23,8 +23,8 @@
%
% ----------------------------------------------------------
-\newcommand*{\iodhbwm@cls@version}{v1.2}
-\newcommand*{\iodhbwm@cls@date}{2020-04-01}
+\newcommand*{\iodhbwm@cls@version}{v1.2.1}
+\newcommand*{\iodhbwm@cls@date}{2020-04-13}
\newcommand*{\iodhbwm@cls@info}{Inoffical DHBW Mannheim thesis class}
\ProvidesClass{iodhbwm}[%
diff --git a/macros/latex/contrib/media4svg/ChangeLog b/macros/latex/contrib/media4svg/ChangeLog
index 17962b8f39..aed1d22826 100644
--- a/macros/latex/contrib/media4svg/ChangeLog
+++ b/macros/latex/contrib/media4svg/ChangeLog
@@ -1,3 +1,7 @@
+2020-04-14
+ * v0.4
+ * fix: playback control via keyboard in Firefox
+
2020-04-13
* v0.2
* fix: playback control on touch screens; expl3 fix
diff --git a/macros/latex/contrib/media4svg/README.md b/macros/latex/contrib/media4svg/README.md
index 8b8f376bde..cfdb7027e8 100644
--- a/macros/latex/contrib/media4svg/README.md
+++ b/macros/latex/contrib/media4svg/README.md
@@ -1,6 +1,6 @@
# The `media4svg` LaTeX Package
-Version 0.2, 2020/04/13
+Version 0.3, 2020/04/14
© 2020--today, Alexander Grahn
diff --git a/macros/latex/contrib/media4svg/example/beamer-example-1.svg b/macros/latex/contrib/media4svg/example/beamer-example-1.svg
index 7ec641a064..729a51b1b9 100644
--- a/macros/latex/contrib/media4svg/example/beamer-example-1.svg
+++ b/macros/latex/contrib/media4svg/example/beamer-example-1.svg
@@ -9,12 +9,12 @@ function $(id) {return document.getElementById("msvg@"+id.toString().trim());};
</script>
</defs>
<style type='text/css'>
-<![CDATA[@font-face{font-family:ec-lmr9;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAtkAA0AAAAAFNAAAAsMAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgwIIBBEICp4smBcLQgABNgIkA4EABCAFgh0HYhuPEKOifnFScIC/SOCJSP8FH+CI0mqothwRx1rDZjuBRMkP47nakjfh6Hja1s+uC1LHkibwiAqDSpO2G73Uu/uRGUTfn7jvXhLJZGKRzCRgBSpoRWslqBXASvjv86+qGiRdS0QHM9bHgUi7L+x+l4206/HKZ31k1wEA9f/7f6Bb5t+vNaKplqAxvvu3y93fU0PcE3MV0WSdENlFVJpVGolIspQIoTH0yCGdxt9O0TEa7AUAWBm8PPZepB3w1pSzzbEA9kMB+Dd3Azja5GJ/NrQl4MqGIi3mQ3vesUkAUNvZLXeo5hnP0QnqskAENdriYcmJMKoR4NiDEdTM/OK65M1ZtXOQLDBiIvcbs6j2vd0bnvWQuz/+/LPvD1NkYwugrbCY4X3PhZjeaGKmpv71fVOaFdCdgLFyiiLWxib/n8J/AoDwaGxqhpZTJJYgMJ6y7JaJDStgIjUKGuYtKZcLdQdHIAjMlDoqvBQQbXSJiCeKanvjOOVaE+HDwrZhTQiMhjGuvZi49JSeFQPj41FrvKIidEzHi9lYSJjmcbpXysI4pPDaBt0lpnp+gHZ9In+lzyA/e4xCM0BNAm/RrJ2O8e+di8Jh0gKuF2Z29vcXgNukTF/iLmAZC7va16nl/0zznXmJaw4KN5Vmk1E4G1mQexsu77H1N0dN8ZbJfp4l1dfczLUGHiSVL5eH8TJWQKUrcgRateF0B0PMyuML+Kt6bFQBqSz4eD9jME5qEzKZQyT1BsjL+GvGUISJlP3GnkfP0WLSADWajYLnVijEGJAabWz08Uj/CAOXlI5yLBdD/80gqTD6RTw/TvfF/pJz2Pg4BZ2tB/EtUIRCTDYECnmkZREYjk5+0T+MLpsFPkNw0vkhqrwAAOcSN4edNN6+NvPjY6NKI9d99YlUI7oMfDwwMgHqZbjQWAj9ItwcJvVh1tbpMjLgElGkSst/akJLAIGmqekVKRvA0sDUn1UXJ2dj3vgrNAZQ9ycK14T7m5N3xKvBGsnogHog2fPa10zuD4UQRfM7UnoRLgsmAw0JVmKS2m0jsB38/N6iHV3o26tyHKtR5tAvUAZ/R7O2Teo4mAZvec2kUUKxIefvCwbhgqCemej2kfe/xUoVxnQuBvdVGQ3W5U6PL6fstphYXWBAHt69Czx9D/O9hGxAdo3d6usiF2U750R13BWIJIBvG/ktdQMUQ8unHCabekuifRKYs/sVBQgMo5v0ocOZRLGiTPpJPs8jxvPTRAqqUfb2IorO5XNMamyt0EiIs4DwrJ4SAExRJEjNPMpD/w8jVUmgxy9HVKvFqISWIWMlQxl9q5r0GwB4XwM2waR6BJeXndx5q5UWt5Ss17jk8TBCfT2StNnsFy4p48Erhlie2obrQjW5W2A7p7vK3wgCgYiF/C67c18POyh+kfpSjDYG+SuNrGHqlmhXcHJ0kb1sUl0Y6b7m/FpKtYXEVaZWhJtnHfvVIOM1kwejjCWs3xtPDHdQBKJgH01TLxp39lgsBmJIFpdNkjIJzDddnnIzjNI0aKdCKAgt9tha9bSejKr208NEViNM1ZONCNh0MajGYBKiUGODjClDG5I6HG6W8Lt5fUJ2Fu2sz6SPlR8zf3U8ggl8F47kWh7zJmfRmH5280z9EvVkWUhi0uWt7lIpO6qd/QGwq5MtLcHFYm68lC6kRwL5braIiPv1zQHxs9roijZyfAHbdWdsfl7cXzTpQnLB3Wdr6I2Q7Cy6HcNuzfzLtpaQv+cI8BNzqCXNzxufb2Z6Io71TMJH7KQQ1ou3SBmI7ujglSHwMDL+T/MrPLyr8T/jf40NEFVTBfOSa4+1fmBDje4DJQzJge5G9NDiwXIkDX4k+bUaG42K6KLoaKz6T+u38n2+OP9gbnBWBG8fjXpwpbwfR8pnmTby6nla+SDyCiQSRtZWW0kb81kl6sMVyh6a9sQVY5sMZpqjRv80ABOZxx8Jiq8tCZbsKa0rm2uvDi4zC5IkneHjPciixan1WzG38tEL/LHZYq3W1e0gdwwKv+vYpQp4M8WgPEwmNJY+HY2apzL8XKb5E7EdlbXNfrj/Yf4H69WZRJQwO3LsNwHriQ8NC7cJ97/t0CC73Y40jrf3w2ouv3SiKfDNsWRA+oeK4IeyV+RpTwavV8jSkZHeUNlvabhSe6aAX7rpQnvUEAy2yzaJhGzI1Ktej/HUQ7o+6zmIa2hXXesIZdv1qhGld7p3vm4CGl8fPuDgan7JfzIDOU5S5UVZeyI/eMRBowUY+OG6VGTrvAD7acH172ai2tC9ZbhqB4tNc+b+T5j1vvL41Hx+1BPcc7hGcCVfcGWDqeKOjhxwxH0HH1zV/Ck/bDcBIrn8EfEHfJXRPXz4wSNDBxxS7V0JnsY4bafwk/tTma3t7zrraB37Kcjt2MZm6m8674NTmIljuFNi3qFkfnBtoLJ16PDYoYcO6eOyIQ8jcujPKpS6j0Faw71QgqXd4pS2c7SUWO9G3RHZMU7Uhav34UjgXJOENtDOtaAnoSQ/PRPxj+ALjhDATyfxrm/tfO/mYHy02BZ4S37jF8LANVtKueug9OjwoUmf9OkLSnlG0bnWf4r15f/clM/qOno98DiP+RHJQuStzB+qlV1+/UnGys7ldcOEP5EaD+jpU+yTJYNn94ECoRPbyQfiG56m3JitipWWgKofW0kcNyi6IpPzGNlt6Xy/K7n0OcYphhtbwL/ImpOsHM/hbT1QxTIM1/Pjnoj5u1L7KfiZRXMikXXUa5P8kNYDJE+d+zg7YRvmDW/3ZH2N2PgJ1PqYyptmCn1OLcUTB5B3owiO3rOJMWUdxcZOSB6T/uNXxg89YmjkkCPHhg49qA316gXayNGaUDY3cvXY8BHqUK7bSDcHDmCUfQdX8ud1FjqPl70inBxW2aXcg53oOF6xWChttIfOeVj4zs64SunvXu+Djc3mU2RF9Qw2e+xj752/79O4ri+OJqUYZ/pApuB0HvdyIaztd5w9fdDf4zyvJNChbkrNkhRCFaIwfJxRxqvlnT19VX7BV8lkrKbwfydRf42yggaV5PVvT2YpU+9/VhFgak6IYPjJAxjumaXYvPvpaKGn1weFTZ/I7SqLI/PCE9GJd4i2Nfa8+0JzSaA9/eqzGq2unA8UQ5RNnDZSuhsjkYJbkvs325QB/lo+T/Q0nSrXM5+oavqw/pMZQDseQRY3nYRe0tJzM3+vcVL0Fg8K4qagHWm/OvPE8XFp7fDEuUEMXjge1RTOGnrgHh4zM/DnJDdLFfnQS762n5DjvuJfRK73g+G6YWqrHy3iHTykPvvwA0Zra1KC3JhqnG7cIOsPU6l3RJcfagUA4MYCy/OmegK+XX8jlfJO16oOB5RxG1OAQE3F/nk0wbQYqN986YGOHiHbRqO6zz9FrM8c61Ce+XzIBDfEAAYYT9UuT/3/M4U+FSuX1gLZZfhirLszlKRylTDbqI6U86m7jjaBfPmMKjjI+qWSepLcGckdxeVn4YzEWMFHKeu8LlPASA88+CSPT7W6E/B9fUmCfEYwqhCpAmo5DgCDhwSZgSPNNEmRSWD0w+oolMIomE4upap3vY2MTXTA0UgbVieODKNosHkhKrbzLVpS4wOLn5oPIG7Fso02fc2MKVJ2ZlaD/bZ6ygQTIwF3snFgZ+1iZ6Xgl50MmGszU1K72Sr1S6cum3SwemU2h8lp+oqYBqD4VF6zbk4vkoV0CeA7E1PZzFbQKQA3CwBcIZT+SZHHoyNxcInp2Lh5RMXEJSSlpGVkdevRq0+/gqKSsooqAAAA) format('woff2');}
-@font-face{font-family:ec-lmtt9;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
-@font-face{font-family:ec-lmss9;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAJEAA0AAAAABVQAAAHvAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgkoIBBEICoE8gTMLDAABNgIkAxQEIAWCJgcsG1oEIB4H1e0dxldMkX/YYqIiqNb+7dm7ex8wqOheAAAcKSAJPuUJXIQExQ5IxlEa18bmv6/P5Wn4Q8FcgGMUlNE1eIFVcRFF62NqPdqKlLHarv2vLrF27ENSJiHg9eOPt+Dt8xFZjkfqHTcVpEvpBa7gcfHJ0EgkRQYgAGDJrpk7MNSsrO3//talByAAGTJ0EmCGTKCTXB9U5EIy1Kz/wPX/rywAokIAIiFJIAiizD/nYHM1nUX8J4EC1KOC7ugHyDFIAknK86ZojIaiKV/VUNQ3RX1R/6belfmpXtPpaMwbspK7VzZU79Te+VxaY9CTzu3qMG3KxRbv+neulcoDs14+2DJ29NTRv7v9jOXgXhg84X5N7tewKsV7RrIkFcigkHpRiT+B48uBYHp1WK/NLRN+1zZkX3ahDVVSNT1ArQSC9ADr0kJIVQEAKGK/KsRCUip+w2aBQrMEEkJgikGAWrsESAqNAmR62CBAocFtASpqPZGJvE5SD+WZOdryQkfnt1a0uuuAg447biwHDh4/PpZZDjvkxPDCMbvtVBpmkCFK45R22m6gqZ5AhxoejejYMENiHx2R+djuneWwQUPKceXO7QNdFGuGDh84YuB1aGKVnY45bq9zXRrqlnmWtA8dNIRrbrUBJK0uOL1Ve30BAA==) format('woff2');}
-@font-face{font-family:ec-lmss8;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAS4AA0AAAAACOgAAARkAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgwoIBBEICodQhhkLHAABNgIkAzIEIAWCJgc8Gy4HUZQwThrEj8TYVsFeIjRKYIip36+P7Snux/Mf+9HOfV8WE8+uielm0+lioUCJJnEzyTSSiLSV//+97L7R2eY1S2YqDAsyqZRKK01WRgV9LsD8lwb4/+/dx3eufRqbvs3KEiuygMYa9LI1qJ/hIoqWT4ECCXwCdWLKMPNGGanXy7Tt1iZ4//xeCHwomHgE+F5iwp+7U6dzQEfdr3d4WHblj60pSteAqbgzpy+6JgHYKreZPmooogq8d0s1S2qBEd36KgQLCFwGZpmKr7eVCzcBQsVjpciWOyrQu7EqlQo8ct0Vl511pmCH9IQnKRQ34bqhtDpkjxrgbAzGGueXjDcBX25p3QQyqgITwTxgBcgikEsAtNiEB0p71Vu96KXa5IyttUkZT+umZU7GZUYGsjYTMqlNTs43SISFpICeMkEi4vAbfXUmMOjNI4Bcyg0Q6gJy9yCiVX0EIcS7+2ElMtYwnwzQxbuvYuxVw3zcgAB+I4dP8PT6rgEkx/vxHMl3lneFhA7iboA+jgM0zACmVRZFZO1AHAOJnNM9vxAap2MYaDJI/fIg7hcvpXthZolD2/YOqIypuXsQcYS1jbg5xVitSmZzIjYNUXWZ5R7E9Q53Q7iqb9cAnX389PFCjHcDyeeIXSGI4GHEDeLdxXdPAg8ncgMDCdLdZxnbZVCCUO15/jzxqUmnnlENYQ2SBvutybNHAxfRKnsamfzZap8ENSGHy9u3LyxYuL28YV88bD18NP28w/mMQ+e2gSLTrecxa+ng5PB5tyhXVAHpr4L2r8qYXMAuepBwcFVopH1CAH2YOhyS5O8AK162Me0xqUnubolJ0R1sW+b5Q9lZpw5lwhPKm431ZvwNhB6+ymBtN1O9AN7a2WFWRhLbQJtsB6lOCL1XojVdZpCw0K5fTQ6FI+mVm/3E+pHrdsbFb92ZEOEnFbp5moQ5hkUjF49WwXcvS30DD0UH8DjsTPstmjph5pEQ52RhUCMzVDlqO1ju8Kvb4We5dyTa2mTqxjElvkt23VzgqKssjjGN0zFQyoWhmNQl0fqb+jUvEahtea8+J26vA3TrnTsUbeftGVDLfLZUMqZafUKzaWIG/k9ER+30SPGylIVsYD6+CAxYui2B8YiMsdUpmLek7omTTVCsk3QAPInN2x8NtP4pnvTdT41syotAA50Xr/YZGpCnhhCWH1h9Knayzf8xuPn7rPwQi0aVNVgFGKNAqJejShH1P9Sg4IMm5BoxICdATRdV/ztbceLrOhENW/KPeb5aDt/O4lopWCiEiQ4SgUIEu0kAGOMiBEpngoDGClEQ6Iz3WEBvjFcaaccq41DVxmHT1c4s3Lm9Ka66LstSS1mA6zeWLrUAB+XItozuly8Fi6IgIUOxQmElMt4aAhg5Zcxk4RRkcfhZl1idn8JS2yQyyopiE42z+LS2XGlsYvxKVwM4c3fyLZWW2RcrLlsKPq1nb5XIIGsaoi0BCq+biCgz6NKn3D/twoOXQME=) format('woff2');}
-@font-face{font-family:ec-lmr10;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
-@font-face{font-family:ec-lmr12;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
+<![CDATA[@font-face{font-family:ec-lmr9;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
+@font-face{font-family:ec-lmtt9;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
+@font-face{font-family:ec-lmss9;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAJEAA0AAAAABVQAAAHvAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgkoIBBEICoE8gTMLDAABNgIkAxQEIAWCJgcsG1oEAJ4HmVtK859sVYh76MK1TYqgfq235+3ufeCQorsAAMhUFJAEj5LAxcaBYgck4ygBq576IbbWWP77+gyeG9fDCnhGQ3k1l1sRTe+Rep/+Ime8c9M/GCuZzaeOoEkIeP3o41V4+3zqyxiP1COuKEhn03Ocx+Pik0GRSIoMQADAwu3TtmKQ6Vmr/32sTvdBADJkaC/AVJlAe7meKMmFZJDp/4Hr/19ZAESJAERCEhAjsDL/nIPIlXQK8Z8EClCLErqgNyBHfwkkKc8boj7qioZ8eV1R2xC1Re2bWufnpFoNJ6I+r8s0dy+rq1yvvv65/Mr7N972tpMnnqnt/7Ty3ukv7m8cNWLSiN+df8YScDcMGHuvKvdrsKXiPVWzZJVgBgtLUJbiz0Dx5UAwpd2dzxsY+7u6LvtyDEWokCrpPqolEKT7WJ3mQaoIAEARe1Qg5pGS+g0bBAqNEkgIgYn6A6ptFyAp1AuQ6WqtAIU61wQoqfZYJvIaSS2cZmZqRQvtnN5a0uyGvfY54ohR7N135Mgopjtgv6PrC4ftsE3ZYP0NVDZa2TZb9LPXr2iDDHVnc7CBiZ+OgH94x7by4P4Dy6PL27b0s7FpOWhov6wMHshjuW0OO2KXtd3Mtcu9S9oH9R/IttBuAElqCq5v3UYvAA==) format('woff2');}
+@font-face{font-family:ec-lmss8;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAATAAA0AAAAACOgAAARqAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgwoIBBEICodQhhkLHAABNgIkAzIEIAWCJgc8Gy4HUZQvTh3iR0Lm5o3mEeEQR6iaIrO2WB3OPFD5LR7+2Q933/sy+fsboh7xZJKWMS1BLUJIUE3iMp7wSCLSdvg/vKe9dE5mpBM62MmkTDqpGekD+El/XgH8X136+LP0T6XTW0uxiCVkASqt0MVaoXwMG9FTileBBCTgFSgTphhGPfHCbTemX9t0rcM53wsBX1be3Ad823S5OXdHHoh7KvJ6vsXNA8Vva1marBSECnfmwHHXJABr5RbjOh0R+cK7sHSxpGc4iUu+icAMnE4CkwjjUFvLhZsAoeJRUmTL7UK9m+7zvbtXLhw9dHD3LkGcoiZ4E4nkIbgvKKUKWaN6uOpFn36/pDFALjc3zwDRlaAF04AFIGaBOAFAiVUYIJVXo1SrPtQvMxR9Z30wGqwbF9KBxoTgiaXBH4NtWijaaKq2HJ5yfxv9hz96dGQCT70ZKIFj9BOUv2xvPkUI9iMUrZqbj+EU4qw3RZug19wcxrCoelM0DVAomjkcaNqNiieInnjM5wWKYLkiJPQpug/wSBJAjZKAEWyLNZjvIDQJibTTTFyYTRA5DIRAEP/gU/SYeYzoRfGNgI7tFLD10Kp8itCot4PQUuuYWWNJ0ioyDWHfc8sPEPrh6H0IZz+qeIKzWztbVzHsJghwnEcrQhA0mzj/FKtcn24HBnaEfjLwMvPpWSYqtDcQZOR5/jxmB2/HW/xK2BXWFfviZMmXgQoE255ATEaL7ZPgIKRx+3ap/Ip86faVmngobmxO73XozWjoKQGjTLcHi5Slg5PDr0ruXO4dSP8YVHs6Q3CFUphLqD8dGmmfEEA04o0hSf4OcPLDLfJ2TGqSu1tiUvQd6lZmb0N2VkdDJizh3lSsN+mvzeXhaxys5maqGcA4JxlmpcuyDbTJdtBXDyGqWaqiBtoJ8naP+QytvkjfLfRjakWeL4+LLy5PiPDT53LzNAlzDItGXDxucv7zstTS9jC6Awwacyb8FITfmHkkxDlZaB8Y6LAd1Rwsy/yOyvwsq19EW5sIX3plzO8yGDXndNQwXo8xjVPXNjZURmJSlaK1Cvo1K3HyXfrGL3Ww2gHua/Y0RNt5ewYckr8sjUlT1UdcZmOZJPx/Ex1V7pHiZWkQcpH88T4w4FhJAukRGWOrviKjdLTkZBMU66QeAI/D6o0LPaW/Ro/r6odFFuljoIDKx9fqGB0QTw1BMH/9j4hYoY3/eLHiz7vyQ8zqjPMwV9ArQZAvOmMR2UGOCHLQQJzBBMRekONFZedwHhSfD6n4V1P8Zx7PzKdvRzHVBAuFoLUNN0iEwFYsAHodh4BUGRCgsEAUBFQaDwSo9XqpEGWf1I+pFnYQVSuT0OfWxhh2VpZjjrEAZ88dO2YBtsmR7Tjuly8FBWeExQDOCo6SSG9rmKANmSQsnBGDBPysi1nnp1D4OpYBboVTiXpV/FbN0ETvRhgZWAEMo+Q7Jq2yP1dCtTR8Ws9fyzKAqhnItgJIsq5FSBNo0GK8f9aFBy+BggEAAA==) format('woff2');}
+@font-face{font-family:ec-lmr10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAoEAA0AAAAAEcAAAAmwAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgyIIBBEICpgkkz8LNgABNgIkA2gEIAWCJgdWGzwOo6KGcVIgAH+5wCkMGSa2+F8kGJvb7rJvZaH8MLsLqwIHnxjKR/47RixCKCKv4w2e7/dr5741s78LnlQTnjQxnQiRISSrTMdToHncRCPaEJ6Wpk6FrdNlRKHvkGpC/etAPkjy/Pu3c+/7AbW1RZ5xVKAUQR0AUP/f/B/OHOyEoZAKofn/VbNk58rZxHYsi3AdEmG7+h9g2qdKY9nY1j4O0LECRSDMIymxTU4j0sHQ/d7hi6VVULRgFA50YvfvFq9/RC+TIglSLDo8ioYD+rgCk7K5zaYwC50ZVA6ozl7iAKngedu9p3jay27DaVkZp9Im2ECddjecxS3ySVwcCkqlgxUWfLpyG0sgCM3RuF9ms2ccwvE6ycdz8StW9no9x3HaHV7fTkevUQms7IqUqlSjQYuOX9AQiYVKVCTUadL+ubtLjjloi81WWWm5pZZYbGGBmcUILERUNqpHG+N0egPGC2nKYk7DgpX/BzY7Die43OHh3f0EjhCET1hspp0Z5V8PkFG8F5uQ6q2S7xKmd9Kk0rTa8/o9opKcbkshLabX+wi5COcFL3k5wagoKlKIBJwDqD1AkxYuehoPp734X4klFQaecqGgQWsPW8WIumZgnXlCwncFcutGLRm8jiteov6RMIFFYPn05vNlSe1fSENorKHNIf5GJFMIA1ZY5Wt0XZav8KcgWv/OX1+/GTQcinzlouQ5uMbh2L4uqcktlrsBGtY5kCZ7h4Y4HDkaiiGKtkMO6sOKOhustG0pLzEE3NKAI6YsUJ1h1BnoDor1nlxpw7OVOnd2YYl6slwl8QMvW5B4MiwUR8scrzY1lTySw8D5WvodvrW1sycO1XdV0tbO3CsJcFlOYSmSW1dHqeGK4+jL4JpcF8M7WwdlUEsanE3e8fVjuTyAMN3HXnJ+KPIASl7xXLro9Xf2xkclh93RcHQHSUubAxFHYgrg2FbFX0eBLbZOjRGzPWrlPzGfueiyQ/Hcg5LfKPVq+AXaILTbt1Yf3iJnXcumQQSRVN3slmibBdB9b9m6lsYYJQTkxA0c1WCoSj0KbVsH1m73NJNkTg7HxJ6TBY7AOgxzePCgdcn1+oNEF0ep7Wndp55ruf3S0hDAuYqtrbIAqQrlBtDo0EvFTazkLkkuY7sSHNnQpT9vNrAbrZZvAzOkbacbL3Ifbp+rBjuvrtDTD/KNM+2wsHb7/AXzo+7qyY4cz1oy9e5wTBsCJqduzauGddEpmZElnp3OgSkjowVuUzRd2ZYtHS2Nge4cAwZlMsco3ukG+GcV6xCzerTzKuQXlhCaw1ISaMOsdD9Od19WAc0F6sBuC2gaFPqmlAyyhu+eHiLYwykk2azcyPm+KYVmuSsFg+IsNMGKhAcHZ47ud7NwcZQXsKGH6+SlNmfKFS1S4hpsNFra6FeuF9aOB8vAoGID/yq5fS7xa+4fz3sWZdYz9JjjWMTpuKmBlhSDPNetS9rmlzF5XpjpWHZ4eIe82S9jkok2fj0V02mC/HVKGrZ6+qDWyuet2xm+Rikdmz4aWgxQ7KCXmGvn3O8AGWqS18U4FPj884EOrBXRkueWO7ZUlk2Ki9N1Crys7TU5WZV18aLdXDIn2F2wT4SgrCR5GGbM15dXtO6/2h7CbXZfC11bAkqOU8nKLBK9W3IFIHbPRpkADMrLHwQEskZPe8kqry+fW1qhs4Ab/q/jekOg/1AKbbjmnFWIOXCgFG6CgV+tgMYLH/RdNiMU9jIDSc0gGIYf1hsaDNC9j6AT7pVU/WvAAi1b2ziirvRgjS5kgMUa0r+PLi0o2dXUMYBZTRaYyHQl+y0riN0tToKG/N/6jj13Kers5Qma8pDOCXcoVJd1XmlR0OnRoBVug4HfXUTMcpY2d6S6vJvh59T3eg5UuAKfhkYf4KoY6NlZOWVCubW7nW7zFWMcKe2OHxTHHQMORaif9cBELjF96tn5L0PxXhYgqeqEgc+iuiyBcdSaBa8F5PxllGvGHC8xMRC7ZsnvpX8Sz35fMl+XAT1yqEQqzE/whXHCw4MGlZni7HFi4Qy+YCSfig0WhCcFY9pY/27SnuIwa0CjnuMXaYh6ik7wduuUL5NgyViIf4a/LN9ehy+BKNfzegfbMtRYzHgEyCb5W0QxkYlm5+DB+SYo7/36eG3PFcE5/vrzSdr+Z3MhFozLR3tueKZmDzlCE1ObpFrdJGRSK39BqDH5BrWfmn70Av5ZaF4bnYGEb577oRhJCNbdL3PhtLJM2Y0Oe8fQvKLBQxwhRp/YAKp2yFueR/KEcLYfhY/VCSAX4Iq1jKHtTxzuuJKiStB8xuU43iMFHSMHDXA9DORj0B1JJpss9LX0ZUEb6DsQp3nVj4bHiwf6M2auheFSWOEUvBe6XuDHZNB//cFVNiV1MO/GbWVpREXlmH0e6Fd17WrBwJHO3AGj9g0e2Nc5aFCeiZztxF33TwnQjS7M7UYfoskB2KyCrs7cPdiaqdHqbPIB3lesgD3bYLrBCqpJJ5H0u8fssLWotz6b34d136oPDlSmt1ig6h7RZFSs0d2qG1UreyNsb1ohX+as9NhaJZWNDltE5w/jspcKofL+8pnsDGZJS236Tw5I1dSSOwhmPEpVsUqZwRTyadsKp8qSkliyKAvsLucmBQ9UabBEpsHNSKaqWUNYQRSiFMcZ1X5Km5WRoYFSutUipTzbU18jHA/G7xAx+BnR2EWhlR966rqKKxZnKqB94wEclAODBS+ElNTs/0XCdIK7BpTDYYeAdJ+Rbf2Yh6SQcqU1MPA+B84e1luo6eSWa0rcSt2LGNQKdUtC7kWIAELVX4auSXT6LUzBgaJQdRE45MF5GJOWVjKS4uINqmHFICB7H1Y0IK34k3s6KArLg8Fhd0Fmns03pTiVQAHs7QalhxqAgJtAreuWTOBLspFEfEuG4GFQRAxBBAANSX7SLK5MJyBffOd7K8hnRY9C03Xf6jem/28+Ns68bSUVJiAPlMTZXAQKBMztyjJFU503qSyewr4lEO+LS9p79B10OA3Gvd6LgDffizaseNBnsydUpCMsQygt0oMYaUZs6FFlUw+19xJu2dkRj/EmEVAdCaliRARmNHNA1QoD9nSqjrztVAM2zmmjTuYng+gtRitQqo4Z3FQDQSeAjud27VGriZiGw7dJHAVT6tVpifu+SblSqI4mTdqwtH3FwnVLSkLbepGM6NAY/kLFb+qm8lJU0tTSw+n9ebgbmNS0exs8uKNNBatKNWlW6RoaQ+54vk+WipuXbt0KXIYBCiZE/xfE1fr4BYTkVQ0aNsEoQaIUqTJkMTGzsrHL5gQ=) format('woff2');}
+@font-face{font-family:ec-lmr12;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
text.f0 {font-family:ec-lmtt9;font-size:8.966376px}
text.f1 {font-family:ec-lmss8;font-size:7.471995px}
text.f2 {font-family:ec-lmss9;font-size:8.966376px}
@@ -76,7 +76,7 @@ text.f9 {font-family:ec-lmr10;font-size:10.909088px}
</g>
</g>
</g>
-<text class='f9' x='139.582264' y='23.053108'>AlexG<tspan x='117.332358' y='64.44107'>13th</tspan>
+<text class='f9' x='139.582264' y='23.053108'>AlexG<tspan x='117.332358' y='64.44107'>14th</tspan>
<tspan x='142.180895'>April</tspan>
<tspan x='170.392903'>2020</tspan>
</text>
diff --git a/macros/latex/contrib/media4svg/example/beamer-example-2.svg b/macros/latex/contrib/media4svg/example/beamer-example-2.svg
index ec3d697ea7..4861e76921 100644
--- a/macros/latex/contrib/media4svg/example/beamer-example-2.svg
+++ b/macros/latex/contrib/media4svg/example/beamer-example-2.svg
@@ -9,10 +9,10 @@ function $(id) {return document.getElementById("msvg@"+id.toString().trim());};
</script>
</defs>
<style type='text/css'>
-<![CDATA[@font-face{font-family:ec-lmtt10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAqkAA0AAAAAFHgAAApOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgxIIBBEICp1gl1oLRgABNgIkA0wEIAWCLwdmG0QQAB6FjWNJS1LG9SUJLP08v80/lxLfo8rgERY4iTIbF7CB0dvQRSRva9hae9WFxe+Sn0UAXO5+jebmwMs0C/zDTZJBgJGs/gfgvz607vuLcIMTHSIY42hvb+btPmHeiXPaemSCQ7zSAHw0uSv9kBhi+iG1vwynhZotQBS5zGIAAAnovfRBxxX7zjUr9WwUstEWoAPKmXIdAPxdHXqDCR0MQLEX8FAe+anOQ1ETACRZGv71v1BNeAk+p1OpUI1O9dqgQ1MIzQyXDM/dnknPJku9MZpNNMMCiy39k05NWK/arB7jTTHn72f6vXLWKSedcMxhBx0IeahFKZAEobAgZU7gD6bG9C5GxgzH9mXj+v/CWS0OAHDxegIQDsUAkoksIhIAopZyQgGgpNJFq8KFUI3+SsBH7VXY7gb0GVRfO2U6VU85k3Iwmh8d30jDSCeH3F8vpokRE7GQHOlQBtIgKjIi5uSSIZ7rHY/YKA4pEJvGFYaSaTu4SI8krrcDGVA4wpB6ogbMZ9GiYpSKbCgN4XQ2rQKnYx6yB/PdAO9N3C/dU3oAvEdxfxB9SWIsnxdn53jIW7vxNkq4ZlsbhtFJzCfrc18AL+53UDBfS8sCPBgYcqf4OgB7BocEETmA+fpEao4jUrI7GBb94HW7GZxsf/cIaOaVXafEg+740J55pfCBaHW3tuJpJ/RhvoHEdkQe8x0Bb7+FxBYTlQw0+FpEVfTrcByswSQURUQFVkvxqLGVIpRg+TqAIr7GL72/MvNgwJycf9UbsTrG5F0S44VxWtOpDCDdkkld3EbxxMRA//FoOtmFkQzoaZE2fzeaTibo4nNMiiUhimyXtlv6+lRTB+Imh9tRhbflSOwVzPcKkcFK8JzyuPMZzDeAyP33g7gf9iqCGLWPtT54ezeitGFU1WAywSsKPAmXt/UgXhC4FMGEa2Gk3Do129/+QDyRJ06jCtZ+UnP5+Kq3ZF4TJ3RHwKsVC6hugsh76c8wzCfxSdq6kISUXsURQn84pfOgdXnd3jeYrweRvSIA1U2famfG4cMzf9h/c2SY/Q4nMlihBE1+hMZGVp8ESCZZG4vak83eaQsN3qN+yzI+VeV0ZNpDGCK79t0y5p6Dlsy2imNQJLUU34F2Yjikdtm+FoRsOyOFTXJv/JQc8BWZtbKiFBqC/n5oiaOlFKCxQFEqWF1JI/PYg+0YfuMA5rvU1YVQ64YhlBdJK6mdsVpCk/fElQusIxCM8kNLGqUFjZcmtVF7VY14KeOsukqb2g9La6kJkuxtWFfFvmNLu6ylT4SxOtrbR1TGxurWB9Qa+iiCCnxnv7izYZuktQFso7miUldFfZjcFRKkpCYcL3eHSUU4Kssr61ZjSOzSo2NdCJFlr2MQKT2N+w8bHO1zt0BbR0fsBYwBDn37VeDtPBn3FBe933gSG1AjsutU/LOMbffw4dFOAK/9wImOoGjpOPDAygr9Dv7KdoTI7u6Ey+KfnaqL2fWF8lHVI321LClMLRdFRJsjsW2D+y+LWBZWzNjaUujlFBuyDXCPT6BwH1UQEWWTzf8AuCrnhO6yaplaQtSuqSlg5MkJlW3IoVrW3RCH0PytISCoiWTL/+XJDkSGZrcunjtl9Pgq76SGimlN+RGPePwjIvE7+3K12vy64pzKWY3vXf2Oo9C6ZD/I4MOT1ix3/PrEEYnpE0a5qptybNLL6iMiwbqQ05KvV9u2YudWzm/mmvC0+iLnMKNpZFmepjySc10oWB/fLs1f6mxoXDDdDqFHZHcZMTri/4ilsH/Tp80bJLL/ZZ8p2WZ6XkCXM3vKiMjZJ4kP3q+rh+BNx9T55fl1t37Avwu27AcZxo4OcQW3trrTC922jBpnbtV/L4Tiw3zew8icGdWuBnKuCz6vKbbUWIp14+5dD1BdQoMaPrFKqerY3CHO6+KjXJZ9FHFRQ0DAgE0tO/eOmGvlRKpBtyUZm/VLBsaa0CSUvJU1tt6z1S5pF3IvMBmuj95IMgvMlnVo37Di5BpHWVXr9HIBGuQeGcc1SKRGm66LiFtsmkRxQ2BKdAwnOPx6SW5dXaHkTVhhjCEzHIYMOsT21qz6IZZiWWls7bIV9Ua7PPGHcPifWGt0/8o+irBrFbHjdyXluxYub6ib7XWWVkoMuAh1t859xsIaW/Kw+vwid22KIa9gSAm81vS9dY/IaLDfTMT2PGpk1zYtqK9euuLK6hWj9faoCWa8eCN2yFFqNRSl0Yvgn5ViY1zGJzdtRY0Necl/ZCZop9mTHLlrR91b68pREuq62mLxTPHNopEMOruhylrUWF+Q1LWRYlqOc1eJzk9L9CVoFmtCmsnj1M3Wbcsjq5PWR/2cpheUcMQE/C/faJO+2rJiROG1DJm/Tgq6dmsI9DZnC0cU6eOfGD5N6JzaTg2X1yPTRDuDaZOWiM+0LUSCq4PY+Hvii0f3Xehp+WxFEXnv4iu+JoPULuHm1BX3X5XkJ17WwAxFdoHHZvCw37/LUmoJ1ACbRPUvl9BWpWx9PsdYqhIK9V+zP/6PgynO0FH56OSylv7CHYtv0/QsurZgxRFQV9+wYHlQ+34ho8gxdoaLKypwVk07qwC+DNbN8jrtTnb04l84QvML+7wS5LsWLW8oqtyXYcuo0dmT7AWGlGH1+XBnKSuazeP+o8OjKX/woogXak7oQEvVHBjFlv+rhJw9qrIfWPVLgSN3UX1RdnsKsB/ar/TPYnCjtQ+VPA6iNyx4FIm5obusJA4/b5apzBXtjJ6S96hEx5W5P7jbErNc8xaJ2R/njJjlPl8G/L2FMxhgz2YHBqNDAbbJpEXDpK5AWIT8YJxmiw5ZtCY0Jns8DncQCTMckVq/iCsXfygZWY1UcSvLzhD89EzddZIQDXLhe7lCq1m+Z+Z2TTtwzdUQfFq+vWloE/9HCk5o5hY1CDVsX7xHEyM0WUXli6oWCdAzI6DHQqh/uD4+l7c3d/cM/qq8hIRFTDmPEwqwzwib6CNqJKqfwhpLkq+iUK+hiQ5JEtcvmVrDDoQ40GPs0q2miw6LtU9Rywr8xyFU8GxCLn9v7q6NTy1h51jRn13r2CIx6b8A65wg5hNpY7EeHo46i8CwOxdGg0HzWQb9vWgQlQJQ3lRvOiBwMtA/uw/iCMAfunmna3gjN/NXJk798llfnv8vKgyjXIoGJgrhAmkAU6cmZFMEZuxnVAm0kA0qGEbw2V2AVE9gIqskclbxPoB0WmZ2sVLIsYyQ/v/H0TTnFdEuwxOVokvTkKDmxsB2eKNWyKV/HlI9DpqqGTjxZKo4Y5LpcLvbGcLdpnChONxXs4BPpiojTqaTWLsdg8BxmGKqOY/bmBjBlOOcOaZw5mLTTTNn+1nGa6ZkpmfsaLrf3MxDx05wISYWaoVhZkYG30ry2HvW+GalWW9UpiubPTpNMC5MFp1V9+KVC6DiELPMNlE7koY1qvAmgsmk38fRbIBbfko77iQ/3eMI5WmqBp+IeHgPpGSUsuXIVahYiVJlhhrGwWmkUVwqValWo1aD0QAA) format('woff2');}
-@font-face{font-family:ec-lmr10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAgAAA0AAAAADogAAAepAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgnoIBBEICpJEjw8LKgABNgIkA1AEIAWCJgdKG8ALAI7UVvmHASGDcK7/2aSFklAxxBLMrZhYc+ftuRjw5ItL/vsW/Pz93o+Ry6IK8jC+8fPeX3X+ohPfcD4qG2BV6kAHOkCazm06pOW5IIHK+5YAgNTh87Xv7dgSv7kVQu9OyB/IBogBajV1G4CxWJ98H4GEAiiIaRziSALOh4LW1GYAqf8mtO3/Q1BJPcQ7a5UA6NpsR5UMc9JFiFAOKijK41BIRRs60IN+DGL03+T/cO1oWGO70PeT7LBDDjpgvz2pQHAoJiZgBhBKTunLPCDIIY3/ApHYxFRixoCFuVQGuQJKACoUuVMDHKmJksQlp0qZRuyxDsIA2gWgr4cGl2Y/SXQVJ4JIZmKhaOS4lUgURIIJQ9RESdyJZbU0R1jiSSKIOZETVWGMoEtSQEUcuq/rSZxIFGHFUpGOFTNDzJ4DF07ceMIwhm2EZo0PwdKM/g7DEGE7yxrnH847sjoZWONJiPQnGAbyqibCQM8Y9hEi7Drn9YkxfIH+JGs8PcAp5r5eKfAlo7Z9nG9LFrm9D4djvic6/RfG8I4Ii2XoExYYQwldAlgHmyyIRWw+D1p70q66p+Vj1ph4Fk1CbdTowa17C30ja4w9csISgbB/0auu9Pr++d1ETgyniBiQwx3CbVWGMp3eCqEu6RwR/EFdO9GW7Llz48jYQXeOSI3b0Rha8WIJ0TGHL5e5zhrfzu9Fl/BuPhkYsJT+CIMyYyhhDKcIzRLGJbf2SONrE06Vzph7YB1jz0AfeeUD6lZE0B17do0xWBw7RwTvm1QQ4u4ri7eIj/Y4Tkr0VmcYA1tte96BiigSL9geh5cDn87fBUsMx0g0aX1wlNYa42csw3kilTnvsVM2OmHbNiIsWn5OJ0cYQxiOQu8Ru1SVlWLVkOJ5660rDQkFHyWWYkq41tsIEQ55nauZTwLJiJCCIeEe10WAam1KGJqezjNv4rlE8D//vp5B6Vn0CchOslPLweiTy7ZtG019frFsHm1CnArtdHRpoIn/oi1bdvSvQa4wOhw9Cb1VSaWNwJISQxiMR60rtm5ljbZVu3ffZuXRWeCyhUm9Mb5X8pIunXV+4WWEn38rx12SXT/jn5U/8zMS666rmd+//Svv5U6/tWErU+tTrM2sU/tSK/9g81snITJNfUiZ2G5t+4NgzipMsDe3F8KsuERPgh+VR1hHJLho/yJ9YWfHorUoviw+0GKHRrtaY5awVOub6ZmQGOc6ZXKnyafUbSBZ6eKfEvBTfoOjzUTosaCErAQv13zXkLqyXroZksXamaW6/MiE2PUMF7LJtcQ61j+juGrp0roi1P7+fFri9BftO83595mJc29rsG+UkTKefHujxeNvbIsje4rrgtNDDsbINau1mh0WgVWRsdXTq+7NLi13e+E0Ni6GHNZUh17zlX1O5bKBmFy+KDgxaROzaURzwDs1ayXWfq9k4wHNW+wbNZcyvpf3/qGJSfdM+n6rpXJEXlQ5UF42vry2cemycq9Upzg3s8Rlv1XbZW3wVbhINAm9WjRP2nm6R9eVZA3lc/kp/JpQboAqG+S0IQP2SYPcyHBceKaL6mdf86p2jbZdjZ9sVq63ifrf55iUGl10ws9+7B97+7QpH6bPqK5akh6Zl+C85jcXPVLqGxesbelzEYIlo8tXBArt+letVG7O+MnPd0X+67hP2dTV5XpGvepjMzLr4zyd/qiM9qVSZVoH/J0LzHXoMzKtX3CV+rR6D0W1UGFV2t9bWH3QVLfH/zkVWdX6afYSCdYQOinymx/9iHvkmbaJe2ipKVoz8YO4YxIIWzfVH4sLXcO3/a1j41Z3kaUL10X5HML/6cJOWVsvdbwBfDmrhOE17P2MleVfsiPSo8XyhpEWv/aONaXUPL+f6sOc/RuZRboQ718H/5LxbFiYrxdWV9XoDfeWChVVS5bUFplWVpFF12y3JGNDzRT/Qz7LLWFXfY7KPrW0tCA6MaksVO/4BQV1vB+6zQmzoqSgoOxVU1yuG45szr0/Sv790mRP9/C84RJ0TVtv5gOjk77pNbg6MiU/a1deXE+4mYJfcchcs0KlOGqBf6/nVJ46itO3K00LWv7XZ1FgE8l1UyGPOF/jjvWN2a1m0sElXd2zXQ6Qe3D/vhmJUqEYHUipTguPfPBDH8trSvUJrU9GRERQNZ+SHTyYe0g0EqUuKfscQ3kZ9VAAgIsE/jGXTEX4bdBFE/F3bgNoCrGktFSMBHwm5D+zjPgJcP72uq6D++rkMX+VsPTP35Ltpv5/EO1LPQQgAQVoIRrixKOSTpz4/29p37cyKRrSBUc1yd2SOglH8hfwlA/syB04XYud8D0L4uFKbBFMKcroRPB0Kg+rYFcb1ffc1kqqBjqYMAqe0lMT4AdESNCqkSgUw/w+nYYLqtPFYLHTaKKT/TpoEJFZIQOU6TQyoEoXwwICKm+mwFF0oweDCEQA0N0zGBgApKEPvRi+XmoQbWgBjyD4SQGPqLq5BU3w1dVxIgIRbAw5RwUhgOE/BkTLD7a18EF+AXwU39Lka4bc1gUG+4b4fq4EQLfUDWIIHaYJGDVnxvd7Ewf6BcCsBXDTACgcLJr/zb++B1KQijSkIwOZyEIO8pCPAhShGKWowAMAAAA=) format('woff2');}
-@font-face{font-family:ec-lmri10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAQIAA0AAAAAB4QAAAOzAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAglIIBBEICoVQhHALDgABNgIkAxgEIAWCLwcuGy4GEdWivUB8HKZbfBmoZP4Vy1n+g4Bqs6p7JKQnLhATfE2FZEUE7hxWxX9nqhDY7lu7wFKMMIJAQw48wk1/7z4uWgP40T//5xvsk67VXrpVukACLdy0LLBIizHULmDK2tWu8lJsjMV4ibq7CBCAVy69vwXg7Wt+Le8W8bRYgwF55HUgIiPx8Xg5kI2OmYULe9d1GA8EmK/lRv2Gym1YGJbXSj6vE+6eApfmoXMDNjYSBJjK/GhUbJPtqs21irAQAwRcIwBJrRegNIzuIxjkeznkQkBUFAnABBAHFPgBxAQAdOBEAtBJMvVSkSxGiZ7CMuL1gZahxoU2qXDajVcvqPCtXSI0yIp0O3x9+/bNIvSyCr9K8DUr8sYrYmDwxJULDw4otfuN69cPW5GbLA6p8Ia0V1VYhHxviNDzKtx/Vw3fusq9ZU9WWtCKbM7cf96KEMwavIHgRiuSO2jz7t5K7htRKa/Uf4fCN++7fvr0djE7dEqFjxBMP0rw1bxXVfiUCBUO2i92PM7rv4Wgto/t2lbi3Qm+Nb1y4sQWaP3V4Ff/YU2uRtptfc6KDDr/hnBss2373P5o8CPnK/X6dlMPxw50H0ouaLw9uyapTfmQuYPVF4uVUTLaOXj3tsWdu9a1b1rv11TV/9l1B5e2n5GYfrO8Xau9KTH5KTn496xWibHtq0uWNM7IT09vvrdFk/erhzYb1PNKxYAmPdu97ai5MPMndyuVqDq2+vqbjJyKzMldqysM9UFCztby3TnXcl7d13JyT2fbrGdaa55HNmpy8K+MopXFOc9fa7lU48r8fH968rfJcc+f8OY5Fn5SNrxF8fcl+bcrD/8dM/3p8h9r/MnywmRP96Ks3/YVq2aNN51JKz3uyHn/WM+lmkqM7V9lX9o8Iz8zs63n6QYtCpzzRt3YVz3AOX1s7eUKAM4KXM3Pxeh85z1rGu8iXJN2QDXUsP0tU/ybMPHOAgg8P77EGpXY/DebpX1xlPwSR/Q3ravcBthIAALyRn9jqOaF6AdaVwQAAAAw22QcAGKBeMzSvPSTW+iHAKbR6AAkEARojRMAsKlDAJBMCQQATSljFBgsu/ebYt1GIzIWKQ4QaLqSDgwZPH22KYXj1BRTzTKRhxtT9qyJnqa0o+mmmfP6WeoF2Hk5udk1ZRcwTu1s38V7+BJ/JXq5Uz5bhbbPqg/YvU63vak9MK6WyIETj6/WX3u72QQDBcwy20Tyrp2HMM8rc5nH6Ya4yIIrgGQF8yfRSWe9DQUA) format('woff2');}
-@font-face{font-family:ec-lmr12;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAARkAA0AAAAACFgAAAQOAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgmoIBBEICoZ0hVgLFgABNgIkAygEIAWCJgc2G70GIB4FbuwM6Jyo5HwzwVZUFDzPs6l/7iOk9NE6yTQdqTnJRDXNTIRu+wJfzIXnH+7defcPbXERjcVpgFGBp6nFBV4EM/87Cub/msdReO9A7x8dyVp8QFEJdPMGmXARRJXNKoCGo70J2gbdDcJVXgoQwMu3vXcG4K27uhuut9RrdQId1FXdDUKQIi9eKVCs2QCcrIEtJh9HLAEy7zLc//uYlQfEgCDYDWzvWhlfwiBsvYjRoIBFicpYaqU11r/rfwDwEsSn/r/WBc51tjOzEJgnPQhlJICiCCFi+H8iHRBFDixAtlzHS2YnIH8EgAbggI6QCcgOAIiAZgqAEqEWxeu3kUqJS0zKxJZSsG6+DBLbzI9kbFNvl+lBNbdeycXJzov7tlyi8cuFl17Zae6pp4and5h/9tl324USXCXmdMIr8ZAOXuHAq2EbbYcDHR/QwWV3Xfea+MOuft4On+10Jj72deDc8IoObnvuNZH88HTxXxtWzg5fvz+d0Re/fvft3bNfPbeTLcFlYkzdOpdLNJfbYY95/lU6uOLAlSXv1dIFMbHWW7V4Qi3pKZkDja8Emev8lofDIdcygCmBc4rW4r/OYk0BU2lHJb4Cmh2o7Z9rL37oquRZ1lmfuY9lH2t+6tjEbJngJ9xvS6y5d33zSM7ExLjExpULNiYqL1qw+Mvl/ZY5M+a+N3rh619XYkzT7VULA527xXffn5Td3z5/3s72y1LDRxyTe8yW2Kv3j8o7dNrnHSb3mleSe3JFbdsjNzjPcdoax7b6dJzg1Tjnm91mDCiNFS8pmJrdkJmx5dC8hfsPzqgblhzgDjj4XbUa4X67oKpT6fBslB9vnVC24UgNd/Writxj0okbJ4wo7jU7/lRp7J7au534NaX8cfoYd82GrHm9Wk+afCP3VxfsPTI7c+9R9+070JabzJ83zlp4XvXQk6oG3/fYN7OCFd8uwRi7vw07cgq8oqKtG0fMHtmzz0dN9c6phUWnxmqH9ertze42bGx688TExNHunu4zawYljD43WeWWVI4E4EahZX5TToRvUzdGzXdKlKFULbABm6r2UFT+0Yj8sgDBSfcfn51f2P9XyzY+P5SNWvL/Ok/nAWBRAATqZt5jVt4DqAcRttO1miRA9qCeSuJSUTczqyKSMvyVsurpOhOgDRYBoIAAFUOae4NlGQGgmPKKfAyV5gAm25nm6JD6t9OQNhdFAwLDaCXAFOdvG1XkUk7W2sSTwprzJi8FI623zpbs9zdZbilXSrNWrr5cSy3WNFTXQHvS5u4Jk9Jq4QtaqPqm5UvdVHOr29ddurhpFXVJ8NJN3Zuus8KQMcImm61cWTOXdjU797v5veZWVnUwWwmgBIf+V7VyH6OMNt4kUz0AAAA=) format('woff2');}
+<![CDATA[@font-face{font-family:ec-lmtt10;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
+@font-face{font-family:ec-lmr10;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
+@font-face{font-family:ec-lmri10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAP8AA0AAAAAB4QAAAOoAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAglIIBBEICoVQhHALDgABNgIkAxgEIAWCLwcuGy4GIB6HsWN6SUYyQttrPcAeoZITfOxH2/e+nEoyBY+iks1LMAlJLFSaWCjXaB5JDIl28n/f6d9pPVtjU2GDWkq++k5S0M9UAfzP/+UO9wL+dM/v+QY70rvG2rpVeoEEWrhpWWCRFmOovYApm1f5timccD+bhyxsThch4Ou2ewMAfNvtfrruRnkfdYAg+ZBvN4DHMorfwMzKZKMQ3nDhkYse6QAuqCpUF83F5hAQLMsXnh+YhA9EwaUDBKwGGjVKXFCgarEEYRjbvw2yiJqAaySS+h/wBbH0ESryvUazBkAsBj5Qg1Y04x9A9AFQYiU+UEpZlpMhHUkoEBFVW3mKEGw+x+nDXLk9V7Zg7r4xxIkieH7zu4eH+xHnEuZeAfZVgnf9Mopkr+zYcmQG41fXd++eJ3h7oe4m5vbIXcFcxDG7jjjnMDd8rIf3XcUYmFCSYxO8fsXpzQQP2ErRPcDuJXiqUf3jsxXV68zUSuEjCu+9b/f69cOojLOGuQvAll8E9hW1K5i7hjiaUdOoeKwWPgBsbS+NDXlq3OB90x0rKwNAGzsNvvIPs9nJcxs8S/CiNl9HtKciQ8/IY9HHqMtZAsNCAo9EIxlz0hrWw8omUi76MRXR+HkdFpw4TUWPD9V5+2a622aZ8+OlC8qZsw3uxZLyn/TdnCZlhNW7VcD8dTuWbNphrFNvraAuL28/6WBzzzjWLipwh0GETaDbLZrJlpKPDCcs2bzL6dVrBRUDxTxfYwNB/FtC5Yn+uMoulStTjnmBlKvSOmf+zCOtbGZ/Kmi1aquc2+XYwA9vq9TN5aXfSIudW2Gp0Woe68U7aL/TUd9vOP9LePvTqd+yftykKc3011L6OqWN7db0bZDTXaap3FsKbODHHU0njMgGewV1RUVXZrOFgwZVmbRnyjiCKko13W4AgDcIVm3YJCzgL2ujkOAPxPDzBQXlRwWDfEso5gxD74wQzMYNn06StP8vQhR/rpJfQlv8yu/LNwSgUYIgn/7/CrEFCyze5/cFBACo4xrQAHEQIGahtGAJywEIg1A7TQAkQmALCoBGFyGQau0CFCalKKi0eLW/1uQL8IuySWoFgsI+8qDSr/nsWrdlyFegVA4mBrh+ozSHOdTvUqRQ+etLZclAYqEwkGyRMqQx3R1LyUzm0U5jYWRgW4W2l2ZlkCyKQdqSGWmmRCFsMc1NG5rF2ARwSoZSZXLIuyQmYR5emcuYFAOIi3DgCgApCvUn0ckewWIB) format('woff2');}
+@font-face{font-family:ec-lmr12;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAARUAA0AAAAACFgAAAP/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgmoIBBEICoZ0hVgLFgABNgIkAygEIAWCJgc2G70GIB6FcbNzhIhKE9+ZQtStRVDs97p3DwKEOtEApL5QmahE+NhMXF2Fqq6q7VS2sg5Yo0aD2rTZxKF1UqclNSepuZyI0XM4EfWfSRX8z/81j6OsQO9Gn2QtPqArWrZwg0y4CKLKZhVAw9HeBG1vOsVasCJs6lS7gqCWQsDrPU/mAW8Oplw8e5O4E9NQkfeyg+ABUuIjPmTQ+aoAmtgEbHF5ndoCaPwOOfc/UlUeowMBOwpyjBvJK7Zo6ykcgk7NUq2hVWfd9Pwd/wPALYhP/d982cUXnk+DQEDUECyJBMkcQavw/5QVqGmiGRjX4ngzORgQ/yNBK+gHwxB9QOwAoMQCGUjlas2tfqlwJzZER5wJTaxhXVMST2ilqaKMVlIDSYnoid3rccdU1NkINFlF0ctJq9fb186eLc21rV+48CBtTsQNRFkCaT28oMRbGHVbKkd5Y5TdMUpcc2DLHSIkb7xKS5ft58NXgRKZbbcocc+VO4SYSnOJcCesHC3dPWoso1bePbjXPfv2YnuaiGuIPHXrvFtF4QkthdYJGyhx3aj1mm8jcUGUWOnzaE6oLD1J2Sj/W2LZFiHopJS4GV2YIjKzKIoId1s8QEQqJSrxFtCqLVHxz6WLH9pDv0Cz4A13puJM4IXJbDXJFVjus5Wm9sCnU+o8Npvt3bmhN+u+oqH5fXt0G1Na+ySj8e5Hd8gnjB0ejSIl3eLjp/kVIzvq6wZ3rDGkpE7STuqnu3003WTMnLe2BeF1VtqZbt7lp7YxVzCnG0NrIu1yeS9mqdKlNNZaZ9liVlTRq6y035i6xpGjS32S9bFc7Ogvnn2Eo7SZh711SoUKv9jgXOde4yncVfCw4CYZ2e25qZbh1TYXrHWHvA8yNpus8YM1TuK63ZDNxKt1fsF2vLzdMHx8ReXwCUdGjCqXJhPqsjWNSzyTZngkHDnzqUrs9LkF8tj99RqkNuMtLPr3Tq1OC4t8EeDLzDa3mK3zTg6P4KtdkrOMffPYvAxuWEhmOSghY7Heg7MyjgR4SrC4ukOtwDfDdpXykUbJZeIMLIeV4nxYRf7sCPllguDRbrVdvXnM12Za/vZRNqrV/495MY+BZgmCfH68R1U+AfIVgsu3RlfogTgDHKtbJQe32InJsIB+mO4D5+TggKDVJgWUgEMyIoG9aXaNgFRpV0GFeTWESpvHvWvNnqEQpRapFQBROGRFqAwStq11W40b3fXBM8DNbR/eAOzrqYd+4vf7aNeKYxAoGCcKp1WzgFB1guaFKANnEGzFF7RQ9T7trZwhMJiL4lqbA6pIWpgPCbiQhuBqQEOrPvrqXFnKpVRz4H03Px8YjKpOZCsBSOxs/Ve18pJ0GXLkK3IMAA==) format('woff2');}
text.f4 {font-family:ec-lmr12;font-size:14.346196px}
text.f5 {font-family:ec-lmtt10;font-size:10.909088px}
text.f7 {font-family:ec-lmri10;font-size:10.909088px}
@@ -47,7 +47,7 @@ text.f9 {font-family:ec-lmr10;font-size:10.909088px}
<svg height='0' id='msvg@kbdCtrl@0' onfocus='' onkeydown='if($("0").controls){return;}switch(event.key){case" ":if($("0").paused){$("0").play();}else{$("0").pause();}break;case"ArrowUp":if(event.ctrlKey){$("0").muted=false;}else{try{$("0").volume+=0.02;}catch(e){}}break;case"ArrowDown":if(event.ctrlKey){$("0").muted=true;}else{try{$("0").volume-=0.02;}catch(e){}}break;case"ArrowLeft":if(event.ctrlKey){$("0").currentTime-=$("0").duration/10;}else{$("0").currentTime-=$("0").duration/100;}break;case"ArrowRight":if(event.ctrlKey){$("0").currentTime+=$("0").duration/10;}else{$("0").currentTime+=$("0").duration/100;}break;case"Home":$("0").currentTime=0;break;case"End":$("0").currentTime=$("0").duration;break;}' width='0'/>
<foreignObject cursor='pointer' height='147.27267' ontouchstart='event.preventDefault();event.stopPropagation();if($("0").paused){$("0").play();}else{$("0").pause();}return;' transform='translate(23.862603,8.940526)' width='261.81812'>
-<video height='100%' id='msvg@0' onmousedown='event.preventDefault();event.stopPropagation();event.target.pause();' onmouseup='event.preventDefault();event.stopPropagation();event.target.play();' onplaying='$("kbdCtrl@0").focus();' width='100%' x='0' xmlns='http://www.w3.org/1999/xhtml' y='0'>
+<video height='100%' id='msvg@0' onkeydown='if(event.target.controls){return;}switch(event.key){case" ":if(event.target.paused){event.target.play();}else{event.target.pause();}break;case"ArrowUp":if(event.ctrlKey){event.target.muted=false;}else{try{event.target.volume+=0.02;}catch(e){}}break;case"ArrowDown":if(event.ctrlKey){event.target.muted=true;}else{try{event.target.volume-=0.02;}catch(e){}}break;case"ArrowLeft":if(event.ctrlKey){event.target.currentTime-=event.target.duration/10;}else{event.target.currentTime-=event.target.duration/100;}break;case"ArrowRight":if(event.ctrlKey){event.target.currentTime+=event.target.duration/10;}else{event.target.currentTime+=event.target.duration/100;}break;case"Home":event.target.currentTime=0;break;case"End":event.target.currentTime=event.target.duration;break;}' onmousedown='event.preventDefault();event.stopPropagation();event.target.pause();' onmouseup='event.preventDefault();event.stopPropagation();event.target.play();' onplaying='$("kbdCtrl@0").focus();event.target.focus();' width='100%' x='0' xmlns='http://www.w3.org/1999/xhtml' y='0'>
<source src='data:audio/mpeg;base64,
AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQACn0NtZGF0AAACrgYF//+q3EXpvebZSLeWLNgg2SPu
73gyNjQgLSBjb3JlIDE0OCByMjc5NSBhYWE5YWE4IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMt
diff --git a/macros/latex/contrib/media4svg/example/beamer-example-3.svg b/macros/latex/contrib/media4svg/example/beamer-example-3.svg
index 0640c2aa5d..6e87b41283 100644
--- a/macros/latex/contrib/media4svg/example/beamer-example-3.svg
+++ b/macros/latex/contrib/media4svg/example/beamer-example-3.svg
@@ -9,9 +9,9 @@ function $(id) {return document.getElementById("msvg@"+id.toString().trim());};
</script>
</defs>
<style type='text/css'>
-<![CDATA[@font-face{font-family:ec-lmtt10;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
-@font-face{font-family:ec-lmr10;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
-@font-face{font-family:ec-lmr12;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAUcAA0AAAAACXgAAATFAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgnIIBBEICokIhzYLGAABNgIkAywEIAWCJgc4G6kHUZQPTgLix0FOxmtKiHKJuFzObaW8bBS/F//j4fv9fr/2Pvci5pkElSGphig2nRDFKilIyX9+8xTfz+O23of+00Z7OKsJIxMxOm+763FRWfkfCzD/1zwNOivgbydydk1wQL0orOANaG+iAyqiiLQCah6OEpA2ANugu0G4ynMh4OfOf7Ph196l4jpHtsW7mnzIfXgCyfhP3oqT/iKww0MPzqMrABzpKlTDX17uNNjNW7x3ohK+dQcjeA4iPfRwuyOVajVq1qGrATEq7m+LLTDXHDNMLwRaNBGURCLJHXiLv4aqRhOatUCrNmH/s9kLREMJ2sEQMAHiHsQnoMIiTtHU7uRNs6pWQi+Mwyik8XMCGQI48atpI0tkjwi+Nk9F8HEzg9npkvn7MbvVRjV37kbjgzG3biHmJtYCQrMGePRqjGEVobFHmF2LuIQmeM0CoJc4zzhDaA4tQnk0xlxm1iyTWYRmx409W0AXsWsRPws0awCOYvY60Dc0OZCjok0PY3bl3o03ERO57hKhuWA2B+AZg1nJ5uuY3XnxJkLamllrG8NUn3nrkFKFl93at6t79o0FZgRiVyLu1BEOvXxXSe8iZi3HV9NrQuuQfheVPhExS80PYva65U3Mnt4/W4LRoLA9Yr3jlsoVoNZdvhGDbAypaLfrrGoj43lME74ByhEG+jBmEZdAGOHr16OA4NBb9uzoPUY1Wo5VsGLNDKBN1XlzEUPUHYpmhVnujBmExiJ/1qx1uwjruaK5L6mT6pMe51W6hNBBFBBobjW1RJwQms9/mF2UqF+u9oufUVfvSkqULVJDaYtSQpY2t5SyzUJHuKpvnn/EsQ8PTjnYXlqrf23RrC0tAh0LdgqtsGmN0C247wpcUjncvpTFud/24FGqetjw4qLe4SsVUdHjxeM7jG4citUaOfOVSZpvkYF4mq1TzvHNkosws0FCiPxNk+WOkkV8q+xgQyP9Cp0MdYsqu2NkUemwEdnOkdbBVPCIjw5k4iFCx97MMEotgC+kLFnaMgaTMsZejxqvJLckR+v75hufNTTa77RPYrzeEMxIKyZYZ3dy5Q+tZN/ooB/6Za02NcI/iVE9ZpOfWZca8CKnZGROIZXjqb0JqSplUsu76gZw9kbJ4Bh17uDYg0N0DrpWpihRVLrQIWKqfdjBk+/z2JoPFRDd72/s610gjWoynUBO2G0MKSHNXyTZxo7d/ayxuyLJH75MIY+4pyOSKk0ViUsqUbNZGsfcj2RSixHpsm70xMrAKpFWGxOTNNHP0hgAALYg8AzaKuTBB8UWAf9+CeNy1BaEi/DV9qAA/dcoemUEAAjg761Lr4t1g36ICO6rA/agivsa74pZ7kSLBEF+mdvIKzJAGYWEg2+PG9aA2AX5g0tSbGObqdBjXWSoeEsagwySrw9CuwM8kAiBVR4AtDiHQKp1KNIVCwqAWruP7k1afCuiapXaAKDYYABqQ5h1m/RY4VajNnIKcHvXJlcArGnWpCP7+DbVKlEUPMhQAlAqlXMfajYQckqnV0IpyFzwrTBUvq26klJ4yKgAqrLcfRWtlJIr3b3cryhDAGcm3aZd7coRinw1L9zZ55d7yGBVH8xWAkAKvva/clstixUnSZoMOXIBAAAA) format('woff2');}
+<![CDATA[@font-face{font-family:ec-lmtt10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAxMAA0AAAAAF9wAAAv1AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgwoIBBEICqQknFcLVAABNgIkA1oEIAWCLwd0G9USUZRuVh7gywLekD7qwhiwEGPA8FTdFcp16YpNPv/rynJVsOtZ+wIe2mDMRISB1wiwMfT+S8QKWZZtHQ2FZTBumSK0U0xqxhUO8LTLqiklUkxJ4UxOu3T0Q3QfQp+60qW3Np+k4BuJ3/oAcFH9tadUJoGRQDMpuXKKJpN190B+pErSFseHRH+JKJIDfku0AD//1+rvbGQAtVcEaNEkz2LRrjZopMil3rv8vwaw2WEFVXhZom1BCAHYs/7/zZUnk5RZMQkFbHyN+DvzszABWsYDgGyBJApb4SqJQN6rUBUKhalQ9oRytSHOmpnGOCSE9UXnIFT6tONj/pj7c6//7I1DRJFJIAnEi9As4PKSDP+gjzwZIPrTINs5+KmLm1QzAJ36x18HBWriDvAfpySUSmUvf0ZC+qYwtQoV46d7ZrMhJUpRr7VOeumr/4FkSw7ahrUaa6eLPn8b++qj9+47Odjb2RZkiZAMAMd4yN4m2zVolZDIYgPnX6TlYbczQZb/wrNz+ADy8kViiVQmVwCUV6g1GGhr9YaIyCiIbgHcMrsu9oZYOOCBYW38Mrc5Ornfl5K9r0kFupEHx1xiHjVmT78jz7ah2ed3m8iUTBfMgIVr4AABEAfeYAjBwC68mcc6QTnfEziwD3mA0xGwHtOjJxJVdRUCwRK5fhEEgTlgcA35QVoPUEs+kAnRtU8cATHAGHNGPGOMn5ITTOcQPM8IVk3ZbQjuZgQV/iCYpXqGS3qKLEDOswhvSQ+m1q/mwKTd2xVcGtTUYGxMKPPO8g8QrBcZtI2qqgPsAcFgfx0qIc4d1U+lkAtMz9jr9QKxbFSfledItFoGkxPknXSR+xxJd1LvrhQ/lb5WeI5UVzN91zjD9MJXBNJDuxB8bjLaYhiSSppWaW7hYXcAsoZCPNCo5PFdg6dqfNlAqmSphCDxccFq9cxCdxpOB730w0EGHS5XKfqGt+ixV0QFPA7TTshmADFi+WYpN2zxeuGG1GNjooBwaKpRo4tQCx8Jpp6+QIctsCOilWjdz0Z5igjX7xSB11d1uU9hegBE1RmYrxjEGgxzY+0C2fEgJOy2CADxu8nqKDbUGyKtq3sTrW1yPJUzLSl1sRGQAWwo0kBvEfTAyoQTb6Jc3PVPSVdOEDOcSpRXOQg82wo1yw/r8SGwklaBg4Ey1zw1JIOTnYxeDgF0vRU/o7wyoAvBPkbcm6ACWYnd4WBqSS1rFLAkVtMMoTKwM0puH8u6Wv0RpidATiuP0ZQzQ4NxnZ3H0Pr5yz3RY+MtrFJb6JC4frHb5Qg7q9m38Evru4WwU3mU+yNx2Q4MRGlZ0JNHSiu+JiIYcmDCgLaFptah9qgvVRFctjMibC+vkR/IxZxFBR3vBUmd/ENcSNnYqGy0nH6p0jOBqRaidYSBxumW5Fd18inheWadHO50l+qMRikxmlnP4V1N9UkI7p/eHo9ob5/uRvAepvzagfhiNDihO+2XEXV2cJUid7xw+861YTqhKADB4ahRHjQbo8EuTrMn+qbGWPvPClkv4avLgpfSxLH4b90RLzqa3Q6hrNhpdReNRLymscK3rP3mVZ1p8B2/KELonOq3qzMSfZ2cVCNTf24hj9+wuluhNpq8Tpdz/g0tL0HsyjJMubaOEx/QlQeH9nTIZuYWDwDSLK1CxlPfmswz9bC7K64THhM8sdGjAJDcwwYgVoNPXPUyLVNSktzHLlxbZ+bcjE7I/R7bQ7govCT4wgJEGfDcccHZ1u+3ZQRO5LT1SdXKKqltLZyVzKagS9fWek2Kf3suipny23mj/Kr7tqrT1NVBY2MfaosrLlsnNWwY6/aktuA0OzNoLKi8wHfQckWauiLC+nhZ9OHWlfCrlruRu59NGkMAeupw5e85866Zj6NG9L7jS05xqHaJ8Ou4yy7/Zzt6//N2RN9abTmH//4mSpcpA12r+3Zv16hl1aA2DSo6NMtUnOALVoklt5e4CSKzzpNW2aXh3ad/Ai1RKv8AD9Y7U8qiRxsLjImtSkqrm6WRsp2GVWLhqEA6LNNqICeHjmCj5jwTntVKFeXZHcW+DLxcyd0rFY6OninL7F/UoGGvjjQETsAepKCR4n9Wiq5N+B18lcr/Y/eKmdw28gimtito3Hg9dv9e/T7c2J9q37M8s+7AB/o/hMo/IB1VB3jCA5PzidllZFJNUXrVv9cFkpUC/nFlWqfq0gaDu5dC9nGfHeTsOCs8q8l01bg8lhZHnlc8lpQ2wGO3hugscq6K337lx/KHiu04Bn5baHvflttyHszViIGlDWLPOiRiV2N4jPfmaJP6ppNp6UwRbxvLpPThe0VyltM1CmmJe2JrCn1V0zuWC5F3tGrIs0lldtIyB4vq62gTVAYvbtS/DCqii3bIHypoQovhlr9ahfJly+TCzNI+AxtQVFltHJlUY6HNdJYtLq8+E/zt7CO4N/qsN72uLlt6iZMdYUsOAVPBLAk9PaXe5PLIcyJrBwypt9Ma4wfxv1qwS4W+wPzket9VXddBRTmVUluYmCa0s5dYs2vI2BvR2NyWkWXywkVN36S2IKkBvd8YuujR4mqb9aqv7j9kF4G2rbSqlTPMMz60I5XjtlEJLAq2dSY3Sq/zpJLNjp2ak80JTEvwKtCW+zjte+xjUznzmgiYjbN1K8XwByuyRyU93u+iGjbIiP0xLUQH2lyYPrLkyPlcmg4z1NV6JJ0l+6liNgttUOWmGtZnmeeMh0IGhvGGybZ2MI6JwfvitXptWxiau6ecHttgHq363N1CL1eCwf+qGsL8chKazN7jAfOVuRpaiGPks2zOLqCs0adsT2KWIDEb5+JPGK1pBjbB9HBnsjcREFXY+O++r/PIYfj4ymNDfCosCA95hVSfjcYxYFTx/tYVf4rR652cUrOakram6D3j6QiM1I2U6v96NVHVc+atafYcvUhkfYU+CrxsVW7/cVTzwvt/ydlvPVnvcp+ZXkNWFcn6Br0GVuvfmzGhCpt0SvOorKKqDlpW1FWj6r5fsvcHioQe2YXYu9HzHuZNxOM0TT1FBvlDRYdpjRaTxQ3Gctsg6dg/v0GncqS3UDBSBGf6vV4kzwprFG6U+TMeVIaaflkuqkEpApOXbUuzewWtO7dBlaM4J9u19PnX9Cb2fVldlXZOiOQav7hiO1lgoQRjh5EiONSfVaN83p+uDHXQj9wK7JyBGzjKGyzLopq/xWaWVI6ke9WX6ZHep55KDf5R9GWv6cZ2YfPUxHEdn0voCL2uURJewHhdYfhMypS7iw6q22Xksrotd19pnRXrUtqjjwR9VAu6lN0/BvyeZV86vyvqf7qAn+9wEEierNSfotAsj8InWRAX4SAT2JMJeO+SKKlQSYwV8zSSB9LiakQfNdS3CRMkJlse1xIh7wjea7QEPnBR56m4Q0PdcYyvvoBulttM8BERxvDu0wy19NS+i/AWYlYVl/ep6iNEajC4jSe65GbRaFxMoC0n84nLFP+zmzJR+fMt9i2PgMsuzPDhbaXzF6cv7CQYlhET0ydYw+cGnL9J2oxVUCPVf6IN7+lOtIYRTM0KqXF0v/Y1qP8L4LJ9WW44S7NSQjxDbbg/sFoPZ1olCxanLxj/dnC28Oyf7pnPJC769yFzi2TOY1lDjwrZle4GZBvZwjGCd87NbOO7zTEMAyAJCQILAEET5M91GBJGQPlDf7zZLFq85K+cwXjxqYZ1DnZVRE7QjjlSBVEu6ANKUk1EEaNj/8H8gsSIgh7qtHz72ww4BUNaczPTcDsFze7DEIJTOFqkOEYa4QokHvy0foJwOjkU55PjU9FLkKBvQZsybGqVEAomWD8kVlokT0Qq3PbiBFEaL04SZmEpWYiDiGWRxBAIEi6mxQw+ksUsUiPPxia01hHtdcvP4mAHR4526+aorzynow66nb2LlprTcbKyL57E8tTmmrKwI22yg5uW05zsDH4wruL8XVo21zmtdl2irnlTiybSDjrclny0034+gHXNddFVa+1EGtGowNexDIf1WkazBs9+n10pf6DuDoGAHEw8fAJCYhJSMnIaOqnSpMtG8fDKQfPJladQkWIlSpWrUKlKtRq16jXQCAAAAA==) format('woff2');}
+@font-face{font-family:ec-lmr10;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
+@font-face{font-family:ec-lmr12;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAUgAA0AAAAACXgAAATMAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgnIIBBEICokIhzYLGAABNgIkAywEIAWCJgc4G6kHUZROThvi52HsQNtqhiQDC0lLU4opaD6PQ+XEMoLvbZb9/owW4QBnj1DSEaL2CAyEqSs3RwSRU2cuZxwC4GAelmxONnekOkBHtHdOJ+NA/Kz+B4iNWsLj83/N01jaBfC3iczWxleNixbdm+iAiigirYCah6MEpA3ANuhuEK7yXAj44PVPm+DDd1Zed50jNcWTSqSH0jt4BKTjM5VWjBTMBNfw0K39q05iu+uz4n8H+9PrervpmdeHVcLn1WB4bmusQwdut13NGRdccq3r/4ecTt7fdWnXolm9ukJwiDoCFomHJNDBY+avIS+hDvUaoFGTsP++dBPifyXQDAZgGHET8RogxzSpyGk18aYpzxdHRww4G5SBqhBDaQAHfTVRqAx1IOYX5aMxPyplEamj2tYQmdGkW1omZDd8Hz+G7CMkAjA3DHJmCCEwiDkdiMgI5MWcy3A7uLPboP4q5jY7YQKDEC/b2CjXiLn5h8vToB2SEcgfDbhhACIPAPOQiwWxNCN/BpGBlYlHkPUavY25mwrNQBYRauoBIgu3HkEoyjWuzQ6jfObjTSsa9T5eXeye/bBdAUMyAHmnjiWmb1dpmxR2hGNDzHBkFEp2oegTIdujuIHIA+VHiFxZa6IQHBTVgcRLj1WuQK2auRGWbAzSjPEDQk+wZuc5j3FwAiLAnEEE8mKIIHrwwBtgHmZ6eb73GLmwD9Ggf7ge3Ckfl9ACWVx3KFy/Qnx9PeaUEhsbRxexRotQyxv1S3GXTG/Q4lhQV8jRSVGtJk040C2R/1VMSpBkZpx9QH1BoZEKZbVFVVp1ixWlkl66JZ1tFlzrQe9rdfA8//nlZV2t2yOS9zsbp7cIiCmRasZSc6uneNILI5CpWB3RSSco99tevg6LO3wkNWXvkQFLb58y4bIdMg83/USONbyVC7dLkRKu1dKPvTBF3QINRRQWcpAPsdCjOvnVYlykZSSzxCLjttAxO46lpB8+GmPgpeGi7nL0i65K0CYW01GQ9o4TAN9VzENUt5xEKuasjoR6mZXKdIiPpF2i7DVpmTX9VUp2TBoMVlFjXcSWQrJ/t4TY+Tj/lszYqpkn+D8ock9u8jOLqx+wVqmOjKpWsSpTXwkMo62Ct3ysbgDee5h28GRc/MFTG4eYWHStbEqQUHqHrmeNjvvGpU8JJO+zRFlW3TJvwJxZB0esvDjoseGPvTnA5sWXfqRiBoy/4ZaHB0ytbpznx2qVd6cuhhfHtjQ0Hq3FpcFb05C5w+/akhrDJ714/+M1p/6Glqt3rQ5+fO6wAeClMH3hy/W5b6uvK31csmeJakEypES1h+viH43GKweCv26uee6I+MJfG3D2+QF70K7/P2YK6XU0SCBIr5vb2J+VIRsshA03xzl9EJtI75uUCqPjFSOiQ19WVsRXRsRtulJJF7SPZlvlICEElpoGaNAvOmAlLWwRZMY4CEqaPdW9ToM3ZCJvlDQBQGatLlAywF3r1unwtPMuuKqiyvkLVytVVrvkomuzj7/qlJpC1TRlhfkKNSdMHco1YBUz2YSsKiu+FYbKXz1VK6rTysX8onZi6ip0KVyZOTWyVcvl2K3mqmucWZmei11Nd2efvzKtbFXDbCWQBKP5r9xWs6yx1kZbbbfHPg==) format('woff2');}
text.f4 {font-family:ec-lmr12;font-size:14.346196px}
text.f5 {font-family:ec-lmtt10;font-size:10.909088px}
text.f9 {font-family:ec-lmr10;font-size:10.909088px}
@@ -39,7 +39,7 @@ text.f9 {font-family:ec-lmr10;font-size:10.909088px}
<svg height='0' id='msvg@kbdCtrl@1' onfocus='' onkeydown='if($("1").controls){return;}switch(event.key){case" ":if($("1").paused){$("1").play();}else{$("1").pause();}break;case"ArrowUp":if(event.ctrlKey){$("1").muted=false;}else{try{$("1").volume+=0.02;}catch(e){}}break;case"ArrowDown":if(event.ctrlKey){$("1").muted=true;}else{try{$("1").volume-=0.02;}catch(e){}}break;case"ArrowLeft":if(event.ctrlKey){$("1").currentTime-=$("1").duration/10;}else{$("1").currentTime-=$("1").duration/100;}break;case"ArrowRight":if(event.ctrlKey){$("1").currentTime+=$("1").duration/10;}else{$("1").currentTime+=$("1").duration/100;}break;case"Home":$("1").currentTime=0;break;case"End":$("1").currentTime=$("1").duration;break;}' width='0'/>
<foreignObject cursor='pointer' height='147.27267' ontouchstart='event.preventDefault();event.stopPropagation();if($("1").paused){$("1").play();}else{$("1").pause();}return;' transform='translate(23.862603,17.070044)' width='261.81812'>
-<video height='100%' id='msvg@1' onmousedown='event.preventDefault();event.stopPropagation();event.target.pause();' onmouseup='event.preventDefault();event.stopPropagation();event.target.play();' onplaying='$("kbdCtrl@1").focus();' width='100%' x='0' xmlns='http://www.w3.org/1999/xhtml' y='0'>
+<video height='100%' id='msvg@1' onkeydown='if(event.target.controls){return;}switch(event.key){case" ":if(event.target.paused){event.target.play();}else{event.target.pause();}break;case"ArrowUp":if(event.ctrlKey){event.target.muted=false;}else{try{event.target.volume+=0.02;}catch(e){}}break;case"ArrowDown":if(event.ctrlKey){event.target.muted=true;}else{try{event.target.volume-=0.02;}catch(e){}}break;case"ArrowLeft":if(event.ctrlKey){event.target.currentTime-=event.target.duration/10;}else{event.target.currentTime-=event.target.duration/100;}break;case"ArrowRight":if(event.ctrlKey){event.target.currentTime+=event.target.duration/10;}else{event.target.currentTime+=event.target.duration/100;}break;case"Home":event.target.currentTime=0;break;case"End":event.target.currentTime=event.target.duration;break;}' onmousedown='event.preventDefault();event.stopPropagation();event.target.pause();' onmouseup='event.preventDefault();event.stopPropagation();event.target.play();' onplaying='$("kbdCtrl@1").focus();event.target.focus();' width='100%' x='0' xmlns='http://www.w3.org/1999/xhtml' y='0'>
<source src='https://interactive-examples.mdn.mozilla.net/media/examples/flower.webm' type='audio/mpeg'/>
</video>
</foreignObject>
diff --git a/macros/latex/contrib/media4svg/example/beamer-example-4.svg b/macros/latex/contrib/media4svg/example/beamer-example-4.svg
index 9a74558f8d..f83eea5f42 100644
--- a/macros/latex/contrib/media4svg/example/beamer-example-4.svg
+++ b/macros/latex/contrib/media4svg/example/beamer-example-4.svg
@@ -9,12 +9,12 @@ function $(id) {return document.getElementById("msvg@"+id.toString().trim());};
</script>
</defs>
<style type='text/css'>
-<![CDATA[@font-face{font-family:cmr10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAKoAA0AAAAABdAAAAJUAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgkIIBBEICoJQgkMLCgABNgIkAxAEIAWCGgcqG9AEIB6HsXukhFiJSVm9s3iAX/ffuXfmeQVFoYLITL8uFcmKvE5yAzQ+sZ97M4sWRUQT9zN5KRGXaBlOW11TN8OxOeAH8NceKEyLPu4SDwMtHdPWxriAXyiNIm5vZlZMtKltaVcS6RAC3OrpHnh4v6S1h2RI2CJHXBcvYkMiKjxnCZEoVwIQAGD0wsQc0J4ivs/ypsb33CAAEiRohgT6owhohqoVSKUC2mdZ+Wz2FAkIeQIgREQACPNT5NLWcTUIWSaCFBRRxmywFkCKHsigmKYdQu2MVwuVXPV0IuWUV+4OVbvK6+rdRnniF7+NuFNZf8+s9WFjFH/9MdE78xsum/8ePn76btW9MyeOYOg7iNvlBeSZVHV3jTta7yvte9Hq8uTLPU5eXpsvXiiWLo0YvrflfEjua12b7dbF58re64FYRlOoWPHvhsK8V5/+9fH5xGJ6sG/1ETN5I/t+0lLngct8MbjQfLd5AojzE3J356qjAJwLevb/K6TecS6fe6wpSYTAJmwO+vV8+Fu58GQSAp1vTrsyq2b/b8VK8nI3fLR1diUpxvegKIJAfJ9d0U2GAElRIDnSZAgJMESYCDcSUpMxQUQQMJgRQNFCJBAV1EICidb6SCCnYpcA8nJOS4S0JKoBFSSGEoGcBn625ZXtN9bCysPexBV+K3MCI50c3eHM1cqCmJWRmZiX2MzBlcVkt7AxsHeqlRnhsSVVc10txFajWewVzw5XC1gWm8FuOI+rgIkWrm42Ad1iFkZmuBf5LUYzgkXHvBVXixmI+1xipggTURE=) format('woff2');}
-@font-face{font-family:ec-lmss9;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAVwAA0AAAAAClgAAAUbAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgwIIBBEICoociBcLJgABNgIkA0gEIAWCJgdGG0QIUZQwTgPEj8TY1sHW6SLE0USZHWfL6nD4n//wnfbnDoqZpCnEVFkktYetk9ZrZ9fpPkFZUV8P+hNhcLttqhlngWP8+Q8MMHDOYdiwQPagt1ibVxXIfWSPEsukBE7RUwHKmQ+A911/y3XLlVg8b9v8kdgJAAHABfftVwHg+nbL1sXEGOhZPMBs6g7AuIymO3LDAAx4FiZMeGrrWzUIoMK8+V+Gzp60383CNkvkSWiZiRTlYC8E8sXC51aoUkvmMGSWOeadEMSAaZ9pe+zyg4995B1veyuC5UAeYNmIAcDoTGYCLwsO4CHiARZPeHkL+FGIBqOPCb78yLniuhhA/6sAAH8AkAhIB3IC/QEAAA6AGQMAYLqJ25k4qNNuHBcXExkoLSEqb919yEgB8SSO3ptEQZTBoHcqkEiBJPJGThN5YaZ20vKj4NIuk1O/Io5P+MmqH5/oFlwXsUq9JI5P2tJiIsFORjKQqIpk4IwmXmAMrMCJrJERZzovV2vu8+QML6n6dvdlnVj22amfktSfLmHVRcGlKZfowhUyss7uUFTfxDng4qxgynWI2qpXP038dHQ5Tc4zV46IGNDCTJdzkses+vbjKuekkReYArpIb+Be12IZBpzltAldlaOgGSXhA7r3JVXkBU40sU7BpVxDigRGDOzw02dvvQZoMDpSOPkGnOlzV0hbdYWOSyBVISBnPLeBStJVTgc0OkIXc/1Z0AfytgouIpEEEiBAZFaJ43rc616vP4493H7Y3JnJ161rGC91VCmVyqLFlXKV4piwdModk17x8SeTXPvOvfiCfcw+6ir9vPYAihoHw+hfuUx+kvwnadVnf7iNhW57VnuW3W2vba+1A7ubR2b+Nxjy2va0rNaqMkdjqUnDzDpTxrBzYYttsOFR/RM5sMtammFpayhdONhm0mZULh9cvULDx3H1Dke93JTBV1flK2mG3PQ1zKvlhZk2qWC0LCe5VRr38fX2/sOcKkWFPqeKrMmCzxP56ro8vaSpp7aierje/MOYoeroecvwsmd2r9hkb2/Jxh53a3LZRK1hZMP+oQ11akWxRZY2B301YJvUJst6Z5u1QD6Ez6+PLc+t79UXbXIMrNrUqzfm8JV1FrlY7aPK4u3/7KusMKfU5BnK8b671d2K22lvP9Vd3BbZNtRtbahp2i//ZcvVLZHPJLxLxnjswD53Sscvgfs3BtY81dezdvNg/7q13b1r1zkkb0nuLCiSutokVbYWKEobfr7d27Gp2l5vy2ldIf+2taVp5rpBCTW6fVHT1QUV1tbearSsqJ1FZT1d9ftbLzUOdVcDapjPO3kW/Zdni59dWb+yvVjFJq25Tl4iAOC7IPv53pPDz3nfefA3EcIycgYezMt5vwf9A01EvTMBIODIHOtwn6nw9xLZJ3eIRQFX3Ns9CfACAwQ9hjl5xTqXAwBzG8G29c9UcQBQEzDPKe+Yvl4ZhxUw5xcTc0xiAyTmmAR/k5ajrQEiyCC6AeT0FecKQAlL0nGolgJAgyhlXgovDCMAAAMeBshkkaibyUPEa8s94IUtWBDnDQYCIEwWtfyZPII5T/WAr49MM91cc1lh2jd3rhWoNtMM8w67zzFiSKw8ZjlisO1ahwzIClUTaK58g2XC8+QY8eEy0H/OyFBsnjkn1hY7NJBVRYGKuflZlqzH2wCgLaU55hqrrMilqmbBa4bKueYcVLUiWx0AA7P6/yJ8XLJUGSaqVK1GrRat2khkKh0A) format('woff2');}
-@font-face{font-family:ec-lmtt10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAARcAA0AAAAACFgAAAQFAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgloIBBEICocIhX8LFgABNgIkAxwEIAWCLwc2G9EGUZQvShXgZ0LmdoVm4TjhNKcq6raQporFTvzi2Qg+9qPte19OJYk3F0ySWBRLRwpiGQ/1MlYCTSyRSAzNjuqy6sQ9awQyj9S8DnTp/zcgwFno+b/c4X9njQ2ycZGlEd7/jTloTNEEosDCMTeGZ0dWAJi6sS6KQSH59d9fACmouxDwfs+XefDhwFLRNke2xSMVeTtf4e42Ob6yDAVS1aRpEqh46qZvDoBravJXtqRcoEYAChQYgMA5igIDlKwBzRqldE2JcjX/A3PLVLXw/+V55571Wo6aoCYS6aL2wCqES1X6Fw2NTYis0WwE4n8JmkEv0A1iCsRFAErMUABZbCW/rCwn40IBMkfqCCNj5F2zhDJVKa6p4OxOPDTD2TbgDupceZIkhuHZvRFJTLfaG+A2MUweXYqyO+fMwVixcwHGQ4AgFFg3dVjowdjAHKFUO0cBENpsIkFiM3Q787jzztDQ+eH4uI5bfrPk8G3Y4dqwp/hjkA//7GyFwEkdyjN/fXDp7M64OFPTVezWnFXJDK+di2JwCQ70j93at2ke2Lz//G7b1av3rweX8FDcnDl4aNUMdIaG5ZcpQx7cunBGpjUSMBNyaBWf37NgAUIRo0kgDtoYgkbRUoxEmgvUFjzTOJNwxux6iUSbRoYe9PdISfHhXVP10TZ3UQdj9jxu4KxrqrG1nyBAJ7mtK9UiUGr0QR1uSGnvjlO6/goeCJcYymUGXS872ZMCDWTwXyo3NHkx0RXmQ6e0fqEHyiKmtiZkWqoC9yHbfcJ8zfTOmT/Wz27D+WZVN5oONHSt61KpaQ3tbPVdHxXf8KwKEvp6RySUneINz+rUszgj0my/CC3BA2GZgSyAWKRtJKCSsqFMbljeGppWEYsaWcx+NlxoKVwm8CYyKEb8655p8dj4F41BlVJ9DWWCmF3uFv7MwsoiqmhA9Uaf7cpnD5rYsu8e2ZIE90ssTZD5oHC3bZipL3O4Z5wBx1opEiqD/seUkCj8YIhll7SSbZVz16ooE/dfDTNPVPwMH0v44h3u0ZTqq8ANAHthdmtHQ+mn1V5dfYK0IgkRXuAVoRCq4w+mRf40hODX7fx+ie7yu7Gl+LHEHdr6X8rHaJQgyMeSdiQlFXLpEJfZZhTyqCf9BCcU6zQEEEJodpgSSITAfmYANLoJgVRrh+UUJmXKKi1ebK81eacQZZPUCpYVTuLKKv36P1DrttGuUjVqWLIAu7dqaiwtAI4qV6aG/36VfLk0WDFjQYMTDbmymZrrZDxL1mabXmDFwgKf1GKTq/JzNazMLDScNHKvmXqCOG9pbWpj+uQVBrhw5qtUK/SORkMe/eANuJGlmQV4dsKI9QDkKu5o/oF19FHhIkWJFSceAAAA) format('woff2');}
-@font-face{font-family:ec-lmss8;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAI0AA0AAAAABSgAAAHgAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgkIIBBEICoEcgSALCgABNgIkAxAEIAWCJgcqGzkEIB6FcYysYROPerxMb6MSQbXfZ8/ue/8QVIDcAap/F1CpyCgAKh93JxOWyZeB8sTGMKpUVFzqnm9/+gJaoLEo6RpeorkN/lWwTRJr3G/y1nij4W7AA/Cv5/VAfrDAE4p02mfPS5JQoIlEnnHmrr32UdJch9uDpIxCwPN7nxS8ezSda3PkelxSkk6nxzhrl4rPwkgkZQuAAICNh+oWMGQo91ZDtqWGIyAAGRmLBJiVBRYpLEOhEBiqKn/i6g0CokYAIiEBUvkcsvYqy9MpEFUlgQI0o8BiLAcUGJVAKor+aCs7ik1tZevf+db2PH9Gaj8z19aR5s5G7phZ/jU3fultSf4muJ4tthcHuhngZhib/ZsKfyatlR8QzokzMMOS81Et/hcUdw4EOy9efba7a/Zfc1v+vdX+cnl1OS2kBpolEKRGpWzLdUgLAgBQ5LrlkOvkuhmBwoAEEkJgHQE0O4RAUmoXIFtlBwKlNlcEqGl2XxZFi6QVyLINNFYaNL+2ptsNJ2wej4ITJ5+ngPUOu7d74jbo6CaNGrdM3TIHNdhUkyATptzpQCeNe34yAv09dHokgV7pXcMqAhVhzAnfdzrYpHN7TMpiLY9a6N1RH0oA1djB/Zxw1XSgylAgBnqd) format('woff2');}
-@font-face{font-family:ec-lmr10;src:url(data:application/x-font-woff2;base64,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) format('woff2');}
-@font-face{font-family:ec-lmr12;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAW0AA0AAAAACiAAAAVdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgwIIBBEICooQiCwLHAABNgIkAzQEIAWCJgc8GzsIUZQvThHix0FOxmueRXNqRU3v2E6zsgntUERERIHQ8CV4ntjM3h8gMqwLWfMkNXMqJqHtGZyYegZzzQS8BWZp0Rwmar+JvUw8/2cB5rlfXqbV86Nv944gCQ4oqiwqDYooIvloNLABRvKAaD62DWOXPXkSIACv3P5+D8Dbd3djdvNFnpMTsUAdo+4BArBAPiAuChSWAYEhgHfS8uFL1ZPZZThpXeao23m2M53hdBWV6L0aYVSTRd9bQA4GJpNYjMsy1rKBzWxlV1o0ENa/bbvExS5yjrOd6QynJAQmCYEgiChAwV+BjYH8tyrof0CYSBQ0NkAGoFdM7QIkLQWxmXPKgCqQq0F+LRSaQAeq6DFRXs43UqZZIbnSKVnSJFViS74kgSqzorxCeoptZZqnnqEekf6l9IbOwK6fBWbJDKG5wg4kRftzUOzA+/WSM1dmrmlteN2kHVy/6ibsQk3Kh+INLck9r/1rlFxVPw894pxLnbgA1+rSX7ODm9Xn3UcumJ5fhjNS17R/Vbz1/f1zVxQT7hF+B7rQo264bj5wT3+2Un8w3hvav9Z/xqUHbuiHn3RrQjcS49ZV7pfMoLsT6QjKHkjOIC65ec8dpZ5XXhsstcWfgtY05kI7QVTZ1ULaW7wxgfu1f/7eM5GWbghK3BureDftAGBwJ+KFbsqMlMKr/ozrS5UfCQZfB1Z4R4TvMRT5gpLqMHUpqauYZR4uoK0e1D40bNGiX71mAcmUWt3dHKxxhfTbcwabpAqm+ZUKeHZNef1l/LN7Bnp6OsKDoVe1P0UX1Z8xD725uhmQes4OvOfeJGNnR85+4Tw+63GlJVNdFYmuK0bqKYwzjBR1hFOTU1LhH+3LrO+R6wH5MgJMaVN+pfqcsvvOAiVT/o+qits+vWgdUweLZbGYkSm2M3S3VKUyJaJOy6r/vy/aZGJqJFMvR4cM1gxW01U2V31ee72jV9zEWzGWHGJnIivpLCGcetjhe/Ejl87tUR0aVvrFKi6v7RURoy/guTdGxcwE/qjKno6SyKRUfUyNvPOqjvIOetXv5K3IYeH0tQVkpHeJo6o0GraqpxueoU5F8EyZleLlmVERtLi43LPZXNRQxLD8+4ZK+2Myq770jIUPG39i9QZnbR1RmSyrz3COTVauTpy0CqK4urR/1p2Oy75zOdbEsP9lLyuO6qo629mrgVunTG3ts+nuMRO91B1S3laPAU9fD9lX7TO7sOaoKOWd+67SoLEci8+XGtImOejo7Ld+fsx3EYTs5wsV9hRLghuOGGb66vQloRhpuF9jcEL/RG2iaw8/Ks/K2XoGWO7RpbU1AxgWSXyNlcfdSeM0IPkz8qSls/Pr6HY1B13wuRU/1DEJVr7UHF2w7G9SNtPKtHHr+EWwsrX/jI7Ew0+3bZSRVK2kYWgi6+hp5uYtNSdzp1YtKahqaxzfvuHa2TLzIQDcJHT2uzls8l3ippD1bolsKGELxsBYwnZnSP7VWHnNAgg8+YT+rwtP9PstQhpfnDZ+iLy0hnLV7UAEBYCAuj3djTnqbADlIoTNM2UNMQAZD+psWuRrauQWamV5leQQUw5Otajo2kdFQslT1t0QIJOBmAAoQBBgEB0AQITlSAd+iwyKgEEd8wALm7MWh4hwBwZiRlFoAIDBKPIAiyK8W0PkcBlrWcdm4iRg7brN8QSMYAPr2Zp9/s2sYBkOCTrowqEPDstwae9V2kCNk1R1S+gJutR8uQzqvXnFMifR0eX0cZa57WMRlaLxZHu39utbF8wwsc1sYdWYPQ7xsel4ztA63tHFWPUMrQtQBH3mP8LbJBnGCEYxkclMYTozmQcAAAA=) format('woff2');}
+<![CDATA[@font-face{font-family:cmr10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAK4AA0AAAAABdAAAAJjAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgkIIBBEICoJQgkMLCgABNgIkAxAEIAWCGgcqG9AEUZQMxhCAnwe2e5QiEFaUZQw7YWDzzWDZRM7feBEP3+9HO/e+9/+qJFM8FJMsIo3pzCYqnpjOdOskKpGGR7zRVuB5mtv7Q0MkTqN5pxQRu9sqNTCwLl9symAVkD5BCYpiGhwhtgtFdW11dQmI/D91MxybA34ATwsoTMfyLvEw0NIxbW2MCzihNIq43ak1almYzbLLoWQXAj48ft2Cj2+H37dmKQfimYZ8kG/xKN0qvosjSU0XgACAY3emB7DIy3+brQv5TwUBKCiYIGC3nsCEvhmoqsDi5uWzm18JEC0BiEQCQJyfMpw6m/cgNpeggk504xqsAlTsZIDOWpdiKFt7o6fJ0nFJyqC0N9G9DcqcASKdfLWCQD0LxM5LuxRiFtds8Ho2u5KdH55ewveRV2dHGBgC7M6RK9WDN7mCs0Pe+Z0B0kBwDqwSOt9I5A9HplMO+018XaqWTKeqOpW3ETfYPJJARIr63lsSHV99+f/3kyTVfRndkaEfla3hyBJj3h805iSvK0s+3duEr6HcdpA7wJuwa/e/o/orvWmbzypTkgO0oA3nILaxVrF4siDY8g4aXx3Y/b+zp/w4DkOtzUpn/oNOCYL8xzvMygFQOgXAZbUcYIFyQN6iIqjOGYNECOwXAHS6Q0DqMEhAMWtBQKPHcwFajZeKqF1SP3RQHDQBjXG/da1uL5xwdNZ52FL4rswOR729tPMjytmRKRGImBqmvScltqmxjC/ZRCTw2hKqUOejmQSR2Zj7p4pBjDOf6SQqgzOOFO0a0WmKBSJcjLxxEBEtPDfvqjiCPOgUuSI8hU4A) format('woff2');}
+@font-face{font-family:ec-lmss9;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAV4AA0AAAAAClgAAAUkAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgwIIBBEICoociBcLJgABNgIkA0gEIAWCJgdGG0QIIC4KY3Bek9w6mtCIqeQr+7azIMJcWXVLHpDGYQBPCMgJz4YAjwB/l9cB/QLH633Ngjwz+ebT5q+TFdHdXQmWAiq4UlFd/gMDeMBNFYoYLaTPyu/AOYdBm23/QZLeYm0ekVQNcr/gLVIskxI4RU+RYHjmA+Btswlj0j5l6zrV/YKopQAB+PKZXw4D/PBil8f7eNGM7CYA3aYvAnnSXX6loSgogcH4hYsOmGIoA6AzbabQ0xihH/GGm8k0U5mb0CqDKG4Z99kiFMBg6YwBMwSJcppooe2pIEil1N2nbSpMCAkWRxKwTKKAakxigdNgIUAgAUOSVNrxo/CZMF9+ClAQ2VVFXQ4gT6UAFAKgClALJAb5BwCwQD0UAO0GOxks1GgjaytKfslITSmu0tY4n4RSWJJipaoUpXQZPVEnXoqID0Ib+cDNjZ40ue9y0TuJs+99XtMHLbOPmj3jcl+xbuhbn9f82f4R4sZJKBnxQ71kbJg/cJoxznoTqp8bv+sWnXslcXh6qHDp3Dfat+OJpw+qDj37lnVfuVxE39LJbyU0cbcNYb7Bz+GrTcZkZiEkWrfvcpXLo8EnEn/67bueiVGY4Zuc5PdbZi89UjiHwgKnBTSR7tjXXFMdoTTW0ga6IkcyCge5c3Tzr4f6wFmf38QuN2QNYS+nPrDOgysnjgBzhSZ28kyM08e/lWjdCm1fQypCQKv//ACHhHKdvN5U31T5KtefhezE7RdcTsSLE4fD6zqfl806kDr6W4V3hr1Tb8RGv56bbLNqyUD1tKtbTwxU2tVb8yl/tvPRY81zr3++f9+4arFqRn3SfJu2fcqSvB4P7kh+VftXom4v7v3C0mfETZ5N4jnR7DGLAK/0q2z8P6n4/hdq1nUbNJJdHRHR2DOi9pThThdfZvvR6+HgIvmcesNOZFN3lqGIaI6+v2xkIAeOVuwlSVbi2ODXresOui60Ya1RPdxJvpHHsirN1tVuPBteIJ3+p14NnJa4PDTE5G/C1SpBt57bBZWj0KwzVlg3n54e2vW9L5pM6Vu8tmZa9Li2wKvPDFit2Z1jq5y8NXmLhemUOwmei7sxkd+DCBHyECcjd7n6w/TV26xFQte0VDo0PUawb/Xr0nMnUbJiry7tLj16l86b15i2h3bi4DMDzrnhY82TO0YpUSoqL+BsJsetwf+1aijsTF2sfFrCStgGN92zOn4J+PrjxA3zYwvH5iaVjI+NKhobH4+DBg3OkylwPsKMcDJKEfz+ZczwaaNo5be6B8i/5/o7GsfLMJiyYpfjw5LOnLvICK415iavjqPzrbcGfN1ncoERYGjJ8FONmgh/drfbvdY66FEymI6clpUAcEeo3+ZU0vJ7ozuJ4CeEGpUysIEDKe9NyCNoEOqWBRB4d+qd1WMj2vyf8ubhE2Jc4af0F/0ISKEQdB796ClGmAYA+guCLVpIZpIFIH0B3UMnnU6xfjvWa009+YNm8j5VtDBV5H0q8z+DTAMGamHhVcppYQbL2NRCYpCEZGphGYcCggAd2IxNSjEFLwCUgAykG6owih7gOTI5QYpnMYhNozgQuqEH0fSAYsTbJijABWZRTyutcDBrdmsrB3SjkQbaLi/fQiXlZNKIejSgAq2owGRK2RSqJLCGNFFMxEY00PPhMtC6pbI8c/vmrZl8Znnppioy5N22c9MJ2b61FRBRTgutVFeW5VJUM/GaIf+2zVuhqplsJQCKmQv9IrxZNWpQm2Z0wYgJMy7cIDAEhgA=) format('woff2');}
+@font-face{font-family:ec-lmtt10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAARgAA0AAAAACFgAAAQJAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgloIBBEICocIhX8LFgABNgIkAxwEIAWCLwc2G9EGAI7UTvmHgWgQ8bjlz77IQXLiEqgaXMUkFROg9VT9i6hQ+v8Tlwv3Atm+wbNMf832ojFFE4gCC6M1aWwMLA+8CzS2dAib3GoGbcVFgAC8cvv7JwHevif0zGG3qCQ5iAFqt7oH8CZF+YCAWgsq7ufEW/josNnhmYDLSvV3PIMJ6jSmHasd2UIpbxQti8N1OgIWPhQKl4UsYWU8YO1ilg8Rv/DJJx7L2hIThAZQgOLE54JKI6VjjH+R4PND08rUOkDiUSSweJme6SCNIGOn60AzCgC1ZXR+na5XSa60iF8saZA+y4ptJOljDnaWG7X2HM28ccTrEr3kkTdsj4tmoWtEQ7x6eIDIa7b3xgMXiBs9ftyytOhpy9pDxLYVG0rylGHLciCHGXUfN+Da8Ix4A+SvA3H5k+jre0LXvLFjIq/mrbzhvcacbfDq2+exUZIjduzYEgSBpFDhU1cVV3KjY8a4Ei/gUNkxk7J3xQmpIZh79/l1r9557Uki19311G3tLrvsrquIPGvtGXP8uLXn0qOwS3olz1H5jXtuONMRcbmGezQZufdSvnb76dMiFUNNQBzogxUNVftib0jZad/pz0sfH/d480sLCyuS3xh8T9+ekyaFsl9MCFW0dPXTkHEyq/+xbpMb2rTm9qucuDk22elfVP+jn5eLkr9/KDH2X+6HeefrSoprY19F2b361xYTLyqpa/zyYGxIKCVx068p/XXppnaNRFxgAq7G3BQaEm6ufrLlk5pZqO6UW8fL6+9eG7vyrDh5ytotbOd7ITM8dMZSMob7DBu3eJ8+fL7aPyNzb5HbOqw898O8xbXFBWSHtxsOXsmoKy6pW7Jp8JSlo2VdetrODJ7eOO/C3D72tMT6nJd6TRlrNfydnJpUlBSuK84ddWsPp2/avGXzk/J3Jby8o90ln3+4PqP4j55u4bgez6ZbcqdfmXdbuyFN4TRv24FUHtyUWJiUmvJvk12o/kwtKH62fDCXJg9eOsIl9F+pW3jE2A6vG/drn6E9108OdwfgJqGl680JOt8FbzKNd6FMU4CKr/ENwCBpyr9YJuqrEUDgp8j6i6amdP3NZ2tfPMT9gMQ4hToN+FAACKjT8b+ZoJIA1EOHWVdJlIE8dP5u/elMIp0opR95CGARQgdAAYIAPWkGAHzMRgBQmCQjAGhUMR0BwMDmAgQAEz8PoCG6H0UiYJvGALJsBtnsfIJJOtewkEWsZCUBHFi4aOXKgAOtLGExK8fnlzOHWZQSpBmHUjpTyixcmtwxnTZAW/jcEMSh+EktZ/byObNKg81OaefSWW5TJhAnA22bTqVBZxqMYRbLWcG87GA0OCPLO+B+gWaHzAEi9gLqUdxv/YF1citDGc4IRjOGsQAAAA==) format('woff2');}
+@font-face{font-family:ec-lmss8;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAI4AA0AAAAABSgAAAHhAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgkIIBBEICoEcgSALCgABNgIkAxAEIAWCJgcqGzkEIB4Hdgz5F2FoWfKNh//fz7d97n0vRVCUlCAFTn8JZBUSyN/4Lk9gJAyimjVq3KymSWKN+5XG8uDN8S97wAPw3vWBJBB4QpFOe3YuSUKBJhJ5xqmeu/ZIhGmK7uCQGIWAj69/aofvPixemyM34rGSdCd9wD27VPxsUiSSshOAAIAVO5dsx1hjc+/WWGtT024EICNjgABtssAAhSoKhcDYVsufuPWNAKJCACIhAVL5HLL2KrV0BtFqSaAAHVFgIGqAAnUJpKLoG13KbsXKLmXnf6907pqv3JW63r3cpVu6fC9yt9m1ZsfmX9VWV/+3OiNGDqsPGxkHjpgOnoUJbc87FP6ZbKX8Aak5WQzMsLR4UYn/C4o7B4INN1zc1KPtv45d8t9H7S9rrfb0JTXRUQJBarbarc0NSF8EAKDIDTXIDXLDbIFCPwkkhMB8dUBHOwVISl0FyIZZL0CpiycCVHT0RhZFJ0lnIM+W681L/V1ZW9HTU/sdcMwxM9l/4NixmSx1yEHHhyeO2mWHqsnqJqpqqNphm/GW+oQ2yVQ3mJNNTPxkBPKju3ZUJ9cnVhvVHdvGq9hITJo6vlMmT5Sx0g5HHbNH2d7LVcu9O+on1SdSLezYNj7hqulClaFATEy6AwAAAA==) format('woff2');}
+@font-face{font-family:ec-lmr10;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAA6AAA0AAAAAGxwAAA4rAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgyIIBBEICqlsoQsLXAABNgIkA4EyBCAFgiYHfBt4FaOifpFWSIC/OuAErmI7mzC0HBSLMA7rqzM3rbP4CANx/MEmPD19zaYZhLcJbbMbHrf1b6MHSDha2URUsE6iDUTMAqPrIsKLyPq/5fn3D3befX+11Zal7UPUAgw0wDRLMAiEAknjr/Fj+zvw95BEbngVjYSyQdtCIiUiocLX/jcAp7mgU6WOpSHCN9MIrvEJGL/Ja0iccGuXiAwRMP9rauVd8eoA2NgaUV0jPwX+/+FLAz8FpiEKz2qS1OUGQArQEbiovanISUBh7CqEmo2hVcy2ZhCGEctd/5IJAIB6wI3dj6Ny/v0D9gtnh0KEpiEB8CcHADBxaYK+VOYEAGC1QVZzGAAJT8ozsgwAoJgigmRNTj77G85K2FrdtPJCDh0DRMNkytbeOoOSPxW7WElSZKrWpFPPFA0AgAKRGChCTvyJT1OsVovuKRww8MA9d51xwlFHdKhVo1rVVwFI1gBtACwRQKkCXoEjxIQBAAl5S6VRKcg+EQDGAPMAWP5ztXFgAKBHvuBfXPgPCdxPGO4hA55nL28fBVBeQFZNfleQ4ZFu9dDSA1EBco7UpFB2tdTHKlOtgUg7nNuJEpZXOJlWOxllOq0izxhE9VivjVJxKa7iCzQySFrSYK07NwTht+fxBKwy4uf4IE/Fweh4wMjAZXjsRBllynn4j9AfVGqhB5L2FrlMrxIL8leEPm/JXLnOo7c86M+5KyaSNOYedwFStdfOxg3lGr+DBDjg5d1EDcCeDE4FuGAPqShUzN7nmcydR/HPkv1dRE59Ug3S+h/robM3/d50UOUKf4AkkoP0DJUA59juuiRfziF3pWtbC9melIVhUrgE26pB7xJ+NDdURAWekTPfVJKmhVb7OQb8LAEZsMFk1tPds01M1QivFktafJIL8NgBXunTAKqLgYoO9TdSQmK0zaUSNrCtmlwjklfvQUu5Yh3prNveT/aZFRAdCmurX7wyDCrApgaiRV5hiMUMww0lFrb55YO96TUTHPM7inOI1BfHoHF23d8eW4fWKaCv+dCSprYaL11XCN5IhgNRk5uRGK0q4nPOPV5xdQx66CSrE20kx7JS1kbZl5eNItGS/cmvFGcByfID7ezWyjSu4U44T2+uM9n1/c3NWdjQvys39DU426SzmQ6p10tKTvlAl2y7eUM5wCU9npERQoMY9rZ15q3iUTjNfKlY0/m1pa2DbFtv+3ZaXaN4w0DgisF+7+Lq7BbuMsS8n4YJH5tjwxvj26rEsdldp9skAUgpTNWqODgTHZqYtFSlUUIvtgfhxujZtKdvW7JbEpM4pz/dBDJQ4Bt9kjhHjK5y1VsJQk5/uIt008JU1/Wyb5TDpouhn7ulo08arhQU1YT6A0XlG+2sPLjGOFkwoSXCQfNdAYWu3/fcrEAeI3XH4PAJibamApJcgcOIiZy8QzorcV7yxSCN7HEvCRdOmI8RFLURKqBYDGZrk5FCql1TsPcdWJLUyx1k46+UAS7UTb05nIKyM9BAWutUIA81a/3q1U5nSZPsKYU4xfoyklnZVOmCVRdJ/rX3nuOJ/V47jDPsOAammjtYQXI3U5fheOgMwDESpRqwlvGB4Awxu6RXwfGySEUlDjmHlWyUVcNwblo3ew+PR6CzYAP2i/SjhN8NOqDl+L5BG7WRFeGxwwMahZtuvFatXaGNa8hhfz/seLaoZWOj2MRjlZNaVSqfVKvkUTHmxUr/jrxpGJiVwQQVB3Z0K/FZcYTJ6NZrWvQUdMOrHbLjNDgWsrrOkM6TN0yhrW4JbMaV4v47HmDqXet6xpuk+dAhyVzXjt9izF0HMn96KOG6pyeWqG6uR+ApHN3Eb4Fey1K1JrPFw/P5Ng5YR/OwiwHrxWcbySnqLERs6ybK7n9/Pyl3wYID9FaYhHpmQ4cGXr9KZXV4jZw4R5CbPY8uundEs29sl+dpVq3q52UHLdx4EJnguweaS9Ja6ZLZ6TWTXorcvIkglXM6YiYjg37nBp1eNqvZgul8gPah6Owd+chGDx4Hj9Enago/dg0KBP1g2OXr8phPnf8aP511OjDuCwksXKTXLV1xgYQgFFFc4drQseu2ho9dE5v7B4UQgP+lMJN8N7oQfqfgPDgulIqO+B4R8TG4LiaxgkhHqJOVhVpwROr/OT/xS9Byj3qAykrnpW8OL7yD4EJYv09GvF2XL+7RdMiTZy72TzudExDQpWuVJ89Io0/dQrPaLAovm4Fu3TBnRHv1m/Y9TM9IDcM6ZyJYgeHWY1IV18l50oUlm8jSa2E4JvtfBua+5TCJ4SiRSKoY2e0Q5iQozDbfYRmZvkPNEeXnOk6Y3jnMpZbCS6MwDOxPLAW7VxU7z5KI+U+5dGPOvEvXp7ROX1IIjidP3XZhWAMm1A93Z7kP1wuxhqHbT0wqm66PO5aS4hFYLvskdhd/kpW12vI0UXNBIiY2Tkcf1nSjGJO1d8he24NGNt11rqMS76vvDmrs564z3dlP1gnkkRxrg9tgTP4IUbEk0Nf6dga95FcXFOp2YFttjQ1cmAj7nBuKyFWtLusxd/QaVOGCsOhRM3VznAspiImtMB8UNH6NH9NQXhxKq6ypWab6qz+vyx1XE1fJk0CPrcKACS7iT7LsAKvgMSThgwdODhPBwqoEDP6NEWMTghnJ/NQSj3huidMYO6em3swZUD9U7z+y/1rNHnO3m5VyqeqvJMl4rybm08XSy9Joka6R4CKZsHS6yl0V7Sr96Qm+74vLbPp/qPS+PtpfH5dgWiO5KkFoBvY5loJK6VNk7LaLlGlNzSmh0WUrWnrd5XrS0Vd6U2xmcFn/ariERqeZWGfhJ/UkLixUhDoaejLBxhPcp6WbeysKLgXRLVoff814iQsLHfpAo8BGzOofgSk0D4aiLCbSO3xZoI+2JRqUBot6N7Ud7ghJbnlrV4Lg81x5bsTgzlreu6tnTavM7O1kODxVVo6G/lAOnmcZRUarnPeTOeTmRgcVaWHOMBV/Lsobj9KsI3kBsUpreKhXL/lgqX+md3MERz7IHvQKn+Yh7tatVlvjrL5eyV7aQmcDoQxQg4LBIx3JJmvIVATTzvDKEIUMiknPHTmyMA0UfNkSFd53k3cZ3XIlNnzopXywuANhIkq8qoR/4r4k3VSfXqiJ1i4LZqHjeehcvirXFJLXN+7wkJFZ3mdlnV0kwKK1FLJ33XVPyBl1RlUGT9OE22YgM9rRpX6RcQ9U278rYuJS9BJIdTCYSMCORV83SLTS9qRCwGlnpeU0Zzm7RheUjByV5RspC/WmhY/65OoWNy2ALaei1gYeKOtxU/pYCjPiWpOxZDs+SYc1w84WjKdtdre1YO1toYZYOff1PZxbhfKqXMHLmZypYvP/Ny7b8x0W6+sXg0IObKDg+mExebkjok1JVs9JH7cp7EUlt0USwmYj8Co7Ro9RUfBfPCaLgQSyttSa/l7j7+yVHlh9h29RSExsUahS9o1jCYAjXXhSIMCE1rZJ9CMxY7NuxhujLT+gFz3BqAGevwluhDHdJHxvbJpD6/dB884wBfyBqRKljRPhWarhXsyj18NwOazP5X3hC6+i0pcHAxgXGldxfch2SINCBJvp/vPn2HFl1AzsmABNm9T9tLbkOrj+tJW/q6f3+xAFcqwW9l8OBvTr12AdDXC+MxAQ+GwSq7i9PLCqetK6+YzoV21YSVesFbp7Bm7fKho+Pjd/2ITDI4dn544YUZBGycmF7njFe9smFuf34s/wOG/r/KL5W7l3ZGaKJdzWohvmcZMFHHkT9Yi1tDSbWj2Zu9KzHG2mfdiWmFlPMiOUPoaktgxQ2yeaiasstvsNE6IyzZtlYX5SaL2BxsbHLGegY7jsVXxQOVQ3j53sUtZWn/QXB0uw1FO6iOkEnGZklbsoqZQLjrW5xoz4mLLlqdiBSm6scrjRYo1xsYsjKTQTaxRLQSVpIM6EzvPhqcnJFhDfaxIZdDnuEXX8qdjUvSImmhxsvcbPRP3O3zFyVaoUPRBEppbOSFrbbbYsvbRgwCJMUD5Zs8E+G2f/elDv71Rm50xFwD9TMa7SAWPDqjiUlPL/G/kpYhNWB2uPYwET504tia+gMVtG2ItOz5eCw/AEWJF38qVv+dSEnIESfhJRYsEqYf+DhuZwJDvzWwEST9YCBgi8UZ8FYwYXW7q5lZYycbmkhEmrMrVF51+r86jPlEh+2a8GRgFBbFw+BD5ecSihv27Cq9h/pG4eZV6uHVzOaJ6swDtlUPOW9UsiwLT9InKewZ7eweucQKatYFmRpSJiijK5hd81gYLMZMex94Mj63yPiIQDMndicaT9AImOUBf6FeoCzZhoZ3lwKUHe5BGQDWQn21Zg0G07hQg+qbeRSQ+L8QQYmCI7kgQAPjL0b5lDNgEB25DP/Z2oKmQF/6mV8ObbVhW5q27M5wxABRMvoAOWDDnd7xi4hEDaFbNe/6rlAaf3beJbabGp+ByJPxlln1vJznXG/Muzqrl1P6985pF1PPN08fszYphcD/EU13W71UEyWZLBMlfbZDcfXvykhI1ktcPxVtwO9HTcKk9IGs0VYKGcdB0Xc/XyxXC0oziAA5nBDcD6YqtAIJGqgiDqSRjlUgK5vFISunmU7FN5DwJo0OoRIJUSxOCWkvANPykZ2yp16rVQCbLXf7WoggCI0qhB21m7RaVyOLVAQQs1r3uXKxXgSywJKlq8TVYLYuDPbUbot1SW4+rAINyMl5cGVAOLPpU2IFfUQXoAOJRr0aq6akiGq7OCn7KaVe4bB9XaAN0uAADLlACXDoHRMbBwcLlCefPhL+jxLDV09AyM7CJFiRYjVpx4CZIkS5EqTbpMDk5ZsuXIk2+3PQ==) format('woff2');}
+@font-face{font-family:ec-lmr12;src:url(data:application/x-font-woff2;base64,d09GMgABAAAAAAWoAA0AAAAACiAAAAVTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cBlYAgwIIBBEICooQiCwLHAABNgIkAzQEIAWCJgc8GzsIIB6Hsduk02li+w5gyCqcVo8sB1YJK1iRI4fAiewwHoGTA/QBgXXH0hH4AMAHiIEnAOLf3f2XWMQtwyygtraAqf4HmA06ccyWaUWjte1GkAQDiipbW5ZBEUUkj0YDG+BHgeH7s/0wdtmTRwEgAHh97j0XALx1ueqxm030lFbBCHBLucsAdFBC70MpDlAcowEAnQCEOq3qQepp05v8f76eOYcnnZkNzhxViZxlJEbm0f9nRQEM4NHJAA6DjTLWBJNM/9KAG/O+3R677bLFZi4brY0QeMgDIEhDHAAOkiUIMEDzWxX4P8ATXt4AgwAAPgDdzJkOgP5XINp3RiTABHQYoF8Q8nkAFlwxyIPzGr4Wx/NRFEgZ5EdJZCKBgskG9L4VpVGUS4LRl7erB2I/qy3MB4J+CLzzIGM4IOjxxLTDRILe0OJ0nTzYxJhB3SgIevMht+QgBqdGpG4/nvKMaU1wHtKPkMq2PO7EDzTVpTYLemv0tqvkjANHTpDd2cS0Z6Sevnz5/oEwOB7T1ok7PaLF33r9cn/uCG0woRamNfWf9vj6iS30cbd28SSxnXvGI+Srb+xENYKS6zY729N6+Xyp69PmbRECafvJ2A1zYdpL9P7VMtqd1N2R15j24IpLZNQNjlP0xk9qq6ADVsdEvFIr2Z1pTZr9uJpxWy8/hqHvGtO6DUWzoFQ6EbIXzkPMeYQW0EY3mEYGgRixpqYqCJzTffHsYG1Dqd+udpyFU+zWU41UhZpSfV9ED9dWl2tduJvYxLT9oaH6xiOkHtYOwvlU0Bt6tQrmzV6bP5PvNd6zDNy/YcFoR2dJtI0zBZvG2URp/Nhx4+Ef7adDPRad7h2cFMn9vwiLHhD5rtzXUh7xPWfCm415oXnl7apOxJhLyqU2xV2rlZDJcUOCkm3/vmtOKisvSdJpSf/y7H7W/IxK5dPY4zIb6g6L2m2raFOWHN8xLnr81XU9dn/gwPop3syjKuKnGiU11z5oWGFk90u7Q8wVkX8pyUFD4iaHKI3lJQ0zFl2bMc8efyFo6DQeG0aJgld+eHslUdxhjO5eHBwSOMivS+M4e/dJC/oOmDu/e3KluVgunv9dgtT2uuAXHxFc1eiBPyTbMnmUxiTbvHgfeZlNcnfs5Ia3FK0W+11oP/hXn/Yxwzz/bEtDF3dV6S/PypJWd+m6us+GS2062m3txn1dPQKPmvvPXtzYY/aSa3OcDbmfUvu29RqwPaFiTXzZtXvf9NSGfTsI/W/4gOjuMWNo7MJhprq7DxwgiVnu19jWoXh0LsucGSHO9wuYFIzqkx+am93bVDUmfLm0/EIoOsyxP4rdQxOnztRC063t8vHjaummpRNJL5O9+w7+e4w/uvVcaXX7/iSlbtm4bvSCjyePS4rnKKHS6rekWyV/OiYgsKtpoGhKS2yfPvboocjKCgCAm5AxTnny+Nbq9jC+UyIaOFkLyoAyytp9HvSPRtNbJgAEPLhy+kw//6JfvQTD56eNVYN+VhzcOQBe4AAABHDnDE3PbE6Cc4AsGuv70kiYAaD2ALcZKfUVYuo0YpNSUwXAHBlytbzon42ohBQU480QAF+U4gEAHAACAShjAQCAF4agDiJG+KDINSBOb64RAjbN94AXzsMA4r3BgQGAa0CdIK4RodRrPRBgH0YZbQKFFUbtCYoVqDHWGJOyLz/BUIPJrCwyyQrIBnNI71XVQFJkKROqVaYBXy4Duk8YOli2WjLlAnmwI30s8pJPyUqPCNbMboDdYBNMNHzMQZkyNjOeMzRXLJkYqwVD6wDgECy+/whvYlOlRp2OOuuiuwa9AQA=) format('woff2');}
text.f2 {font-family:ec-lmss9;font-size:8.966376px}
text.f4 {font-family:ec-lmr12;font-size:14.346196px}
text.f5 {font-family:ec-lmtt10;font-size:10.909088px}
diff --git a/macros/latex/contrib/media4svg/media4svg.sty b/macros/latex/contrib/media4svg/media4svg.sty
index f0451ae7ec..5738846318 100644
--- a/macros/latex/contrib/media4svg/media4svg.sty
+++ b/macros/latex/contrib/media4svg/media4svg.sty
@@ -38,8 +38,8 @@
\RequirePackage{xparse}
\RequirePackage{atbegshi}
-\def\g@msvg@date@tl{2020/04/13}
-\def\g@msvg@version@tl{0.2}
+\def\g@msvg@date@tl{2020/04/14}
+\def\g@msvg@version@tl{0.3}
\ProvidesExplPackage{media4svg}{\g@msvg@date@tl}{\g@msvg@version@tl}
{acrobat-9/X compatible media}
@@ -275,7 +275,7 @@
}else{
$("\g_msvg_id_tl").pause();
}
- return;% <-- this prevents download-video? dialogue in Chrome
+ return;% <-- this prevents download-video-? dialogue in Chrome
'~
cursor='pointer'
}
@@ -284,9 +284,52 @@
x="0"~y="0"~
id='msvg@\g_msvg_id_tl'~
width='100\msvg_percent:'~height='100\msvg_percent:'~
- \g_msvg_controls_tl \g_msvg_autoplay_tl \g_msvg_loop_tl \g_msvg_muted_tl
+ \g_msvg_controls_tl\g_msvg_autoplay_tl\g_msvg_loop_tl\g_msvg_muted_tl
\tl_if_blank:VT\g_msvg_controls_tl{
- onplaying='$("kbdCtrl@\g_msvg_id_tl").focus();'~
+ onplaying=' % in Chrome, keyboard control
+ $("kbdCtrl@\g_msvg_id_tl").focus();% via separate <svg> element
+ event.target.focus(); % Firefox
+ '~
+ onkeydown='
+ if(event.target.controls){return;}
+ switch(event.key){
+ case "~":
+ if(event.target.paused){
+ event.target.play();
+ }else{
+ event.target.pause();
+ }
+ break;
+ case "ArrowUp":
+ if(event.ctrlKey){event.target.muted=false;}else{
+ try{event.target.volume+=0.02;}catch(e){}}
+ break;
+ case "ArrowDown":
+ if(event.ctrlKey){event.target.muted=true;}else{
+ try{event.target.volume-=0.02;}catch(e){}}
+ break;
+ case "ArrowLeft":
+ if(event.ctrlKey){
+ event.target.currentTime-=event.target.duration/10;
+ }else{
+ event.target.currentTime-=event.target.duration/100;
+ }
+ break;
+ case "ArrowRight":
+ if(event.ctrlKey){
+ event.target.currentTime+=event.target.duration/10;
+ }else{
+ event.target.currentTime+=event.target.duration/100;
+ }
+ break;
+ case "Home":
+ event.target.currentTime=0;
+ break;
+ case "End":
+ event.target.currentTime=event.target.duration;
+ break;
+ }
+ '~
onmouseup='event.preventDefault();event.stopPropagation();
event.target.play();'~
onmousedown='event.preventDefault();event.stopPropagation();
diff --git a/macros/luatex/latex/emojicite/LICENSE.txt b/macros/luatex/latex/emojicite/LICENSE.txt
new file mode 100644
index 0000000000..0d1c9ab323
--- /dev/null
+++ b/macros/luatex/latex/emojicite/LICENSE.txt
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 2020 Leon Sixt
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % of this license or (at your option) any later version.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/macros/luatex/latex/emojicite/README.md b/macros/luatex/latex/emojicite/README.md
new file mode 100644
index 0000000000..7c72f2552c
--- /dev/null
+++ b/macros/luatex/latex/emojicite/README.md
@@ -0,0 +1,72 @@
+# emojicite
+
+[[CTAN](https://www.ctan.org/tex-archive/macros/luatex/latex/emojicite)] |
+[[PDF Docu](http://mirrors.ctan.org/macros/luatex/latex/emojicite/emojicite-doc.pdf)]
+
+Scientific publications are too dry. Too much math, too little emotions. Science
+needs emojis!
+Leave a small heart to value the hard work gone into a paper (Smith, 2014 â¤ï¸ ).
+Flag self-citations as in (Sixt et al., 2019 🤳)
+Finally, you can express what you truly think directly as in (Wakefield et. al, 1998 🤦).
+We could also indicate, how thoroughly we read papers (Van Wesel et al., 2014 🙈)
+
+## Basic Usage
+
+```
+\documentclass{article}
+
+\usepackage{emojicite}
+\setcitestyle{authoryear, round}
+\bibliographystyle{plainnat}
+
+\begin{document}
+
+\emojicitep{einstein, kissing-heart}
+
+\bibliography{bibliography}
+\end{document}
+```
+
+See [example.tex](./example.tex) for basic usage.
+
+## Examples
+
+Table 1: How did you liked the cited work?
+
+| Citation | Emoji | Description |
+|--------------------------------|:--------------:|:---------------------|
+| (Einstein, 1905 😘) | kissing-heart | I like this work. Here is a kiss.
+| (Shannon, 1948 🙇) | bow | Wow, I can only bow to this work.
+| (Kim et al., 2017 ðŸ‘) | +1 | Good work!
+| (Zhang and Cheok, 2016 😕 ) | confused | I am confused by this work.
+| (Le Cun et al., 1989 🥱) | yawning-face | Boring work.
+| (Tishby and Zaslavsky, 2015 🤨)| raised-eyebrow | I have some serious questions...
+| (Wakefield et al., 1998 🤦) | facepalm | omg, this work sucks!
+
+
+Table 2: How thoroughly have you read the work?
+
+| Citation | Emoji | Description |
+|--------------------------------|:--------------:|:---------------------|
+| (Kingma and Welling, 2013 🤓) | nerd-face | I know everything about this work.
+| (Kim et al., 2017 🎓) | graduation-cap | I know this work well.
+| (Shannon, 1948 🤔) | thinking | I read it but I still have questions.
+| (Jones, 1972 🙈) | see-no-evil | Ups, I did not read this work in-depth.
+| (Einstein, 1905 🤷) | shrug | too long; did not read
+
+See [PDF Docu](http://mirrors.ctan.org/macros/luatex/latex/emojicite/emojicite-doc.pdf) for more examples.
+
+
+## Requirements
+
+The package requires the Tex Live 2020 distributon and you need to use lualatex.
+If you use the `latexmk` tool, simple use `latexmk -pdflua`. See the
+[emoji](https://github.com/stone-zeng/latex-emoji) package for are in-depth
+description on the requirements.
+
+
+-----
+
+Copyright (C) 2020 by Leon Sixt.
+
+🙠to Xiangdong Zeng creator of [emoji](https://github.com/stone-zeng/latex-emoji)
diff --git a/macros/luatex/latex/emojicite/emojicite-doc.pdf b/macros/luatex/latex/emojicite/emojicite-doc.pdf
new file mode 100644
index 0000000000..4ef79c3566
--- /dev/null
+++ b/macros/luatex/latex/emojicite/emojicite-doc.pdf
Binary files differ
diff --git a/macros/luatex/latex/emojicite/emojicite-doc.tex b/macros/luatex/latex/emojicite/emojicite-doc.tex
new file mode 100644
index 0000000000..baf37b8991
--- /dev/null
+++ b/macros/luatex/latex/emojicite/emojicite-doc.tex
@@ -0,0 +1,182 @@
+\documentclass{l3doc}
+\usepackage{fontspec}
+\usepackage{emojicite}
+\usepackage{listings}
+\usepackage{float}
+\usepackage{array,booktabs,fontspec,geometry,graphicx,longtable,xcolor}
+
+\setcitestyle{authoryear, round}
+\bibliographystyle{plainnat}
+\hypersetup{citecolor=black}
+
+
+\definecolor{mygreen}{rgb}{0,0.6,0}
+\definecolor{mygray}{rgb}{0.5,0.5,0.5}
+\definecolor{mymauve}{rgb}{0.58,0,0.82}
+
+\lstset{
+ backgroundcolor=\color{white}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}; should come as last argument
+ basicstyle=\small, % the size of the fonts that are used for the code
+ breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
+ breaklines=true, % sets automatic line breaking
+ captionpos=b, % sets the caption-position to bottom
+ commentstyle=\color{mygreen}, % comment style
+ deletekeywords={...}, % if you want to delete keywords from the given language
+ escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
+ extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
+ firstnumber=1, % start line enumeration with line 1000
+ frame=single, % adds a frame around the code
+ keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
+ keywordstyle=\color{blue}, % keyword style
+ language=Octave, % the language of the code
+ morekeywords={*,...}, % if you want to add more keywords to the set
+ numbers=left, % where to put the line-numbers; possible values are (none, left, right)
+ numbersep=5pt, % how far the line-numbers are from the code
+ numberstyle=\tiny\color{mygray}, % the style that is used for the line-numbers
+ rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
+ showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
+ showstringspaces=false, % underline spaces within strings only
+ showtabs=false, % show tabs within strings adding particular underscores
+ stepnumber=1, % the step between two line-numbers. If it's 1, each line will be numbered
+ stringstyle=\color{mymauve}, % string literal style
+ tabsize=2, % sets default tabsize to 2 spaces
+ title=\lstname % show the filename of files included with \lstinputlisting; also try caption instead of title
+}
+
+\setlength{\parskip}{0.0em}
+\setlength\parindent{0pt}
+
+\makeatletter
+\ExplSyntaxOn
+\def\@fnsymbol#1{
+ \ensuremath{
+ \ifcase #1
+ \or \text{\emoji{globe-with-meridians}}
+ \or \text{\emoji{email}}
+ \fi}}
+\ExplSyntaxOff
+\makeatother
+
+
+\title{The \pkg{emojicite} package \thanks{\url{https://github.com/berleon/emojicite}} \\
+ Adds Emojis to Citations \\
+ \normalsize (requires Lua\LaTeX)}
+ \author{Leon Sixt \thanks{\url{mail@leon-sixt.com}}}
+\date{\emoji{date} 2020/04/13\quad v0.1}
+
+
+\begin{document}
+\maketitle
+
+\tableofcontents
+
+\setlength{\parskip}{0.5em}
+
+\section{Introduction}
+
+Scientific publications are too dry. Too much math, too little emotions. Science
+needs emojis!
+Leave a small heart to value the hard work gone into a paper \emojicitep{smith2014honey, heart}.
+Finally, you can express what you truly think as in \emojicitep{wakefield1998retracted, facepalm}.
+We could also indicate, how thoroughly we read papers \emojicitep{van2014difference, see-no-evil}.
+
+\begin{verbatim}
+ \emojicitep{van2014difference, see-no-evil}.
+\end{verbatim}
+
+
+The package is based on the \pkg{emoji} package\footnote{\url{https://ctan.org/pkg/emoji}}.
+See their documentation for the emoji codes\footnote{\url{http://mirrors.ctan.org/macros/luatex/latex/emoji/emoji-doc.pdf}}. You can also use \texttt{\textbackslash setemojifont\{\dots\}} to select a different emoji font.
+
+
+%\emojicitep{wakefield1998retracted, facepalm, see-no-evil}
+You can use up to two emojis \emojicitep{shannon1948, bow, thinking}. The package also supports
+to cite multiple works as in \emojicitep{sixt2019explanations, selfie; adebayo2018sanity, +1}.
+\pkg{emojicite} does not support more than two emojis.
+\texttt{\textbackslash emojicitep\{wakefield1998retracted, facepalm, roll-eyes, shrug\}}
+renders as \emojicitep{wakefield1998retracted, facepalm, roll-eyes, shrug}.
+Let's ensure science does not get to emotional \emoji{point-up-2}\emoji{neutral-face}.
+
+\newpage
+\subsection{Example}
+
+\lstinputlisting[language=Tex,caption={Output of the example is: \emojicitep{einstein, kissing-heart} }]{example.tex}
+\subsection{Requirements}
+
+The package works with the Tex Live 2020 distributon and you need to use \texttt{lualatex}.
+If you use the \texttt{latexmk} tool, use it with this flag: \texttt{latexmk -pdflua}.
+See the \pkg{emoji} package for are an in-depth description of the requirements.
+
+
+\section{Examplary Usage}
+
+Here are some emoji, I found fitting.
+
+\begin{table}[H]
+ \centering
+ \caption{How did you liked the cited work?}
+ \begin{tabular}{l l l}
+ %\hline \hline
+ \textbf{Citation} & \textbf{Emoji} & \textbf{Description} \\ \hline
+ \emojicitep{einstein, kissing-heart} & \texttt{kissing-heart} & I like this work. Here is a kiss. \\
+ \emojicitep{shannon1948, bow} &\texttt{bow} & Wow, I can only bow to this work. \\
+ \emojicitep{kim2017interpretability, +1} &\texttt{+1} & Good work! \\
+ \emojicitep{zhang20167kissing, confused} &\texttt{confused} & I am confused by this work. \\
+ \emojicitep{le1989gemini, yawning-face} & \texttt{yawning-face} & Boring work.\\
+ \emojicitep{tishby2015deep, raised-eyebrow} &\texttt{raised-eyebrow}& I have some serious questions...\\
+ \emojicitep{wakefield1998retracted, facepalm} &\texttt{facepalm}& omg, this work sucks! \\
+ \end{tabular}
+\end{table}
+
+\begin{table}[H]
+ \centering
+ \caption{How thoroughly have you read the work?}
+ \begin{tabular}{l l l}
+ \textbf{Citation} & \textbf{Emoji} & \textbf{Description} \\ \hline
+ \emojicitep{kingma2013auto, nerd-face} & \texttt{nerd-face}& I know everything about this work. \\
+ \emojicitep{kim2017interpretability, graduation-cap} & \texttt{graduation-cap}& I know this work well. \\
+ \emojicitep{shannon1948, thinking} &\texttt{thinking}& I read it but I still have questions. \\
+ \emojicitep{jones1972statistical, see-no-evil} &\texttt{see-no-evil}& Ups, I did not read this work in-depth. \\
+ \emojicitep{einstein, shrug} &\texttt{shrug}& too long; did not read \\
+ \end{tabular}
+\end{table}
+
+
+\begin{table}[H]
+ \centering
+ \caption{Special emojis}
+ \begin{tabular}{l l l}
+
+ \textbf{Citation} & \textbf{Emoji} & \textbf{Description} \\ \hline
+ \emojicitep{sixt2019explanations, selfie} & \texttt{selfie} & Citing myself. It just fits perfectly.\\
+ \emojicitep{blei2003latent, writing-hand, +1} & \texttt{writing-hand, +1} & Well written work.\\
+ \end{tabular}
+\end{table}
+
+\begin{table}[H]
+ \centering
+ \caption{Short summary of papers}
+ \begin{tabular}{l l l}
+
+ \textbf{Citation} & \textbf{Emoji} & \textbf{Description} \\ \hline
+ \emojicitep{watson1953molecular, dna} & \texttt{dna} & Helix structure of DNA.\\
+ \emojicitep{smith2014honey, grimacing, bee} & \texttt{grimacing, bee} & Getting sting by honey bees. \\
+ \emojicitep{zhang20167kissing, kissing-heart, robot} & \texttt{kissing-heart, robot} & Kissing machine. \\
+ \emojicitep{nakanishi2014remote, handshake, mechanical-arm} & \texttt{handshake, mechanical-arm} & Handshake machine. \\
+ \end{tabular}
+\end{table}
+
+
+\section{Limitations}
+
+Currently, only the name-year format is supported but using a number format is also simple wrong.
+Unfortunatly, the Tex Live package required by this verison is not yet available
+on ArXiv. If you want to publish on ArXiv, you probably would have to upload the PDF.
+Another problem could be that scientific journals and conferences might not see
+the same great value in emojis \emoji{roll-eyes}. Every revolution requires
+a bit of time.
+
+
+
+\bibliography{bibliography}
+\end{document}
diff --git a/macros/luatex/latex/emojicite/emojicite.sty b/macros/luatex/latex/emojicite/emojicite.sty
new file mode 100644
index 0000000000..3b459046b3
--- /dev/null
+++ b/macros/luatex/latex/emojicite/emojicite.sty
@@ -0,0 +1,101 @@
+%%
+%% Copyright (C) 2020 by Leon Sixt <ctan@leon-sixt.de>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Leon Sixt.
+%%
+\NeedsTeXFormat{LaTeX2e}[2020/02/02]
+\ProvidesExplPackage{emoji}{2020/04/14}{0.1}{Add Emojis to Citations (in LuaLaTeX)}
+
+\usepackage{emoji}
+\usepackage{natbib}
+
+\usepackage{xparse}
+\ExplSyntaxOn
+
+\makeatletter
+\NewDocumentCommand{\emojicite}{m}
+ {
+ \mjb_multicitep:n { #1 }
+ }
+\makeatother
+
+
+\makeatletter
+\NewDocumentCommand{\emojicitep}{m}
+ {
+ \NAT@open
+ \mjb_multicitep:n { #1 }
+ \NAT@close
+ }
+\makeatother
+
+\seq_new:N \l_mjb_multicite_in_seq
+\seq_new:N \l_mjb_multicite_out_seq
+\seq_new:N \l_mjb_cite_seq
+
+\cs_new_protected:Npn \mjb_multicitep:n #1
+ {
+ \seq_set_split:Nnn \l_mjb_multicite_in_seq { ; } { #1 }
+ \seq_clear:N \l_mjb_multicite_out_seq
+ \seq_map_inline:Nn \l_mjb_multicite_in_seq
+ {
+ \mjb_cite_process:n { ##1 }
+ }
+ \seq_use:Nn \l_mjb_multicite_out_seq { ;~ }
+ }
+
+\cs_new_protected:Npn \mjb_cite_process:n #1
+{
+ \seq_set_split:Nnn \l_mjb_cite_seq { , } { #1 }
+ \int_compare:nTF { \seq_count:N \l_mjb_cite_seq == 1 }
+ {
+ \seq_put_right:Nn \l_mjb_multicite_out_seq
+ { \citeauthor{#1},~\citeyear{#1} }
+ }
+ {
+ \int_compare:nTF { \seq_count:N \l_mjb_cite_seq == 2 }
+ {
+ \seq_put_right:Nx \l_mjb_multicite_out_seq
+ {
+ \exp_not:N \citeauthor{\seq_item:Nn \l_mjb_cite_seq { 1 }},~
+ \exp_not:N \citeyear{\seq_item:Nn \l_mjb_cite_seq { 1 }}~
+ \emoji{\seq_item:Nn \l_mjb_cite_seq { 2 }}
+ }
+ }
+ % we can handle up to 2 emojis
+ {
+ \int_compare:nTF { \seq_count:N \l_mjb_cite_seq == 3 }
+ {
+ \seq_put_right:Nx \l_mjb_multicite_out_seq
+ {
+ \exp_not:N \citeauthor{\seq_item:Nn \l_mjb_cite_seq { 1 }},~
+ \exp_not:N \citeyear{\seq_item:Nn \l_mjb_cite_seq { 1 }}~
+ \emoji{\seq_item:Nn \l_mjb_cite_seq { 2 }}
+ \emoji{\seq_item:Nn \l_mjb_cite_seq { 3 }}
+ }
+ }
+ {
+ \seq_put_right:Nx \l_mjb_multicite_out_seq
+ {
+ \exp_not:N \citeauthor{\seq_item:Nn \l_mjb_cite_seq { 1 }},~
+ \exp_not:N \citeyear{\seq_item:Nn \l_mjb_cite_seq { 1 }}~
+ \exp_not:N \textbf{emojicite~does~not~support~more~than~two~emojis}.
+ }
+ }
+ }
+ }
+ }
+\ExplSyntaxOff
+
diff --git a/macros/luatex/latex/emojicite/example.tex b/macros/luatex/latex/emojicite/example.tex
new file mode 100644
index 0000000000..5a43430434
--- /dev/null
+++ b/macros/luatex/latex/emojicite/example.tex
@@ -0,0 +1,12 @@
+\documentclass{article}
+
+\usepackage{emojicite}
+\setcitestyle{authoryear, round}
+\bibliographystyle{plainnat}
+
+\begin{document}
+
+\emojicitep{einstein, kissing-heart}
+
+\bibliography{bibliography}
+\end{document}
diff --git a/macros/latex/contrib/latex-tds/README b/obsolete/macros/latex/contrib/latex-tds/README
index e44f39c4bb..e44f39c4bb 100644
--- a/macros/latex/contrib/latex-tds/README
+++ b/obsolete/macros/latex/contrib/latex-tds/README
diff --git a/macros/latex/contrib/latex-tds/README.html b/obsolete/macros/latex/contrib/latex-tds/README.html
index 2241a1950f..2241a1950f 100644
--- a/macros/latex/contrib/latex-tds/README.html
+++ b/obsolete/macros/latex/contrib/latex-tds/README.html
diff --git a/macros/latex/contrib/latex-tds/README.pdf b/obsolete/macros/latex/contrib/latex-tds/README.pdf
index f0d1e77345..f0d1e77345 100644
--- a/macros/latex/contrib/latex-tds/README.pdf
+++ b/obsolete/macros/latex/contrib/latex-tds/README.pdf
Binary files differ
diff --git a/support/arara/README.md b/support/arara/README.md
index d5417174ca..603096728f 100644
--- a/support/arara/README.md
+++ b/support/arara/README.md
@@ -1,6 +1,6 @@
![arara](https://i.stack.imgur.com/hjUsN.png)
-# arara v5.1.0
+# arara v5.1.1
![Language: Kotlin](https://img.shields.io/badge/Language-Kotlin-blue.svg?style=flat-square)
![Minimum JRE: 8.0](https://img.shields.io/badge/Minimum_JRE-8-blue.svg?style=flat-square)
diff --git a/support/arara/doc/arara-manual.pdf b/support/arara/doc/arara-manual.pdf
index 3a45d4a519..210a51de4e 100644
--- a/support/arara/doc/arara-manual.pdf
+++ b/support/arara/doc/arara-manual.pdf
Binary files differ
diff --git a/support/arara/doc/arara-manual.tex b/support/arara/doc/arara-manual.tex
index 3f245802fc..4b15732eec 100644
--- a/support/arara/doc/arara-manual.tex
+++ b/support/arara/doc/arara-manual.tex
@@ -42,7 +42,7 @@
\usepackage[margin=2.5cm]{geometry}
\usepackage{arara}
-\newcommand{\araraversion}{5.1}
+\newcommand{\araraversion}{5.1.1}
\begin{document}
diff --git a/support/arara/doc/chapters/concepts.tex b/support/arara/doc/chapters/concepts.tex
index ef71eb10ab..87fac0469f 100644
--- a/support/arara/doc/chapters/concepts.tex
+++ b/support/arara/doc/chapters/concepts.tex
@@ -375,7 +375,7 @@ It is important to observe that, in this case, \rbox{doc3.tex} is a plain \TeX\
Even when a directive is interpreted with a file other than the one being processed by \arara\ (through the magic of the \abox{files} parameter), it is possible to use helper methods in the rule context to get access to the original file and reference. Such methods are detailed later on, in Section~\ref{sec:files}, on page~\pageref{sec:files}.
-\section{Important changes in version 5.0}
+\section{Important changes in the 5.x series}
\label{sec:migrationguide}
\begin{messagebox}{A note to users}{araracolour}{\icattention}{white}
@@ -473,4 +473,8 @@ From version 5.0 on, \arara\ is able to compile multiple files at once by provid
A common problem when compiling \TeX\ files are specialties of \TeX\ engines looking for files. Usually, you should call an engine from the directory where the target file is located. \arara\ had the same restriction in that case. Now you can instruct \arara\ to operate from another directory lifting that constraint. See \autoref{chap:commandline} for details.
\end{messagebox}
+\begin{messagebox}{Relative paths for \TeX\ engines and tools}{araracolour}{\icinfo}{white}
+It is worth mentioning that, although \arara\ provides the absolute, canonical path of the provided files in the rule context through the \abox{reference} variable, \TeX-related tools rely on the file name as a relative path with \mtbox{reference.getName()}. This decision was made due to path constraints in these tools, as well as to ensure auxiliary files are written in their correct locations. If you need to run \arara\ on a file located in another directory, refer to \autoref{chap:commandline}, as there is an specific command line option for that purpose.
+\end{messagebox}
+
This section pretty much covered the basics of the changes to this version. Of course, it is highly advisable to make use of the new features available in \arara\ 5.0 for achieving better results. If you need any help, please do not hesitate to contact us. See Section~\ref{sec:support}, on page~\pageref{sec:support}, for more details on how to get help.
diff --git a/support/arara/scripts/rules/animate.yaml b/support/arara/scripts/rules/animate.yaml
index c2c3c3fcdc..769ceaecee 100644
--- a/support/arara/scripts/rules/animate.yaml
+++ b/support/arara/scripts/rules/animate.yaml
@@ -14,8 +14,8 @@ commands:
command: >
@{
prefix = [];
- input = getBasename(reference).concat('.pdf');
- output = getBasename(reference).concat('.gif');
+ input = getBasename(reference.getName()).concat('.pdf');
+ output = getBasename(reference.getName()).concat('.gif');
return getCommand(program, '-delay', delay, '-loop',
loop, '-density', density, options, input, output);
}
diff --git a/support/arara/scripts/rules/asymptote.yaml b/support/arara/scripts/rules/asymptote.yaml
index 8ebf68eeda..232213f73d 100644
--- a/support/arara/scripts/rules/asymptote.yaml
+++ b/support/arara/scripts/rules/asymptote.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('asy', color, engine, twice,
- format, output, options, reference);
+ format, output, options, reference.getName());
}
arguments:
- identifier: color
diff --git a/support/arara/scripts/rules/bib2gls.yaml b/support/arara/scripts/rules/bib2gls.yaml
index 0fa6f4d1a2..513a7207f7 100644
--- a/support/arara/scripts/rules/bib2gls.yaml
+++ b/support/arara/scripts/rules/bib2gls.yaml
@@ -62,7 +62,8 @@ commands:
return getCommand('bib2gls', dir, trans, group, interpret,
breakspace, trimfields, recordcount, recordcountunit,
cite, verbose, merge, locale, uniscript, packages,
- ignore, custom, mapformats, options, getBasename(reference));
+ ignore, custom, mapformats, options,
+ getBasename(reference.getName()));
}
}
arguments:
@@ -79,7 +80,7 @@ arguments:
throwError('Forbidden transcript extension');
}
- return ['--log-file', getBasename(reference)+"."+parameters.trans]
+ return ['--log-file', getBasename(reference.getName())+"."+parameters.trans]
}
- identifier: locale
flag: >
diff --git a/support/arara/scripts/rules/biber.yaml b/support/arara/scripts/rules/biber.yaml
index 1edafe1e96..6399df64fb 100644
--- a/support/arara/scripts/rules/biber.yaml
+++ b/support/arara/scripts/rules/biber.yaml
@@ -16,7 +16,8 @@ commands:
return getCommand('biber', '--tool', options);
}
else {
- return getCommand('biber', options, getBasename(reference));
+ return getCommand('biber', options,
+ getBasename(reference.getName()));
}
}
arguments:
diff --git a/support/arara/scripts/rules/bibtex.yaml b/support/arara/scripts/rules/bibtex.yaml
index 73016ff43e..a845758440 100644
--- a/support/arara/scripts/rules/bibtex.yaml
+++ b/support/arara/scripts/rules/bibtex.yaml
@@ -12,7 +12,7 @@ commands:
- name: The BibTeX reference management software
command: >
@{
- return getCommand('bibtex', options, getBasename(reference))
+ return getCommand('bibtex', options, getBasename(reference.getName()))
}
arguments:
- identifier: options
diff --git a/support/arara/scripts/rules/bibtex8.yaml b/support/arara/scripts/rules/bibtex8.yaml
index 310cd96c2c..2526c82b5a 100644
--- a/support/arara/scripts/rules/bibtex8.yaml
+++ b/support/arara/scripts/rules/bibtex8.yaml
@@ -12,7 +12,7 @@ commands:
- name: An 8-bit implementation of BibTeX 0.99 with a very large capacity
command: >
@{
- return getCommand('bibtex8', options, getBasename(reference));
+ return getCommand('bibtex8', options, getBasename(reference.getName()));
}
arguments:
- identifier: options
diff --git a/support/arara/scripts/rules/bibtexu.yaml b/support/arara/scripts/rules/bibtexu.yaml
index fa29aac8d2..708a3ebfb6 100644
--- a/support/arara/scripts/rules/bibtexu.yaml
+++ b/support/arara/scripts/rules/bibtexu.yaml
@@ -12,7 +12,7 @@ commands:
- name: An 8-bit implementation of BibTeX 0.99 with a very large capacity
command: >
@{
- return getCommand('bibtexu', options, getBasename(reference));
+ return getCommand('bibtexu', options, getBasename(reference.getName()));
}
arguments:
- identifier: options
diff --git a/support/arara/scripts/rules/context.yaml b/support/arara/scripts/rules/context.yaml
index 5b8546486e..bf5b1c5b04 100644
--- a/support/arara/scripts/rules/context.yaml
+++ b/support/arara/scripts/rules/context.yaml
@@ -15,7 +15,7 @@ commands:
return getCommand('context', make, ctx, interface, autopdf, purge,
modules, environments, mode, path, arguments,
trackers, directives, silent, errors, interaction,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: make
diff --git a/support/arara/scripts/rules/csplain.yaml b/support/arara/scripts/rules/csplain.yaml
index f5447599ca..720cd0cc8f 100644
--- a/support/arara/scripts/rules/csplain.yaml
+++ b/support/arara/scripts/rules/csplain.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('csplain', interaction, draft,
- shell, synctex, options, reference);
+ shell, synctex, options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/detex.yaml b/support/arara/scripts/rules/detex.yaml
index d90d779d6a..f94c7a274e 100644
--- a/support/arara/scripts/rules/detex.yaml
+++ b/support/arara/scripts/rules/detex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
c = getCommand('detex', references, mode, follow, math, spaces,
- words, environments, reference);
+ words, environments, reference.getName());
if (isEmpty(output)) {
return c;
}
diff --git a/support/arara/scripts/rules/dvipdfm.yaml b/support/arara/scripts/rules/dvipdfm.yaml
index bbd5be92c7..c4f44309b8 100644
--- a/support/arara/scripts/rules/dvipdfm.yaml
+++ b/support/arara/scripts/rules/dvipdfm.yaml
@@ -12,7 +12,7 @@ commands:
- name: The DVIPDFM program
command: >
@{
- base = getBasename(reference).concat('.dvi');
+ base = getBasename(reference.getName()).concat('.dvi');
out = getBasename(output).concat('.pdf');
return getCommand('dvipdfm', base, '-o', out, options);
}
@@ -24,7 +24,7 @@ arguments:
}
default: >
@{
- reference
+ reference.getName()
}
- identifier: options
flag: >
diff --git a/support/arara/scripts/rules/dvipdfmx.yaml b/support/arara/scripts/rules/dvipdfmx.yaml
index d62f89968d..b9b73319e3 100644
--- a/support/arara/scripts/rules/dvipdfmx.yaml
+++ b/support/arara/scripts/rules/dvipdfmx.yaml
@@ -12,7 +12,7 @@ commands:
- name: The DVIPDFMX program
command: >
@{
- base = getBasename(reference).concat('.dvi');
+ base = getBasename(reference.getName()).concat('.dvi');
out = getBasename(output).concat('.pdf');
return getCommand('dvipdfmx', base, '-o', out, options);
}
@@ -24,7 +24,7 @@ arguments:
}
default: >
@{
- reference
+ reference.getName()
}
- identifier: options
flag: >
diff --git a/support/arara/scripts/rules/dvips.yaml b/support/arara/scripts/rules/dvips.yaml
index 68196e09dd..78a2cff58d 100644
--- a/support/arara/scripts/rules/dvips.yaml
+++ b/support/arara/scripts/rules/dvips.yaml
@@ -12,7 +12,7 @@ commands:
- name: The DVIPS program
command: >
@{
- base = getBasename(reference).concat('.dvi');
+ base = getBasename(reference.getName()).concat('.dvi');
out = getBasename(output).concat('.ps');
return getCommand('dvips', base, '-o', out, options);
}
@@ -24,7 +24,7 @@ arguments:
}
default: >
@{
- reference
+ reference.getName()
}
- identifier: options
flag: >
diff --git a/support/arara/scripts/rules/dvipspdf.yaml b/support/arara/scripts/rules/dvipspdf.yaml
index a4888325e6..68c12dde34 100644
--- a/support/arara/scripts/rules/dvipspdf.yaml
+++ b/support/arara/scripts/rules/dvipspdf.yaml
@@ -12,14 +12,14 @@ commands:
- name: The DVIPS program
command: >
@{
- base = getBasename(reference).concat('.dvi');
- out = getBasename(reference).concat('.ps');
+ base = getBasename(reference.getName()).concat('.dvi');
+ out = getBasename(reference.getName()).concat('.ps');
return getCommand('dvips', base, '-o', out, options1);
}
- name: The PS2PDF program
command: >
@{
- base = getBasename(reference).concat('.ps');
+ base = getBasename(reference.getName()).concat('.ps');
out = getBasename(output).concat('.pdf');
return getCommand('ps2pdf', options2, base, '-o', out);
}
@@ -31,7 +31,7 @@ arguments:
}
default: >
@{
- reference
+ reference.getName()
}
- identifier: options1
flag: >
diff --git a/support/arara/scripts/rules/dvisvgm.yaml b/support/arara/scripts/rules/dvisvgm.yaml
index d9d094ac3e..d0bae984de 100644
--- a/support/arara/scripts/rules/dvisvgm.yaml
+++ b/support/arara/scripts/rules/dvisvgm.yaml
@@ -12,7 +12,7 @@ commands:
- name: The dvisvgm program
command: >
@{
- base = getBasename(reference).concat('.dvi');
+ base = getBasename(reference.getName()).concat('.dvi');
return getCommand('dvisvgm', base, options);
}
arguments:
diff --git a/support/arara/scripts/rules/etex.yaml b/support/arara/scripts/rules/etex.yaml
index 0411915ef7..e039b143da 100644
--- a/support/arara/scripts/rules/etex.yaml
+++ b/support/arara/scripts/rules/etex.yaml
@@ -12,7 +12,8 @@ commands:
- name: Extended TeX engine
command: >
@{
- return getCommand('etex', interaction, shell, options, reference);
+ return getCommand('etex', interaction, shell, options,
+ reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/fig2dev.yaml b/support/arara/scripts/rules/fig2dev.yaml
index fd36069205..4e796e5c4d 100644
--- a/support/arara/scripts/rules/fig2dev.yaml
+++ b/support/arara/scripts/rules/fig2dev.yaml
@@ -12,7 +12,7 @@ commands:
- name: The fig2dev program
command: >
@{
- input = getBasename(reference).concat('.fig');
+ input = getBasename(reference.getName()).concat('.fig');
return getCommand('fig2dev', language, magnification, font, size,
options, input, output);
}
diff --git a/support/arara/scripts/rules/frontespizio.yaml b/support/arara/scripts/rules/frontespizio.yaml
index 3b0ab0a853..2cabec38a0 100644
--- a/support/arara/scripts/rules/frontespizio.yaml
+++ b/support/arara/scripts/rules/frontespizio.yaml
@@ -14,18 +14,19 @@ commands:
- name: The engine
command: >
@{
- return getCommand(engine, interaction, shell, options, reference)
+ return getCommand(engine, interaction, shell, options,
+ reference.getName())
}
- name: The frontispiece
command: >
@{
- base = getBasename(reference).concat('-frn');
+ base = getBasename(reference.getName()).concat('-frn');
return getCommand(engine, interaction, shell, base);
}
- name: The DVIPS program
command: >
@{
- base = getBasename(reference).concat('-frn');
+ base = getBasename(reference.getName()).concat('-frn');
eps = base.concat('.eps');
return isTrue(engine == 'latex', getCommand('dvips', '-o',
eps, base), '');
@@ -33,7 +34,8 @@ commands:
- name: The engine
command: >
@{
- return getCommand(engine, interaction, shell, options, reference);
+ return getCommand(engine, interaction, shell, options,
+ reference.getName());
}
arguments:
- identifier: engine
diff --git a/support/arara/scripts/rules/indent.yaml b/support/arara/scripts/rules/indent.yaml
index 4471d3728c..b6dce8b2d5 100644
--- a/support/arara/scripts/rules/indent.yaml
+++ b/support/arara/scripts/rules/indent.yaml
@@ -14,8 +14,8 @@ commands:
command: >
@{
return getCommand('latexindent', silent, trace, screenlog,
- settings, cruft, overwrite, output, reference, modifylinebreaks,
- replacement, options, logfile);
+ settings, cruft, overwrite, output, reference.getName(),
+ modifylinebreaks, replacement, options, logfile);
}
arguments:
- identifier: silent
diff --git a/support/arara/scripts/rules/knitr.yaml b/support/arara/scripts/rules/knitr.yaml
index 3a3d5dfead..a2e5fcd7bf 100644
--- a/support/arara/scripts/rules/knitr.yaml
+++ b/support/arara/scripts/rules/knitr.yaml
@@ -19,7 +19,7 @@ commands:
elements.add('envir = ' + envir);
elements.add('encoding = ' + encoding);
return getCommand('Rscript', '-e',
- 'library(knitr); knit("' + reference + '", ' +
+ 'library(knitr); knit("' + reference.getName() + '", ' +
'output = ' + isEmpty(output, 'NULL', '"' + output + '"') + ', ' +
String.join(', ', elements) + ')');
}
diff --git a/support/arara/scripts/rules/latex.yaml b/support/arara/scripts/rules/latex.yaml
index 268ff1f707..fc96395c23 100644
--- a/support/arara/scripts/rules/latex.yaml
+++ b/support/arara/scripts/rules/latex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand(branch, interaction, draft, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: branch
diff --git a/support/arara/scripts/rules/latexmk.yaml b/support/arara/scripts/rules/latexmk.yaml
index 0f39e9d709..455f942fdb 100644
--- a/support/arara/scripts/rules/latexmk.yaml
+++ b/support/arara/scripts/rules/latexmk.yaml
@@ -17,7 +17,7 @@ commands:
}
else {
return getCommand('latexmk', isEmpty(program, engine,
- program), options, reference);
+ program), options, reference.getName());
}
}
arguments:
diff --git a/support/arara/scripts/rules/luahbtex.yaml b/support/arara/scripts/rules/luahbtex.yaml
index 1557fa0614..cf4fde56e4 100644
--- a/support/arara/scripts/rules/luahbtex.yaml
+++ b/support/arara/scripts/rules/luahbtex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('luahbtex', interaction, draft, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/lualatex.yaml b/support/arara/scripts/rules/lualatex.yaml
index 68f14d78e9..de68a48b8f 100644
--- a/support/arara/scripts/rules/lualatex.yaml
+++ b/support/arara/scripts/rules/lualatex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand(branch, interaction, draft, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: branch
diff --git a/support/arara/scripts/rules/luatex.yaml b/support/arara/scripts/rules/luatex.yaml
index 91099219f6..03a726fa64 100644
--- a/support/arara/scripts/rules/luatex.yaml
+++ b/support/arara/scripts/rules/luatex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('luatex', interaction, draft, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/makeglossaries.yaml b/support/arara/scripts/rules/makeglossaries.yaml
index 861330045e..7cb47cc5df 100644
--- a/support/arara/scripts/rules/makeglossaries.yaml
+++ b/support/arara/scripts/rules/makeglossaries.yaml
@@ -14,7 +14,8 @@ commands:
@{
if (isEmpty(clean))
{
- return getCommand('makeglossaries', options, getBasename(reference));
+ return getCommand('makeglossaries', options,
+ getBasename(reference.getName()));
}
else {
prefix = [];
diff --git a/support/arara/scripts/rules/makeglossarieslite.yaml b/support/arara/scripts/rules/makeglossarieslite.yaml
index 177ba6971f..c384179f44 100644
--- a/support/arara/scripts/rules/makeglossarieslite.yaml
+++ b/support/arara/scripts/rules/makeglossarieslite.yaml
@@ -12,7 +12,8 @@ commands:
- name: The MakeGlossariesLite software
command: >
@{
- return getCommand('makeglossaries-lite', options, getBasename(reference));
+ return getCommand('makeglossaries-lite', options,
+ getBasename(reference.getName()));
}
arguments:
- identifier: options
diff --git a/support/arara/scripts/rules/makeindex.yaml b/support/arara/scripts/rules/makeindex.yaml
index 319ef71438..25b9e44c90 100644
--- a/support/arara/scripts/rules/makeindex.yaml
+++ b/support/arara/scripts/rules/makeindex.yaml
@@ -12,7 +12,7 @@ commands:
- name: The MakeIndex software
command: >
@{
- base = getBasename(reference);
+ base = getBasename(reference.getName());
infile = base.concat('.').concat(input);
outfile = [ '-o', base.concat('.').concat(output) ];
logfile = [ '-t', base.concat('.').concat(log) ];
diff --git a/support/arara/scripts/rules/metapost.yaml b/support/arara/scripts/rules/metapost.yaml
index b3a58645dd..e334210ce5 100644
--- a/support/arara/scripts/rules/metapost.yaml
+++ b/support/arara/scripts/rules/metapost.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('mpost', interaction, numbersystem,
- options, reference);
+ options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/nomencl.yaml b/support/arara/scripts/rules/nomencl.yaml
index f859f72881..4672cb4ea9 100644
--- a/support/arara/scripts/rules/nomencl.yaml
+++ b/support/arara/scripts/rules/nomencl.yaml
@@ -12,8 +12,8 @@ commands:
- name: The Nomenclature software
command: >
@{
- nlo = getBasename(reference).concat('.nlo');
- nls = getBasename(reference).concat('.nls');
+ nlo = getBasename(reference.getName()).concat('.nlo');
+ nls = getBasename(reference.getName()).concat('.nls');
return getCommand('makeindex', options, nlo, style, '-o', nls);
}
arguments:
diff --git a/support/arara/scripts/rules/pbibtex.yaml b/support/arara/scripts/rules/pbibtex.yaml
index 1a0347da76..a313b7fe92 100644
--- a/support/arara/scripts/rules/pbibtex.yaml
+++ b/support/arara/scripts/rules/pbibtex.yaml
@@ -12,7 +12,7 @@ commands:
- name: The pBibTeX reference management software
command: >
@{
- return getCommand('pbibtex', options, getBasename(reference))
+ return getCommand('pbibtex', options, getBasename(reference.getName()))
}
arguments:
- identifier: options
diff --git a/support/arara/scripts/rules/pdfcsplain.yaml b/support/arara/scripts/rules/pdfcsplain.yaml
index 88d2f7b31e..079440628a 100644
--- a/support/arara/scripts/rules/pdfcsplain.yaml
+++ b/support/arara/scripts/rules/pdfcsplain.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('pdfcsplain', interaction, draft, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/pdflatex.yaml b/support/arara/scripts/rules/pdflatex.yaml
index 385e99b997..c1ee2f9077 100644
--- a/support/arara/scripts/rules/pdflatex.yaml
+++ b/support/arara/scripts/rules/pdflatex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand(branch, interaction, draft, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: branch
diff --git a/support/arara/scripts/rules/pdftex.yaml b/support/arara/scripts/rules/pdftex.yaml
index 45a7e32f24..c6699b7dca 100644
--- a/support/arara/scripts/rules/pdftex.yaml
+++ b/support/arara/scripts/rules/pdftex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('pdftex', interaction, draft, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/pdftk.yaml b/support/arara/scripts/rules/pdftk.yaml
index 73ee784417..a457d67d53 100644
--- a/support/arara/scripts/rules/pdftk.yaml
+++ b/support/arara/scripts/rules/pdftk.yaml
@@ -12,7 +12,7 @@ commands:
- name: PDFtk
command: >
@{
- input = getBasename(reference).concat('.pdf');
+ input = getBasename(reference.getName()).concat('.pdf');
return getCommand('pdftk', input, options);
}
arguments:
diff --git a/support/arara/scripts/rules/platex.yaml b/support/arara/scripts/rules/platex.yaml
index 0c1d62cacd..edf5d4864b 100644
--- a/support/arara/scripts/rules/platex.yaml
+++ b/support/arara/scripts/rules/platex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand(branch, interaction, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: branch
diff --git a/support/arara/scripts/rules/ps2pdf.yaml b/support/arara/scripts/rules/ps2pdf.yaml
index db220f3037..dcc49f87b9 100644
--- a/support/arara/scripts/rules/ps2pdf.yaml
+++ b/support/arara/scripts/rules/ps2pdf.yaml
@@ -12,7 +12,7 @@ commands:
- name: The PS2PDF program
command: >
@{
- infile = getBasename(reference).concat('.ps');
+ infile = getBasename(reference.getName()).concat('.ps');
outfile = getBasename(output).concat('.pdf');
return getCommand('ps2pdf', options, infile, outfile);
}
@@ -24,7 +24,7 @@ arguments:
}
default: >
@{
- reference
+ reference.getName()
}
- identifier: options
flag: >
diff --git a/support/arara/scripts/rules/ptex.yaml b/support/arara/scripts/rules/ptex.yaml
index cb5103fa36..9367704cb9 100644
--- a/support/arara/scripts/rules/ptex.yaml
+++ b/support/arara/scripts/rules/ptex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('ptex', interaction, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/sketch.yaml b/support/arara/scripts/rules/sketch.yaml
index 0970d2e5b8..e7bae9b329 100644
--- a/support/arara/scripts/rules/sketch.yaml
+++ b/support/arara/scripts/rules/sketch.yaml
@@ -13,8 +13,9 @@ commands:
- name: The Sketch software
command: >
@{
- output = getBasename(reference).concat('.tex');
- return getCommand('sketch', options, reference, '-o', output);
+ output = getBasename(reference.getName()).concat('.tex');
+ return getCommand('sketch', options, reference.getName(),
+ '-o', output);
}
arguments:
- identifier: options
diff --git a/support/arara/scripts/rules/tex.yaml b/support/arara/scripts/rules/tex.yaml
index c682ea6b91..d036e5cb0d 100644
--- a/support/arara/scripts/rules/tex.yaml
+++ b/support/arara/scripts/rules/tex.yaml
@@ -12,7 +12,8 @@ commands:
- name: TeX engine
command: >
@{
- return getCommand('tex', interaction, shell, options, reference);
+ return getCommand('tex', interaction, shell, options,
+ reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/texcount.yaml b/support/arara/scripts/rules/texcount.yaml
index 79506c806c..694ac6d481 100644
--- a/support/arara/scripts/rules/texcount.yaml
+++ b/support/arara/scripts/rules/texcount.yaml
@@ -13,7 +13,8 @@ commands:
command: >
@{
return getCommand('texcount', rules, verbosity, strict, html,
- total, unicode, options, output, reference);
+ total, unicode, options, output,
+ reference.getName());
}
arguments:
- identifier: rules
diff --git a/support/arara/scripts/rules/texindy.yaml b/support/arara/scripts/rules/texindy.yaml
index 6d747f7217..45c4637889 100644
--- a/support/arara/scripts/rules/texindy.yaml
+++ b/support/arara/scripts/rules/texindy.yaml
@@ -12,7 +12,7 @@ commands:
- name: The TeXindy software
command: >
@{
- base = getBasename(reference);
+ base = getBasename(reference.getName());
infile = base.concat('.').concat(input);
outfile = [ '-o', base.concat('.').concat(output) ];
logfile = [ '-t', base.concat('.').concat(log) ];
diff --git a/support/arara/scripts/rules/tikzmake.yaml b/support/arara/scripts/rules/tikzmake.yaml
index 0569ba9a65..69e72c4885 100644
--- a/support/arara/scripts/rules/tikzmake.yaml
+++ b/support/arara/scripts/rules/tikzmake.yaml
@@ -13,7 +13,7 @@ commands:
- name: TikZ list-and-make engine
command: >
@{
- makefile = getBasename(reference).concat('.makefile');
+ makefile = getBasename(reference.getName()).concat('.makefile');
return getCommand('make', force, jobs, options, '-f', makefile);
}
arguments:
diff --git a/support/arara/scripts/rules/upbibtex.yaml b/support/arara/scripts/rules/upbibtex.yaml
index d6593dea57..bb32250c6c 100644
--- a/support/arara/scripts/rules/upbibtex.yaml
+++ b/support/arara/scripts/rules/upbibtex.yaml
@@ -12,7 +12,8 @@ commands:
- name: The upBibTeX reference management software
command: >
@{
- return getCommand('upbibtex', options, getBasename(reference))
+ return getCommand('upbibtex', options,
+ getBasename(reference.getName()))
}
arguments:
- identifier: options
diff --git a/support/arara/scripts/rules/uplatex.yaml b/support/arara/scripts/rules/uplatex.yaml
index c0f2cdf3cd..c2690d1105 100644
--- a/support/arara/scripts/rules/uplatex.yaml
+++ b/support/arara/scripts/rules/uplatex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand(branch, interaction, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: branch
diff --git a/support/arara/scripts/rules/uptex.yaml b/support/arara/scripts/rules/uptex.yaml
index 6163e0ae69..fb7a2282fd 100644
--- a/support/arara/scripts/rules/uptex.yaml
+++ b/support/arara/scripts/rules/uptex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('uptex', interaction, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/xdvipdfmx.yaml b/support/arara/scripts/rules/xdvipdfmx.yaml
index 75bf182a4d..6c569ef31c 100644
--- a/support/arara/scripts/rules/xdvipdfmx.yaml
+++ b/support/arara/scripts/rules/xdvipdfmx.yaml
@@ -12,7 +12,7 @@ commands:
- name: The XDVIPDFMX program
command: >
@{
- infile = getBasename(reference).concat('.dvi');
+ infile = getBasename(reference.getName()).concat('.dvi');
outfile = getBasename(output).concat('.pdf');
return getCommand('xdvipdfmx', infile, '-o', outfile, options);
}
@@ -24,7 +24,7 @@ arguments:
}
default: >
@{
- reference
+ reference.getName()
}
- identifier: options
flag: >
diff --git a/support/arara/scripts/rules/xelatex.yaml b/support/arara/scripts/rules/xelatex.yaml
index b94e35f797..021f4cea6f 100644
--- a/support/arara/scripts/rules/xelatex.yaml
+++ b/support/arara/scripts/rules/xelatex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand(branch, interaction, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: branch
diff --git a/support/arara/scripts/rules/xetex.yaml b/support/arara/scripts/rules/xetex.yaml
index faefd9ca17..687b08f200 100644
--- a/support/arara/scripts/rules/xetex.yaml
+++ b/support/arara/scripts/rules/xetex.yaml
@@ -13,7 +13,7 @@ commands:
command: >
@{
return getCommand('xetex', interaction, shell,
- synctex, options, reference);
+ synctex, options, reference.getName());
}
arguments:
- identifier: interaction
diff --git a/support/arara/scripts/rules/xindy.yaml b/support/arara/scripts/rules/xindy.yaml
index f1c12f0c1d..161ae60158 100644
--- a/support/arara/scripts/rules/xindy.yaml
+++ b/support/arara/scripts/rules/xindy.yaml
@@ -12,7 +12,7 @@ commands:
- name: The Xindy software
command: >
@{
- base = getBasename(reference);
+ base = getBasename(reference.getName());
infile = base.concat('.').concat(input);
outfile = [ '-o', base.concat('.').concat(output) ];
logfile = [ '-t', base.concat('.').concat(log) ];
diff --git a/support/pkgcheck/CHANGES.md b/support/pkgcheck/CHANGES.md
index ba15e0ae9e..dab0c748ab 100644
--- a/support/pkgcheck/CHANGES.md
+++ b/support/pkgcheck/CHANGES.md
@@ -122,6 +122,21 @@
check for latex-dev in the path names in the TDS zip archive
- if a file in a generated file statement contains a directory part it was correctly
recognized but not compared correctly to the contents of the TDS zip archive
+
2020-02-07 (2.0.1)
- - Use the `-a` (convert text files) flag when unzipping the TDS archive
+ - use the `-a` (convert text files) flag when temporarily unzipping the TDS archive
- crates update
+
+2020-04-12 (2.1.0)
+ - add new test case e0033
+ - don't issue error messages when a .bat file has 0755 permission
+ - improvements regarding detection of generated files (error message e0019)
+ - generated REAME files caused e0019 error message when they were specified with
+ a relative path name in the `\generate` statement in the .dtx resp. .ins file
+ - don't issue error message when a pdf file, generated by .dtx/.ins, exists
+ - don't issue error message when an existing .ins file is generated by a .dtx file
+ - improved text in error message e0019
+ - call pdfinfo and unzip without specifying an absolute path so that it gets found
+ when it is outside of /usr/bin (reported by Arthur Reutenauer)
+
+
diff --git a/support/pkgcheck/Cargo.toml b/support/pkgcheck/Cargo.toml
index 0943bc76d7..39fe8901b5 100644
--- a/support/pkgcheck/Cargo.toml
+++ b/support/pkgcheck/Cargo.toml
@@ -1,11 +1,16 @@
[package]
name = "pkgcheck"
-version = "2.0.1"
+version = "2.1.0"
authors = ["Manfred Lotz <manfred@ctan.org>"]
description = "Command-line tool to check packages uploaded to CTAN."
license = "MIT/Apache-2.0"
edition = "2018"
+# with this option binaries are smaller
+# https://doc.rust-lang.org/edition-guide/rust-2018/error-handling-and-panics/aborting-on-panic.html
+[profile.release]
+panic = "abort"
+
[dependencies]
structopt = "0.3"
walkdir = "2.3"
@@ -23,7 +28,7 @@ reqwest = { version = "0.10", features = ["blocking", "gzip"] }
lazy_static = "1"
tempdir = "0.3"
-assert_cmd = "0.12"
+assert_cmd = "1"
predicates = "1"
openssl-probe = "0.1.2"
pest = "2.1"
diff --git a/support/pkgcheck/bin/pkgcheck b/support/pkgcheck/bin/pkgcheck
index 5ab0dfe212..c00875db43 100755
--- a/support/pkgcheck/bin/pkgcheck
+++ b/support/pkgcheck/bin/pkgcheck
Binary files differ
diff --git a/support/pkgcheck/docs/errorsd.tex b/support/pkgcheck/docs/errorsd.tex
index e3e9cc9b5f..33e2ea6fd9 100644
--- a/support/pkgcheck/docs/errorsd.tex
+++ b/support/pkgcheck/docs/errorsd.tex
@@ -183,10 +183,11 @@ package which easily can be generated from other files in the
submission.
Exceptions are the \texttt{README} files of the package, i.e.
-\texttt{README}, \texttt{README.md} or \texttt{README.txt}.
+\texttt{README}, \texttt{README.md} or \texttt{README.txt}, or
+\texttt{.pdf} files.
-Starting with version 1.1.0 \texttt{pkgcheck} also detects generated
-files if they are in a different directory in the package.
+\texttt{pkgcheck} detects generated files anywhere in the package
+directory tree.
For more details refer to:
\href{http://mirror.ctan.org/help/ctan/CTAN-upload-addendum.html\#nogeneratedfiles}{http://mirror.ctan.org/help/ctan/CTAN-upload-addendum.html\#nogeneratedfiles}
diff --git a/support/pkgcheck/docs/pkgcheck.pdf b/support/pkgcheck/docs/pkgcheck.pdf
index dd1f384a45..cbad89da3d 100644
--- a/support/pkgcheck/docs/pkgcheck.pdf
+++ b/support/pkgcheck/docs/pkgcheck.pdf
Binary files differ
diff --git a/support/pkgcheck/docs/title.tex b/support/pkgcheck/docs/title.tex
index 5840449306..de019a5346 100644
--- a/support/pkgcheck/docs/title.tex
+++ b/support/pkgcheck/docs/title.tex
@@ -1 +1 @@
-\title{pkgcheck Utility, v2.0.1}
+\title{pkgcheck Utility, v2.1.0}
diff --git a/support/pkgcheck/src/generate.pest.md b/support/pkgcheck/src/generate.pest.md
index 643fe57750..8891a57f93 100644
--- a/support/pkgcheck/src/generate.pest.md
+++ b/support/pkgcheck/src/generate.pest.md
@@ -1,4 +1,4 @@
-# Some notes about gparser.pest
+# Some notes about generate.pest
## COMMENT and WHITESPACE
@@ -11,5 +11,5 @@ The Pest book at https://pest.rs/book/grammars/syntax.html says:
> they will be implicitly inserted at every sequence and between every repetition (except in atomic rules).
-Therefore COMMENT and WHITESPACE are defined in `gparser.pest`.
+Therefore COMMENT and WHITESPACE are defined in `generate.pest`.
diff --git a/support/pkgcheck/src/main.rs b/support/pkgcheck/src/main.rs
index de0d3b3cb6..cbb678729f 100644
--- a/support/pkgcheck/src/main.rs
+++ b/support/pkgcheck/src/main.rs
@@ -177,10 +177,8 @@ fn check_readme_inner(fname: &str, f: &std::fs::File) -> bool {
result
}
-fn is_readme(entry: &DirEntry) -> bool {
- let r = entry.file_name().to_str().unwrap();
-
- match r {
+fn is_readme(entry: &str) -> bool {
+ match entry {
"README" | "README.txt" | "README.md" => true,
_ => false,
}
@@ -466,6 +464,7 @@ fn check_generated_files(entry: &str, generated: &mut GeneratedHashMap) {
// unwrap() is ok here as we only call this function for files,
// specifically .ins or .dtx files
let entry_fname = filename(entry).unwrap().to_string();
+ // the name of the .ins resp. .dtx without extension
let entry_base = &entry_fname[0..entry_fname.len() - 4];
let fhdl = File::open(&entry);
@@ -479,32 +478,35 @@ fn check_generated_files(entry: &str, generated: &mut GeneratedHashMap) {
gparser::parse_generate(&String::from_utf8_lossy(&buf.clone()))
{
for fname in found {
+ // If the filename in the 'file{} statement contains `\jobname`
+ // we replace jobname with the .dtx resp. .ins filename (without extension)
+ // before we investigate further
+ let fname1 = fname.replace("\\jobname", entry_base);
+
+ // If the filename in the generate statement contains a path component
+ // we ignore it so that a generated file will be reported even if it is
+ // in a different place in the package directory which sometimes
+ // happens in uploaded packages
+ let fname_opt = utils::filename(&fname1);
+ if fname_opt.is_none() {
+ continue;
+ }
+ let filename = fname_opt.unwrap();
+
// As we request a README in the top level directory of
// a package we ignore if a README was generated by an
// .ins or .dtx file
// CAVEAT: If this happens in a subdirectory it could be an error!!!!
- if fname == "README" || fname == "README.txt" || fname == "README.md" {
+ if is_readme(&filename) {
continue;
}
- // If the filename in the 'file{} statement is jobname.<ext>
- // we replace jobname with the filename before we investigate further
- let fname_x = if fname.starts_with("\\jobname") {
- let ext = match get_extension_from_filename(&fname) {
- Some(e) => e,
- None => "",
- };
- format!("{}.{}", entry_base, ext)
- } else {
- fname.to_string()
- };
-
- // If the filename in the generate statement contains a path component
- // we ignore it so that a generated file will be reported even if it is
- // in a different place in the package directory
- if let Some(pb) = utils::filename(&fname_x) {
- generated.entry(pb.to_string()).or_insert_with(|| entry.to_string());
+ // Ignore generated pdf files
+ if fname.ends_with(".pdf") {
+ continue;
}
+
+ generated.entry(filename.to_string()).or_insert_with(|| entry.to_string());
}
};
}
@@ -542,7 +544,7 @@ fn check_tds_archive_name(tds_zip: &Option<String>) -> Option<String> {
}
fn unzip_tds_archive(tds_zip: &str, tmp_dir: &str) {
- match run_cmd("/usr/bin/unzip", &["-a", "-q", "-d", tmp_dir, &tds_zip]) {
+ match run_cmd("unzip", &["-a", "-q", "-d", tmp_dir, &tds_zip]) {
CmdReturn { status: true, .. } => (),
CmdReturn {
status: false,
@@ -955,7 +957,7 @@ fn check_package(root: &str, tds_zip: &Option<String>) -> Option<DupHashes> {
FileKind::Symlink(pd.clone()),
));
}
- if is_readme(&dir_entry) {
+ if is_readme(&file_name) {
readme_found = true;
file_names.insert(
p,
@@ -1018,7 +1020,7 @@ fn check_package(root: &str, tds_zip: &Option<String>) -> Option<DupHashes> {
.push(PathBuf::from(&dir_entry_str));
}
- if is_readme(&dir_entry) {
+ if is_readme(&file_name) {
// We want to deal with README files only if they are
// in the root directory of the package.
let f = format!(
@@ -1302,12 +1304,16 @@ fn print_casefolding(hashes: &HashMap<PathBuf, Vec<(PathBuf, FileKind)>>) {
}
}
-fn print_generated(hashes: &HashMap<PathBuf, Vec<PathBuf>>, generated: &GeneratedHashMap) {
+fn print_generated(doublenames: &HashMap<PathBuf, Vec<PathBuf>>, generated: &GeneratedHashMap) {
+ // `k` is generated by `gen`
for (k, gen) in generated.iter() {
- let mut path = PathBuf::new();
- path.push(k);
- if hashes.contains_key(&path) {
- let v = &hashes[&path];
+ let path = PathBuf::from(k);
+ if doublenames.contains_key(&path) {
+ if k.ends_with(".ins") || k.ends_with(".pdf") {
+ //println!("key {}, gen {}", k, gen);
+ continue;
+ }
+ let v = &doublenames[&path];
for fname in v {
e0019!(fname.to_str().unwrap(), gen.as_str());
}
diff --git a/support/pkgcheck/src/messages/errorsd.rs b/support/pkgcheck/src/messages/errorsd.rs
index 09c2f4cc53..b80e4d1245 100644
--- a/support/pkgcheck/src/messages/errorsd.rs
+++ b/support/pkgcheck/src/messages/errorsd.rs
@@ -256,10 +256,9 @@ package which easily can be generated from other files in the
submission.
Exceptions are the README files of the package, i.e. README, README.md
-or README.txt.
+or README.txt, or .pdf files.
-Starting with version 1.1.0 pkgcheck also detects generated files if
-they are in a different directory in the package.
+pkgcheck detects generated files anywhere in the package directory tree.
For more details refer to:
http://mirror.ctan.org/help/ctan/CTAN-upload-addendum.html#nogeneratedfiles
diff --git a/support/pkgcheck/src/utils.rs b/support/pkgcheck/src/utils.rs
index 8a34bfe7c1..d047a97cb0 100644
--- a/support/pkgcheck/src/utils.rs
+++ b/support/pkgcheck/src/utils.rs
@@ -333,7 +333,7 @@ pub fn _is_symlink_broken(entry: &DirEntry) -> Result<bool, io::Error> {
// returns non zero we assume that the PDF document is
// corrupted.
pub fn is_pdf_ok(fname: &str) -> CmdReturn {
- run_cmd("/usr/bin/pdfinfo", &[fname])
+ run_cmd("pdfinfo", &[fname])
}
pub fn get_perms(path: &Path) -> u32 {
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index e43aa20d7b..7e262a1e61 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -7,6 +7,7 @@ $mirrors = {
'https://mirror.marwan.ma/ctan/' => 1,
},
'South Africa' => {
+ 'http://ftp.leg.uct.ac.za/pub/packages/ctan/' => 1,
'http://ftp.sun.ac.za/ftp/CTAN/' => 1,
'http://mirror.ufs.ac.za/ctan/' => 1,
},
@@ -18,6 +19,7 @@ $mirrors = {
'http://mirrors.hit.edu.cn/CTAN/' => 1,
'http://mirrors.sjtug.sjtu.edu.cn/ctan/' => 1,
'http://mirrors.tuna.tsinghua.edu.cn/CTAN/' => 1,
+ 'http://mirrors.ustc.edu.cn/CTAN/' => 1,
'https://mirror.bjtu.edu.cn/CTAN/' => 1,
},
'Hong Kong' => {
@@ -27,13 +29,15 @@ $mirrors = {
'http://ctan.imsc.res.in/' => 1,
'http://mirror.iopb.res.in/tex-archive/' => 1,
},
+ 'Indonesia' => {
+ 'https://mirror.unpad.ac.id/ctan/' => 1,
+ },
'Iran' => {
'http://ctan.asis.ai/' => 1,
'http://ctan.yazd.ac.ir/' => 1,
},
'Japan' => {
'ftp://ftp.kddilabs.jp/CTAN/' => 1,
- 'ftp://ftp.u-aizu.ac.jp/pub/tex/CTAN/' => 1,
'http://ftp.jaist.ac.jp/pub/CTAN/' => 1,
'http://ftp.yz.yamagata-u.ac.jp/pub/CTAN/' => 1,
},
@@ -91,6 +95,7 @@ $mirrors = {
'http://ftp.fau.de/ctan/' => 1,
'http://ftp.gwdg.de/pub/ctan/' => 1,
'http://mirror.informatik.hs-fulda.de/tex-archive/' => 1,
+ 'http://mirror.physik-pool.tu-berlin.de/pub/CTAN/' => 1,
'http://packages.oth-regensburg.de/ctan/' => 1,
'http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/' => 1,
'https://ctan.kako-dev.de/' => 1,
@@ -151,6 +156,7 @@ $mirrors = {
'http://ctan.mirror.colo-serv.net/' => 1,
'http://ctan.mirror.globo.tech/' => 1,
'http://ctan.mirror.rafal.ca/' => 1,
+ 'http://mirror.its.dal.ca/ctan/' => 1,
'http://muug.ca/mirror/ctan/' => 1,
},
'USA' => {
diff --git a/systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt b/systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
new file mode 100644
index 0000000000..651694e8a3
--- /dev/null
+++ b/systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
@@ -0,0 +1,3466 @@
+##
+## Bundle of CA Root Certificates
+##
+## Certificate data from Mozilla as of: Wed Jan 1 04:12:10 2020 GMT
+##
+## This is a bundle of X.509 certificates of public Certificate Authorities
+## (CA). These were automatically extracted from Mozilla's root certificates
+## file (certdata.txt). This file can be found in the mozilla source tree:
+## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt
+##
+## It contains the certificates in PEM format and therefore
+## can be directly used with curl / libcurl / php_curl, or with
+## an Apache+mod_ssl webserver for SSL client authentication.
+## Just configure this file as the SSLCACertificateFile.
+##
+## Conversion done with mk-ca-bundle.pl version 1.27.
+## SHA256: f3bdcd74612952da8476a9d4147f50b29ad0710b7dd95b4c8690500209986d70
+##
+
+
+GlobalSign Root CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
+GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
+b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
+BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
+VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
+DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
+THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
+Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
+c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
+gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
+HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
+AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
+Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
+j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
+hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
+X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
+ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
+s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
+S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
+TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
+ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
+FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
+YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
+BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
+9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
+01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
+9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
+TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
+-----END CERTIFICATE-----
+
+Verisign Class 3 Public Primary Certification Authority - G3
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
+CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
+dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
+EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
+cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
+EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
+055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
+ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
+j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
+/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
+xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
+t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
+-----END CERTIFICATE-----
+
+Entrust.net Premium 2048 Secure Server CA
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
+ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
+bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
+BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
+NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
+d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
+MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
+ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
+Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
+hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
+nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
+VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ
+KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy
+T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
+zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT
+J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e
+nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE=
+-----END CERTIFICATE-----
+
+Baltimore CyberTrust Root
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
+ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
+ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
+SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
+dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
+uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
+UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
+G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
+XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
+l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
+VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
+BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
+cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
+hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
+Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
+RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
+-----END CERTIFICATE-----
+
+AddTrust External Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
+QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
+VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
+NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
+cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
+Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
+Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
+aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
+2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
+7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
+BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
+VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
+VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
+IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
+j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
+6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
+e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
+G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority
+====================================
+-----BEGIN CERTIFICATE-----
+MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
+b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
+A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
+MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
+MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
+Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
+dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
+A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
+Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
+j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
+rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
+MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
+hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
+A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
+Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
+v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
+W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
+tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
+-----END CERTIFICATE-----
+
+GeoTrust Global CA
+==================
+-----BEGIN CERTIFICATE-----
+MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
+Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
+MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
+LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
+BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
+8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
+T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
+vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
+DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
+zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
+d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
+mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
+XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
+Mw==
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
+MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
+Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
+ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
+JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
+RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
+7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
+8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
+qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
+Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
+Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
+KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
+ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
+XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
+hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
+aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
+qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
+oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
+xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
+KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
+DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
+xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
+p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
+P/rmMuGNG2+k5o7Y+SlIis5z/iw=
+-----END CERTIFICATE-----
+
+GeoTrust Universal CA 2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
+R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
+MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
+SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
+A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
+DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
+j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
+JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
+QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
+WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
+20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
+ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
+SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
+8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
+BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
+dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
+4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
+A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
+Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
+pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
+FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
+gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
+X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
+-----END CERTIFICATE-----
+
+Comodo AAA Services root
+========================
+-----BEGIN CERTIFICATE-----
+MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
+R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
+TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
+MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
+c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
+BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
+C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
+i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
+Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
+Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
+Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
+BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
+cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
+LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
+7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
+Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
+8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
+12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
+-----END CERTIFICATE-----
+
+QuoVadis Root CA
+================
+-----BEGIN CERTIFICATE-----
+MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
+ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
+eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
+MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
+cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
+EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
+J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
+F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
+YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
+AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
+PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
+ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
+MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
+YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
+ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
+Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
+Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
+BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
+FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
+tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
+fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
+LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
+gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
+5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
+5nrQNiOKSnQ2+Q==
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2
+==================
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3
+==================
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+
+Security Communication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
+U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
+8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
+DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
+5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
+DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
+JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
+DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
+0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
+mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
+s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
+6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
+FL39vmwLAw==
+-----END CERTIFICATE-----
+
+Sonera Class 2 Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
+U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
+NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
+IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
+/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
+dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
+f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
+tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
+nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
+XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
+0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
+cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
+Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
+EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
+llpwrN9M
+-----END CERTIFICATE-----
+
+XRamp Global CA Root
+====================
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
+BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
+dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
+HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
+U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
+dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
+IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
+foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
+zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
+AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
+xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
+oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
+AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
+/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
+qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
+nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
+8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
+-----END CERTIFICATE-----
+
+Go Daddy Class 2 CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
+VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
+A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
+RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
+ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
+2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
+qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
+YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
+vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
+BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
+atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
+MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
+A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
+PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
+I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
+HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
+Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
+vZ8=
+-----END CERTIFICATE-----
+
+Starfield Class 2 CA
+====================
+-----BEGIN CERTIFICATE-----
+MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
+U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
+Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
+MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
+A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
+SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
+bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
+JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
+epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
+F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
+MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
+hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
+bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
+QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
+afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
+PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
+xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
+KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
+QBFGmh95DmK/D5fs4C8fF5Q=
+-----END CERTIFICATE-----
+
+Taiwan GRCA
+===========
+-----BEGIN CERTIFICATE-----
+MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
+EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
+DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
+dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
+ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
+w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
+BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
+1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
+htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
+J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
+Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
+B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
+O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
+lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
+HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
+09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
+TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
+Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
+Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
+D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
+DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
+Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
+7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
+CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root CA
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
+MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
+9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
+UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
+/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
+oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
+GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
+66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
+hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
+EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
+SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
+8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
+-----END CERTIFICATE-----
+
+DigiCert Global Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
+MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
+TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
+BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
+4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
+7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
+o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
+8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
+BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
+EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
+tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
+UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
+CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
+-----END CERTIFICATE-----
+
+DigiCert High Assurance EV Root CA
+==================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
+KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
+MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
+MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
+Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
+Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
+OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
+MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
+NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
+h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
+Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
+JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
+V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
+myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
+mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
+vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
+-----END CERTIFICATE-----
+
+DST Root CA X3
+==============
+-----BEGIN CERTIFICATE-----
+MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
+ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
+DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
+cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
+rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
+UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
+xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
+utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
+MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
+dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
+GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
+RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
+fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
+-----END CERTIFICATE-----
+
+SwissSign Gold CA - G2
+======================
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+
+SwissSign Silver CA - G2
+========================
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
+EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
+cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
+b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
+nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
+RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
+tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
+hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
+Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
+NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
+Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
+1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
+-----END CERTIFICATE-----
+
+thawte Primary Root CA
+======================
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
+MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
+SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
+KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
+FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
+oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
+1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
+q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
+aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
+afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
+VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
+AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
+uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
+xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
+jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
+z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G5
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
+ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
+yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
+biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
+dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
+YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
+j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
+Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
+Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
+fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
+BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
+Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
+aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
+SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
+KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
+Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
+ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
+-----END CERTIFICATE-----
+
+SecureTrust CA
+==============
+-----BEGIN CERTIFICATE-----
+MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
+dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
+BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
+ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
+OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
+DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
+GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
+01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
+ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
+BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
+aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
+SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
+mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
+nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
+3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
+-----END CERTIFICATE-----
+
+Secure Global CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
+EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
+bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
+MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
+Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
+YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
+bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
+8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
+HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
+0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
+EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
+oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
+MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
+CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
+3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
+f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
+-----END CERTIFICATE-----
+
+COMODO Certification Authority
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
+BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
+A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
+dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
+MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
+T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
+xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
+4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
+1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
+rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
+b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
+AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
+OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
+RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
+IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
+-----END CERTIFICATE-----
+
+Network Solutions Certificate Authority
+=======================================
+-----BEGIN CERTIFICATE-----
+MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
+EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
+IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
+MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
+MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
+jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
+aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
+crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
+/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
+AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
+bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
+A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
+4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
+GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
+wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
+ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
+-----END CERTIFICATE-----
+
+COMODO ECC Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
+R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
+ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
+dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
+GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
+Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
+b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
+4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
+wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
+BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
+FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
+U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GA CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
+BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
+A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
+bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
+VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
+IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
+IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
+Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
+Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
+d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
+/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
+LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
+AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
+KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
+MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
+hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
+okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
+-----END CERTIFICATE-----
+
+Certigna
+========
+-----BEGIN CERTIFICATE-----
+MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
+EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
+MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
+Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
+XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
+GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
+ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
+DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
+Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
+tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
+BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
+SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
+hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
+PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
+1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
+WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
+-----END CERTIFICATE-----
+
+Cybertrust Global Root
+======================
+-----BEGIN CERTIFICATE-----
+MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
+ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
+MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
+ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
+0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
+AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
+89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
+8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
+BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
+MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
+A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
+lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
+5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
+hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
+X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
+WL1WMRJOEcgh4LMRkWXbtKaIOM5V
+-----END CERTIFICATE-----
+
+ePKI Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
+EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
+Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
+MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
+MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
+IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
+lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
+qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
+12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
+WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
+lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
+vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
+Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
+MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
+ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
+1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
+KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
+xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
+NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
+GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
+xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
+gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
+sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
+BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
+-----END CERTIFICATE-----
+
+certSIGN ROOT CA
+================
+-----BEGIN CERTIFICATE-----
+MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
+VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
+Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
+CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
+JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
+rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
+ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
+0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
+AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
+Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
+AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
+SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
+x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
+vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
+TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G3
+=============================================
+-----BEGIN CERTIFICATE-----
+MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
+BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
+IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
+eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
+NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
+YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
+LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
+K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
+c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
+IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
+dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
+2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
+cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
+Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
+AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
+t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
+VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
+IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
+Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
+MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
+b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
+IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
+LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
+8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
+mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
+G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
+rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
+-----END CERTIFICATE-----
+
+thawte Primary Root CA - G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
+BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
+aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
+ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
+d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
+VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
+A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
+P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
+7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
+vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
+KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
+A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
+t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
+8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
+er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
+-----END CERTIFICATE-----
+
+GeoTrust Primary Certification Authority - G2
+=============================================
+-----BEGIN CERTIFICATE-----
+MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
+VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
+Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
+ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
+OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
+MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
+b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
+BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
+KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
+VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
+EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
+ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
+npaqBA+K
+-----END CERTIFICATE-----
+
+VeriSign Universal Root Certification Authority
+===============================================
+-----BEGIN CERTIFICATE-----
+MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
+BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
+ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
+IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
+IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
+UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
+cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
+aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
+1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
+MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
+9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
+AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
+tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
+CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
+a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
+DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
+Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
+Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
+P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
+wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
+mJO37M2CYfE45k+XmCpajQ==
+-----END CERTIFICATE-----
+
+VeriSign Class 3 Public Primary Certification Authority - G4
+============================================================
+-----BEGIN CERTIFICATE-----
+MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
+VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
+b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
+ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
+YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
+MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
+cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
+b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
+IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
+Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
+rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
+HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
+Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
+A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
+AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
+-----END CERTIFICATE-----
+
+NetLock Arany (Class Gold) Főtanúsítvány
+========================================
+-----BEGIN CERTIFICATE-----
+MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
+A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
+dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
+cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
+MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
+ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
+biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
+c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
+0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
+/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
+H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
+fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
+neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
+BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
+qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
+YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
+bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
+NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
+dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G2
+==================================
+-----BEGIN CERTIFICATE-----
+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
+66+KAQ==
+-----END CERTIFICATE-----
+
+Hongkong Post Root CA 1
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
+DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
+NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
+IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
+ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
+auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
+qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
+V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
+HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
+h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
+l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
+IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
+T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
+c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
+-----END CERTIFICATE-----
+
+SecureSign RootCA11
+===================
+-----BEGIN CERTIFICATE-----
+MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
+SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
+b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
+KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
+cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
+TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
+wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
+g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
+O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
+bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
+t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
+OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
+bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
+Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
+y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
+lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
+-----END CERTIFICATE-----
+
+Microsec e-Szigno Root CA 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
+MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
+c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
+dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
+BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
+U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
+fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
+0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
+pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
+1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
+AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
+QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
+FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
+lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
+I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
+tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
+yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
+LXpUq3DDfSJlgnCW
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R3
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
+YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
+bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
+aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
+bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
+iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
+0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
+rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
+OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
+xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
+lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
+EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
+bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
+YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
+kpeDMdmztcpHWD9f
+-----END CERTIFICATE-----
+
+Autoridad de Certificacion Firmaprofesional CIF A62634068
+=========================================================
+-----BEGIN CERTIFICATE-----
+MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
+BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
+MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
+QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
+NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
+Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
+B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
+7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
+ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
+plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
+MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
+LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
+bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
+vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
+EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
+DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
+cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
+bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
+ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
+51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
+R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
+T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
+Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
+osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
+crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
+saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
+KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
+6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
+-----END CERTIFICATE-----
+
+Izenpe.com
+==========
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+
+Chambers of Commerce Root - 2008
+================================
+-----BEGIN CERTIFICATE-----
+MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
+Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
+ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
+EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
+cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
+XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
+h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
+ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
+NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
+D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
+lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
+0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
+ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
+EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
+G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
+BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
+bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
+bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
+CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
+AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
+wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
+3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
+RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
+M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
+YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
+9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
+zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
+nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
+OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
+-----END CERTIFICATE-----
+
+Global Chambersign Root - 2008
+==============================
+-----BEGIN CERTIFICATE-----
+MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
+MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
+bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
+QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
+NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
+Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
+QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
+aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
+VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
+XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
+ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
+/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
+TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
+H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
+Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
+HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
+wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
+AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
+BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
+BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
+aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
+aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
+1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
+dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
+/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
+ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
+dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
+9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
+foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
+qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
+P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
+c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
+09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
+-----END CERTIFICATE-----
+
+Go Daddy Root Certificate Authority - G2
+========================================
+-----BEGIN CERTIFICATE-----
+MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
+MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
+MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
+b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
+A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
+hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
+9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
+fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
+NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
+BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
+vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
+5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
+N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
+LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
+-----END CERTIFICATE-----
+
+Starfield Root Certificate Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
+eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
+DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
+VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
+dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
+W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
+bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
+N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
+ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
+JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
+TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
+4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
+F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
+pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
+c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
+-----END CERTIFICATE-----
+
+Starfield Services Root Certificate Authority - G2
+==================================================
+-----BEGIN CERTIFICATE-----
+MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
+B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
+b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
+IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
+BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
+dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
+Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
+h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
+hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
+LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
+rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
+AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
+SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
+E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
+xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
+iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
+YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
+-----END CERTIFICATE-----
+
+AffirmTrust Commercial
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
+MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
+DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
+C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
+BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
+MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
+HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
+hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
+qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
+0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
+sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
+-----END CERTIFICATE-----
+
+AffirmTrust Networking
+======================
+-----BEGIN CERTIFICATE-----
+MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
+MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
+bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
+Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
+dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
+/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
+h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
+HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
+UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
+12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
+WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
+/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
+-----END CERTIFICATE-----
+
+AffirmTrust Premium
+===================
+-----BEGIN CERTIFICATE-----
+MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
+BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
+OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
+dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
+BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
+5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
+GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
+p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
+S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
+6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
+/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
+/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
+MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
+Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
+6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
+L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
+BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
+IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
+g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
+zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
+-----END CERTIFICATE-----
+
+AffirmTrust Premium ECC
+=======================
+-----BEGIN CERTIFICATE-----
+MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
+BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
+MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
+cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
+IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
+N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
+BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
+BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
+57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
+eQ==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA
+=========================
+-----BEGIN CERTIFICATE-----
+MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
+ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
+MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
+ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
+l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
+J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
+fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
+cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
+Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
+DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
+jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
+mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
+Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
+03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
+-----END CERTIFICATE-----
+
+TWCA Root Certification Authority
+=================================
+-----BEGIN CERTIFICATE-----
+MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
+VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
+dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
+EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
+IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
+QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
+oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
+4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
+y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
+BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
+9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
+mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
+QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
+T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
+Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
+-----END CERTIFICATE-----
+
+Security Communication RootCA2
+==============================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
+U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
+dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
+SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
+aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
+3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
+spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
+EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
+QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
+CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
+u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
+3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
+tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
+mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
+-----END CERTIFICATE-----
+
+EC-ACC
+======
+-----BEGIN CERTIFICATE-----
+MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
+BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
+ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
+VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
+CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
+BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
+MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
+SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
+Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
+cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
+w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
+ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
+HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
+E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
+0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
+BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
+VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
+Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
+dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
+lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
+Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
+l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
+E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
+5EI=
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2011
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
+O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
+aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
+AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
+IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
+IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
+AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
+1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
+71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
+8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
+3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
+MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
+MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
+b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
+XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
+TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
+/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
+7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
+-----END CERTIFICATE-----
+
+Actalis Authentication Root CA
+==============================
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+
+Trustis FPS Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
+EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
+IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
+BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
+KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
+RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
+H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
+cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
+o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
+AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
+BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
+GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
+yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
+8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
+l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
+iB6XzCGcKQENZetX2fNXlrtIzYE=
+-----END CERTIFICATE-----
+
+Buypass Class 2 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
+DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
+g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
+9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
+/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
+CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
+awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
+zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
+Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
+Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
+M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
+A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
+osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
+aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
+DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
+LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
+oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
+wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
+CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
+rJgWVqA=
+-----END CERTIFICATE-----
+
+Buypass Class 3 Root CA
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
+QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
+DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
+eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
+DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
+sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
+5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
+7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
+ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
+2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
+/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
+RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
+Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
+j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
+VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
+AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
+cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
+uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
+Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
+ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
+KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
+6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
+UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
+eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
+Cp/HuZc=
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 3
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
+MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
+9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
+NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
+iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
+0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
+AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
+fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
+ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
+P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
+e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
+-----END CERTIFICATE-----
+
+EE Certification Centre Root CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
+EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
+dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
+MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
+UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
+ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
+TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
+rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
+93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
+P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
+MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
+BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
+xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
+lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
+uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
+3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
+dcGWxZ0=
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 2009
+==============================
+-----BEGIN CERTIFICATE-----
+MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe
+Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
+LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw
+DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD
+ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA
+BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv
+KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z
+p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC
+AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ
+4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y
+eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw
+MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G
+PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw
+OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm
+2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0
+o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV
+dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph
+X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I=
+-----END CERTIFICATE-----
+
+D-TRUST Root Class 3 CA 2 EV 2009
+=================================
+-----BEGIN CERTIFICATE-----
+MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK
+DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw
+OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS
+egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh
+zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T
+7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60
+sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35
+11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv
+cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v
+ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El
+MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp
+b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh
+c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+
+PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05
+nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX
+ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA
+NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv
+w9y4AyHqnxbxLFS1
+-----END CERTIFICATE-----
+
+CA Disig Root R2
+================
+-----BEGIN CERTIFICATE-----
+MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw
+EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp
+ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx
+EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp
+c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC
+w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia
+xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7
+A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S
+GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV
+g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa
+5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE
+koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A
+Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i
+Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV
+HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u
+Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM
+tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV
+sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je
+dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8
+1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx
+mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01
+utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0
+sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg
+UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV
+7+ZtsH8tZ/3zbBt1RqPlShfppNcL
+-----END CERTIFICATE-----
+
+ACCVRAIZ1
+=========
+-----BEGIN CERTIFICATE-----
+MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB
+SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1
+MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH
+UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM
+jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0
+RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD
+aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ
+0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG
+WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7
+8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR
+5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J
+9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK
+Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw
+Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu
+Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2
+VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM
+Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA
+QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh
+AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA
+YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj
+AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA
+IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk
+aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
+dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2
+MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI
+hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E
+R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN
+YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49
+nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ
+TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3
+sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h
+I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg
+Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd
+3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p
+EfbRD0tVNEYqi4Y7
+-----END CERTIFICATE-----
+
+TWCA Global Root CA
+===================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT
+CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD
+QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK
+EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg
+Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C
+nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV
+r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR
+Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV
+tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W
+KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99
+sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p
+yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn
+kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI
+zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g
+cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn
+LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M
+8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg
+/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg
+lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP
+A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m
+i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8
+EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3
+zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0=
+-----END CERTIFICATE-----
+
+TeliaSonera Root CA v1
+======================
+-----BEGIN CERTIFICATE-----
+MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE
+CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4
+MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW
+VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+
+6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA
+3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k
+B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn
+Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH
+oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3
+F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ
+oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7
+gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc
+TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB
+AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW
+DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm
+zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx
+0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW
+pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV
+G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc
+c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT
+JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2
+qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6
+Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems
+WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=
+-----END CERTIFICATE-----
+
+E-Tugra Certification Authority
+===============================
+-----BEGIN CERTIFICATE-----
+MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w
+DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls
+ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN
+ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw
+NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx
+QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl
+cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD
+DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd
+hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K
+CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g
+ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ
+BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0
+E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz
+rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq
+jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn
+rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5
+dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB
+/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG
+MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK
+kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
+XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807
+VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo
+a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc
+dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV
+KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT
+Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0
+8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G
+C7TbO6Orb1wdtn7os4I07QZcJA==
+-----END CERTIFICATE-----
+
+T-TeleSec GlobalRoot Class 2
+============================
+-----BEGIN CERTIFICATE-----
+MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
+IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
+cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx
+MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
+dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
+ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ
+SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F
+vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970
+2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV
+WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy
+YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4
+r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf
+vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR
+3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
+9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg==
+-----END CERTIFICATE-----
+
+Atos TrustedRoot 2011
+=====================
+-----BEGIN CERTIFICATE-----
+MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU
+cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4
+MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG
+A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
+hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr
+54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+
+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320
+HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR
+z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R
+l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ
+bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
+CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h
+k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh
+TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9
+61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G
+3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 1 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE
+PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm
+PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6
+Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN
+ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l
+g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV
+7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX
+9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f
+iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg
+t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI
+hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC
+MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3
+GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct
+Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP
++V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh
+3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa
+wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6
+O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0
+FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV
+hMJKzRwuJIczYOXD
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 2 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh
+ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY
+NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t
+oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o
+MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l
+V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo
+L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ
+sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD
+6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh
+lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI
+hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66
+AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K
+pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9
+x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz
+dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X
+U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw
+mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD
+zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN
+JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr
+O3jtZsSOeWmD3n+M
+-----END CERTIFICATE-----
+
+QuoVadis Root CA 3 G3
+=====================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG
+A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv
+b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN
+MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg
+RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286
+IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL
+Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe
+6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3
+I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U
+VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7
+5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi
+Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM
+dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt
+rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI
+hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px
+KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS
+t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ
+TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du
+DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib
+Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD
+hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX
+0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW
+dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2
+PpxxVJkES/1Y+Zj0
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
+IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw
+MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
+ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH
+35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq
+bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw
+VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP
+YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn
+lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO
+w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv
+0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz
+d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW
+hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M
+jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
+IhNzbM8m9Yop5w==
+-----END CERTIFICATE-----
+
+DigiCert Assured ID Root G3
+===========================
+-----BEGIN CERTIFICATE-----
+MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD
+VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ
+BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb
+RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs
+KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF
+UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy
+YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy
+1vUhZscv6pZjamVFkpUBtA==
+-----END CERTIFICATE-----
+
+DigiCert Global Root G2
+=======================
+-----BEGIN CERTIFICATE-----
+MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
+HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx
+MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
+dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ
+kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO
+3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV
+BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM
+UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB
+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu
+5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr
+F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U
+WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH
+QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/
+iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
+MrY=
+-----END CERTIFICATE-----
+
+DigiCert Global Root G3
+=======================
+-----BEGIN CERTIFICATE-----
+MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV
+UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD
+VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw
+MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k
+aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C
+AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O
+YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP
+BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp
+Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y
+3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34
+VOKa5Vt8sycX
+-----END CERTIFICATE-----
+
+DigiCert Trusted Root G4
+========================
+-----BEGIN CERTIFICATE-----
+MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG
+EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw
+HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1
+MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
+d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G
+CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp
+pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o
+k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa
+vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY
+QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6
+MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm
+mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7
+f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH
+dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8
+oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
+DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
+ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY
+ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr
+yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy
+7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah
+ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN
+5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb
+/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa
+5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK
+G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP
+82Z+
+-----END CERTIFICATE-----
+
+COMODO RSA Certification Authority
+==================================
+-----BEGIN CERTIFICATE-----
+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
+LaZRfyHBNVOFBkpdn627G190
+-----END CERTIFICATE-----
+
+USERTrust RSA Certification Authority
+=====================================
+-----BEGIN CERTIFICATE-----
+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
+Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9
+-----END CERTIFICATE-----
+
+USERTrust ECC Certification Authority
+=====================================
+-----BEGIN CERTIFICATE-----
+MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC
+VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
+aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC
+VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
+aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv
+biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2
+0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez
+nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV
+HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB
+HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu
+9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
+-----END CERTIFICATE-----
+
+GlobalSign ECC Root CA - R4
+===========================
+-----BEGIN CERTIFICATE-----
+MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl
+OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P
+AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV
+MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF
+JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q=
+-----END CERTIFICATE-----
+
+GlobalSign ECC Root CA - R5
+===========================
+-----BEGIN CERTIFICATE-----
+MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb
+R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
+EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6
+SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS
+h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
+BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx
+uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7
+yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3
+-----END CERTIFICATE-----
+
+Staat der Nederlanden Root CA - G3
+==================================
+-----BEGIN CERTIFICATE-----
+MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC
+TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
+ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y
+olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t
+x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy
+EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K
+Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur
+mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5
+1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp
+07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo
+FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE
+41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB
+AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu
+yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD
+U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq
+KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1
+v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA
+8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b
+8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r
+mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq
+1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI
+JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV
+tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk=
+-----END CERTIFICATE-----
+
+Staat der Nederlanden EV Root CA
+================================
+-----BEGIN CERTIFICATE-----
+MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE
+CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
+RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M
+MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl
+cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk
+SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW
+O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r
+0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8
+Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV
+XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr
+08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV
+0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd
+74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx
+fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC
+MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa
+ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI
+eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu
+c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq
+5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN
+b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN
+f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi
+5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4
+WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK
+DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy
+eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg==
+-----END CERTIFICATE-----
+
+IdenTrust Commercial Root CA 1
+==============================
+-----BEGIN CERTIFICATE-----
+MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG
+EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS
+b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES
+MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB
+IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld
+hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/
+mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi
+1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C
+XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl
+3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy
+NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV
+WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg
+xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix
+uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI
+hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH
+6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg
+ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt
+ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV
+YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX
+feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro
+kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe
+2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz
+Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R
+cGzM7vRX+Bi6hG6H
+-----END CERTIFICATE-----
+
+IdenTrust Public Sector Root CA 1
+=================================
+-----BEGIN CERTIFICATE-----
+MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG
+EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv
+ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV
+UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS
+b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy
+P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6
+Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI
+rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf
+qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS
+mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn
+ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh
+LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v
+iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL
+4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B
+Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw
+DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj
+t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A
+mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt
+GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt
+m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx
+NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4
+Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI
+ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC
+ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ
+3Wl9af0AVqW3rLatt8o+Ae+c
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority - G2
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV
+BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy
+bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug
+b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw
+HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT
+DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx
+OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s
+eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP
+/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz
+HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU
+s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y
+TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx
+AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6
+0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z
+iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ
+Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi
+nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+
+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO
+e4pIb4tF9g==
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority - EC1
+==========================================
+-----BEGIN CERTIFICATE-----
+MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx
+FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn
+YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl
+ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
+IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw
+FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs
+LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg
+dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt
+IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy
+AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef
+9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
+FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h
+vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8
+kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G
+-----END CERTIFICATE-----
+
+CFCA EV ROOT
+============
+-----BEGIN CERTIFICATE-----
+MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE
+CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB
+IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw
+MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD
+DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV
+BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD
+7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN
+uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW
+ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7
+xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f
+py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K
+gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol
+hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ
+tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf
+BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
+/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB
+ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q
+ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua
+4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG
+E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX
+BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn
+aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy
+PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX
+kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C
+ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GB CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG
+EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl
+ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw
+MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD
+VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds
+b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX
+scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP
+rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk
+9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o
+Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg
+GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB
+/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI
+hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD
+dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0
+VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui
+HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic
+Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=
+-----END CERTIFICATE-----
+
+SZAFIR ROOT CA2
+===============
+-----BEGIN CERTIFICATE-----
+MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG
+A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV
+BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ
+BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD
+VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q
+qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK
+DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE
+2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ
+ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi
+ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P
+AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC
+AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5
+O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67
+oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul
+4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6
++/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw==
+-----END CERTIFICATE-----
+
+Certum Trusted Network CA 2
+===========================
+-----BEGIN CERTIFICATE-----
+MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE
+BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1
+bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y
+ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ
+TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl
+cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB
+IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9
+7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o
+CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b
+Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p
+uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130
+GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ
+9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB
+Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye
+hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM
+BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI
+hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW
+Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA
+L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo
+clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM
+pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb
+w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo
+J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm
+ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX
+is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7
+zAYspsbiDrW5viSP
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions RootCA 2015
+=======================================================
+-----BEGIN CERTIFICATE-----
+MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT
+BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0
+aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl
+YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx
+MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg
+QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV
+BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw
+MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv
+bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh
+iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+
+6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd
+FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr
+i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F
+GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2
+fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu
+iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
+Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
+AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI
+hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+
+D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM
+d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y
+d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn
+82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb
+davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F
+Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt
+J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa
+JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q
+p/UsQu0yrbYhnr68
+-----END CERTIFICATE-----
+
+Hellenic Academic and Research Institutions ECC RootCA 2015
+===========================================================
+-----BEGIN CERTIFICATE-----
+MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0
+aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u
+cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj
+aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw
+MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj
+IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD
+VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290
+Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP
+dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK
+Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
+BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA
+GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn
+dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
+-----END CERTIFICATE-----
+
+ISRG Root X1
+============
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE
+BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD
+EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG
+EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT
+DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r
+Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1
+3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K
+b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN
+Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ
+4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf
+1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu
+hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH
+usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r
+OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G
+A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY
+9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
+ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV
+0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt
+hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw
+TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx
+e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA
+JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD
+YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n
+JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ
+m+kXQ99b21/+jh5Xos1AnX5iItreGCc=
+-----END CERTIFICATE-----
+
+AC RAIZ FNMT-RCM
+================
+-----BEGIN CERTIFICATE-----
+MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT
+AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw
+MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD
+TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
+ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf
+qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr
+btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL
+j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou
+08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw
+WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT
+tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ
+47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC
+ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa
+i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
+FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o
+dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD
+nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s
+D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ
+j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT
+Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW
++YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7
+Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d
+8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm
+5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG
+rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM=
+-----END CERTIFICATE-----
+
+Amazon Root CA 1
+================
+-----BEGIN CERTIFICATE-----
+MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD
+VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1
+MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
+bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH
+FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ
+gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t
+dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce
+VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB
+/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3
+DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM
+CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy
+8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa
+2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2
+xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5
+-----END CERTIFICATE-----
+
+Amazon Root CA 2
+================
+-----BEGIN CERTIFICATE-----
+MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD
+VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1
+MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv
+bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
+ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4
+kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp
+N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9
+AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd
+fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx
+kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS
+btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0
+Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN
+c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+
+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw
+DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA
+A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY
++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE
+YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW
+xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ
+gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW
+aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV
+Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3
+KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi
+JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw=
+-----END CERTIFICATE-----
+
+Amazon Root CA 3
+================
+-----BEGIN CERTIFICATE-----
+MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG
+EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy
+NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
+MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB
+f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr
+Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43
+rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc
+eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw==
+-----END CERTIFICATE-----
+
+Amazon Root CA 4
+================
+-----BEGIN CERTIFICATE-----
+MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG
+EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy
+NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ
+MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN
+/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri
+83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
+HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA
+MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1
+AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA==
+-----END CERTIFICATE-----
+
+LuxTrust Global Root 2
+======================
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+
+TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
+=============================================
+-----BEGIN CERTIFICATE-----
+MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT
+D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr
+IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g
+TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp
+ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD
+VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt
+c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth
+bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11
+IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8
+6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc
+wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0
+3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9
+WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU
+ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ
+KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh
+AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc
+lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R
+e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j
+q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=
+-----END CERTIFICATE-----
+
+GDCA TrustAUTH R5 ROOT
+======================
+-----BEGIN CERTIFICATE-----
+MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw
+BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD
+DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow
+YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ
+IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B
+AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs
+AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p
+OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr
+pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ
+9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ
+xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM
+R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ
+D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4
+oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx
+9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg
+p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9
+H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35
+6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd
++PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ
+HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD
+F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ
+8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv
+/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT
+aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g==
+-----END CERTIFICATE-----
+
+TrustCor RootCert CA-1
+======================
+-----BEGIN CERTIFICATE-----
+MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP
+MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig
+U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp
+dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx
+MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu
+YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe
+VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy
+dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq
+jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4
+pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0
+JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h
+gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw
+/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j
+BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
+AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5
+mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf
+ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C
+qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P
+3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk=
+-----END CERTIFICATE-----
+
+TrustCor RootCert CA-2
+======================
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
+
+TrustCor ECA-1
+==============
+-----BEGIN CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP
+MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig
+U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp
+dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw
+N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5
+MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y
+IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR
+MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23
+xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc
+p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+
+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj
+YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL
+f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
+AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u
+/ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F
+hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs
+J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC
+jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g==
+-----END CERTIFICATE-----
+
+SSL.com Root Certification Authority RSA
+========================================
+-----BEGIN CERTIFICATE-----
+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
+WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k=
+-----END CERTIFICATE-----
+
+SSL.com Root Certification Authority ECC
+========================================
+-----BEGIN CERTIFICATE-----
+MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV
+BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv
+BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy
+MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO
+BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv
+bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA
+BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+
+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR
+hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT
+jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW
+e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z
+5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl
+-----END CERTIFICATE-----
+
+SSL.com EV Root Certification Authority RSA R2
+==============================================
+-----BEGIN CERTIFICATE-----
+MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w
+DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u
+MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy
+MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI
+DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD
+VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh
+hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w
+cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO
+Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+
+B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh
+CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim
+9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto
+RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm
+JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48
++qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV
+HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp
+qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1
+++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx
+Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G
+guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz
+OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7
+CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq
+lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR
+rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1
+hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX
+9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==
+-----END CERTIFICATE-----
+
+SSL.com EV Root Certification Authority ECC
+===========================================
+-----BEGIN CERTIFICATE-----
+MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV
+BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy
+BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw
+MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx
+EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM
+LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB
+BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy
+3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O
+BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe
+5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ
+N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm
+m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg==
+-----END CERTIFICATE-----
+
+GlobalSign Root CA - R6
+=======================
+-----BEGIN CERTIFICATE-----
+MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX
+R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds
+b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i
+YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs
+U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss
+grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE
+3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF
+vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM
+PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+
+azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O
+WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy
+CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP
+0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN
+b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE
+AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV
+HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN
+nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0
+lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY
+BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym
+Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr
+3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1
+0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T
+uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK
+oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t
+JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA=
+-----END CERTIFICATE-----
+
+OISTE WISeKey Global Root GC CA
+===============================
+-----BEGIN CERTIFICATE-----
+MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD
+SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo
+MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa
+Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL
+ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh
+bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr
+VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab
+NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd
+BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E
+AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk
+AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9
+-----END CERTIFICATE-----
+
+GTS Root R1
+===========
+-----BEGIN CERTIFICATE-----
+MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG
+EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv
+b3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG
+A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIi
+MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx
+9vaMf/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7r
+aKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnW
+r4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqM
+LnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly
+4cpk9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr
+06zqkUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92
+wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om
+3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNu
+JLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
+VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEM
+BQADggIBADiWCu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1
+d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6ZXPYfcX3v73sv
+fuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZRgyFmxhE+885H7pwoHyXa/6xm
+ld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9b
+gsiG1eGZbYwE8na6SfZu6W0eX6DvJ4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq
+4BjFbkerQUIpm/ZgDdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWEr
+tXvM+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyyF62ARPBo
+pY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9SQ98POyDGCBDTtWTurQ0
+sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdwsE3PYJ/HQcu51OyLemGhmW/HGY0dVHLql
+CFF1pkgl
+-----END CERTIFICATE-----
+
+GTS Root R2
+===========
+-----BEGIN CERTIFICATE-----
+MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG
+EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv
+b3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG
+A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIi
+MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTuk
+k3LvCvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo
+7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWI
+m8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5Gm
+dFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbu
+ak7MkogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscsz
+cTJGr61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW
+Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73Vululycsl
+aVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy
+5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD
+VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEM
+BQADggIBALZp8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT
+vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiTz9D2PGcDFWEJ
++YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiApJiS4wGWAqoC7o87xdFtCjMw
+c3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvbpxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3Da
+WsYDQvTtN6LwG1BUSw7YhN4ZKJmBR64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5r
+n/WkhLx3+WuXrD5RRaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56Gtmwfu
+Nmsk0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC5AwiWVIQ
+7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiFizoHCBy69Y9Vmhh1fuXs
+gWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLnyOd/xCxgXS/Dr55FBcOEArf9LAhST4Ld
+o/DUhgkC
+-----END CERTIFICATE-----
+
+GTS Root R3
+===========
+-----BEGIN CERTIFICATE-----
+MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV
+UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg
+UjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE
+ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcq
+hkjOPQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUU
+Rout736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24Cej
+QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP
+0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFukfCPAlaUs3L6JbyO5o91lAFJekazInXJ0
+glMLfalAvWhgxeG4VDvBNhcl2MG9AjEAnjWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOa
+KaqW04MjyaR7YbPMAuhd
+-----END CERTIFICATE-----
+
+GTS Root R4
+===========
+-----BEGIN CERTIFICATE-----
+MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV
+UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg
+UjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE
+ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcq
+hkjOPQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa
+6zzuhXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqj
+QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV
+2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0CMRw3J5QdCHojXohw0+WbhXRIjVhLfoI
+N+4Zba3bssx9BzT1YBkstTTZbyACMANxsbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11x
+zPKwTdb+mciUqXWi4w==
+-----END CERTIFICATE-----
+
+UCA Global G2 Root
+==================
+-----BEGIN CERTIFICATE-----
+MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG
+EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x
+NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU
+cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
+MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT
+oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV
+8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS
+h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o
+LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/
+R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe
+KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa
+4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc
+OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97
+8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O
+BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo
+5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5
+1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A
+Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9
+yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX
+c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo
+jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk
+bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x
+ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn
+RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A==
+-----END CERTIFICATE-----
+
+UCA Extended Validation Root
+============================
+-----BEGIN CERTIFICATE-----
+MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG
+EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u
+IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G
+A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi
+MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs
+iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF
+Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu
+eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR
+59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH
+0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR
+el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv
+B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth
+WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS
+NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS
+3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL
+BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR
+ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM
+aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4
+dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb
++7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW
+F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi
+GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc
+GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi
+djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr
+dhh2n1ax
+-----END CERTIFICATE-----
+
+Certigna Root CA
+================
+-----BEGIN CERTIFICATE-----
+MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE
+BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ
+MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda
+MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz
+MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC
+DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX
+stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz
+KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8
+JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16
+XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq
+4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej
+wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ
+lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI
+jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/
+/TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
+HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of
+1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy
+dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h
+LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl
+cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt
+OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP
+TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq
+7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3
+4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd
+8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS
+6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY
+tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS
+aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde
+E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
+-----END CERTIFICATE-----
+
+emSign Root CA - G1
+===================
+-----BEGIN CERTIFICATE-----
+MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJJTjET
+MBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRl
+ZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgx
+ODMwMDBaMGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVk
+aHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQzf2N4aLTN
+LnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkVUkr+PHB1
+cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHW
+DV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ
+6DqS0hdW5TUaQBw+jSztOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrH
+hQIDAQABo0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQDAgEG
+MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31xPaOfG1vR2vjTnGs2
+vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aTvFthUvozXGaCocV685743Q
+NcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6dGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q
++Mri/Tm3R7nrft8EI6/6nAYH6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeih
+U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
+iN66zB+Afko=
+-----END CERTIFICATE-----
+
+emSign ECC Root CA - G3
+=======================
+-----BEGIN CERTIFICATE-----
+MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG
+A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg
+MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4
+MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11
+ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
+RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc
+58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr
+MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC
+AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D
+CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7
+jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj
+-----END CERTIFICATE-----
+
+emSign Root CA - C1
+===================
+-----BEGIN CERTIFICATE-----
+MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCVVMx
+EzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNp
+Z24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UE
+BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQD
+ExNlbVNpZ24gUm9vdCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+up
+ufGZBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU/
+Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH3DspVpNqs8FqOp099cGX
+OFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4V
+I5b2P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleooms
+lMuoaJuvimUnzYnu3Yy1aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+
+XJGFehiqTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD
+ggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87/kOXSTKZEhVb3xEp
+/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4kqNPEjE2NuLe/gDEo2APJ62gsIq1
+NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrGYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9
+wC68AivTxEDkigcxHpvOJpkT+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQ
+BmIMMMAVSKeoWXzhriKi4gp6D/piq1JM4fHfyr6DDUI=
+-----END CERTIFICATE-----
+
+emSign ECC Root CA - C3
+=======================
+-----BEGIN CERTIFICATE-----
+MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQGEwJVUzETMBEG
+A1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2lnbiBF
+Q0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UE
+BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQD
+ExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd
+6bciMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4OjavtisIGJAnB9
+SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0OBBYEFPtaSNCAIEDyqOkA
+B2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gA
+MGUCMQC02C8Cif22TGK6Q04ThHK1rt0c3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwU
+ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==
+-----END CERTIFICATE-----
+
+Hongkong Post Root CA 3
+=======================
+-----BEGIN CERTIFICATE-----
+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
+dBb9HxEGmpv0
+-----END CERTIFICATE-----
+
+Entrust Root Certification Authority - G4
+=========================================
+-----BEGIN CERTIFICATE-----
+MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAwgb4xCzAJBgNV
+BAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3Qu
+bmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1
+dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1
+dGhvcml0eSAtIEc0MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYT
+AlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
+L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhv
+cml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv
+cml0eSAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3D
+umSXbcr3DbVZwbPLqGgZ2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV
+3imz/f3ET+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j5pds
+8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAMC1rlLAHGVK/XqsEQ
+e9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73TDtTUXm6Hnmo9RR3RXRv06QqsYJn7
+ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNXwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5X
+xNMhIWNlUpEbsZmOeX7m640A2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV
+7rtNOzK+mndmnqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8
+dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwlN4y6mACXi0mW
+Hv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNjc0kCAwEAAaNCMEAwDwYDVR0T
+AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9n
+MA0GCSqGSIb3DQEBCwUAA4ICAQAS5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4Q
+jbRaZIxowLByQzTSGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht
+7LGrhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/B7NTeLUK
+YvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uIAeV8KEsD+UmDfLJ/fOPt
+jqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbwH5Lk6rWS02FREAutp9lfx1/cH6NcjKF+
+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKW
+RGhXxNUzzxkvFMSUHHuk2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjA
+JOgc47OlIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk5F6G
++TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuYn/PIjhs4ViFqUZPT
+kcpG2om3PVODLAgfi49T3f+sHw==
+-----END CERTIFICATE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 4921b0fceb..8ec454af46 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2020
-depend revision/54713
+depend revision/54745
name 00texlive.image
category TLCore
-revision 54708
+revision 54745
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -40,14 +40,16 @@ longdesc IgnorePatterns in the check_files routine in tlmgr.pl augment
longdesc this list. Those are not included in the source/ tarball. For
longdesc information on the 00texlive prefix see
longdesc 00texlive.installation(.tlpsrc)
-runfiles size=5003
+runfiles size=5006
.mkisofsrc
autorun.inf
texmf-dist/README
texmf-dist/doc/man/Makefile
texmf-dist/doc/man/man1/Makefile
texmf-dist/doc/man/man5/Makefile
+ texmf-dist/scripts/texlive-extra/README
texmf-dist/scripts/texlive/Makefile
+ texmf-dist/scripts/texlive/README
texmf-dist/scripts/texlive/mktexlsr.bat
tlpkg/bin/archive/svnchangelog
tlpkg/bin/archive/tl-dump-texcatalogue
@@ -1471,6 +1473,7 @@ runfiles size=5003
tlpkg/tlpsrc/emf.tlpsrc
tlpkg/tlpsrc/emisa.tlpsrc
tlpkg/tlpsrc/emoji.tlpsrc
+ tlpkg/tlpsrc/emojicite.tlpsrc
tlpkg/tlpsrc/emp.tlpsrc
tlpkg/tlpsrc/emptypage.tlpsrc
tlpkg/tlpsrc/emulateapj.tlpsrc
@@ -1816,6 +1819,7 @@ runfiles size=5003
tlpkg/tlpsrc/gincltex.tlpsrc
tlpkg/tlpsrc/gindex.tlpsrc
tlpkg/tlpsrc/ginpenc.tlpsrc
+ tlpkg/tlpsrc/git-latexdiff.tlpsrc
tlpkg/tlpsrc/gitfile-info.tlpsrc
tlpkg/tlpsrc/gitinfo.tlpsrc
tlpkg/tlpsrc/gitinfo2.tlpsrc
@@ -3226,6 +3230,7 @@ runfiles size=5003
tlpkg/tlpsrc/raleway.tlpsrc
tlpkg/tlpsrc/ran_toks.tlpsrc
tlpkg/tlpsrc/randbild.tlpsrc
+ tlpkg/tlpsrc/random.tlpsrc
tlpkg/tlpsrc/randomlist.tlpsrc
tlpkg/tlpsrc/randomwalk.tlpsrc
tlpkg/tlpsrc/randtext.tlpsrc
@@ -4181,7 +4186,7 @@ depend opt_w32_multi_user:1
name 00texlive.installer
category TLCore
-revision 54642
+revision 54745
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -4191,13 +4196,15 @@ longdesc allowed, but in this case, 00texlive.installer is never used
longdesc *except* to build the installer archives, so it's ok. For
longdesc information on the 00texlive prefix see
longdesc 00texlive.installation(.tlpsrc)
-runfiles size=115
+runfiles size=807
install-tl
release-texlive.txt
tlpkg/installer/COPYING.MinGW-runtime.txt
tlpkg/installer/DirSelect.pm
tlpkg/installer/config.guess
tlpkg/installer/ctan-mirrors.pl
+ tlpkg/installer/curl/curl-ca-bundle.crt
+ tlpkg/installer/curl/curl.exe
tlpkg/installer/install-menu-extl.pl
tlpkg/installer/install-menu-perltk.pl
tlpkg/installer/install-menu-text.pl
@@ -19923,7 +19930,7 @@ catalogue-version 1.0
name arara
category Package
-revision 54640
+revision 54742
shortdesc Automation of LaTeX compilation
longdesc Arara is comparable with other well-known compilation tools
longdesc like latexmk and rubber. The key difference is that arara
@@ -19931,11 +19938,11 @@ longdesc determines its actions from metadata in the source code, rather
longdesc than relying on indirect resources, such as log file analysis.
longdesc Arara requires a Java virtual machine.
depend arara.ARCH
-containersize 14337088
-containerchecksum 2a98674e774bdaae295baccd46d267bf5fda32671de9548c77b24fc1e79e45377241649ac4d1ce5380230c70a20e79891c8e99a60ce1eb5778cff2a83370b5ac
-doccontainersize 1702104
-doccontainerchecksum 350f56f0c5c85ee04e9c999c59d5872b36f05191d2a8e645bdf1693500fea9a4b2debc3c0ef12216603b20940babc4b0283bd2a091d711853c66256031ae0392
-docfiles size=721
+containersize 14337560
+containerchecksum 9b1117a4b0905fbaf9eec7c6ca91933f90aae23e1303ca6540fb7c70a19c6940713d0c25a7b2cdd468e435f3431e0d2c8f511144bde9baa86e2d085f12c2c862
+doccontainersize 1704952
+doccontainerchecksum 2010dc4b3d157de5496f70bf43c6dcb8ac8974aecb75cff23ca81b7061e6630fe585ab026499ec300c557223f44d3bd300a150daff9218974b3058a632018557
+docfiles size=722
texmf-dist/doc/support/arara/README.md details="Readme"
texmf-dist/doc/support/arara/arara-manual.pdf details="Package documentation"
texmf-dist/doc/support/arara/arara-manual.tex
@@ -19968,9 +19975,9 @@ docfiles size=721
texmf-dist/doc/support/arara/logos/logo2.pdf
texmf-dist/doc/support/arara/rules/manual.yaml
srccontainersize 103004
-srccontainerchecksum bffb31e5757c19f28ef60a3e4254c4b4655891930241b0de285b6754d2930205544a99318a04c84e865158141573f3f653541badbaa8e5f1089a9240e9e58d9f
+srccontainerchecksum 3388d2b40895f835551913f39854fa0a899b8be176ccdb54f5e89d84ac71e25c3d83abdd701884762ef8e008afa85e2bebfa92754b480de311c2848036e642fd
srcfiles size=32
- texmf-dist/source/support/arara/arara-5.1.0-src.zip
+ texmf-dist/source/support/arara/arara-5.1.1-src.zip
runfiles size=3975
texmf-dist/scripts/arara/arara.jar
texmf-dist/scripts/arara/arara.sh
@@ -20038,7 +20045,7 @@ catalogue-contact-support https://gitter.im/cereda/arara
catalogue-ctan /support/arara
catalogue-license bsd
catalogue-topics compilation
-catalogue-version 5.1.0
+catalogue-version 5.1.1
name arara.aarch64-linux
category Package
@@ -22862,21 +22869,22 @@ catalogue-version 2.1
name askinclude
category Package
-revision 53096
+revision 54725
shortdesc Interactive use of \includeonly
relocated 1
longdesc The package asks the user which files to put in a \includeonly
longdesc command. There is provision for answering "same as last time"
longdesc or "all files".
-containersize 4368
-containerchecksum 909260b69e3f3cdab62e8b13b80a12fd19a34703267171a0f87dfe60651e4ab249a670a1e7854a3d63f00e266fa127b2ab1c13f949abb06afc49397abe7bfd54
-doccontainersize 590144
-doccontainerchecksum 068432d6304e755f4231ddbf8cebb6ceca31ed040190e6c06d3bb84e8cecd66b40fc7e46650008a6d2effbaa24a7fb3aa43633e46b7a2f4edbd7abb08ee45794
-docfiles size=147
+containersize 4364
+containerchecksum 828a18ff7c2d997f25b46b9ce8626a749ce1a18989a292f7f44e9eff0c28d5819e6e017398e76a6872da6498a4ff8306d8f8e701b87b80f57f455d28389f7aa8
+doccontainersize 591304
+doccontainerchecksum a06a9170ad1637c35a25c9a0d89f3721ec350a0053cb5b85374fdb5cc67e7d4653e75c2a5f9b47d19700e3e9ab2d70e5c0c419f68715e664185bd30759dc0291
+docfiles size=148
RELOC/doc/latex/askinclude/README.md
+ RELOC/doc/latex/askinclude/askinclude.bib
RELOC/doc/latex/askinclude/askinclude.pdf details="Package documentation"
-srccontainersize 12152
-srccontainerchecksum 201cf77a2ae05dc9bed78aab5206d384fb6bb11d6e112a08372948384b0a10d49823de85fa6dda78135c4312cbd28cc67579fa69c7756ec99e54b76f8b3e0fa9
+srccontainersize 12216
+srccontainerchecksum 909effe3b7569cdd4a4a1fd7db12cfafab6c1ddc0987709199a051696b447f9b57ea0bece52efc28f41f49e2b81611e14e975cf93a2d5e4b1c202f84b9702569
srcfiles size=14
RELOC/source/latex/askinclude/askinclude.dtx
runfiles size=5
@@ -22886,7 +22894,7 @@ catalogue-contact-repository https://github.com/ho-tex/askinclude
catalogue-ctan /macros/latex/contrib/askinclude
catalogue-license lppl1.3
catalogue-topics compilation
-catalogue-version 2.6
+catalogue-version 2.7
name askmaps
category Package
@@ -50612,7 +50620,7 @@ catalogue-version 1.0
name chemfig
category Package
-revision 54710
+revision 54738
shortdesc Draw molecules with easy syntax
relocated 1
longdesc The package provides the command \chemfig{<code>}, which draws
@@ -50622,10 +50630,10 @@ longdesc produced are essentially 2-dimensional, the package supports
longdesc many of the conventional notations for illustrating the
longdesc 3-dimensional layout of a molecule. The package uses TikZ for
longdesc its actual drawing operations.
-containersize 25552
-containerchecksum 810deadba6cb405746443e3f6bb8eafe57dba980dc799494e49d6b273edc07c33c452679b012ca2ac096caf6e8fe822dbdca9cd6ce6d562c7c87268f1860257c
-doccontainersize 2063508
-doccontainerchecksum e91ef802b0f8cbcb0a7c3c85f473aaa6f72bd7285632258ef90c763c60d2f3f51cd1765fe18da040cbc5866a35e5be6c38200edd8335e92565fe16924a676096
+containersize 25620
+containerchecksum ff11cd6ed8c2de8a6335de17773d20be1d5fa940aee4a6775cfc8c592c0fdeca1c186581927d546615450b5545730d6b2fa7e5b8aacfee9fb5688aa885b48f67
+doccontainersize 2063420
+doccontainerchecksum 304dc406c0b000f98625cd591dc81aba0d9c5b3b175107e353fce4116a3b9f668ab80b4103df0c53fe23202dd8ed73aff0e776c66f465f87a80a464cb238288f
docfiles size=662
RELOC/doc/generic/chemfig/README details="Readme"
RELOC/doc/generic/chemfig/chemfig-en.pdf details="Package documentation (English)" language="en"
@@ -50642,7 +50650,7 @@ catalogue-contact-repository https://framagit.org/unbonpetit/chemfig/tree/master
catalogue-ctan /macros/generic/chemfig
catalogue-license lppl1.3c
catalogue-topics graphics diagram chemistry pgf-tikz etex
-catalogue-version 1.5
+catalogue-version 1.52
name chemformula
category Package
@@ -60407,21 +60415,21 @@ catalogue-version 2.1
name cmupint
category Package
-revision 53507
+revision 54735
shortdesc Upright integral symbols for Computer Modern
relocated 1
longdesc This package contains various upright integral symbols to match
longdesc the Computer Modern font.
execute addMixedMap cmupint.map
-containersize 34536
-containerchecksum df5fec72f9116ddeaa19bbfb1c174c008b6c6e78313459542092cfee30f20ad93c0e42b3078cef83d606e4403d2c84ec232f365c02e4be8b80109544ab24ac3a
-doccontainersize 277872
-doccontainerchecksum fe7d492c660ec1786f486f1a58b405303b2dbd63094f05fb0da85fd0a7811eebd11f18a065b524027dd4fc559bd5ebb037a3114b9984f622af5daeb3d42e8acb
-docfiles size=75
+containersize 44680
+containerchecksum ce08962145a80b7b6748145a7385cc78e361295d85ea96f24397aad3025b7eaa2e962d4d30380ca1a8d22da7175a3135abacef78a76d9d4615f03aed049a4b10
+doccontainersize 310712
+doccontainerchecksum 80cab8f9387e74db3b3650b8e7b055ecf1e094f75f0e43c4540b32658e43e392c82f3fa8ab6a6c08495ef6f9f2773501a7f282acaf7d7d640f0bd891cb8b1f08
+docfiles size=85
RELOC/doc/fonts/cmupint/README.md details="Readme"
RELOC/doc/fonts/cmupint/cmupint.pdf details="Package documentation"
RELOC/doc/fonts/cmupint/cmupint.tex
-runfiles size=34
+runfiles size=42
RELOC/fonts/afm/public/cmupint/cmupint.afm
RELOC/fonts/map/dvips/cmupint/cmupint.map
RELOC/fonts/source/public/cmupint/cmupint.mf
@@ -60434,7 +60442,7 @@ runfiles size=34
catalogue-ctan /fonts/cmupint
catalogue-license lppl
catalogue-topics font-cm font-maths font-symbol-maths font-mf font-type1 font-supp
-catalogue-version 1.0
+catalogue-version 1.1
name cnbwp
category Package
@@ -61821,7 +61829,7 @@ catalogue-version 1.2
name coelacanth
category Package
-revision 54512
+revision 54736
shortdesc Coelacanth fonts with LaTeX support
relocated 1
longdesc This package provides LaTeX, pdfLaTeX, XeLaTeX, and LuaLaTeX
@@ -61831,10 +61839,10 @@ longdesc Bruce Rogers, described by some as the most beautiful typeface
longdesc ever designed. It aims to be a professional quality type family
longdesc for general book typesetting.
execute addMap Coelacanth.map
-containersize 6833736
-containerchecksum a2ed3ac4beea260afd4ee5f66dfedbcc03f69f6c3782acc8a8806fb8de525935e37375b2159c21c8d9ce813c5611934974ec62f1159c5fd3699404ed7db1a598
-doccontainersize 67092
-doccontainerchecksum 25bb5c548db9cd35af329d454a2f129752ceb83c8c3aa2fe202a410312c9b87fae2a3a70c692b0d557601a104d2cc204e2478582d28d2c8f671343210d65871c
+containersize 6833700
+containerchecksum f23a337931736831148c779defdea8fef6291636334f0f42cb540c53d1228972a9acaeb605f35fdc33c4a077347b11c8e964821ae1218074fdf87c06c7029187
+doccontainersize 67096
+doccontainerchecksum be2ddb2897fb81682514c19aa21200c2dc9825bd106cdbff9cb5a31c6874c937d0f47ad4ccfc867f62d5dd00672791ce055d6e5e46a4e49587065a9f6134749d
docfiles size=20
RELOC/doc/fonts/coelacanth/LICENSE.md
RELOC/doc/fonts/coelacanth/README details="Readme"
@@ -62763,7 +62771,7 @@ containerchecksum 3a69f8f6cc8d1dcfca391c1d578fa16dd9c0bd3802f8e57c65c97a0877d0bf
name collection-binextra
category Collection
-revision 54186
+revision 54732
shortdesc TeX auxiliary programs
relocated 1
longdesc Myriad additional TeX-related support programs. Includes
@@ -62805,6 +62813,7 @@ depend dvipos
depend dvisvgm
depend findhyph
depend fragmaster
+depend git-latexdiff
depend gsftopk
depend hook-pre-commit-pkg
depend installfont
@@ -62866,8 +62875,8 @@ depend web
depend xindex
depend xindy
depend xpdfopen
-containersize 928
-containerchecksum 83cdf3db6249d424394bc5921d2a1d18004b0386de046dd2586b0d69a28eb6d3a43017ec338df5ebc20ad47c431f422b2b2edd047786b692760ffce3ce57b69e
+containersize 936
+containerchecksum 1c0e531e13884a6152926c3434103bc66b0c935370ff7bacfa2a96f1f1f16a19964874ec29b037b0a089d376930bfe13f3c150f3bc6205a267c8075f804cf8c1
name collection-context
category Collection
@@ -65624,7 +65633,7 @@ containerchecksum dfab2d2976b532689105fcc1a4081f86faa400af78dbd089bdf1f26e7d5f4f
name collection-luatex
category Collection
-revision 54550
+revision 54741
shortdesc LuaTeX packages
relocated 1
longdesc Packages for LuaTeX, a Unicode-aware extension of pdfTeX, using
@@ -65641,6 +65650,7 @@ depend combofont
depend cstypo
depend ctablestack
depend emoji
+depend emojicite
depend enigma
depend interpreter
depend kanaparser
@@ -65677,8 +65687,8 @@ depend plantuml
depend selnolig
depend spelling
depend typewriter
-containersize 652
-containerchecksum 4167b5766d0af2a5f47f15ec2edec77ce36bb6cdb44894f1fdd872e9b37468467aa9c375288e731ab547d6c4fe40f7c1dd77a54eed42f7f0a2c4b3322530b15e
+containersize 656
+containerchecksum 2bd45880083bd0f6dc4685e01e385e249d4b90af0480f130030b1d903e560c08629d03b06e3b80b98a8cd9cddf760c1882061a5e13318dd81302b94368b6a381
name collection-mathscience
category Collection
@@ -66195,7 +66205,7 @@ containerchecksum 862fb4f526b4fc3d70bf36362e1d6a0e9803906552078996ccae31812a8f6d
name collection-plaingeneric
category Collection
-revision 54674
+revision 54723
shortdesc Plain (La)TeX packages
relocated 1
longdesc Add-on packages and macros that work with plain TeX, often
@@ -66273,6 +66283,7 @@ depend plnfss
depend plstmary
depend poormanlog
depend present
+depend random
depend randomlist
depend resumemac
depend ruler
@@ -66300,7 +66311,7 @@ depend xii-lat
depend xlop
depend yax
containersize 908
-containerchecksum 4245e566cbfd6b8b430a8eea9b367bbc4c914f250fd0bd5cb5f1c4755735094c9dc36f599e5d3d1d266a3ee3263fd44491324e4a945335fbaadadd1d9f15b6c2
+containerchecksum f753c23b602bb63a5706b5daa73c6e8aeaa97d201335e429389ea1cb3b5070d1bd359a89a191477d08dddb0e6d9624edc4f63f1c151d368b63d43314a215e5a8
name collection-pstricks
category Collection
@@ -94525,7 +94536,7 @@ catalogue-version 4
name ebgaramond
category Package
-revision 54512
+revision 54721
shortdesc LaTeX support for EBGaramond fonts
relocated 1
longdesc EB Garamond is a revival by Georg Duffner of the 16th century
@@ -94533,10 +94544,10 @@ longdesc fonts designed by Claude Garamond. The LaTeX support package
longdesc works for (pdf)LaTeX, XeLaTeX and LuaLaTeX users; configuration
longdesc files for use with microtype are provided.
execute addMap EBGaramond.map
-containersize 11860340
-containerchecksum 3004185b9e9b8b5fa8aa2d35fd0b44a3734979a4ef0011bc336a28a743b6451645590719dae31525a3f32cb25116852b81a8847e8ccffef610f5d4c44b050c2a
-doccontainersize 915044
-doccontainerchecksum 7214c852825d36137bae9193e0b9799f114c606841772491bc69cbe2b20730016137f72527f3de5d3e505c5aaa699ee40de13e64b001707360b27e1e913ccb3c
+containersize 11484484
+containerchecksum aa8717933733ddfa456b9aa7dcc6648b6150b0facd4b296c44e9b718e958ab59de887bfc39a2aff9cab55190a999708ec3f4600bd3b900f57ee76a420cd2495e
+doccontainersize 915056
+doccontainerchecksum 6cac4eb927c4f302040591ff00d6333334297debd8f609a7ae5408991d69038a0440f8fc660a9d739c3abdf61fa5ada2eb1013180940b31f4beec628c231c770
docfiles size=241
RELOC/doc/fonts/ebgaramond/AUTHORS.txt
RELOC/doc/fonts/ebgaramond/CONTRIBUTORS.txt
@@ -94546,7 +94557,7 @@ docfiles size=241
RELOC/doc/fonts/ebgaramond/README details="Readme"
RELOC/doc/fonts/ebgaramond/ebgaramond-samples.pdf details="Font samples"
RELOC/doc/fonts/ebgaramond/ebgaramond-samples.tex
-runfiles size=6055
+runfiles size=5962
RELOC/fonts/enc/dvips/ebgaramond/ebgm_2hp5cx.enc
RELOC/fonts/enc/dvips/ebgaramond/ebgm_2ybfsp.enc
RELOC/fonts/enc/dvips/ebgaramond/ebgm_34tkje.enc
@@ -95532,9 +95543,7 @@ runfiles size=6055
RELOC/fonts/type1/public/ebgaramond/EBGaramond-Regular.pfb
RELOC/fonts/type1/public/ebgaramond/EBGaramond-SemiBold.pfb
RELOC/fonts/type1/public/ebgaramond/EBGaramond-SemiBoldItalic.pfb
- RELOC/fonts/type1/public/ebgaramond/EBGaramond12-Italic.pfb
RELOC/fonts/type1/public/ebgaramond/EBGaramondInitials.pfb
- RELOC/fonts/type1/public/ebgaramond/EBGaramondInitialsLCDFJ.pfb
RELOC/fonts/vf/public/ebgaramond/EBGaramond-Bold-inf-t1.vf
RELOC/fonts/vf/public/ebgaramond/EBGaramond-Bold-lf-sc-ly1.vf
RELOC/fonts/vf/public/ebgaramond/EBGaramond-Bold-lf-sc-ot1.vf
@@ -102343,24 +102352,24 @@ catalogue-version 2.0
name embedfile
category Package
-revision 53025
+revision 54739
shortdesc Embed files into PDF
relocated 1
longdesc This package embeds files in a PDF document, using the PDF
longdesc format's embedding operation (note the contrast with the attach
longdesc operation used by the attachfile and attachfile2 packages).
longdesc Currently only pdfTeX >=1.30, in PDF mode, is supported.
-containersize 5104
-containerchecksum 2ec32d1b6eec133457582ff7289244f918c402b9512b0187c651cbf3ca4c648945b8c2fb62245ebb65d73f1cc160a78f2025f2901ba2a4b2dc906f96f5f6d878
-doccontainersize 387416
-doccontainerchecksum 86ad1713ce35c219c8298cfc585a3fe69169b410561087939d157dbdcd83f61b058413d75259419b1382beb7a92a9d711203754842a1e9155e9bace17fc97502
-docfiles size=99
- RELOC/doc/latex/embedfile/README.md
+containersize 5132
+containerchecksum d7b946f34b358ff51db1df4087b0f7d70f00a0baa11e421e4365836e3bcd340f7fe1a507d5e08f393f4bf2b46ad5119ae00c654a0c66177473d9690124b02228
+doccontainersize 392676
+doccontainerchecksum 0a207077b823bf91880869c754f8427e3a6be7b267f31dbe833271cef4a3bc2bc2889a098eb6fd853c77e3e1f63e8c1d40e2f3df172d30ae744568ba4dd26722
+docfiles size=100
+ RELOC/doc/latex/embedfile/README.md details="Readme"
RELOC/doc/latex/embedfile/embedfile-example-collection.tex
RELOC/doc/latex/embedfile/embedfile-example-plain.tex
RELOC/doc/latex/embedfile/embedfile.pdf details="Package documentation"
-srccontainersize 13064
-srccontainerchecksum 4774257a618c15d41768acb569c4b047bed8c51af90a4c2e2971d899c2aefcfba0c90c41e68a32a8f1dfeb9fbbd4ad4b91066ff80c664dfa5374475bc6356946
+srccontainersize 13224
+srccontainerchecksum 51a5fa6d93460e7aba3759a8b0568331605b9ac8bafe9837a302ac9a9dada1c8058d9f7ced2dd68a326d4bd02e093ab5add27e0a0f5161488df6230002e9ef55
srcfiles size=15
RELOC/source/latex/embedfile/embedfile.dtx
runfiles size=7
@@ -102370,9 +102379,9 @@ catalogue-also attachfile attachfile2
catalogue-contact-bugs https://github.com/ho-tex/embedfile/issues
catalogue-contact-repository https://github.com/ho-tex/embedfile
catalogue-ctan /macros/latex/contrib/embedfile
-catalogue-license lppl1.3
+catalogue-license lppl1.3c
catalogue-topics pdf-feat
-catalogue-version 2.9
+catalogue-version 2.10
name embrac
category Package
@@ -102491,6 +102500,23 @@ catalogue-license lppl1.3c
catalogue-topics graphics graphics-use luatex
catalogue-version 0.2
+name emojicite
+category Package
+revision 54741
+relocated 1
+containersize 1176
+containerchecksum 1bdde204bf94f7914f82a3bbd5b69f41f6c7971c85d9e23f254149210c20539de380a48ac311c13eece2cd15b3a8eac7822424182564a539ae97fe2da28c1334
+doccontainersize 173320
+doccontainerchecksum b70fa7db4f27ef1d1f90f59a597c2e0b92a9ce225b17cb70d3e59f482e4dd03ab846dc74b64bd63aef671eed60a8e3949eb97ba1316047bbcb40a232cbbe13a9
+docfiles size=53
+ RELOC/doc/lualatex/emojicite/LICENSE.txt
+ RELOC/doc/lualatex/emojicite/README.md
+ RELOC/doc/lualatex/emojicite/emojicite-doc.pdf
+ RELOC/doc/lualatex/emojicite/emojicite-doc.tex
+ RELOC/doc/lualatex/emojicite/example.tex
+runfiles size=1
+ RELOC/tex/lualatex/emojicite/emojicite.sty
+
name emp
category Package
revision 23483
@@ -125033,6 +125059,165 @@ catalogue-license lppl
catalogue-topics inputenc
catalogue-version 1.0
+name git-latexdiff
+category Package
+revision 54732
+shortdesc Call latexdiff on two Git revisions of a file
+longdesc git-latexdiff is a tool to graphically visualize differences
+longdesc between different versions of a LaTeX file. Technically, it is
+longdesc a wrapper around git and latexdiff.
+depend git-latexdiff.ARCH
+containersize 8100
+containerchecksum 74077b3dd1a91a734af6d668b309f804dc58a282393d88d8d5d74a5e6fc73c197e49b462369f829cc7151e20aaf8085c0587428ed61ce7957a1ef173d92c5481
+doccontainersize 18012
+doccontainerchecksum bfda354f808c1f94dfac207d1526409a160b89292e44541930dac34383e3ffec9ce63d04db041ea5ac529e1e01fdc80c4c64cd43e8cdc14aac974094732d6fe8
+docfiles size=9
+ texmf-dist/doc/man/man1/git-latexdiff.1
+ texmf-dist/doc/man/man1/git-latexdiff.man1.pdf
+ texmf-dist/doc/support/git-latexdiff/README.md details="Readme"
+runfiles size=7
+ texmf-dist/scripts/git-latexdiff/git-latexdiff
+catalogue-contact-home https://gitlab.com/git-latexdiff/git-latexdiff
+catalogue-ctan /support/git-latexdiff
+catalogue-license bsd2
+catalogue-topics version-control doc-mgmt
+catalogue-version 1.6.0
+
+name git-latexdiff.aarch64-linux
+category Package
+revision 54732
+shortdesc aarch64-linux files of git-latexdiff
+containersize 340
+containerchecksum 4604868fffecb88c62f8c267bf71f2d9725cfce5a6ac40d41abbce970bfa8bc85c21fd4a8a76304ac0de229b28a07cb48c0d07417051982d664b65a131287d0e
+binfiles arch=aarch64-linux size=1
+ bin/aarch64-linux/git-latexdiff
+
+name git-latexdiff.amd64-freebsd
+category Package
+revision 54732
+shortdesc amd64-freebsd files of git-latexdiff
+containersize 340
+containerchecksum 0a7668a23afecaa083899547fa0dc1359961b758e3b509768c1f5ad94f7e5ef472883c703079b8ad27894a9bc7888847af93cd97696bea7174da06cbd40fec10
+binfiles arch=amd64-freebsd size=1
+ bin/amd64-freebsd/git-latexdiff
+
+name git-latexdiff.amd64-netbsd
+category Package
+revision 54732
+shortdesc amd64-netbsd files of git-latexdiff
+containersize 340
+containerchecksum 0e0f055b4c73966af5a63e1d6d8f49cfe1fd62aac462270c9658f2a612b28ef7c92950bae6910764af1aa4eb08b9febb22df1e26367106ca1e6c9a083faee128
+binfiles arch=amd64-netbsd size=1
+ bin/amd64-netbsd/git-latexdiff
+
+name git-latexdiff.armhf-linux
+category Package
+revision 54732
+shortdesc armhf-linux files of git-latexdiff
+containersize 340
+containerchecksum 9373010c324a38474d5a6fb329f66a18f2a128f13a39925dd2bd24a787eb390d6c4ea4ae973d32c6e71ba0821431c757fa8eee3510163a543ca78c1b8dc2e244
+binfiles arch=armhf-linux size=1
+ bin/armhf-linux/git-latexdiff
+
+name git-latexdiff.i386-cygwin
+category Package
+revision 54732
+shortdesc i386-cygwin files of git-latexdiff
+containersize 340
+containerchecksum 5404f28698b227a6df2cb2e506f84b6d4aef522ff31cc41f8ef24f59395c430dbe8c015c277b991bce4a5f8caa5d4a5bc7cb117d20391c13d791fa3fc98f7c88
+binfiles arch=i386-cygwin size=1
+ bin/i386-cygwin/git-latexdiff
+
+name git-latexdiff.i386-freebsd
+category Package
+revision 54732
+shortdesc i386-freebsd files of git-latexdiff
+containersize 340
+containerchecksum a0ffbcf9592989a12f77bfd21b7d39c9fa32738f1bc9afc464aa1397cb06a6626b927805dd96ab242ba473092769ad8ccc2d85828ea6d7cd6413b1fd770eee1e
+binfiles arch=i386-freebsd size=1
+ bin/i386-freebsd/git-latexdiff
+
+name git-latexdiff.i386-linux
+category Package
+revision 54732
+shortdesc i386-linux files of git-latexdiff
+containersize 340
+containerchecksum f185e88d0c3cd70c949a97b0c859e1a05592d6a0a7637b86462228fd72859498af545ea534cfca479ce6c564a7376a7eedf8a4417438d59348f981ffffdf4b9a
+binfiles arch=i386-linux size=1
+ bin/i386-linux/git-latexdiff
+
+name git-latexdiff.i386-netbsd
+category Package
+revision 54732
+shortdesc i386-netbsd files of git-latexdiff
+containersize 340
+containerchecksum c92f6c8f08cd1d5b376d3c83921897a3c893160e4e0e613ef563647a5c54d75aba79277c7ef32e7b4c56784776868c3a07b8af0343245801b599fb2490de3294
+binfiles arch=i386-netbsd size=1
+ bin/i386-netbsd/git-latexdiff
+
+name git-latexdiff.i386-solaris
+category Package
+revision 54732
+shortdesc i386-solaris files of git-latexdiff
+containersize 340
+containerchecksum 048d65597e8c3e715f86afe17538b39653364502015a4ac50b0cba34f3602ae163f637baf7a1eee77aa3fc4f425761fb20b016e02dcb01ff292776e95b90b0be
+binfiles arch=i386-solaris size=1
+ bin/i386-solaris/git-latexdiff
+
+name git-latexdiff.x86_64-cygwin
+category Package
+revision 54732
+shortdesc x86_64-cygwin files of git-latexdiff
+containersize 344
+containerchecksum a6817605f3055dbaed52884ef28d43245f56cf0500556daa59344625044273ebe937744a4495a85d021da58c84f7cbd06c9e096ff517a28e44e4c7be2104f38a
+binfiles arch=x86_64-cygwin size=1
+ bin/x86_64-cygwin/git-latexdiff
+
+name git-latexdiff.x86_64-darwin
+category Package
+revision 54732
+shortdesc x86_64-darwin files of git-latexdiff
+containersize 340
+containerchecksum 77b2b961c4be82fd1400b5fe96bc686fd635a7c5f1f81050bc76892af14c3ffaa27149a42eae077070780918993c8f60fd0a721f290ef199c10e50f590cd45e7
+binfiles arch=x86_64-darwin size=1
+ bin/x86_64-darwin/git-latexdiff
+
+name git-latexdiff.x86_64-darwinlegacy
+category Package
+revision 54732
+shortdesc x86_64-darwinlegacy files of git-latexdiff
+containersize 348
+containerchecksum 05a1844cab08b6d8ac80ea56181d421b8d4804a482171ccb0c76b174d27ae02db4cfc578b9ef56476715213280750d4293941ff77aa40ffaaf7e05aa4ade4855
+binfiles arch=x86_64-darwinlegacy size=1
+ bin/x86_64-darwinlegacy/git-latexdiff
+
+name git-latexdiff.x86_64-linux
+category Package
+revision 54732
+shortdesc x86_64-linux files of git-latexdiff
+containersize 340
+containerchecksum b861898d67b0f0da63f3e4ab13cf84f83d39ef74d108968a1f99faf2882ad11fe7a116b3c7a2a35085b3f6ad9affaf19b603ad03a490140495a2dfaf09a14d97
+binfiles arch=x86_64-linux size=1
+ bin/x86_64-linux/git-latexdiff
+
+name git-latexdiff.x86_64-linuxmusl
+category Package
+revision 54732
+shortdesc x86_64-linuxmusl files of git-latexdiff
+containersize 344
+containerchecksum 189922c4c874f37fb7630a59cd3886ebc4d886c9286f238edf5c1bbe297847a543f42efca3f13374be86c925cfe97d4b87aa9a81165653f15e8de99cacbb92d8
+binfiles arch=x86_64-linuxmusl size=1
+ bin/x86_64-linuxmusl/git-latexdiff
+
+name git-latexdiff.x86_64-solaris
+category Package
+revision 54732
+shortdesc x86_64-solaris files of git-latexdiff
+containersize 340
+containerchecksum 37e5289666bc6a03dd1aa3e67b7db6e17ff17757e0ee12fb0bd058f837c6cae072150d72a5ec07527b9859c7cea6914c38466cf30c26ff7b56c1388eb683ef2d
+binfiles arch=x86_64-solaris size=1
+ bin/x86_64-solaris/git-latexdiff
+
name gitfile-info
category Package
revision 51928
@@ -138452,18 +138637,18 @@ catalogue-topics invoice
name iodhbwm
category Package
-revision 52118
+revision 54734
shortdesc Unofficial template of the DHBW Mannheim
relocated 1
longdesc This package provides an unofficial template of the DHBW
longdesc Mannheim for the creation of bachelor thesis, studies or
longdesc project work with LaTeX. The aim of the package is the quick
longdesc creation of a basic framework without much effort.
-containersize 41672
-containerchecksum 694c87987c02504c3e9d4db2c094582b0ed979d240f569a8d8fde37563885b23fea977c6671cdd7be464d7fe1fe2870dd321afd59ca5a33fcb7f0dbc6d6a485e
-doccontainersize 3081392
-doccontainerchecksum a94dae7e699365fdedda975b69905861a2187590269ffa65256d97e28c8b7a89facd79edda6b4b177afa18df3b790c6a2e95c82cb59b475a7a2e57c7e26fcf3a
-docfiles size=1232
+containersize 40648
+containerchecksum 34a15eef8301dc4cb34ca31982de3b7e4529d71b1c7880102f6dfe7fb2d6bbaeb45bacb7613dbad8177cde94c63e87d430413e3e7abdf8cae0ead178c758f045
+doccontainersize 3069400
+doccontainerchecksum a6c7397e2b79b776e0a32deda492548255ccb378790e37a4fdab9571ca37b606f6c12dd9ccf811960c636b91d3adf44f4295006f712e9f386d3a32fef06b21ce
+docfiles size=1240
RELOC/doc/latex/iodhbwm/README.md details="Readme"
RELOC/doc/latex/iodhbwm/examples/abstract/iodhbwm-auto-sections-with-abstract.pdf
RELOC/doc/latex/iodhbwm/examples/abstract/iodhbwm-auto-sections-with-abstract.tex
@@ -138508,15 +138693,21 @@ docfiles size=1232
RELOC/doc/latex/iodhbwm/examples/titlepages/iodhbwm-titlepage-logo.pdf
RELOC/doc/latex/iodhbwm/examples/titlepages/iodhbwm-titlepage-logo.tex
RELOC/doc/latex/iodhbwm/examples/titlepages/my-titlepage.tex
+ RELOC/doc/latex/iodhbwm/i18n/english/dhbw-declaration.def
+ RELOC/doc/latex/iodhbwm/i18n/english/dhbw-titlepage-ba.def
+ RELOC/doc/latex/iodhbwm/i18n/english/dhbw-titlepage-pa.def
+ RELOC/doc/latex/iodhbwm/i18n/english/dhbw-titlepage-sa.def
+ RELOC/doc/latex/iodhbwm/i18n/english/dhbw-titlepage.def
+ RELOC/doc/latex/iodhbwm/i18n/ngerman/dhbw-declaration.def
+ RELOC/doc/latex/iodhbwm/i18n/ngerman/dhbw-titlepage-ba.def
+ RELOC/doc/latex/iodhbwm/i18n/ngerman/dhbw-titlepage-pa.def
+ RELOC/doc/latex/iodhbwm/i18n/ngerman/dhbw-titlepage-sa.def
+ RELOC/doc/latex/iodhbwm/i18n/ngerman/dhbw-titlepage.def
RELOC/doc/latex/iodhbwm/iodhbwm.pdf details="Package documentation" language="de"
RELOC/doc/latex/iodhbwm/iodhbwm.tex
-runfiles size=24
- RELOC/tex/latex/iodhbwm/dhbw-declaration.def
+runfiles size=20
RELOC/tex/latex/iodhbwm/dhbw-logo.png
- RELOC/tex/latex/iodhbwm/dhbw-titlepage-ba.def
- RELOC/tex/latex/iodhbwm/dhbw-titlepage-pa.def
- RELOC/tex/latex/iodhbwm/dhbw-titlepage-sa.def
- RELOC/tex/latex/iodhbwm/dhbw-titlepage.def
+ RELOC/tex/latex/iodhbwm/iodhbwm-i18n.def
RELOC/tex/latex/iodhbwm/iodhbwm-templates.sty
RELOC/tex/latex/iodhbwm/iodhbwm.cls
catalogue-contact-bugs https://github.com/faltfe/iodhbwm/issues
@@ -138524,7 +138715,7 @@ catalogue-contact-repository https://github.com/faltfe/iodhbwm/
catalogue-ctan /macros/latex/contrib/iodhbwm
catalogue-license lppl1.3
catalogue-topics class dissertation misc-paper
-catalogue-version 1.1.1
+catalogue-version 1.2.1
name ionumbers
category Package
@@ -155979,13 +156170,18 @@ catalogue-topics book-ex
name latex-bin
category TLCore
-revision 54498
+revision 54743
shortdesc LaTeX executables and man pages
+depend luatex
+depend luahbtex
+depend pdftex
+depend latexconfig
+depend latex-fonts
depend latex
+depend graphics
depend babel
depend cm
depend hyphen-base
-depend latex-fonts
depend l3backend
depend l3kernel
depend l3packages
@@ -155993,7 +156189,6 @@ depend tex-ini-files
depend unicode-data
depend dehyph
depend hyph-utf8
-depend latexconfig
depend lm
depend luaotfload
depend latex-bin.ARCH
@@ -156001,10 +156196,10 @@ execute AddFormat name=latex engine=pdftex patterns=language.dat
execute AddFormat name=pdflatex engine=pdftex patterns=language.dat options="-translate-file=cp227.tcx *pdflatex.ini" fmttriggers=babel,cm,hyphen-base,latex-fonts,l3backend,l3kernel,l3packages,tex-ini-files,unicode-data,latex,dehyph,hyph-utf8,latexconfig
execute AddFormat name=dvilualatex engine=luatex patterns=language.dat,language.dat.lua options="dvilualatex.ini" fmttriggers=babel,cm,hyphen-base,latex-fonts,l3backend,l3kernel,l3packages,tex-ini-files,unicode-data,latex,lm,luaotfload
execute AddFormat name=lualatex engine=luahbtex patterns=language.dat,language.dat.lua options="lualatex.ini" fmttriggers=babel,cm,hyphen-base,latex-fonts,l3backend,l3kernel,l3packages,tex-ini-files,unicode-data,latex,lm,luaotfload
-containersize 560
-containerchecksum b8315c3ee2ae9502d2d2b2f9fe5d4fc84aa837e441f0a788976e91a6588b8687fef803a8f9e7d7c7cbd342e70ab8ff04552096be9f4e70d1b19ed5e6c94439cd
+containersize 580
+containerchecksum d0b72d9456e68bf2e6e68e47a879db2e3233e6d49f6edb490419e556df15c7fb5459ea5e86c4d3808545d47605790dbbbfb964fd305019b3bc8ada70cb27b4b0
doccontainersize 69852
-doccontainerchecksum 9908e5f8f08ed353ab3641e159a9a3d5acff8175161ad1657c4ab30b82119a169f6c4c8f64f44c4a0dda73b4099842c237850b1b1ae24ea40c505dd8cfedb9a9
+doccontainerchecksum 6c76c5901ee581eeacbdd106b96de07d06c8a552131de5cd1e41c783697d426da5f08850f5fcfce1027950e63d168e9e2caec258d1edb7c7025453bd0f205740
docfiles size=32
texmf-dist/doc/man/man1/dvilualatex.1
texmf-dist/doc/man/man1/dvilualatex.man1.pdf
@@ -163622,36 +163817,58 @@ catalogue-topics maths expl3 pgf-tikz
name lettre
category Package
-revision 44950
+revision 54722
shortdesc Letters and faxes in French
relocated 1
longdesc Developed from the ancestor of the standard letter class, at
longdesc the Observatoire de Geneve.
-containersize 13328
-containerchecksum 7e50bf7d6109fcf0e128c35ebaa034c3301668f6e3bd8536b4a37c7e721592e28561911f922cfdf740d0c397a8375113dce0b7a00388a11bc4196b4b33fc04dd
-doccontainersize 943804
-doccontainerchecksum 308122fdd634c278f6e05e85a3a052e4255f06339db0f744fdd4859f6bc2983b7150c8fbb5d85fa71c39bf71ca6aec9d6c3d27707da0f95252beb2fb09dfafc7
-docfiles size=315
- RELOC/doc/latex/lettre/3.000-release-notes.txt
- RELOC/doc/latex/lettre/ALIRE_TDS
- RELOC/doc/latex/lettre/README_TDS
+containersize 25428
+containerchecksum 308dc21e8be8d8f6952eadf9b5e9002fe32e8ea3b79ba679606badef75ae346721270e85e3fbcd269ee86b9ae049390164c57cfd73d7f2efe22fe82c7466a813
+doccontainersize 1005116
+doccontainerchecksum 9962763ae46836874eccf4ea5a2dd695eaa1ab890224d6a54e83670618e2cae4a917fb6bf05610c5104f4d241e0163e079628e79ddad3edf374b513cf6a457f6
+docfiles size=371
+ RELOC/doc/latex/lettre/3.002-release-notes.txt
+ RELOC/doc/latex/lettre/ALIRE details="Readme (French)" language="fr"
+ RELOC/doc/latex/lettre/README details="Readme"
+ RELOC/doc/latex/lettre/amgmono.mps
+ RELOC/doc/latex/lettre/ecusson55.mps
+ RELOC/doc/latex/lettre/latexmkrc
+ RELOC/doc/latex/lettre/letdoc.ist
+ RELOC/doc/latex/lettre/letex1.tex
+ RELOC/doc/latex/lettre/letex2.tex
+ RELOC/doc/latex/lettre/letex3.tex
+ RELOC/doc/latex/lettre/letex4.tex
+ RELOC/doc/latex/lettre/letex5.tex
+ RELOC/doc/latex/lettre/letex6.tex
+ RELOC/doc/latex/lettre/letex7.tex
+ RELOC/doc/latex/lettre/letex8.tex
+ RELOC/doc/latex/lettre/lettre-languages.tex
+ RELOC/doc/latex/lettre/lettre-path.tex
+ RELOC/doc/latex/lettre/lettre-sondes.tex
RELOC/doc/latex/lettre/lettre.pdf details="Package documentation" language="fr"
-runfiles size=21
+ RELOC/doc/latex/lettre/lettre.tex
+ RELOC/doc/latex/lettre/testfaxd.tex
+ RELOC/doc/latex/lettre/testfaxe.tex
+ RELOC/doc/latex/lettre/testfaxf.tex
+runfiles size=35
RELOC/tex/latex/lettre/lettre-USenglish.ldf
RELOC/tex/latex/lettre/lettre-amg.cfg
RELOC/tex/latex/lettre/lettre-default.cfg
RELOC/tex/latex/lettre/lettre-english.ldf
RELOC/tex/latex/lettre/lettre-french.ldf
RELOC/tex/latex/lettre/lettre-german.ldf
+ RELOC/tex/latex/lettre/lettre-institut.tpl
RELOC/tex/latex/lettre/lettre-obs.cfg
RELOC/tex/latex/lettre/lettre-romand.ldf
+ RELOC/tex/latex/lettre/lettre-telefax.tpl
RELOC/tex/latex/lettre/lettre.cls
+ RELOC/tex/latex/lettre/lettre.tpl
catalogue-contact-bugs https://puszcza.gnu.org.ua/bugs/?group=latex-lettre
catalogue-contact-home https://puszcza.gnu.org.ua/projects/latex-lettre
catalogue-ctan /macros/latex/contrib/lettre
catalogue-license lppl1.3
-catalogue-topics letter french
-catalogue-version 3.000
+catalogue-topics class letter french
+catalogue-version 3.002
name lettrine
category Package
@@ -184975,23 +185192,39 @@ catalogue-version 1.05.4
name media4svg
category Package
-revision 54665
-relocated 1
-containersize 7032
-containerchecksum b7d6d282f3b2380911958bf84f09a67c13a708b75083ac0b5883b57b342a9f3e06b82708b0abdf5e6e313136aa24f06381e67bd79f317f6d3f7ff41070f91bbe
-doccontainersize 131096
-doccontainerchecksum 62bb8dff1e0e3e550b6b5df894d356eae0a1b4f032c1cf54cac05f0ae6cfa0d0bf315ae0e4f9844bbaa07c171373989b0d0592df4c900573f84b3948e72e8402
-docfiles size=99
+revision 54733
+shortdesc Multimedia inclusion for the dvisvgm backend
+relocated 1
+longdesc This package implements an interface for embedding video and
+longdesc audio files in SVG (Scalable Vector Graphics) output. SVG with
+longdesc embedded media is very portable, as it is supported by all
+longdesc modern Web browsers across a variety of operating systems and
+longdesc platforms, including portable devices. All DVI producing TeX
+longdesc engines can be used. The dvisvgm utility, which is part of all
+longdesc major TeX distributions, converts the intermediate DVI to SVG.
+longdesc By default, media files are embedded into the SVG output to
+longdesc make self-sufficient SVG files. The package depends on iftex,
+longdesc expl3, l3keys2e, xparse, and atbegshi.
+containersize 7716
+containerchecksum 2491ed7860798e32ac582b395b1ca584557a2ac4e99a631ca40cddac8c33b7c0dbe5fdd2ee8fca10dcd4552ec12630b1a73c9b19c77f9ce2bdcfd938b7d66cd3
+doccontainersize 124752
+doccontainerchecksum 01dc903d860a7a3a5b2e5c5ae65aa5a1aa02a090aae6ed27d7b3c7f830e8b5a5b58f602d898f93b21ddd1df925abe0701f4a698591ac2cb7a6edc98b8abc46a2
+docfiles size=93
RELOC/doc/latex/media4svg/ChangeLog
- RELOC/doc/latex/media4svg/README.md
- RELOC/doc/latex/media4svg/example/beamer-example-1.svg
+ RELOC/doc/latex/media4svg/README.txt
+ RELOC/doc/latex/media4svg/example/beamer-example-1.svg details="Example of use"
RELOC/doc/latex/media4svg/example/beamer-example-2.svg
RELOC/doc/latex/media4svg/example/beamer-example-3.svg
RELOC/doc/latex/media4svg/example/beamer-example-4.svg
RELOC/doc/latex/media4svg/example/beamer-example.tex
-runfiles size=7
+runfiles size=8
RELOC/tex/latex/media4svg/media4svg.lua
RELOC/tex/latex/media4svg/media4svg.sty
+catalogue-contact-repository https://gitlab.com/agrahn/media4svg
+catalogue-ctan /macros/latex/contrib/media4svg
+catalogue-license lppl
+catalogue-topics multimedia expl3
+catalogue-version 0.3
name media9
category Package
@@ -250198,6 +250431,31 @@ catalogue-license lppl
catalogue-topics graphics-use
catalogue-version 0.2
+name random
+category Package
+revision 54723
+shortdesc Generating "random" numbers in TeX
+relocated 1
+longdesc Generates pseudo-random integers in the range 1 to 2^{31}.
+longdesc Macros are to provide random integers in a given range, or
+longdesc random dimensions which can be used to provide random `real'
+longdesc numbers, are also available.
+containersize 2224
+containerchecksum a93eb4d5b526285da18105f67bef5cb4451b7b71be50581936a4718ad99360dfd8141ee9437d374c56eb3db3aad9af4ec8e1555a4a5b8654711bf64aea3f419b
+doccontainersize 78384
+doccontainerchecksum f2aa83c5e34707ce9f7cb46e6f3b1632784ec741a68ba9faec0d323aba2054de55f184aa9f1120491bbc60db2040087c4b2dadbb9a4b3763b84358c1855974dc
+docfiles size=21
+ RELOC/doc/generic/random/README.md details="Readme"
+ RELOC/doc/generic/random/random-doc.pdf details="Package documentation"
+ RELOC/doc/generic/random/random-doc.tex
+runfiles size=2
+ RELOC/tex/generic/random/random.tex
+catalogue-also lcg
+catalogue-ctan /macros/generic/random
+catalogue-license pd
+catalogue-topics calculation random
+catalogue-version 0.2
+
name randomlist
category Package
revision 45281
@@ -273748,7 +274006,7 @@ catalogue-version 1.4.2
name systeme
category Package
-revision 49690
+revision 54724
shortdesc Format systems of equations
relocated 1
longdesc The package allows you to enter systems of equations or
@@ -273758,11 +274016,11 @@ longdesc works with plain TeX or LaTeX, but e-TeX is required. Cette
longdesc petite extension permet de saisir des systemes d'equations ou
longdesc inequations de facon intuitive, et produit un affichage ou les
longdesc termes et les signes sont alignes verticalement.
-containersize 6832
-containerchecksum a71c84f41447a568cc56b2afe139dc7df23660c329e82c1a0d40e3bcf41ae775b2847f9d391bb591420cc546a36d0a69571a829822932892af1dcedc29e54e38
-doccontainersize 463212
-doccontainerchecksum 4cf7120bd6291edbb101ef1fcdaaeced3a6c771052d8f176b6c11365e1d48699978bc0593354ad9b132e05fc6f14f4074ccd7326492391c49c34a8273f4389c7
-docfiles size=118
+containersize 7224
+containerchecksum 3d559e660d406a5fd3fef16d59c18aca57263b6a0eeb6d9bafc9d4b82dc7fb07181ed1b1fa7ce0efca032cbef129405481e87922cc2c2215a57769628603b2e3
+doccontainersize 86024
+doccontainerchecksum b0aeddf7b83e25a155800524655ba75f7f0e2a71f460dfbb2d7fcfbdfd4497a560b757699971b0db7a80dee294060519eb6170b5681220568a6b8e8476ecba9c
+docfiles size=27
RELOC/doc/generic/systeme/README
RELOC/doc/generic/systeme/systeme_fr.pdf details="Package documentation (French)" language="fr"
RELOC/doc/generic/systeme/systeme_fr.tex
@@ -273774,7 +274032,7 @@ catalogue-contact-repository https://framagit.org/unbonpetit/systeme/tree/master
catalogue-ctan /macros/generic/systeme
catalogue-license lppl1.3c
catalogue-topics maths maths-syseqn simplified
-catalogue-version 0.32
+catalogue-version 0.33
name t-angles
category Package
@@ -278797,7 +279055,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 54679
+revision 54727
shortdesc Convert (La)TeX to HTML/XML
longdesc A converter from TeX and LaTeX to SGML-based formats such as
longdesc (X)HTML, MathML, OpenDocument, and DocBook, providing a
@@ -278812,10 +279070,10 @@ longdesc restricted-syntax systems such as hyperlatex and gellmu. Note
longdesc that CTAN no longer holds the definitive sources of the
longdesc package: see the 'Readme' file.
depend tex4ht.ARCH
-containersize 900460
-containerchecksum 3bcedbd52a17ee038956547848f094b9500a9e901eb543987f5f461a95cedf3e9ecb4f19e27dfd1482411579480eead478b247b931d3aeef44ced5e53d97d02a
+containersize 900616
+containerchecksum 436e03ddb9557f4c8d1adc64369209a89f0f236c08fcc4a22349780e98857d63fc32818aa08d3d5b0faf81a3fc34dc2f6aea1eabc789ff40769f880ff816ab02
doccontainersize 61188
-doccontainerchecksum 602cc54f194b5810524c6955d6929a488d29d3b02b27426e05eb20372866f4ec30cad290e1e189813d63eb150916aec60af8763864330cdba30ef7cfe9157845
+doccontainerchecksum cfa501523073f13c5e990170ff4f4e17b1ccd54a5ac036f391edbeab8b1cd478f7fc32b63353114abaf4c5657b1b866caa9ffbf3fd08f968d87cf8a9627a9c68
docfiles size=195
texmf-dist/doc/generic/tex4ht/bugfixes.css
texmf-dist/doc/generic/tex4ht/bugfixes.html
@@ -287029,15 +287287,15 @@ docfiles size=592
name texlive-docindex
category TLCore
-revision 54692
+revision 54730
shortdesc top-level TeX Live doc.html, etc.
longdesc These files are regenerated as needed, which is often, so we
longdesc make them a separate package. See the tl-update-auto script for
longdesc the process.
containersize 388
-containerchecksum 29e74fab9625482268bfa2ba5485340ba93ccf945804af883ebcd7ec4d0951871071d14462d66744b5dc7a3bebbd16bb8d9a5168954c239f9de57011a53ab388
-doccontainersize 160992
-doccontainerchecksum 9d859f019779bdaf435518545005ab06e33a5bd5aa0c2445dc7c7c26225611647211342fdf3521f08ad064403d4bee7bef01cc3a58f61f0a21d4f6eaece75436
+containerchecksum d4b7574d34846495fdb07c8d19ab81610b3fb3e5872c32c85cf62a921fe3726969f9e6d75250937f9c075c6f995b686cf25396b7207ae896228e1cedb19f3e86
+doccontainersize 160972
+doccontainerchecksum aef0b7c3f7400d56f63591e3a5c92151559f817682331c8b8c5d21f421f333d94bedf68648ea832cb0731ed4035b0c3cf06951a73e496ddd0f8213cc50b0b134
docfiles size=323
doc.html
@@ -287259,7 +287517,7 @@ docfiles size=368
name texlive-scripts
category TLCore
-revision 54642
+revision 54744
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -287267,11 +287525,11 @@ depend texlive.infra
depend texlive-scripts.ARCH
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 131644
-containerchecksum 0af67e992b7b27623f88bab19edd7673c465c7b54ba62b476274f5b389d7433d1b28ed7224a0f7c893b555e42c814e3bb14c88d1b87703a5224df9a6342f5aa1
-doccontainersize 220276
-doccontainerchecksum af5517dbbee4ab904d411a998395a5d1ffded05968e8ce839d1d2b7a0afc8b3e2fe05c68c97195b1d06497e874a6f8692649d5466a8d3b8c8b5bab982544b1c0
-docfiles size=142
+containersize 131688
+containerchecksum 2dc3ab24b8763f12c2387da1bd4d124401329eb01cb603828b2bf97e4e0823fd7661e702cad860a9eba53bdf2f718821709cc17c4862f96a72ab292637a07bfa
+doccontainersize 219376
+doccontainerchecksum ff60163bce4929605e0118220f755c4566f12d65f24cf8299fb51e01d623d16e36f2f7f96806ffd78b87cec29db802efb994c60c3c84ad5ed3ecd3c56b4e3409
+docfiles size=141
texmf-dist/doc/man/man1/fmtutil-sys.1
texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf
texmf-dist/doc/man/man1/fmtutil-user.1
@@ -287300,7 +287558,6 @@ docfiles size=142
texmf-dist/doc/man/man5/fmtutil.cnf.man5.pdf
texmf-dist/doc/man/man5/updmap.cfg.5
texmf-dist/doc/man/man5/updmap.cfg.man5.pdf
- texmf-dist/scripts/texlive/README
runfiles size=177
install-tl
texmf-dist/dvips/tetex/config.builtin35
@@ -287356,17 +287613,17 @@ runfiles size=177
name texlive-scripts-extra
category TLCore
-revision 54074
+revision 54744
shortdesc TeX Live scripts
longdesc Miscellaneous scripts maintained as part of TeX Live, but not
longdesc important for the infrastructure. Thus, this is not part of
longdesc scheme-infraonly or tlcritical, just a normal package.
depend texlive-scripts-extra.ARCH
containersize 23540
-containerchecksum 9842c64a47361c649a476573ae77edf24a4b9a1dab9736b9e176a71870855ab6a3a5ec9b475cbb72cbeee60fe408373670739b13f429243db139bd774cd44197
-doccontainersize 195488
-doccontainerchecksum 1714dd417b30290a677dfbe91b152b18e012573e242c8ebed0058b96ad48056a3fe84fce2c9fd3321de2963e647c5fe8c85fe6ae4eec640506b6836035ed390d
-docfiles size=108
+containerchecksum e46691aa10b961d2359359fdf00ebc86a1b881b3d1126c52f3863343d21eba00110cd9500fb03a4a9544a3d8fb443bbdc90aa2f6216b8e62a3edb0acc58e4c75
+doccontainersize 195144
+doccontainerchecksum 56f9be73e3318ea684c536b90645b572caf437b16339104bcedfb7517c94745a514a8e185033c2338aeccae868a123a5a137b9b07b20d661fa473bde2c28797b
+docfiles size=107
texmf-dist/doc/man/man1/allcm.1
texmf-dist/doc/man/man1/allcm.man1.pdf
texmf-dist/doc/man/man1/allec.1
@@ -287401,7 +287658,6 @@ docfiles size=108
texmf-dist/doc/man/man1/texconfig.man1.pdf
texmf-dist/doc/man/man1/texlinks.1
texmf-dist/doc/man/man1/texlinks.man1.pdf
- texmf-dist/scripts/texlive-extra/README
runfiles size=36
texmf-dist/scripts/texlive-extra/allcm.sh
texmf-dist/scripts/texlive-extra/allneeded.sh
@@ -301756,7 +302012,7 @@ catalogue-version 2.09
name tudscr
category Package
-revision 53404
+revision 54744
shortdesc Corporate Design of Technische Universitat Dresden
relocated 1
longdesc The TUD-Script bundle provides both classes and packages in
@@ -301789,7 +302045,6 @@ depend mweights
depend mathastext
depend greek-inputenc
depend cbfonts
-depend cbfonts-fd
depend geometry
depend graphics
depend xcolor
@@ -301798,10 +302053,10 @@ depend xpatch
depend trimspaces
depend environ
depend oberdiek
-containersize 159928
-containerchecksum 19ba4e0ce18b714fd62b81b030c58ed81781fcd199cb5df8c6d258a85fab3246295d662cb058b7bc0a413b5a202c5c459db7b7d450bfc3f5223e8a8b18d22074
+containersize 159924
+containerchecksum cc61292ca058f4ca3c8c6047af85ad18e7e5760eeb67ff17bc8fbdd6ee910544d2f4b6d2be2237c4a540a59dd490b2cd064c9fb39798cf6969f1c470dd37637a
doccontainersize 3782156
-doccontainerchecksum 27ce6918d35adf0c788830c3a872b7cc3efc8be2e8485a8a33909d4ac32a2b4d4da41a7e278e9640b4b4128d53c196cf85e832c9a49eaa93452af0b958642afc
+doccontainerchecksum 303fb81d2f3a20f9a5a91df35b36dd57484e203b16ae6a4074df94aedefa4df3581dc22c052dc0e109c39c567004f5aa79bae58166108d976008311d61fb085e
docfiles size=1096
RELOC/doc/latex/tudscr/LICENSE.md
RELOC/doc/latex/tudscr/README.md details="Readme"
@@ -301812,7 +302067,7 @@ docfiles size=1096
RELOC/doc/latex/tudscr/tutorials/mathtype.pdf
RELOC/doc/latex/tudscr/tutorials/treatise.pdf
srccontainersize 315432
-srccontainerchecksum 9bd2c55f4844028af2fef3122e2ae355d18d5c64b11028ab5d6ecbc69817a9fa27f03cbd179755f195c5ff8fcce90be57122e18bc78a910c40b99cee612f1d92
+srccontainerchecksum 6d3a1a673d63dec5a9951f0dd224ba758f606e381d05fe23b4a428b26ce1e126facb7d51e576fc2b67673b6e82cf42d01dea8f37b4734f4182eb1be9a76924eb
srcfiles size=458
RELOC/source/latex/tudscr/doc/examples/dissertation.tex
RELOC/source/latex/tudscr/doc/examples/document.tex
@@ -323597,13 +323852,13 @@ catalogue-topics font font-mf font-greek greek
name yathesis
category Package
-revision 54609
+revision 54740
shortdesc A LaTeX class for writing a thesis following French rules
relocated 1
-longdesc The purpose of yathesis is to facilitate dissertations'
-longdesc typesetting of theses prepared in France, whatever disciplines
-longdesc and institutes. It implements most notably recommendations from
-longdesc the Ministry of Higher Education and Research and this,
+longdesc The purpose of yathesis is to facilitate the typesetting of
+longdesc theses prepared in France, whatever the disciplines and
+longdesc institutes. It implements most notably recommendations from the
+longdesc Ministry of Higher Education and Research, and this
longdesc transparently to the user. It has also been designed to
longdesc (optionally) take advantage of powerful tools available in
longdesc LaTeX, including packages: BibLaTeX for the bibliography;
@@ -323613,12 +323868,13 @@ longdesc simple to use and, to some extent, (easily) customizable.
longdesc yathesis comes with templates and samples in the
longdesc doc/latex/yathesis/french/exemples/ directory in the
longdesc distribution. They can also be tested on ShareLaTeX (template
-longdesc and specimen) and on Overleaf (template and specimen).
-containersize 22948
-containerchecksum ff3fba79377b419bbc512f9e864ef18e4727d15a5d9ed64a3f8d89bb0d4f960deed83e74d77a76b899064b1a1829a5623a8640b0a4e474115ff7cf246a42a782
-doccontainersize 4969508
-doccontainerchecksum bc14b50783037d4593a871e85fd17b5fc482a13a4961e1848d4d1f6d18843b9a0377abe464b146157946ad318dac4e85cdd8fc4e39921013572fd56557c942ff
-docfiles size=3279
+longdesc and specimen) and on Overleaf (template and specimen). Note:
+longdesc The "ya" in the package name stands for "yet another".
+containersize 23008
+containerchecksum 2d616cf9adf52928521bf228905f5b50d6b22fddcc8daf13127f49412d7dad1d29978e7f3969d895461a838d8d012d23f9d2e6cc291f123572db03e3c844172e
+doccontainersize 4977156
+doccontainerchecksum e07826c5a8e0104e6a0c7752e4756635e001850d567cb4f11b37d73b2f959cff015f55ea1b91a393bfd140298ba06cccf9c3c36694e1e5d09c88b6cdd4cdfe52
+docfiles size=3282
RELOC/doc/latex/yathesis/CHANGELOG.md
RELOC/doc/latex/yathesis/README.md details="Readme"
RELOC/doc/latex/yathesis/addons/completion/yathesis.cwl
@@ -323689,12 +323945,12 @@ docfiles size=3279
RELOC/doc/latex/yathesis/french/exemples/specimen/a-plat/these.tex
RELOC/doc/latex/yathesis/french/exemples/specimen/a-plat/tiger.pdf
RELOC/doc/latex/yathesis/french/exemples/specimen/a-plat/ulco.pdf
-srccontainersize 49692
-srccontainerchecksum 568f231c82c9a2fecbfd70c14a7bba5eef286ac897e4b767337090e4a87afe15d2eeeda6f42ffdae960cb4b940b37024550ab012f63d3383fa26d106af5c6908
-srcfiles size=67
+srccontainersize 50008
+srccontainerchecksum 938bdc61307505eaba736788deca486fcd327822f5934b92dcea8a16723c6f8f06fbd5e68a07d5e003b82b0f4f0f24649e55714447f5c1a101e74d7e9256dbf3
+srcfiles size=66
RELOC/source/latex/yathesis/yathesis-samples-templates.dtx
RELOC/source/latex/yathesis/yathesis.dtx
-runfiles size=35
+runfiles size=36
RELOC/tex/latex/yathesis/yathesis-demo.sty
RELOC/tex/latex/yathesis/yathesis-translations.tex
RELOC/tex/latex/yathesis/yathesis.cls
@@ -323703,7 +323959,7 @@ catalogue-contact-repository https://github.com/dbitouze/yathesis
catalogue-ctan /macros/latex/contrib/yathesis
catalogue-license lppl1.3c
catalogue-topics class dissertation french
-catalogue-version 1.0.0
+catalogue-version 1.0.2
name yax
category Package
@@ -324242,29 +324498,28 @@ binfiles arch=x86_64-solaris size=1
name yquant
category Package
-revision 54527
+revision 54737
shortdesc Typesetting quantum circuits in a human-readable language
relocated 1
-longdesc yquant is a LaTeX package that allows to quickly draw quantum
-longdesc circuits. It bridges the gap between the two groups of packages
-longdesc that already exist: those that use a logic-oriented custom
-longdesc language, which is then translated into TeX by means of an
-longdesc external program; and the pure TeX versions that mainly provide
-longdesc some macros to allow for an easier input. yquant is a
-longdesc pure-LaTeX solution - i.e., it requires no external program -
-longdesc that introduces a logic oriented language and thus brings the
-longdesc best of both worlds together. It builds on and interacts with
-longdesc TikZ, which brings an enourmous flexibility for customization
-longdesc of individual circuit.
-containersize 23696
-containerchecksum 2d6002ee003011a285d1b000cdd3d16b7f2cf2eb642b6790396635d67797ea9071079c8be69bf8acd7c227f128e69e34b5f48ed3c3dc0a4001bbdd38ec731e97
-doccontainersize 374104
-doccontainerchecksum 89804807e23221696c857b3001412365ffa751055b57bac3ede41fe2d9e7fc2795e0771114141f5a47e5662b731e4a9fabf3d839a96490abcd8da6a665b1e333
-docfiles size=149
+longdesc This LaTeX package allows to quickly draw quantum circuits. It
+longdesc bridges the gap between the two groups of packages that already
+longdesc exist: those that use a logic-oriented custom language, which
+longdesc is then translated into TeX by means of an external program;
+longdesc and the pure TeX versions that mainly provide some macros to
+longdesc allow for an easier input. yquant is a pure-LaTeX solution --
+longdesc i.e., it requires no external program -- that introduces a
+longdesc logic oriented language and thus brings the best of both worlds
+longdesc together. It builds on and interacts with TikZ, which brings an
+longdesc enourmous flexibility for customization of individual circuit.
+containersize 27388
+containerchecksum a9b7137e12cb9a39bb525ac79536bd7b6c7d17e7bcbfdce4ec71637d0710e50fdc00ee03892030fc3aecbadbebd687dbe45680d2743e677c1b91bb3c1d1262ed
+doccontainersize 410360
+doccontainerchecksum 5452fa75ce7f500440cdb93cceec0cd89c61e7e902b28e63a0ec3a89e29ad1b81bb673f6549afe2241965c03abc61d4a4f3c3f030df7f097d1c50ec1e0b08b12
+docfiles size=163
RELOC/doc/latex/yquant/README.md details="Readme"
RELOC/doc/latex/yquant/yquant-doc.pdf details="Package documentation"
RELOC/doc/latex/yquant/yquant-doc.tex
-runfiles size=37
+runfiles size=45
RELOC/tex/latex/yquant/yquant-circuit.tex
RELOC/tex/latex/yquant/yquant-config.tex
RELOC/tex/latex/yquant/yquant-draw.tex
@@ -324278,9 +324533,9 @@ runfiles size=37
catalogue-contact-bugs https://github.com/projekter/yquant/issues
catalogue-contact-home https://github.com/projekter/yquant
catalogue-ctan /graphics/pgf/contrib/yquant
-catalogue-license lppl1.3
-catalogue-topics diagram-circ pgf-tikz
-catalogue-version 0.1.1
+catalogue-license lppl1.3c
+catalogue-topics graphics diagram-circ pgf-tikz
+catalogue-version 0.1.2
name ytableau
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 7341467207..78cac1e773 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-fad0327444de07a08f683bd3f89696ca texlive.tlpdb
+f6ffa10a13947cd788f74c2b80e9c401 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 0dd51b8911..c89439d987 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-50e987aa5c59a11dd7f5fa7e96508da8ae3cfebe63fd5ff18ef5c5e315462f7988c1087abdbd94a1d31f99db577a0cb63321ccd19dcb70897cf8677e758e8ba1 texlive.tlpdb
+52370920d2a2b1c4514634fc392523bdd3a007315cf8dae6806a4e8eadebd1751816f9522d9c67d3bc4879923e5a272e91872043574c7dc917076893af75be4a texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 37d7e2cad2..5f11af783e 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJek6peAAoJEEzhh34ZQ4xwUs8H/1+fSfH0onvM38zhqOsom38o
-Yxz2JCNKdpTMFfix3RuBRXs+bGMSfdcEoLl5Hry01Hzs3Gj2c3UU5OvBH3lY9Abw
-gdUpL8qclDyODn2SH/vN8DIPd6mtWP49UcR9RidZivIC2z7D9NbUR5EiBQF6kWxj
-O1l7jm0DPqVwfEGOGBCR+s+V63CBU/MnzDvZ9dtyv1S1nOy/dCgkTclX4h3ct1He
-HJVOdnOIEfX0S8titzahY80nEyvOzse3NXpk1f141ZEAfnzxHM5/di42Yb5fHUrl
-/Nllwv2wUtW9Bqu4/2OV44jxYo29j3BeeP+ydjJT2XXtZGz76nVj98ejZ+aD0uY=
-=jkdx
+iQEcBAEBCgAGBQJelk1rAAoJEEzhh34ZQ4xwnWIH/2lZ6v7ihL/hJZDkwVlz1dK+
+p2mQKOM3RK7f4HtLizGMb8yW+M5NUKGWGdEOPWFx15rIPYhOchea02WvVNkFFxh0
+ibB/OwYzpJx5rmVTA3IPv2T0jEDecfQAOu/hhgbew6lvbJdP5nVYupyQqIN0qJmJ
+xU/tLHwew5Bhctw4Tqmqd6zIwD/1pHzcxOq/bD6CVKbPhnpD8NUNR1ZEoxOJbG2C
+vCTtKtZ9Cmxd5r8Y6hwA7q0uU/1qEIdgfkQv12Pe/iPQz16ybIY1ySx7IK/3xcUp
+otQLgcCY6F9VVDqTEUfrOHlwEiKiIyevj6cGGMtctQpS+6L5duxhWDXQ27VOhcw=
+=LLK4
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 8080df241c..19a9f21757 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 790ca8a8d7..90492fdaf0 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -2,9 +2,9 @@
[repository]
-date=1586808928
+date=1586895306
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=157d600b32e4e24c18262b941e2be335
+lstdigest=41ff2784e9d026b26340aa357d23153f
numpkg=3887
relstate=next
-version=7408
+version=7409
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 061187e1df..c26d1fa504 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -2,9 +2,9 @@
[repository]
-date=1586808705
+date=1586895097
lastupd=annee-scolaire biblatex-apa bxjscls ehhline expkv expkv-def gnuplottex keyvaltable l3kernel nicematrix pgfornament tikzcodeblocks tkz-base tkz-doc tkz-euclide upmethodology xsim arara asymptote brandeis-dissertation
-lstdigest=1f0b51abe69de66e9c18f009b5f90349
+lstdigest=02bba52bc9e6d069ba756a3cde9939b6
numpkg=3887
relstate=stable
-version=7408
+version=7409
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index fb99758bba..3eeb2310fc 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,35 @@
W32TeX (x86 & x64) ChangeLog
+[2020/04/14]
+(01) ltxpkgs.tar.xz
+ Add random. Update askinclude.
+(02) luajittex-dev-w32.tar.xz
+ Update zziplib (0.13.70).
+(03) luajittex-exp-w32.tar.xz
+ Update zziplib (0.13.70).
+(04) luajittex-w32.tar.xz
+ Update zziplib (0.13.70).
+(05) luatex-dev-w32.tar.xz
+ Update zziplib (0.13.70).
+(06) luatex-exp-w32.tar.xz
+ Update zziplib (0.13.70).
+(07) luatex-w32.tar.xz
+ Update zziplib (0.13.70).
+(08) tex4htk-w32.tar.xz
+ Update html4.4ht, and html5.4ht.
+(09) win64/luajittex-dev-w64.tar.xz
+ Update zziplib (0.13.70).
+(10) win64/luajittex-exp-w64.tar.xz
+ Update zziplib (0.13.70).
+(11) win64/luajittex-w64.tar.xz
+ Update zziplib (0.13.70).
+(12) win64/luatex-dev-w64.tar.xz
+ Update zziplib (0.13.70).
+(13) win64/luatex-exp-w64.tar.xz
+ Update zziplib (0.13.70).
+(14) win64/luatex-w64.tar.xz
+ Update zziplib (0.13.70).
+
[2020/04/13]
(01) latex-dev.tar.xz
Update platex-dev.fmt, and uplatex-dev.fmt.
diff --git a/timestamp b/timestamp
index 857fd59db5..27a2652646 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2020-04-14-02-02
+2020-04-15-02-02