Last active
July 26, 2025 02:17
-
-
Save stwind/ead990e7084b0da6ba0c4a458239760c to your computer and use it in GitHub Desktop.
cotangent_formula.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "nbformat": 4, | |
| "nbformat_minor": 0, | |
| "metadata": { | |
| "colab": { | |
| "provenance": [], | |
| "collapsed_sections": [ | |
| "kWpTRCN_SI-4", | |
| "fjfI-a3zSN-1" | |
| ], | |
| "machine_shape": "hm", | |
| "authorship_tag": "ABX9TyNieGHOupr/3qa1T+GaaeBf", | |
| "include_colab_link": true | |
| }, | |
| "kernelspec": { | |
| "name": "python3", | |
| "display_name": "Python 3" | |
| }, | |
| "language_info": { | |
| "name": "python" | |
| } | |
| }, | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "view-in-github", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "<a href=\"https://colab.research.google.com/gist/stwind/ead990e7084b0da6ba0c4a458239760c/cotangent_formula.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "source": [ | |
| "## Setup" | |
| ], | |
| "metadata": { | |
| "id": "Gqv4ujUnSIFH" | |
| } | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "source": [ | |
| "### Dependencies" | |
| ], | |
| "metadata": { | |
| "id": "kWpTRCN_SI-4" | |
| } | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 0 | |
| }, | |
| "id": "gBOK3NnzSFKE", | |
| "outputId": "e697300f-23e4-47fb-89d5-d5d48dae1194" | |
| }, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.1/62.1 kB\u001b[0m \u001b[31m939.7 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", | |
| "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m16.9/16.9 MB\u001b[0m \u001b[31m116.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", | |
| "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8.6/8.6 MB\u001b[0m \u001b[31m119.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", | |
| "\u001b[?25h\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", | |
| "numba 0.60.0 requires numpy<2.1,>=1.22, but you have numpy 2.3.2 which is incompatible.\n", | |
| "tensorflow 2.18.0 requires numpy<2.1.0,>=1.26.0, but you have numpy 2.3.2 which is incompatible.\n", | |
| "opencv-python 4.12.0.88 requires numpy<2.3.0,>=2; python_version >= \"3.9\", but you have numpy 2.3.2 which is incompatible.\n", | |
| "cupy-cuda12x 13.3.0 requires numpy<2.3,>=1.22, but you have numpy 2.3.2 which is incompatible.\n", | |
| "opencv-python-headless 4.12.0.88 requires numpy<2.3.0,>=2; python_version >= \"3.9\", but you have numpy 2.3.2 which is incompatible.\n", | |
| "opencv-contrib-python 4.12.0.88 requires numpy<2.3.0,>=2; python_version >= \"3.9\", but you have numpy 2.3.2 which is incompatible.\u001b[0m\u001b[31m\n", | |
| "\u001b[0m" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "!pip install --no-cache-dir -Uq numpy matplotlib pillow scipy einops ffmpeg-python" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "source": [ | |
| "#### Texlive" | |
| ], | |
| "metadata": { | |
| "id": "i6urytS1SXWx" | |
| } | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "# https://tug.org/texlive/quickinstall.html\n", | |
| "!wget -qc --show-progress https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz && tar -xzf install-tl-unx.tar.gz\n", | |
| "# https://tug.org/texlive/doc/install-tl.html\n", | |
| "!cd install-tl-2* && perl ./install-tl -no-gui -no-interaction -scheme scheme-minimal -no-doc-install -no-src-install -q" | |
| ], | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 0 | |
| }, | |
| "id": "vfLeO5ENSZC3", | |
| "outputId": "92158a70-474a-4ca0-cde7-636638471185" | |
| }, | |
| "execution_count": 2, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "\rinstall-tl-unx.tar. 0%[ ] 0 --.-KB/s \rinstall-tl-unx.tar. 100%[===================>] 5.54M --.-KB/s in 0.05s \n", | |
| "mktexlsr: Updating /usr/local/texlive/2025/texmf-dist/ls-R... \n", | |
| "mktexlsr: Done.\n", | |
| "mktexlsr: Updating /usr/local/texlive/2025/texmf-config/ls-R... \n", | |
| "mktexlsr: Updating /usr/local/texlive/2025/texmf-dist/ls-R... \n", | |
| "mktexlsr: Updating /usr/local/texlive/2025/texmf-var/ls-R... \n", | |
| "mktexlsr: Done.\n", | |
| "[01:38:01] mktexlsr: Updating /usr/local/texlive/2025/texmf-config/ls-R... \n", | |
| "mktexlsr: Updating /usr/local/texlive/2025/texmf-var/ls-R... \n", | |
| "mktexlsr: Done.\n", | |
| "[01:38:01] \n", | |
| "./install-tl: errors in installation reported above\n", | |
| "\n", | |
| "Logfile: /usr/local/texlive/2025/install-tl.log\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "!/usr/local/texlive/2025/bin/x86_64-linux/tlmgr install cm-super collection-latexextra dvipng dvisvgm kastrup newtx pxfonts tex-gyre-pagella newpx" | |
| ], | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 0 | |
| }, | |
| "id": "fNTWANmlSaYC", | |
| "outputId": "d9f62d2c-aabd-4494-f1de-12b184304966" | |
| }, | |
| "execution_count": 3, | |
| "outputs": [ | |
| { | |
| "metadata": { | |
| "tags": null | |
| }, | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "tlmgr: package repository https://tw.mirrors.cicku.me/ctan/systems/texlive/tlnet (verified)\n", | |
| "tlmgr install: package tex-gyre-pagella not present in repository.\n", | |
| "[1/2093, ??:??/??:??] install: 2up [5k]\n", | |
| "[2/2093, 00:00/00:00] install: a0poster [4k]\n", | |
| "[3/2093, 00:01/06:31:59] install: a4wide [1k]\n", | |
| "[4/2093, 00:02/11:30:50] install: a5comb [1k]\n", | |
| "[5/2093, 00:03/15:30:32] install: abraces [4k]\n", | |
| "[6/2093, 00:04/14:36:40] install: abspos [3k]\n", | |
| "[7/2093, 00:04/12:21:18] install: abstract [2k]\n", | |
| "[8/2093, 00:05/13:44:05] install: academicons [35k]\n", | |
| "[9/2093, 00:05/04:37:04] install: accessibility [14k]\n", | |
| "[10/2093, 00:06/04:24:35] install: accsupp [4k]\n", | |
| "[11/2093, 00:07/04:54:07] install: achemso [19k]\n", | |
| "[12/2093, 00:07/03:50:18] install: acro [44k]\n", | |
| "[13/2093, 00:08/02:55:50] install: acronym [6k]\n", | |
| "[14/2093, 00:09/03:10:25] install: acroterm [2k]\n", | |
| "[15/2093, 00:10/03:29:27] install: actuarialangle [2k]\n", | |
| "[16/2093, 00:11/03:47:09] install: actuarialsymbol [3k]\n", | |
| "[17/2093, 00:11/03:42:53] install: addfont [2k]\n", | |
| "[18/2093, 00:12/04:00:41] install: addlines [2k]\n", | |
| "[19/2093, 00:13/04:18:02] install: adigraph [6k]\n", | |
| "[20/2093, 00:14/04:27:44] install: adjmulticol [4k]\n", | |
| "[21/2093, 00:14/04:22:29] install: adjustbox [14k]\n", | |
| "[22/2093, 00:15/04:18:33] install: adrconv [3k]\n", | |
| "[23/2093, 00:15/04:14:22] install: advdate [3k]\n", | |
| "[24/2093, 00:16/04:27:53] install: ae [57k]\n", | |
| "[25/2093, 00:17/03:34:36] install: affilauthor [3k]\n", | |
| "[26/2093, 00:18/03:44:31] install: afperpack [5k]\n", | |
| "[27/2093, 00:19/03:52:52] install: akktex [14k]\n", | |
| "[28/2093, 00:19/03:39:48] install: akletter [10k]\n", | |
| "[29/2093, 00:20/03:42:51] install: alchemist [4k]\n", | |
| "[30/2093, 00:21/03:51:13] install: alertmessage [7k]\n", | |
| "[31/2093, 00:21/03:45:25] install: alnumsec [3k]\n", | |
| "[32/2093, 00:22/03:53:54] install: alphalph [4k]\n", | |
| "[33/2093, 00:23/04:01:32] install: alterqcm [7k]\n", | |
| "[34/2093, 00:23/03:55:43] install: altfont [4k]\n", | |
| "[35/2093, 00:24/04:02:59] install: altsubsup [2k]\n", | |
| "[36/2093, 00:25/04:11:45] install: amsaddr [2k]\n", | |
| "[37/2093, 00:25/04:10:06] install: amscls [32k]\n", | |
| "[38/2093, 00:26/03:54:25] install: amsmath [31k]\n", | |
| "[39/2093, 00:27/03:41:57] install: anima [4k]\n", | |
| "[40/2093, 00:27/03:39:38] install: animate [24k]\n", | |
| "[41/2093, 00:28/03:33:38] install: anonchap [2k]\n", | |
| "[42/2093, 00:28/03:32:50] install: answers [3k]\n", | |
| "[43/2093, 00:29/03:39:13] install: anyfontsize [3k]\n", | |
| "[44/2093, 00:30/03:45:33] install: anysize [2k]\n", | |
| "[45/2093, 00:31/03:52:15] install: aobs-tikz [2k]\n", | |
| "[46/2093, 00:32/03:58:44] install: appendix [3k]\n", | |
| "[47/2093, 00:33/04:04:24] install: appendixnumberbeamer [2k]\n", | |
| "[48/2093, 00:33/04:03:26] install: apptools [2k]\n", | |
| "[49/2093, 00:34/04:10:03] install: arabicfront [2k]\n", | |
| "[50/2093, 00:35/04:16:21] install: arcs [2k]\n", | |
| "[51/2093, 00:36/04:22:41] install: argumentation [6k]\n", | |
| "[52/2093, 00:36/04:19:20] install: arraycols [2k]\n", | |
| "[53/2093, 00:37/04:25:42] install: arrayjobx [3k]\n", | |
| "[54/2093, 00:37/04:23:47] install: arraysort [3k]\n", | |
| "[55/2093, 00:38/04:29:34] install: arydshln [10k]\n", | |
| "[56/2093, 00:39/04:30:34] install: asciilist [4k]\n", | |
| "[57/2093, 00:40/04:35:29] install: askinclude [5k]\n", | |
| "[58/2093, 00:41/04:39:31] install: askmaps [4k]\n", | |
| "[59/2093, 00:41/04:37:24] install: assignment [2k]\n", | |
| "[60/2093, 00:42/04:42:54] install: assoccnt [4k]\n", | |
| "[61/2093, 00:43/04:46:59] install: association-matrix [5k]\n", | |
| "[62/2093, 00:43/04:44:17] install: asyfig [4k]\n", | |
| "[63/2093, 00:44/04:48:48] install: asypictureb [4k]\n", | |
| "[64/2093, 00:44/04:46:32] install: atbegshi [5k]\n", | |
| "[65/2093, 00:45/04:50:00] install: atenddvi [2k]\n", | |
| "[66/2093, 00:45/04:48:46] install: atendofenv [2k]\n", | |
| "[67/2093, 00:46/04:54:10] install: attachfile [5k]\n", | |
| "[68/2093, 00:46/04:51:10] install: attachfile2.x86_64-linux [1k]\n", | |
| "[69/2093, 00:47/04:57:17] install: attachfile2 [11k]\n", | |
| "[70/2093, 00:48/04:56:33] install: atveryend [2k]\n", | |
| "[71/2093, 00:48/04:55:49] install: aurl [14k]\n", | |
| "[72/2093, 00:49/04:53:32] install: authoraftertitle [1k]\n", | |
| "[73/2093, 00:50/04:59:02] install: authorarchive [4k]\n", | |
| "[74/2093, 00:50/04:56:48] install: authorindex.x86_64-linux [1k]\n", | |
| "[75/2093, 00:51/05:02:31] install: authorindex [9k]\n", | |
| "[76/2093, 00:52/05:02:55] install: autoarea [5k]\n", | |
| "[77/2093, 00:52/05:00:27] install: autofancyhdr [2k]\n", | |
| "[78/2093, 00:53/05:05:31] install: autonum [4k]\n", | |
| "[79/2093, 00:54/05:09:11] install: autopdf [5k]\n", | |
| "[80/2093, 00:55/05:11:55] install: autopuncitems [4k]\n", | |
| "[81/2093, 00:55/05:10:05] install: auxhook [2k]\n", | |
| "[82/2093, 00:55/05:09:06] install: avremu [13k]\n", | |
| "[83/2093, 00:56/05:07:08] install: awesomebox [3k]\n", | |
| "[84/2093, 00:57/05:11:18] install: axessibility [4k]\n", | |
| "[85/2093, 00:58/05:14:32] install: babel [235k]\n", | |
| "[86/2093, 00:59/03:41:51] install: babel-english [3k]\n", | |
| "[87/2093, 00:59/03:40:59] install: babelbib [27k]\n", | |
| "[88/2093, 01:00/03:37:12] install: background [3k]\n", | |
| "[89/2093, 01:01/03:40:16] install: bankstatement [4k]\n", | |
| "[90/2093, 01:01/03:39:20] install: bardiag [12k]\n", | |
| "[91/2093, 01:02/03:39:39] install: bashful [6k]\n", | |
| "[92/2093, 01:02/03:38:15] install: basicarith [3k]\n", | |
| "[93/2093, 01:03/03:41:05] install: bchart [2k]\n", | |
| "[94/2093, 01:04/03:44:05] install: beamer [165k]\n", | |
| "[95/2093, 01:04/03:06:43] install: beamer-rl [9k]\n", | |
| "[96/2093, 01:05/03:08:00] install: beamer-theme-albi [7k]\n", | |
| "[97/2093, 01:06/03:09:39] install: beamer2thesis [286k]\n", | |
| "[98/2093, 01:07/02:29:48] install: beamerappendixnote [2k]\n", | |
| "[99/2093, 01:08/02:31:52] install: beameraudience [2k]\n", | |
| "[100/2093, 01:09/02:33:56] install: beamerauxtheme [4k]\n", | |
| "[101/2093, 01:09/02:33:33] install: beamercolorthemeowl [2k]\n", | |
| "[102/2093, 01:10/02:35:33] install: beamerdarkthemes [2k]\n", | |
| "[103/2093, 01:10/02:35:20] install: beamerposter [8k]\n", | |
| "[104/2093, 01:11/02:36:41] install: beamersubframe [4k]\n", | |
| "[105/2093, 01:12/02:38:25] install: beamerswitch [5k]\n", | |
| "[106/2093, 01:12/02:37:50] install: beamertheme-arguelles [3k]\n", | |
| "[107/2093, 01:13/02:39:40] install: beamertheme-cleaneasy [22k]\n", | |
| "[108/2093, 01:14/02:39:13] install: beamertheme-cuerna [3k]\n", | |
| "[109/2093, 01:15/02:41:05] install: beamertheme-detlevcm [3k]\n", | |
| "[110/2093, 01:15/02:40:43] install: beamertheme-epyt [4k]\n", | |
| "[111/2093, 01:16/02:42:26] install: beamertheme-focus [5k]\n", | |
| "[112/2093, 01:16/02:41:54] install: beamertheme-gotham [20k]\n", | |
| "[113/2093, 01:17/02:41:39] install: beamertheme-light [3k]\n", | |
| "[114/2093, 01:18/02:43:30] install: beamertheme-metropolis [7k]\n", | |
| "[115/2093, 01:18/02:42:44] install: beamertheme-mirage [3k]\n", | |
| "[116/2093, 01:19/02:44:33] install: beamertheme-npbt [1424k]\n", | |
| "[117/2093, 01:19/01:21:00] install: beamertheme-phnompenh [1k]\n", | |
| "[118/2093, 01:21/01:23:02] install: beamertheme-pure-minimalistic [5k]\n", | |
| "[119/2093, 01:21/01:22:54] install: beamertheme-rainbow [2k]\n", | |
| "[120/2093, 01:22/01:23:53] install: beamertheme-saintpetersburg [4k]\n", | |
| "[121/2093, 01:23/01:24:48] install: beamertheme-simpledarkblue [2k]\n", | |
| "[122/2093, 01:23/01:24:45] install: beamertheme-simpleplus [2k]\n", | |
| "[123/2093, 01:24/01:25:43] install: beamertheme-spectrum [5k]\n", | |
| "[124/2093, 01:24/01:25:34] install: beamertheme-tcolorbox [4k]\n", | |
| "[125/2093, 01:25/01:26:28] install: beamertheme-trigon [6k]\n", | |
| "[126/2093, 01:26/01:27:18] install: beamertheme-upenn-bc [2k]\n", | |
| "[127/2093, 01:26/01:27:15] install: beamerthemeamurmaple [7k]\n", | |
| "[128/2093, 01:27/01:28:05] install: beamerthemecelestia [10k]\n", | |
| "[129/2093, 01:27/01:27:46] install: beamerthemeconcrete [15k]\n", | |
| "[130/2093, 01:28/01:28:20] install: beamerthemejltree [2k]\n", | |
| "[131/2093, 01:28/01:28:17] install: beamerthemelalic [3k]\n", | |
| "[132/2093, 01:29/01:29:12] install: beamerthemenirma [3k]\n", | |
| "[133/2093, 01:30/01:30:07] install: beamerthemenord [3k]\n", | |
| "[134/2093, 01:31/01:31:02] install: beamertools [2k]\n", | |
| "[135/2093, 01:32/01:31:59] install: bearwear [3k]\n", | |
| "[136/2093, 01:32/01:31:54] install: beaulivre [6k]\n", | |
| "[137/2093, 01:33/01:32:44] install: beautybook [15k]\n", | |
| "[138/2093, 01:34/01:33:15] install: beautynote [6k]\n", | |
| "[139/2093, 01:35/01:34:05] install: beton [2k]\n", | |
| "[140/2093, 01:35/01:34:02] install: bewerbung [10k]\n", | |
| "[141/2093, 01:36/01:34:42] install: bez123 [3k]\n", | |
| "[142/2093, 01:37/01:35:36] install: bhcexam [4k]\n", | |
| "[143/2093, 01:37/01:35:29] install: biblatex [253k]\n", | |
| "[144/2093, 01:38/01:28:48] install: bibletext [2k]\n", | |
| "[145/2093, 01:39/01:29:40] install: bigfoot [12k]\n", | |
| "[146/2093, 01:40/01:30:16] install: bigintcalc [7k]\n", | |
| "[147/2093, 01:40/01:30:05] install: bigints [2k]\n", | |
| "[148/2093, 01:41/01:30:57] install: bilingualpages [1k]\n", | |
| "[149/2093, 01:42/01:31:50] install: binarytree [6k]\n", | |
| "[150/2093, 01:42/01:31:40] install: biochemistry-colors [3k]\n", | |
| "[151/2093, 01:43/01:32:29] install: bithesis [24k]\n", | |
| "[152/2093, 01:44/01:32:41] install: bitset [6k]\n", | |
| "[153/2093, 01:44/01:32:32] install: bizcard [2k]\n", | |
| "[154/2093, 01:46/01:34:15] install: blindtext [11k]\n", | |
| "[155/2093, 01:46/01:33:57] install: blkarray [19k]\n", | |
| "[156/2093, 01:47/01:34:18] install: blochsphere [4k]\n", | |
| "[157/2093, 01:47/01:34:12] install: block [1k]\n", | |
| "[158/2093, 01:48/01:35:03] install: bloques [2k]\n", | |
| "[159/2093, 01:48/01:35:00] install: blowup [3k]\n", | |
| "[160/2093, 01:49/01:35:48] install: blox [3k]\n", | |
| "[161/2093, 01:49/01:35:44] install: bnumexpr [5k]\n", | |
| "[162/2093, 01:50/01:36:29] install: bodegraph [16k]\n", | |
| "[163/2093, 01:51/01:36:54] install: boites [5k]\n", | |
| "[164/2093, 01:51/01:36:47] install: bold-extra [2k]\n", | |
| "[165/2093, 01:52/01:37:36] install: bondgraph [2k]\n", | |
| "[166/2093, 01:53/01:38:26] install: bondgraphs [3k]\n", | |
| "[167/2093, 01:54/01:39:14] install: book-of-common-prayer [3k]\n", | |
| "[168/2093, 01:54/01:39:09] install: bookcover [7k]\n", | |
| "[169/2093, 01:55/01:39:49] install: bookest [5k]\n", | |
| "[170/2093, 01:56/01:40:33] install: booklet [4k]\n", | |
| "[171/2093, 01:57/01:41:20] install: bookmark [8k]\n", | |
| "[172/2093, 01:57/01:41:05] install: bookshelf.x86_64-linux [1k]\n", | |
| "[173/2093, 01:58/01:41:57] install: bookshelf [8k]\n", | |
| "[174/2093, 01:59/01:42:34] install: booktabs [3k]\n", | |
| "[175/2093, 01:59/01:42:30] install: boolexpr [3k]\n", | |
| "[176/2093, 02:00/01:43:17] install: bophook [2k]\n", | |
| "[177/2093, 02:00/01:43:13] install: boxedminipage [2k]\n", | |
| "[178/2093, 02:01/01:44:02] install: boxhandler [6k]\n", | |
| "[179/2093, 02:02/01:44:44] install: bracketkey [2k]\n", | |
| "[180/2093, 02:02/01:44:41] install: braids [9k]\n", | |
| "[181/2093, 02:03/01:45:17] install: braket [2k]\n", | |
| "[182/2093, 02:03/01:45:13] install: breakurl [4k]\n", | |
| "[183/2093, 02:04/01:45:59] install: breqn [24k]\n", | |
| "[184/2093, 02:05/01:46:05] install: bubblesort [2k]\n", | |
| "[185/2093, 02:05/01:46:01] install: bullcntr [3k]\n", | |
| "[186/2093, 02:06/01:46:47] install: bxcalc [4k]\n", | |
| "[187/2093, 02:07/01:47:32] install: bxdpx-beamer [2k]\n", | |
| "[188/2093, 02:08/01:48:20] install: bxdvidriver [3k]\n", | |
| "[189/2093, 02:08/01:48:15] install: bxeepic [7k]\n", | |
| "[190/2093, 02:09/01:48:53] install: bxenclose [2k]\n", | |
| "[191/2093, 02:09/01:48:49] install: bxnewfont [5k]\n", | |
| "[192/2093, 02:10/01:49:31] install: bxpapersize [5k]\n", | |
| "[193/2093, 02:11/01:50:12] install: bxpdfver [9k]\n", | |
| "[194/2093, 02:11/01:49:56] install: bxtexlogo [7k]\n", | |
| "[195/2093, 02:12/01:50:34] install: byo-twemojis [41k]\n", | |
| "[196/2093, 02:13/01:50:06] install: byrne [25k]\n", | |
| "[197/2093, 02:14/01:50:10] install: cachepic.x86_64-linux [1k]\n", | |
| "[198/2093, 02:14/01:50:09] install: cachepic [5k]\n", | |
| "[199/2093, 02:15/01:50:50] install: calcage [2k]\n", | |
| "[200/2093, 02:16/01:51:37] install: calctab [5k]\n", | |
| "[201/2093, 02:17/01:52:17] install: calculator [10k]\n", | |
| "[202/2093, 02:17/01:51:58] install: calculatoritems [7k]\n", | |
| "[203/2093, 02:18/01:52:35] install: callouts [2k]\n", | |
| "[204/2093, 02:19/01:53:21] install: callouts-box [2k]\n", | |
| "[205/2093, 02:20/01:54:07] install: calrsfs [1k]\n", | |
| "[206/2093, 02:20/01:54:05] install: cals [5k]\n", | |
| "[207/2093, 02:21/01:54:45] install: calxxxx-yyyy [7k]\n", | |
| "[208/2093, 02:22/01:55:21] install: cancel [3k]\n", | |
| "[209/2093, 02:22/01:55:16] install: canoniclayout [3k]\n", | |
| "[210/2093, 02:23/01:55:59] install: capt-of [2k]\n", | |
| "[211/2093, 02:23/01:55:57] install: captcont [3k]\n", | |
| "[212/2093, 02:24/01:56:41] install: captdef [2k]\n", | |
| "[213/2093, 02:25/01:57:28] install: caption [61k]\n", | |
| "[214/2093, 02:25/01:55:30] install: carbohydrates [6k]\n", | |
| "[215/2093, 02:26/01:56:08] install: carlisle [9k]\n", | |
| "[216/2093, 02:27/01:56:40] install: cases [4k]\n", | |
| "[217/2093, 02:28/01:57:19] install: casyl [6k]\n", | |
| "[218/2093, 02:29/01:57:56] install: catchfile [3k]\n", | |
| "[219/2093, 02:30/01:58:38] install: catchfilebetweentags [2k]\n", | |
| "[220/2093, 02:31/01:59:22] install: catechis [2k]\n", | |
| "[221/2093, 02:31/01:59:19] install: catoptions [38k]\n", | |
| "[222/2093, 02:32/01:58:53] install: catppuccinpalette [4k]\n", | |
| "[223/2093, 02:33/01:59:33] install: cbcoptic [99k]\n", | |
| "[224/2093, 02:33/01:56:27] install: ccaption [6k]\n", | |
| "[225/2093, 02:34/01:57:02] install: cclicenses [2k]\n", | |
| "[226/2093, 02:35/01:57:45] install: cd [5k]\n", | |
| "[227/2093, 02:36/01:58:23] install: cd-cover [4k]\n", | |
| "[228/2093, 02:36/01:58:15] install: cdcmd [4k]\n", | |
| "[229/2093, 02:37/01:58:54] install: cdpbundl [19k]\n", | |
| "[230/2093, 02:38/01:59:05] install: cellprops [7k]\n", | |
| "[231/2093, 02:38/01:58:52] install: cellspace [3k]\n", | |
| "[232/2093, 02:39/01:59:32] install: celtic [4k]\n", | |
| "[233/2093, 02:40/02:00:11] install: censor [4k]\n", | |
| "[234/2093, 02:40/02:00:05] install: centeredline [2k]\n", | |
| "[235/2093, 02:41/02:00:48] install: centerlastline [2k]\n", | |
| "[236/2093, 02:42/02:01:31] install: changebar [7k]\n", | |
| "[237/2093, 02:43/02:02:03] install: changelayout [4k]\n", | |
| "[238/2093, 02:44/02:02:40] install: changelog [4k]\n", | |
| "[239/2093, 02:44/02:02:34] install: changepage [3k]\n", | |
| "[240/2093, 02:45/02:03:14] install: changes [9k]\n", | |
| "[241/2093, 02:46/02:03:43] install: chappg [2k]\n", | |
| "[242/2093, 02:47/02:04:24] install: chapterfolder [2k]\n", | |
| "[243/2093, 02:47/02:04:21] install: cheatsheet [3k]\n", | |
| "[244/2093, 02:48/02:05:01] install: checkend [2k]\n", | |
| "[245/2093, 02:49/02:05:42] install: chemfig [27k]\n", | |
| "[246/2093, 02:49/02:04:50] install: chet [6k]\n", | |
| "[247/2093, 02:50/02:05:24] install: chextras [5k]\n", | |
| "[248/2093, 02:51/02:05:59] install: childdoc [2k]\n", | |
| "[249/2093, 02:52/02:06:41] install: chkfloat [2k]\n", | |
| "[250/2093, 02:52/02:06:39] install: chletter [4k]\n", | |
| "[251/2093, 02:53/02:07:16] install: chngcntr [3k]\n", | |
| "[252/2093, 02:54/02:07:56] install: chronology [2k]\n", | |
| "[253/2093, 02:55/02:08:36] install: chronos [37k]\n", | |
| "[254/2093, 02:55/02:07:24] install: circ [24k]\n", | |
| "[255/2093, 02:56/02:07:23] install: circledsteps [2k]\n", | |
| "[256/2093, 02:57/02:08:03] install: circledtext [7k]\n", | |
| "[257/2093, 02:57/02:07:50] install: circuit-macros [2k]\n", | |
| "[258/2093, 02:58/02:08:31] install: circuitikz [226k]\n", | |
| "[259/2093, 02:59/02:02:17] install: circularglyphs [3k]\n", | |
| "[260/2093, 02:59/02:02:13] install: cistercian [3k]\n", | |
| "[261/2093, 03:00/02:02:50] install: cite [20k]\n", | |
| "[262/2093, 03:01/02:02:56] install: classics [2k]\n", | |
| "[263/2093, 03:02/02:03:34] install: classpack [3k]\n", | |
| "[264/2093, 03:02/02:03:30] install: clefval [2k]\n", | |
| "[265/2093, 03:03/02:04:08] install: cleveref [28k]\n", | |
| "[266/2093, 03:04/02:04:00] install: cleveref-forward [6k]\n", | |
| "[267/2093, 03:05/02:04:30] install: cleveref-usedon [4k]\n", | |
| "[268/2093, 03:05/02:04:23] install: clicks [2k]\n", | |
| "[269/2093, 03:06/02:05:01] install: clipboard [2k]\n", | |
| "[270/2093, 03:06/02:04:59] install: clistmap [6k]\n", | |
| "[271/2093, 03:07/02:05:29] install: clock [3k]\n", | |
| "[272/2093, 03:08/02:06:05] install: clrdblpg [2k]\n", | |
| "[273/2093, 03:09/02:06:43] install: clrstrip [2k]\n", | |
| "[274/2093, 03:09/02:06:40] install: cm-super [63050k]\n", | |
| "[275/2093, 03:16/08:21] install: cmap [6k]\n", | |
| "[276/2093, 03:16/08:21] install: cmdstring [1k]\n", | |
| "[277/2093, 03:17/08:24] install: cmdtrack [3k]\n", | |
| "[278/2093, 03:18/08:26] install: cmsd [2k]\n", | |
| "[279/2093, 03:19/08:29] install: cnltx [35k]\n", | |
| "[280/2093, 03:19/08:29] install: cntformats [3k]\n", | |
| "[281/2093, 03:20/08:31] install: cntperchap [4k]\n", | |
| "[282/2093, 03:20/08:31] install: codebox [4k]\n", | |
| "[283/2093, 03:21/08:34] install: codedescribe [14k]\n", | |
| "[284/2093, 03:22/08:36] install: codedoc [10k]\n", | |
| "[285/2093, 03:22/08:36] install: codehigh [7k]\n", | |
| "[286/2093, 03:23/08:39] install: codepage [11k]\n", | |
| "[287/2093, 03:23/08:39] install: codesection [3k]\n", | |
| "[288/2093, 03:24/08:41] install: coffeestains [85k]\n", | |
| "[289/2093, 03:25/08:43] install: collcell [3k]\n", | |
| "[290/2093, 03:26/08:46] install: collectbox [3k]\n", | |
| "[291/2093, 03:27/08:48] install: colophon [2k]\n", | |
| "[292/2093, 03:27/08:48] install: color-edits [2k]\n", | |
| "[293/2093, 03:28/08:51] install: colorblind [4k]\n", | |
| "[294/2093, 03:28/08:51] install: colordoc [3k]\n", | |
| "[295/2093, 03:29/08:53] install: coloredbelts [25k]\n", | |
| "[296/2093, 03:29/08:53] install: colorframed [3k]\n", | |
| "[297/2093, 03:30/08:55] install: colorinfo [2k]\n", | |
| "[298/2093, 03:31/08:58] install: coloring [2k]\n", | |
| "[299/2093, 03:32/09:01] install: colorist [12k]\n", | |
| "[300/2093, 03:32/09:00] install: colorspace [7k]\n", | |
| "[301/2093, 03:33/09:03] install: colortab [8k]\n", | |
| "[302/2093, 03:33/09:03] install: colortbl [4k]\n", | |
| "[303/2093, 03:34/09:05] install: colorwav [2k]\n", | |
| "[304/2093, 03:35/09:08] install: colorweb [3k]\n", | |
| "[305/2093, 03:35/09:08] install: colourchange [3k]\n", | |
| "[306/2093, 03:36/09:10] install: combelow [2k]\n", | |
| "[307/2093, 03:37/09:13] install: combine [11k]\n", | |
| "[308/2093, 03:38/09:15] install: combinedgraphics [4k]\n", | |
| "[309/2093, 03:38/09:15] install: comma [2k]\n", | |
| "[310/2093, 03:39/09:18] install: commado [3k]\n", | |
| "[311/2093, 03:40/09:21] install: commalists-tools [2k]\n", | |
| "[312/2093, 03:41/09:23] install: commedit [4k]\n", | |
| "[313/2093, 03:41/09:23] install: comment [5k]\n", | |
| "[314/2093, 03:42/09:26] install: commonunicode [6k]\n", | |
| "[315/2093, 03:42/09:26] install: competences [3k]\n", | |
| "[316/2093, 03:43/09:28] install: concepts [7k]\n", | |
| "[317/2093, 03:44/09:31] install: concprog [5k]\n", | |
| "[318/2093, 03:44/09:30] install: conditext [7k]\n", | |
| "[319/2093, 03:45/09:33] install: constants [3k]\n", | |
| "[320/2093, 03:46/09:36] install: continue [3k]\n", | |
| "[321/2093, 03:46/09:35] install: contour [3k]\n", | |
| "[322/2093, 03:47/09:38] install: contracard [6k]\n", | |
| "[323/2093, 03:48/09:41] install: conv-xkv [3k]\n", | |
| "[324/2093, 03:48/09:41] install: cooking [2k]\n", | |
| "[325/2093, 03:49/09:43] install: cooking-units [23k]\n", | |
| "[326/2093, 03:50/09:45] install: cool [10k]\n", | |
| "[327/2093, 03:50/09:45] install: coolfn [2k]\n", | |
| "[328/2093, 03:51/09:48] install: coollist [3k]\n", | |
| "[329/2093, 03:52/09:50] install: coolstr [3k]\n", | |
| "[330/2093, 03:52/09:50] install: coolthms [3k]\n", | |
| "[331/2093, 03:53/09:53] install: cooltooltips [3k]\n", | |
| "[332/2093, 03:53/09:53] install: coop-writing [5k]\n", | |
| "[333/2093, 03:54/09:55] install: coordsys [5k]\n", | |
| "[334/2093, 03:54/09:55] install: copyedit [4k]\n", | |
| "[335/2093, 03:55/09:58] install: copyrightbox [2k]\n", | |
| "[336/2093, 03:55/09:58] install: coseoul [1k]\n", | |
| "[337/2093, 03:56/10:00] install: count1to [2k]\n", | |
| "[338/2093, 03:57/10:03] install: counterz [3k]\n", | |
| "[339/2093, 03:57/10:03] install: counttexruns [1k]\n", | |
| "[340/2093, 03:58/10:05] install: courseoutline [4k]\n", | |
| "[341/2093, 03:58/10:05] install: coursepaper [5k]\n", | |
| "[342/2093, 03:59/10:08] install: coverpage [4k]\n", | |
| "[343/2093, 04:00/10:10] install: cprotect [3k]\n", | |
| "[344/2093, 04:01/10:13] install: cprotectinside [2k]\n", | |
| "[345/2093, 04:01/10:13] install: crbox [2k]\n", | |
| "[346/2093, 04:02/10:15] install: create-theorem [16k]\n", | |
| "[347/2093, 04:03/10:18] install: creationboites [3k]\n", | |
| "[348/2093, 04:03/10:18] install: crefthe [5k]\n", | |
| "[349/2093, 04:04/10:20] install: crop [5k]\n", | |
| "[350/2093, 04:04/10:20] install: crossreference [2k]\n", | |
| "[351/2093, 04:05/10:23] install: crossreftools [4k]\n", | |
| "[352/2093, 04:05/10:23] install: crumbs [3k]\n", | |
| "[353/2093, 04:06/10:25] install: csquotes [18k]\n", | |
| "[354/2093, 04:07/10:28] install: css-colors [3k]\n", | |
| "[355/2093, 04:08/10:30] install: csvmerge [3k]\n", | |
| "[356/2093, 04:09/10:33] install: csvsimple [12k]\n", | |
| "[357/2093, 04:09/10:33] install: ctable [4k]\n", | |
| "[358/2093, 04:10/10:35] install: cuisine [3k]\n", | |
| "[359/2093, 04:10/10:35] install: currency [2k]\n", | |
| "[360/2093, 04:11/10:38] install: currfile [4k]\n", | |
| "[361/2093, 04:11/10:38] install: curriculum-vitae [2k]\n", | |
| "[362/2093, 04:12/10:40] install: currvita [3k]\n", | |
| "[363/2093, 04:13/10:43] install: curve [7k]\n", | |
| "[364/2093, 04:13/10:43] install: curve2e [11k]\n", | |
| "[365/2093, 04:14/10:45] install: curves [6k]\n", | |
| "[366/2093, 04:14/10:45] install: customenvs [222k]\n", | |
| "[367/2093, 04:15/10:45] install: cutwin [3k]\n", | |
| "[368/2093, 04:15/10:45] install: cv [1k]\n", | |
| "[369/2093, 04:16/10:48] install: cv4tw [6k]\n", | |
| "[370/2093, 04:17/10:50] install: cweb-latex [36k]\n", | |
| "[371/2093, 04:18/10:53] install: cyber [4k]\n", | |
| "[372/2093, 04:18/10:53] install: cybercic [3k]\n", | |
| "[373/2093, 04:19/10:55] install: darkmode [2k]\n", | |
| "[374/2093, 04:20/10:58] install: dashbox [2k]\n", | |
| "[375/2093, 04:20/10:58] install: dashrule [2k]\n", | |
| "[376/2093, 04:21/11:00] install: dashrulex [2k]\n", | |
| "[377/2093, 04:21/11:00] install: dashundergaps [4k]\n", | |
| "[378/2093, 04:22/11:03] install: dataref [8k]\n", | |
| "[379/2093, 04:23/11:05] install: datatool [160k]\n", | |
| "[380/2093, 04:24/11:06] install: datatool-english [8k]\n", | |
| "[381/2093, 04:25/11:08] install: datatool-regions [7k]\n", | |
| "[382/2093, 04:25/11:08] install: datax [2k]\n", | |
| "[383/2093, 04:26/11:11] install: dateiliste [5k]\n", | |
| "[384/2093, 04:26/11:11] install: datenumber [4k]\n", | |
| "[385/2093, 04:27/11:13] install: datestamp [2k]\n", | |
| "[386/2093, 04:27/11:13] install: datetime [14k]\n", | |
| "[387/2093, 04:28/11:16] install: datetime2 [9k]\n", | |
| "[388/2093, 04:29/11:18] install: datetime2-bahasai [3k]\n", | |
| "[389/2093, 04:29/11:18] install: datetime2-basque [3k]\n", | |
| "[390/2093, 04:30/11:21] install: datetime2-breton [3k]\n", | |
| "[391/2093, 04:30/11:21] install: datetime2-bulgarian [3k]\n", | |
| "[392/2093, 04:31/11:23] install: datetime2-catalan [3k]\n", | |
| "[393/2093, 04:32/11:26] install: datetime2-croatian [3k]\n", | |
| "[394/2093, 04:33/11:28] install: datetime2-czech [3k]\n", | |
| "[395/2093, 04:33/11:28] install: datetime2-danish [3k]\n", | |
| "[396/2093, 04:34/11:31] install: datetime2-dutch [3k]\n", | |
| "[397/2093, 04:35/11:33] install: datetime2-en-fulltext [3k]\n", | |
| "[398/2093, 04:35/11:33] install: datetime2-english [6k]\n", | |
| "[399/2093, 04:36/11:35] install: datetime2-esperanto [3k]\n", | |
| "[400/2093, 04:36/11:35] install: datetime2-estonian [3k]\n", | |
| "[401/2093, 04:37/11:38] install: datetime2-finnish [3k]\n", | |
| "[402/2093, 04:38/11:40] install: datetime2-french [3k]\n", | |
| "[403/2093, 04:38/11:40] install: datetime2-galician [3k]\n", | |
| "[404/2093, 04:39/11:43] install: datetime2-german [4k]\n", | |
| "[405/2093, 04:39/11:43] install: datetime2-greek [3k]\n", | |
| "[406/2093, 04:40/11:45] install: datetime2-hebrew [3k]\n", | |
| "[407/2093, 04:41/11:48] install: datetime2-icelandic [3k]\n", | |
| "[408/2093, 04:41/11:48] install: datetime2-irish [3k]\n", | |
| "[409/2093, 04:42/11:50] install: datetime2-it-fulltext [4k]\n", | |
| "[410/2093, 04:43/11:53] install: datetime2-italian [3k]\n", | |
| "[411/2093, 04:44/11:55] install: datetime2-latin [3k]\n", | |
| "[412/2093, 04:45/11:58] install: datetime2-lsorbian [3k]\n", | |
| "[413/2093, 04:45/11:58] install: datetime2-magyar [3k]\n", | |
| "[414/2093, 04:46/12:00] install: datetime2-norsk [3k]\n", | |
| "[415/2093, 04:46/12:00] install: datetime2-polish [3k]\n", | |
| "[416/2093, 04:47/12:03] install: datetime2-portuges [3k]\n", | |
| "[417/2093, 04:47/12:03] install: datetime2-romanian [3k]\n", | |
| "[418/2093, 04:47/12:03] install: datetime2-russian [3k]\n", | |
| "[419/2093, 04:48/12:05] install: datetime2-samin [3k]\n", | |
| "[420/2093, 04:49/12:08] install: datetime2-scottish [3k]\n", | |
| "[421/2093, 04:50/12:10] install: datetime2-serbian [7k]\n", | |
| "[422/2093, 04:50/12:10] install: datetime2-slovak [3k]\n", | |
| "[423/2093, 04:51/12:13] install: datetime2-slovene [3k]\n", | |
| "[424/2093, 04:51/12:13] install: datetime2-spanish [3k]\n", | |
| "[425/2093, 04:52/12:15] install: datetime2-swedish [3k]\n", | |
| "[426/2093, 04:52/12:15] install: datetime2-turkish [3k]\n", | |
| "[427/2093, 04:53/12:18] install: datetime2-ukrainian [4k]\n", | |
| "[428/2093, 04:53/12:17] install: datetime2-usorbian [3k]\n", | |
| "[429/2093, 04:54/12:20] install: datetime2-welsh [3k]\n", | |
| "[430/2093, 04:55/12:22] install: dblfloatfix [3k]\n", | |
| "[431/2093, 04:55/12:22] install: dbshow [7k]\n", | |
| "[432/2093, 04:56/12:25] install: dcpic [14k]\n", | |
| "[433/2093, 04:56/12:25] install: debate [2k]\n", | |
| "[434/2093, 04:57/12:27] install: decimal [2k]\n", | |
| "[435/2093, 04:57/12:27] install: decimalcomma [2k]\n", | |
| "[436/2093, 04:58/12:30] install: decorule [2k]\n", | |
| "[437/2093, 04:59/12:32] install: defoldfonts [2k]\n", | |
| "[438/2093, 05:00/12:35] install: delimtxt [2k]\n", | |
| "[439/2093, 05:01/12:37] install: democodetools [8k]\n", | |
| "[440/2093, 05:01/12:37] install: denisbdoc [16k]\n", | |
| "[441/2093, 05:02/12:39] install: diabetes-logbook [7k]\n", | |
| "[442/2093, 05:03/12:42] install: diagbox [4k]\n", | |
| "[443/2093, 05:03/12:42] install: diagmac2 [11k]\n", | |
| "[444/2093, 05:04/12:44] install: diagnose [1k]\n", | |
| "[445/2093, 05:04/12:44] install: dialogl [22k]\n", | |
| "[446/2093, 05:05/12:47] install: dichokey [2k]\n", | |
| "[447/2093, 05:06/12:49] install: didactic [5k]\n", | |
| "[448/2093, 05:07/12:51] install: didec [5k]\n", | |
| "[449/2093, 05:08/12:54] install: dimnum [3k]\n", | |
| "[450/2093, 05:08/12:54] install: dinbrief [13k]\n", | |
| "[451/2093, 05:09/12:56] install: directory [12k]\n", | |
| "[452/2093, 05:10/12:59] install: dirtytalk [2k]\n", | |
| "[453/2093, 05:11/13:01] install: ditaa [2k]\n", | |
| "[454/2093, 05:11/13:01] install: dlfltxb [22k]\n", | |
| "[455/2093, 05:12/13:03] install: dnaseq [2k]\n", | |
| "[456/2093, 05:13/13:06] install: doc-pictex [1k]\n", | |
| "[457/2093, 05:14/13:08] install: doclicense [232k]\n", | |
| "[458/2093, 05:15/13:08] install: docmfp [2k]\n", | |
| "[459/2093, 05:15/13:08] install: docmute [1k]\n", | |
| "[460/2093, 05:16/13:11] install: docshots [3k]\n", | |
| "[461/2093, 05:17/13:13] install: doctools [6k]\n", | |
| "[462/2093, 05:18/13:16] install: documentation [2k]\n", | |
| "[463/2093, 05:19/13:18] install: docutils [3k]\n", | |
| "[464/2093, 05:19/13:18] install: doi [3k]\n", | |
| "[465/2093, 05:19/13:18] install: doibanner [2k]\n", | |
| "[466/2093, 05:20/13:21] install: dot2texi [4k]\n", | |
| "[467/2093, 05:21/13:23] install: dotarrow [2k]\n", | |
| "[468/2093, 05:21/13:23] install: dotlessi [2k]\n", | |
| "[469/2093, 05:22/13:26] install: dotseqn [2k]\n", | |
| "[470/2093, 05:23/13:28] install: dottex [3k]\n", | |
| "[471/2093, 05:23/13:28] install: download [2k]\n", | |
| "[472/2093, 05:24/13:30] install: dox [3k]\n", | |
| "[473/2093, 05:25/13:33] install: dpcircling [3k]\n", | |
| "[474/2093, 05:26/13:35] install: dpfloat [2k]\n", | |
| "[475/2093, 05:27/13:38] install: dprogress [2k]\n", | |
| "[476/2093, 05:28/13:40] install: drac [2k]\n", | |
| "[477/2093, 05:28/13:40] install: draftcopy [5k]\n", | |
| "[478/2093, 05:29/13:43] install: draftfigure [2k]\n", | |
| "[479/2093, 05:29/13:43] install: draftwatermark [3k]\n", | |
| "[480/2093, 05:30/13:45] install: dratex [45k]\n", | |
| "[481/2093, 05:31/13:47] install: drs [5k]\n", | |
| "[482/2093, 05:32/13:50] install: dtk [15k]\n", | |
| "[483/2093, 05:32/13:49] install: dtxdescribe [8k]\n", | |
| "[484/2093, 05:33/13:52] install: dtxgallery [1k]\n", | |
| "[485/2093, 05:33/13:52] install: ducksay [10k]\n", | |
| "[486/2093, 05:34/13:54] install: duckuments [474k]\n", | |
| "[487/2093, 05:35/13:51] install: duotenzor [6k]\n", | |
| "[488/2093, 05:36/13:53] install: dvdcoll [16k]\n", | |
| "[489/2093, 05:36/13:53] install: dvipng.x86_64-linux [486k]\n", | |
| "[490/2093, 05:38/13:52] install: dvipng [1k]\n", | |
| "[491/2093, 05:39/13:55] install: dvisvgm.x86_64-linux [1911k]\n", | |
| "[492/2093, 05:40/13:35] install: dvisvgm [1k]\n", | |
| "[493/2093, 05:40/13:35] install: dynamicnumber [2k]\n", | |
| "[494/2093, 05:41/13:37] install: dynblocks [3k]\n", | |
| "[495/2093, 05:42/13:40] install: dynkin-diagrams [21k]\n", | |
| "[496/2093, 05:43/13:42] install: ean13isbn [2k]\n", | |
| "[497/2093, 05:44/13:44] install: easy [13k]\n", | |
| "[498/2093, 05:44/13:44] install: easy-todo [2k]\n", | |
| "[499/2093, 05:45/13:47] install: easybook [20k]\n", | |
| "[500/2093, 05:45/13:46] install: easyfig [2k]\n", | |
| "[501/2093, 05:46/13:49] install: easyfloats [10k]\n", | |
| "[502/2093, 05:47/13:51] install: easyformat [3k]\n", | |
| "[503/2093, 05:48/13:53] install: easylist [6k]\n", | |
| "[504/2093, 05:49/13:56] install: easyreview [2k]\n", | |
| "[505/2093, 05:49/13:56] install: ebezier [4k]\n", | |
| "[506/2093, 05:50/13:58] install: ecclesiastic [3k]\n", | |
| "[507/2093, 05:51/14:00] install: ecgdraw [4k]\n", | |
| "[508/2093, 05:51/14:00] install: econlipsum [79k]\n", | |
| "[509/2093, 05:52/14:02] install: ecv [4k]\n", | |
| "[510/2093, 05:53/14:04] install: ed [3k]\n", | |
| "[511/2093, 05:53/14:04] install: edichokey [2k]\n", | |
| "[512/2093, 05:54/14:07] install: edmargin [5k]\n", | |
| "[513/2093, 05:55/14:09] install: eemeir [2k]\n", | |
| "[514/2093, 05:55/14:09] install: eepic [12k]\n", | |
| "[515/2093, 05:56/14:11] install: efbox [2k]\n", | |
| "[516/2093, 05:56/14:11] install: egpeirce [21k]\n", | |
| "[517/2093, 05:57/14:13] install: egplot [4k]\n", | |
| "[518/2093, 05:58/14:16] install: ehhline [2k]\n", | |
| "[519/2093, 05:59/14:18] install: einfart [6k]\n", | |
| "[520/2093, 06:00/14:20] install: elements [9k]\n", | |
| "[521/2093, 06:00/14:20] install: ellipse [3k]\n", | |
| "[522/2093, 06:01/14:23] install: ellipsis [2k]\n", | |
| "[523/2093, 06:02/14:25] install: elmath [3k]\n", | |
| "[524/2093, 06:03/14:27] install: elocalloc [2k]\n", | |
| "[525/2093, 06:04/14:30] install: elpres [74k]\n", | |
| "[526/2093, 06:05/14:31] install: elzcards [6k]\n", | |
| "[527/2093, 06:06/14:34] install: emarks [2k]\n", | |
| "[528/2093, 06:06/14:34] install: embedall [2k]\n", | |
| "[529/2093, 06:06/14:34] install: embedfile [6k]\n", | |
| "[530/2093, 06:07/14:36] install: embrac [4k]\n", | |
| "[531/2093, 06:08/14:38] install: emo [117k]\n", | |
| "[532/2093, 06:09/14:39] install: emotion [2k]\n", | |
| "[533/2093, 06:10/14:42] install: emptypage [2k]\n", | |
| "[534/2093, 06:10/14:41] install: emulateapj [18k]\n", | |
| "[535/2093, 06:11/14:44] install: endfloat [5k]\n", | |
| "[536/2093, 06:12/14:46] install: endheads [3k]\n", | |
| "[537/2093, 06:12/14:46] install: endnotes [6k]\n", | |
| "[538/2093, 06:13/14:48] install: endnotes-hy [2k]\n", | |
| "[539/2093, 06:13/14:48] install: endofproofwd [2k]\n", | |
| "[540/2093, 06:14/14:51] install: engpron [4k]\n", | |
| "[541/2093, 06:14/14:51] install: engrec [2k]\n", | |
| "[542/2093, 06:15/14:53] install: enotez [8k]\n", | |
| "[543/2093, 06:16/14:55] install: ensps-colorscheme [2k]\n", | |
| "[544/2093, 06:16/14:55] install: enumext [26k]\n", | |
| "[545/2093, 06:17/14:57] install: enumitem [14k]\n", | |
| "[546/2093, 06:18/14:59] install: enumitem-zref [8k]\n", | |
| "[547/2093, 06:18/14:59] install: envbig [2k]\n", | |
| "[548/2093, 06:19/15:02] install: enverb [4k]\n", | |
| "[549/2093, 06:19/15:02] install: environ [2k]\n", | |
| "[550/2093, 06:20/15:04] install: envlab [6k]\n", | |
| "[551/2093, 06:21/15:06] install: epcqrcode [5k]\n", | |
| "[552/2093, 06:21/15:06] install: epigraph [2k]\n", | |
| "[553/2093, 06:22/15:09] install: epigraph-keys [2k]\n", | |
| "[554/2093, 06:23/15:11] install: epiolmec [107k]\n", | |
| "[555/2093, 06:24/15:12] install: epspdf.x86_64-linux [1k]\n", | |
| "[556/2093, 06:25/15:14] install: epspdf [32k]\n", | |
| "[557/2093, 06:26/15:16] install: epspdfconversion [4k]\n", | |
| "[558/2093, 06:26/15:16] install: epstopdf.x86_64-linux [1k]\n", | |
| "[559/2093, 06:27/15:19] install: epstopdf [15k]\n", | |
| "[560/2093, 06:28/15:21] install: epstopdf-pkg [5k]\n", | |
| "[561/2093, 06:28/15:21] install: eq-pin2corr [4k]\n", | |
| "[562/2093, 06:29/15:23] install: eqell [1k]\n", | |
| "[563/2093, 06:30/15:26] install: eqlist [2k]\n", | |
| "[564/2093, 06:31/15:28] install: eqnalign [2k]\n", | |
| "[565/2093, 06:32/15:30] install: eqname [1k]\n", | |
| "[566/2093, 06:32/15:30] install: eqparbox [3k]\n", | |
| "[567/2093, 06:33/15:33] install: errata [2k]\n", | |
| "[568/2093, 06:33/15:33] install: erw-l3 [4k]\n", | |
| "[569/2093, 06:34/15:35] install: esami [21k]\n", | |
| "[570/2093, 06:34/15:35] install: esdiff [2k]\n", | |
| "[571/2093, 06:35/15:37] install: esieecv [2k]\n", | |
| "[572/2093, 06:35/15:37] install: esindex [4k]\n", | |
| "[573/2093, 06:36/15:39] install: esint [6k]\n", | |
| "[574/2093, 06:37/15:42] install: esint-type1 [31k]\n", | |
| "[575/2093, 06:38/15:44] install: esk [4k]\n", | |
| "[576/2093, 06:39/15:46] install: eso-pic [4k]\n", | |
| "[577/2093, 06:39/15:46] install: etaremune [2k]\n", | |
| "[578/2093, 06:40/15:48] install: etexcmds [3k]\n", | |
| "[579/2093, 06:41/15:51] install: etextools [12k]\n", | |
| "[580/2093, 06:42/15:53] install: etl [5k]\n", | |
| "[581/2093, 06:43/15:55] install: etoc [14k]\n", | |
| "[582/2093, 06:43/15:55] install: etoolbox [9k]\n", | |
| "[583/2093, 06:44/15:57] install: euenc [4k]\n", | |
| "[584/2093, 06:45/16:00] install: euflag [2k]\n", | |
| "[585/2093, 06:45/16:00] install: eukdate [2k]\n", | |
| "[586/2093, 06:46/16:02] install: euler [4k]\n", | |
| "[587/2093, 06:47/16:04] install: eulerpx [3k]\n", | |
| "[588/2093, 06:47/16:04] install: euromoney [2322k]\n", | |
| "[589/2093, 06:49/15:39] install: europasscv [30k]\n", | |
| "[590/2093, 06:49/15:39] install: europecv [58k]\n", | |
| "[591/2093, 06:50/15:40] install: everyhook [3k]\n", | |
| "[592/2093, 06:50/15:40] install: everypage [2k]\n", | |
| "[593/2093, 06:51/15:42] install: everysel [3k]\n", | |
| "[594/2093, 06:52/15:45] install: everyshi [2k]\n", | |
| "[595/2093, 06:52/15:45] install: exam [50k]\n", | |
| "[596/2093, 06:53/15:46] install: exam-lite [4k]\n", | |
| "[597/2093, 06:53/15:46] install: exam-n [14k]\n", | |
| "[598/2093, 06:54/15:48] install: exam-randomizechoices [6k]\n", | |
| "[599/2093, 06:54/15:48] install: examdesign [11k]\n", | |
| "[600/2093, 06:55/15:50] install: example [6k]\n", | |
| "[601/2093, 06:56/15:53] install: examplep [33k]\n", | |
| "[602/2093, 06:56/15:52] install: examz [3k]\n", | |
| "[603/2093, 06:57/15:55] install: exceltex.x86_64-linux [1k]\n", | |
| "[604/2093, 06:58/15:57] install: exceltex [7k]\n", | |
| "[605/2093, 06:58/15:57] install: excludeonly [2k]\n", | |
| "[606/2093, 06:59/15:59] install: exercise [8k]\n", | |
| "[607/2093, 06:59/15:59] install: exercisebank [9k]\n", | |
| "[608/2093, 07:00/16:01] install: exercisepoints [4k]\n", | |
| "[609/2093, 07:00/16:01] install: exercises [3k]\n", | |
| "[610/2093, 07:01/16:03] install: exercisesheets [13k]\n", | |
| "[611/2093, 07:02/16:05] install: exesheet [7k]\n", | |
| "[612/2093, 07:03/16:08] install: exframe [12k]\n", | |
| "[613/2093, 07:04/16:10] install: exp-testopt [2k]\n", | |
| "[614/2093, 07:05/16:12] install: expdlist [3k]\n", | |
| "[615/2093, 07:06/16:14] install: export [7k]\n", | |
| "[616/2093, 07:06/16:14] install: exsheets [24k]\n", | |
| "[617/2093, 07:07/16:16] install: exsol [4k]\n", | |
| "[618/2093, 07:08/16:18] install: extract [5k]\n", | |
| "[619/2093, 07:08/16:18] install: extsizes [12k]\n", | |
| "[620/2093, 07:09/16:21] install: ezedits [3k]\n", | |
| "[621/2093, 07:10/16:23] install: facsimile [5k]\n", | |
| "[622/2093, 07:10/16:23] install: factura [27k]\n", | |
| "[623/2093, 07:11/16:25] install: fadingimage [2k]\n", | |
| "[624/2093, 07:12/16:27] install: fail-fast [2k]\n", | |
| "[625/2093, 07:13/16:29] install: familytree [7k]\n", | |
| "[626/2093, 07:13/16:29] install: fancybox [8k]\n", | |
| "[627/2093, 07:14/16:31] install: fancyhandout [4k]\n", | |
| "[628/2093, 07:15/16:34] install: fancyhdr [9k]\n", | |
| "[629/2093, 07:15/16:33] install: fancylabel [6k]\n", | |
| "[630/2093, 07:16/16:36] install: fancynum [2k]\n", | |
| "[631/2093, 07:16/16:36] install: fancypar [3k]\n", | |
| "[632/2093, 07:17/16:38] install: fancyqr [5k]\n", | |
| "[633/2093, 07:18/16:40] install: fancyref [4k]\n", | |
| "[634/2093, 07:18/16:40] install: fancyslides [2k]\n", | |
| "[635/2093, 07:19/16:42] install: fancytabs [2k]\n", | |
| "[636/2093, 07:19/16:42] install: fancytooltips [9k]\n", | |
| "[637/2093, 07:20/16:44] install: fancyvrb [12k]\n", | |
| "[638/2093, 07:20/16:44] install: fast-diagram [5k]\n", | |
| "[639/2093, 07:21/16:47] install: fbox [2k]\n", | |
| "[640/2093, 07:22/16:49] install: fcolumn [5k]\n", | |
| "[641/2093, 07:23/16:51] install: fenetrecas [4k]\n", | |
| "[642/2093, 07:23/16:51] install: fetchcls [2k]\n", | |
| "[643/2093, 07:24/16:53] install: fewerfloatpages [3k]\n", | |
| "[644/2093, 07:25/16:55] install: ffcode [3k]\n", | |
| "[645/2093, 07:26/16:58] install: ffslides [5k]\n", | |
| "[646/2093, 07:26/16:58] install: fgruler [6k]\n", | |
| "[647/2093, 07:27/17:00] install: fifo-stack [3k]\n", | |
| "[648/2093, 07:27/17:00] install: fig4latex.x86_64-linux [1k]\n", | |
| "[649/2093, 07:28/17:02] install: fig4latex [3k]\n", | |
| "[650/2093, 07:28/17:02] install: figchild [284k]\n", | |
| "[651/2093, 07:29/17:01] install: figput [9k]\n", | |
| "[652/2093, 07:30/17:03] install: figsize [2k]\n", | |
| "[653/2093, 07:30/17:03] install: figureversions [4k]\n", | |
| "[654/2093, 07:31/17:05] install: filecontents [3k]\n", | |
| "[655/2093, 07:31/17:05] install: filecontentsdef [3k]\n", | |
| "[656/2093, 07:32/17:07] install: filedate [7k]\n", | |
| "[657/2093, 07:32/17:07] install: filehook [5k]\n", | |
| "[658/2093, 07:33/17:09] install: fileinfo [7k]\n", | |
| "[659/2093, 07:33/17:09] install: filemod [4k]\n", | |
| "[660/2093, 07:34/17:11] install: fillpages [3k]\n", | |
| "[661/2093, 07:35/17:14] install: fillwith [4k]\n", | |
| "[662/2093, 07:35/17:14] install: fink [3k]\n", | |
| "[663/2093, 07:36/17:16] install: finstrut [4k]\n", | |
| "[664/2093, 07:37/17:18] install: firstaid [5k]\n", | |
| "[665/2093, 07:37/17:18] install: fistrum [33k]\n", | |
| "[666/2093, 07:38/17:20] install: fitbox [3k]\n", | |
| "[667/2093, 07:38/17:20] install: fithesis [773k]\n", | |
| "[668/2093, 07:39/17:12] install: fix2col [3k]\n", | |
| "[669/2093, 07:40/17:14] install: fixcmex [2k]\n", | |
| "[670/2093, 07:41/17:16] install: fixfoot [4k]\n", | |
| "[671/2093, 07:41/17:16] install: fixme [9k]\n", | |
| "[672/2093, 07:42/17:18] install: fixmetodonotes [2k]\n", | |
| "[673/2093, 07:42/17:18] install: fjodor [2k]\n", | |
| "[674/2093, 07:43/17:20] install: flabels [3k]\n", | |
| "[675/2093, 07:44/17:23] install: flacards [3k]\n", | |
| "[676/2093, 07:44/17:22] install: flagderiv [3k]\n", | |
| "[677/2093, 07:45/17:25] install: flashcards [4k]\n", | |
| "[678/2093, 07:46/17:27] install: flashmovie [20k]\n", | |
| "[679/2093, 07:46/17:27] install: flexipage [4k]\n", | |
| "[680/2093, 07:47/17:29] install: flipbook [2k]\n", | |
| "[681/2093, 07:48/17:31] install: flippdf [2k]\n", | |
| "[682/2093, 07:49/17:33] install: float [3k]\n", | |
| "[683/2093, 07:49/17:33] install: floatbytocbasic [2k]\n", | |
| "[684/2093, 07:50/17:35] install: floatflt [3k]\n", | |
| "[685/2093, 07:50/17:35] install: floatrow [16k]\n", | |
| "[686/2093, 07:51/17:37] install: floatrowbytocbasic [3k]\n", | |
| "[687/2093, 07:51/17:37] install: flowchart [3k]\n", | |
| "[688/2093, 07:52/17:40] install: flowfram [24k]\n", | |
| "[689/2093, 07:52/17:39] install: fmp [2k]\n", | |
| "[690/2093, 07:53/17:42] install: fmtcount [27k]\n", | |
| "[691/2093, 07:54/17:43] install: fn2end [2k]\n", | |
| "[692/2093, 07:54/17:43] install: fnbreak [3k]\n", | |
| "[693/2093, 07:55/17:46] install: fncychap [5k]\n", | |
| "[694/2093, 07:56/17:48] install: fncylab [2k]\n", | |
| "[695/2093, 07:57/17:50] install: fnpara [4k]\n", | |
| "[696/2093, 07:57/17:50] install: fnpct [15k]\n", | |
| "[697/2093, 07:58/17:52] install: fnumprint [2k]\n", | |
| "[698/2093, 07:58/17:52] install: foilhtml [4k]\n", | |
| "[699/2093, 07:59/17:54] install: foliono [5k]\n", | |
| "[700/2093, 07:59/17:54] install: fontawesome5 [847k]\n", | |
| "[701/2093, 08:00/17:45] install: fontaxes [4k]\n", | |
| "[702/2093, 08:01/17:47] install: fontscale [9k]\n", | |
| "[703/2093, 08:02/17:49] install: fontsetup [9k]\n", | |
| "[704/2093, 08:02/17:49] install: fontsize [6k]\n", | |
| "[705/2093, 08:03/17:51] install: fontspec [27k]\n", | |
| "[706/2093, 08:04/17:53] install: fonttable [6k]\n", | |
| "[707/2093, 08:05/17:55] install: footmisc [8k]\n", | |
| "[708/2093, 08:05/17:55] install: footmisx [6k]\n", | |
| "[709/2093, 08:06/17:57] install: footnotebackref [2k]\n", | |
| "[710/2093, 08:06/17:57] install: footnotehyper [4k]\n", | |
| "[711/2093, 08:07/17:59] install: footnoterange [3k]\n", | |
| "[712/2093, 08:07/17:59] install: footnpag [8k]\n", | |
| "[713/2093, 08:08/18:01] install: forarray [5k]\n", | |
| "[714/2093, 08:09/18:03] install: foreign [2k]\n", | |
| "[715/2093, 08:10/18:06] install: forest [55k]\n", | |
| "[716/2093, 08:11/18:07] install: forloop [2k]\n", | |
| "[717/2093, 08:12/18:09] install: formlett [16k]\n", | |
| "[718/2093, 08:12/18:09] install: forms16be [3k]\n", | |
| "[719/2093, 08:13/18:11] install: formular [4k]\n", | |
| "[720/2093, 08:14/18:13] install: fp [19k]\n", | |
| "[721/2093, 08:14/18:13] install: fragments [3k]\n", | |
| "[722/2093, 08:15/18:15] install: frame [2k]\n", | |
| "[723/2093, 08:15/18:15] install: framed [8k]\n", | |
| "[724/2093, 08:16/18:17] install: framedsyntax [4k]\n", | |
| "[725/2093, 08:16/18:17] install: frankenstein [134k]\n", | |
| "[726/2093, 08:17/18:18] install: frege [5k]\n", | |
| "[727/2093, 08:18/18:20] install: froufrou [4k]\n", | |
| "[728/2093, 08:18/18:20] install: ftcap [2k]\n", | |
| "[729/2093, 08:19/18:22] install: ftnxtra [2k]\n", | |
| "[730/2093, 08:20/18:24] install: fullblck [2k]\n", | |
| "[731/2093, 08:20/18:24] install: fullminipage [2k]\n", | |
| "[732/2093, 08:21/18:26] install: fullwidth [4k]\n", | |
| "[733/2093, 08:21/18:26] install: functional [11k]\n", | |
| "[734/2093, 08:22/18:28] install: fundus-calligra [2k]\n", | |
| "[735/2093, 08:23/18:30] install: fundus-cyr [2k]\n", | |
| "[736/2093, 08:24/18:33] install: fundus-sueterlin [2k]\n", | |
| "[737/2093, 08:24/18:33] install: fvextra [17k]\n", | |
| "[738/2093, 08:25/18:35] install: fwlw [3k]\n", | |
| "[739/2093, 08:26/18:37] install: g-brief [5k]\n", | |
| "[740/2093, 08:27/18:39] install: gatherenum [2k]\n", | |
| "[741/2093, 08:27/18:39] install: gauss [17k]\n", | |
| "[742/2093, 08:28/18:41] install: gcard [2k]\n", | |
| "[743/2093, 08:29/18:43] install: gcite [2k]\n", | |
| "[744/2093, 08:29/18:43] install: gender [2k]\n", | |
| "[745/2093, 08:30/18:45] install: genealogy-profiles [7k]\n", | |
| "[746/2093, 08:31/18:47] install: genealogytree [36k]\n", | |
| "[747/2093, 08:32/18:49] install: genmpage [3k]\n", | |
| "[748/2093, 08:32/18:49] install: gensymb [3k]\n", | |
| "[749/2093, 08:33/18:51] install: geometry [9k]\n", | |
| "[750/2093, 08:34/18:53] install: getfiledate [3k]\n", | |
| "[751/2093, 08:35/18:55] install: getitems [2k]\n", | |
| "[752/2093, 08:35/18:55] install: getmap.x86_64-linux [1k]\n", | |
| "[753/2093, 08:36/18:58] install: getmap [8k]\n", | |
| "[754/2093, 08:37/19:00] install: gettitlestring [3k]\n", | |
| "[755/2093, 08:38/19:02] install: gincltex [2k]\n", | |
| "[756/2093, 08:39/19:04] install: gindex [3k]\n", | |
| "[757/2093, 08:40/19:06] install: ginpenc [3k]\n", | |
| "[758/2093, 08:40/19:06] install: gitfile-info [3k]\n", | |
| "[759/2093, 08:41/19:08] install: gitinfo [2k]\n", | |
| "[760/2093, 08:42/19:10] install: gitinfo2 [4k]\n", | |
| "[761/2093, 08:43/19:13] install: gitlog [3k]\n", | |
| "[762/2093, 08:43/19:13] install: gitstatus [2k]\n", | |
| "[763/2093, 08:44/19:15] install: gitver [3k]\n", | |
| "[764/2093, 08:45/19:17] install: globalvals [2k]\n", | |
| "[765/2093, 08:46/19:19] install: gloss [5k]\n", | |
| "[766/2093, 08:46/19:19] install: glossaries.x86_64-linux [1k]\n", | |
| "[767/2093, 08:47/19:21] install: glossaries [105k]\n", | |
| "[768/2093, 08:48/19:22] install: glossaries-danish [2k]\n", | |
| "[769/2093, 08:49/19:24] install: glossaries-dutch [2k]\n", | |
| "[770/2093, 08:50/19:26] install: glossaries-english [2k]\n", | |
| "[771/2093, 08:50/19:26] install: glossaries-estonian [2k]\n", | |
| "[772/2093, 08:51/19:28] install: glossaries-extra [105k]\n", | |
| "[773/2093, 08:51/19:27] install: glossaries-finnish [2k]\n", | |
| "[774/2093, 08:52/19:29] install: glossaries-french [2k]\n", | |
| "[775/2093, 08:53/19:31] install: glossaries-german [2k]\n", | |
| "[776/2093, 08:53/19:31] install: glossaries-irish [2k]\n", | |
| "[777/2093, 08:54/19:33] install: glossaries-italian [2k]\n", | |
| "[778/2093, 08:55/19:35] install: glossaries-magyar [2k]\n", | |
| "[779/2093, 08:56/19:38] install: glossaries-norsk [2k]\n", | |
| "[780/2093, 08:57/19:40] install: glossaries-nynorsk [2k]\n", | |
| "[781/2093, 08:57/19:40] install: glossaries-polish [2k]\n", | |
| "[782/2093, 08:58/19:42] install: glossaries-portuges [2k]\n", | |
| "[783/2093, 08:59/19:44] install: glossaries-serbian [2k]\n", | |
| "[784/2093, 09:00/19:46] install: glossaries-slovene [2k]\n", | |
| "[785/2093, 09:01/19:48] install: glossaries-spanish [2k]\n", | |
| "[786/2093, 09:01/19:48] install: gmdoc [46k]\n", | |
| "[787/2093, 09:02/19:50] install: gmdoc-enhance [4k]\n", | |
| "[788/2093, 09:02/19:50] install: gmiflink [4k]\n", | |
| "[789/2093, 09:03/19:52] install: gmutils [65k]\n", | |
| "[790/2093, 09:03/19:51] install: gmverb [16k]\n", | |
| "[791/2093, 09:04/19:53] install: gnuplottex [4k]\n", | |
| "[792/2093, 09:04/19:53] install: grabbox [2k]\n", | |
| "[793/2093, 09:05/19:55] install: gradient-text [2k]\n", | |
| "[794/2093, 09:06/19:57] install: gradientframe [2k]\n", | |
| "[795/2093, 09:07/19:59] install: grading-scheme [5k]\n", | |
| "[796/2093, 09:07/19:59] install: grafcet [4k]\n", | |
| "[797/2093, 09:08/20:02] install: graph35 [22k]\n", | |
| "[798/2093, 09:08/20:01] install: graphbox [2k]\n", | |
| "[799/2093, 09:09/20:03] install: graphics [16k]\n", | |
| "[800/2093, 09:10/20:05] install: graphics-cfg [2k]\n", | |
| "[801/2093, 09:10/20:05] install: graphicscache [4k]\n", | |
| "[802/2093, 09:11/20:07] install: graphicx-psmin [3k]\n", | |
| "[803/2093, 09:12/20:10] install: graphicxbox [2k]\n", | |
| "[804/2093, 09:13/20:12] install: graphicxpsd [2k]\n", | |
| "[805/2093, 09:14/20:14] install: graphpaper [5k]\n", | |
| "[806/2093, 09:14/20:14] install: graphviz [2k]\n", | |
| "[807/2093, 09:15/20:16] install: gratzer-color-scheme [1k]\n", | |
| "[808/2093, 09:16/20:18] install: grayhints [4k]\n", | |
| "[809/2093, 09:16/20:18] install: grfext [3k]\n", | |
| "[810/2093, 09:17/20:20] install: grffile [4k]\n", | |
| "[811/2093, 09:17/20:20] install: grfpaste [4k]\n", | |
| "[812/2093, 09:18/20:22] install: grid [4k]\n", | |
| "[813/2093, 09:19/20:25] install: grid-system [2k]\n", | |
| "[814/2093, 09:19/20:25] install: gridpapers [6k]\n", | |
| "[815/2093, 09:20/20:27] install: gridset [3k]\n", | |
| "[816/2093, 09:20/20:27] install: gridslides [3k]\n", | |
| "[817/2093, 09:21/20:29] install: gs1 [4k]\n", | |
| "[818/2093, 09:22/20:31] install: gtrlib-largetrees [3k]\n", | |
| "[819/2093, 09:23/20:33] install: guitlogo [4k]\n", | |
| "[820/2093, 09:24/20:35] install: ha-prosper [28k]\n", | |
| "[821/2093, 09:24/20:35] install: hackthefootline [5k]\n", | |
| "[822/2093, 09:25/20:37] install: halloweenmath [9k]\n", | |
| "[823/2093, 09:26/20:39] install: handin [4k]\n", | |
| "[824/2093, 09:26/20:39] install: handout [3k]\n", | |
| "[825/2093, 09:27/20:41] install: handoutwithnotes [4k]\n", | |
| "[826/2093, 09:27/20:41] install: hang [2k]\n", | |
| "[827/2093, 09:28/20:43] install: hanging [2k]\n", | |
| "[828/2093, 09:28/20:43] install: hardwrap [3k]\n", | |
| "[829/2093, 09:29/20:45] install: harnon-cv [3k]\n", | |
| "[830/2093, 09:30/20:47] install: harpoon [2k]\n", | |
| "[831/2093, 09:30/20:47] install: harveyballs [2k]\n", | |
| "[832/2093, 09:31/20:50] install: hc [13k]\n", | |
| "[833/2093, 09:32/20:52] install: he-she [4k]\n", | |
| "[834/2093, 09:32/20:52] install: hebdomon [4k]\n", | |
| "[835/2093, 09:33/20:54] install: hep-acronym [3k]\n", | |
| "[836/2093, 09:33/20:54] install: hep-float [2k]\n", | |
| "[837/2093, 09:34/20:56] install: hep-math [4k]\n", | |
| "[838/2093, 09:34/20:56] install: hep-text [2k]\n", | |
| "[839/2093, 09:35/20:58] install: hep-title [4k]\n", | |
| "[840/2093, 09:35/20:58] install: here [1k]\n", | |
| "[841/2093, 09:36/21:00] install: hereapplies [6k]\n", | |
| "[842/2093, 09:37/21:02] install: hf-tikz [4k]\n", | |
| "[843/2093, 09:38/21:04] install: hhtensor [2k]\n", | |
| "[844/2093, 09:38/21:04] install: hideanswer [2k]\n", | |
| "[845/2093, 09:39/21:06] install: highlightlatex [4k]\n", | |
| "[846/2093, 09:39/21:06] install: highlightx [4k]\n", | |
| "[847/2093, 09:40/21:08] install: histogr [2k]\n", | |
| "[848/2093, 09:40/21:08] install: hitec [6k]\n", | |
| "[849/2093, 09:41/21:11] install: hitreport [11k]\n", | |
| "[850/2093, 09:42/21:13] install: hletter [9k]\n", | |
| "[851/2093, 09:43/21:15] install: hobby [10k]\n", | |
| "[852/2093, 09:43/21:14] install: hobsub [2k]\n", | |
| "[853/2093, 09:44/21:17] install: hologo [10k]\n", | |
| "[854/2093, 09:45/21:19] install: homework [4k]\n", | |
| "[855/2093, 09:46/21:21] install: hopatch [3k]\n", | |
| "[856/2093, 09:46/21:21] install: hpsdiss [6k]\n", | |
| "[857/2093, 09:47/21:23] install: href-ul [2k]\n", | |
| "[858/2093, 09:47/21:23] install: hrefhide [3k]\n", | |
| "[859/2093, 09:48/21:25] install: huawei [255k]\n", | |
| "[860/2093, 09:48/21:21] install: hvextern [9k]\n", | |
| "[861/2093, 09:49/21:23] install: hvfloat [16k]\n", | |
| "[862/2093, 09:50/21:25] install: hvindex [2k]\n", | |
| "[863/2093, 09:51/21:27] install: hvlogos [23k]\n", | |
| "[864/2093, 09:52/21:29] install: hvpygmentex [4k]\n", | |
| "[865/2093, 09:52/21:29] install: hvqrurl [2k]\n", | |
| "[866/2093, 09:53/21:31] install: hwemoji [4175k]\n", | |
| "[867/2093, 09:55/20:30] install: hycolor [4k]\n", | |
| "[868/2093, 09:55/20:30] install: hypcap [2k]\n", | |
| "[869/2093, 09:56/20:32] install: hypdestopt [3k]\n", | |
| "[870/2093, 09:56/20:32] install: hypdoc [4k]\n", | |
| "[871/2093, 09:57/20:34] install: hypdvips [24k]\n", | |
| "[872/2093, 09:58/20:36] install: hyper [16k]\n", | |
| "[873/2093, 09:59/20:38] install: hyperbar [3k]\n", | |
| "[874/2093, 09:59/20:38] install: hypernat [2k]\n", | |
| "[875/2093, 10:00/20:40] install: hyperref [87k]\n", | |
| "[876/2093, 10:01/20:41] install: hyperxmp.x86_64-linux [1k]\n", | |
| "[877/2093, 10:02/20:43] install: hyperxmp [15k]\n", | |
| "[878/2093, 10:02/20:42] install: hyphen-english [41k]\n", | |
| "[879/2093, 10:03/20:44] install: hyphenat [2k]\n", | |
| "[880/2093, 10:03/20:44] install: identkey [2k]\n", | |
| "[881/2093, 10:04/20:46] install: idxcmds [3k]\n", | |
| "[882/2093, 10:05/20:48] install: idxlayout [3k]\n", | |
| "[883/2093, 10:06/20:50] install: iexec [3k]\n", | |
| "[884/2093, 10:06/20:50] install: ifallfalse [2k]\n", | |
| "[885/2093, 10:07/20:52] install: iffont [2k]\n", | |
| "[886/2093, 10:08/20:54] install: ifmslide [238k]\n", | |
| "[887/2093, 10:08/20:50] install: ifmtarg [1k]\n", | |
| "[888/2093, 10:09/20:53] install: ifnextok [11k]\n", | |
| "[889/2093, 10:10/20:54] install: ifoddpage [2k]\n", | |
| "[890/2093, 10:11/20:56] install: ifthenx [5k]\n", | |
| "[891/2093, 10:12/20:58] install: iitem [2k]\n", | |
| "[892/2093, 10:13/21:00] install: image-gallery [2k]\n", | |
| "[893/2093, 10:14/21:03] install: imakeidx [4k]\n", | |
| "[894/2093, 10:14/21:02] install: import [3k]\n", | |
| "[895/2093, 10:15/21:04] install: incgraph [6k]\n", | |
| "[896/2093, 10:16/21:06] install: index [4k]\n", | |
| "[897/2093, 10:16/21:06] install: indextools [5k]\n", | |
| "[898/2093, 10:17/21:08] install: indextra [4k]\n", | |
| "[899/2093, 10:18/21:10] install: infwarerr [3k]\n", | |
| "[900/2093, 10:18/21:10] install: inline-images [1k]\n", | |
| "[901/2093, 10:19/21:12] install: inlinedef [4k]\n", | |
| "[902/2093, 10:19/21:12] install: inlinegraphicx [1k]\n", | |
| "[903/2093, 10:20/21:14] install: inlinelabel [2k]\n", | |
| "[904/2093, 10:21/21:16] install: inputenx [30k]\n", | |
| "[905/2093, 10:21/21:16] install: inputtrc [3k]\n", | |
| "[906/2093, 10:22/21:18] install: intcalc [6k]\n", | |
| "[907/2093, 10:23/21:20] install: interactiveworkbook [6k]\n", | |
| "[908/2093, 10:23/21:20] install: interfaces [28k]\n", | |
| "[909/2093, 10:24/21:22] install: intopdf [2k]\n", | |
| "[910/2093, 10:25/21:24] install: inversepath [2k]\n", | |
| "[911/2093, 10:25/21:24] install: invoice [9k]\n", | |
| "[912/2093, 10:26/21:25] install: invoice-class [3k]\n", | |
| "[913/2093, 10:27/21:27] install: invoice2 [4k]\n", | |
| "[914/2093, 10:27/21:27] install: ipsum [15k]\n", | |
| "[915/2093, 10:28/21:29] install: iso [15k]\n", | |
| "[916/2093, 10:28/21:29] install: iso10303 [43k]\n", | |
| "[917/2093, 10:29/21:30] install: isodate [8k]\n", | |
| "[918/2093, 10:30/21:32] install: isodoc [10k]\n", | |
| "[919/2093, 10:31/21:34] install: isonums [3k]\n", | |
| "[920/2093, 10:31/21:34] install: isopt [2k]\n", | |
| "[921/2093, 10:32/21:36] install: isorot [3k]\n", | |
| "[922/2093, 10:32/21:36] install: isosafety [784k]\n", | |
| "[923/2093, 10:33/21:26] install: isotope [2k]\n", | |
| "[924/2093, 10:34/21:28] install: issuulinks [3k]\n", | |
| "[925/2093, 10:34/21:28] install: istgame [18k]\n", | |
| "[926/2093, 10:35/21:30] install: iwonamath [3k]\n", | |
| "[927/2093, 10:35/21:30] install: jknapltx [9k]\n", | |
| "[928/2093, 10:36/21:32] install: jlabels [2k]\n", | |
| "[929/2093, 10:37/21:34] install: jmsdelim [3k]\n", | |
| "[930/2093, 10:38/21:36] install: jobname-suffix [2k]\n", | |
| "[931/2093, 10:38/21:36] install: joinbox [4k]\n", | |
| "[932/2093, 10:39/21:38] install: jslectureplanner [14k]\n", | |
| "[933/2093, 10:39/21:38] install: jsonparse [9k]\n", | |
| "[934/2093, 10:40/21:40] install: jumplines [4k]\n", | |
| "[935/2093, 10:41/21:42] install: jvlisting [3k]\n", | |
| "[936/2093, 10:41/21:41] install: kalendarium [4k]\n", | |
| "[937/2093, 10:42/21:43] install: kantlipsum [24k]\n", | |
| "[938/2093, 10:43/21:45] install: kastrup [2k]\n", | |
| "[939/2093, 10:43/21:45] install: kblocks [8k]\n", | |
| "[940/2093, 10:44/21:47] install: kerntest [12k]\n", | |
| "[941/2093, 10:44/21:47] install: keycommand [5k]\n", | |
| "[942/2093, 10:45/21:49] install: keyfloat [7k]\n", | |
| "[943/2093, 10:46/21:51] install: keyindex [2k]\n", | |
| "[944/2093, 10:47/21:53] install: keyparse [2k]\n", | |
| "[945/2093, 10:48/21:55] install: keyreader [9k]\n", | |
| "[946/2093, 10:48/21:55] install: keystroke [7k]\n", | |
| "[947/2093, 10:49/21:57] install: keyval2e [4k]\n", | |
| "[948/2093, 10:49/21:56] install: keyvaltable [10k]\n", | |
| "[949/2093, 10:50/21:58] install: kinematikz [23k]\n", | |
| "[950/2093, 10:51/22:00] install: kix [2k]\n", | |
| "[951/2093, 10:52/22:02] install: knitting [565k]\n", | |
| "[952/2093, 10:52/21:53] install: knittingpattern [2k]\n", | |
| "[953/2093, 10:53/21:55] install: knowledge [23k]\n", | |
| "[954/2093, 10:53/21:55] install: koma-moderncvclassic [4k]\n", | |
| "[955/2093, 10:54/21:57] install: koma-script [6797k]\n", | |
| "[956/2093, 10:56/20:24] install: koma-script-sfs [4k]\n", | |
| "[957/2093, 10:57/20:26] install: komacv [8k]\n", | |
| "[958/2093, 10:58/20:27] install: komacv-rg [4k]\n", | |
| "[959/2093, 10:58/20:27] install: korigamik [4k]\n", | |
| "[960/2093, 10:59/20:29] install: ktv-texdata [3k]\n", | |
| "[961/2093, 11:00/20:31] install: kvdefinekeys [3k]\n", | |
| "[962/2093, 11:00/20:31] install: kvoptions [8k]\n", | |
| "[963/2093, 11:01/20:33] install: kvsetkeys [4k]\n", | |
| "[964/2093, 11:02/20:35] install: l3backend [17k]\n", | |
| "[965/2093, 11:02/20:34] install: l3backend-dev [17k]\n", | |
| "[966/2093, 11:02/20:34] install: l3build.x86_64-linux [1k]\n", | |
| "[967/2093, 11:03/20:36] install: l3build [37k]\n", | |
| "[968/2093, 11:04/20:37] install: l3experimental [17k]\n", | |
| "[969/2093, 11:05/20:39] install: l3kernel [184k]\n", | |
| "[970/2093, 11:06/20:38] install: l3kernel-dev [184k]\n", | |
| "[971/2093, 11:06/20:36] install: l3packages [20k]\n", | |
| "[972/2093, 11:07/20:38] install: labbook [5k]\n", | |
| "[973/2093, 11:07/20:37] install: labels [4k]\n", | |
| "[974/2093, 11:08/20:39] install: labels4easylist [2k]\n", | |
| "[975/2093, 11:08/20:39] install: labelschanged [2k]\n", | |
| "[976/2093, 11:09/20:41] install: ladder [2k]\n", | |
| "[977/2093, 11:09/20:41] install: lambdax [2k]\n", | |
| "[978/2093, 11:09/20:41] install: lapdf [12k]\n", | |
| "[979/2093, 11:10/20:43] install: lastbib [1k]\n", | |
| "[980/2093, 11:11/20:45] install: lastpackage [1k]\n", | |
| "[981/2093, 11:12/20:46] install: lastpage [5k]\n", | |
| "[982/2093, 11:12/20:46] install: latex [253k]\n", | |
| "[983/2093, 11:13/20:45] install: latex-amsmath-dev [31k]\n", | |
| "[984/2093, 11:13/20:44] install: latex-base-dev [253k]\n", | |
| "[985/2093, 11:14/20:43] install: latex-bin.x86_64-linux [1k]\n", | |
| "[986/2093, 11:15/20:45] install: latex-bin [1k]\n", | |
| "[987/2093, 11:16/20:47] install: latex-bin-dev.x86_64-linux [1k]\n", | |
| "[988/2093, 11:16/20:47] install: latex-bin-dev [1k]\n", | |
| "[989/2093, 11:17/20:48] install: latex-context-ppchtex [1k]\n", | |
| "[990/2093, 11:17/20:48] install: latex-firstaid-dev [5k]\n", | |
| "[991/2093, 11:18/20:50] install: latex-fonts [18k]\n", | |
| "[992/2093, 11:18/20:50] install: latex-graphics-dev [16k]\n", | |
| "[993/2093, 11:19/20:52] install: latex-lab [52k]\n", | |
| "[994/2093, 11:20/20:53] install: latex-lab-dev [53k]\n", | |
| "[995/2093, 11:21/20:54] install: latex-make [10k]\n", | |
| "[996/2093, 11:21/20:54] install: latex-tools-dev [47k]\n", | |
| "[997/2093, 11:22/20:55] install: latex-uni8 [5k]\n", | |
| "[998/2093, 11:23/20:57] install: latex2pydata [4k]\n", | |
| "[999/2093, 11:24/20:59] install: latexbug [9k]\n", | |
| "[1000/2093, 11:24/20:58] install: latexcolors [8k]\n", | |
| "[1001/2093, 11:25/21:00] install: latexconfig [3k]\n", | |
| "[1002/2093, 11:26/21:02] install: latexdemo [3k]\n", | |
| "[1003/2093, 11:26/21:02] install: latexgit [2k]\n", | |
| "[1004/2093, 11:27/21:04] install: layouts [14k]\n", | |
| "[1005/2093, 11:28/21:05] install: lazylist [2k]\n", | |
| "[1006/2093, 11:29/21:07] install: lccaps [2k]\n", | |
| "[1007/2093, 11:29/21:07] install: lcd [4k]\n", | |
| "[1008/2093, 11:30/21:09] install: lcg [3k]\n", | |
| "[1009/2093, 11:31/21:11] install: leading [2k]\n", | |
| "[1010/2093, 11:32/21:13] install: leaflet [6k]\n", | |
| "[1011/2093, 11:33/21:14] install: lebhart [6k]\n", | |
| "[1012/2093, 11:33/21:14] install: lecturenotes [7k]\n", | |
| "[1013/2093, 11:34/21:16] install: lectures [7k]\n", | |
| "[1014/2093, 11:35/21:18] install: lectureslides [2k]\n", | |
| "[1015/2093, 11:35/21:18] install: leftidx [1k]\n", | |
| "[1016/2093, 11:36/21:20] install: leftindex [2k]\n", | |
| "[1017/2093, 11:36/21:20] install: leipzig [6k]\n", | |
| "[1018/2093, 11:37/21:21] install: lengthconvert [2k]\n", | |
| "[1019/2093, 11:38/21:23] install: letltxmacro [3k]\n", | |
| "[1020/2093, 11:38/21:23] install: lettre [25k]\n", | |
| "[1021/2093, 11:39/21:25] install: lettrine [9k]\n", | |
| "[1022/2093, 11:39/21:25] install: lewis [2k]\n", | |
| "[1023/2093, 11:40/21:26] install: lhelp [6k]\n", | |
| "[1024/2093, 11:40/21:26] install: libertine [13523k]\n", | |
| "[1025/2093, 11:42/18:47] install: libgreek [5k]\n", | |
| "[1026/2093, 11:43/18:49] install: liftarm [7k]\n", | |
| "[1027/2093, 11:44/18:51] install: limap [5k]\n", | |
| "[1028/2093, 11:44/18:50] install: linegoal [2k]\n", | |
| "[1029/2093, 11:45/18:52] install: lineno [62k]\n", | |
| "[1030/2093, 11:46/18:53] install: linop [2k]\n", | |
| "[1031/2093, 11:46/18:53] install: lipsum [123k]\n", | |
| "[1032/2093, 11:47/18:53] install: lisp-on-tex [13k]\n", | |
| "[1033/2093, 11:48/18:55] install: listing [2k]\n", | |
| "[1034/2093, 11:48/18:55] install: listings [145k]\n", | |
| "[1035/2093, 11:49/18:55] install: listingsutf8 [3k]\n", | |
| "[1036/2093, 11:50/18:56] install: listlbls [2k]\n", | |
| "[1037/2093, 11:51/18:58] install: listliketab [2k]\n", | |
| "[1038/2093, 11:51/18:58] install: listofitems [8k]\n", | |
| "[1039/2093, 11:52/19:00] install: listofsymbols [3k]\n", | |
| "[1040/2093, 11:52/18:59] install: listparskip [3k]\n", | |
| "[1041/2093, 11:53/19:01] install: litetable [4k]\n", | |
| "[1042/2093, 11:54/19:03] install: lkproof [3k]\n", | |
| "[1043/2093, 11:55/19:04] install: lm [11665k]\n", | |
| "[1044/2093, 11:57/17:15] install: lm-math [369k]\n", | |
| "[1045/2093, 11:58/17:13] install: lmake [2k]\n", | |
| "[1046/2093, 11:58/17:13] install: locality [3k]\n", | |
| "[1047/2093, 11:59/17:15] install: logbox [2k]\n", | |
| "[1048/2093, 12:00/17:16] install: logical-markup-utils [2k]\n", | |
| "[1049/2093, 12:01/17:18] install: logoetalab [14k]\n", | |
| "[1050/2093, 12:02/17:19] install: logpap [6k]\n", | |
| "[1051/2093, 12:02/17:19] install: logreq [4k]\n", | |
| "[1052/2093, 12:03/17:20] install: longfbox [17k]\n", | |
| "[1053/2093, 12:04/17:22] install: longfigure [5k]\n", | |
| "[1054/2093, 12:04/17:22] install: longnamefilelist [4k]\n", | |
| "[1055/2093, 12:05/17:23] install: longtwocolumn [2k]\n", | |
| "[1056/2093, 12:06/17:25] install: loops [12k]\n", | |
| "[1057/2093, 12:06/17:24] install: lpic [6k]\n", | |
| "[1058/2093, 12:07/17:26] install: lroundrect [3k]\n", | |
| "[1059/2093, 12:08/17:27] install: lsc [14k]\n", | |
| "[1060/2093, 12:08/17:27] install: lscapeenhanced [2k]\n", | |
| "[1061/2093, 12:09/17:29] install: lstaddons [3k]\n", | |
| "[1062/2093, 12:09/17:29] install: lstfiracode [3k]\n", | |
| "[1063/2093, 12:10/17:30] install: lt3graph [11k]\n", | |
| "[1064/2093, 12:11/17:31] install: lt3luabridge [4k]\n", | |
| "[1065/2093, 12:11/17:31] install: lt3rawobjects [5k]\n", | |
| "[1066/2093, 12:12/17:33] install: ltablex [3k]\n", | |
| "[1067/2093, 12:12/17:33] install: ltabptch [5k]\n", | |
| "[1068/2093, 12:13/17:34] install: ltx-talk [12k]\n", | |
| "[1069/2093, 12:14/17:35] install: ltxcmds [5k]\n", | |
| "[1070/2093, 12:14/17:35] install: ltxdockit [7k]\n", | |
| "[1071/2093, 12:15/17:37] install: ltxguidex [3k]\n", | |
| "[1072/2093, 12:15/17:37] install: ltxkeys [25k]\n", | |
| "[1073/2093, 12:16/17:38] install: ltxmisc [16k]\n", | |
| "[1074/2093, 12:16/17:38] install: ltxnew [3k]\n", | |
| "[1075/2093, 12:17/17:39] install: ltxtools [51k]\n", | |
| "[1076/2093, 12:18/17:40] install: lua-check-hyphen [4k]\n", | |
| "[1077/2093, 12:18/17:40] install: lua-physical [352k]\n", | |
| "[1078/2093, 12:19/17:38] install: lua-tikz3dtools [12k]\n", | |
| "[1079/2093, 12:20/17:40] install: lua-tinyyaml [6k]\n", | |
| "[1080/2093, 12:21/17:41] install: lua-uni-algos [8k]\n", | |
| "[1081/2093, 12:21/17:41] install: lualibs [131k]\n", | |
| "[1082/2093, 12:22/17:41] install: luamesh [13k]\n", | |
| "[1083/2093, 12:22/17:41] install: luaotfload.x86_64-linux [1k]\n", | |
| "[1084/2093, 12:23/17:43] install: luaotfload [609k]\n", | |
| "[1085/2093, 12:23/17:37] install: luasseq [11k]\n", | |
| "[1086/2093, 12:24/17:39] install: luatodonotes [26k]\n", | |
| "[1087/2093, 12:25/17:40] install: lwarp.x86_64-linux [1k]\n", | |
| "[1088/2093, 12:26/17:41] install: lwarp [220k]\n", | |
| "[1089/2093, 12:27/17:41] install: macrolist [3k]\n", | |
| "[1090/2093, 12:27/17:41] install: macroswap [2k]\n", | |
| "[1091/2093, 12:28/17:42] install: magaz [5k]\n", | |
| "[1092/2093, 12:28/17:42] install: magicnum [5k]\n", | |
| "[1093/2093, 12:29/17:44] install: magicwatermark [3k]\n", | |
| "[1094/2093, 12:29/17:44] install: mailing [2k]\n", | |
| "[1095/2093, 12:30/17:45] install: mailmerge [2k]\n", | |
| "[1096/2093, 12:31/17:46] install: makebarcode [5k]\n", | |
| "[1097/2093, 12:31/17:46] install: makebase [2k]\n", | |
| "[1098/2093, 12:32/17:48] install: makebox [1k]\n", | |
| "[1099/2093, 12:33/17:49] install: makecell [5k]\n", | |
| "[1100/2093, 12:34/17:51] install: makecirc [13k]\n", | |
| "[1101/2093, 12:35/17:52] install: makecmds [2k]\n", | |
| "[1102/2093, 12:36/17:53] install: makecookbook [1k]\n", | |
| "[1103/2093, 12:36/17:53] install: makedtx.x86_64-linux [1k]\n", | |
| "[1104/2093, 12:37/17:55] install: makedtx [8k]\n", | |
| "[1105/2093, 12:38/17:56] install: makeglos [1k]\n", | |
| "[1106/2093, 12:39/17:57] install: makelabels [4k]\n", | |
| "[1107/2093, 12:40/17:59] install: maker [5k]\n", | |
| "[1108/2093, 12:40/17:59] install: makerobust [2k]\n", | |
| "[1109/2093, 12:40/17:59] install: makeshape [2k]\n", | |
| "[1110/2093, 12:41/18:00] install: mandi [11k]\n", | |
| "[1111/2093, 12:42/18:02] install: manfnt [2k]\n", | |
| "[1112/2093, 12:42/18:01] install: manuscript [2k]\n", | |
| "[1113/2093, 12:43/18:03] install: manyind [3k]\n", | |
| "[1114/2093, 12:43/18:03] install: marginfit [2k]\n", | |
| "[1115/2093, 12:44/18:04] install: marginfix [4k]\n", | |
| "[1116/2093, 12:44/18:04] install: marginnote [4k]\n", | |
| "[1117/2093, 12:45/18:06] install: maritime [4k]\n", | |
| "[1118/2093, 12:45/18:06] install: markdown.x86_64-linux [1k]\n", | |
| "[1119/2093, 12:46/18:07] install: markdown [72k]\n", | |
| "[1120/2093, 12:47/18:08] install: mathalpha [125k]\n", | |
| "[1121/2093, 12:48/18:08] install: mathastext [19k]\n", | |
| "[1122/2093, 12:48/18:08] install: mathexam [2k]\n", | |
| "[1123/2093, 12:49/18:09] install: mathfam256 [5k]\n", | |
| "[1124/2093, 12:50/18:11] install: mathfont [24k]\n", | |
| "[1125/2093, 12:51/18:12] install: mathgreeks [6k]\n", | |
| "[1126/2093, 12:51/18:12] install: mathspec [10k]\n", | |
| "[1127/2093, 12:52/18:13] install: mathspic.x86_64-linux [1k]\n", | |
| "[1128/2093, 12:53/18:15] install: mathspic [18k]\n", | |
| "[1129/2093, 12:53/18:14] install: mathtools [21k]\n", | |
| "[1130/2093, 12:54/18:16] install: maybemath [2k]\n", | |
| "[1131/2093, 12:54/18:16] install: mcaption [2k]\n", | |
| "[1132/2093, 12:55/18:17] install: mceinleger [2k]\n", | |
| "[1133/2093, 12:55/18:17] install: mcexam [12k]\n", | |
| "[1134/2093, 12:56/18:18] install: mcite [3k]\n", | |
| "[1135/2093, 12:57/18:20] install: mciteplus [34k]\n", | |
| "[1136/2093, 12:57/18:19] install: mdframed [21k]\n", | |
| "[1137/2093, 12:58/18:21] install: mdwtools [19k]\n", | |
| "[1138/2093, 12:59/18:22] install: media4svg [9k]\n", | |
| "[1139/2093, 13:00/18:23] install: media9 [1852k]\n", | |
| "[1140/2093, 13:01/18:08] install: medstarbeamer [3k]\n", | |
| "[1141/2093, 13:02/18:10] install: meetingmins [3k]\n", | |
| "[1142/2093, 13:02/18:10] install: memexsupp [2k]\n", | |
| "[1143/2093, 13:03/18:11] install: memoir [69k]\n", | |
| "[1144/2093, 13:04/18:12] install: memoize.x86_64-linux [1k]\n", | |
| "[1145/2093, 13:05/18:13] install: memoize [29k]\n", | |
| "[1146/2093, 13:05/18:13] install: memory [2k]\n", | |
| "[1147/2093, 13:06/18:14] install: mensa-tex [4k]\n", | |
| "[1148/2093, 13:07/18:16] install: menu [3k]\n", | |
| "[1149/2093, 13:08/18:17] install: menucard [2k]\n", | |
| "[1150/2093, 13:09/18:18] install: menukeys [7k]\n", | |
| "[1151/2093, 13:09/18:18] install: mercatormap [21k]\n", | |
| "[1152/2093, 13:10/18:19] install: metalogo [3k]\n", | |
| "[1153/2093, 13:11/18:21] install: metalogox [5k]\n", | |
| "[1154/2093, 13:12/18:22] install: metanorma [8k]\n", | |
| "[1155/2093, 13:12/18:22] install: metastr [8k]\n", | |
| "[1156/2093, 13:13/18:23] install: method [3k]\n", | |
| "[1157/2093, 13:13/18:23] install: metre [11k]\n", | |
| "[1158/2093, 13:14/18:25] install: mfirstuc [6k]\n", | |
| "[1159/2093, 13:14/18:25] install: mfnfss [3k]\n", | |
| "[1160/2093, 13:15/18:26] install: mftinc [3k]\n", | |
| "[1161/2093, 13:15/18:26] install: mi-solns [3k]\n", | |
| "[1162/2093, 13:16/18:27] install: microtype [58k]\n", | |
| "[1163/2093, 13:16/18:27] install: midpage [1k]\n", | |
| "[1164/2093, 13:17/18:28] install: milsymb [22k]\n", | |
| "[1165/2093, 13:18/18:29] install: mindflow [3k]\n", | |
| "[1166/2093, 13:19/18:31] install: minibox [2k]\n", | |
| "[1167/2093, 13:20/18:32] install: minidocument [2k]\n", | |
| "[1168/2093, 13:21/18:34] install: minifp [10k]\n", | |
| "[1169/2093, 13:22/18:35] install: minimalist [13k]\n", | |
| "[1170/2093, 13:22/18:35] install: minipage-marginpar [2k]\n", | |
| "[1171/2093, 13:23/18:36] install: miniplot [7k]\n", | |
| "[1172/2093, 13:23/18:36] install: minitoc [41k]\n", | |
| "[1173/2093, 13:24/18:37] install: minorrevision [2k]\n", | |
| "[1174/2093, 13:25/18:39] install: minted.x86_64-linux [1k]\n", | |
| "[1175/2093, 13:26/18:40] install: minted [1262k]\n", | |
| "[1176/2093, 13:26/18:29] install: minutes [9k]\n", | |
| "[1177/2093, 13:27/18:30] install: mkpic.x86_64-linux [1k]\n", | |
| "[1178/2093, 13:28/18:31] install: mkpic [10k]\n", | |
| "[1179/2093, 13:29/18:33] install: mla-paper [3k]\n", | |
| "[1180/2093, 13:29/18:33] install: mleftright [3k]\n", | |
| "[1181/2093, 13:30/18:34] install: mlist [3k]\n", | |
| "[1182/2093, 13:31/18:35] install: mmap [19k]\n", | |
| "[1183/2093, 13:32/18:36] install: mnotes [3k]\n", | |
| "[1184/2093, 13:32/18:36] install: moderncv [39k]\n", | |
| "[1185/2093, 13:33/18:37] install: modernposter [3k]\n", | |
| "[1186/2093, 13:34/18:39] install: moderntimeline [3k]\n", | |
| "[1187/2093, 13:34/18:39] install: modiagram [9k]\n", | |
| "[1188/2093, 13:35/18:40] install: modref [3k]\n", | |
| "[1189/2093, 13:35/18:40] install: modroman [3k]\n", | |
| "[1190/2093, 13:36/18:41] install: modular [1k]\n", | |
| "[1191/2093, 13:36/18:41] install: moloch [6k]\n", | |
| "[1192/2093, 13:37/18:43] install: monofill [5k]\n", | |
| "[1193/2093, 13:38/18:44] install: moodle [37k]\n", | |
| "[1194/2093, 13:38/18:44] install: moreenum [3k]\n", | |
| "[1195/2093, 13:39/18:45] install: morefloats [5k]\n", | |
| "[1196/2093, 13:39/18:45] install: morehype [62k]\n", | |
| "[1197/2093, 13:40/18:46] install: moresize [2k]\n", | |
| "[1198/2093, 13:41/18:47] install: moreverb [3k]\n", | |
| "[1199/2093, 13:41/18:47] install: morewrites [6k]\n", | |
| "[1200/2093, 13:42/18:49] install: movement-arrows [2k]\n", | |
| "[1201/2093, 13:43/18:50] install: movie15 [24k]\n", | |
| "[1202/2093, 13:44/18:51] install: mparhack [3k]\n", | |
| "[1203/2093, 13:44/18:51] install: mpostinl [6k]\n", | |
| "[1204/2093, 13:45/18:52] install: mptopdf.x86_64-linux [1k]\n", | |
| "[1205/2093, 13:46/18:54] install: mptopdf [37k]\n", | |
| "[1206/2093, 13:47/18:55] install: msc [20k]\n", | |
| "[1207/2093, 13:47/18:55] install: msg [8k]\n", | |
| "[1208/2093, 13:48/18:56] install: mslapa [9k]\n", | |
| "[1209/2093, 13:49/18:57] install: mtgreek [2k]\n", | |
| "[1210/2093, 13:49/18:57] install: multenum [2k]\n", | |
| "[1211/2093, 13:50/18:59] install: multiaudience [2k]\n", | |
| "[1212/2093, 13:51/19:00] install: multibbl [2k]\n", | |
| "[1213/2093, 13:51/19:00] install: multicap [2k]\n", | |
| "[1214/2093, 13:52/19:01] install: multicolrule [4k]\n", | |
| "[1215/2093, 13:53/19:03] install: multidef [3k]\n", | |
| "[1216/2093, 13:54/19:04] install: multienv [2k]\n", | |
| "[1217/2093, 13:54/19:04] install: multiexpand [2k]\n", | |
| "[1218/2093, 13:55/19:05] install: multifootnote [4k]\n", | |
| "[1219/2093, 13:56/19:07] install: multilang [4k]\n", | |
| "[1220/2093, 13:56/19:07] install: multinotes [7k]\n", | |
| "[1221/2093, 13:57/19:08] install: multiple-choice [2k]\n", | |
| "[1222/2093, 13:57/19:08] install: multirow [3k]\n", | |
| "[1223/2093, 13:58/19:09] install: multitoc [2k]\n", | |
| "[1224/2093, 13:59/19:11] install: mversion [2k]\n", | |
| "[1225/2093, 13:59/19:11] install: mwe [789k]\n", | |
| "[1226/2093, 14:00/19:05] install: mweights [2k]\n", | |
| "[1227/2093, 14:01/19:06] install: mycv [8k]\n", | |
| "[1228/2093, 14:01/19:06] install: mylatex [4k]\n", | |
| "[1229/2093, 14:02/19:07] install: mylatexformat [5k]\n", | |
| "[1230/2093, 14:02/19:07] install: nag [8k]\n", | |
| "[1231/2093, 14:03/19:09] install: nameauth [8k]\n", | |
| "[1232/2093, 14:04/19:10] install: namespc [1k]\n", | |
| "[1233/2093, 14:05/19:11] install: natbib [17k]\n", | |
| "[1234/2093, 14:05/19:11] install: ncclatex [18k]\n", | |
| "[1235/2093, 14:06/19:12] install: ncctools [24k]\n", | |
| "[1236/2093, 14:07/19:14] install: needspace [1k]\n", | |
| "[1237/2093, 14:08/19:15] install: neoschool [35k]\n", | |
| "[1238/2093, 14:08/19:15] install: nestquot [2k]\n", | |
| "[1239/2093, 14:09/19:16] install: neuralnetwork [4k]\n", | |
| "[1240/2093, 14:09/19:16] install: newcommand [1k]\n", | |
| "[1241/2093, 14:10/19:17] install: newenviron [3k]\n", | |
| "[1242/2093, 14:11/19:19] install: newfile [3k]\n", | |
| "[1243/2093, 14:11/19:19] install: newfloat [7k]\n", | |
| "[1244/2093, 14:12/19:20] install: newlfm [20k]\n", | |
| "[1245/2093, 14:13/19:21] install: newpx [4634k]\n", | |
| "[1246/2093, 14:14/18:41] install: newspaper [2k]\n", | |
| "[1247/2093, 14:15/18:43] install: newtx [5931k]\n", | |
| "[1248/2093, 14:16/17:55] install: newunicodechar [3k]\n", | |
| "[1249/2093, 14:17/17:57] install: newvbtm [4k]\n", | |
| "[1250/2093, 14:17/17:57] install: newverbs [3k]\n", | |
| "[1251/2093, 14:18/17:58] install: nextpage [2k]\n", | |
| "[1252/2093, 14:18/17:58] install: nfssext-cfr [9k]\n", | |
| "[1253/2093, 14:19/17:59] install: nicefilelist [9k]\n", | |
| "[1254/2093, 14:20/18:00] install: niceframe [34k]\n", | |
| "[1255/2093, 14:21/18:01] install: nicetext [54k]\n", | |
| "[1256/2093, 14:22/18:02] install: nidanfloat [5k]\n", | |
| "[1257/2093, 14:23/18:03] install: ninecolors [3k]\n", | |
| "[1258/2093, 14:24/18:04] install: nl-interval [2k]\n", | |
| "[1259/2093, 14:25/18:06] install: nlctdoc [28k]\n", | |
| "[1260/2093, 14:26/18:07] install: nndraw [3k]\n", | |
| "[1261/2093, 14:27/18:08] install: noconflict [2k]\n", | |
| "[1262/2093, 14:28/18:09] install: nodepthtext [2k]\n", | |
| "[1263/2093, 14:28/18:09] install: noindentafter [2k]\n", | |
| "[1264/2093, 14:29/18:10] install: noitcrul [2k]\n", | |
| "[1265/2093, 14:29/18:10] install: nolbreaks [3k]\n", | |
| "[1266/2093, 14:30/18:12] install: nomencl [4k]\n", | |
| "[1267/2093, 14:31/18:13] install: nomentbl [3k]\n", | |
| "[1268/2093, 14:31/18:13] install: non-decimal-units [7k]\n", | |
| "[1269/2093, 14:32/18:14] install: nonfloat [2k]\n", | |
| "[1270/2093, 14:32/18:14] install: nonumonpart [2k]\n", | |
| "[1271/2093, 14:33/18:15] install: nopageno [1k]\n", | |
| "[1272/2093, 14:33/18:15] install: normalcolor [2k]\n", | |
| "[1273/2093, 14:34/18:17] install: notebeamer [3k]\n", | |
| "[1274/2093, 14:35/18:18] install: notes [7k]\n", | |
| "[1275/2093, 14:38/18:22] install: notespages [6k]\n", | |
| "[1276/2093, 14:39/18:23] install: notestex [7k]\n", | |
| "[1277/2093, 14:40/18:24] install: notoccite [2k]\n", | |
| "[1278/2093, 14:40/18:24] install: novabeamer-theme [3k]\n", | |
| "[1279/2093, 14:41/18:25] install: nowidow [2k]\n", | |
| "[1280/2093, 14:41/18:25] install: nox [5k]\n", | |
| "[1281/2093, 14:42/18:26] install: ntgclass [16k]\n", | |
| "[1282/2093, 14:43/18:27] install: ntheorem [10k]\n", | |
| "[1283/2093, 14:44/18:29] install: numberedblock [3k]\n", | |
| "[1284/2093, 14:44/18:29] install: numericplots [9k]\n", | |
| "[1285/2093, 14:45/18:30] install: numname [3k]\n", | |
| "[1286/2093, 14:46/18:31] install: numprint [11k]\n", | |
| "[1287/2093, 14:46/18:31] install: numspell [14k]\n", | |
| "[1288/2093, 14:47/18:32] install: oberdiek [35k]\n", | |
| "[1289/2093, 14:48/18:33] install: ocg-p [5k]\n", | |
| "[1290/2093, 14:48/18:33] install: ocgx [3k]\n", | |
| "[1291/2093, 14:49/18:34] install: ocgx2 [17k]\n", | |
| "[1292/2093, 14:50/18:35] install: ocr-latex [2k]\n", | |
| "[1293/2093, 14:50/18:35] install: octavo [7k]\n", | |
| "[1294/2093, 14:51/18:37] install: oldstyle [2k]\n", | |
| "[1295/2093, 14:52/18:38] install: onepgnote [3k]\n", | |
| "[1296/2093, 14:53/18:39] install: onlyamsmath [2k]\n", | |
| "[1297/2093, 14:53/18:39] install: opcit [7k]\n", | |
| "[1298/2093, 14:54/18:40] install: open-everyday-symbols [2k]\n", | |
| "[1299/2093, 14:55/18:42] install: opencolor [2k]\n", | |
| "[1300/2093, 14:56/18:43] install: openmoji [4861k]\n", | |
| "[1301/2093, 14:57/18:06] install: optidef [5k]\n", | |
| "[1302/2093, 14:58/18:07] install: optional [4k]\n", | |
| "[1303/2093, 14:58/18:07] install: options [11k]\n", | |
| "[1304/2093, 14:59/18:08] install: orcidlink [2k]\n", | |
| "[1305/2093, 15:00/18:09] install: orientation [1k]\n", | |
| "[1306/2093, 15:00/18:09] install: outilsgeomtikz [7k]\n", | |
| "[1307/2093, 15:01/18:10] install: outline [2k]\n", | |
| "[1308/2093, 15:02/18:11] install: outliner [4k]\n", | |
| "[1309/2093, 15:02/18:11] install: outlines [2k]\n", | |
| "[1310/2093, 15:03/18:13] install: outlining [2k]\n", | |
| "[1311/2093, 15:04/18:14] install: overlays [3k]\n", | |
| "[1312/2093, 15:04/18:14] install: overpic [2k]\n", | |
| "[1313/2093, 15:05/18:15] install: packdoc [7k]\n", | |
| "[1314/2093, 15:06/18:16] install: padcount [2k]\n", | |
| "[1315/2093, 15:06/18:16] install: pagecolor [3k]\n", | |
| "[1316/2093, 15:07/18:17] install: pagecont [2k]\n", | |
| "[1317/2093, 15:08/18:19] install: pagegrid [4k]\n", | |
| "[1318/2093, 15:09/18:20] install: pagelayout.x86_64-linux [1k]\n", | |
| "[1319/2093, 15:10/18:21] install: pagelayout [26k]\n", | |
| "[1320/2093, 15:11/18:22] install: pagenote [2k]\n", | |
| "[1321/2093, 15:12/18:23] install: pagerange [4k]\n", | |
| "[1322/2093, 15:12/18:23] install: pagesel [3k]\n", | |
| "[1323/2093, 15:13/18:24] install: pageslts [9k]\n", | |
| "[1324/2093, 15:14/18:25] install: palette [2k]\n", | |
| "[1325/2093, 15:14/18:25] install: pangram [2k]\n", | |
| "[1326/2093, 15:15/18:27] install: paper [8k]\n", | |
| "[1327/2093, 15:16/18:28] install: papercdcase [4k]\n", | |
| "[1328/2093, 15:17/18:29] install: papermas [4k]\n", | |
| "[1329/2093, 15:17/18:29] install: papertex [6k]\n", | |
| "[1330/2093, 15:18/18:30] install: papiergurvan [4k]\n", | |
| "[1331/2093, 15:19/18:31] install: paracol [20k]\n", | |
| "[1332/2093, 15:19/18:31] install: parades [2k]\n", | |
| "[1333/2093, 15:20/18:32] install: paralist [4k]\n", | |
| "[1334/2093, 15:21/18:34] install: paresse [4k]\n", | |
| "[1335/2093, 15:21/18:33] install: parnotes [4k]\n", | |
| "[1336/2093, 15:22/18:35] install: parsa [7k]\n", | |
| "[1337/2093, 15:22/18:35] install: parselines [2k]\n", | |
| "[1338/2093, 15:23/18:36] install: parskip [3k]\n", | |
| "[1339/2093, 15:24/18:37] install: pas-cours [3k]\n", | |
| "[1340/2093, 15:24/18:37] install: pas-cv [9k]\n", | |
| "[1341/2093, 15:25/18:38] install: pas-tableur [4k]\n", | |
| "[1342/2093, 15:26/18:39] install: passopt [2k]\n", | |
| "[1343/2093, 15:27/18:41] install: patch [1k]\n", | |
| "[1344/2093, 15:28/18:42] install: patchcmd [2k]\n", | |
| "[1345/2093, 15:28/18:42] install: pauldoc [2k]\n", | |
| "[1346/2093, 15:29/18:43] install: pawpict [2k]\n", | |
| "[1347/2093, 15:30/18:44] install: pax.x86_64-linux [1k]\n", | |
| "[1348/2093, 15:30/18:44] install: pax [5142k]\n", | |
| "[1349/2093, 15:31/18:06] install: pb-diagram [16k]\n", | |
| "[1350/2093, 15:32/18:07] install: pbalance [7k]\n", | |
| "[1351/2093, 15:33/18:08] install: pbox [2k]\n", | |
| "[1352/2093, 15:33/18:08] install: pbsheet [6k]\n", | |
| "[1353/2093, 15:34/18:09] install: pdf14 [2k]\n", | |
| "[1354/2093, 15:35/18:11] install: pdfannotations [3k]\n", | |
| "[1355/2093, 15:36/18:12] install: pdfcol [3k]\n", | |
| "[1356/2093, 15:36/18:12] install: pdfcolfoot [2k]\n", | |
| "[1357/2093, 15:37/18:13] install: pdfcolmk [2k]\n", | |
| "[1358/2093, 15:38/18:14] install: pdfcomment [11k]\n", | |
| "[1359/2093, 15:38/18:14] install: pdfcprot [7k]\n", | |
| "[1360/2093, 15:39/18:15] install: pdfcrop.x86_64-linux [1k]\n", | |
| "[1361/2093, 15:39/18:15] install: pdfcrop [11k]\n", | |
| "[1362/2093, 15:40/18:16] install: pdfescape [5k]\n", | |
| "[1363/2093, 15:40/18:16] install: pdflscape [3k]\n", | |
| "[1364/2093, 15:41/18:17] install: pdfmanagement-testphase [57k]\n", | |
| "[1365/2093, 15:42/18:18] install: pdfmarginpar [3k]\n", | |
| "[1366/2093, 15:43/18:19] install: pdfoverlay [3k]\n", | |
| "[1367/2093, 15:44/18:20] install: pdfpagediff [3k]\n", | |
| "[1368/2093, 15:44/18:20] install: pdfpages [15k]\n", | |
| "[1369/2093, 15:45/18:21] install: pdfpc [3k]\n", | |
| "[1370/2093, 15:46/18:22] install: pdfpc-movie [3k]\n", | |
| "[1371/2093, 15:47/18:24] install: pdfprivacy [2k]\n", | |
| "[1372/2093, 15:48/18:25] install: pdfrender [5k]\n", | |
| "[1373/2093, 15:49/18:26] install: pdfreview [7k]\n", | |
| "[1374/2093, 15:49/18:26] install: pdfscreen [83k]\n", | |
| "[1375/2093, 15:50/18:26] install: pdfslide [43k]\n", | |
| "[1376/2093, 15:51/18:27] install: pdfsync [4k]\n", | |
| "[1377/2093, 15:51/18:27] install: pdftexcmds [7k]\n", | |
| "[1378/2093, 15:52/18:28] install: pdfwin [16k]\n", | |
| "[1379/2093, 15:53/18:29] install: pdfx [89k]\n", | |
| "[1380/2093, 15:54/18:30] install: pecha [10k]\n", | |
| "[1381/2093, 15:55/18:31] install: pegmatch [5k]\n", | |
| "[1382/2093, 15:55/18:31] install: perltex.x86_64-linux [1k]\n", | |
| "[1383/2093, 15:56/18:32] install: perltex [8k]\n", | |
| "[1384/2093, 15:57/18:33] install: permute [3k]\n", | |
| "[1385/2093, 15:57/18:33] install: petiteannonce [4k]\n", | |
| "[1386/2093, 15:58/18:34] install: petri-nets.x86_64-linux [1k]\n", | |
| "[1387/2093, 15:59/18:35] install: petri-nets [8k]\n", | |
| "[1388/2093, 15:59/18:35] install: pgf [701k]\n", | |
| "[1389/2093, 15:59/18:30] install: pgf-blur [3k]\n", | |
| "[1390/2093, 16:00/18:31] install: pgf-interference [4k]\n", | |
| "[1391/2093, 16:01/18:32] install: pgf-periodictable [509k]\n", | |
| "[1392/2093, 16:01/18:29] install: pgf-pie [4k]\n", | |
| "[1393/2093, 16:02/18:30] install: pgf-soroban [2k]\n", | |
| "[1394/2093, 16:03/18:31] install: pgf-spectra [250k]\n", | |
| "[1395/2093, 16:03/18:29] install: pgf-umlcd [4k]\n", | |
| "[1396/2093, 16:04/18:30] install: pgf-umlsd [4k]\n", | |
| "[1397/2093, 16:05/18:31] install: pgfgantt [8k]\n", | |
| "[1398/2093, 16:05/18:31] install: pgfkeysearch [3k]\n", | |
| "[1399/2093, 16:06/18:32] install: pgfkeyx [7k]\n", | |
| "[1400/2093, 16:06/18:32] install: pgfmath-xfp [2k]\n", | |
| "[1401/2093, 16:07/18:34] install: pgfmolbio [14k]\n", | |
| "[1402/2093, 16:07/18:33] install: pgfmorepages [7k]\n", | |
| "[1403/2093, 16:09/18:36] install: pgfopts [2k]\n", | |
| "[1404/2093, 16:09/18:36] install: pgfornament [603k]\n", | |
| "[1405/2093, 16:10/18:32] install: pgfplots [518k]\n", | |
| "[1406/2093, 16:10/18:29] install: pgfplotsthemebeamer [2k]\n", | |
| "[1407/2093, 16:11/18:30] install: phfcc [6k]\n", | |
| "[1408/2093, 16:12/18:31] install: phfextendedabstract [4k]\n", | |
| "[1409/2093, 16:13/18:32] install: phffullpagefigure [3k]\n", | |
| "[1410/2093, 16:13/18:32] install: phfnote [19k]\n", | |
| "[1411/2093, 16:14/18:33] install: phfparen [3k]\n", | |
| "[1412/2093, 16:15/18:34] install: phfqit [5k]\n", | |
| "[1413/2093, 16:15/18:34] install: phfquotetext [2k]\n", | |
| "[1414/2093, 16:16/18:35] install: phfsvnwatermark [3k]\n", | |
| "[1415/2093, 16:17/18:36] install: phfthm [6k]\n", | |
| "[1416/2093, 16:17/18:36] install: philex [5k]\n", | |
| "[1417/2093, 16:18/18:37] install: phonenumbers [70k]\n", | |
| "[1418/2093, 16:19/18:38] install: photo [3k]\n", | |
| "[1419/2093, 16:20/18:39] install: photobook [33k]\n", | |
| "[1420/2093, 16:21/18:40] install: picinpar [6k]\n", | |
| "[1421/2093, 16:21/18:40] install: pict2e [8k]\n", | |
| "[1422/2093, 16:22/18:41] install: pictex [41k]\n", | |
| "[1423/2093, 16:23/18:42] install: pictex2 [4k]\n", | |
| "[1424/2093, 16:24/18:43] install: pictochrono [2k]\n", | |
| "[1425/2093, 16:24/18:43] install: picture [3k]\n", | |
| "[1426/2093, 16:25/18:44] install: piff [3k]\n", | |
| "[1427/2093, 16:26/18:45] install: pinlabel [11k]\n", | |
| "[1428/2093, 16:26/18:45] install: pixelart [7k]\n", | |
| "[1429/2093, 16:27/18:46] install: pixelarttikz [6k]\n", | |
| "[1430/2093, 16:28/18:47] install: pkgloader [11k]\n", | |
| "[1431/2093, 16:28/18:47] install: placeins [3k]\n", | |
| "[1432/2093, 16:29/18:48] install: plantslabels [2k]\n", | |
| "[1433/2093, 16:30/18:49] install: plates [6k]\n", | |
| "[1434/2093, 16:30/18:49] install: plweb [4k]\n", | |
| "[1435/2093, 16:31/18:51] install: pmboxdraw [8k]\n", | |
| "[1436/2093, 16:32/18:52] install: pmgraph [10k]\n", | |
| "[1437/2093, 16:32/18:52] install: polyglossia [122k]\n", | |
| "[1438/2093, 16:33/18:52] install: polyhedra [4k]\n", | |
| "[1439/2093, 16:34/18:53] install: polynom [11k]\n", | |
| "[1440/2093, 16:35/18:54] install: polynomial [3k]\n", | |
| "[1441/2093, 16:35/18:54] install: polyomino [3k]\n", | |
| "[1442/2093, 16:36/18:55] install: polytable [7k]\n", | |
| "[1443/2093, 16:37/18:56] install: postage [2k]\n", | |
| "[1444/2093, 16:37/18:56] install: postcards [2k]\n", | |
| "[1445/2093, 16:38/18:57] install: poster-mac [4k]\n", | |
| "[1446/2093, 16:39/18:58] install: postit [5k]\n", | |
| "[1447/2093, 16:39/18:58] install: postnotes [11k]\n", | |
| "[1448/2093, 16:40/18:59] install: powerdot [26k]\n", | |
| "[1449/2093, 16:41/19:00] install: ppr-prv [6k]\n", | |
| "[1450/2093, 16:42/19:01] install: ppt-slides [5k]\n", | |
| "[1451/2093, 16:42/19:01] install: practicalreports [2k]\n", | |
| "[1452/2093, 16:43/19:03] install: precattl [4k]\n", | |
| "[1453/2093, 16:43/19:03] install: prelim2e [2k]\n", | |
| "[1454/2093, 16:44/19:04] install: preprint [7k]\n", | |
| "[1455/2093, 16:45/19:05] install: prerex [6k]\n", | |
| "[1456/2093, 16:45/19:05] install: pressrelease [4k]\n", | |
| "[1457/2093, 16:46/19:06] install: prettyref [2k]\n", | |
| "[1458/2093, 16:47/19:07] install: prettytok [6k]\n", | |
| "[1459/2093, 16:48/19:08] install: preview [7k]\n", | |
| "[1460/2093, 16:48/19:08] install: printlen [2k]\n", | |
| "[1461/2093, 16:49/19:09] install: prisma-flow-diagram [2k]\n", | |
| "[1462/2093, 16:50/19:10] install: probsoln [7k]\n", | |
| "[1463/2093, 16:51/19:11] install: productbox [5k]\n", | |
| "[1464/2093, 16:52/19:12] install: profmaquette [34k]\n", | |
| "[1465/2093, 16:52/19:12] install: program [12k]\n", | |
| "[1466/2093, 16:53/19:13] install: progress [5k]\n", | |
| "[1467/2093, 16:53/19:13] install: progressbar [3k]\n", | |
| "[1468/2093, 16:54/19:14] install: projlib [31k]\n", | |
| "[1469/2093, 16:54/19:14] install: pronunciation [145k]\n", | |
| "[1470/2093, 16:55/19:14] install: proofread [3k]\n", | |
| "[1471/2093, 16:56/19:15] install: properties [2k]\n", | |
| "[1472/2093, 16:56/19:15] install: prosper [93k]\n", | |
| "[1473/2093, 16:57/19:16] install: protex [15k]\n", | |
| "[1474/2093, 16:58/19:17] install: protocol [3k]\n", | |
| "[1475/2093, 16:59/19:18] install: psfrag [5k]\n", | |
| "[1476/2093, 17:00/19:19] install: psfragx [4k]\n", | |
| "[1477/2093, 17:01/19:20] install: pslatex [6k]\n", | |
| "[1478/2093, 17:02/19:21] install: psnfss [12k]\n", | |
| "[1479/2093, 17:03/19:22] install: pspicture [2k]\n", | |
| "[1480/2093, 17:03/19:22] install: pstool [7k]\n", | |
| "[1481/2093, 17:04/19:23] install: pstring [8k]\n", | |
| "[1482/2093, 17:05/19:24] install: ptolemaicastronomy [2k]\n", | |
| "[1483/2093, 17:05/19:24] install: puyotikz [4k]\n", | |
| "[1484/2093, 17:06/19:25] install: pxfonts [450k]\n", | |
| "[1485/2093, 17:07/19:23] install: pxgreeks [3k]\n", | |
| "[1486/2093, 17:08/19:24] install: pxpgfmark [1k]\n", | |
| "[1487/2093, 17:08/19:24] install: pxpic [4k]\n", | |
| "[1488/2093, 17:09/19:25] install: pygmentex.x86_64-linux [1k]\n", | |
| "[1489/2093, 17:09/19:25] install: pygmentex [8k]\n", | |
| "[1490/2093, 17:10/19:26] install: pynotebook [4k]\n", | |
| "[1491/2093, 17:10/19:26] install: python [2k]\n", | |
| "[1492/2093, 17:11/19:27] install: pythonimmediate [5k]\n", | |
| "[1493/2093, 17:11/19:27] install: q-and-a [10k]\n", | |
| "[1494/2093, 17:12/19:28] install: qcircuit [5k]\n", | |
| "[1495/2093, 17:13/19:30] install: qcm [4k]\n", | |
| "[1496/2093, 17:14/19:31] install: qrcode [20k]\n", | |
| "[1497/2093, 17:15/19:32] install: qrcodetikz [4k]\n", | |
| "[1498/2093, 17:15/19:32] install: qstest [5k]\n", | |
| "[1499/2093, 17:16/19:33] install: qsymbols [8k]\n", | |
| "[1500/2093, 17:17/19:34] install: quicktype [2k]\n", | |
| "[1501/2093, 17:18/19:35] install: quiz2socrative [3k]\n", | |
| "[1502/2093, 17:18/19:35] install: quotchap [3k]\n", | |
| "[1503/2093, 17:19/19:36] install: quoting [2k]\n", | |
| "[1504/2093, 17:20/19:37] install: quotmark [6k]\n", | |
| "[1505/2093, 17:21/19:38] install: ragged2e [3k]\n", | |
| "[1506/2093, 17:22/19:39] install: rainbowbrackets [4k]\n", | |
| "[1507/2093, 17:22/19:39] install: ran_toks [6k]\n", | |
| "[1508/2093, 17:23/19:40] install: randbild [2k]\n", | |
| "[1509/2093, 17:23/19:40] install: randexam [12k]\n", | |
| "[1510/2093, 17:24/19:41] install: randintlist [3k]\n", | |
| "[1511/2093, 17:25/19:43] install: randomwalk [3k]\n", | |
| "[1512/2093, 17:25/19:43] install: randtext [3k]\n", | |
| "[1513/2093, 17:26/19:44] install: rccol [3k]\n", | |
| "[1514/2093, 17:27/19:45] install: rcs [13k]\n", | |
| "[1515/2093, 17:28/19:46] install: rcs-multi [3k]\n", | |
| "[1516/2093, 17:28/19:46] install: rcsinfo [4k]\n", | |
| "[1517/2093, 17:29/19:47] install: readablecv [4k]\n", | |
| "[1518/2093, 17:29/19:47] install: readarray [6k]\n", | |
| "[1519/2093, 17:30/19:48] install: realboxes [3k]\n", | |
| "[1520/2093, 17:31/19:49] install: realhats [1741k]\n", | |
| "[1521/2093, 17:32/19:37] install: recipe [2k]\n", | |
| "[1522/2093, 17:32/19:37] install: recipebook [4k]\n", | |
| "[1523/2093, 17:33/19:38] install: recipecard [3k]\n", | |
| "[1524/2093, 17:33/19:38] install: rectopma [1k]\n", | |
| "[1525/2093, 17:34/19:39] install: refcheck [4k]\n", | |
| "[1526/2093, 17:35/19:40] install: refcount [3k]\n", | |
| "[1527/2093, 17:36/19:41] install: refenums [3k]\n", | |
| "[1528/2093, 17:37/19:42] install: reflectgraphics [3k]\n", | |
| "[1529/2093, 17:37/19:42] install: refman [10k]\n", | |
| "[1530/2093, 17:38/19:43] install: refstyle [6k]\n", | |
| "[1531/2093, 17:39/19:44] install: regcount [2k]\n", | |
| "[1532/2093, 17:40/19:45] install: regexpatch [4k]\n", | |
| "[1533/2093, 17:40/19:45] install: register [5k]\n", | |
| "[1534/2093, 17:41/19:46] install: regstats [4k]\n", | |
| "[1535/2093, 17:42/19:48] install: relenc [11k]\n", | |
| "[1536/2093, 17:42/19:47] install: relsize [6k]\n", | |
| "[1537/2093, 17:43/19:49] install: reotex [5k]\n", | |
| "[1538/2093, 17:44/19:50] install: repeatindex [2k]\n", | |
| "[1539/2093, 17:44/19:50] install: repltext [2k]\n", | |
| "[1540/2093, 17:45/19:51] install: rerunfilecheck [4k]\n", | |
| "[1541/2093, 17:45/19:51] install: rescansync [3k]\n", | |
| "[1542/2093, 17:46/19:52] install: resmes [1k]\n", | |
| "[1543/2093, 17:47/19:53] install: responsive [5k]\n", | |
| "[1544/2093, 17:48/19:54] install: returntogrid [4k]\n", | |
| "[1545/2093, 17:48/19:54] install: rgltxdoc [4k]\n", | |
| "[1546/2093, 17:49/19:55] install: rjlparshap [2k]\n", | |
| "[1547/2093, 17:49/19:55] install: rlepsf [3k]\n", | |
| "[1548/2093, 17:50/19:56] install: rmpage [61k]\n", | |
| "[1549/2093, 17:51/19:57] install: robotarm [3k]\n", | |
| "[1550/2093, 17:52/19:58] install: robust-externalize [37k]\n", | |
| "[1551/2093, 17:53/19:59] install: robustcommand [2k]\n", | |
| "[1552/2093, 17:53/19:59] install: robustindex [5k]\n", | |
| "[1553/2093, 17:54/20:00] install: romanbar [3k]\n", | |
| "[1554/2093, 17:55/20:01] install: romanbarpagenumber [1k]\n", | |
| "[1555/2093, 17:55/20:01] install: romanneg [2k]\n", | |
| "[1556/2093, 17:56/20:02] install: romannum [2k]\n", | |
| "[1557/2093, 17:56/20:02] install: rorlink [3k]\n", | |
| "[1558/2093, 17:57/20:03] install: rotfloat [2k]\n", | |
| "[1559/2093, 17:58/20:04] install: rotpages [3k]\n", | |
| "[1560/2093, 17:58/20:04] install: roundbox [2k]\n", | |
| "[1561/2093, 17:59/20:05] install: rterface [2k]\n", | |
| "[1562/2093, 17:59/20:05] install: rtkinenc [3k]\n", | |
| "[1563/2093, 18:00/20:06] install: rulerbox [2k]\n", | |
| "[1564/2093, 18:00/20:06] install: rulercompass [4k]\n", | |
| "[1565/2093, 18:01/20:07] install: runcode [6k]\n", | |
| "[1566/2093, 18:02/20:09] install: rviewport [2k]\n", | |
| "[1567/2093, 18:03/20:10] install: rvwrite [2k]\n", | |
| "[1568/2093, 18:04/20:11] install: sa-tikz [6k]\n", | |
| "[1569/2093, 18:05/20:12] install: sacsymb [2k]\n", | |
| "[1570/2093, 18:05/20:12] install: sanitize-umlaut [3k]\n", | |
| "[1571/2093, 18:06/20:13] install: sansmath [4k]\n", | |
| "[1572/2093, 18:07/20:14] install: sauerj [5k]\n", | |
| "[1573/2093, 18:07/20:14] install: saveenv [3k]\n", | |
| "[1574/2093, 18:08/20:15] install: savefnmark [2k]\n", | |
| "[1575/2093, 18:09/20:16] install: savesym [2k]\n", | |
| "[1576/2093, 18:09/20:16] install: savetrees [9k]\n", | |
| "[1577/2093, 18:10/20:17] install: scale [2k]\n", | |
| "[1578/2093, 18:11/20:18] install: scalebar [2k]\n", | |
| "[1579/2093, 18:11/20:18] install: scalerel [3k]\n", | |
| "[1580/2093, 18:12/20:19] install: scaletextbullet [3k]\n", | |
| "[1581/2093, 18:13/20:20] install: scanpages [5k]\n", | |
| "[1582/2093, 18:13/20:20] install: schedule [5k]\n", | |
| "[1583/2093, 18:14/20:22] install: schemabloc [3k]\n", | |
| "[1584/2093, 18:15/20:23] install: schooldocs [4k]\n", | |
| "[1585/2093, 18:16/20:24] install: scontents [10k]\n", | |
| "[1586/2093, 18:16/20:24] install: scrambledenvs [3k]\n", | |
| "[1587/2093, 18:17/20:25] install: scratch [9k]\n", | |
| "[1588/2093, 18:17/20:25] install: scratch3 [9k]\n", | |
| "[1589/2093, 18:18/20:26] install: scrhack [10k]\n", | |
| "[1590/2093, 18:19/20:27] install: scrlayer-fancyhdr [2k]\n", | |
| "[1591/2093, 18:19/20:27] install: scrlttr2copy [2k]\n", | |
| "[1592/2093, 18:20/20:28] install: scrwfile [3k]\n", | |
| "[1593/2093, 18:21/20:29] install: scsnowman [7k]\n", | |
| "[1594/2093, 18:22/20:30] install: sdaps [32k]\n", | |
| "[1595/2093, 18:23/20:31] install: sdrt [3k]\n", | |
| "[1596/2093, 18:23/20:31] install: secdot [2k]\n", | |
| "[1597/2093, 18:24/20:32] install: secnum [3k]\n", | |
| "[1598/2093, 18:24/20:32] install: section [10k]\n", | |
| "[1599/2093, 18:25/20:33] install: sectionbox [2k]\n", | |
| "[1600/2093, 18:26/20:34] install: sectionbreak [2k]\n", | |
| "[1601/2093, 18:27/20:35] install: sectsty [5k]\n", | |
| "[1602/2093, 18:28/20:36] install: seealso [3k]\n", | |
| "[1603/2093, 18:28/20:36] install: selectp [5k]\n", | |
| "[1604/2093, 18:29/20:37] install: selinput [3k]\n", | |
| "[1605/2093, 18:29/20:37] install: semantex [26k]\n", | |
| "[1606/2093, 18:30/20:38] install: semantic [7k]\n", | |
| "[1607/2093, 18:30/20:38] install: semantic-markup [3k]\n", | |
| "[1608/2093, 18:32/20:40] install: semesterplanner [2k]\n", | |
| "[1609/2093, 18:32/20:40] install: seminar [30k]\n", | |
| "[1610/2093, 18:33/20:41] install: semioneside [2k]\n", | |
| "[1611/2093, 18:34/20:42] install: semproc [3k]\n", | |
| "[1612/2093, 18:34/20:42] install: semtex [2k]\n", | |
| "[1613/2093, 18:35/20:43] install: sepfootnotes [3k]\n", | |
| "[1614/2093, 18:36/20:45] install: sepnum [3k]\n", | |
| "[1615/2093, 18:37/20:46] install: seqsplit [2k]\n", | |
| "[1616/2093, 18:37/20:46] install: sesstime [4k]\n", | |
| "[1617/2093, 18:38/20:47] install: setdeck [3k]\n", | |
| "[1618/2093, 18:38/20:47] install: setspace [8k]\n", | |
| "[1619/2093, 18:39/20:48] install: setspaceenhanced [2k]\n", | |
| "[1620/2093, 18:40/20:49] install: sf298 [7k]\n", | |
| "[1621/2093, 18:41/20:50] install: sffms [4k]\n", | |
| "[1622/2093, 18:42/20:51] install: sfmath [5k]\n", | |
| "[1623/2093, 18:42/20:51] install: shadethm [8k]\n", | |
| "[1624/2093, 18:43/20:52] install: shadow [2k]\n", | |
| "[1625/2093, 18:43/20:52] install: shadowtext [2k]\n", | |
| "[1626/2093, 18:44/20:53] install: shapepar [16k]\n", | |
| "[1627/2093, 18:45/20:54] install: shdoc [3k]\n", | |
| "[1628/2093, 18:45/20:54] install: shipunov [20k]\n", | |
| "[1629/2093, 18:46/20:55] install: shorttoc [2k]\n", | |
| "[1630/2093, 18:47/20:56] install: show2e [2k]\n", | |
| "[1631/2093, 18:48/20:57] install: showcharinbox [2k]\n", | |
| "[1632/2093, 18:49/20:58] install: showdim [2k]\n", | |
| "[1633/2093, 18:50/20:59] install: showexpl [5k]\n", | |
| "[1634/2093, 18:50/20:59] install: showlabels [4k]\n", | |
| "[1635/2093, 18:51/21:01] install: sidecap [4k]\n", | |
| "[1636/2093, 18:52/21:02] install: sidenotes [5k]\n", | |
| "[1637/2093, 18:53/21:03] install: sidenotesplus [6k]\n", | |
| "[1638/2093, 18:53/21:03] install: signchart [2k]\n", | |
| "[1639/2093, 18:54/21:04] install: silence [4k]\n", | |
| "[1640/2093, 18:55/21:05] install: sillypage [17k]\n", | |
| "[1641/2093, 18:55/21:05] install: sim-os-menus [7k]\n", | |
| "[1642/2093, 18:56/21:06] install: simplecd [7k]\n", | |
| "[1643/2093, 18:57/21:07] install: simplecv [3k]\n", | |
| "[1644/2093, 18:58/21:08] install: simpleinvoice [3k]\n", | |
| "[1645/2093, 18:58/21:08] install: simplenodes [3k]\n", | |
| "[1646/2093, 18:59/21:09] install: simpleoptics [2k]\n", | |
| "[1647/2093, 19:00/21:10] install: simplivre [6k]\n", | |
| "[1648/2093, 19:01/21:11] install: sitem [1k]\n", | |
| "[1649/2093, 19:02/21:12] install: siunitx [68k]\n", | |
| "[1650/2093, 19:02/21:12] install: skb [7k]\n", | |
| "[1651/2093, 19:03/21:13] install: skdoc [10k]\n", | |
| "[1652/2093, 19:04/21:14] install: skeldoc [7k]\n", | |
| "[1653/2093, 19:04/21:14] install: skeycommand [5k]\n", | |
| "[1654/2093, 19:05/21:15] install: skeyval [97k]\n", | |
| "[1655/2093, 19:06/21:15] install: skills [4k]\n", | |
| "[1656/2093, 19:07/21:16] install: skrapport [13k]\n", | |
| "[1657/2093, 19:08/21:17] install: slantsc [2k]\n", | |
| "[1658/2093, 19:08/21:17] install: smalltableof [1k]\n", | |
| "[1659/2093, 19:09/21:18] install: smart-eqn [3k]\n", | |
| "[1660/2093, 19:10/21:19] install: smartdiagram [7k]\n", | |
| "[1661/2093, 19:10/21:19] install: smartref [4k]\n", | |
| "[1662/2093, 19:11/21:20] install: smartunits [4k]\n", | |
| "[1663/2093, 19:12/21:22] install: snapshot [6k]\n", | |
| "[1664/2093, 19:12/21:22] install: snaptodo [2k]\n", | |
| "[1665/2093, 19:13/21:23] install: snotez [4k]\n", | |
| "[1666/2093, 19:14/21:24] install: soul [9k]\n", | |
| "[1667/2093, 19:14/21:24] install: soulpos [4k]\n", | |
| "[1668/2093, 19:15/21:25] install: spacingtricks [2k]\n", | |
| "[1669/2093, 19:16/21:26] install: spark-otf [171k]\n", | |
| "[1670/2093, 19:17/21:26] install: sparklines [3k]\n", | |
| "[1671/2093, 19:18/21:27] install: spath3 [26k]\n", | |
| "[1672/2093, 19:18/21:26] install: spectralsequences [71k]\n", | |
| "[1673/2093, 19:19/21:27] install: spelatex [5k]\n", | |
| "[1674/2093, 19:20/21:28] install: sphack [3k]\n", | |
| "[1675/2093, 19:21/21:29] install: splitindex.x86_64-linux [1k]\n", | |
| "[1676/2093, 19:22/21:30] install: splitindex [8k]\n", | |
| "[1677/2093, 19:22/21:30] install: spot [3k]\n", | |
| "[1678/2093, 19:23/21:31] install: spotcolor [9k]\n", | |
| "[1679/2093, 19:23/21:31] install: spreadtab [23k]\n", | |
| "[1680/2093, 19:24/21:32] install: spverbatim [2k]\n", | |
| "[1681/2093, 19:24/21:32] install: srbook-mem [2k]\n", | |
| "[1682/2093, 19:25/21:33] install: srcltx [3k]\n", | |
| "[1683/2093, 19:26/21:34] install: sseq [8k]\n", | |
| "[1684/2093, 19:26/21:34] install: sslides [2k]\n", | |
| "[1685/2093, 19:27/21:35] install: stack [2k]\n", | |
| "[1686/2093, 19:28/21:36] install: stackengine [6k]\n", | |
| "[1687/2093, 19:28/21:36] install: standalone [13k]\n", | |
| "[1688/2093, 19:29/21:37] install: standardsectioning [3k]\n", | |
| "[1689/2093, 19:29/21:37] install: starray [10k]\n", | |
| "[1690/2093, 19:30/21:38] install: stdclsdv [2k]\n", | |
| "[1691/2093, 19:31/21:39] install: stdpage [3k]\n", | |
| "[1692/2093, 19:31/21:39] install: stealcaps [2k]\n", | |
| "[1693/2093, 19:32/21:41] install: stex [89k]\n", | |
| "[1694/2093, 19:32/21:40] install: stocksize [2k]\n", | |
| "[1695/2093, 19:33/21:41] install: storebox [3k]\n", | |
| "[1696/2093, 19:33/21:41] install: storecmd [4k]\n", | |
| "[1697/2093, 19:34/21:42] install: strands [8k]\n", | |
| "[1698/2093, 19:35/21:43] install: stringenc [23k]\n", | |
| "[1699/2093, 19:36/21:44] install: stringstrings [10k]\n", | |
| "[1700/2093, 19:36/21:44] install: sttools [13k]\n", | |
| "[1701/2093, 19:37/21:45] install: stubs [2k]\n", | |
| "[1702/2093, 19:38/21:46] install: studenthandouts [5k]\n", | |
| "[1703/2093, 19:38/21:46] install: styledcmd [3k]\n", | |
| "[1704/2093, 19:39/21:47] install: subdepth [2k]\n", | |
| "[1705/2093, 19:39/21:47] install: subdocs [3k]\n", | |
| "[1706/2093, 19:40/21:48] install: subeqn [2k]\n", | |
| "[1707/2093, 19:40/21:48] install: subeqnarray [3k]\n", | |
| "[1708/2093, 19:41/21:49] install: subfig [7k]\n", | |
| "[1709/2093, 19:42/21:50] install: subfigmat [3k]\n", | |
| "[1710/2093, 19:43/21:51] install: subfigure [5k]\n", | |
| "[1711/2093, 19:43/21:51] install: subfiles [3k]\n", | |
| "[1712/2093, 19:44/21:52] install: subfloat [2k]\n", | |
| "[1713/2093, 19:44/21:52] install: substr [2k]\n", | |
| "[1714/2093, 19:45/21:53] install: sunpath [2k]\n", | |
| "[1715/2093, 19:45/21:53] install: supertabular [4k]\n", | |
| "[1716/2093, 19:46/21:54] install: suppose [3k]\n", | |
| "[1717/2093, 19:47/21:56] install: svg [14k]\n", | |
| "[1718/2093, 19:47/21:55] install: svgcolor [4k]\n", | |
| "[1719/2093, 19:48/21:57] install: svn [2k]\n", | |
| "[1720/2093, 19:48/21:56] install: svn-multi.x86_64-linux [1k]\n", | |
| "[1721/2093, 19:49/21:58] install: svn-multi [13k]\n", | |
| "[1722/2093, 19:49/21:57] install: svn-prov [3k]\n", | |
| "[1723/2093, 19:50/21:59] install: svninfo [4k]\n", | |
| "[1724/2093, 19:50/21:59] install: swfigure [5k]\n", | |
| "[1725/2093, 19:51/22:00] install: swimgraf [12k]\n", | |
| "[1726/2093, 19:51/22:00] install: switch [2k]\n", | |
| "[1727/2093, 19:52/22:01] install: swungdash [2k]\n", | |
| "[1728/2093, 19:53/22:02] install: symbol [36k]\n", | |
| "[1729/2093, 19:54/22:03] install: syntax [3k]\n", | |
| "[1730/2093, 19:54/22:03] install: syntaxdi [2k]\n", | |
| "[1731/2093, 19:55/22:04] install: synthslant [3k]\n", | |
| "[1732/2093, 19:56/22:05] install: syntrace [2k]\n", | |
| "[1733/2093, 19:57/22:06] install: synttree [4k]\n", | |
| "[1734/2093, 19:57/22:06] install: tabbing [2k]\n", | |
| "[1735/2093, 19:58/22:07] install: tabfigures [3k]\n", | |
| "[1736/2093, 19:59/22:08] install: table-fct [3k]\n", | |
| "[1737/2093, 19:59/22:08] install: tableaux [3k]\n", | |
| "[1738/2093, 20:00/22:09] install: tablefootnote [4k]\n", | |
| "[1739/2093, 20:01/22:10] install: tableof [3k]\n", | |
| "[1740/2093, 20:02/22:11] install: tablericons [1736k]\n", | |
| "[1741/2093, 20:02/21:56] install: tablists [3k]\n", | |
| "[1742/2093, 20:03/21:58] install: tabls [5k]\n", | |
| "[1743/2093, 20:04/21:59] install: tablvar [6k]\n", | |
| "[1744/2093, 20:05/22:00] install: tabstackengine [6k]\n", | |
| "[1745/2093, 20:06/22:01] install: tabto-ltx [4k]\n", | |
| "[1746/2093, 20:06/22:01] install: tabu [24k]\n", | |
| "[1747/2093, 20:07/22:02] install: tabularborder [2k]\n", | |
| "[1748/2093, 20:08/22:03] install: tabularcalc [5k]\n", | |
| "[1749/2093, 20:08/22:03] install: tabularew [3k]\n", | |
| "[1750/2093, 20:09/22:04] install: tabularray [49k]\n", | |
| "[1751/2093, 20:10/22:04] install: tabulary [5k]\n", | |
| "[1752/2093, 20:11/22:05] install: tagging [2k]\n", | |
| "[1753/2093, 20:11/22:05] install: tagpair [2k]\n", | |
| "[1754/2093, 20:12/22:07] install: tagpdf [42k]\n", | |
| "[1755/2093, 20:12/22:06] install: talk [5k]\n", | |
| "[1756/2093, 20:13/22:07] install: tamefloats [5k]\n", | |
| "[1757/2093, 20:14/22:08] install: tangocolors [2k]\n", | |
| "[1758/2093, 20:14/22:08] install: tasks [8k]\n", | |
| "[1759/2093, 20:15/22:09] install: tblr-extras [3k]\n", | |
| "[1760/2093, 20:16/22:10] install: tcldoc [7k]\n", | |
| "[1761/2093, 20:16/22:10] install: tcolorbox [230k]\n", | |
| "[1762/2093, 20:17/22:09] install: tdclock [4k]\n", | |
| "[1763/2093, 20:18/22:11] install: technics [2k]\n", | |
| "[1764/2093, 20:18/22:11] install: ted [4k]\n", | |
| "[1765/2093, 20:19/22:12] install: telprint [3k]\n", | |
| "[1766/2093, 20:20/22:13] install: templatetools [3k]\n", | |
| "[1767/2093, 20:20/22:13] install: termcal [3k]\n", | |
| "[1768/2093, 20:21/22:14] install: termlist [2k]\n", | |
| "[1769/2093, 20:22/22:15] install: termsim [4k]\n", | |
| "[1770/2093, 20:23/22:16] install: testhyphens [2k]\n", | |
| "[1771/2093, 20:23/22:16] install: testidx [44k]\n", | |
| "[1772/2093, 20:24/22:17] install: tex-label [1k]\n", | |
| "[1773/2093, 20:25/22:18] install: tex-locale [13k]\n", | |
| "[1774/2093, 20:26/22:19] install: texdraw [16k]\n", | |
| "[1775/2093, 20:27/22:20] install: texlogos [2k]\n", | |
| "[1776/2093, 20:27/22:20] install: texmate [6k]\n", | |
| "[1777/2093, 20:28/22:21] install: texments [2k]\n", | |
| "[1778/2093, 20:29/22:22] install: texpower [40k]\n", | |
| "[1779/2093, 20:29/22:21] install: texshade [62k]\n", | |
| "[1780/2093, 20:30/22:22] install: texsurgery [3k]\n", | |
| "[1781/2093, 20:31/22:23] install: textcase [2k]\n", | |
| "[1782/2093, 20:32/22:24] install: textcsc [2k]\n", | |
| "[1783/2093, 20:33/22:25] install: textfit [3k]\n", | |
| "[1784/2093, 20:33/22:25] install: textmerg [2k]\n", | |
| "[1785/2093, 20:34/22:26] install: textpos [5k]\n", | |
| "[1786/2093, 20:34/22:26] install: textualicomma [2k]\n", | |
| "[1787/2093, 20:35/22:27] install: texvc [2k]\n", | |
| "[1788/2093, 20:35/22:27] install: theoremref [5k]\n", | |
| "[1789/2093, 20:36/22:28] install: thinsp [2k]\n", | |
| "[1790/2093, 20:37/22:29] install: threadcol [2k]\n", | |
| "[1791/2093, 20:38/22:31] install: threeparttable [6k]\n", | |
| "[1792/2093, 20:39/22:32] install: threeparttablex [3k]\n", | |
| "[1793/2093, 20:40/22:33] install: thumb [4k]\n", | |
| "[1794/2093, 20:41/22:34] install: thumbpdf.x86_64-linux [1k]\n", | |
| "[1795/2093, 20:42/22:35] install: thumbpdf [19k]\n", | |
| "[1796/2093, 20:43/22:36] install: thumbs [11k]\n", | |
| "[1797/2093, 20:43/22:36] install: thumby [4k]\n", | |
| "[1798/2093, 20:44/22:37] install: ticket [4k]\n", | |
| "[1799/2093, 20:44/22:37] install: ticollege [5k]\n", | |
| "[1800/2093, 20:45/22:38] install: tikz-3dplot [8k]\n", | |
| "[1801/2093, 20:45/22:38] install: tikz-among-us [7k]\n", | |
| "[1802/2093, 20:46/22:39] install: tikz-bagua [2k]\n", | |
| "[1803/2093, 20:47/22:40] install: tikz-bayesnet [2k]\n", | |
| "[1804/2093, 20:48/22:41] install: tikz-bbox [2k]\n", | |
| "[1805/2093, 20:48/22:41] install: tikz-bpmn [10k]\n", | |
| "[1806/2093, 20:49/22:42] install: tikz-cd [7k]\n", | |
| "[1807/2093, 20:49/22:42] install: tikz-cookingsymbols [4k]\n", | |
| "[1808/2093, 20:50/22:43] install: tikz-decofonts [8k]\n", | |
| "[1809/2093, 20:51/22:44] install: tikz-dependency [16k]\n", | |
| "[1810/2093, 20:52/22:45] install: tikz-dimline [2k]\n", | |
| "[1811/2093, 20:53/22:46] install: tikz-ext [42k]\n", | |
| "[1812/2093, 20:53/22:46] install: tikz-feynhand [7k]\n", | |
| "[1813/2093, 20:54/22:47] install: tikz-feynman [16k]\n", | |
| "[1814/2093, 20:55/22:48] install: tikz-imagelabels [3k]\n", | |
| "[1815/2093, 20:56/22:49] install: tikz-inet [3k]\n", | |
| "[1816/2093, 20:56/22:49] install: tikz-kalender [5k]\n", | |
| "[1817/2093, 20:57/22:50] install: tikz-karnaugh [7k]\n", | |
| "[1818/2093, 20:58/22:51] install: tikz-ladder [5k]\n", | |
| "[1819/2093, 20:59/22:52] install: tikz-lake-fig [5k]\n", | |
| "[1820/2093, 20:59/22:52] install: tikz-layers [2k]\n", | |
| "[1821/2093, 21:00/22:53] install: tikz-mirror-lens [3k]\n", | |
| "[1822/2093, 21:00/22:53] install: tikz-nef [2k]\n", | |
| "[1823/2093, 21:01/22:54] install: tikz-network [9k]\n", | |
| "[1824/2093, 21:02/22:55] install: tikz-nfold [8k]\n", | |
| "[1825/2093, 21:03/22:56] install: tikz-opm [2k]\n", | |
| "[1826/2093, 21:04/22:57] install: tikz-optics [13k]\n", | |
| "[1827/2093, 21:05/22:58] install: tikz-osci [4k]\n", | |
| "[1828/2093, 21:05/22:58] install: tikz-page [4k]\n", | |
| "[1829/2093, 21:06/22:59] install: tikz-palattice [6k]\n", | |
| "[1830/2093, 21:06/22:59] install: tikz-planets [5k]\n", | |
| "[1831/2093, 21:07/23:00] install: tikz-qtree [8k]\n", | |
| "[1832/2093, 21:07/23:00] install: tikz-relay [7k]\n", | |
| "[1833/2093, 21:08/23:01] install: tikz-sfc [3k]\n", | |
| "[1834/2093, 21:09/23:02] install: tikz-swigs [6k]\n", | |
| "[1835/2093, 21:10/23:03] install: tikz-timing [19k]\n", | |
| "[1836/2093, 21:11/23:04] install: tikz-trackschematic [16k]\n", | |
| "[1837/2093, 21:11/23:04] install: tikz-truchet [3k]\n", | |
| "[1838/2093, 21:12/23:05] install: tikz2d-fr [3k]\n", | |
| "[1839/2093, 21:12/23:05] install: tikz3d-fr [5k]\n", | |
| "[1840/2093, 21:13/23:06] install: tikzbricks [3k]\n", | |
| "[1841/2093, 21:13/23:06] install: tikzcalendarnotes [10k]\n", | |
| "[1842/2093, 21:14/23:07] install: tikzcodeblocks [6k]\n", | |
| "[1843/2093, 21:14/23:07] install: tikzdotncross [4k]\n", | |
| "[1844/2093, 21:15/23:08] install: tikzducks [19k]\n", | |
| "[1845/2093, 21:16/23:09] install: tikzfill [5k]\n", | |
| "[1846/2093, 21:17/23:10] install: tikzfxgraph [5k]\n", | |
| "[1847/2093, 21:18/23:11] install: tikzinclude [2k]\n", | |
| "[1848/2093, 21:19/23:12] install: tikzlings [43k]\n", | |
| "[1849/2093, 21:19/23:12] install: tikzmark [9k]\n", | |
| "[1850/2093, 21:20/23:13] install: tikzmarmots [3k]\n", | |
| "[1851/2093, 21:20/23:13] install: tikzorbital [4k]\n", | |
| "[1852/2093, 21:21/23:14] install: tikzpackets [3k]\n", | |
| "[1853/2093, 21:22/23:15] install: tikzpagenodes [2k]\n", | |
| "[1854/2093, 21:23/23:16] install: tikzpeople [21k]\n", | |
| "[1855/2093, 21:23/23:16] install: tikzpfeile [2k]\n", | |
| "[1856/2093, 21:24/23:17] install: tikzpingus [44k]\n", | |
| "[1857/2093, 21:24/23:16] install: tikzposter [12k]\n", | |
| "[1858/2093, 21:25/23:17] install: tikzquads [11k]\n", | |
| "[1859/2093, 21:26/23:18] install: tikzquests [5k]\n", | |
| "[1860/2093, 21:27/23:19] install: tikzscale [5k]\n", | |
| "[1861/2093, 21:27/23:19] install: tikzsymbols [15k]\n", | |
| "[1862/2093, 21:28/23:20] install: tikztosvg.x86_64-linux [1k]\n", | |
| "[1863/2093, 21:29/23:21] install: tikztosvg [3k]\n", | |
| "[1864/2093, 21:30/23:22] install: tikzviolinplots [5k]\n", | |
| "[1865/2093, 21:31/23:23] install: tile-graphic [4k]\n", | |
| "[1866/2093, 21:32/23:25] install: tilings [11k]\n", | |
| "[1867/2093, 21:33/23:26] install: timechart [8k]\n", | |
| "[1868/2093, 21:34/23:27] install: timeop [3k]\n", | |
| "[1869/2093, 21:34/23:27] install: timing-diagrams [3k]\n", | |
| "[1870/2093, 21:35/23:28] install: tipa [2809k]\n", | |
| "[1871/2093, 21:36/23:04] install: tipauni [7k]\n", | |
| "[1872/2093, 21:37/23:05] install: tipfr [6k]\n", | |
| "[1873/2093, 21:37/23:05] install: titlecaps [5k]\n", | |
| "[1874/2093, 21:38/23:06] install: titlefoot [3k]\n", | |
| "[1875/2093, 21:39/23:07] install: titlepic [2k]\n", | |
| "[1876/2093, 21:40/23:08] install: titleref [3k]\n", | |
| "[1877/2093, 21:40/23:08] install: titlesec [20k]\n", | |
| "[1878/2093, 21:41/23:09] install: titling [3k]\n", | |
| "[1879/2093, 21:42/23:10] install: tkz-base [16k]\n", | |
| "[1880/2093, 21:43/23:11] install: tkz-berge [9k]\n", | |
| "[1881/2093, 21:43/23:11] install: tkz-bernoulli [3k]\n", | |
| "[1882/2093, 21:44/23:12] install: tkz-doc [7k]\n", | |
| "[1883/2093, 21:45/23:13] install: tkz-elements [40k]\n", | |
| "[1884/2093, 21:46/23:14] install: tkz-euclide [42k]\n", | |
| "[1885/2093, 21:46/23:13] install: tkz-fct [5k]\n", | |
| "[1886/2093, 21:47/23:14] install: tkz-graph [7k]\n", | |
| "[1887/2093, 21:48/23:16] install: tkz-grapheur [20k]\n", | |
| "[1888/2093, 21:48/23:15] install: tkz-orm [8k]\n", | |
| "[1889/2093, 21:49/23:16] install: tkz-tab [7k]\n", | |
| "[1890/2093, 21:50/23:17] install: tkzexample [4k]\n", | |
| "[1891/2093, 21:50/23:17] install: to-be-determined [2k]\n", | |
| "[1892/2093, 21:51/23:18] install: tocbibind [3k]\n", | |
| "[1893/2093, 21:51/23:18] install: tocdata [4k]\n", | |
| "[1894/2093, 21:52/23:19] install: tocloft [7k]\n", | |
| "[1895/2093, 21:53/23:20] install: tocvsec2 [2k]\n", | |
| "[1896/2093, 21:54/23:21] install: todo [2k]\n", | |
| "[1897/2093, 21:55/23:23] install: todonotes [5k]\n", | |
| "[1898/2093, 21:55/23:22] install: tokcycle [7k]\n", | |
| "[1899/2093, 21:56/23:23] install: tokenizer [3k]\n", | |
| "[1900/2093, 21:57/23:25] install: tonevalue [3k]\n", | |
| "[1901/2093, 21:57/23:25] install: toolbox [3k]\n", | |
| "[1902/2093, 21:58/23:26] install: tools [47k]\n", | |
| "[1903/2093, 21:58/23:25] install: topfloat [2k]\n", | |
| "[1904/2093, 21:59/23:26] install: topiclongtable [5k]\n", | |
| "[1905/2093, 21:59/23:26] install: totalcount [2k]\n", | |
| "[1906/2093, 22:00/23:27] install: totcount [3k]\n", | |
| "[1907/2093, 22:01/23:28] install: totpages [3k]\n", | |
| "[1908/2093, 22:02/23:29] install: tpslifonts [6k]\n", | |
| "[1909/2093, 22:02/23:29] install: tqft [7k]\n", | |
| "[1910/2093, 22:03/23:30] install: tracklang [20k]\n", | |
| "[1911/2093, 22:03/23:30] install: traffic-light-protocol [2k]\n", | |
| "[1912/2093, 22:04/23:31] install: tramlines [2k]\n", | |
| "[1913/2093, 22:05/23:32] install: translations [14k]\n", | |
| "[1914/2093, 22:06/23:33] install: translator [28k]\n", | |
| "[1915/2093, 22:06/23:33] install: transparent [3k]\n", | |
| "[1916/2093, 22:07/23:34] install: treesvr [2k]\n", | |
| "[1917/2093, 22:07/23:34] install: trfsigns [2k]\n", | |
| "[1918/2093, 22:08/23:35] install: trimspaces [1k]\n", | |
| "[1919/2093, 22:08/23:35] install: trivfloat [3k]\n", | |
| "[1920/2093, 22:09/23:36] install: trsym [2k]\n", | |
| "[1921/2093, 22:10/23:37] install: truncate [3k]\n", | |
| "[1922/2093, 22:11/23:38] install: tsemlines [2k]\n", | |
| "[1923/2093, 22:11/23:38] install: tucv [2k]\n", | |
| "[1924/2093, 22:12/23:39] install: tufte-latex [22k]\n", | |
| "[1925/2093, 22:13/23:40] install: turnthepage [2k]\n", | |
| "[1926/2093, 22:13/23:40] install: tutodoc [13k]\n", | |
| "[1927/2093, 22:14/23:41] install: twemojis [4322k]\n", | |
| "[1928/2093, 22:16/23:06] install: twoinone [2k]\n", | |
| "[1929/2093, 22:16/23:06] install: twoup [3k]\n", | |
| "[1930/2093, 22:17/23:07] install: txgreeks [3k]\n", | |
| "[1931/2093, 22:18/23:08] install: type1cm [3k]\n", | |
| "[1932/2093, 22:18/23:08] install: typed-checklist [6k]\n", | |
| "[1933/2093, 22:19/23:09] install: typeface [44k]\n", | |
| "[1934/2093, 22:20/23:10] install: typehtml [7k]\n", | |
| "[1935/2093, 22:21/23:11] install: typoaid [6k]\n", | |
| "[1936/2093, 22:21/23:11] install: typog.x86_64-linux [1k]\n", | |
| "[1937/2093, 22:22/23:12] install: typog [15k]\n", | |
| "[1938/2093, 22:23/23:13] install: typogrid [2k]\n", | |
| "[1939/2093, 22:24/23:14] install: tzplot [25k]\n", | |
| "[1940/2093, 22:24/23:13] install: uassign [2k]\n", | |
| "[1941/2093, 22:25/23:14] install: ucharcat [2k]\n", | |
| "[1942/2093, 22:26/23:16] install: ucs [302k]\n", | |
| "[1943/2093, 22:27/23:14] install: uebungsblatt [4k]\n", | |
| "[1944/2093, 22:27/23:14] install: ulem [7k]\n", | |
| "[1945/2093, 22:27/23:14] install: ullrcorners [2k]\n", | |
| "[1946/2093, 22:28/23:15] install: umoline [3k]\n", | |
| "[1947/2093, 22:29/23:16] install: underlin [2k]\n", | |
| "[1948/2093, 22:30/23:17] install: underoverlap [4k]\n", | |
| "[1949/2093, 22:30/23:17] install: underscore [5k]\n", | |
| "[1950/2093, 22:31/23:18] install: undolabl [3k]\n", | |
| "[1951/2093, 22:32/23:19] install: uni-titlepage [11k]\n", | |
| "[1952/2093, 22:33/23:20] install: unicode-math [42k]\n", | |
| "[1953/2093, 22:33/23:20] install: unicode-math-input [17k]\n", | |
| "[1954/2093, 22:34/23:20] install: unicodefonttable [8k]\n", | |
| "[1955/2093, 22:35/23:21] install: unifront [3k]\n", | |
| "[1956/2093, 22:35/23:21] install: uniquecounter [3k]\n", | |
| "[1957/2093, 22:36/23:22] install: unisc [3k]\n", | |
| "[1958/2093, 22:37/23:23] install: unitconv [2k]\n", | |
| "[1959/2093, 22:37/23:23] install: units [2k]\n", | |
| "[1960/2093, 22:38/23:24] install: unravel [30k]\n", | |
| "[1961/2093, 22:39/23:25] install: updatemarks [6k]\n", | |
| "[1962/2093, 22:39/23:25] install: upmethodology [32k]\n", | |
| "[1963/2093, 22:40/23:26] install: upquote [2k]\n", | |
| "[1964/2093, 22:41/23:27] install: uri [4k]\n", | |
| "[1965/2093, 22:41/23:27] install: url [6k]\n", | |
| "[1966/2093, 22:42/23:28] install: useclass [2k]\n", | |
| "[1967/2093, 22:43/23:29] install: ushort [2k]\n", | |
| "[1968/2093, 22:43/23:29] install: uspace [2k]\n", | |
| "[1969/2093, 22:44/23:30] install: utf8add [5k]\n", | |
| "[1970/2093, 22:45/23:31] install: utfsym [1846k]\n", | |
| "[1971/2093, 22:46/23:17] install: uwmslide [4k]\n", | |
| "[1972/2093, 22:46/23:17] install: variablelm [4k]\n", | |
| "[1973/2093, 22:47/23:18] install: varindex [7k]\n", | |
| "[1974/2093, 22:48/23:18] install: varsfromjobname [2k]\n", | |
| "[1975/2093, 22:48/23:18] install: varwidth [5k]\n", | |
| "[1976/2093, 22:49/23:19] install: vcell [2k]\n", | |
| "[1977/2093, 22:50/23:20] install: vdmlisting [3k]\n", | |
| "[1978/2093, 22:50/23:20] install: vectorlogos [334k]\n", | |
| "[1979/2093, 22:51/23:19] install: venndiagram [5k]\n", | |
| "[1980/2093, 22:52/23:20] install: verbasef [5k]\n", | |
| "[1981/2093, 22:53/23:21] install: verbatimbox [4k]\n", | |
| "[1982/2093, 22:54/23:22] install: verbatimcopy [3k]\n", | |
| "[1983/2093, 22:54/23:22] install: verbdef [2k]\n", | |
| "[1984/2093, 22:55/23:23] install: verbments [3k]\n", | |
| "[1985/2093, 22:55/23:23] install: verifiche [6k]\n", | |
| "[1986/2093, 22:56/23:24] install: verifycommand [3k]\n", | |
| "[1987/2093, 22:57/23:25] install: version [3k]\n", | |
| "[1988/2093, 22:58/23:26] install: versions [6k]\n", | |
| "[1989/2093, 22:58/23:26] install: versonotes [3k]\n", | |
| "[1990/2093, 22:59/23:27] install: vertbars [2k]\n", | |
| "[1991/2093, 22:59/23:27] install: vgrid [2k]\n", | |
| "[1992/2093, 23:00/23:28] install: vhistory [9k]\n", | |
| "[1993/2093, 23:00/23:28] install: visualpstricks [1k]\n", | |
| "[1994/2093, 23:01/23:29] install: vmargin [3k]\n", | |
| "[1995/2093, 23:02/23:30] install: volumes [3k]\n", | |
| "[1996/2093, 23:03/23:31] install: vpe.x86_64-linux [1k]\n", | |
| "[1997/2093, 23:04/23:32] install: vpe [8k]\n", | |
| "[1998/2093, 23:04/23:31] install: vruler [6k]\n", | |
| "[1999/2093, 23:05/23:32] install: vtable [4k]\n", | |
| "[2000/2093, 23:06/23:33] install: vwcol [4k]\n", | |
| "[2001/2093, 23:06/23:33] install: wallcalendar [26k]\n", | |
| "[2002/2093, 23:07/23:34] install: wallpaper [2k]\n", | |
| "[2003/2093, 23:08/23:35] install: warning [2k]\n", | |
| "[2004/2093, 23:09/23:36] install: warpcol [2k]\n", | |
| "[2005/2093, 23:09/23:36] install: was [2k]\n", | |
| "[2006/2093, 23:10/23:37] install: webquiz.x86_64-linux [1k]\n", | |
| "[2007/2093, 23:11/23:38] install: webquiz [47k]\n", | |
| "[2008/2093, 23:11/23:38] install: whatsnote [6k]\n", | |
| "[2009/2093, 23:12/23:39] install: wheelchart [18k]\n", | |
| "[2010/2093, 23:13/23:40] install: widetable [2k]\n", | |
| "[2011/2093, 23:13/23:40] install: widows-and-orphans [3k]\n", | |
| "[2012/2093, 23:14/23:41] install: williams [3k]\n", | |
| "[2013/2093, 23:15/23:42] install: willowtreebook [7k]\n", | |
| "[2014/2093, 23:15/23:42] install: withargs [6k]\n", | |
| "[2015/2093, 23:16/23:43] install: wordcloud [7k]\n", | |
| "[2016/2093, 23:17/23:44] install: wordcount.x86_64-linux [1k]\n", | |
| "[2017/2093, 23:17/23:44] install: wordcount [5k]\n", | |
| "[2018/2093, 23:18/23:45] install: wordlike [2k]\n", | |
| "[2019/2093, 23:19/23:46] install: worksheet [4k]\n", | |
| "[2020/2093, 23:20/23:47] install: worldflags [2027k]\n", | |
| "[2021/2093, 23:22/23:32] install: wrapfig [10k]\n", | |
| "[2022/2093, 23:23/23:33] install: wrapfig2 [7k]\n", | |
| "[2023/2093, 23:24/23:34] install: wrapstuff [12k]\n", | |
| "[2024/2093, 23:24/23:33] install: writeongrid [6k]\n", | |
| "[2025/2093, 23:25/23:34] install: wtref [3k]\n", | |
| "[2026/2093, 23:25/23:34] install: xargs [4k]\n", | |
| "[2027/2093, 23:26/23:35] install: xassoccnt [20k]\n", | |
| "[2028/2093, 23:27/23:36] install: xbmks [5k]\n", | |
| "[2029/2093, 23:27/23:36] install: xcntperchap [4k]\n", | |
| "[2030/2093, 23:28/23:37] install: xcolor [18k]\n", | |
| "[2031/2093, 23:29/23:38] install: xcolor-material [5k]\n", | |
| "[2032/2093, 23:29/23:38] install: xcolor-solarized [2k]\n", | |
| "[2033/2093, 23:30/23:39] install: xcomment [3k]\n", | |
| "[2034/2093, 23:31/23:40] install: xcookybooky [7k]\n", | |
| "[2035/2093, 23:31/23:40] install: xcpdftips [4k]\n", | |
| "[2036/2093, 23:32/23:41] install: xdoc [12k]\n", | |
| "[2037/2093, 23:33/23:42] install: xellipsis [2k]\n", | |
| "[2038/2093, 23:33/23:42] install: xfakebold [2k]\n", | |
| "[2039/2093, 23:34/23:43] install: xfor [2k]\n", | |
| "[2040/2093, 23:35/23:44] install: xfrac [4k]\n", | |
| "[2041/2093, 23:36/23:45] install: xhfill [2k]\n", | |
| "[2042/2093, 23:37/23:46] install: xifthen [3k]\n", | |
| "[2043/2093, 23:37/23:46] install: ximera [15k]\n", | |
| "[2044/2093, 23:38/23:47] install: xint [80k]\n", | |
| "[2045/2093, 23:39/23:47] install: xint-regression [4k]\n", | |
| "[2046/2093, 23:39/23:47] install: xistercian [5k]\n", | |
| "[2047/2093, 23:40/23:48] install: xkcdcolors [9k]\n", | |
| "[2048/2093, 23:41/23:49] install: xkeymask [2k]\n", | |
| "[2049/2093, 23:42/23:50] install: xkeyval [9k]\n", | |
| "[2050/2093, 23:42/23:50] install: xltabular [3k]\n", | |
| "[2051/2093, 23:43/23:51] install: xltxtra [3k]\n", | |
| "[2052/2093, 23:44/23:52] install: xmpincl [2k]\n", | |
| "[2053/2093, 23:45/23:53] install: xnewcommand [1k]\n", | |
| "[2054/2093, 23:45/23:53] install: xoptarg [2k]\n", | |
| "[2055/2093, 23:46/23:54] install: xpatch [2k]\n", | |
| "[2056/2093, 23:47/23:55] install: xpeek [2k]\n", | |
| "[2057/2093, 23:48/23:56] install: xpicture [9k]\n", | |
| "[2058/2093, 23:49/23:57] install: xprintlen [2k]\n", | |
| "[2059/2093, 23:49/23:57] install: xpunctuate [2k]\n", | |
| "[2060/2093, 23:50/23:58] install: xreview [2k]\n", | |
| "[2061/2093, 23:51/23:59] install: xsavebox [5k]\n", | |
| "[2062/2093, 23:51/23:59] install: xsim [32k]\n", | |
| "[2063/2093, 23:52/23:59] install: xsipa [5k]\n", | |
| "[2064/2093, 23:52/23:59] install: xstring [12k]\n", | |
| "[2065/2093, 23:53/24:00] install: xtab [5k]\n", | |
| "[2066/2093, 23:54/24:01] install: xunicode [26k]\n", | |
| "[2067/2093, 23:55/24:02] install: xurl [2k]\n", | |
| "[2068/2093, 23:56/24:03] install: xwatermark [17k]\n", | |
| "[2069/2093, 23:57/24:04] install: xypic [694k]\n", | |
| "[2070/2093, 23:58/23:59] install: xytree [4k]\n", | |
| "[2071/2093, 23:59/24:00] install: yafoot [4k]\n", | |
| "[2072/2093, 23:59/24:00] install: yagusylo [6k]\n", | |
| "[2073/2093, 24:00/24:01] install: yaletter [4k]\n", | |
| "[2074/2093, 24:00/24:01] install: ycbook [5k]\n", | |
| "[2075/2093, 24:01/24:02] install: ydoc [10k]\n", | |
| "[2076/2093, 24:02/24:03] install: yplan.x86_64-linux [1k]\n", | |
| "[2077/2093, 24:02/24:03] install: yplan [7k]\n", | |
| "[2078/2093, 24:03/24:04] install: zapfding [46k]\n", | |
| "[2079/2093, 24:04/24:04] install: zebra-goodies [3k]\n", | |
| "[2080/2093, 24:04/24:04] install: zed-csp [8k]\n", | |
| "[2081/2093, 24:05/24:05] install: zennote [2k]\n", | |
| "[2082/2093, 24:06/24:06] install: ziffer [2k]\n", | |
| "[2083/2093, 24:07/24:07] install: zref [15k]\n", | |
| "[2084/2093, 24:08/24:08] install: zref-check [6k]\n", | |
| "[2085/2093, 24:09/24:09] install: zref-clever [26k]\n", | |
| "[2086/2093, 24:10/24:10] install: zref-vario [5k]\n", | |
| "[2087/2093, 24:11/24:11] install: zugferd [13k]\n", | |
| "[2088/2093, 24:12/24:12] install: zwgetfdate [2k]\n", | |
| "[2089/2093, 24:13/24:13] install: zwpagelayout [9k]\n", | |
| "[2090/2093, 24:13/24:13] install: collection-latex [1k]\n", | |
| "[2091/2093, 24:14/24:14] install: collection-latexextra [8k]\n", | |
| "[2092/2093, 24:15/24:15] install: collection-latexrecommended [1k]\n", | |
| "[2093/2093, 24:16/24:16] install: collection-pictures [2k]\n", | |
| "tlmgr: action install returned an error; continuing.\n", | |
| "running mktexlsr ...\n", | |
| "done running mktexlsr.\n", | |
| "running updmap-sys ...\n", | |
| "done running updmap-sys.\n", | |
| "regenerating language.dat\n", | |
| "regenerating language.def\n", | |
| "regenerating language.dat.lua\n", | |
| "regenerating fmtutil.cnf in /usr/local/texlive/2025/texmf-dist\n", | |
| "running fmtutil-sys --byfmt latex-dev --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: latex-dev.fmt/pdftex\n", | |
| "running fmtutil-sys --byfmt mptopdf --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: mptopdf.fmt/pdftex\n", | |
| "running fmtutil-sys --byfmt dvilualatex-dev --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: dvilualatex-dev.fmt/luatex\n", | |
| "running fmtutil-sys --byfmt pdflatex-dev --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: pdflatex-dev.fmt/pdftex\n", | |
| "running fmtutil-sys --byfmt lualatex-dev --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: lualatex-dev.fmt/luahbtex\n", | |
| "running fmtutil-sys --byfmt pdflatex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: pdflatex.fmt/pdftex\n", | |
| "running fmtutil-sys --byfmt latex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: latex.fmt/pdftex\n", | |
| "running fmtutil-sys --byfmt lualatex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: lualatex.fmt/luahbtex\n", | |
| "running fmtutil-sys --byfmt dvilualatex --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: dvilualatex.fmt/luatex\n", | |
| "running fmtutil-sys --byhyphen \"/usr/local/texlive/2025/texmf-var/tex/generic/config/language.dat\" --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: latex-dev.fmt/pdftex lualatex.fmt/luahbtex pdflatex.fmt/pdftex dvilualatex.fmt/luatex dvilualatex-dev.fmt/luatex lualatex-dev.fmt/luahbtex latex.fmt/pdftex pdflatex-dev.fmt/pdftex\n", | |
| "running fmtutil-sys --byhyphen \"/usr/local/texlive/2025/texmf-var/tex/generic/config/language.def\" --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| " OK: luatex.fmt/luatex luahbtex.fmt/luahbtex pdftex.fmt/pdftex dviluatex.fmt/luatex pdfetex.fmt/pdftex etex.fmt/pdftex\n", | |
| "running fmtutil-sys --byhyphen \"/usr/local/texlive/2025/texmf-var/tex/generic/config/language.dat.lua\" --no-error-if-no-engine=luametatex,luajithbtex,luajittex,mfluajit --status-file=/tmp/2EzEQH0s0C/ucz2eTQM53 ...\n", | |
| "tlmgr: package log updated: /usr/local/texlive/2025/texmf-var/web2c/tlmgr.log\n", | |
| "tlmgr: command log updated: /usr/local/texlive/2025/texmf-var/web2c/tlmgr-commands.log\n", | |
| "tlmgr: An error has occurred. See above messages. Exiting.\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "source": [ | |
| "### Commons" | |
| ], | |
| "metadata": { | |
| "id": "fjfI-a3zSN-1" | |
| } | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "%matplotlib inline\n", | |
| "%config InlineBackend.figure_format = 'retina'\n", | |
| "\n", | |
| "import os\n", | |
| "import numpy as np\n", | |
| "import matplotlib as mpl\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "import matplotlib.font_manager as fm\n", | |
| "import locale\n", | |
| "from fastprogress import progress_bar\n", | |
| "from einops import rearrange, reduce, repeat, einsum\n", | |
| "\n", | |
| "locale.getpreferredencoding = lambda: \"UTF-8\"\n", | |
| "\n", | |
| "COLORS = {\n", | |
| " \"red\": np.array([0.79215686, 0.14901961, 0.14901961]),\n", | |
| " \"blue\": np.array([0.08683021, 0.41940383, 0.71699529]),\n", | |
| " **{f\"gray{k:02d}\": np.array([k,k,k])*.01 for k in np.arange(5,100,5)}\n", | |
| "}\n", | |
| "\n", | |
| "def mpl_theme(gray=COLORS['gray50'], stroke_width=.1, fontsize=7,\n", | |
| " facecolor=COLORS['gray10']):\n", | |
| " ## category20: https://github.com/d3/d3-3.x-api-reference/blob/master/Ordinal-Scales.md#category20\n", | |
| " cat20 = mpl.cycler(color=[\"1f77b4\",\"ff7f0e\",\"2ca02c\",\"d62728\",\"9467bd\",\"8c564b\",\"e377c2\",\"7f7f7f\",\"bcbd22\",\"17becf\",\n", | |
| " \"aec7e8\",\"ffbb78\",\"98df8a\",\"ff9896\",\"c5b0d5\",\"c49c94\",\"f7b6d2\",\"c7c7c7\", \"dbdb8d\", \"9edae5\"])\n", | |
| " return {\n", | |
| " \"font.size\": fontsize,\n", | |
| " \"font.family\": \"sans-serif\",\n", | |
| " \"text.usetex\": False,\n", | |
| " \"text.latex.preamble\": r\"\\usepackage{newpxtext,newpxmath}\",\n", | |
| " \"text.color\": gray,\n", | |
| " \"mathtext.fontset\": \"cm\",\n", | |
| "\n", | |
| " \"figure.dpi\": 100,\n", | |
| " \"figure.facecolor\": facecolor,\n", | |
| " \"figure.frameon\": False,\n", | |
| " \"figure.figsize\": (5, 3),\n", | |
| " \"figure.titlesize\": \"large\",\n", | |
| " \"figure.titleweight\": \"bold\",\n", | |
| " \"figure.constrained_layout.use\": True,\n", | |
| " \"figure.constrained_layout.w_pad\": 0.05,\n", | |
| " \"figure.constrained_layout.h_pad\": 0.05,\n", | |
| " \"figure.constrained_layout.wspace\": 0.03,\n", | |
| " \"figure.constrained_layout.hspace\": 0.03,\n", | |
| "\n", | |
| " \"axes.labelcolor\": gray,\n", | |
| " \"axes.labelpad\": 8,\n", | |
| " \"axes.labelsize\": \"medium\",\n", | |
| " \"axes.labelweight\": \"normal\",\n", | |
| " \"axes.spines.left\": False,\n", | |
| " \"axes.spines.bottom\": False,\n", | |
| " \"axes.spines.top\": False,\n", | |
| " \"axes.spines.right\": False,\n", | |
| " \"axes.facecolor\": facecolor,\n", | |
| " \"axes.edgecolor\": gray,\n", | |
| " \"axes.linewidth\": stroke_width,\n", | |
| " \"axes.axisbelow\": True,\n", | |
| " \"axes.xmargin\": 0.02,\n", | |
| " \"axes.ymargin\": 0.02,\n", | |
| " \"axes.zmargin\": 0.02,\n", | |
| " \"axes.prop_cycle\": cat20,\n", | |
| " \"axes.titlepad\": 8,\n", | |
| " \"axes.titlesize\": \"medium\",\n", | |
| " \"axes.titleweight\": 500,\n", | |
| " \"axes.grid\": True,\n", | |
| " \"axes.grid.axis\": \"both\",\n", | |
| "\n", | |
| " \"axes3d.grid\": False,\n", | |
| " \"axes3d.xaxis.panecolor\": COLORS['gray15'],\n", | |
| " \"axes3d.yaxis.panecolor\": COLORS['gray20'],\n", | |
| " \"axes3d.zaxis.panecolor\": COLORS['gray25'],\n", | |
| "\n", | |
| " \"ytick.right\": False,\n", | |
| " \"ytick.color\": gray,\n", | |
| " \"ytick.major.width\": stroke_width,\n", | |
| " \"ytick.major.size\": 0,\n", | |
| " \"ytick.minor.left\": False,\n", | |
| " \"ytick.labelsize\": \"small\",\n", | |
| "\n", | |
| " \"xtick.labelsize\": \"small\",\n", | |
| " \"xtick.minor.visible\": True,\n", | |
| " \"xtick.minor.top\": False,\n", | |
| " \"xtick.minor.bottom\": False,\n", | |
| " \"xtick.color\": gray,\n", | |
| " \"xtick.major.width\": stroke_width,\n", | |
| " \"xtick.major.size\": 0,\n", | |
| "\n", | |
| " \"grid.color\": gray,\n", | |
| " \"grid.linewidth\": stroke_width,\n", | |
| " \"grid.linestyle\": \"-\",\n", | |
| " \"legend.fancybox\": False,\n", | |
| " \"legend.edgecolor\": '0.3',\n", | |
| " \"legend.framealpha\": 0.7,\n", | |
| " \"legend.handletextpad\": 0.8,\n", | |
| "\n", | |
| " \"lines.linewidth\": 0.7\n", | |
| " }\n", | |
| "\n", | |
| "def mpl_add_font(fname):\n", | |
| " if fname not in [fe.fname for fe in fm.fontManager.ttflist]:\n", | |
| " fm.fontManager.addfont(fname)\n", | |
| "\n", | |
| "def setup_overpass(folder=\"fonts\"):\n", | |
| " os.makedirs(folder, exist_ok=True)\n", | |
| " for style in [\"Regular\", \"Italic\", \"SemiBold\", \"SemiBoldItalic\", \"Bold\", \"BoldItalic\"]:\n", | |
| " ttf = f\"Overpass-{style}.ttf\"\n", | |
| " !wget -qc \"https://github.com/RedHatOfficial/Overpass/raw/master/fonts/ttf/{ttf}\" -O \"{folder}/{ttf}\"\n", | |
| " mpl_add_font(f\"{folder}/{ttf}\")\n", | |
| " if \"Overpass\" not in mpl.rcParams['font.sans-serif']:\n", | |
| " mpl.rcParams['font.sans-serif'].insert(0, \"Quicksand\")\n", | |
| "\n", | |
| "def setup_quicksand(folder=\"fonts\"):\n", | |
| " os.makedirs(folder, exist_ok=True)\n", | |
| " for style in [\"Bold\", \"Light\", \"Medium\", \"Regular\"]:\n", | |
| " ttf = f\"Quicksand-{style}.ttf\"\n", | |
| " !wget -qc \"https://github.com/andrew-paglinawan/QuicksandFamily/raw/refs/heads/master/fonts/statics/{ttf}\" -O \"{folder}/{ttf}\"\n", | |
| " mpl_add_font(f\"{folder}/{ttf}\")\n", | |
| " if \"Quicksand\" not in mpl.rcParams['font.sans-serif']:\n", | |
| " mpl.rcParams['font.sans-serif'].insert(0, \"Quicksand\")\n", | |
| "\n", | |
| "setup_quicksand()\n", | |
| "\n", | |
| "plt.style.use([\"dark_background\", mpl_theme()])\n", | |
| "\n", | |
| "if \"/usr/local/texlive/2025/bin/x86_64-linux\" not in os.environ[\"PATH\"]:\n", | |
| " os.environ['PATH'] = f\"{os.environ['PATH']}:/usr/local/texlive/2025/bin/x86_64-linux\"" | |
| ], | |
| "metadata": { | |
| "id": "IXYGHK18SOly" | |
| }, | |
| "execution_count": 1, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "import math\n", | |
| "import sys\n", | |
| "import io\n", | |
| "import bz2\n", | |
| "import ffmpeg\n", | |
| "import requests\n", | |
| "import subprocess\n", | |
| "import cv2\n", | |
| "import PIL\n", | |
| "import IPython.display as ipd\n", | |
| "import ipywidgets as widgets\n", | |
| "from scipy import linalg\n", | |
| "from fastprogress import progress_bar\n", | |
| "from einops import rearrange, reduce, repeat\n", | |
| "from base64 import b64encode\n", | |
| "from zipfile import ZipFile\n", | |
| "from contextlib import contextmanager\n", | |
| "from matplotlib.patches import Circle\n", | |
| "from mpl_toolkits.mplot3d.art3d import Line3DCollection, Poly3DCollection\n", | |
| "\n", | |
| "class Output(object):\n", | |
| " def __init__(self):\n", | |
| " self.out = widgets.Output()\n", | |
| "\n", | |
| " def display(self):\n", | |
| " display(self.out)\n", | |
| " return self\n", | |
| "\n", | |
| " def clear(self):\n", | |
| " self.out.clear_output()\n", | |
| " return self.out\n", | |
| "\n", | |
| " def close(self):\n", | |
| " return self.out.close()\n", | |
| "\n", | |
| "def to_single_rgb(img):\n", | |
| " img = np.asarray(img)\n", | |
| " if len(img.shape) == 4: # take first frame from animations\n", | |
| " return img[0,:,:,:]\n", | |
| " if len(img.shape) == 2: # convert gray to rgb\n", | |
| " return img[:,:,np.newaxis].repeat(3, 2)\n", | |
| " if img.shape[-1] == 4: # drop alpha\n", | |
| " return img[:,:,:3]\n", | |
| " else:\n", | |
| " return img\n", | |
| "\n", | |
| "def imread(url, size=None, mode=None):\n", | |
| " if url.startswith(('http:', 'https:')):\n", | |
| " resp = requests.get(url)\n", | |
| " if resp.status_code != 200:\n", | |
| " return None\n", | |
| "\n", | |
| " f = io.BytesIO(resp.content)\n", | |
| " else:\n", | |
| " f = url\n", | |
| " img = PIL.Image.open(f)\n", | |
| " if size is not None:\n", | |
| " img.thumbnail((size, size), PIL.Image.Resampling.LANCZOS)\n", | |
| " if mode is not None:\n", | |
| " img = img.convert(mode)\n", | |
| " return img\n", | |
| "\n", | |
| "def imshow(img, fmt='png', retina=True, zoom=None):\n", | |
| " if isinstance(img, str):\n", | |
| " display(ipd.Image(filename=img, retina=retina))\n", | |
| " return\n", | |
| "\n", | |
| " if len(img.shape) == 3 and img.shape[-1] == 1:\n", | |
| " img = img.squeeze()\n", | |
| " if img.dtype == np.float32:\n", | |
| " img = img * 255.0\n", | |
| " img = np.uint8(img.clip(0, 255))\n", | |
| " if fmt in ('jpeg', 'jpg'):\n", | |
| " img = to_single_rgb(img)\n", | |
| "\n", | |
| " image = PIL.Image.fromarray(img)\n", | |
| " height, width = img.shape[:2]\n", | |
| " if zoom is not None:\n", | |
| " width *= zoom\n", | |
| " height *= zoom\n", | |
| " retina = zoom == 1\n", | |
| " if zoom < 1:\n", | |
| " image.resize((int(width), int(height)))\n", | |
| "\n", | |
| " data = io.BytesIO()\n", | |
| " image.save(data, fmt)\n", | |
| " display(ipd.Image(data=data.getvalue(),width=width, height=height,retina=retina))\n", | |
| "\n", | |
| "def find_rectangle(n, ratio=1):\n", | |
| " ny = int((n / ratio) ** .5)\n", | |
| " return ny, math.ceil(n / ny)\n", | |
| "\n", | |
| "def make_mosaic(imgs, nx=None, ny=None, gap=0):\n", | |
| " n, h, w = imgs.shape[:3]\n", | |
| " has_channels = len(imgs.shape) > 3\n", | |
| "\n", | |
| " if nx is None and ny is None:\n", | |
| " ny, nx = find_rectangle(n)\n", | |
| " elif ny is None:\n", | |
| " ny = math.ceil(n / nx)\n", | |
| " elif nx is None:\n", | |
| " nx = math.ceil(n / ny)\n", | |
| "\n", | |
| " sh, sw = h + gap, w + gap\n", | |
| " shape = (ny * sh - gap, nx * sw - gap)\n", | |
| " if has_channels:\n", | |
| " shape += (imgs.shape[-1],)\n", | |
| "\n", | |
| " canvas = np.zeros(shape, dtype=imgs.dtype)\n", | |
| " for i, x in enumerate(imgs):\n", | |
| " iy, ix = divmod(i, nx)\n", | |
| " canvas[iy * sh:iy * sh + h, ix * sw:ix * sw + w] = x\n", | |
| " return canvas\n", | |
| "\n", | |
| "def ffprobe_video(path):\n", | |
| " probe = ffmpeg.probe(path)\n", | |
| " return next(s for s in probe['streams'] if s['codec_type'] == 'video')\n", | |
| "\n", | |
| "def read_frame(path, frame_no):\n", | |
| " cap = cv2.VideoCapture(path)\n", | |
| " cap.set(cv2.CAP_PROP_POS_FRAMES, frame_no)\n", | |
| " ret, frame = cap.read()\n", | |
| " if not ret:\n", | |
| " raise RuntimeError(f\"Faild reading frame {frame_no} from {path}\")\n", | |
| " return cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)\n", | |
| "\n", | |
| "def read_frames(path, start=0, num=None):\n", | |
| " cap = cv2.VideoCapture(path)\n", | |
| " n_frames = num or int(cap.get(cv2.CAP_PROP_FRAME_COUNT))\n", | |
| " cap.set(cv2.CAP_PROP_POS_FRAMES, start)\n", | |
| " for i in range(n_frames):\n", | |
| " ret, frame = cap.read()\n", | |
| " if not ret:\n", | |
| " raise RuntimeError(f\"Faild reading frame {i} from {path}\")\n", | |
| " yield cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)\n", | |
| "\n", | |
| "def read_video_frames(path):\n", | |
| " info = ffprobe_video(path)\n", | |
| " out, _ = ffmpeg.input(path).output('pipe:', format='rawvideo', pix_fmt='rgb24').run(capture_stdout=True)\n", | |
| " return np.frombuffer(out, np.uint8).reshape([-1, info['height'], info['width'], 3])\n", | |
| "\n", | |
| "def show_video(path):\n", | |
| " vcap = cv2.VideoCapture(path)\n", | |
| " width = int(vcap.get(cv2.CAP_PROP_FRAME_WIDTH))\n", | |
| " with open(path, \"r+b\") as f:\n", | |
| " url = f\"data:video/mp4;base64,{b64encode(f.read()).decode()}\"\n", | |
| " return ipd.HTML(f\"\"\"<video autoplay=\"autoplay\" width={width} controls loop><source src=\"{url}\"></video>\"\"\")\n", | |
| "\n", | |
| "def write_video(frames, size, path=\"__temp__.mp4\", fps=30,\n", | |
| " preset=\"veryfast\", args=[]):\n", | |
| " height, width = size\n", | |
| " command = ['ffmpeg','-v','error','-f','rawvideo','-vcodec','rawvideo',\n", | |
| " '-pix_fmt','rgb24','-s',f'{width}x{height}','-r', f'{fps}',\n", | |
| " '-i', '-',\n", | |
| " \"-movflags\", \"+faststart\", \"-preset\", preset,\n", | |
| " \"-g\", \"30\", \"-bf\",\"2\",\"-c:v\", \"libx264\",\"-profile:v\", \"high\",\n", | |
| " '-an', '-vcodec','h264','-pix_fmt','yuv420p', *args, '-y', path]\n", | |
| " with subprocess.Popen(command, stdin=subprocess.PIPE, stderr=subprocess.PIPE) as proc:\n", | |
| " with proc.stdin as stdin:\n", | |
| " for image in frames:\n", | |
| " data = image.tobytes()\n", | |
| " if stdin.write(data) != len(data):\n", | |
| " proc.wait()\n", | |
| " stderr = proc.stderr\n", | |
| " assert stderr is not None\n", | |
| " s = stderr.read().decode()\n", | |
| " raise RuntimeError(f\"Error writing '{path}': {s}\")\n", | |
| " return path\n", | |
| "\n", | |
| "def read_video(path):\n", | |
| " command = ['ffmpeg','-v','error','-nostdin','-i',path,'-vcodec','rawvideo',\n", | |
| " '-f','image2pipe','-pix_fmt','rgb24','-vsync','vfr','-']\n", | |
| "\n", | |
| " info = ffprobe_video(path)\n", | |
| " num_bytes = info['height'] * info['width'] * 3 * np.dtype(np.uint8).itemsize\n", | |
| " with subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as proc:\n", | |
| " stdout = proc.stdout\n", | |
| " assert stdout is not None\n", | |
| " data = stdout.read(num_bytes)\n", | |
| " while data is not None and len(data) == num_bytes:\n", | |
| " image = np.frombuffer(data, dtype=np.uint8)\n", | |
| " yield image.reshape(info['height'], info['width'], 3)\n", | |
| " data = stdout.read(num_bytes)\n", | |
| "\n", | |
| "def sdiv(a, b, nan=0, posinf=0, neginf=0):\n", | |
| " return np.nan_to_num(a / b, nan=nan, posinf=posinf, neginf=neginf)\n", | |
| "\n", | |
| "def topk(x, n):\n", | |
| " return np.argpartition(x, -n)[-n:]\n", | |
| "\n", | |
| "def norm(x, a, b, **kw):\n", | |
| " return sdiv(x - a, b - a, **kw)\n", | |
| "\n", | |
| "def norm_v(x, axis=None, **kw):\n", | |
| " return norm(x, x.min(axis, keepdims=True), x.max(axis, keepdims=True), **kw)\n", | |
| "\n", | |
| "def normalize(x, keepdims=True, axis=-1, **kw):\n", | |
| " return sdiv(x, np.linalg.norm(x, keepdims=keepdims, axis=axis), **kw)\n", | |
| "\n", | |
| "def nudge(x, v=0, eps=1e-12):\n", | |
| " return np.where(np.isclose(np.abs(x), v, atol=eps), np.where(x - v >= 0, eps, -eps), x)\n", | |
| "\n", | |
| "def linspace_m(start, stop, n):\n", | |
| " return np.linspace(start, stop, n, endpoint=False) + (stop - start) * .5 / n\n", | |
| "\n", | |
| "def indices_m(dims, shape, dtype=\"u4\"):\n", | |
| " return tuple(np.meshgrid(*[np.round(linspace_m(0, d, s)).astype(dtype)\n", | |
| " for d, s in zip(dims, shape)],\n", | |
| " indexing='ij'))\n", | |
| "\n", | |
| "def rot90(v, axis=-1):\n", | |
| " return np.stack((-v.take(1,axis),v.take(0,axis)),axis)\n", | |
| "\n", | |
| "def rot2d(vs, rs, axis=-1):\n", | |
| " c, s = np.cos(rs), np.sin(rs)\n", | |
| " x, y = vs.take(0, axis), vs.take(1, axis)\n", | |
| " return np.stack((x * c - y * s, x * s + y * c), axis)\n", | |
| "\n", | |
| "def atan2(x, axis=-1):\n", | |
| " return np.atan2(x.take(1,axis), x.take(0,axis))\n", | |
| "\n", | |
| "def saturate(x):\n", | |
| " return np.clip(x, 0, 1)\n", | |
| "\n", | |
| "def lerp(a, b, t):\n", | |
| " return a * (1.0 - t) + b * t\n", | |
| "\n", | |
| "def step(v, x):\n", | |
| " return np.where(x < v, 0, 1)\n", | |
| "\n", | |
| "def window(x, a, b):\n", | |
| " return step(a, x) * step(x, b)\n", | |
| "\n", | |
| "def satnorm(x, a, b):\n", | |
| " return saturate(norm(x, a, b))\n", | |
| "\n", | |
| "def smoothstep(x):\n", | |
| " return x * x * (3 - 2 * x)\n", | |
| "\n", | |
| "def smootherstep(x):\n", | |
| " return x * x * x * (x * (x * 6 - 15) + 10)\n", | |
| "\n", | |
| "def dot(a, b, axis=-1, **kw):\n", | |
| " return (a * b).sum(axis, **kw)\n", | |
| "\n", | |
| "def cross(a, b, axis=-1):\n", | |
| " return a.take(0, axis) * b.take(1, axis) - a.take(1, axis) * b.take(0, axis)\n", | |
| "\n", | |
| "def cubic(a, b, c, d, t):\n", | |
| " \"\"\"https://www.desmos.com/calculator/waof4r6avv\"\"\"\n", | |
| " s = 1. - t\n", | |
| " return s * s * (s * a + 3 * t * b) + t * t * (3 * s * c + t * d)\n", | |
| "\n", | |
| "def plt_show(pin=mpl.rcParams['savefig.pad_inches']):\n", | |
| " with plt.rc_context({'savefig.pad_inches': pin}):\n", | |
| " plt.show()\n", | |
| "\n", | |
| "def fig_image(fig=None, transparent=False, bbox_inches=None,\n", | |
| " dpi=mpl.rcParams[\"figure.dpi\"]*2):\n", | |
| " fig = fig or plt.gcf()\n", | |
| "\n", | |
| " buf = io.BytesIO()\n", | |
| " fig.savefig(buf, format=\"png\", pad_inches=0, bbox_inches=bbox_inches,\n", | |
| " facecolor=fig.get_facecolor(), dpi=dpi,transparent=transparent)\n", | |
| " buf.seek(0)\n", | |
| " data = np.frombuffer(buf.getvalue(), dtype=np.uint8)\n", | |
| " buf.close()\n", | |
| " plt.close(fig)\n", | |
| "\n", | |
| " code = cv2.COLOR_BGRA2RGBA if transparent else cv2.COLOR_BGR2RGB\n", | |
| " return cv2.cvtColor(cv2.imdecode(data, cv2.IMREAD_UNCHANGED), code)\n", | |
| "\n", | |
| "def plt_savefig(name, pad_inches=mpl.rcParams['savefig.pad_inches'],\n", | |
| " bbox_inches=0,facecolor='auto',\n", | |
| " dpi=mpl.rcParams[\"figure.dpi\"]*2,close=True,**kw):\n", | |
| " plt.savefig(name,\n", | |
| " pad_inches=pad_inches,\n", | |
| " bbox_inches=bbox_inches,\n", | |
| " facecolor=facecolor,\n", | |
| " dpi=dpi,**kw)\n", | |
| " if close:\n", | |
| " plt.close()\n", | |
| "\n", | |
| "class Flex(object):\n", | |
| " def __init__(self, ratios, gap, size=None):\n", | |
| " n, s = len(ratios), sum(ratios)\n", | |
| " self.ratios = ratios\n", | |
| " self.gap = gap\n", | |
| " space = gap * n / s if size is None else gap * n / (size - gap * (n - 1))\n", | |
| " self.h = dict(nrows=1, ncols=n, width_ratios=ratios, wspace=space)\n", | |
| " self.v = dict(nrows=n, ncols=1, height_ratios=ratios, hspace=space)\n", | |
| " self.size = s + gap * (n - 1) if size is None else size\n", | |
| "\n", | |
| "def ax_lim(mn, mx, ax=None):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.set_xlim(mn[0], mx[0])\n", | |
| " ax.set_ylim(mn[1], mx[1])\n", | |
| " if len(mn) > 2:\n", | |
| " ax.set_zlim(mn[2], mx[2])\n", | |
| "\n", | |
| "def ax_spines(sides=[\"left\",\"right\",\"bottom\",\"top\"], ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.spines[sides].set(**kw)\n", | |
| "\n", | |
| "def ax_lines(lines, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.add_collection(mpl.collections.LineCollection(lines,**kw))\n", | |
| "\n", | |
| "def ax_text(p, text, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.text(p[0],p[1],text,**kw)\n", | |
| "\n", | |
| "def ax_line3d(lines, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " return ax.add_collection(Line3DCollection(lines, **kw))\n", | |
| "\n", | |
| "def ax_poly3d(verts, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " return ax.add_collection(Poly3DCollection(verts, **kw))\n", | |
| "\n", | |
| "def ax_trisurf(v, f, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.plot_trisurf(v[:,0],v[:,1],v[:,2],triangles=f, **kw)\n", | |
| "\n", | |
| "def ax_box2(mn, mx, ax=None):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.set(xlim=(mn[0],mx[0]),ylim=(mn[1],mx[1]),aspect='equal')\n", | |
| "\n", | |
| "def ax_box3(mn, mx, ax=None):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.set(xlim=(mn[0],mx[0]),ylim=(mn[1],mx[1]),zlim=(mn[2],mx[2]),box_aspect=mx-mn)\n", | |
| "\n", | |
| "def ax_axis_lines(ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.xaxis.line.set(**kw)\n", | |
| " ax.yaxis.line.set(**kw)\n", | |
| " ax.zaxis.line.set(**kw)\n", | |
| "\n", | |
| "def ax_scatter(pts, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " return ax.scatter(*[pts[...,i] for i in range(pts.shape[-1])], **kw)\n", | |
| "\n", | |
| "def ax_swatch(cols, size=32, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.imshow(repeat(cols, \"n ...->h (n w) ...\",h=size,w=size), **kw)\n", | |
| "\n", | |
| "def ax_texts(pts, texts, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " for p, t in zip(pts, texts):\n", | |
| " ax.text(p[0], p[1], t, **kw)\n", | |
| "\n", | |
| "def ax_circle(c, r, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " return ax.add_patch(Circle(c, r, **kw))\n", | |
| "\n", | |
| "def lowess(x, y, f=2. / 3., iter=3):\n", | |
| " \"\"\"https://gist.github.com/agramfort/850437\n", | |
| " lowess(x, y, f=2./3., iter=3) -> yest\n", | |
| " Lowess smoother: Robust locally weighted regression.\n", | |
| " The lowess function fits a nonparametric regression curve to a scatterplot.\n", | |
| " The arrays x and y contain an equal number of elements; each pair\n", | |
| " (x[i], y[i]) defines a data point in the scatterplot. The function returns\n", | |
| " the estimated (smooth) values of y.\n", | |
| " The smoothing span is given by f. A larger value for f will result in a\n", | |
| " smoother curve. The number of robustifying iterations is given by iter. The\n", | |
| " function will run faster with a smaller number of iterations.\n", | |
| " \"\"\"\n", | |
| " n = len(x)\n", | |
| " r = int(math.ceil(f * n))\n", | |
| " h = [np.sort(np.abs(x - x[i]))[r] for i in range(n)]\n", | |
| " w = np.clip(np.abs((x[:, None] - x[None, :]) / h), 0.0, 1.0)\n", | |
| " w = (1 - w ** 3) ** 3\n", | |
| " yest = np.zeros(n)\n", | |
| " delta = np.ones(n)\n", | |
| " for iteration in range(iter):\n", | |
| " for i in range(n):\n", | |
| " weights = delta * w[:, i]\n", | |
| " b = np.array([np.sum(weights * y), np.sum(weights * y * x)])\n", | |
| " A = np.array([[np.sum(weights), np.sum(weights * x)],\n", | |
| " [np.sum(weights * x), np.sum(weights * x * x)]])\n", | |
| " beta = linalg.solve(A, b)\n", | |
| " yest[i] = beta[0] + beta[1] * x[i]\n", | |
| "\n", | |
| " residuals = y - yest\n", | |
| " s = np.median(np.abs(residuals))\n", | |
| " delta = np.clip(residuals / (6.0 * s), -1, 1)\n", | |
| " delta = (1 - delta ** 2) ** 2\n", | |
| "\n", | |
| " return yest\n", | |
| "\n", | |
| "def plot_metrics(metrics, groups=None, title=\"Metrics\", lowess=False):\n", | |
| " groups = groups or [list(metrics.keys())]\n", | |
| " n = len(groups)\n", | |
| " ny = math.ceil(n / 2)\n", | |
| " fig = plt.figure(figsize=(8 if n > 1 else 4, 2 * ny))\n", | |
| "\n", | |
| " for i, group in enumerate(groups, 1):\n", | |
| " ax = fig.add_subplot(ny, 2 if n > 1 else 1, i)\n", | |
| " for k in group:\n", | |
| " x, y = np.arange(len(metrics[k])), metrics[k]\n", | |
| " alpha = max(0.3, min(1, (1000 - len(x)) / 1000))\n", | |
| " ax.plot(x, y, alpha=alpha, label=k, marker='.', markeredgewidth=0,lw=.5,ms=5)\n", | |
| " if np.any(np.min(y) - y[0] > (np.max(y) - np.min(y)) * 0.01):\n", | |
| " ax.set_ylim(np.min(y), y[0])\n", | |
| " if lowess and len(y) >= 9:\n", | |
| " ax.plot(x, lowess(x, y, f=0.25, iter=3), linestyle='-', alpha=0.8, label=k + \".lowess\", lw=2)\n", | |
| " ax.legend(loc='lower left')\n", | |
| " ax.grid(axis='x')\n", | |
| "\n", | |
| " fig.suptitle(title)\n", | |
| " plt.show()\n", | |
| "\n", | |
| "def sph2cart(sph):\n", | |
| " az, el, r = rearrange(sph, \"... d -> d ...\")\n", | |
| " c = np.cos(el)\n", | |
| " return rearrange(np.stack((c * np.cos(az), c * np.sin(az), np.sin(el)) * r), \"d ... -> ... d\")\n", | |
| "\n", | |
| "def cart2sph(cart, axis=-1):\n", | |
| " x, y, z = cart.take(0,axis), cart.take(1,axis), cart.take(2,axis)\n", | |
| " az, el = np.arctan2(y, x), np.arctan2(z, np.hypot(x, y))\n", | |
| " r = np.sqrt(x ** 2 + y ** 2 + z ** 2)\n", | |
| " return np.stack((az, el, r), axis)\n", | |
| "\n", | |
| "def iter_batch(xs, bs, drop_last=True):\n", | |
| " n = len(xs) // bs\n", | |
| " for i in range(n):\n", | |
| " yield xs[i*bs:(i+1)*bs]\n", | |
| " if not drop_last:\n", | |
| " yield xs[n*bs:]\n", | |
| "\n", | |
| "def unpack_bz2(src_path):\n", | |
| " data = bz2.BZ2File(src_path).read()\n", | |
| " dst_path = src_path[:-4]\n", | |
| " with open(dst_path, 'wb') as fp:\n", | |
| " fp.write(data)\n", | |
| " return dst_path\n", | |
| "\n", | |
| "def make_zip(files, target, filename=os.path.basename):\n", | |
| " with ZipFile(target, 'w') as f:\n", | |
| " for p in files:\n", | |
| " f.write(p, filename(p))\n", | |
| " return target" | |
| ], | |
| "metadata": { | |
| "id": "_oAgoo5MSRUW" | |
| }, | |
| "execution_count": 2, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "source": [ | |
| "## Diagram" | |
| ], | |
| "metadata": { | |
| "id": "xtwNyPD-SPCJ" | |
| } | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "from matplotlib.patheffects import withStroke\n", | |
| "from matplotlib.patches import PathPatch, Path\n", | |
| "\n", | |
| "\n", | |
| "def ax_lim_aspect(ax=None):\n", | |
| " ax = ax or plt.gca()\n", | |
| " xmin, xmax = ax.get_xlim()\n", | |
| " ymin, ymax = ax.get_ylim()\n", | |
| " return (xmax - xmin) / (ymax - ymin)\n", | |
| "\n", | |
| "def ax_angle(c, p1, p2, size, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " ax.figure.canvas.draw()\n", | |
| "\n", | |
| " bbox = ax.get_window_extent()\n", | |
| " aspect = (1., bbox.width / bbox.height)\n", | |
| "\n", | |
| " c_d = ax.transData.transform(c)\n", | |
| " v1 = (ax.transData.transform(p1) - c_d) * aspect\n", | |
| " v2 = (ax.transData.transform(p2) - c_d) * aspect\n", | |
| "\n", | |
| " p = ax.transAxes.inverted().transform(ax.transData.transform(c))\n", | |
| " ax.add_patch(mpl.patches.Arc(p, size, size * aspect[1],\n", | |
| " theta1=np.degrees(atan2(v1)),\n", | |
| " theta2=np.degrees(atan2(v2)),\n", | |
| " transform=ax.transAxes, **kw))\n", | |
| "\n", | |
| "def ax_annotate_angle(c, p1, p2, text, size, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| "\n", | |
| " bbox = ax.get_window_extent()\n", | |
| " aspect = (bbox.width / bbox.height, 1)\n", | |
| "\n", | |
| " tf = mpl.transforms.CompositeGenericTransform(ax.transData, ax.transAxes.inverted())\n", | |
| "\n", | |
| " c_d = tf.transform(c)\n", | |
| " v1 = (tf.transform(p1) - c_d) * aspect\n", | |
| " v2 = (tf.transform(p2) - c_d) * aspect\n", | |
| " d = normalize(normalize(v1) + normalize(v2))/aspect\n", | |
| "\n", | |
| " ax_text(c_d + d * size, text, ha='center',va='center', transform=ax.transAxes, ax=ax, **kw)\n", | |
| "\n", | |
| "def ax_curly_brace(p0, p1, r, offset=0, ax=None, **kw):\n", | |
| " ax = ax or plt.gca()\n", | |
| " p0, p1 = ax.transData.transform(p0), ax.transData.transform(p1)\n", | |
| "\n", | |
| " dx = normalize(p1 - p0)\n", | |
| " dy = rot90(dx)\n", | |
| "\n", | |
| " p0 = p0 + dy * offset\n", | |
| "\n", | |
| " l = np.linalg.norm(p1 - p0)\n", | |
| " r = min(l * .25, r)\n", | |
| " s = (l - 4 * r) * .5\n", | |
| " K = 0.5522847498\n", | |
| "\n", | |
| " c0 = p0 + r * dx\n", | |
| " c1 = p0 + (r + s) * dx + (r * 2) * dy\n", | |
| " c2 = p0 + (r * 3 + s) * dx + (r * 2) * dy\n", | |
| " c3 = p0 + (r * 3 + s * 2) * dx\n", | |
| "\n", | |
| " q1 = p0 + (r + s) * dx + r * dy\n", | |
| " q3 = p0 + (r * 3 + s * 2) * dx + r * dy\n", | |
| "\n", | |
| " verts = ax.transAxes.inverted().transform([\n", | |
| " c0 + -r * dx,\n", | |
| " c0 + -r * dx + r * K * dy,\n", | |
| " c0 + -r * K * dx + r * dy,\n", | |
| " c0 + r * dy,\n", | |
| " q1,\n", | |
| " c1 + r * K * dx + -r * dy,\n", | |
| " c1 + r * dx + -r * K * dy,\n", | |
| " c1 + r * dx,\n", | |
| " c2 + -r * dx,\n", | |
| " c2 + -r * dx + -r * K * dy,\n", | |
| " c2 + -r * K * dx + -r * dy,\n", | |
| " c2 + -r * dy,\n", | |
| " q3,\n", | |
| " c3 + r * K * dx + r * dy,\n", | |
| " c3 + r * dx + r * K * dy,\n", | |
| " c3 + r * dx\n", | |
| " ])\n", | |
| "\n", | |
| " codes = [Path.MOVETO,Path.CURVE4,Path.CURVE4,Path.CURVE4,\n", | |
| " Path.LINETO,Path.CURVE4,Path.CURVE4,Path.CURVE4,\n", | |
| " Path.MOVETO,Path.CURVE4,Path.CURVE4,Path.CURVE4,\n", | |
| " Path.LINETO,Path.CURVE4,Path.CURVE4,Path.CURVE4]\n", | |
| "\n", | |
| " return ax.add_patch(mpl.patches.PathPatch(\n", | |
| " Path(verts, codes), fc='none', transform=ax.transAxes, **kw))\n", | |
| "\n", | |
| "def circumcircle(a, b, c, axis=-1):\n", | |
| " \"\"\"https://www.desmos.com/calculator/hwsqfnoczj\"\"\"\n", | |
| " ax, ay = a.take(0,axis), a.take(1,axis)\n", | |
| " bx, by = b.take(0,axis), b.take(1,axis)\n", | |
| " cx, cy = c.take(0,axis), c.take(1,axis)\n", | |
| " ab, bc, ca = a - b, b - c, c - a\n", | |
| " D = 2 * (ax * bc.take(1,axis) + bx * ca.take(1,axis) + cx * ab.take(1,axis))\n", | |
| " ha, hb, hc = ax**2 + ay**2, bx**2 + by**2, cx**2 + cy**2\n", | |
| " x = ha * bc.take(1,axis) + hb * ca.take(1,axis) + hc * ab.take(1,axis)\n", | |
| " y = ha * -bc.take(0,axis) + hb * -ca.take(0,axis) + hc * -ab.take(0,axis)\n", | |
| " O = np.stack((x,y),axis) / D\n", | |
| "\n", | |
| " la = np.linalg.norm(ab,axis=axis)\n", | |
| " lb = np.linalg.norm(bc,axis=axis)\n", | |
| " lc = np.linalg.norm(ca,axis=axis)\n", | |
| " s = (la + lb + lc) * .5\n", | |
| " r = (la * lb * lc) / np.sqrt(s * (s - la) * (s - lb) * (s - lc)) * .25\n", | |
| " return O, r" | |
| ], | |
| "metadata": { | |
| "id": "E7TQLVybSPrQ" | |
| }, | |
| "execution_count": 8, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "P = np.array([[0,0],\n", | |
| " [1,0],\n", | |
| " [.7,1]])\n", | |
| "\n", | |
| "pa, ba = P[2] - P[0], P[1] - P[0]\n", | |
| "h = (pa[0]*ba[0]+pa[1]*ba[1])/(ba[0]*ba[0]+ba[1]*ba[1])\n", | |
| "pc = ba * h\n", | |
| "\n", | |
| "cc, r = circumcircle(P[0],P[1], P[2])\n", | |
| "\n", | |
| "p_text = cc + (P - cc) * 1.1" | |
| ], | |
| "metadata": { | |
| "id": "95PAJD9-UjW1" | |
| }, | |
| "execution_count": 9, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "fig = plt.figure(figsize=(4,4))\n", | |
| "\n", | |
| "ax = fig.add_subplot()\n", | |
| "ax.set(xlim=(-.25,1.25),ylim=(-.25,1.25),aspect='equal')\n", | |
| "ax.set_axis_off()\n", | |
| "\n", | |
| "ax_lines([np.concatenate([P,P[:1]]),[P[2],pc]],lw=.3,ec=COLORS[\"gray80\"])\n", | |
| "ax_text(p_text[0],r\"$p_j$\",ha='center',va='center',color=COLORS[\"gray90\"],fontsize=10,usetex=True)\n", | |
| "ax_text(p_text[1],r\"$p_k$\",ha='center',va='center',color=COLORS[\"gray90\"],fontsize=10,usetex=True)\n", | |
| "ax_text(p_text[2],r\"$p_i$\",ha='center',va='center',color=COLORS[\"gray90\"],fontsize=10,usetex=True)\n", | |
| "ax_text(pc + (-.03, .05), r\"$q$\",ha='center',va='center',color=COLORS[\"gray90\"],fontsize=10,usetex=True)\n", | |
| "ax_scatter(np.insert(P,-1,pc,axis=0),s=10,color=COLORS[\"gray80\"])\n", | |
| "\n", | |
| "ax_angle(P[0], P[1], P[2], size=.1, lw=.5, ec=COLORS[\"gray80\"])\n", | |
| "ax_angle(P[1], P[2], P[0], size=.1, lw=.5, ec=COLORS[\"gray80\"])\n", | |
| "\n", | |
| "ax_annotate_angle(P[0], P[1], P[2], r\"$\\alpha$\", .08, fontsize=10,color=COLORS[\"gray90\"],usetex=True)\n", | |
| "ax_annotate_angle(P[1], P[0], P[2], r\"$\\beta$\", .08, fontsize=10,color=COLORS[\"gray90\"],usetex=True)\n", | |
| "\n", | |
| "ax_curly_brace(pc-(.002,0), P[0], 5, offset=10, ec=COLORS[\"gray60\"], lw=.5)\n", | |
| "ax_curly_brace(P[1], pc+(.002,0), 5, offset=10, ec=COLORS[\"gray60\"], lw=.5)\n", | |
| "\n", | |
| "ax_text(lerp(P[0], pc, .5) + rot90(normalize(P[0] - pc)) * .12, f\"$w_1$\",\n", | |
| " ha=\"center\",va=\"center\",fontsize=10,color=COLORS[\"gray90\"],usetex=True)\n", | |
| "ax_text(lerp(P[1], pc, .5) + rot90(normalize(pc - P[1])) * .12, f\"$w_2$\",\n", | |
| " ha=\"center\",va=\"center\",fontsize=10,color=COLORS[\"gray90\"],usetex=True)\n", | |
| "\n", | |
| "plt_show(0)" | |
| ], | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 407 | |
| }, | |
| "id": "VEJUJGlOUoI2", | |
| "outputId": "f6818ee0-def5-463c-ae1f-bd766fb1e0a4" | |
| }, | |
| "execution_count": 10, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "text/plain": [ | |
| "<Figure size 400x400 with 1 Axes>" | |
| ], | |
| "image/png": "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yKChoaFxPf/gwYMNOhKg7AwGAMigvXv3xtNPP13Vc/ft2xd79+5t8BEBZWUwAEAGHTlyJO65556qnrtp0ya3VQUaxmAAgIzavHlzPPvss2M+Z9u2bbF58+YmHRFQRkrPAJBR7373u+OnP/1pbNiw4YTS8zPPPBMbN25UegYaTukZADLo7LPPjs9+9rOxYsWKGB4ejpaWlpg5c2asXLkyHnroodizZ09s2bIl7cMESsAlSQCQMZMmTYpPf/rT8dWvfjWGh4cj4pXPNDz11FPx+9//Pr7zne/E2972tpSPEigLgwEAMmbRokWxd+/eeOSRR0Z9fO/evdHR0RGnnnpqk48MKCODAQAyZObMmfHOd74z1q5dO+bzHnvssbjggguadFRAmRkMAJARp556avT19cWqVavipZdeGvO5O3fujO7u7iYdGVBmBgMAZMRVV10V//3f/x0///nPT/rcRx55xBkGoCkMBgDIgLe85S0xc+bMqmNtL730UgwODsZ5553X2AMDSs9gAICUtba2xsc//vH40pe+FIcPH6767z344IMuSwIazmAAgJQtXbo07r777njuuefG9fceeuihuOiiixp0VACvMBgAIEVz586NiIht27aN++++8MIL0dLSEtOmTavrMQEczWAAgJScffbZ8aEPfShuv/32Cb+GswxAoxkMAJCC0WrOE7Fz507VZ6ChDAYASMHJas7VUn0GGs1gAIAmq7bmXC3VZ6CRDAYAaKLx1JyrpfoMNJLBAABNNJ6ac7VUn4FGMhgAoEnGW3Ouluoz0EgGAwA0wURrztVSfQYaxWAAgCaYaM25WnoMQKMYDADQYLXUnKul+gw0isEAAA1Uj5pztZxlABrBYACABqlXzblaqs9AIxgMANAg9ao5V0v1GWgEgwEAGqDeNedqqT4D9WYwAECdNaLmXC3VZ6DeDAYAqLNG1JyrpfoM1JvBAAB11Kiac7VUn4F6MxgAoE4aXXOuluozUE8GAwDUSaNrztXSYwDqyWAAgDpoRs25WqrPQD0ZDABQo2bWnKvlLANQLwYDANSg2TXnaqk+A/ViMABADZpdc66W6jNQLwYDAExQWjXnaqk+A/VgMADABKRZc66W6jNQDwYDAExAmjXnaqk+A/VgMADAOKVdc66W6jNQDwYDAIxDVmrO1VJ9BmplMADAOGSl5lwtPQagVgYDAFQp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OF966aWxfv36quK21IfBkKLKKbrKXQMGBgZi69atI/clrkatp+n2798fv/vd76KjoyP27Nkz4dcBoHFaW1vj9NNPj71796rh0hRTpkyJs846K37wgx/U9Dq1Xn599NUYixcvjoiIK6+8sqZjYvwMhhRVzjDU8o3f1dU15mm8auzZsyf+5m/+Jr73ve/FkSNHanotAOrvrW99a7z00kvx6KOPxsKFC+Pcc8+Np59+Ou3DosDe+ta3xqFDh2o+w1Dr5dezZs2KoaGhaG1tjZ6enhNuyUpzGAwp6ujoqOnuRpV/CWttNGzfvj0uvPDCeNOb3hSPPfZYTa8FQH2dcsop0dPTEz/5yU/iJz/5Sbzzne+MOXPmjNz0Aupt0qRJcfHFF8ejjz4aBw8erOm1ar38uqenJwYHB+PGG290di1FPvScksodAWq5/q7yL2Gt1/A988wzsWfPnrjkkkti6tSpNb0WAPU1f/78ePWrXx0/+tGP4siRI/GjH/0oZs+eHX/1V3+V9qFRUO95z3vi9NNPj+3bt9f8Wsdfft3X1xenn356LF26tKrPanZ1dUVExIoVK6KtrS06OztrPibGz2BISeWH/dFO0VVr9uzZdbvN2L333hstLS1x9dVXGw0AGXHZZZdFT09PfPvb344XXnghIiIefvjh2L17d1xxxRVGA3X3nve8J975znfG/fffH88991zNr3f05dcXXXRRLFq0KPr7+8f1Wc01a9bE4OBg7Nq1K6655pqaj4nxMxhSUomU1NJPmDVrVs2XI1Xs378/7rzzzpg0aVJcffXVccYZZ9TldQEYv8mTJ8d73/veePvb3x6bN2+Ohx56aOSxw4cPx9133x0//elP44orrhj5DS7UYtKkSTFv3rx417veFffff39dzi5E1Hb5deVqjErQbf369TF//vxobW2ty7FRPYMhJZVTbLV8hqGrq6uumfSjR8OnPvWp6O3tjenTp9ft9QEY22mnnRbveMc74tOf/nT09PTE5s2b48EHHzzheUePhg9/+MPx8Y9/PLq6umLSJP9ZZ3ymTJkSF198cSxbtmzkzEK9xkKtl1/39PTE0NDQyNmISsfhxhtvjMWLF4+8Po3nQ88paG1tjaGhodi5c+eEg2utra3R1tZWtzMMFfv374/Vq1fHW9/61nj7298e//iP/xgvvvhiPPPMM/GHP/yhrl8LJuLIkSPx4osvxr59++LnP//5uE+ZT5kyJd74xjfGjBkz4owzzojJkyc36EihepMnT44zzjgjXve618XLL78cjzzySGzfvj2ef/75xL9z+PDh+MY3vhFvfOMbY86cOfGRj3wkXn755Xj22WdjeHi4NHe9O3ToUBw4cCB+9atfxc9+9rN48cUXx/X3zzzzzDjvvPNixowZ8ZrXvKY0o2vSpElxxhlnxFlnnRWHDh2KRx99NLZv316Xy5Aqar38etasWbFhw4aRfx4eHo5Vq1ZFb29v3HHHHRP+GYrxa5kxY0Y53lEKZt68edHT0xM333xzw75GS0tLzJw5M9rb2+Pss8+OV73qVQ37WlCtlpaWaG1tjXPOOScmT54ce/bsie3bt8fevXvH/Hutra1x8cUXx0UXXRRTpkyJ/fv3x/PPPx8vv/xyk44ckh06dCgOHjwYv/rVr+Kpp56q+vruo51zzjnx//7f/4vp06fHq1/96mhpaWnAkWbP5MmT48wzz4wzzzwzXnrppfjxj38cP/rRj2L//v1j/r2Ojo6YM2dOzJo1Kw4fPhzPPvtsHDx4MA4fPtycA0/Z4cOHj/meq/VuSKNZvXp19PT0xPLly6v6gDPZZTDkTCXe09fXF/39/SqHlNbkyZNj1qxZMWfOnJg+fXo88sgjsXHjxlF/q/rGN74xPvrRj8bLL78cDz30UDz44IMxNDSUwlEDjfLa1742Lrroouju7o7TTjstNmzYkHir8Pe+973R09MTzz33XGzfvj0ee+wxvzxogAceeCDa2triYx/7mLMBOeeSpJyZPXt2rFy5Mm6++WZjgVI7dOhQPP744/H444/HBRdcEIsWLYqIOGE0VMbCz372s9iwYYNL66Cgfvvb38b3vve9+OEPfxjvf//7Y/HixXHkyJF4/PHHj3ne+973vuju7o5vf/vbdb+slz+rx+XXZIczDEAhdHV1xYc+9KF47LHHRkbD0WPhrrvuikOHDqV9mEATtLS0xMKFC+PCCy+M9evXj4yGylj41re+FQ8//HDKRwn5UY5P9gCFt2vXrrj77rvjwgsvjAsuuCBOPfXU6O3tjb179xoLUDJHjhyJTZs2xWOPPRaXX355vOY1r4m//Mu/jO7u7vjP//xPYwHGySVJQGHs2rUrdu/eHXPmzInTTjstTjvttLj33nuNBSihI0eOxH333RezZs2K7u7u+Iu/+Iv45S9/Gf/7v/+b9qFB7jjDABTK9u3b4/Wvf328733vi8ceeywOHDiQ9iEBKXnxxRfjxz/+cbz73e+O8847r259ASgbgwEolF/84hcj//snP/lJegcCZMLRlx/58C1MjMEAFJY7iQFHh8jKErODejMYgMKpfGbhj3/8Y8pHAqTNSIDaua0qUEgtLS1+UAAiwvsB1MoZBqCQ/HAAVHg/gNoYDAAAQCKDAQAASGQwAAAAiQwGAAAgkcEAAAAkMhgAAIBEBgMAAJDIYAAAABIZDAAAQCKDAQAASGQwAAAAiQwGAAAg0SlpHwDAybS3t0dvb29ERBw4cCAOHjwYU6dOjY6Ojrj55ptHnrdy5cro7u6ORYsWjfxZZ2dnfOELX4itW7dGf39/sw8dqDPvB9B8BgOQeStXroyenp5j/mxoaCiuvPLKkX/u7u6O3t7e2LVr1zF/dtttt0VExJIlS+KOO+6I4eHh5hw00BDeD6D5DAYg01pbW6O9vT3mzp078h/37u7umDp1agwODo48b9asWRERsXPnzpE/GxwcjLlz58btt98eXV1dMXv27GMeB/LF+wGkw2cYgEybPXt29Pf3j/xwULkcYevWrSc8LyLiu9/97sifDQ4OxvDw8MgPBQcOHGjSUQON4P0A0uEMA5Bpx/8G8JZbbonPf/7zJzyv8hvF3bt3n/DY1KlTEx+LiFi8eHEsWbLkmGudgexp5PtBX19fzJs3Lzo6OmJgYCB27twZq1atctkShMEA5EhfX19EnPgf+tbW1ujo6IgdO3aM+vfa29uPuZa58me9vb0xb968aGtri7a2tsYcNNAQ9Xw/WLduXXR1dcWOHTviySefHPkMxPEfmoayckkSkAutra2xZMmSuP/++094rHL5wVg/IBz/93p7e2NgYCAWLVrkOmbImXq/H3R1dcXll18e1113XaxYsSIuueSS2LVrV3R0dMRVV11V//8HIGcMBiAXKrdRHO2HgMpjR3/osaK9vT06OjpOuMa5v78/NmzYEBGv3GEFyI96vh+0t7fH+vXrT3h+5barlQECZWYwALlw6aWXRsSJPwS0trZGd3d3REQMDAyc8PeWLFky6g8DQH7V8/1gcHAwVq1adcJzK8/xCwUwGICc6Orqiog44QOIvb29I5cUjfbhxPnz54/6wwCQX/V+PxjtuZUPTidd2gRlYjAAudLa2jryv9vb2+P0008f9bGIVwJPN910k7ucQEE18v2gEn47/nJGKCODAciFyuUFR19PvGTJkujv7x+5ZODo+uvixYvj4MGD/mMPBdTo94N58+ZFV1dXLF26tI5HDfnltqpALmzdujWWLFkSt9xyS6xZsyZ6enri5ptvjogYuUXi1VdfHRGv/BDxxBNPjHxoESiWRr4ftLe3R19fXyxdutTZSfgTZxiAXOjv7x+5lrjyw0HlQ4kbNmyILVu2RMQrPxzccccdsXbt2tSOFWisRr0ftLa2xurVq2P58uWJoUcoo5YZM2YcSfsgANK0cuXK6O3tjYsuuijtQwFStG7duujv79dmgeM4wwAAlN7q1atjzZo1xgKMwmcYgNJra2uLiFcuR3DNMpTP6tWro729PXp6eqKnp2fkPWHq1KkREbF+/Xo3UKDUDAagtPr6+qK9vT3mz58fERG333577Nq1K775zW+6fhlKoq+vb+SOSh0dHaM+p/KZCCgrn2EAAAAS+QwDAACQyGAAAAASGQwAAEAigwEAAEhkMAAAAIkMBgAAIJHBAAAAJDIYAACARAYDAACQyGAAAAASGQwAAEAigwEAAEhkMAAAAIkMBgAAIJHBAAAAJDIYAACARAYDAACQyGAAAAASGQwAAEAigwEAAEhkMAAAAIkMBgAAIJHBAAAAJDIYAACARAYDAACQyGAAAAASGQwAAEAigwEAAEhkMAAAAIkMBgAAIJHBAAAAJDIYAACARAYDAACQyGAAAAASGQwAAEAigwEAAEhkMAAAAIkMBgAAIJHBAAAAJDIYAACARAYDAACQyGAAAAASGQwAAEAigwEAAEhkMAAAAIkMBgAAIJHBAAAAJDIYAACARAYDAACQyGAAAAASGQwAAEAigwEAAEhkMAAAAIkMBgAAIJHBAAAAJDIYAACARAYDAACQ6P8DO2nMYKpPd0IAAAAASUVORK5CYII=\n" | |
| }, | |
| "metadata": { | |
| "image/png": { | |
| "width": 390, | |
| "height": 390 | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "k = np.sqrt(3) * .5\n", | |
| "lines = [\n", | |
| " [[k,.5],\n", | |
| " [0,1],\n", | |
| " [-k,.5],\n", | |
| " [-k,-.5],\n", | |
| " [0,-1],\n", | |
| " [k,-.5],\n", | |
| " [k,.5]],\n", | |
| " [[k,.5],[-k,-.5]],\n", | |
| " [[k,-.5],[-k,.5]],\n", | |
| " [[0,1],[0,-1]]\n", | |
| "]" | |
| ], | |
| "metadata": { | |
| "id": "6wQYREdeq_4F" | |
| }, | |
| "execution_count": 11, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [ | |
| "fig = plt.figure(figsize=(4,4))\n", | |
| "\n", | |
| "ax = fig.add_subplot()\n", | |
| "ax.set(xlim=(-1.3,1.3),ylim=(-1.3,1.3),aspect=\"equal\")\n", | |
| "ax.set_axis_off()\n", | |
| "\n", | |
| "ax_lines(lines,lw=.5,ec=COLORS[\"gray70\"])\n", | |
| "ax.text(-.17, .1, r\"$p_i$\",\n", | |
| " color=COLORS[\"gray80\"],va='center',ha='center',\n", | |
| " path_effects=[withStroke(linewidth=12, foreground=COLORS[\"gray10\"])],\n", | |
| " fontsize=10,usetex=True)\n", | |
| "ax.text(0, -1.12, r\"$p_j$\",\n", | |
| " color=COLORS[\"gray80\"],va='center',ha='center',\n", | |
| " path_effects=[withStroke(linewidth=12, foreground=COLORS[\"gray10\"])],\n", | |
| " fontsize=10,usetex=True)\n", | |
| "ax_scatter(np.array([[0,0],[0,-1]]),s=10,color=COLORS[\"gray80\"])\n", | |
| "\n", | |
| "ax_angle(np.array([-k,-.5]), np.array([0,-1]), np.array([0,0]),\n", | |
| " size=.1, lw=.5, ec=COLORS[\"gray70\"])\n", | |
| "ax_angle(np.array([k,-.5]), np.array([0,0]), np.array([0,-1]),\n", | |
| " size=.1, lw=.5, ec=COLORS[\"gray70\"])\n", | |
| "\n", | |
| "ax_annotate_angle(np.array([-k,-.5]), np.array([0,-1]), np.array([0,0]), r\"$\\alpha_j$\",\n", | |
| " .1, fontsize=10,color=COLORS[\"gray80\"],usetex=True)\n", | |
| "ax_annotate_angle(np.array([k,-.5]), np.array([0,0]), np.array([0,-1]), r\"$\\beta_j$\",\n", | |
| " .1, fontsize=10,color=COLORS[\"gray80\"],usetex=True)\n", | |
| "\n", | |
| "plt_show(0)" | |
| ], | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 407 | |
| }, | |
| "id": "G-qUH7hKfOBg", | |
| "outputId": "830de7d3-c02e-4477-b256-6219709f01de" | |
| }, | |
| "execution_count": 73, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "text/plain": [ | |
| "<Figure size 400x400 with 1 Axes>" | |
| ], | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwwAAAMMCAYAAAD+fyB7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAewgAAHsIBbtB1PgAAoxpJREFUeJzs3WdU1HfC/v9rEMTeY9tYYjT2GhDpYAPpMC2/szkpu8nupm029+6mrms0WUuaRqMxMc2YbDIMvQkibehFkI4iKIoiBAHpCMz8H9y3/DcbMRbgMzDX61kEmbfn5ADXfJtk5syZOhAREREREd2CkegAIiIiIiLSXxwMRERERETUKw4GIiIiIiLqFQcDERERERH1ioOBiIiIiIh6xcFARERERES94mAgIiIiIqJecTAQEREREVGvOBiIiIiIiKhXHAxERERERNQrDgYiIiIiIuoVBwMREREREfWKg4GIiIiIiHrFwUBERERERL3iYCAiIiIiol5xMBARERERUa84GIiIiIiIqFccDERERERE1CsOBiIiIiIi6hUHAxERERER9YqDgYiIiIiIesXBQEREREREveJgICIiIiKiXnEwEBERERFRrzgYiIiIiIioVxwMRERERETUKw4GIiIiIiLqFQcDERERERH1ioOBiIiIiIh6xcFARERERES94mAgIiIiIqJecTAQEREREVGvOBiIiIiIiKhXHAxERERERNQrDgYiIiIiIuoVBwMREREREfWKg4GIiIiIiHrFwUBERERERL3iYCAiIiIiol5xMBARERERUa84GIiIiIiIqFccDERERERE1CsOBiIiIiIi6hUHAxERERER9YqDgYiIiIiIesXBQEREREREveJgICIiIiKiXnEwEBERERFRrzgYiIiIiIioVxwMRERERETUKw4GIiIiIiLqFQcDERERERH1ioOBiIiIiIh6xcFARERERES94mAgIiIiIqJecTAQEREREVGvOBiIiIiIiKhXHAxERERERNQrDgYiIiIiIuoVBwMREREREfWKg4GIiIiIiHrFwUBERERERL3iYCAiIiIiol5xMBARERERUa84GIiIiIiIqFccDERERERE1CsOBiIiIiIi6hUHAxERERER9YqDgYiIiIiIesXBQEREREREveJgICIiIiKiXnEwEBERERFRrzgYiIiIiIioVxwMRERERETU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\n" | |
| }, | |
| "metadata": { | |
| "image/png": { | |
| "width": 390, | |
| "height": 390 | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "source": [], | |
| "metadata": { | |
| "id": "wVj4bJLUfO9C" | |
| }, | |
| "execution_count": null, | |
| "outputs": [] | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment