From 2fbd99d64802cfd3d1410a31bbea25ab05bc48f4 Mon Sep 17 00:00:00 2001
From: codemasher
Date: Thu, 26 May 2022 21:07:36 +0000
Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20chillerl?=
=?UTF-8?q?an/php-qrcode@53f6dcfc882daf9edcf72aaeaa560411c1b2d50a=20?=
=?UTF-8?q?=F0=9F=9A=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...erlan-QRCode-Common-FormatInformation.html | 569 -----
.../chillerlan-QRCode-Common-MaskPattern.html | 61 +-
...rlan-QRCode-Common-ReedSolomonEncoder.html | 36 +-
classes/chillerlan-QRCode-Data-QRData.html | 6 +-
classes/chillerlan-QRCode-Data-QRMatrix.html | 352 ++-
.../chillerlan-QRCode-Decoder-Binarizer.html | 99 +-
.../chillerlan-QRCode-Decoder-BitMatrix.html | 2147 +++++++++++++----
.../chillerlan-QRCode-Decoder-Decoder.html | 30 +-
...rlan-QRCode-Decoder-GDLuminanceSource.html | 14 +-
...QRCode-Decoder-IMagickLuminanceSource.html | 14 +-
...RCode-Decoder-LuminanceSourceAbstract.html | 14 +-
...Code-Decoder-LuminanceSourceInterface.html | 14 +-
...RCode-Detector-AlignmentPatternFinder.html | 14 +-
.../chillerlan-QRCode-Detector-Detector.html | 48 +-
...n-QRCode-Detector-FinderPatternFinder.html | 126 +-
...hillerlan-QRCode-Detector-GridSampler.html | 14 +-
...illerlan-QRCodeTest-Data-QRMatrixTest.html | 32 +-
descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ | Bin 4939 -> 4939 bytes
descriptors/-/F/jRgdyBLyXKT+BGk4NfTw | Bin 10008 -> 10008 bytes
descriptors/-/F/kNxgM6+xXQuNe88gSOxA | Bin 3896 -> 3896 bytes
descriptors/-/O/p5-gmoh5hPLmm04gN4pQ | Bin 21766 -> 21741 bytes
descriptors/0/8/K5Nh3Keev5uTA1xbHsFg | Bin 2402 -> 2402 bytes
descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ | Bin 14314 -> 14314 bytes
descriptors/0/N/GpaeNybzoU59gW6UhBnQ | Bin 5100 -> 5100 bytes
descriptors/1/C/HhgHbACpp2-v5vnsHqoQ | Bin 11110 -> 11110 bytes
descriptors/1/W/3ebKU0GB6zhMUdVP1b+A | Bin 29196 -> 22681 bytes
descriptors/1/W/oHvshtXLek5m48kI4qYQ | Bin 6284 -> 6284 bytes
descriptors/3/O/NJboKaggdJkamainZjsA | Bin 4978 -> 4978 bytes
descriptors/4/B/qeb7Z8-vMA7Ua4+gfLXA | Bin 2343 -> 2343 bytes
descriptors/5/S/JYW4u1Ss7g87mvPurwuQ | Bin 9941 -> 9941 bytes
descriptors/6/1/lB29Unf+MGop8ZfQpbxw | Bin 14943 -> 14943 bytes
descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg | Bin 8293 -> 8293 bytes
descriptors/7/8/QsSJcxuDttqz7kaLKK9w | Bin 2908 -> 2908 bytes
descriptors/8/B/YUUawcRPu8iqa0H4uRzA | Bin 425 -> 425 bytes
descriptors/8/T/vc7T6bnZ3UycLojYYsbQ | Bin 9066 -> 9066 bytes
descriptors/9/O/WWt-IuNrfC8yLC-ncXKQ | Bin 2426 -> 2426 bytes
descriptors/A/H/DD90x3SluOjSxkcV88ZA | Bin 7919 -> 7919 bytes
descriptors/A/N/Ljow2YPBWWbEcemFbdJg | Bin 4159 -> 4159 bytes
descriptors/B/1/aTEUuEOOiQctQ60relWw | Bin 6454 -> 6454 bytes
descriptors/B/E/r1vpxcSDgXhLhmvapg0g | Bin 29753 -> 29753 bytes
descriptors/B/M/ypKt-svLtRmUKXHv+qBg | Bin 3963 -> 3963 bytes
descriptors/C/M/EVCvnxX+dRHuyEr8qsYA | Bin 2917 -> 2917 bytes
descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w | Bin 5919 -> 5845 bytes
descriptors/D/F/DOG571bO-z1teWt5gCnA | Bin 8748 -> 8748 bytes
descriptors/D/Y/k68AX6bKDcYhVlpLdDsA | Bin 7701 -> 7701 bytes
descriptors/F/7/OnTTKZgQfCrYvSHdurDA | Bin 4090 -> 4090 bytes
descriptors/F/9/pXbPL7Yb0FBQxCQ3gJFw | Bin 7774 -> 0 bytes
descriptors/F/B/LksworQTmdGDsbuGgK3w | Bin 4543 -> 4543 bytes
descriptors/F/V/02epmiUkatFxWCEUNOZQ | Bin 34825 -> 34825 bytes
descriptors/F/W/W0teNcVy9jqdc46pQatg | Bin 11211 -> 11211 bytes
descriptors/G/8/34PLS-AzpSCuX2cZHsqw | Bin 2917 -> 2917 bytes
descriptors/G/G/Wqosy8fgWMr+iNneQiEw | Bin 5030 -> 5030 bytes
descriptors/G/V/fdJGuZf5fNFLqtugqT-w | Bin 2899 -> 2899 bytes
descriptors/G/Z/oRUELJnE8E9xjfb7zVYw | Bin 4180 -> 4180 bytes
descriptors/H/K/L8qxzlGe3nApAEb0XDmw | Bin 8244 -> 8244 bytes
descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ | Bin 13829 -> 13829 bytes
descriptors/L/2/ctw2MM3ESsh4daIK1sWg | Bin 2980 -> 2980 bytes
descriptors/M/-/WxZaFDk-ceeWbfrdktlw | Bin 9855 -> 9855 bytes
descriptors/M/D/7RuPc8ZLXiYUOULAXMHA | Bin 5099 -> 5099 bytes
descriptors/M/E/Nh3ZTPCAW0NKAreDA58A | Bin 2502 -> 2502 bytes
descriptors/M/H/UP+q5Whq-hBCfNUVgmmA | Bin 13099 -> 13099 bytes
descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw | Bin 13131 -> 12990 bytes
descriptors/N/K/1wJmCAkdhUBMG4W9U26Q | Bin 16185 -> 16207 bytes
descriptors/N/L/M8tl-UJDn9hJ5n0JYiUQ | Bin 6776 -> 6776 bytes
descriptors/O/-/Qj50sQunXyprLIPjDWuw | Bin 6040 -> 6040 bytes
descriptors/O/9/TxGIyEkOt8LOdakmWGng | Bin 9184 -> 9184 bytes
descriptors/O/C/QrLkTA4pksM1hZjh2fmQ | Bin 6336 -> 6336 bytes
descriptors/O/O/mS81z7ltTtSlHSFUSNuw | Bin 12054 -> 12054 bytes
descriptors/O/P/hsy4XuaUYG7s+p327kdw | Bin 9969 -> 9981 bytes
descriptors/P/F/CRQ81A3lfcHvSs9jQKkw | Bin 14832 -> 14832 bytes
descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ | Bin 8480 -> 8390 bytes
descriptors/Q/G/1e8Ygp1jpFLMRhjJxNng | Bin 10171 -> 10171 bytes
descriptors/Q/P/B+J2GJLfQ0IakPB13vHw | Bin 12325 -> 12351 bytes
descriptors/R/J/XynComHevEUzJVBqwqBw | Bin 8702 -> 8702 bytes
descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ | Bin 36557 -> 36557 bytes
descriptors/S/5/GDvbx5K37txRsFozM6Dw | Bin 15591 -> 15591 bytes
descriptors/S/O/uB88R0MDvju5O8vP9R2g | Bin 38884 -> 39003 bytes
descriptors/T/M/LNFLDuHMpqMgpKcW670A | Bin 2918 -> 2918 bytes
descriptors/T/U/tCn8347JaERiSFirOQkQ | Bin 33563 -> 32265 bytes
descriptors/T/Y/GYEZMyZYKnQDpBqG-ZsQ | Bin 3651 -> 3651 bytes
descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig | Bin 5286 -> 5286 bytes
descriptors/U/F/lOcPYujFNfed0+VaP6pQ | Bin 7285 -> 7285 bytes
descriptors/U/M/GOkWye9ioWEVXJE38j3A | Bin 5863 -> 5863 bytes
descriptors/U/T/sy7Fttx0RT+dXnidigIg | Bin 19878 -> 20437 bytes
descriptors/V/D/k1Sxb8RF0516043ylCfA | Bin 8471 -> 8471 bytes
descriptors/V/W/lD6qBTbqlkVqPSgCnx4Q | Bin 2917 -> 2917 bytes
descriptors/W/V/grsubfc-REqTpvf8epEg | Bin 19166 -> 19117 bytes
descriptors/W/W/VuUIL017QJptZ8nk+oCQ | Bin 13039 -> 13039 bytes
descriptors/X/K/dIL95Dr61miaEd3wrNUQ | Bin 7663 -> 7683 bytes
descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ | Bin 4080 -> 4080 bytes
descriptors/X/P/6FuSnMkagyPUTmQNikpA | Bin 15033 -> 15033 bytes
descriptors/Y/H/ePCrZ0GYbMW9q694m-BA | Bin 14919 -> 14919 bytes
descriptors/Y/J/-UeysKWW9IRX0jdHGODw | Bin 3011 -> 3011 bytes
descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA | Bin 2378 -> 2378 bytes
descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg | Bin 21820 -> 21397 bytes
descriptors/Z/R/OUsJ+j-nqt5LtwbqJiaQ | Bin 2414 -> 2414 bytes
descriptors/Z/T/SVOJOBr-M5MAP66POlfw | Bin 4210 -> 4210 bytes
descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg | Bin 21836 -> 22064 bytes
files/+/K/fivj+KhPIlShyqsYHS6w | Bin 58129 -> 58129 bytes
files/+/S/wrM-jPxYLjp2miviyjqw | Bin 0 -> 35209 bytes
files/-/L/JVcJQjpIr7foxVgjTUxA | Bin 230027 -> 230027 bytes
files/0/L/e0NLQo8nmqbFSArGMKeA | Bin 80527 -> 0 bytes
files/0/P/9TmOfQ1VmiCaZtldqrtQ | Bin 89435 -> 0 bytes
files/1/C/CbuZy0fqcFbWJLYV7CMQ | Bin 35397 -> 35397 bytes
files/1/R/7JvD4UbX9ZrpN0vvITpw | Bin 35177 -> 0 bytes
files/3/3/fNbZvBvpkr88YIkXpkvg | Bin 19089 -> 19089 bytes
files/3/G/7onX3zKzW1+5AI3uovcA | Bin 72555 -> 72555 bytes
files/3/H/wB2GiwqPuQxHs6x6WSuQ | Bin 10149 -> 10149 bytes
files/3/N/189cBEl67bsBwjxv+UZQ | Bin 10301 -> 10301 bytes
files/4/A/SVpTTMK1n6oImqC-ArLw | Bin 24681 -> 24681 bytes
files/5/2/SczqacBMs8Xs9CNoLnZQ | Bin 30505 -> 30505 bytes
files/5/Y/eUrrXI9RYLYsfyKLq-lQ | Bin 14277 -> 14277 bytes
files/6/N/2FZfaB2jHCQixfQSoTqQ | Bin 0 -> 179955 bytes
files/7/C/yHK5-SltR2h317oRNQHw | Bin 40765 -> 40765 bytes
files/7/O/hVnPCNw3dvd9Hg1VDBUg | Bin 22973 -> 22973 bytes
files/8/0/fp9ShnPyXs7M-MCMUhpA | Bin 10137 -> 10137 bytes
files/9/X/t0oAbWrLJ8eYeO0ctYBQ | Bin 28833 -> 28833 bytes
files/A/S/kveMpVSfMypkefUhTg+w | Bin 64041 -> 64041 bytes
files/B/+/cilQUkol1+S1DN2k4IAw | Bin 22753 -> 22753 bytes
files/B/A/PlYPAD3WRkmDlZCA0sYg | Bin 52225 -> 52225 bytes
files/B/G/d5hfp17i9wMvaCFNPjWA | Bin 33597 -> 33597 bytes
files/B/H/KvGP2UVEMGrycr9hWcOg | Bin 0 -> 89323 bytes
files/B/Z/iWJB1cFgK2tgeml2h-fQ | Bin 0 -> 75767 bytes
files/B/Z/r6u9XkCEapqm4ynQfcGA | Bin 175255 -> 175255 bytes
files/C/A/iLTAvf56jtDjxMNSr0HQ | Bin 82775 -> 82775 bytes
files/C/F/DbW2Pl32WH1Y2LPi4Nrw | Bin 33805 -> 0 bytes
files/C/H/BvIsMp78g+y3-WbjvTAA | Bin 155027 -> 0 bytes
files/C/Z/oatGE-a8FElByY-JNZTA | Bin 6921 -> 6921 bytes
files/D/6/1lQpZtHHuBj-6HQXKSsw | Bin 103847 -> 0 bytes
files/D/R/gj7mKqcxe8KYAFY5lAJA | Bin 38393 -> 38393 bytes
files/E/9/nweH4dCaAgwFUIPbFRIA | Bin 52857 -> 52857 bytes
files/E/R/TAcbdYw27qpvxALSxR3w | Bin 29973 -> 29973 bytes
files/E/Z/Or2RBx9GltvHT9ZAUFpQ | Bin 35885 -> 35885 bytes
files/F/+/C1GJwnHM4LR2ZeV+2VfQ | Bin 10149 -> 10149 bytes
files/F/6/YsNYwb1msBicc+pHjxkQ | Bin 52873 -> 52873 bytes
files/F/R/Nr60fjCnka+ugl60hKMA | Bin 6901 -> 6901 bytes
files/G/S/ilhZdkG-bqx8NIJVrmNg | Bin 12665 -> 12665 bytes
files/I/A/nqtGjl7eu5-IcarAosug | Bin 13925 -> 13925 bytes
files/I/D/uMIMcEmycM2j9DoNEowg | Bin 0 -> 33917 bytes
files/I/R/N-akxKJ4qG3JpbMIkfHw | Bin 56301 -> 56301 bytes
files/J/1/PxuL9jO1x9efWzIN4yzQ | Bin 9129 -> 9129 bytes
files/J/1/pIAusvx9ulfkRypatz7w | Bin 41961 -> 41961 bytes
files/K/A/0rd0+hMAxzMuWlnRSDNQ | Bin 0 -> 155871 bytes
files/K/L/Stsb4wdGitJvHmK5upng | Bin 0 -> 51249 bytes
files/K/S/agTVwveve-SQrWl1ZfOg | Bin 0 -> 65509 bytes
files/K/Y/xjLMZlMZ9vOrVLEHKJxg | Bin 51229 -> 0 bytes
files/L/7/ylF0KR+fhK2DZo9efRVA | Bin 40221 -> 40221 bytes
files/L/T/W88DmREidrVeiHAF1qmw | Bin 0 -> 103815 bytes
files/L/X/qHuIyBxkKnTcVhX+4UTg | Bin 46477 -> 46477 bytes
files/L/Z/M1tyW8Rxbr-z6hn+d8gw | Bin 94539 -> 94539 bytes
files/L/Z/uplcU1zTlxA9g7KlMXWA | Bin 0 -> 79899 bytes
files/N/L/oVuRqu5li7C+R-50gcfg | Bin 187347 -> 0 bytes
files/N/O/oDXogH4VOzsYfbmEHngg | Bin 33421 -> 33421 bytes
files/N/P/cB3NBJaYRXoBzlPDG00w | Bin 15961 -> 15961 bytes
files/N/U/0TUmsiWWXi81SaLO-vCw | Bin 0 -> 93187 bytes
files/O/H/wxhiv21RpPOAKuyg6aYQ | Bin 54609 -> 0 bytes
files/O/K/NmOmNO3p5h7L1Cv6QCyw | Bin 77159 -> 77159 bytes
files/O/L/2VVoPbca2+iXf34L6GpA | Bin 0 -> 54773 bytes
files/O/L/E6Aj-zzhQ7DF5jLkxnAw | Bin 14217 -> 14217 bytes
files/O/P/VKUMgyryHg5qnxCn-h0g | Bin 6861 -> 6861 bytes
files/O/Z/C4jK3BJgUt-N5Vk2YArw | Bin 15865 -> 15865 bytes
files/P/U/3gHgJ3QePrmByKl3RLCw | Bin 45153 -> 45153 bytes
files/P/W/lxK1JdbgtgJEYHlr1xfw | Bin 15717 -> 15717 bytes
files/Q/6/afD6rVJYJ2CYS6mlNirw | Bin 27309 -> 27309 bytes
files/Q/I/mJSGZXEGE4Xh89zx-xTA | Bin 36721 -> 36721 bytes
files/Q/L/AceURt5XU6Q0g0c6y8hw | Bin 79279 -> 0 bytes
files/R/1/AhKdr1gqaXCIasSPqx9w | Bin 10245 -> 10245 bytes
files/R/R/GI+7hZ1thaklhglVcj2g | Bin 47073 -> 47073 bytes
files/R/U/+w581b+tml-CmMzhLSVA | Bin 0 -> 32969 bytes
files/S/R/RN2eZZA1wBDWMALnD5MQ | Bin 42329 -> 42329 bytes
files/T/O/dRc17A7DH1O9sHuxixqA | Bin 72959 -> 0 bytes
files/T/P/69khEcflqCnlBabGDBmQ | Bin 136175 -> 0 bytes
files/U/2/rmwzTu01UCJBQPtjSu4A | Bin 21609 -> 21609 bytes
files/U/B/YP5QXIhrYiwu-iJQjHfQ | Bin 7917 -> 7917 bytes
files/U/F/1WtYZC1O9cy5oPwAY7XQ | Bin 16053 -> 16053 bytes
files/U/J/JwMkjE77AoI6w26d1sgA | Bin 20777 -> 20777 bytes
files/U/L/tWKwtUMrty1YgiXYYdzA | Bin 52577 -> 52577 bytes
files/V/1/rwNpFLpluH8wiTsLoRDw | Bin 0 -> 79219 bytes
files/V/6/UqfusinvnQSMYR8OJD4A | Bin 44937 -> 44937 bytes
files/V/R/fQN2fNNLMYGdBwZPYZRA | Bin 6941 -> 6941 bytes
files/W/A/6X48IDMa202CFrLH8K3w | Bin 79683 -> 79683 bytes
files/W/Y/0n9UfKEBf8E3VHC8ekEA | Bin 10149 -> 10149 bytes
files/X/E/4QUvsufJTJinVZZiFAjA | Bin 65803 -> 0 bytes
files/X/E/QfByA38nHhFeAb89mCGg | Bin 20125 -> 20125 bytes
files/X/F/EMJTqXnNx40cGZ3fpoug | Bin 69511 -> 69511 bytes
files/X/G/Jecbvu+fgXXGa5RdRzaQ | Bin 10153 -> 10153 bytes
files/Y/K/bsAGuZPjAy62MiPnlvYg | Bin 33113 -> 0 bytes
files/Z/5/n9gAR3guIFx-jlh-tzBQ | Bin 32269 -> 0 bytes
files/Z/T/pkfHm5WAHij9wIcmZKcQ | Bin 27425 -> 27425 bytes
files/Z/W/urTlDp5s1eB9768DzN0w | Bin 17009 -> 17009 bytes
files/Z/Y/anqhQGjjMdO1w6SkylxA | Bin 8425 -> 8425 bytes
files/src-common-formatinformation.html | 206 --
files/src-common-maskpattern.html | 15 +-
files/src-decoder-bitmatrix.html | 3 +-
indices/files.html | 1 -
js/searchIndex.js | 204 +-
namespaces/chillerlan-qrcode-common.html | 2 -
namespaces/chillerlan-qrcode-decoder.html | 3 +-
packages/Application.html | 5 +-
199 files changed, 2241 insertions(+), 1788 deletions(-)
delete mode 100644 classes/chillerlan-QRCode-Common-FormatInformation.html
delete mode 100644 descriptors/F/9/pXbPL7Yb0FBQxCQ3gJFw
create mode 100644 files/+/S/wrM-jPxYLjp2miviyjqw
delete mode 100644 files/0/L/e0NLQo8nmqbFSArGMKeA
delete mode 100644 files/0/P/9TmOfQ1VmiCaZtldqrtQ
delete mode 100644 files/1/R/7JvD4UbX9ZrpN0vvITpw
create mode 100644 files/6/N/2FZfaB2jHCQixfQSoTqQ
create mode 100644 files/B/H/KvGP2UVEMGrycr9hWcOg
create mode 100644 files/B/Z/iWJB1cFgK2tgeml2h-fQ
delete mode 100644 files/C/F/DbW2Pl32WH1Y2LPi4Nrw
delete mode 100644 files/C/H/BvIsMp78g+y3-WbjvTAA
delete mode 100644 files/D/6/1lQpZtHHuBj-6HQXKSsw
create mode 100644 files/I/D/uMIMcEmycM2j9DoNEowg
create mode 100644 files/K/A/0rd0+hMAxzMuWlnRSDNQ
create mode 100644 files/K/L/Stsb4wdGitJvHmK5upng
create mode 100644 files/K/S/agTVwveve-SQrWl1ZfOg
delete mode 100644 files/K/Y/xjLMZlMZ9vOrVLEHKJxg
create mode 100644 files/L/T/W88DmREidrVeiHAF1qmw
create mode 100644 files/L/Z/uplcU1zTlxA9g7KlMXWA
delete mode 100644 files/N/L/oVuRqu5li7C+R-50gcfg
create mode 100644 files/N/U/0TUmsiWWXi81SaLO-vCw
delete mode 100644 files/O/H/wxhiv21RpPOAKuyg6aYQ
create mode 100644 files/O/L/2VVoPbca2+iXf34L6GpA
delete mode 100644 files/Q/L/AceURt5XU6Q0g0c6y8hw
create mode 100644 files/R/U/+w581b+tml-CmMzhLSVA
delete mode 100644 files/T/O/dRc17A7DH1O9sHuxixqA
delete mode 100644 files/T/P/69khEcflqCnlBabGDBmQ
create mode 100644 files/V/1/rwNpFLpluH8wiTsLoRDw
delete mode 100644 files/X/E/4QUvsufJTJinVZZiFAjA
delete mode 100644 files/Y/K/bsAGuZPjAy62MiPnlvYg
delete mode 100644 files/Z/5/n9gAR3guIFx-jlh-tzBQ
delete mode 100644 files/src-common-formatinformation.html
diff --git a/classes/chillerlan-QRCode-Common-FormatInformation.html b/classes/chillerlan-QRCode-Common-FormatInformation.html
deleted file mode 100644
index 9204dd199..000000000
--- a/classes/chillerlan-QRCode-Common-FormatInformation.html
+++ /dev/null
@@ -1,569 +0,0 @@
-
-
-
-
- Documentation
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FormatInformation
-
-
-
-
-
-
-
-
-
- Encapsulates a QR Code's format information, including the data mask used and error correction level.
-
-
-
-
-
-
- author
-
-
-
-
-
-
-
- see
-
-
- EccLevel
-
-
-
-
-
-
-
-
-
-
-
- Table of Contents
-
-
-
-
-
- DECODE_LOOKUP
-
- = [[0x0, 0x5412], [0x1, 0x5125], [0x2, 0x5e7c], [0x3, 0x5b4b], [0x4, 0x45f9], [0x5, 0x40ce], [0x6, 0x4f97], [0x7, 0x4aa0], [0x8, 0x77c4], [0x9, 0x72f3], [0xa, 0x7daa], [0xb, 0x789d], [0xc, 0x662f], [0xd, 0x6318], [0xe, 0x6c41], [0xf, 0x6976], [0x10, 0x1689], [0x11, 0x13be], [0x12, 0x1ce7], [0x13, 0x19d0], [0x14, 0x762], [0x15, 0x255], [0x16, 0xd0c], [0x17, 0x83b], [0x18, 0x355f], [0x19, 0x3068], [0x1a, 0x3f31], [0x1b, 0x3a06], [0x1c, 0x24b4], [0x1d, 0x2183], [0x1e, 0x2eda], [0x1f, 0x2bed]]
-
-See ISO 18004:2006, Annex C, Table C.1
-
-
- FORMAT_INFO_MASK_QR
-
- = 0x5412
-
-
-
-
- $errorCorrectionLevel
-
- : int
-
-The current ECC level value
-
-
- $maskPattern
-
- : int
-
-The current mask pattern (0-7)
-
-
- __construct()
-
- : mixed
-
-Receives the format information from a parsed QR Code, detects ECC level and mask pattern
-
-
- getErrorCorrectionLevel()
-
- : EccLevel
-
-Returns and EccLevel instance ith the detected ECC level set
-
-
- getMaskPattern()
-
- : MaskPattern
-
-Returns a MaskPattern instance with the detected mask pattern set
-
-
-
-
-
-
-
-
-
-
- DECODE_LOOKUP
-
-
-
-
-
- See ISO 18004:2006, Annex C, Table C.1
-
-
- public
- mixed
- DECODE_LOOKUP
- = [[0x0, 0x5412], [0x1, 0x5125], [0x2, 0x5e7c], [0x3, 0x5b4b], [0x4, 0x45f9], [0x5, 0x40ce], [0x6, 0x4f97], [0x7, 0x4aa0], [0x8, 0x77c4], [0x9, 0x72f3], [0xa, 0x7daa], [0xb, 0x789d], [0xc, 0x662f], [0xd, 0x6318], [0xe, 0x6c41], [0xf, 0x6976], [0x10, 0x1689], [0x11, 0x13be], [0x12, 0x1ce7], [0x13, 0x19d0], [0x14, 0x762], [0x15, 0x255], [0x16, 0xd0c], [0x17, 0x83b], [0x18, 0x355f], [0x19, 0x3068], [0x1a, 0x3f31], [0x1b, 0x3a06], [0x1c, 0x24b4], [0x1d, 0x2183], [0x1e, 0x2eda], [0x1f, 0x2bed]]
-
-
-
- [data bits, sequence after masking]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- public
- mixed
- FORMAT_INFO_MASK_QR
- = 0x5412
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $errorCorrectionLevel
-
-
-
-
-
-
- The current ECC level value
-
-
- private
- int
- $errorCorrectionLevel
-
-
- L: 0b01
-M: 0b00
-Q: 0b11
-H: 0b10
-
-
-
-
-
-
-
-
-
- $maskPattern
-
-
-
-
-
-
- The current mask pattern (0-7)
-
-
- private
- int
- $maskPattern
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- __construct()
-
-
-
-
- Receives the format information from a parsed QR Code, detects ECC level and mask pattern
-
-
- public
- __construct ( int $formatInfo ) : mixed
-
-
- Parameters
-
-
- $formatInfo
- : int
-
-
-
-
-
-
-
-
-
- Return values
- mixed
- —
-
-
-
-
-
- getErrorCorrectionLevel()
-
-
-
-
- Returns and EccLevel instance ith the detected ECC level set
-
-
- public
- getErrorCorrectionLevel ( ) : EccLevel
-
-
-
-
-
- Return values
- EccLevel
- —
-
-
-
-
-
- getMaskPattern()
-
-
-
-
- Returns a MaskPattern instance with the detected mask pattern set
-
-
- public
- getMaskPattern ( ) : MaskPattern
-
-
-
-
-
- Return values
- MaskPattern
- —
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/classes/chillerlan-QRCode-Common-MaskPattern.html b/classes/chillerlan-QRCode-Common-MaskPattern.html
index af9d21f50..72c934441 100644
--- a/classes/chillerlan-QRCode-Common-MaskPattern.html
+++ b/classes/chillerlan-QRCode-Common-MaskPattern.html
@@ -116,7 +116,7 @@
@@ -137,6 +137,14 @@ ISO/IEC 18004:2000 Section 8.8.2 - Evaluation of masking results
http://www.thonky.com/qr-code-tutorial/data-masking
+
+
+ see
+
+
+ https://github.com/zxing/zxing/blob/e9e2bd280bcaeabd59d0f955798384fe6c018a6c/core/src/main/java/com/google/zxing/qrcode/encoder/MaskUtil.java
+
+
@@ -323,7 +331,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -352,7 +360,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -381,7 +389,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -410,7 +418,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -439,7 +447,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -468,7 +476,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -497,7 +505,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -526,7 +534,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -555,7 +563,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -597,7 +605,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -635,7 +643,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -693,7 +701,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -737,7 +745,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -799,7 +807,7 @@ and j is row position. In fact, as the text says, i is row position and j is col
@@ -832,7 +840,7 @@ and j is row position. In fact, as the text says, i is row position and j is col
@@ -893,7 +901,7 @@ give penalty to them. Example: 00000 or 11111.
@@ -955,7 +963,7 @@ penalty proportional to (M-1)x(N-1), because this is the number of 2x2 blocks in
@@ -1017,7 +1025,7 @@ find patterns like 000010111010000, we give penalty once.
@@ -1078,7 +1086,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -1087,8 +1095,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
private
static applyRule1 ( array<string|int, mixed> $matrix , int $height , int $width , bool $isHorizontal ) : int
-
-
+
Parameters
@@ -1146,7 +1153,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -1155,8 +1162,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
private
static isWhiteHorizontal ( array<string|int, mixed> $row , int $width , int $from , int $to ) : bool
-
-
+
Parameters
@@ -1214,7 +1220,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
@@ -1223,8 +1229,7 @@ penalty if the ratio is far from 50%. It gives 10 penalty for 5% distance.
private
static isWhiteVertical ( array<string|int, mixed> $matrix , int $height , int $x , int $from , int $to ) : bool
-
-
+
Parameters
diff --git a/classes/chillerlan-QRCode-Common-ReedSolomonEncoder.html b/classes/chillerlan-QRCode-Common-ReedSolomonEncoder.html
index ce059d4b8..547ad71bc 100644
--- a/classes/chillerlan-QRCode-Common-ReedSolomonEncoder.html
+++ b/classes/chillerlan-QRCode-Common-ReedSolomonEncoder.html
@@ -116,7 +116,7 @@
@@ -153,7 +153,7 @@
$interleavedData
- : SplFixedArray
+ : array<string|int, mixed>
@@ -167,7 +167,7 @@
interleaveEcBytes()
- : SplFixedArray <string|int, int>
+ : array<string|int, mixed>
ECC interleaving
@@ -213,14 +213,14 @@
private
- SplFixedArray
+ array<string|int, mixed>
$interleavedData
@@ -247,7 +247,7 @@
@@ -285,7 +285,7 @@
@@ -293,7 +293,7 @@
public
- interleaveEcBytes ( BitBuffer $bitBuffer , Version $version , EccLevel $eccLevel ) : SplFixedArray <string|int, int>
+ interleaveEcBytes ( BitBuffer $bitBuffer , Version $version , EccLevel $eccLevel ) : array<string|int, mixed>
Parameters
@@ -325,9 +325,23 @@
+
+
+
+ throws
+
+
+ QRCodeException
+
+
+
+
Return values
- SplFixedArray <string|int, int>
+ array<string|int, mixed>
—
@@ -345,7 +359,7 @@
@@ -396,7 +410,7 @@
diff --git a/classes/chillerlan-QRCode-Data-QRData.html b/classes/chillerlan-QRCode-Data-QRData.html
index f3c0827d1..2a0ec84a2 100644
--- a/classes/chillerlan-QRCode-Data-QRData.html
+++ b/classes/chillerlan-QRCode-Data-QRData.html
@@ -590,7 +590,7 @@
@@ -637,7 +637,7 @@
@@ -684,7 +684,7 @@
diff --git a/classes/chillerlan-QRCode-Data-QRMatrix.html b/classes/chillerlan-QRCode-Data-QRMatrix.html
index 91f04e60d..ee7014a51 100644
--- a/classes/chillerlan-QRCode-Data-QRMatrix.html
+++ b/classes/chillerlan-QRCode-Data-QRMatrix.html
@@ -116,7 +116,7 @@
@@ -249,38 +249,38 @@ maps the ECC coded binary data and applies the mask pattern
-
+
$eccLevel
- : EccLevel
+ : EccLevel |null
the current ECC level
-
+
$maskPattern
: MaskPattern |null
the used mask pattern, set via QRMatrix::mask()
-
+
$matrix
: array<string|int, mixed>
the actual matrix data array
-
+
$moduleCount
: int
the size (side length) of the matrix, including quiet zone (if created)
-
+
$version
- : Version
+ : Version |null
a Version instance
@@ -315,7 +315,7 @@ maps the ECC coded binary data and applies the mask pattern
eccLevel()
- : EccLevel
+ : EccLevel |null
Returns the current ECC level
@@ -333,13 +333,6 @@ maps the ECC coded binary data and applies the mask pattern
Returns the value of the module at position [$x, $y]
-
- initFormatInfo()
-
- : self
-
-shortcut to set format and version info
-
initFunctionalPatterns()
@@ -347,20 +340,12 @@ maps the ECC coded binary data and applies the mask pattern
shortcut to initialize the functional patterns
-
- mapData()
-
- : QRMatrix
-
-Maps the binary $data array from QRData::maskECC() on the matrix,
-masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
-
mask()
: self
-Applies the mask pattern
+Applies/reverses the mask pattern
maskPattern()
@@ -456,10 +441,17 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
version()
- : Version
+ : Version |null
Returns the current version number
+
+ writeCodewords()
+
+ : self
+
+Maps the interleaved binary $data on the matrix
+
@@ -479,7 +471,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -506,7 +498,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -533,7 +525,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -560,7 +552,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -587,7 +579,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -614,7 +606,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -641,7 +633,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -668,7 +660,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -695,7 +687,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -722,7 +714,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -749,7 +741,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -776,7 +768,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -803,7 +795,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -830,7 +822,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -860,7 +852,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
class="
phpdocumentor-element
-property
- -private
+ -protected
"
>
@@ -872,17 +864,17 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
the current ECC level
- private
- EccLevel
+ protected
+ EccLevel |null
$eccLevel
-
+ = null
@@ -894,7 +886,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
class="
phpdocumentor-element
-property
- -private
+ -protected
"
>
@@ -906,14 +898,14 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
the used mask pattern, set via QRMatrix::mask()
- private
+ protected
MaskPattern |null
$maskPattern
= null
@@ -928,7 +920,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
class="
phpdocumentor-element
-property
- -private
+ -protected
"
>
@@ -940,14 +932,14 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
the actual matrix data array
- private
+ protected
array<string|int, mixed>
$matrix
@@ -961,7 +953,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
class="
phpdocumentor-element
-property
- -private
+ -protected
"
>
@@ -973,14 +965,14 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
the size (side length) of the matrix, including quiet zone (if created)
- private
+ protected
int
$moduleCount
@@ -995,7 +987,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
class="
phpdocumentor-element
-property
- -private
+ -protected
"
>
@@ -1007,17 +999,17 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
a Version instance
- private
- Version
+ protected
+ Version |null
$version
-
+ = null
@@ -1045,7 +1037,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -1053,7 +1045,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
public
- __construct ( Version $version , EccLevel $eccLevel ) : mixed
+ __construct ( Version $version , EccLevel $eccLevel , MaskPattern $maskPattern ) : mixed
Parameters
@@ -1073,6 +1065,14 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
+
+
+ $maskPattern
+ : MaskPattern
+
+
+
+
@@ -1097,7 +1097,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -1152,7 +1152,7 @@ false => $value & 0x800 === 0
@@ -1214,7 +1214,7 @@ false => $value & 0x800 === 0
@@ -1274,7 +1274,7 @@ false => $value & 0x800 === 0
@@ -1282,14 +1282,14 @@ false => $value & 0x800 === 0
public
- eccLevel ( ) : EccLevel
+ eccLevel ( ) : EccLevel |null
Return values
- EccLevel
+ EccLevel |null
—
@@ -1307,7 +1307,7 @@ false => $value & 0x800 === 0
@@ -1359,7 +1359,7 @@ false => $value & 0x800 === 0
@@ -1397,50 +1397,6 @@ false => $value & 0x800 === 0
—
-
-
-
-
-
- shortcut to set format and version info
-
-
- public
- initFormatInfo ( MaskPattern $maskPattern ) : self
-
-
- Parameters
-
-
- $maskPattern
- : MaskPattern
-
-
-
-
-
-
-
-
-
- Return values
- self
- —
-
-
QRMatrix.php
:
- 95
+ 94
@@ -1474,64 +1430,6 @@ false => $value & 0x800 === 0
—
-
-
-
- mapData()
-
-
-
-
- Maps the binary $data array from QRData::maskECC() on the matrix,
-masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
-
-
- public
- mapData ( SplFixedArray <string|int, int> $data ) : QRMatrix
-
-
- Parameters
-
-
- $data
- : SplFixedArray <string|int, int>
-
-
-
-
-
-
-
-
-
-
- see
-
-
- QRData::maskECC()
-
-
-
-
-
- Return values
- QRMatrix
- —
-
-
QRMatrix.php
:
- 602
+ 576
- Applies the mask pattern
+ Applies/reverses the mask pattern
public
- mask ( MaskPattern $maskPattern ) : self
+ mask ( ) : self
ISO/IEC 18004:2000 Section 8.8.1
- Parameters
-
-
- $maskPattern
- : MaskPattern
-
-
-
-
-
-
-
+
Return values
@@ -1592,7 +1479,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -1625,7 +1512,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -1669,7 +1556,7 @@ masking the data using $maskPattern (ISO/IEC 18004:2000 Section 8.8)
@@ -1740,7 +1627,7 @@ false => $M_TYPE
@@ -1775,7 +1662,7 @@ false => $M_TYPE
@@ -1810,7 +1697,7 @@ false => $M_TYPE
@@ -1845,7 +1732,7 @@ false => $M_TYPE
@@ -1853,23 +1740,12 @@ false => $M_TYPE
public
- setFormatInfo ( MaskPattern $maskPattern ) : self
+ setFormatInfo ( ) : self
ISO/IEC 18004:2000 Section 8.9
- Parameters
-
-
- $maskPattern
- : MaskPattern
-
-
-
-
-
-
-
+
Return values
@@ -1891,7 +1767,7 @@ false => $M_TYPE
@@ -1989,7 +1865,7 @@ Note that there is no restiction on how many times this method could be called o
@@ -2049,7 +1925,7 @@ Note that there is no restiction on how many times this method could be called o
@@ -2084,7 +1960,7 @@ Note that there is no restiction on how many times this method could be called o
@@ -2119,7 +1995,7 @@ Note that there is no restiction on how many times this method could be called o
@@ -2154,7 +2030,7 @@ Note that there is no restiction on how many times this method could be called o
@@ -2189,7 +2065,7 @@ Note that there is no restiction on how many times this method could be called o
@@ -2197,14 +2073,58 @@ Note that there is no restiction on how many times this method could be called o
public
- version ( ) : Version
+ version ( ) : Version |null
Return values
- Version
+ Version |null
+ —
+
+
+
+
+
+ writeCodewords()
+
+
+
+
+ Maps the interleaved binary $data on the matrix
+
+
+ public
+ writeCodewords ( BitBuffer $bitBuffer ) : self
+
+
+ Parameters
+
+
+ $bitBuffer
+ : BitBuffer
+
+
+
+
+
+
+
+
+
+ Return values
+ self
—
diff --git a/classes/chillerlan-QRCode-Decoder-Binarizer.html b/classes/chillerlan-QRCode-Decoder-Binarizer.html
index 7c11fc6b6..e3e72d031 100644
--- a/classes/chillerlan-QRCode-Decoder-Binarizer.html
+++ b/classes/chillerlan-QRCode-Decoder-Binarizer.html
@@ -116,7 +116,7 @@
@@ -212,6 +212,13 @@ but for now it was not a win to use local blocks for 1D.
+ $luminances
+
+ : array<string|int, mixed>
+
+
+
+
$source
: LuminanceSourceInterface
@@ -290,7 +297,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -319,7 +326,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -348,7 +355,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -377,7 +384,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -406,7 +413,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -435,7 +442,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -464,7 +471,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -498,6 +505,40 @@ on the last pixels in the row/column which are also used in the previous block).
-property
-private
"
+>
+
+ $luminances
+
+
+
+
+
+
+
+
+ private
+ array<string|int, mixed>
+ $luminances
+
+
+
+
+
+
+
+
+
+
$source
@@ -508,7 +549,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -546,7 +587,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -589,7 +630,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -631,7 +672,7 @@ fetched using getBlackRow(), so don't mix and match between them.
@@ -639,7 +680,7 @@ fetched using getBlackRow(), so don't mix and match between them.
private
- calculateBlackPoints ( array<string|int, mixed> $luminances , int $subWidth , int $subHeight , int $width , int $height ) : array<string|int, mixed>
+ calculateBlackPoints ( int $subWidth , int $subHeight , int $width , int $height ) : array<string|int, mixed>
See the following thread for a discussion of this algorithm:
@@ -647,14 +688,6 @@ fetched using getBlackRow(), so don't mix and match between them.
Parameters
- $luminances
- : array<string|int, mixed>
-
-
-
-
-
-
$subWidth
: int
@@ -793,7 +826,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -802,8 +835,7 @@ on the last pixels in the row/column which are also used in the previous block).
private
cap ( int $value , int $min , int $max ) : int
-
-
+
Parameters
@@ -833,6 +865,21 @@ on the last pixels in the row/column which are also used in the previous block).
+
+
+
+ noinspection
+
+
+
+ PhpSameParameterValueInspection
+
+
+
+
Return values
int
@@ -853,7 +900,7 @@ on the last pixels in the row/column which are also used in the previous block).
@@ -910,7 +957,7 @@ on the last pixels in the row/column which are also used in the previous block).
diff --git a/classes/chillerlan-QRCode-Decoder-BitMatrix.html b/classes/chillerlan-QRCode-Decoder-BitMatrix.html
index 2c49beb43..18b5abc11 100644
--- a/classes/chillerlan-QRCode-Decoder-BitMatrix.html
+++ b/classes/chillerlan-QRCode-Decoder-BitMatrix.html
@@ -102,6 +102,9 @@
BitMatrix
+
+ extends QRMatrix
+
in package
@@ -116,11 +119,13 @@
-
+
Holds a numerical representation of the final QR Code;
+maps the ECC coded binary data and applies the mask pattern
+
@@ -135,46 +140,158 @@
-
- $bits
+
+ IS_DARK
+
+ = 0b100000000000
+
+
+
+
+ M_ALIGNMENT
+
+ = 0b10000
+
+
+
+
+ M_DARKMODULE
+
+ = 0b1
+
+
+
+
+ M_DATA
+
+ = 0b10
+
+
+
+
+ M_FINDER
+
+ = 0b100
+
+
+
+
+ M_FINDER_DOT
+
+ = 0b10000000000
+
+
+
+
+ M_FORMAT
+
+ = 0b1000000
+
+
+
+
+ M_LOGO
+
+ = 0b1000000000
+
+
+
+
+ M_NULL
+
+ = 0b0
+
+
+
+
+ M_QUIETZONE
+
+ = 0b100000000
+
+
+
+
+ M_SEPARATOR
+
+ = 0b1000
+
+
+
+
+ M_TEST
+
+ = 0b11111111111
+
+
+
+
+ M_TIMING
+
+ = 0b100000
+
+
+
+
+ M_VERSION
+
+ = 0b10000000
+
+
+
+
+ DECODE_LOOKUP
+
+ = [0x0 => 0x5412, 0x1 => 0x5125, 0x2 => 0x5e7c, 0x3 => 0x5b4b, 0x4 => 0x45f9, 0x5 => 0x40ce, 0x6 => 0x4f97, 0x7 => 0x4aa0, 0x8 => 0x77c4, 0x9 => 0x72f3, 0xa => 0x7daa, 0xb => 0x789d, 0xc => 0x662f, 0xd => 0x6318, 0xe => 0x6c41, 0xf => 0x6976, 0x10 => 0x1689, 0x11 => 0x13be, 0x12 => 0x1ce7, 0x13 => 0x19d0, 0x14 => 0x762, 0x15 => 0x255, 0x16 => 0xd0c, 0x17 => 0x83b, 0x18 => 0x355f, 0x19 => 0x3068, 0x1a => 0x3f31, 0x1b => 0x3a06, 0x1c => 0x24b4, 0x1d => 0x2183, 0x1e => 0x2eda, 0x1f => 0x2bed]
+
+See ISO 18004:2006, Annex C, Table C.1
+
+
+ FORMAT_INFO_MASK_QR
+
+ = 0x5412
+
+
+
+
+ $eccLevel
+
+ : EccLevel |null
+
+the current ECC level
+
+
+ $maskPattern
+
+ : MaskPattern |null
+
+the used mask pattern, set via QRMatrix::mask()
+
+
+ $matrix
: array<string|int, mixed>
-
+the actual matrix data array
-
- $dimension
+
+ $moduleCount
: int
-
+the size (side length) of the matrix, including quiet zone (if created)
-
- $formatInfo
+
+ $version
- : FormatInformation |null
+ : Version |null
-
+a Version instance
$mirror
: bool
-
-
-
- $rowSize
-
- : int
-
-
-
-
- $version
-
- : Version |null
-
@@ -182,42 +299,77 @@
: mixed
-
+QRMatrix constructor.
- flip()
-
- : self
-
-Flips the given bit. 1 << (0xf9 & 0x1f)
-
-
- get()
+ check()
: bool
-Gets the requested bit, where true means black.
+Checks whether a module is true (dark) or false (light)
- getDimension()
+ checkType()
+
+ : bool
+
+Checks whether a module is of the given $M_TYPE
+
+
+ checkTypes()
+
+ : bool
+
+checks whether a module matches one of the given $M_TYPES
+
+
+ eccLevel()
+
+ : EccLevel |null
+
+Returns the current ECC level
+
+
+ flip()
+
+ : self
+
+Flips the value of the module
+
+
+ get()
: int
-
+Returns the value of the module at position [$x, $y]
- getFormatInfo()
+ initFunctionalPatterns()
- : FormatInformation |null
+ : self
-
+shortcut to initialize the functional patterns
- getVersion()
+ mask()
- : Version |null
+ : self
-
+Applies/reverses the mask pattern
+
+
+ maskPattern()
+
+ : MaskPattern |null
+
+Returns the current mask pattern
+
+
+ matrix()
+
+ : array<string|int, array<string|int, int>>|array<string|int, array<string|int, bool>>
+
+Returns the data matrix, returns a pure boolean representation if $boolean is set to true
mirror()
@@ -236,11 +388,46 @@ correct order in order to reconstruct the codewords bytes contained within the
QR Code.
- set()
+ set()
: self
- Sets the given bit to true.
+Sets the $M_TYPE value for the module at position [$x, $y]
+
+
+ setAlignmentPattern()
+
+ : self
+
+Draws the 5x5 alignment patterns
+
+
+ setDarkModule()
+
+ : self
+
+Sets the "dark module", that is always on the same position 1x1px away from the bottom left finder
+
+
+ setFinderPattern()
+
+ : self
+
+Draws the 7x7 finder patterns in the corners top left/right and bottom left
+
+
+ setFormatInfo()
+
+ : self
+
+Draws the format info along the finder patterns
+
+
+ setLogoSpace()
+
+ : self
+
+Clears a space of $width * $height in order to add a logo or text.
setMirror()
@@ -250,21 +437,56 @@ QR Code.
Prepare the parser for a mirrored operation.
- setRegion()
+ setQuietZone()
: self
-Sets a square region of the bit matrix to true.
+Draws the "quiet zone" of $size around the matrix
-
- buildFunctionPattern()
+
+ setSeparators()
: self
- See ISO 18004:2006 Annex E
+Draws the separator lines around the finder patterns
+
+
+ setTimingPattern()
+
+ : self
+
+Draws the timing pattern (h/v checkered line between the finder patterns)
+
+
+ setVersionNumber()
+
+ : self
+
+Draws the version information, 2x 3x6 pixel
+
+
+ size()
+
+ : int
+
+Returns the absoulute size of the matrix, including quiet zone (after setting it).
+
+
+ version()
+
+ : Version |null
+
+Returns the current version number
+
+
+ writeCodewords()
+
+ : self
+
+Maps the interleaved binary $data on the matrix
- copyBit()
+ copyVersionBit()
: int
@@ -280,7 +502,7 @@ QR Code.
doDecodeFormatInformation()
- : FormatInformation |null
+ : int|null
@@ -294,25 +516,17 @@ QR Code.
readFormatInformation()
- : FormatInformation
+ : self
Reads format information from one of its two locations within the QR Code.
readVersion()
- : Version
+ : self
Reads version information from one of its two locations within the QR Code.
-
- unmask()
-
- : void
-
-Implementations of this method reverse the data masking process applied to a QR Code and
-make its bits ready to read.
-
uRShift()
@@ -325,6 +539,450 @@ make its bits ready to read.
+
+
+
+
+ IS_DARK
+
+
+
+
+
+
+
+ public
+ int
+ IS_DARK
+ = 0b100000000000
+
+
+
+
+
+
+
+
+
+
+ M_ALIGNMENT
+
+
+
+
+
+
+
+ public
+ int
+ M_ALIGNMENT
+ = 0b10000
+
+
+
+
+
+
+
+
+
+
+ M_DARKMODULE
+
+
+
+
+
+
+
+ public
+ int
+ M_DARKMODULE
+ = 0b1
+
+
+
+
+
+
+
+
+
+
+ M_DATA
+
+
+
+
+
+
+
+ public
+ int
+ M_DATA
+ = 0b10
+
+
+
+
+
+
+
+
+
+
+ M_FINDER
+
+
+
+
+
+
+
+ public
+ int
+ M_FINDER
+ = 0b100
+
+
+
+
+
+
+
+
+
+
+ M_FINDER_DOT
+
+
+
+
+
+
+
+ public
+ int
+ M_FINDER_DOT
+ = 0b10000000000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+ int
+ M_FORMAT
+ = 0b1000000
+
+
+
+
+
+
+
+
+
+
+ M_LOGO
+
+
+
+
+
+
+
+ public
+ int
+ M_LOGO
+ = 0b1000000000
+
+
+
+
+
+
+
+
+
+
+ M_NULL
+
+
+
+
+
+
+
+ public
+ int
+ M_NULL
+ = 0b0
+
+
+
+
+
+
+
+
+
+
+ M_QUIETZONE
+
+
+
+
+
+
+
+ public
+ int
+ M_QUIETZONE
+ = 0b100000000
+
+
+
+
+
+
+
+
+
+
+ M_SEPARATOR
+
+
+
+
+
+
+
+ public
+ int
+ M_SEPARATOR
+ = 0b1000
+
+
+
+
+
+
+
+
+
+
+ M_TEST
+
+
+
+
+
+
+
+ public
+ int
+ M_TEST
+ = 0b11111111111
+
+
+
+
+
+
+
+
+
+
+ M_TIMING
+
+
+
+
+
+
+
+ public
+ int
+ M_TIMING
+ = 0b100000
+
+
+
+
+
+
+
+
+
+
+ M_VERSION
+
+
+
+
+
+
+
+ public
+ int
+ M_VERSION
+ = 0b10000000
+
+
+
+
+
+
+
+
+
+
+ DECODE_LOOKUP
+
+
+
+
+
+ See ISO 18004:2006, Annex C, Table C.1
+
+
+ private
+ mixed
+ DECODE_LOOKUP
+ = [0x0 => 0x5412, 0x1 => 0x5125, 0x2 => 0x5e7c, 0x3 => 0x5b4b, 0x4 => 0x45f9, 0x5 => 0x40ce, 0x6 => 0x4f97, 0x7 => 0x4aa0, 0x8 => 0x77c4, 0x9 => 0x72f3, 0xa => 0x7daa, 0xb => 0x789d, 0xc => 0x662f, 0xd => 0x6318, 0xe => 0x6c41, 0xf => 0x6976, 0x10 => 0x1689, 0x11 => 0x13be, 0x12 => 0x1ce7, 0x13 => 0x19d0, 0x14 => 0x762, 0x15 => 0x255, 0x16 => 0xd0c, 0x17 => 0x83b, 0x18 => 0x355f, 0x19 => 0x3068, 0x1a => 0x3f31, 0x1b => 0x3a06, 0x1c => 0x24b4, 0x1d => 0x2183, 0x1e => 0x2eda, 0x1f => 0x2bed]
+
+
+
+ [data bits, sequence after masking]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ private
+ mixed
+ FORMAT_INFO_MASK_QR
+ = 0x5412
+
+
+
+
+
+
+
+
+
+
+
@@ -336,99 +994,166 @@ make its bits ready to read.
class="
phpdocumentor-element
-property
- -private
+ -protected
"
>
- the current ECC level
+
- private
- array<string|int, mixed>
- $bits
-
-
-
-
-
-
-
-
-
-
-
- $dimension
-
-
-
-
-
-
-
-
- private
- int
- $dimension
-
-
-
-
-
-
-
-
-
-
-
- $formatInfo
-
-
-
-
-
-
-
-
- private
- FormatInformation |null
- $formatInfo
+ protected
+ EccLevel |null
+ $eccLevel
= null
+
+
+
+
+
+
+ $maskPattern
+
+
+
+
+
+
+ the used mask pattern, set via QRMatrix::mask()
+
+
+ protected
+ MaskPattern |null
+ $maskPattern
+ = null
+
+
+
+
+
+
+
+
+
+ $matrix
+
+
+
+
+
+
+ the actual matrix data array
+
+
+ protected
+ array<string|int, mixed>
+ $matrix
+
+
+
+
+
+
+
+
+
+ $moduleCount
+
+
+
+
+
+
+ the size (side length) of the matrix, including quiet zone (if created)
+
+
+ protected
+ int
+ $moduleCount
+
+
+
+
+
+
+
+
+
+
+ $version
+
+
+
+
+
+
+ a Version instance
+
+
+ protected
+ Version |null
+ $version
+ = null
+
+
@@ -450,7 +1175,7 @@ make its bits ready to read.
@@ -467,74 +1192,6 @@ make its bits ready to read.
-
-
-
- $rowSize
-
-
-
-
-
-
-
-
- private
- int
- $rowSize
-
-
-
-
-
-
-
-
-
-
-
- $version
-
-
-
-
-
-
-
-
- private
- Version |null
- $version
- = null
-
-
-
-
-
-
-
@@ -556,11 +1213,12 @@ make its bits ready to read.
-
+ QRMatrix constructor.
+
public
__construct ( int $dimension ) : mixed
@@ -579,6 +1237,21 @@ make its bits ready to read.
+
+ Tags
+
+
+
+
+ noinspection
+
+
+
+ PhpMissingParentConstructorInspection
+
+
+
+
Return values
mixed
@@ -592,18 +1265,228 @@ make its bits ready to read.
-public
"
>
-
- flip()
-
+
+ check()
+
- Flips the given bit. 1 << (0xf9 & 0x1f)
+
Checks whether a module is true (dark) or false (light)
+
+
+ public
+ check ( int $x , int $y ) : bool
+
+
true => $value & 0x800 === 0x800
+false => $value & 0x800 === 0
+
+
+
Parameters
+
+
+ $x
+ : int
+
+
+
+
+
+
+ $y
+ : int
+
+
+
+
+
+
+
+
+
+
Return values
+
bool
+ —
+
+
+
+
+
+ checkType()
+
+
+
+
+ Checks whether a module is of the given $M_TYPE
+
+
+ public
+ checkType ( int $x , int $y , int $M_TYPE ) : bool
+
+ true => $value & $M_TYPE === $M_TYPE
+
+
+ Parameters
+
+
+ $x
+ : int
+
+
+
+
+
+
+ $y
+ : int
+
+
+
+
+
+
+ $M_TYPE
+ : int
+
+
+
+
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+ checkTypes()
+
+
+
+
+ checks whether a module matches one of the given $M_TYPES
+
+
+ public
+ checkTypes ( int $x , int $y , array<string|int, mixed> $M_TYPES ) : bool
+
+
+ Parameters
+
+
+ $x
+ : int
+
+
+
+
+
+
+ $y
+ : int
+
+
+
+
+
+
+ $M_TYPES
+ : array<string|int, mixed>
+
+
+
+
+
+
+
+
+
+ Return values
+ bool
+ —
+
+
+
+
+
+ eccLevel()
+
+
+
+
+ Returns the current ECC level
+
+
+ public
+ eccLevel ( ) : EccLevel |null
+
+
+
+
+
+ Return values
+ EccLevel |null
+ —
+
+
+
+
+
+ flip()
+
+
+
+
+ Flips the value of the module
public
@@ -617,8 +1500,7 @@ make its bits ready to read.
: int
- ; The horizontal component (i.e. which column)
-
+
@@ -626,8 +1508,7 @@ make its bits ready to read.
: int
- ; The vertical component (i.e. which row)
-
+
@@ -648,20 +1529,20 @@ make its bits ready to read.
>
get()
-
+
- Gets the requested bit, where true means black.
+ Returns the value of the module at position [$x, $y]
public
- get ( int $x , int $y ) : bool
+ get ( int $x , int $y ) : int
Parameters
@@ -671,8 +1552,7 @@ make its bits ready to read.
: int
- The horizontal component (i.e. which column)
-
+
@@ -680,85 +1560,16 @@ make its bits ready to read.
: int
- The vertical component (i.e. which row)
-
+
- Return values
- bool
- —
- value of given bit in matrix
-
-
-
-
-
-
- getDimension()
-
-
-
-
-
-
- public
- getDimension ( ) : int
-
-
-
-
-
Return values
int
—
- The dimension (width/height) of the matrix
-
-
-
-
-
-
- getFormatInfo()
-
-
-
-
-
-
- public
- getFormatInfo ( ) : FormatInformation |null
-
-
-
-
-
- Return values
- FormatInformation |null
- —
@@ -768,28 +1579,141 @@ make its bits ready to read.
-public
"
>
-
- getVersion()
-
+
+ initFunctionalPatterns()
+
-
+ shortcut to initialize the functional patterns
+
public
- getVersion ( ) : Version |null
+
initFunctionalPatterns ( ) : self
Return values
-
Version |null
+
self
+ —
+
+
+
+
+
+ mask()
+
+
+
+
+ Applies/reverses the mask pattern
+
+
+ public
+ mask ( ) : self
+
+ ISO/IEC 18004:2000 Section 8.8.1
+
+
+
+
+
+ Return values
+ self
+ —
+
+
+
+
+
+ maskPattern()
+
+
+
+
+ Returns the current mask pattern
+
+
+ public
+ maskPattern ( ) : MaskPattern |null
+
+
+
+
+
+ Return values
+ MaskPattern |null
+ —
+
+
+
+
+
+ matrix()
+
+
+
+
+ Returns the data matrix, returns a pure boolean representation if $boolean is set to true
+
+
+ public
+ matrix ( [ bool $boolean = false ] ) : array<string|int, array<string|int, int>>|array<string|int, array<string|int, bool>>
+
+
+ Parameters
+
+
+ $boolean
+ : bool
+ = false
+
+
+
+
+
+
+
+
+ Return values
+ array<string|int, array<string|int, int>>|array<string|int, array<string|int, bool>>
—
@@ -807,7 +1731,7 @@ make its bits ready to read.
@@ -840,7 +1764,7 @@ make its bits ready to read.
@@ -888,22 +1812,25 @@ QR Code.
>
set()
-
+
- Sets the given bit to true.
+ Sets the $M_TYPE value for the module at position [$x, $y]
public
- set ( int $x , int $y ) : self
+ set ( int $x , int $y , bool $value , int $M_TYPE ) : self
+
+ true => $M_TYPE | 0x800
+false => $M_TYPE
+
-
Parameters
@@ -911,8 +1838,7 @@ QR Code.
: int
- ; The horizontal component (i.e. which column)
-
+
@@ -920,8 +1846,23 @@ QR Code.
: int
- ; The vertical component (i.e. which row)
-
+
+
+
+
+ $value
+ : bool
+
+
+
+
+
+
+ $M_TYPE
+ : int
+
+
+
@@ -933,6 +1874,235 @@ QR Code.
—
+
+
+
+ setAlignmentPattern()
+
+
+
+
+ Draws the 5x5 alignment patterns
+
+
+ public
+ setAlignmentPattern ( ) : self
+
+ ISO/IEC 18004:2000 Section 7.3.5
+
+
+
+
+
+ Return values
+ self
+ —
+
+
+
+
+
+ setDarkModule()
+
+
+
+
+ Sets the "dark module", that is always on the same position 1x1px away from the bottom left finder
+
+
+ public
+ setDarkModule ( ) : self
+
+ 4 * version + 9 or moduleCount - 8
+
+
+
+
+
+ Return values
+ self
+ —
+
+
+
+
+
+ setFinderPattern()
+
+
+
+
+ Draws the 7x7 finder patterns in the corners top left/right and bottom left
+
+
+ public
+ setFinderPattern ( ) : self
+
+ ISO/IEC 18004:2000 Section 7.3.2
+
+
+
+
+
+ Return values
+ self
+ —
+
+
+
+
+
+ setFormatInfo()
+
+
+
+
+ Draws the format info along the finder patterns
+
+
+ public
+ setFormatInfo ( ) : self
+
+ ISO/IEC 18004:2000 Section 8.9
+
+
+
+
+
+ Return values
+ self
+ —
+
+
+
+
+
+ setLogoSpace()
+
+
+
+
+ Clears a space of $width * $height in order to add a logo or text.
+
+
+ public
+ setLogoSpace ( int $width , int $height [ , int $startX = null ] [ , int $startY = null ] ) : self
+
+
+ Parameters
+
+
+ $width
+ : int
+
+
+
+
+
+
+ $height
+ : int
+
+
+
+
+
+
+ $startX
+ : int
+ = null
+
+
+
+
+
+ $startY
+ : int
+ = null
+
+
+
+
+
+
+
+
+ Tags
+
+
+
+
+ codeCoverageIgnore
+
+
+
+
+
+
+ throws
+
+
+ QRCodeDataException
+
+
+
+
+
+ Return values
+ self
+ —
+
+
BitMatrix.php
:
- 232
+ 84
@@ -989,60 +2159,32 @@ mirror() method should be called.
-public
"
>
-
- setRegion()
-
+
+ setQuietZone()
+
- Sets a square region of the bit matrix to true.
+ Draws the "quiet zone" of $size around the matrix
public
- setRegion ( int $left , int $top , int $width , int $height ) : self
+ setQuietZone ( [ int $size = null ] ) : self
Parameters
- $left
+ $size
: int
-
+ = null
- ; The horizontal position to begin at (inclusive)
-
-
-
-
- $top
- : int
-
-
- ; The vertical position to begin at (inclusive)
-
-
-
-
- $width
- : int
-
-
- ; The width of the region
-
-
-
-
- $height
- : int
-
-
- ; The height of the region
-
+
@@ -1054,10 +2196,17 @@ mirror() method should be called.
+ codeCoverageIgnore
+
+
+
+
+
+
throws
- QRCodeDecoderException
+ QRCodeDataException
@@ -1072,28 +2221,212 @@ mirror() method should be called.
-
- buildFunctionPattern()
-
+
+ setSeparators()
+
- See ISO 18004:2006 Annex E
+ Draws the separator lines around the finder patterns
- private
- buildFunctionPattern ( ) : self
+ public
+ setSeparators ( ) : self
+
+ ISO/IEC 18004:2000 Section 7.3.3
+
+
+ Return values
+ self
+ —
+
+
+
+
+
+ setTimingPattern()
+
+
+
+
+ Draws the timing pattern (h/v checkered line between the finder patterns)
+
+
+ public
+ setTimingPattern ( ) : self
+
+ ISO/IEC 18004:2000 Section 7.3.4
+
+
+
+
+
+ Return values
+ self
+ —
+
+
+
+
+
+ setVersionNumber()
+
+
+
+
+ Draws the version information, 2x 3x6 pixel
+
+
+ public
+ setVersionNumber ( ) : self
+
+ ISO/IEC 18004:2000 Section 8.10
+
+
+
+
+
+ Return values
+ self
+ —
+
+
+
+
+
+ size()
+
+
+
+
+ Returns the absoulute size of the matrix, including quiet zone (after setting it).
+
+
+ public
+ size ( ) : int
+
+ size = version * 4 + 17 [ + 2 * quietzone size]
+
+
+
+
+
+ Return values
+ int
+ —
+
+
+
+
+
+ version()
+
+
+
+
+ Returns the current version number
+
+
+ public
+ version ( ) : Version |null
+
+
+
+
+
+ Return values
+ Version |null
+ —
+
+
+
+
+
+ writeCodewords()
+
+
+
+
+ Maps the interleaved binary $data on the matrix
+
+
+ public
+ writeCodewords ( BitBuffer $bitBuffer ) : self
+
+
+ Parameters
+
+
+ $bitBuffer
+ : BitBuffer
+
+
+
+
+
+
+
Return values
@@ -1108,21 +2441,21 @@ mirror() method should be called.
-private
"
>
-
- copyBit()
-
+
+ copyVersionBit()
+
private
- copyBit ( int $i , int $j , int $versionBits ) : int
+ copyVersionBit ( int $i , int $j , int $versionBits ) : int
Parameters
@@ -1174,7 +2507,7 @@ mirror() method should be called.
@@ -1191,7 +2524,8 @@ mirror() method should be called.
: int
-
+
+
@@ -1216,14 +2550,14 @@ mirror() method should be called.
private
- doDecodeFormatInformation ( int $maskedFormatInfo1 , int $maskedFormatInfo2 ) : FormatInformation |null
+ doDecodeFormatInformation ( int $maskedFormatInfo1 , int $maskedFormatInfo2 ) : int|null
Parameters
@@ -1252,10 +2586,9 @@ to establish best match
Return values
- FormatInformation |null
+ int|null
—
- information about the format it specifies, or null
-if doesn't seem to match any known pattern
+ information about the format it specifies, or null if doesn't seem to match any known pattern
@@ -1273,7 +2606,7 @@ if doesn't seem to match any known pattern
@@ -1324,7 +2657,7 @@ if doesn't seem to match any known pattern
@@ -1332,7 +2665,7 @@ if doesn't seem to match any known pattern
private
- readFormatInformation ( ) : FormatInformation
+ readFormatInformation ( ) : self
@@ -1356,11 +2689,9 @@ the valid encoding of format information
Return values
- FormatInformation
+ self
—
- encapsulating the QR Code's format info
-
-
+
@@ -1384,7 +2715,7 @@ the valid encoding of format information
private
- readVersion ( ) : Version
+ readVersion ( ) : self
@@ -1417,43 +2748,7 @@ the valid encoding of version information
Return values
- Version
- —
- encapsulating the QR Code's version
-
-
-
-
-
-
- unmask()
-
-
-
-
- Implementations of this method reverse the data masking process applied to a QR Code and
-make its bits ready to read.
-
-
- private
- unmask ( ) : void
-
-
-
-
-
- Return values
- void
+ self
—
@@ -1471,7 +2766,7 @@ make its bits ready to read.
diff --git a/classes/chillerlan-QRCode-Decoder-Decoder.html b/classes/chillerlan-QRCode-Decoder-Decoder.html
index feefb92d0..20a6efb97 100644
--- a/classes/chillerlan-QRCode-Decoder-Decoder.html
+++ b/classes/chillerlan-QRCode-Decoder-Decoder.html
@@ -155,14 +155,14 @@ the QR Code from an image.
$eccLevel
- : EccLevel
+ : EccLevel |null
- $formatInfo
+ $maskPattern
- : FormatInformation |null
+ : MaskPattern |null
@@ -229,16 +229,16 @@ the QR Code from an image.
private
- EccLevel
+ EccLevel |null
$eccLevel
-
+ = null
@@ -254,24 +254,24 @@ the QR Code from an image.
-private
"
>
-
- $formatInfo
-
+
+ $maskPattern
+
private
- FormatInformation |null
- $formatInfo
+ MaskPattern |null
+ $maskPattern
= null
@@ -398,7 +398,7 @@ the QR Code from an image.
@@ -462,13 +462,13 @@ the QR Code from an image.
private
- decodeMatrix ( BitMatrix $bitMatrix ) : DecoderResult
+ decodeMatrix ( BitMatrix $matrix ) : DecoderResult
Parameters
- $bitMatrix
+ $matrix
: BitMatrix
diff --git a/classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html b/classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html
index f83ffd727..e88285dab 100644
--- a/classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html
+++ b/classes/chillerlan-QRCode-Decoder-GDLuminanceSource.html
@@ -204,7 +204,7 @@ It does not support rotation.
- getMatrix()
+ getLuminances()
: array<string|int, mixed>
@@ -220,7 +220,7 @@ It does not support rotation.
0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
to bitwise and with 0xff for each value. It is preferable for implementations of this method
to only fetch this row rather than the whole image, since no 2D Readers may be installed and
-getMatrix() may never be called.
+getLuminances() may never be called.
getWidth()
@@ -680,9 +680,9 @@ getMatrix() may never be called.
-public
"
>
-
- getMatrix()
-
+
+ getLuminances()
+
LuminanceSourceAbstract.php
@@ -696,7 +696,7 @@ getMatrix() may never be called.
public
- getMatrix ( ) : array<string|int, mixed>
+ getLuminances ( ) : array<string|int, mixed>
@@ -746,7 +746,7 @@ of the result.
0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
to bitwise and with 0xff for each value. It is preferable for implementations of this method
to only fetch this row rather than the whole image, since no 2D Readers may be installed and
-getMatrix() may never be called.
+getLuminances() may never be called.
public
diff --git a/classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html b/classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html
index b7213e457..d08e3bb7c 100644
--- a/classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html
+++ b/classes/chillerlan-QRCode-Decoder-IMagickLuminanceSource.html
@@ -204,7 +204,7 @@ It does not support rotation.
- getMatrix()
+ getLuminances()
: array<string|int, mixed>
@@ -220,7 +220,7 @@ It does not support rotation.
0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
to bitwise and with 0xff for each value. It is preferable for implementations of this method
to only fetch this row rather than the whole image, since no 2D Readers may be installed and
-getMatrix() may never be called.
+getLuminances() may never be called.
getWidth()
@@ -670,9 +670,9 @@ getMatrix() may never be called.
-public
"
>
-
- getMatrix()
-
+
+ getLuminances()
+
LuminanceSourceAbstract.php
@@ -686,7 +686,7 @@ getMatrix() may never be called.
public
- getMatrix ( ) : array<string|int, mixed>
+ getLuminances ( ) : array<string|int, mixed>
@@ -736,7 +736,7 @@ of the result.
0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
to bitwise and with 0xff for each value. It is preferable for implementations of this method
to only fetch this row rather than the whole image, since no 2D Readers may be installed and
-getMatrix() may never be called.
+getLuminances() may never be called.
public
diff --git a/classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html b/classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html
index 259135353..d68a63412 100644
--- a/classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html
+++ b/classes/chillerlan-QRCode-Decoder-LuminanceSourceAbstract.html
@@ -213,7 +213,7 @@ for other Readers in the chain.
- getMatrix()
+ getLuminances()
: array<string|int, mixed>
@@ -229,7 +229,7 @@ for other Readers in the chain.
0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
to bitwise and with 0xff for each value. It is preferable for implementations of this method
to only fetch this row rather than the whole image, since no 2D Readers may be installed and
-getMatrix() may never be called.
+getLuminances() may never be called.
getWidth()
@@ -517,9 +517,9 @@ getMatrix() may never be called.
-public
"
>
-
- getMatrix()
-
+
+ getLuminances()
+
LuminanceSourceAbstract.php
@@ -533,7 +533,7 @@ getMatrix() may never be called.
public
- getMatrix ( ) : array<string|int, mixed>
+ getLuminances ( ) : array<string|int, mixed>
@@ -583,7 +583,7 @@ of the result.
0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
to bitwise and with 0xff for each value. It is preferable for implementations of this method
to only fetch this row rather than the whole image, since no 2D Readers may be installed and
-getMatrix() may never be called.
+getLuminances() may never be called.
public
diff --git a/classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html b/classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html
index 1dd83b4ec..07b6f3bd0 100644
--- a/classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html
+++ b/classes/chillerlan-QRCode-Decoder-LuminanceSourceInterface.html
@@ -153,7 +153,7 @@
- getMatrix()
+ getLuminances()
: array<string|int, mixed>
@@ -169,7 +169,7 @@
0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
to bitwise and with 0xff for each value. It is preferable for implementations of this method
to only fetch this row rather than the whole image, since no 2D Readers may be installed and
-getMatrix() may never be called.
+getLuminances() may never be called.
getWidth()
@@ -317,9 +317,9 @@ getMatrix() may never be called.
-public
"
>
-
- getMatrix()
-
+
+ getLuminances()
+
LuminanceSourceInterface.php
@@ -333,7 +333,7 @@ getMatrix() may never be called.
public
- getMatrix ( ) : array<string|int, mixed>
+ getLuminances ( ) : array<string|int, mixed>
@@ -370,7 +370,7 @@ of the result.
0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have
to bitwise and with 0xff for each value. It is preferable for implementations of this method
to only fetch this row rather than the whole image, since no 2D Readers may be installed and
-getMatrix() may never be called.
+getLuminances() may never be called.
public
diff --git a/classes/chillerlan-QRCode-Detector-AlignmentPatternFinder.html b/classes/chillerlan-QRCode-Detector-AlignmentPatternFinder.html
index ecf369f7b..2061c923f 100644
--- a/classes/chillerlan-QRCode-Detector-AlignmentPatternFinder.html
+++ b/classes/chillerlan-QRCode-Detector-AlignmentPatternFinder.html
@@ -159,7 +159,7 @@ some code.
- $bitMatrix
+ $matrix
: BitMatrix
@@ -247,9 +247,9 @@ found the alignment pattern.
-private
"
>
-
- $bitMatrix
-
+
+ $matrix
+
@@ -264,7 +264,7 @@ found the alignment pattern.
private
BitMatrix
- $bitMatrix
+ $matrix
@@ -368,13 +368,13 @@ found the alignment pattern.
public
- __construct ( BitMatrix $image , float $moduleSize ) : mixed
+ __construct ( BitMatrix $matrix , float $moduleSize ) : mixed
Parameters
- $image
+ $matrix
: BitMatrix
diff --git a/classes/chillerlan-QRCode-Detector-Detector.html b/classes/chillerlan-QRCode-Detector-Detector.html
index b28231708..0dd3b6e0f 100644
--- a/classes/chillerlan-QRCode-Detector-Detector.html
+++ b/classes/chillerlan-QRCode-Detector-Detector.html
@@ -153,7 +153,7 @@ is rotated or skewed, or partially obscured.
- $bitMatrix
+ $matrix
: BitMatrix
@@ -248,9 +248,9 @@ of another po$(another finder pattern center), and in the opposite direction too
-private
"
>
-
- $bitMatrix
-
+
+ $matrix
+
@@ -265,7 +265,7 @@ of another po$(another finder pattern center), and in the opposite direction too
private
BitMatrix
- $bitMatrix
+ $matrix
@@ -457,13 +457,13 @@ width of each, measuring along the axis between their centers.
private
- calculateModuleSizeOneWay ( FinderPattern $pattern , FinderPattern $otherPattern ) : float
+ calculateModuleSizeOneWay ( FinderPattern $a , FinderPattern $b ) : float
Parameters
- $pattern
+ $a
: FinderPattern
@@ -471,7 +471,7 @@ width of each, measuring along the axis between their centers.
- $otherPattern
+ $b
: FinderPattern
@@ -501,7 +501,7 @@ width of each, measuring along the axis between their centers.
@@ -510,13 +510,13 @@ of the finder patterns and estimated module size.
private
- computeDimension ( FinderPattern $topLeft , FinderPattern $topRight , FinderPattern $bottomLeft , float $moduleSize ) : int
+ computeDimension ( FinderPattern $nw , FinderPattern $ne , FinderPattern $sw , float $size ) : int
Parameters
- $topLeft
+ $nw
: FinderPattern
@@ -524,7 +524,7 @@ of the finder patterns and estimated module size.
- $topRight
+ $ne
: FinderPattern
@@ -532,7 +532,7 @@ of the finder patterns and estimated module size.
- $bottomLeft
+ $sw
: FinderPattern
@@ -540,7 +540,7 @@ of the finder patterns and estimated module size.
- $moduleSize
+ $size
: float
@@ -584,20 +584,20 @@ of the finder patterns and estimated module size.
private
- createTransform ( FinderPattern $topLeft , FinderPattern $topRight , FinderPattern $bottomLeft , int $dimension [ , AlignmentPattern $alignmentPattern = null ] ) : PerspectiveTransform
+ createTransform ( FinderPattern $nw , FinderPattern $ne , FinderPattern $sw , int $size [ , AlignmentPattern $ap = null ] ) : PerspectiveTransform
Parameters
- $topLeft
+ $nw
: FinderPattern
@@ -605,7 +605,7 @@ of the finder patterns and estimated module size.
- $topRight
+ $ne
: FinderPattern
@@ -613,7 +613,7 @@ of the finder patterns and estimated module size.
- $bottomLeft
+ $sw
: FinderPattern
@@ -621,7 +621,7 @@ of the finder patterns and estimated module size.
- $dimension
+ $size
: int
@@ -629,7 +629,7 @@ of the finder patterns and estimated module size.
- $alignmentPattern
+ $ap
: AlignmentPattern
= null
@@ -659,7 +659,7 @@ of the finder patterns and estimated module size.
@@ -734,7 +734,7 @@ guessed to contain it.
@@ -807,7 +807,7 @@ may be skewed or rotated.
diff --git a/classes/chillerlan-QRCode-Detector-FinderPatternFinder.html b/classes/chillerlan-QRCode-Detector-FinderPatternFinder.html
index 84b3c2792..4ff9fa1ea 100644
--- a/classes/chillerlan-QRCode-Detector-FinderPatternFinder.html
+++ b/classes/chillerlan-QRCode-Detector-FinderPatternFinder.html
@@ -176,16 +176,16 @@ markers at three corners of a QR Code.
- $bitMatrix
+ $hasSkipped
- : BitMatrix
+ : bool
- $hasSkipped
+ $matrix
- : bool
+ : BitMatrix
@@ -437,40 +437,6 @@ and BC is less than AC, and the angle between BC and BA is less than 180 degrees
-property
-private
"
->
-
- $bitMatrix
-
-
-
-
-
-
-
-
- private
- BitMatrix
- $bitMatrix
-
-
-
-
-
-
-
-
-
-
$hasSkipped
@@ -498,6 +464,40 @@ and BC is less than AC, and the angle between BC and BA is less than 180 degrees
+
+
+
+ $matrix
+
+
+
+
+
+
+
+
+ private
+ BitMatrix
+ $matrix
+
+
+
+
+
+
+
+
public
- __construct ( BitMatrix $bitMatrix ) : mixed
+ __construct ( BitMatrix $matrix ) : mixed
Parameters
- $bitMatrix
+ $matrix
: BitMatrix
@@ -738,7 +738,7 @@ finder pattern to see if the same proportion is detected.
@@ -788,6 +788,21 @@ check a vertical cross check and locate the real center of the alignment pattern
+
+ Tags
+
+
+
+
+ noinspection
+
+
+
+
+
+
+
Return values
float|null
@@ -808,7 +823,7 @@ check a vertical cross check and locate the real center of the alignment pattern
@@ -861,6 +876,21 @@ observed in any reading state, based on the results of the horizontal scan
+
+ Tags
+
+
+
+
+ noinspection
+
+
+
+
+
+
+
Return values
float|null
@@ -883,7 +913,7 @@ observed in any reading state, based on the results of the horizontal scan
@@ -985,7 +1015,7 @@ observed in any reading state, based on the results of the horizontal scan
@@ -1193,7 +1223,7 @@ used by finder patterns to be considered a match
@@ -1267,7 +1297,7 @@ pattern center
@@ -1303,7 +1333,7 @@ candidates is "pretty similar"
@@ -1349,7 +1379,7 @@ and BC is less than AC, and the angle between BC and BA is less than 180 degrees
diff --git a/classes/chillerlan-QRCode-Detector-GridSampler.html b/classes/chillerlan-QRCode-Detector-GridSampler.html
index 09d93e1e5..3b1d7912c 100644
--- a/classes/chillerlan-QRCode-Detector-GridSampler.html
+++ b/classes/chillerlan-QRCode-Detector-GridSampler.html
@@ -116,7 +116,7 @@
@@ -202,7 +202,7 @@ the image's dimensions to see if the point are even within the image.
@@ -212,13 +212,13 @@ image space.
public
- sampleGrid ( BitMatrix $image , int $dimension , PerspectiveTransform $transform ) : BitMatrix
+ sampleGrid ( BitMatrix $matrix , int $dimension , PerspectiveTransform $transform ) : BitMatrix
Parameters
- $image
+ $matrix
: BitMatrix
@@ -284,7 +284,7 @@ defined by the "from" parameters
@@ -293,7 +293,7 @@ the image's dimensions to see if the point are even within the image.
private
- checkAndNudgePoints ( BitMatrix $bitMatrix , array<string|int, float> $points ) : void
+ checkAndNudgePoints ( BitMatrix $matrix , array<string|int, float> $points ) : void
This method will actually "nudge" the endpoints back onto the image if they are found to be
barely (less than 1 pixel) off the image. This accounts for imperfect detection of finder
@@ -305,7 +305,7 @@ to be within the image. Because the set of points are assumed to be linear, this
Parameters
- $bitMatrix
+ $matrix
: BitMatrix
diff --git a/classes/chillerlan-QRCodeTest-Data-QRMatrixTest.html b/classes/chillerlan-QRCodeTest-Data-QRMatrixTest.html
index 2e8906c6c..ed536f86e 100644
--- a/classes/chillerlan-QRCodeTest-Data-QRMatrixTest.html
+++ b/classes/chillerlan-QRCodeTest-Data-QRMatrixTest.html
@@ -448,7 +448,7 @@
@@ -481,7 +481,7 @@
@@ -580,7 +580,7 @@
@@ -639,7 +639,7 @@
@@ -698,7 +698,7 @@
@@ -757,7 +757,7 @@
@@ -816,7 +816,7 @@
@@ -849,7 +849,7 @@
@@ -882,7 +882,7 @@
@@ -915,7 +915,7 @@
@@ -948,7 +948,7 @@
@@ -1007,7 +1007,7 @@
@@ -1040,7 +1040,7 @@
@@ -1099,7 +1099,7 @@
@@ -1158,7 +1158,7 @@
@@ -1283,7 +1283,7 @@
diff --git a/descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ b/descriptors/+/V/e7JUWAyUAJ6cdg6qkPAQ
index 86ec8f540c66ff6991a67a97a41b117dbf1a6c7b..5fe402f60862c48441fa955de2d8cf18a8b8f97a 100644
GIT binary patch
delta 19
acmX@Dc3O?g(9FWr(A3P(!eAqpqc8wD83hFZ
delta 19
acmX@Dc3O?g(9FWbz`)$Vz;q**qc8wC!36sN
diff --git a/descriptors/-/F/jRgdyBLyXKT+BGk4NfTw b/descriptors/-/F/jRgdyBLyXKT+BGk4NfTw
index bf0c1dc5d6433dd4b64118c4c1d253f3bcea23e3..e7eb4cbf3e266ef70a390573aeee2808d3759e42 100644
GIT binary patch
delta 19
acmbQ?H^Yz1(9FWr(A3P(!eAp8pE>|G>jcmM
delta 19
acmbQ?H^Yz1(9FWbz`)$Vz;q)QpE>|GlLW>9
diff --git a/descriptors/-/F/kNxgM6+xXQuNe88gSOxA b/descriptors/-/F/kNxgM6+xXQuNe88gSOxA
index c21d92114ef0f439178bbebcc1060be0956707fe..6d993fd882a829567bdee62bee6864f00fd039a5 100644
GIT binary patch
delta 19
acmdlXw?mH0(9FWr(A3P(!eAqp9zOszGX%H*
delta 19
acmdlXw?mH0(9FWbz`)$Vz;q**9zOsy+XSuv
diff --git a/descriptors/-/O/p5-gmoh5hPLmm04gN4pQ b/descriptors/-/O/p5-gmoh5hPLmm04gN4pQ
index 24315a72c88c200d7c3d66cfbd924d4b2e180cab..91d0bb25e49ddb8e12e98ae312b6226765639a60 100644
GIT binary patch
delta 374
zcmZo$#rSq5BbT9>g{h&bnW2TjM6QVnW=3XaNhyhz2F51lhDj!-W~pY$CMgzXiNAPnMUG*t}6PS$XpR0LjU^wtpEDCIw1NcD74q%$^h|K6#(rcE;?<
zW%eH!%Rt;Zhl7k|lP`KjOrGJG%-9T3;W9bgsg$u9EUfCB$v6=rEHrtC^Et+eAmK?4
z9Fw2B#4&DynBfBC@J?Rmn!&gUCR^?n$9NtlTkgg?+0MP5@jTc_F^^=%M=+bNdK57}
z0t+wjOlJH5vq{%$G2@5L7riPN8971jPxAT1C=6oc`o3e-1Tr?4__;7LdVp9L{q-0b
QgC+&u0ef}x*FZsL03G9ss{jB1
delta 362
zcmaF6lCfg^7WIxq*S{M6QVn#-^#piH4>|X(?ugsfGqAhDoMIi7AOG=Ef!|
zsYyl#6L%XkR&9Lm$hlSOR*GA4pq^^P2qjqIWsb0#NxL{ENcR}5su
z+J9gy2l6#1mpiNnvh+P8Cf7SAGq!-$*g2H~Ss*bU=S;>)V0H7I&jDE=v12Z2jGLi)
zjV5=vmI8So@i4bE#tU$93HKf#4`MFIWLA%8#>YUpvp`bcb2sBhusRX1#XuHN&1L~_
z1x7}$&4xZ)jEo{+SBLn%W7Gn%Hb?upFfw|AnLGUT7#V}X^8W*lK>WA)PM{z&0Agf%
AcmMzZ
diff --git a/descriptors/0/8/K5Nh3Keev5uTA1xbHsFg b/descriptors/0/8/K5Nh3Keev5uTA1xbHsFg
index e64a2821fb31e51e73d8950eed97fab70137d5a9..64dc618f5d4a097b1336005d1f8ab02825f76404 100644
GIT binary patch
delta 19
acmaDP^hk)y(9FWr(A3P(!eAp;1SbGF(FGU)
delta 19
acmaDP^hk)y(9FWbz`)$Vz;q*51SbGFc?Avt
diff --git a/descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ b/descriptors/0/B/2qSrZ6qQnjx2PjdHk9CQ
index 8d1fba90b2664b3740a5215f9451c71c2f7d77dd..45f11ae538493897ea1a8684469d7a10b9dfeecf 100644
GIT binary patch
delta 19
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%0A>1FimSy<&1DZ%bt$oNu0;FsFE
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
HneO`^%Yw$!
diff --git a/descriptors/1/W/oHvshtXLek5m48kI4qYQ b/descriptors/1/W/oHvshtXLek5m48kI4qYQ
index c10ac475a2a8254c1ff2a049e8a8ee102e1b1502..3ce45e4cd813d0eab1a284e51ee66f1fc29d8251 100644
GIT binary patch
delta 19
acmeA%>@nmrG_x=@G&M7{Fxbe|Bmn?2It1eY
delta 19
acmeA%>@nmrG_x=q)&>Ls
delta 19
acmccWd)1fA(9FWbz`)$Vz;q+mX*B>qeg*mf
diff --git a/descriptors/6/1/lB29Unf+MGop8ZfQpbxw b/descriptors/6/1/lB29Unf+MGop8ZfQpbxw
index 7dc042c539d66c1ae0c3abe60f6fd9519bd489a2..c5dae7f70db50520949526ae0b1618f2b4c0fd10 100644
GIT binary patch
delta 19
acmca#a=(Pj(9FWr(A3P(!eAp;s1*Q4lm-L<
delta 19
acmca#a=(Pj(9FWbz`)$Vz;q*5s1*Q4JO%my
diff --git a/descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg b/descriptors/6/K/6EwWb4g1s5Dj7Oor06Vg
index 99155e52005a48e32791b38c5e29dba504393217..127fce1548f6253c242b2959adf4aef7404de67d 100644
GIT binary patch
delta 19
acmaFr@YI3J(9FWr(A3P(!eAp;v;qJ?b_J9G
delta 19
acmaFr@YI3J(9FWbz`)$Vz;q*5v;qJ?9tDa3
diff --git a/descriptors/7/8/QsSJcxuDttqz7kaLKK9w b/descriptors/7/8/QsSJcxuDttqz7kaLKK9w
index 7b7c255a4e20fb301d4aaf9b5b330a27cc2e54d4..68b1e559430c366fd3ca8d1cfdad8ff190f131b5 100644
GIT binary patch
delta 19
acmca3c1MiM(9FWr(A3P(!eAp;5H|ohcLfjt
delta 19
acmca3c1MiM(9FWbz`)$Vz;q*55H|oh9|Z;g
diff --git a/descriptors/8/B/YUUawcRPu8iqa0H4uRzA b/descriptors/8/B/YUUawcRPu8iqa0H4uRzA
index f5b059838441d6eb01a3b2796ad0393b03191d0b..ae790b3466dfd1878a4b46a8e20ddcc10df4128c 100644
GIT binary patch
delta 19
acmZ3s|Bb4
diff --git a/descriptors/9/O/WWt-IuNrfC8yLC-ncXKQ b/descriptors/9/O/WWt-IuNrfC8yLC-ncXKQ
index b7867f03a79101af3f76a00d6c010684d95dcef8..a78e43171b517dccf21852eba1bfe6b1c22010ac 100644
GIT binary patch
delta 19
acmew*^h=1#(9FWr(A3P(!eAp;0Ve=GVFh3S
delta 19
acmew*^h=1#(9FWbz`)$Vz;q*50Ve=G2?bUF
diff --git a/descriptors/A/H/DD90x3SluOjSxkcV88ZA b/descriptors/A/H/DD90x3SluOjSxkcV88ZA
index 9778d022f72c1e0641123b13eee50472430da4c0..eefe21ca5c8c2a383b138f2bcfff2f4be6cc8510 100644
GIT binary patch
delta 19
acmaEF``(tz(9FWr(A3P(!eArUQ#k-aiUukG
delta 19
acmaEF``(tz(9FWbz`)$Vz;q+mQ#k-aG6o<3
diff --git a/descriptors/A/N/Ljow2YPBWWbEcemFbdJg b/descriptors/A/N/Ljow2YPBWWbEcemFbdJg
index 6fb11b27c720a944cbe12e08f8e67b7950ade1a2..454fbf4c597a41a32081e39e8cc4b6385bf77758 100644
GIT binary patch
delta 19
acmdn5uwQ}8(9FWr(A3P(!eAqpsQ>^rf&|h4
delta 19
acmdn5uwQ}8(9FWbz`)$Vz;q**sQ>^rDg?*?
diff --git a/descriptors/B/1/aTEUuEOOiQctQ60relWw b/descriptors/B/1/aTEUuEOOiQctQ60relWw
index e066eabf93178387c39116370dd7582ecaf1eb0d..34aab379e66a779dc1a0b63ea7c194de7e2a2035 100644
GIT binary patch
delta 19
acmdmHw9Sai(9FWr(A3P(!eAqpjwAp#nFQnj
delta 19
acmdmHw9Sai(9FWbz`)$Vz;q**jwAp#K?K?W
diff --git a/descriptors/B/E/r1vpxcSDgXhLhmvapg0g b/descriptors/B/E/r1vpxcSDgXhLhmvapg0g
index d1d0d7f651a3cc2f4bf03f2242a0ee9effead174..66108b2ebad7e92eba3a5eda8d8ea84643adf235 100644
GIT binary patch
delta 21
ccmdn_f^p{yMlM4$3sXZ=GeZl5ja>RA09Bd>wg3PC
delta 21
ccmdn_f^p{yMlM4$3ljqaa{~j@ja>RA098T;tN;K2
diff --git a/descriptors/B/M/ypKt-svLtRmUKXHv+qBg b/descriptors/B/M/ypKt-svLtRmUKXHv+qBg
index 470f31ad2884c7a4df8860e8cb89a950632058d1..2d18988fb3a52e281a82c2bd206fc92995820f27 100644
GIT binary patch
delta 19
acmew@_gjw3(9FWr(A3P(!eAp;AwK{=B?W;1
delta 19
acmew@_gjw3(9FWbz`)$Vz;q*5AwK{<%>{P=
diff --git a/descriptors/C/M/EVCvnxX+dRHuyEr8qsYA b/descriptors/C/M/EVCvnxX+dRHuyEr8qsYA
index 8674c75864d1481d1377d88357d2c17ba5f1a01b..a1c0d9d4d9780d60d2aad22c25ccb0716f767bfd 100644
GIT binary patch
delta 19
acmaDV_Ee0^(9FWr(A3P(!eAp;G&cY`%>^p}
delta 19
acmaDV_Ee0^(9FWbz`)$Vz;q*5G&cY`bp;^+
diff --git a/descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w b/descriptors/D/D/m0G1Z9xVFKtNtCQFoi5w
index 9e4b273e449a4275d9180dc5f28ef17a602c668c..b6d5e891ca1856a1cb9f9e480b9282bd92d8af46 100644
GIT binary patch
delta 716
zcmW-dJ!lkR5Qcqkb9;Atf4g_L7k{(gDA9a(B;G1_ISq+kf|^fJQ41>(6gvwM?F3N}
ztODmWf}lhTD-jfHL9`T15p1+bAqawy*jR~^>7IGs*`4|3+0^P}koNlBwA)MjonbKN
zo$b?br-vpM&i-d8VccW;qmxo1%ecJ1l2oqAb_-rYWi*8=*
zamk>i>6)Z%rFNM(Q?`7&Oqf*jUTBKf$`1RrzEB}_cmVXKz&@`IIi#1E=n*xRXlMB%IRpdeiWH)ABnprzNwGMw9=_&b-P1
delta 754
zcmW-eJ7`o<5QhEtW?y%+d-v_zJ)=Z(HYC|c?mpB+H$mf7qDCtlCF^Dz3lYRhkTfC)
z!ZL-8A`uH45fpn-u(2^kKoE;G!9t6Og_Ss&=HBo8|9{SznX^9rY{IQJT2qxuvr_Q~
z?u>IGvV&KL?BMoyQ?Iuhe$)3`esyZ8>Mysu6~EVBs`YEj-Tw7nn{T1aiy(w~EpPb=
z3?jT3vb+hy7v(=0BE&=q5SQ;Lf0VV$E7>x8P6-L6D^7_&IF?r(LQ;4CbPQ6O_lF3c
z(mkQH)D5I@V-iid+
zt^0dXgFSl3t0-ZwYJa1KyD`h17-7G94}}gWtqYapzA{t1Bz<<`0Z5&G3deNIKsTWn7i9
zBw<1)e7!_wQE_zNqOr49hsKpKjO@)
zGo2&MiDUUe&hYP?
To-JCYB4I&OH-yeBy(^mk`&r4M
diff --git a/descriptors/D/F/DOG571bO-z1teWt5gCnA b/descriptors/D/F/DOG571bO-z1teWt5gCnA
index e084fd02191e983a181c2e045cb3c4dfcc74f527..db2807f4a5d5e8e226bc18043732567ca8835302 100644
GIT binary patch
delta 19
acmZ4Evc`qW(9FWr(A3P(!eAqpk`e$oiUjij
delta 19
acmZ4Evc`qW(9FWbz`)$Vz;q**k`e$oG6d-W
diff --git a/descriptors/D/Y/k68AX6bKDcYhVlpLdDsA b/descriptors/D/Y/k68AX6bKDcYhVlpLdDsA
index 44684c6a8ae892c2f00491fa88dc612f597558df..5b247ccac6ad5ccb69c64d2d21d2a1f2dc9e3087 100644
GIT binary patch
delta 19
acmbPgGu4L6(9FWr(A3P(!eAp8w;TX83d<
diff --git a/descriptors/F/7/OnTTKZgQfCrYvSHdurDA b/descriptors/F/7/OnTTKZgQfCrYvSHdurDA
index 6050079a56b6cda4084b6b78f01a628d9fca6870..ea3c0733396202df0b84d33c69468bdf5fbda281 100644
GIT binary patch
delta 19
acmew*|4W|B(9FWr(A3P(!eArU2YvuRAqD^d
delta 19
acmew*|4W|B(9FWbz`)$Vz;q+m2YvuQ$p!WR
diff --git a/descriptors/F/9/pXbPL7Yb0FBQxCQ3gJFw b/descriptors/F/9/pXbPL7Yb0FBQxCQ3gJFw
deleted file mode 100644
index 4140a4c8520656b05a514bd132f076321899d844..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 7774
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
diff --git a/descriptors/F/B/LksworQTmdGDsbuGgK3w b/descriptors/F/B/LksworQTmdGDsbuGgK3w
index c2857e7fc5abb94988b2ef45d847d81eb5ae5566..f94335ccdb7b453cf539cb0ecaf1dbd4bb423f65 100644
GIT binary patch
delta 19
acmdn5ykD8i(9FWr(A3P(!eArURzUza=>=H;
delta 19
acmdn5ykD8i(9FWbz`)$Vz;q+mRzUzakp)ix
diff --git a/descriptors/F/V/02epmiUkatFxWCEUNOZQ b/descriptors/F/V/02epmiUkatFxWCEUNOZQ
index e3b8d5131744dbe357d15c65450b01860745013e..535822e8912bad42bb22167e225e3c1154f71c23 100644
GIT binary patch
delta 21
ccmeC2z|=W`iObN;!qm{z%+SJMBiH|S07Ga7ivR!s
delta 21
ccmeC2z|=W`iObN;!odemb1X(9FWr(A3P(!eArUL2Up)vjzVE
delta 19
acmX>demb1X(9FWbz`)$Vz;q+mL2Up)TLtw1
diff --git a/descriptors/G/8/34PLS-AzpSCuX2cZHsqw b/descriptors/G/8/34PLS-AzpSCuX2cZHsqw
index 98354f3f1ca946f6d217861207b0ea297801f271..b1834cac7547d9da3e6bd1ead400a81c2f25053b 100644
GIT binary patch
delta 19
acmaDV_Ee0^(9FWr(A3P(!eAp;G&cY`%>^p}
delta 19
acmaDV_Ee0^(9FWbz`)$Vz;q*5G&cY`bp;^+
diff --git a/descriptors/G/G/Wqosy8fgWMr+iNneQiEw b/descriptors/G/G/Wqosy8fgWMr+iNneQiEw
index 1ba9a847543044c3209fdb4b9e034d80874cdf83..2bbf2736088f626225058ac0d05f4a9250faafe5 100644
GIT binary patch
delta 19
acmZ3czD%9V(9FWr(A3P(!eArU9AN-7y#*Km
delta 19
acmZ3czD%9V(9FWbz`)$Vz;q+m9AN-7Wd#lZ
diff --git a/descriptors/G/V/fdJGuZf5fNFLqtugqT-w b/descriptors/G/V/fdJGuZf5fNFLqtugqT-w
index 7cdbaaa52e72b72d0dbc5298f49dd802873c69c0..3a5f98bf18eebcb6409fe7208c920723c8b81244 100644
GIT binary patch
delta 19
acmcaCc3F(e(9FWr(A3P(!eAqpCpQ2%Aq4dR
delta 19
acmcaCc3F(e(9FWbz`)$Vz;q**CpQ2$$pq^F
diff --git a/descriptors/G/Z/oRUELJnE8E9xjfb7zVYw b/descriptors/G/Z/oRUELJnE8E9xjfb7zVYw
index 16f32d4133754e4759dab8902054a15f7f6f3344..5a6e2fa26174c6696a3387c8a8a06f8953807d39 100644
GIT binary patch
delta 19
acmcbja7BU3(9FWr(A3P(!eAqpmjD1cpal^C
delta 19
acmcbja7BU3(9FWbz`)$Vz;q**mjD1cNCgJ~
diff --git a/descriptors/H/K/L8qxzlGe3nApAEb0XDmw b/descriptors/H/K/L8qxzlGe3nApAEb0XDmw
index b3fdc516e6eae4d9d07a702ac78a9ed04c6535b2..a5e95157b6c55b00a650ba88ac1d6c7dcf823917 100644
GIT binary patch
delta 19
acmdnuu*HGP(9FWr(A3P(!eAqpmI44dFa-es
delta 19
acmdnuu*HGP(9FWbz`)$Vz;q**mI44c*aY_g
diff --git a/descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ b/descriptors/I/Y/McDk2MyGmf-EX5vHdJnQ
index 41959a2a8944c6b98ba7cb428a1b1719d8d55a9b..7b3fd33be64369cab14257770863ad23d1bd0814 100644
GIT binary patch
delta 19
acmZq8Y0cp>G_x=@G&M7{FxbfT+Y|sgBL(3A
delta 19
acmZq8Y0cp>G_x=O(9FWr(A3P(!eArULty|u`vvC!
delta 19
acmaE@{#u>O(9FWbz`)$Vz;q+mLty|uqXpdn
diff --git a/descriptors/M/E/Nh3ZTPCAW0NKAreDA58A b/descriptors/M/E/Nh3ZTPCAW0NKAreDA58A
index c66aecb042f96dcf441b299abfc50a68e9188c44..357deaa9f725d1e762ccd38a4058da1769475464 100644
GIT binary patch
delta 19
acmX>md`y_j(9FWr(A3P(!eArU9!>x@%LPUN
delta 19
acmX>md`y_j(9FWbz`)$Vz;q+m9!>x@a|JvA
diff --git a/descriptors/M/H/UP+q5Whq-hBCfNUVgmmA b/descriptors/M/H/UP+q5Whq-hBCfNUVgmmA
index 6141f32ba7123aaad547fd4b43c94fea517e190d..8b28042ec3c27079d4a88eab0b26b02cb96eb284 100644
GIT binary patch
delta 19
acmZ3TwmOZ=(9FWr(A3P(!eAqpqA>tG`2|G)
delta 19
acmZ3TwmOZ=(9FWbz`)$Vz;q**qA>tGp#?ht
diff --git a/descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw b/descriptors/N/E/ZqP6aKgWYU4JMqYQSlXw
index 9de66ce504fcdb1178bdb66e059d95c6c616ab07..bc3deb7f5321b7c622721da71919c91c6e0f06c2 100644
GIT binary patch
delta 162
zcmX?|wl9^-(9FWr(A3P(!eAoTL>yeW?%h(%m7z>+OA`xo3sVczq$Ep=w8Z3O%Oq2?WD66cL{sx5
z#mUL3YnPi?-~zN-1MC2}SaCLr
l+RfiM_bM_LY~G^1fst|21`i)*rh^jD@foW9c0eqe7YX;q5Cip9}q(i-fu8VkVgsZjkRqiAcq(WJQq3s3=|Z^HTuiNMa*>
zt+hNej3;8tl-w$2fXJ96d8H*%{{Mh+s6hd0oW?tZH86D6?^AuDd3P1`KY!&iKb8@V?I17q0
z%Mwdc6+GAnfL(o;*qQj3Z+^Yb(`fwpm~lw@QU>)N5X1gsaK9^vrG_FOt#
z2&I!Jaa9ID^h4d41M~-miC{}zi;D7#ob!u{Qj<%7mV>TacNG8Q)NkNv4Voa
zW-)Gi=FKzsEX8FIHi3=sO)Sn1NGvHyEdsiI^Bq+-R&Hd+?AMlM)Si5hMR>A~9nfypgWbz*^TSkV-*4plq<8@v#
zs&4kw|
diff --git a/descriptors/O/-/Qj50sQunXyprLIPjDWuw b/descriptors/O/-/Qj50sQunXyprLIPjDWuw
index 9630cf2e39c58daac650a5339fede7dce1e04990..bc3f5fb81a24e8d7bd3c893b8ce9c65fa7d027c9 100644
GIT binary patch
delta 19
acmbQCKSQ6((9FWr(A3P(!eAp;pEv+By#)dQ
delta 19
acmbQCKSQ6((9FWbz`)$Vz;q*5pEv+BWd!&D
diff --git a/descriptors/O/9/TxGIyEkOt8LOdakmWGng b/descriptors/O/9/TxGIyEkOt8LOdakmWGng
index 995455839ffd1b971a936b182b0a3fefe431d254..8bb6c139ef08dfc222c3de8b0df97ca1677e3fa0 100644
GIT binary patch
delta 19
acmaFh{=l8f(9FWr(A3P(!eArUHDv%nsRkAR
delta 19
acmaFh{=l8f(9FWbz`)$Vz;q+mHDv%nQ3ebE
diff --git a/descriptors/O/C/QrLkTA4pksM1hZjh2fmQ b/descriptors/O/C/QrLkTA4pksM1hZjh2fmQ
index 211f790f3a64b9ccc200a274876eaf142ef2ce6f..5fe3629aab33846423d7280890830486dbf960c9 100644
GIT binary patch
delta 19
acmX?Lc)*a$(9FWr(A3P(!eArUHVFVZ@&$hY
delta 19
acmX?Lc)*a$(9FWbz`)$Vz;q+mHVFVZngw+L
diff --git a/descriptors/O/O/mS81z7ltTtSlHSFUSNuw b/descriptors/O/O/mS81z7ltTtSlHSFUSNuw
index d6fe9e9ffaaaa9caed3737ddf4514bd65219ab0c..86ebbfc82c6a176f42827fdbef1c77ab63086d0e 100644
GIT binary patch
delta 19
acmbOhH!Y6K(9FWr(A3P(!eAp8k3Il6#{}{K
delta 19
acmbOhH!Y6K(9FWbz`)$Vz;q)Qk3Il6Zv^N7
diff --git a/descriptors/O/P/hsy4XuaUYG7s+p327kdw b/descriptors/O/P/hsy4XuaUYG7s+p327kdw
index 55eb88378d0e34ed5b9f679d31ac1cdc5f722ecd..5694622bf435678fc2244b4a7117dec023014e78 100644
GIT binary patch
delta 124
zcmez9``4Gt(9FWr(A3P(!eAoTM1{1J6mxS6i^L=&i)1qc%alZeM2jR7Q$wJzk%4KV
z<;30gjQksapJnCpDb3ByOUz47E#7>Ntz3wYH$AlkAvSq}w9@2HGDeKflMUrfP~|p1
Iloa3v0PEE%Jpcdz
delta 107
zcmezC`_Y%n(9FWbz`)$Vz;q(lL7^ljO8y!=yB$6k}sEgG2*!^AzL6B=fYy
zG^2^T?HRc@{yxjf=9^ejlv%O)5?i?t7iW5E34}j+qKxe15=ryPXQeG*O5REe@B#on
CjU)*G
diff --git a/descriptors/P/F/CRQ81A3lfcHvSs9jQKkw b/descriptors/P/F/CRQ81A3lfcHvSs9jQKkw
index 2d6a99e9d989dbd735ac412e9d5bc6732777319b..e26924e4bd281874ad844bd2864610c129ce27d5 100644
GIT binary patch
delta 19
acmexR{Gpi3(9FWr(A3P(!eArUGfMzT_Xe~8
delta 19
acmexR{Gpi3(9FWbz`)$Vz;q+mGfMzTp9ZP`
diff --git a/descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ b/descriptors/P/V/hBxH0ZEK5MfA5tilgPPQ
index 9622f3e6aacee3968ebbee355e72b55ebbe83f91..5f6e599b44e2ed9ebde85232bfb9eada9368eea8 100644
GIT binary patch
delta 2117
zcmbW2O>7%g5XX08*GZgs>{oAMXX`jyr?g2L%&xzkDzu4fAT&W~YQA!yU9Vq))y>-4
zU8jloFo+Wf4%QPFP8{KcLJk}d2QFM8NJyOE#I*+m+>m%{yUyB9py6U$*1Z3l`Ok0W
zeY*VJl3Pk;l2S4yWyFTNA!N63rkKdkuWUwAV(C;oEtQg~cyTL{P>PD!_&UoL8h`#o
zeqn!LW%AX)W%Ap=wL$ZBz4E{i$ib-JdwU~SDdGH{f~#h^qLBp$X63`r96vfh)^&OR
z?p9e0yu&j;2gxUgTvv-^9kuEO=m%*1AZW;%<6~eED2XC~GFxRV?q8wQWcQ
z(q!E`ap)Z@u)$`(I`(n{$kl?3yfHpIS7`Ef6B~+Nu9_8{bD|-Nj!CmNT0XZkiC9S1
zdyoVV>ZO#Xwh0NoK+}Jbe~Es+?15J(B(K^*LFcNnF7I@>u@S@|?>5%3E}OVrGXFH^
zhp~to0?s-FosTHJ(K=1*87|4D+;pei%V#Mgk7v0>y$v9_ztOksT-G}oXBjktn=Q#z
zYMN=gxIIfY)#87s+C*XfUlaEp!veRh5&d;ywJyTF4hwWZPqw}ZL8lfvKX*H~cA4+)
zaD;8XpJ2NK4HqepOM0DdqIUVE|LZ&McWB%0dnZ?F`_PWOXK!}hy0zc*tusiDXtkXU
zV_B^z_YGSq{i53^h)$f6D6ErjFU&fdZF+bizgD7?QF_cqb&5Z&QRJP_1REuvgr)?Ei1D1SU{W{g)RxF(GanAI0xy&u}P5)iJ+avO@_$fXCx8K?f_8xhq~(>
z_&L1ivUV~WZyb&1nzqq1aTLs{vSA1t7?;dD!;4$G5Qy}9PHk3So5G4}M15ne_G+{EnkWu{VcyM6R
zP^n56jjGnUn@X+H{D7((FQax-sf+Gfsp_Ite?-+Ty6e3*j2Vnm;)P|;z2`gMIp25A
z{J8L9(G{IZCnPB)Ny)0KD$YpRtwb`OOvmJSESi)O>DjE5mS&@=I7%c@y83dK)vEve
z>Rv15uBf{xyP#?E9{z#-&1pQrUs}dGMEb$sTP_G1(s#6ic*i)W5%X$6zko-rs2Ns!
zYW>CPEucrD>E>Dd&@oth>iFA^Klg}u%y&@)GZwfxGo9LBo(-1m#~E$|f99F+LYRSJ
z8=Qd=7`4He4aV_z-1T#Dh(H`Bzz1(IFzJRV2BsM}XAgiRbn+}X*$#*rzhZdKyJ@2^
z__;Uh3_?&CB$tNpUEeGl#$Wi(+!|*H;+rtxJ_abB49IYf3ew7Iu^`OzJ#c>5z!bW8
z3v_c~{AobIW4v#T6mZD~3xqjMvG^J(I+3ERpbE+z&w>B+58xL82mY4toi*bxpC13&
zU=V-c?ZIbz!AqLaAPymLgUDTE@Md?Qe*AH-pB=}~dsjwMgnx=O-Bs@q*R#B|BoZ$m
zEr;ZaTG)muf2tmK!#`A8?weuz>zWuX=!lgV&a;gQNRxH6tSs*7
zs4S#;AM_5pz;AT{RnItE+V6QvKDpg7^RSDy?3%2F2jN7)k0V~=Y1mA
zf`)Gjw*AJ`%B1{LvNyMVyR|`TyS8`c<=sR1sroeOK2_5U`QSAmy9zt`)$(Gls5~qm
zC`nOULDe>({?;AIz*YYUH6{O6QLWpM3U;v0=Eypm#y<^swztRtZJkm+qb2R-bCZeP
zDWmMVCaZecka!$l3WkIT$O(T}`Y7Xrk$(9#`=Ns&v91E~!uB|sO8v0d+KRMbl=07R3e^>wj
diff --git a/descriptors/Q/G/1e8Ygp1jpFLMRhjJxNng b/descriptors/Q/G/1e8Ygp1jpFLMRhjJxNng
index 60c50e324f797650fbd527b4420c0de074d8dc8d..c7c8bc7f5e6fd654f55f3814c21bb9a7b194f14d 100644
GIT binary patch
delta 19
acmdn(zuTY7(9FWr(A3P(!eArUMs)x^KLxu0
delta 19
acmdn(zuTY7(9FWbz`)$Vz;q+mMs)x@=LN9<
diff --git a/descriptors/Q/P/B+J2GJLfQ0IakPB13vHw b/descriptors/Q/P/B+J2GJLfQ0IakPB13vHw
index 5b5aa5f1834ee136632b540a3a11145ac5a4bb15..0c07708cbf0f33606a6f1280d320cdc890789b21 100644
GIT binary patch
delta 473
zcmZ3Qus?yz(9FWr(A3P(!eAoTBzX%%Alov{(9+N{*}^C_B{j*|#L(2-%q+R7zDPDYK*)s5Z4kL#0ANU%^O6L8TIi
zVTL4Uq$X!iejuVDqN4z_+seu}-o-J*QPX;}m*{0yPN`p
z1EeOuSC!bDqENsL6uGK=g^`I*aq2r!|F%QDO3DodCw{$u7Ft
zf_Z#~Qbr<7e8y5HK+=>iV=|+b@Z=m--pLPiCo*PCF47BR&lh3l)8#9hd`eGOI9rNC
zgprR^go%woDhDi{J()}2h#kgu)(?ZKubR9--x12LnfyXuS0GQRfX@b^pOKZ%mH_}S
CQHJsW
delta 477
zcmdm=urz_o(9FWbz`)$Vz;q(lBzdD017j0&OG6_wGcyCDM3Y4GBuk5=6vJdQBZFi!
z8YDdgesUI%*mTX?D;a&G*rM6
zU>%bUL^W76tGPHQzY&p_=TrfjSFCGSoLZuxQlX%)V5Fm`W{ULbpc2s589U-{%G
zdb+|nQXC?Te4HXoYz$JlVDX&ED*8t3Fm|kd7*u`r0Q4n)`~Uy|
diff --git a/descriptors/R/J/XynComHevEUzJVBqwqBw b/descriptors/R/J/XynComHevEUzJVBqwqBw
index eaf55b7fdcf660b928ff9241954f3b77b798a36a..a7edb228ce55c8718b21c0b284eb78118fea2155 100644
GIT binary patch
delta 19
acmez8{Lh)o(9FWr(A3P(!eArU7exR?lLlr0
delta 19
acmez8{Lh)o(9FWbz`)$Vz;q+m7exR?I|f_;
diff --git a/descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ b/descriptors/R/Z/B7iBRy42UrH9XZFVHxqQ
index d1e06649d073f79f9b5cbb120f9abd09d91e04c0..f30459ca9a361972954c77f5bc3057cf443662e6 100644
GIT binary patch
delta 21
ccmX>*m+9*m+9+y*UgDUd7#;*4`yoby7=Hloa6mS{A?n0?U?keHY_gM67Gewd!N7g#Sf@h11?
z&GS6xy}xtL`|Azr=g%k^Tjg@H&MMYri^*b|c1OFt=6LlUkAwBJ+ik43!^yfl4u_-4
z)zQAkT^+mg94fuJ7LyB6*Ot?lMQUjAxsu|&SEcsjkFll*tmCS|4sE9EvAVr9^#Ed+nra29uO`A1vSiy6Oy
zm}Wo}*`jy!1snjqOJzxDUqT!mqDJ*0)HAm$>J=Sz80wlqXmv>3*g(z
z=S7a%{KXcf>~l-&|G|HK_gOK%Thz?YS|I-H3nF#Sp2Qa)ZBkt@SzyH`-mafLlcmF6
zvl;f=1DOs#XD_!3w{p?SoR(2-7|l=z9;Qs-5s|@1juoLT#yv
z;eQL=LM@
z<5-8s`T6kEsD63_mBOO}G|J6k5=sdPi6HS9Zbme2A+IH!B^3vXKneWwPA$3yOTlIs
ziqxUU1axPi0&(k9*HXKfgvHY;(4KRq1K>YbKo%wUH#(P4gaa2CB{K<`OAJPg=@87`q`NP`)04lfdK`TP#Bb;*im2?M1S7$_68
z45*lH5yD&fcN?v+UegI9v
zDqj!=h#~{@4XnnM;7{mLy81YAP{{rWe4$@v$E
C-w9^`
delta 1570
zcmaiyZA@Eb6vzAAt{uIF2Rd3_y3t%{ZK3tL+tMr~WQ+0k1su0S?}wX{
z|M{JB{?B=yA3kP&o?=*MUAP0o<8Ai3y}lNAOI@q4wYlEu^|#gvwe?=F
zbEn(qi(P$~R89XCQ*LSwgbrbN)2&ROmN
zr{(qiH4Ze`9+k^6+wEM*gv-?na=E{zPcFr5CKR~rlI_m>q{LbY#Ui+5a0c2=|Y
zNZ|Ev#ZOIJM0Ha=A-gc$>QtrQoY;MIxSSk>^VKpK!jGk+QoI&k%tlSUN7GTcxYRpC
zvKbl=0$urSguP-
zGm_Lo+4P~d5F08zhsDFE9gI{yFjTewT?q(Ko0)t-9ht=tm6{ma^(y)dy+F5`$w#Zi
z<$DMwON^%o5f_Jw@qM%y+B3_lOA>zxMeSB)9%B)?v%eGEKEsnIz@4p-fD*A|I6_b`
z%#)yKI`=CfAA&ufRO+Y)zeVd%7^Gw-eG=t}hkPR~!HD+bF5K*NVRocMH7&KD#*L9h
zDfeSfMd6I(fH7n}GTU%HI!_uf8Z#SabMKN_Ni9{UQ+IU+IzoH0n`JWmr~k+AUC)2E
z0dK^6qeoO%BuiItceIPFNSFH(`CR-``jdIs;*I#FpNBPG$j~`B102TVNiv5WV=rvJ
zrdLXJUm-EZ7tgOgRJFpmkk;q1H0Ij88W$y=%ktL|Ozh6aH}FZ~0J(;#gaIXQxpiNd
MnU;Sqjy|aP2S!^1@Bjb+
diff --git a/descriptors/T/M/LNFLDuHMpqMgpKcW670A b/descriptors/T/M/LNFLDuHMpqMgpKcW670A
index 0ae6a5aac08ccd49058da22706f9441f5ca80311..744e4a2347b05c220d0906e83e0bf766f4fe8ce4 100644
GIT binary patch
delta 19
acmaDR_Dqb+(9FWr(A3P(!eAp;3^xEe^93#d
delta 19
acmaDR_Dqb+(9FWbz`)$Vz;q*53^xEen*}5Q
diff --git a/descriptors/T/U/tCn8347JaERiSFirOQkQ b/descriptors/T/U/tCn8347JaERiSFirOQkQ
index 5b9fbc718c20f0ae31fe530b554700e7b9ae761f..310ba3c46e19bac78ba814d95fb7c1b882fe4438 100644
GIT binary patch
delta 3957
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
VkNh#hsb6AGU(9FWr(A3P(!eAqpB_9AbkOb5K
delta 19
acmX>sb6AGU(9FWbz`)$Vz;q**B_9AbI0VW7
diff --git a/descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig b/descriptors/U/D/HkBpwSQ2rDsnrVbWT7Ig
index 77744b6fd111f05de1cd75c9b399a24542fe4dac..855b61a7813b32c79906df6dfeec7a34bb7d909b 100644
GIT binary patch
delta 19
acmZ3cxlEJG(9FWr(A3P(!eArU91#FD0tFoa
delta 19
acmZ3cxlEJG(9FWbz`)$Vz;q+m91#FCss$4O
diff --git a/descriptors/U/F/lOcPYujFNfed0+VaP6pQ b/descriptors/U/F/lOcPYujFNfed0+VaP6pQ
index 7f2ded81955cbddb127b04d7cda0de8e3fe98ca3..18a0cbd2958c77283dbe3fb8095661df34655a12 100644
GIT binary patch
delta 19
acmexr@zsLM(9FWr(A3P(!eAp;whRD4!UeDZ
delta 19
acmexr@zsLM(9FWbz`)$Vz;q*5whRD4Y6YeM
diff --git a/descriptors/U/M/GOkWye9ioWEVXJE38j3A b/descriptors/U/M/GOkWye9ioWEVXJE38j3A
index b66bc7be539c1869302b40dfc2477278081096a0..df8e505687e0bbed24ce90e86b402330d6550523 100644
GIT binary patch
delta 19
acmaE^`&^gH(9FWr(A3P(!eArUT`>SZG6m`Y
delta 19
acmaE^`&^gH(9FWbz`)$Vz;q+mT`>SY+6CYM
diff --git a/descriptors/U/T/sy7Fttx0RT+dXnidigIg b/descriptors/U/T/sy7Fttx0RT+dXnidigIg
index 354470e2dd9e34e79973cd8a18586d2c64fd3cad..012fa620c3962b7346ab85444479aa209e63c6e5 100644
GIT binary patch
delta 1231
zcmZuxOH30{6y>%7N`aALYi;=rEiF)lc8UxgX$h5Y3kD4uiAv&F%0~;RRD}@yER1YO
z#Op$%@e_?36F(UhKM~_X6BmY+3t|jA4JPVNSxDl0ZwdtBBs1^cbM8I&yqB4|cMU$>
z1ic{os)Q<0@Oh^6Q+%Y-=k*Cfq*CY+qmmf$L?uBy7F1}7?F|S@7SPNTi9RvNb=qO`j{gLS4a8zZ3N99OgwA@?aQ6}L4
z;PtfArs!Z~s5^Sxy+a;8vM1gjt2iv5l$EcV3tWcV<~`Z)u2ng2aO*TYk3TIg
z<%?xM(0C-rgS|Po))yC|Gk0zcs4V63DUgf#_Gtu%4gc8Vc!jK!MR9aH?O5c9<9o8c
zB5PN%1?QdV*x?)o8y>4R<0D5pE;!?0rOEVAGme-@6{deFP=
zEkOzbHr!Nm1|~@TW}I(M#iuo{M8*Ymm;9wHF=No*%_1t$iIK25If*MxnIHnY;UgZb
zYlR2P5*ph_l%p6nRk_o@BRGKpln)r~l*OFk8@G=j(y9Yzszh5<&FRViV@
z#YUrAtiQFEP|YwM{q40BbwUa1q-)hhHaoobW*2!GR2PmF7omg;6;Y2NlsE>8t(+k~
zZ~06-)BQXPeK1)$msMv3F3qUn&MrrIIoyYfRU2Rub>hhXzbm{UI`D6}4jw9j){T(*
z$f)J)+%)cOs{swpxC`+~o2m5$S8Q!0(oNQ8@@z3=uKDP>5F~S9a+j%-Avp!CFPYH#
z#(era$iv09l00?N>vhWMUXNGcJ20@LtWd3Zv#vtF`p>|};zq+mJDggb%xy{f2VOH<
APXGV_
delta 974
zcmZ9LUr1AN6vuaVbIuKKZEm=(&erDKrl#B6e|73~|NOUvB8mpp+|sa!G%zA8^f?^o
zA*6?jNGQmVA5-79>w_((=fGce_+@oic
z<2hO86n+Xz%pw{I%F)Y6fJKeuFv0;1r&3l__ASA(sK&KEuN>9K>hM>ei)AM4>d(pi
zFrvq;{*+q5I~BZ3wahw=MqRLrw}!^xqiCbySB1NVbNq~T7fVs61d%$@qEgg|g98mR
zJB-B0=YcHHRGc_4l
zVq&tl22_g1OIY%o@%^Mx|DAUTaVkv+N%~LeTEsVGMoY#ii?%S6G18Zn&vXcq&5!>i
X9DP{0nQ72%*kF$DkY<1yzEklJ$+0H+
diff --git a/descriptors/V/D/k1Sxb8RF0516043ylCfA b/descriptors/V/D/k1Sxb8RF0516043ylCfA
index bbf89d591f2a479145e722effef5c6ee47bb7855..471b765c74da3c9abfeb7167cbda9cf6eac9c92b 100644
GIT binary patch
delta 19
acmbR4G~J2I(9FWr(A3P(!eAp8uOa|7Cj_qm
delta 19
acmbR4G~J2I(9FWbz`)$Vz;q)QuOa|6&jh6a
diff --git a/descriptors/V/W/lD6qBTbqlkVqPSgCnx4Q b/descriptors/V/W/lD6qBTbqlkVqPSgCnx4Q
index 9521fc884c23e9752d5e07e2b7a85e9528de0462..81838c19162c7ee2ca61f4e37ec5310198791fc2 100644
GIT binary patch
delta 19
acmaDV_Ee0^(9FWr(A3P(!eAp;G&cY`%>^p}
delta 19
acmaDV_Ee0^(9FWbz`)$Vz;q*5G&cY`bp;^+
diff --git a/descriptors/W/V/grsubfc-REqTpvf8epEg b/descriptors/W/V/grsubfc-REqTpvf8epEg
index cc429c26e9b6a6e6036e9ab52872832ae66602c8..fefc2328cf1e49170d96cc86bcccb48cfe603c96 100644
GIT binary patch
delta 1962
zcmaKs|4$QV9LM{#y<$swXxSOqDW#=OSI2GrdQ`wdE4WqBXh2|~XxA@Tv>>8LShgB9
zMEzwnpTV;DWy@yV5+RvsqCdFI$&V)f3oeq(?1yEU`)%=u?YZl7y=%O*KU}WQ`*qKK
z-tW)nx#!DhZ5dg7LOA3L3BItmU@15gK_L+Ke-dgBrouwf7f58<1tFDc4`nimus4$`
zJnBYm_g}9WP_DRYG$KI{e6o0#&+e-gBEoSq!b0@R2d?YuW
zI)6GnkX=X@@0;>WT?ybL$&=~iDTr8yD_4r&TMKrp49$|qV87#DB?Av#4zRh};9$#-
z8cM5kU1Qbe`nqzp_|SFDV5UwQ-vgWXZMe0)p?Kk)L4-QNwKGI~Gdm_tM$A#Uz#m5(
zyy6cx53)9Vq*cIMxge{o4ze_k`PMG%<2JDf
zn-OC|+;Nt{`*DEiQL4wl-q!?+UY>3~KsN7wWAlW#IsD=MxGI&Ds5#$YRVpn}|M}uo
zsR@bt%pXIe@T-5uI!0`AwX7an?HwegAkJi`Qtx_j9X>&voPd1bMSi^Glr@@k)Me>M50Op!x*Svs9mi--0($4(hv`;CWjk+zUk*sbTO}
z=mV>&Q!|pas4!p{ZQKq~PfKlVdir!aF-2k@gD1if^BJ<`8N3r);Kgn?d@7jt663Nv
zRCYH*-o8ZNzM@ozb2JB$oMMf*pPMCHdvFd4?HlG9t~5rg@OOxRv#w|1G1{0_%~6<_
zsz0`CpenT>QNQmxv}KgblJT45n#t8s>L5Nq+IEn5J=8J6%#p(8ifbK%sN6q8g~Oky
z!v~7P@+8lb1RhcSXO%AZZ-MAfsJ^b~8VPl=dhmxhD>qG|>cQgi$idyN<#JpbT5&Z(
zGwF6+q~2{eq^D9e*$vI$E|N%O-qtWG9bwf}?-8dOl92``Pu`t}g~%^Sx#jwbKweTq
ze=3H`fm|epUs3%ZMb|JaenCW!^0+?j?sQ0l;YJqC`mabW?d&;P9b1&JXFX@DV^<~Y
zeDra3>^cpt9=1lCFqVf&EPf1b$A*~8#Kh&|zp)x+e3avV1^2rVF2&(S^-3P)ycR`*
zm5I$NLLQ;3BEiYT78N0X1g?vO6Fa33t{b@&q%wB+rgw9#db}R@{(!zHPV{}QM*uHB
zJY`?OJhz7&^7$!y30mSuYrbL)q>$TiDbBwI^pK0Q@ujp5upal<
f$oH?~LzMpxM)pPN{T=vrA8%iAqXVic{ks1FF=L}U
delta 2018
zcmaKsZA?>F7{`0s-qzN7O5I&>7cDJC9M0?7TUttm0tGfe&^XIWMiok5qzLVR8mBB%
z6JJ7HHkt>f3nu%pEXy)oG&lN1_vWW%%RVp578CujPiD#dYO?Iy+jDyhZQ2jb&H4Y%
zxzGRqJonsLM^Dy~+2aqixZSO8w=ZwbJ3N7y5SaD~@s^m|?f0~$yeWUcpNtDhp*1e}
z+wu=P(L48E-qGo&)45^sYrP&B((|!XNe76`#+3Ycz>%8E#&V9v`E26MT=IDOe6o4j
zY%(?GX3|T1NZJ_7EvDahl>9mzjq=_@DyQyNIq{a^0)vYu@S#)59K3EB+p;8nWXaoV
zH)Fl&`DA7(oy|bA{hKX3Jhi_lU$Vo0^^eP!2jNer6`GtUw@6~%xuRoCaxS~~UPUMb
z3$8k-+0PZS`lD&qV6-u^O>pk5gDHLzMZg)Zh2Qz$o)NYNk2d)6ZmxyZV5bI;>G8N8
z@6+IB?3F07@8GY9kKmz(AX%Ekd_z0-aNAgfO^7idZi;2_VeBP(H`T*%@4zk?ar5->
z
zg~@^|R&UTySJTAR7&DWb=zo+#0ERG%Swn(DLgZObi`fhVC|
z5bUpo^S%%xHwV7+y=f`w%A#z;>W}CqYMUT0)Nc=GvvbKhTblBkyR&8JKE)W?JM5vvV7M
z@bTpZZUmyV8@DU=|D0^&jkZWtYFVblwqtb@+$@>7)7&2NZ|AnNT5Q3?cn3a0OxFj;
znX{y@v*HKA2r4#Gx5?pM>hOW;usFWwNCFS3{-{J(8o5mLpQ!#=)hi^_&T0YqI1Be4
ziK+`r-$Vw^w67a!Twv=c>t++Y44L4s4y((iOJ))@*Jl-DyF>y}_?n#)@>d%r-)kWe
zTMzyCUjreuletLVeh~&j-^Z1vYd1ymH?{O!wN#Ac60!U*)nBN31UQ;50}Lb(R6ON0Y=$=9n3IaQ=W
z+GN0R2P^fFcpznz&e_MkU!hge-}j*wt-<}bPup%_p6ekSdbvLG{}#@Jr~eVk!$18|
z<4smaiuxRm4e+n5DYpYTc3oaygZzMCRGxns7^VCduy3%NK7R?>LEd)5g@#Ki7Bv3@
DO}?fM
diff --git a/descriptors/W/W/VuUIL017QJptZ8nk+oCQ b/descriptors/W/W/VuUIL017QJptZ8nk+oCQ
index 00c9bdefa1b1779c9b557780c550e7a2749dd301..c59bc0b1454b352d7681cd494fe065c5abc3c7b8 100644
GIT binary patch
delta 19
acmaE#`aYG*(9FWr(A3P(!eArUQzHOJ?gowk
delta 19
acmaE#`aYG*(9FWbz`)$Vz;q+mQzHOJmIj0X
diff --git a/descriptors/X/K/dIL95Dr61miaEd3wrNUQ b/descriptors/X/K/dIL95Dr61miaEd3wrNUQ
index 1667c10a3c756ffcee93f22a56b4069341298e9a..26c0c2397ba0babf16ab3d9432769fc670c588ae 100644
GIT binary patch
delta 171
zcmaEF-E6~UXl7w*XliC?VK9+vqC$#MVseU!Nvf%ld18uDs8K-Zy6Deav7TzUl$^ihoygB{=
delta 153
zcmZp+d2h{SXl7wzU|?=wU^Y0x|Z=QXJ?!|IgllK^GXqEMyT-Qhpgh8pNh(H002nPGm-!R
diff --git a/descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ b/descriptors/X/K/rcP7Yr7J6y6gKxcrtYjQ
index 1e2a362a97baaeb80fc9df4d3edab3a5c9f98c1e..413671c6e952b51dc85c5450eeda2190249f5a88 100644
GIT binary patch
delta 19
acmew$|3RM1(9FWr(A3P(!eArUGkyR*r3K;u
delta 19
acmew$|3RM1(9FWbz`)$Vz;q+mGkyR*O$FEh
diff --git a/descriptors/X/P/6FuSnMkagyPUTmQNikpA b/descriptors/X/P/6FuSnMkagyPUTmQNikpA
index b8bbfa66b22770ad7ca2aaf8f2902e2ce9bf36f9..cfd0d547af3a55764c102a33f9d8fbc26dd70296 100644
GIT binary patch
delta 19
acmdm4y0eta(9FWr(A3P(!eArUdMf}z5(X3i
delta 19
acmdm4y0eta(9FWbz`)$Vz;q+mdMf}yx&{gW
diff --git a/descriptors/Y/H/ePCrZ0GYbMW9q694m-BA b/descriptors/Y/H/ePCrZ0GYbMW9q694m-BA
index 6db4f91a4d31f6c5d607c82bfeba2ad76149c6be..fa62a184988e8a4bdefe3f78c2bdf4cf507a6126 100644
GIT binary patch
delta 19
acmX?Ja=e7g(9FWr(A3P(!eAqptrY-61O>bR
delta 19
acmX?Ja=e7g(9FWbz`)$Vz;q**trY-5tOc?F
diff --git a/descriptors/Y/J/-UeysKWW9IRX0jdHGODw b/descriptors/Y/J/-UeysKWW9IRX0jdHGODw
index d2115a5f89425c7ad2412058d15256f95c4425d3..72a41a5585fc7f3d2640928cdc384d0a3a09c6bc 100644
GIT binary patch
delta 19
acmX>sepsB#(9FWr(A3P(!eArUPHq4;;{`_m
delta 19
acmX>sepsB#(9FWbz`)$Vz;q+mPHq4;iv>LZ
diff --git a/descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA b/descriptors/Z/C/CRBlXw6s4VbcKgA+wbGA
index 9e01de515bdaa4acea44abc3404a96fef071aa67..5ae23c1cc2e9bcbd8a11c383ec00ef68129ac2e6 100644
GIT binary patch
delta 19
acmX>lbV`WJ(9FWr(A3P(!eAqp11A7BK?KkM
delta 19
acmX>lbV`WJ(9FWbz`)$Vz;q**11A7A=>*0A
diff --git a/descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg b/descriptors/Z/C/F+uoZ4eMh0rvFVtWvHQg
index a8d0825e5408c7724226bc17fda37e54515a409f..3a7160879cc460b3257d130961903e99d80587be 100644
GIT binary patch
delta 1557
zcmZ`&U2NM_6wY+d3aC^{MmMWUh6;HG_(-4}~RbNdRh;aDM`%}4X0V0buR2#QiJ
zm(NAB;^wD8icfy@#~BJO!@BtdS^qJAgO=4VEu59S{<2>%cZxilEXsMQJTEGWRF+vT
z3m@WSkQ0T(Gm^3};Nw{%Uex1k6JCo6?u*0G_K6_3BiXp%zRSp=F=wypa%RmBEsILI
zxGE$n#WhJi)9E%p$gL>Hq;h6ufoIiE9%ihLx+Hf@$~~w4)cd1(`ab7!wWSzYYJn<5
zRajaP6_(Sof!8DS$W^_n>0(6@<(xFY$&!y9A_7?R@VzZ;rCMXPSo@H5%IJ4Vq_uAEQX=j{xB>JMP5K+@pGyKY+8yyFAaJ)nBxKiQ4PYs@8Eb&?c2O-kM6i
z!FM43?qM=mW21c<#DJ}SLv7Ns1nIy~d!><$9H>;)3xQk6X046W?FTv11J^?x>KDNb
zLISi$_EOxkIvXz9C?rDPxF4>?c?xCKzVQ(Xoq~&rZg@5k)uTCmeFSWiArh664BVV*
zSM!r)gifj7JwAZYC4zQC_f*J;vW@5iBVyE>Q@?7$_@REdJsq^TD7gxO89zLg>_mTR
z`OFk4g&=ep4?3{lgn0)ROgLb|LsmmTdZ-C1|0AF*6_`k}w6X)QmXdvlBzkTCRkRA8
zbT_Qe@~A^E^z&IiTGKI0D$~Fmu#tKcoz(Gu6VN
zd+VA?L(|$}Lt|H%812MkUPOUss;jHD)tXSBCizK-k$`R!dt4Uz#L^O;u;7FRKV~A;
zZMICQmV<%P{I=~ZQJlqt*bZ-}XxKgHL?deaP#U2vIDL4=wT%U4nx^m!lO*eYd>#%Q
zWa0MVSJ8QR`A7!61HT**I=5=Arzxw6d4o2SE4P5ngdeEKit=15bTR!|Ql*7~Ce2A2NRzEQ
zVXM7x;15OUX7^G$hQhoMLD|UysE{5q$2(#MgLU*(d1M1eUDi-h
zH!3eVxU3$m?h!9oujm|-I4NNze_5u7^UHkkV!l)qAGJ7iM?CqW;H@e!SDI%iITt&g
zbs6x%J~7hvt8S27{DgQy>3p2e3X(jHl|(+bB$t3WeAFRvvV~Ggpy=gNrd;5Y`PX=}
z333$cQ^qJKUKCQrMczXbR371_dek1cO)=cl>FJUnl$ND)>Kn)s?+ASFc8b>Hzv=%|
zjy?CwijihLk4{Ld|L40}q<0Y+DLPZr7T)(dtc858NVFCdpTVczlOB~pu~ct&--uai
z&3fq6lVpQ$xM9GU&)tCKeD~pwp$m2lJ~-zyA`d(^&{i+yr|5k(Am`&?*I#*|UN*^Q
zRPC9v?y9|Nva9}*dGap-6{e?Se{vmT9~3*-J=A29{3E)0-bV1t^fCA{@J#iu_)Q>h
zG9FUQ3LC?Icx9Ne9IiLJxG@~kqIIy1I^n^|emRQE-{)X;lp|3k?1H5+tGGM5g3!7c
zJ?%kAB&ZYCpXZe5XEkaYt70y3X{;g7}P1>9fqiSq<*i;2vohA=;W7
z{Ew%c-SRQ`xJ_Ry7YcY(k5B3G2@QF}wWkh}Jn`-Hd!`M-*uXw)hUQ5-T#Gf6C9&~N
z@v|9Xl5O~XcEWZOv#zjRizi$W@{QsxxR7jxALABy>Fias1%I5KLm$9Uf^FTd3T@XK
qG_D(V9T~k1tBK&DTKq}k9QqKf$td7tGh~zPwwqljxUVk`YW@ZC;vR(n
diff --git a/descriptors/Z/R/OUsJ+j-nqt5LtwbqJiaQ b/descriptors/Z/R/OUsJ+j-nqt5LtwbqJiaQ
index 912b627ad52a308c65c37e0b080a9e90d9607e43..92485d9523a85650736134f36394204dfa387230 100644
GIT binary patch
delta 19
acmaDS^iGJ&(9FWr(A3P(!eAp;3MT+NnFTxm
delta 19
acmaDS^iGJ&(9FWbz`)$Vz;q*53MT+NK?O1Z
diff --git a/descriptors/Z/T/SVOJOBr-M5MAP66POlfw b/descriptors/Z/T/SVOJOBr-M5MAP66POlfw
index cb8179c1411991e3308748f3aa83e207a0dd34fd..5c5dbc08ea308d65ba954912b7966002f54d985c 100644
GIT binary patch
delta 19
acmeyQ@JWHo(9FWr(A3P(!eAp;h5!IQ6a{Ml
delta 19
acmeyQ@JWHo(9FWbz`)$Vz;q*5h5!IPyaizZ
diff --git a/descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg b/descriptors/Z/Y/O1XoiKM2Zbo-sweIM8Xg
index d063f99dba8039e2201a772324bcb8de2262373e..1adff2bbbf0909ffab68e0e17b34fe886b492d95 100644
GIT binary patch
delta 2800
zcma)8UrbY19PVjpErlMe6iP2@FK}1dQc4T7P(c2RqVmVWR7BC+a%(%vpWGH!CrsQj
z9yA)+Z^=w__+Wf+F3a3~FqwNZdsw!(zh+ss#69d`S+Zqh%bpgubK6^JOSgHGHofP5
zzu*17?|kQ+e)=|g?;WIZd79lWx5w4&T-Cg8@;5sJo<_gRRqypWy<8(VS?^^%L6&ni
zHcvLWS0A|0t<_(C2i9GzWn=7#!@dDF#)spr!gpv~RhvJ@hZoowN3%T7o~3hKOk{pK
zJj2cexF|HLS)&NqLo?CYc|O3kYVz}$SSTE=ZI8fB3lq1~%vn2av7}mUG#O`RgF%9!YiK5Zk~Y)Mcra+C
z+i1ogVFOdcv*DST)lR2GwX_VJ>g^isvbMroj!NMp%7}#Z@;-$sNl|DrndH)MXfio(
ztyC!0L_y+$74yV4=>~o@UsW^g0>`swIN{am5Q6pcW_Vgs0zK9`xM{5szOfF<6+BIY
z-EQuyA%^(*aVEkAV{|QDe^TU|HsHz_$haZM)KlSsokMzNf!J%YSVUzhL!icCRkUg}
zaMV#(M$B5sDfz0S&Ru7-Y4T|s-8n<7iOz9>Sa^1Z9uCcou+!Wy%aiXI#~)!M^IZSN
zbGTPd312!sP#`m0u74lCZ7{;Ih6@mH+y#F&yaEQd5mp;lkPYs+%fRVgh9Qp;K6bAl
zM`9%8DM51KWzW|LImLlu&1Pn(PW=vCQmKK7HZMH%+JqZz288$J;oaDT_vhjMJX`?}
z+NZE=LUzi>`gbM`uh=jgFH55CZ!y{kMF+}F7ji#OnG8?+?WUBWSv@4oVgi#g
zFE?gM#FXUB9XviTth_`#xg^*Q79dNSDVs{gHLpgsSrIcR1MD1?*tEyowOt(W`mPXtSDtMlk@^jp
za$RBiIh9&pDw)9y6~3MDiLa;^GSi_m{m)^x5wYy_{5{}AZwk)AXy&H(?ogk+Xk+iK
z6c3n6Q22&**Rx*Cz+)w&O16h9KGSaM4RTgg;k8U0z9vD|eRr(auvu5s6JeuKx|{ro
z;=?a-d?sAV06ZM2KA-G&I}@POxSAYJm!sZU@5-U=x@4MoMBPa6$>yy+ek?q5hVGh=
zg=YEa))wScOBNPoRYH8ULfYTgMk_5zc6YMa6^Oj(k?C-RJ1YtQX_W3wg70R5HC=OT
WAjH+yJDgj2;I+!X@aCl1W&Z$NjB-H$
delta 2753
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