From 468fc17e1d809e785fec76dcc10bc00a354e3d32 Mon Sep 17 00:00:00 2001 From: penguinn <michellewerth@hotmail.com> Date: Mon, 16 Sep 2019 15:36:26 +0200 Subject: [PATCH] Add N-Bishops --- Apples_and_Oranges.ipynb | 22 +- N-Bishops.ipynb | 303 +++++++++++++++++++++++++ ProB_Jupyter_Notebook_Overview.ipynb | 2 +- images/ChessPieces/Chess_bdd45.gif | Bin 0 -> 1130 bytes images/ChessPieces/Chess_bdl45.gif | Bin 0 -> 1114 bytes images/ChessPieces/Chess_bld45.gif | Bin 0 -> 1267 bytes images/ChessPieces/Chess_bll45.gif | Bin 0 -> 1256 bytes images/ChessPieces/Chess_emptyXg45.gif | Bin 0 -> 120 bytes images/ChessPieces/Chess_emptyd45.gif | Bin 0 -> 878 bytes images/ChessPieces/Chess_emptyg45.gif | Bin 0 -> 78 bytes images/ChessPieces/Chess_emptyl45.gif | Bin 0 -> 878 bytes images/ChessPieces/Chess_kdd45.gif | Bin 0 -> 1348 bytes images/ChessPieces/Chess_kdl45.gif | Bin 0 -> 1343 bytes images/ChessPieces/Chess_kld45.gif | Bin 0 -> 1332 bytes images/ChessPieces/Chess_kll45.gif | Bin 0 -> 1341 bytes images/ChessPieces/Chess_krd45.gif | Bin 0 -> 623 bytes images/ChessPieces/Chess_krl45.gif | Bin 0 -> 624 bytes images/ChessPieces/Chess_krt45.gif | Bin 0 -> 1210 bytes images/ChessPieces/Chess_ndd45.gif | Bin 0 -> 1199 bytes images/ChessPieces/Chess_ndl45.gif | Bin 0 -> 1201 bytes images/ChessPieces/Chess_nld45.gif | Bin 0 -> 1269 bytes images/ChessPieces/Chess_nll45.gif | Bin 0 -> 1271 bytes images/ChessPieces/Chess_pdd45.gif | Bin 0 -> 1027 bytes images/ChessPieces/Chess_pdl45.gif | Bin 0 -> 1030 bytes images/ChessPieces/Chess_pld45.gif | Bin 0 -> 1132 bytes images/ChessPieces/Chess_pll45.gif | Bin 0 -> 1126 bytes images/ChessPieces/Chess_qdd45.gif | Bin 0 -> 1402 bytes images/ChessPieces/Chess_qdl45.gif | Bin 0 -> 1402 bytes images/ChessPieces/Chess_qgg45.gif | Bin 0 -> 1612 bytes images/ChessPieces/Chess_qgt45.gif | Bin 0 -> 1285 bytes images/ChessPieces/Chess_qld45.gif | Bin 0 -> 1508 bytes images/ChessPieces/Chess_qll45.gif | Bin 0 -> 1492 bytes images/ChessPieces/Chess_qrg45.gif | Bin 0 -> 1626 bytes images/ChessPieces/Chess_qrt45.gif | Bin 0 -> 1289 bytes images/ChessPieces/Chess_qyt45.gif | Bin 0 -> 1391 bytes images/ChessPieces/Chess_rdd45.gif | Bin 0 -> 1053 bytes images/ChessPieces/Chess_rdl45.gif | Bin 0 -> 1054 bytes images/ChessPieces/Chess_rld45.gif | Bin 0 -> 1115 bytes images/ChessPieces/Chess_rll45.gif | Bin 0 -> 1118 bytes images/ChessPieces/Licence.txt | 26 +++ 40 files changed, 348 insertions(+), 5 deletions(-) create mode 100644 N-Bishops.ipynb create mode 100644 images/ChessPieces/Chess_bdd45.gif create mode 100644 images/ChessPieces/Chess_bdl45.gif create mode 100644 images/ChessPieces/Chess_bld45.gif create mode 100644 images/ChessPieces/Chess_bll45.gif create mode 100644 images/ChessPieces/Chess_emptyXg45.gif create mode 100644 images/ChessPieces/Chess_emptyd45.gif create mode 100644 images/ChessPieces/Chess_emptyg45.gif create mode 100644 images/ChessPieces/Chess_emptyl45.gif create mode 100644 images/ChessPieces/Chess_kdd45.gif create mode 100644 images/ChessPieces/Chess_kdl45.gif create mode 100644 images/ChessPieces/Chess_kld45.gif create mode 100644 images/ChessPieces/Chess_kll45.gif create mode 100644 images/ChessPieces/Chess_krd45.gif create mode 100644 images/ChessPieces/Chess_krl45.gif create mode 100644 images/ChessPieces/Chess_krt45.gif create mode 100644 images/ChessPieces/Chess_ndd45.gif create mode 100644 images/ChessPieces/Chess_ndl45.gif create mode 100644 images/ChessPieces/Chess_nld45.gif create mode 100644 images/ChessPieces/Chess_nll45.gif create mode 100644 images/ChessPieces/Chess_pdd45.gif create mode 100644 images/ChessPieces/Chess_pdl45.gif create mode 100644 images/ChessPieces/Chess_pld45.gif create mode 100644 images/ChessPieces/Chess_pll45.gif create mode 100644 images/ChessPieces/Chess_qdd45.gif create mode 100644 images/ChessPieces/Chess_qdl45.gif create mode 100644 images/ChessPieces/Chess_qgg45.gif create mode 100644 images/ChessPieces/Chess_qgt45.gif create mode 100644 images/ChessPieces/Chess_qld45.gif create mode 100644 images/ChessPieces/Chess_qll45.gif create mode 100644 images/ChessPieces/Chess_qrg45.gif create mode 100644 images/ChessPieces/Chess_qrt45.gif create mode 100644 images/ChessPieces/Chess_qyt45.gif create mode 100644 images/ChessPieces/Chess_rdd45.gif create mode 100644 images/ChessPieces/Chess_rdl45.gif create mode 100644 images/ChessPieces/Chess_rld45.gif create mode 100644 images/ChessPieces/Chess_rll45.gif create mode 100644 images/ChessPieces/Licence.txt diff --git a/Apples_and_Oranges.ipynb b/Apples_and_Oranges.ipynb index 0a60d46..ec626b6 100644 --- a/Apples_and_Oranges.ipynb +++ b/Apples_and_Oranges.ipynb @@ -266,11 +266,25 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## Argumentation Theory\n", + "\n", + "\n", + "\n", + "Below we try to model some concepts of argumentation theory in B. The examples try to show that classical (monotonic) logic with set theory can be used to model some aspects of argumentation theory quite naturally, and that ProB can solve and visualise some problems in argumentation theory. Alternative solutions are encoding arguments as normal logic programs (with non-monotonic negation) and using answer set solvers for problem solving.\n", + "\n", + "The following model was inspired by a talk given by Claudia Schulz.\n", + "\n", + "The model below represents the labelling of the arguments as a total function from arguments to its status, which can either be in (the argument is accepted), out (the argument is rejected), or undec (the argument is undecided). The relation between the arguments is given in the binary attacks relation.\n", + "\n", + "In case you are new to B, you probably need to know the following operators to understand the specification below (we als have a summary page about the B syntax in our handbook):\n", + "\n", + "* `x : S` specifies that x is an element of S\n", + "* `a|→b` represents the pair (a,b); note that a relation and function in B is a set of pairs.\n", + "* " + ] } ], "metadata": { diff --git a/N-Bishops.ipynb b/N-Bishops.ipynb new file mode 100644 index 0000000..fd2c351 --- /dev/null +++ b/N-Bishops.ipynb @@ -0,0 +1,303 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# N-Bishops Puzzle\n", + "\n", + "\n", + "This puzzle is a variation of the N-Queens puzzle. You can find the N-Queens puzzle in our modeling examples as well. In this puzzle we try to place as many bishops as possible on a n by n chess board. In contrast to the N-Queens puzzle, one can place more than one bishop per row. As such, we can now longer represent the positions of the bishops as an total function `1..n >-> 1..n`. \n", + "\n", + "There are two encodings shown below. The first and following represents the bishops as a subset of the Cartesian product `(1..n)*(1..n)`, i.e., a set of positions (aka a binary relation on `1..n`).\n", + "\n", + "First of all we have to load the machine, if you are struggeling with any operation of our jupyter kernel, try out `:help` or take a look at our `ProB Jupyter Noteboook Overview`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Loaded machine: NBishopsSets" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "::load\n", + "MACHINE NBishopsSets\n", + "CONSTANTS n, nbishops, hasbishop\n", + "PROPERTIES\n", + " n=8 &\n", + " hasbishop <: (1..n)*(1..n) &\n", + " !(i,j).(i:1..n & j:1..n\n", + " =>\n", + " ( (i,j): hasbishop\n", + " =>\n", + " (!k.(k:(i+1)..n =>\n", + " (k,j+k-i) /: hasbishop &\n", + " (k,j-k+i) /: hasbishop\n", + " ))\n", + " ))\n", + " & nbishops = card(hasbishop)\n", + " & nbishops >13\n", + "END" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One can try and find the maximum number of bishops by gradually\n", + "increasing the lower limit for nbishops in the last line of the model\n", + "before the final END. The maximum number of bishops that can be placed\n", + "is 2*n - 2; see [here](http://mathworld.wolfram.com/BishopsProblem.html).\n", + "\n", + "To show this graphically, we will now include the ANIMATION_FUNCTION for this example. The ANIMATION_FUNCTION has to be declared in the `DEFINITIONS` section as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Loaded machine: NBishopsSets" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "::load\n", + "MACHINE NBishopsSets\n", + "DEFINITIONS\n", + " BWOFFSET(x,y) == (x+y) mod 2;\n", + " ANIMATION_FUNCTION_DEFAULT == ( {r,c,i|r:1..n & c:1..n & i=(r+c) mod 2 } );\n", + " ANIMATION_FUNCTION == {r,c,i|(r,c):hasbishop & i= 2+BWOFFSET(r,c)} ;\n", + " ANIMATION_IMG0 == \"images/ChessPieces/Chess_emptyl45.gif\";\n", + " ANIMATION_IMG1 == \"images/ChessPieces/Chess_emptyd45.gif\";\n", + " ANIMATION_IMG2 == \"images/ChessPieces/Chess_bll45.gif\";\n", + " ANIMATION_IMG3 == \"images/ChessPieces/Chess_bld45.gif\";\n", + " SET_PREF_TK_CUSTOM_STATE_VIEW_PADDING == 1;\n", + "CONSTANTS n, nbishops, hasbishop\n", + "PROPERTIES\n", + " n=8 &\n", + " hasbishop <: (1..n)*(1..n) &\n", + " !(i,j).(i:1..n & j:1..n\n", + " =>\n", + " ( (i,j): hasbishop\n", + " =>\n", + " (!k.(k:(i+1)..n =>\n", + " (k,j+k-i) /: hasbishop &\n", + " (k,j-k+i) /: hasbishop\n", + " ))\n", + " ))\n", + " & nbishops = card(hasbishop)\n", + " & nbishops >13\n", + "END" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now initialise the machine and run the default setting to take a look at the animation." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Machine constants set up using operation 0: $setup_constants()" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":constants" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Machine initialised using operation 1: $initialise_machine()" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":init" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With the `:show` command from the jupyter kernel you can see the results of the N-Queens problem for yourself.\n", + "\n", + "Please note, that the image paths given in the DEFINITIONS have to be relative to the jupyter notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/markdown": [ + "<table style=\"font-family:monospace\"><tbody>\n", + "<tr>\n", + "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "</tr>\n", + "<tr>\n", + "<td style=\"padding:1px\"><img alt=\"1\" src=\"images/ChessPieces/Chess_emptyd45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"2\" src=\"images/ChessPieces/Chess_bll45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"3\" src=\"images/ChessPieces/Chess_bld45.gif\"/></td>\n", + "<td style=\"padding:1px\"><img alt=\"0\" src=\"images/ChessPieces/Chess_emptyl45.gif\"/></td>\n", + "</tr>\n", + "</tbody></table>" + ], + "text/plain": [ + "<Animation function visualisation>" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + ":show" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For the chess pieces we have used the images available at [this site](https://commons.wikimedia.org/wiki/Category:SVG_chess_pieces). These images are available under the [Creative Commons](https://en.wikipedia.org/wiki/Creative_Commons)\n", + "[Attribution-Share Alike 3.0 Unported license](https://creativecommons.org/licenses/by-sa/3.0/deed.en). The same applies to the screenshots shown here." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "ProB 2", + "language": "prob", + "name": "prob2" + }, + "language_info": { + "codemirror_mode": "prob2_jupyter_repl", + "file_extension": ".prob", + "mimetype": "text/x-prob2-jupyter-repl", + "name": "prob" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/ProB_Jupyter_Notebook_Overview.ipynb b/ProB_Jupyter_Notebook_Overview.ipynb index bb1e4ea..ce36b85 100644 --- a/ProB_Jupyter_Notebook_Overview.ipynb +++ b/ProB_Jupyter_Notebook_Overview.ipynb @@ -6,7 +6,7 @@ "source": [ "# ProB2 Jupyter Notebook Overview\n", "\n", - "In this jupyter notebook we want to give you an overview over the functionalities of the ProB2 Jupyter Notebook.\n", + "In this jupyter notebook, we will give you an extended overview of the functionalities that come with the ProB2 jupyter kernel.\n", "For this purpose, we will take a look at the simple machine `Lift.mch` taken from the [ProB Public Examples](https://www3.hhu.de/stups/downloads/prob/source/)." ] }, diff --git a/images/ChessPieces/Chess_bdd45.gif b/images/ChessPieces/Chess_bdd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..b05bb2a9e0c1acbc4ef61a4e4802835626836e65 GIT binary patch literal 1130 zcmZ?wbhEHb)Me0R_|9PX9|L^H0M~k)(9pRaClu7;bPfp}YjHwGdoe+^(_SRB6%$lj zZbe4LmRpg~+G0y&v^3ii8O_NyL_x`hbCA%KWJ6@s6J>~sG<%{Ds3l4h8C3^qBBSEs zY!sB8U5t#pG>cJ?VzCzr%Jx!3K~9R<NGKT-I4LG0p(sm5R3s5)i9kVy63EEQPy!h_ zX$l}COEjP<V2O+r1uT(}AsSE=FhoL{iUKG|f<qGtDWU-h4n-s+A;5u*1keBnhX4v< z5a2*T92^WNh=G9v2{B**R$V~`1_s5SEQ|~c{}^;Y@}NAy!113!l0(L0!-9j&9Ku>L zCpIiR+%BN(HD^bFlK`iP@voo9FZ#Q6x><CYd=gxwF;T{KYE6aE(o<7;ofoNaPF~m& zp_H7sW@W%>iz)w)Wj?G7aPnTDSuT{S;3yfi;MA0Bdpf^J2F-POu8_*wAbQEtM%Cu& zE76r#`lAAsxEL4Ya=190yrRQak{ivC-*{}*&oA;f_Zb}Rdwc7<&e47U*D$qp3V*!3 z*I=tfot4Rk%O{l<f3jJ4Cc5MN0_XM*%ibIbQl979{msqzjsKa)JoPHgkxOFcWrn=| zH>YjI?7O?}3Y-m_oou#fM%RC4Z<7-j_bqB-u~T$*o1oyf$|q}1ageC;_0{v;C#=12 zLi5on!Sur_ixWS6IhwD2ha-OH@s{_2i^MJUqIG=g5`?_X)^~21@9|wVrA0pFgTp;% Zp$`si@@sWdAGS)Qt$5hR!pg#64FL2=m+t@o literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_bdl45.gif b/images/ChessPieces/Chess_bdl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..cdc9b73e2029bc32e30290aedf54e56ed10dcfac GIT binary patch literal 1114 zcmZ?wbhEHb)Me0R_|9PX9}S$F^B)O)M+3*^d`F-u-;Y7j`(sm((eu4MaCC2L4-#s* zw-te|t!+U@=ayE((Xlzj$Y?Jzm{YtLj;0jvg`urzU`qB@WYm+r6^7RKWW&+YmSki! zr8)|Mile3=p`PL(WYm%!1V`1y#V9D*s~QOv7iS|-lv6PbWk)$7P>@qL5=uq`L6*r# zD9Xzc2^mIt!H|<-6cX~XG(<w0UY1bgWT}aQ3^ko#$PyVCDq12VO+`x>GDHKKiiQXz zVW<g3nu-$0ND&Q42q?mkgoFSJ5)hDpApsP?As_%l92^2jhyw*MaB#p70|N&PF`xqd zkQodN42nNl7#SG;G3bCKL3x6K<39s8hm6OD1qYisgtcN$Y*=`>T|n7u&WQ`GN4r@s z{JGu1mV87_+F9x24}+i+y%RmGOe&3*dbKI|_tl&X2=NFs5qDE8|8#$=h9&=|H=RZr zjxjFPkBp)Yr1_`26h4!2{vz5C?sELXo(Wg9!WNlq{bEzX+;CI6y(+7+^NUL4W`+yj z=6p4JX}`Ygb=lro;Y;t<2mGE?^2_|yX^qy&Otq0ZA5Shdu~gYzws_Oi)8^|`9}ASQ zr=FRy{;fgP*^TEHB>Dc2_MXi9;`-E^Pqr}s-a2>A($M(RCq2H}ueFTj*(!Z<kr$tW z!;S()<*s>=#a~?}ZnUv{-eGOy`#H8^mb?IOb+LK)S*wM|KJK$t`*K<Mu4#$-dSBtE r?7i}Vmy7aC`2R2Y)na{Qp(~fx(gm(Eiw&1PXyP$@kr2Sh$Y2csULVMu literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_bld45.gif b/images/ChessPieces/Chess_bld45.gif new file mode 100644 index 0000000000000000000000000000000000000000..db5698ea45c728587fb7f24785ad3370e7f07a67 GIT binary patch literal 1267 zcmZ?wbhEHb)Me0R_|9PX9~FE@0`FnqITE;s1g^nBkJB|6I)@B;oX$Z|i_<w6ItB+V zPRC$qFEXfh+6zNlkwLZPRtPG#+zLi(kwLNLS{Pc246-ek!q6OKkZm{zf|3pAfYB5< zNH&}TLp{hK%CHBDG<%|;s0A5BX|{k-H8Kd&tcIatWZ<P)3`L5?UQm>c47?PxA;?KF z8;p{Xfs<k~3`HRWOT{Pzl8CYdp&(>nC=mohUdX^u!V89+kb$M869j1rIDwHR0vK9a z!jPtbB?Ku7Si+E@q5uSGA_GMMO$d?@(1amH1dvcv1R)7zAiyC3MgquygF^s{7z8+= zhyw*MaBzST0|N&bF(85LuMrFk42nNl7#SG;G3bC~KzV|J<3EEwhm6OD1qYisgtcN$ zY*=`>T|n7u&W;a<C-I9ItNl7|80gj+{4X}E@a6p}{Q|M3%m<8SX;0w~-Nf=hXxZTj z%HH#~ocwUupznWM;**she0J4u)4Tag{T<K6X8D-EkGCd1V~hJA!&_VR(0NOJLRuHA zaEZ46{Qq?wtqR}VZ!WL9)OGj6`d4Sv|NjyAs}Q8au&XS6n#pg&yr$i&8dg;q86UK_ zwrO7}^jpR7_|c?L-p4=v`|j^AwLkqceR6)p{s#NWsy-V(r!(ZZPTpqObN%)0J!ZFU zKCeHTyI=R8rLOPV@A=aXuH1M|V)2iV&<l%KANtiF#j{TFzvpzn+UIeFXZh}5@Vnr1 z=TlGFzoY+nAAY=i`u5}Ky7#_yHTjz>yFQoIEHf|kul>|-UbICaE?M_P<NP>(T}9D= zmlee#0qb-Eqj)TzY&aqmJYnNWe+SmBoRYygGZJ~8tD3m#J!*Ne$b9;WuZLBC?BtkY zG5^Vh2@M8KACK@mY`buXjs4fLASP)J&L{l-4T+K|T)8UjEcPb?PfU%7tK=*Vj-8Y` zt?17NM^8Cbm4uF$9mb08k2;LcsCU*F`OMB(^)hLumRizr0Zpqf2L;Mh9?6Ech-JN4 M*rDbX;J{!F01ICd@c;k- literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_bll45.gif b/images/ChessPieces/Chess_bll45.gif new file mode 100644 index 0000000000000000000000000000000000000000..fcd6eabb2fbc0cb85aff75df3394d221a0c3964c GIT binary patch literal 1256 zcmZ?wbhEHb)Me0R_|9PX9}S$F^B;!3!@;pR-=S#A_hTUR9uAI8c@IO+k-^@c=U{XX z8Eoyj2SqLSwnEW0I9S_q4TjDkgQeByz~~qp%qczwLwk|IoZ`I@G^Kbi3~faQQ?j>0 zP*3(&Fj@--J=tr)XelyiNnQ#=bCAFkIH-=A0zt)5Q^2SP859Tgz)%YuWCyi?Q8gSS zdsV|wF*1m9Dh8u$IEZq}hM*v)Y%oej20@m|FcgIhyey*-$S}$ajGPRkz$gd?ypVyV zp%)ZsdRan|6AG|&asneuO(zI4)N}$POE@r8w1gu~MN2R;)Kr8cO&Cx_1`-mAP$Zxz z0YVZ8ARr+DMgjs7U?hM7I0OX1h=W4_j5rX0frA5t7?1#a$2A592F0H&j0_C_7<51~ zpgh6A@t=X4L&jsnf`iQ*!dfvWHY_~cE}-l+=fnlJqus3E{@mWdp6sIe--_|&m-n5= z+ZV22jPTUG;@Pel&Xn<UlcL8&72j(q5!sLTM_G#}aeiMPzC7;#p+wFqgDdvQMk%KZ zzMWUS+<5li!HFkD&+ShO=l-(hkSNP_E&G|5e!7Rf+P}i+_@Bj_H#>Q(V@TO^)VpZ; zta_nGyFR_l>ha<Hf8~nLv#!@O4oY(umrh;t%-+7@^Sh(3pU;1~w&Lrdx37LaeR_uB zOxnAc&C?98Z0KdI?R+XPaHFE}Pjr;=>)bmGCCztlD!vX5KQVdtqF-B?gOw&uRZsVO zl4X(AnCQJgtnX#~)g6v1NBN}Q&;RoI#Q&q*vqb(@E^^%7%B*L6XWN3AlYTKy`fDIy z?{ZOe3a{VKCw><1euPYQ)h~5m;xxN)fLW|lW$^?1lPXQD{DO8bVq9EKY&zS@)pnUP zGPJ}=q*FTgGY2Q{({v@7<d8&V0f!S8?&mXjC@}Y#g&DHROwe35!L6<#pjE!d<Ymg_ zxdz`u)cx&Vx{Df3xDx2pAM@gz*}EgkX*S=kemWu7e?{s3jE^-l7c@nyxwt4~?f5W> VJBuYKHlpU+%jfeOj6?+(tN}?YK2HDu literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_emptyXg45.gif b/images/ChessPieces/Chess_emptyXg45.gif new file mode 100644 index 0000000000000000000000000000000000000000..3da0f39e28bbe7e32bdf8bc7867d963fcb1fbd75 GIT binary patch literal 120 zcmZ?wbhEHb)Me0R_`qP8IwymHfkB6Xfq?-e!oU>X(!cWbTmHp!w%qF8d~eTh{<cRR z)1FzfHZJaawQJ9kITwt3wk*&4pq6`kZ_NrtFGm}x{=JIpIK1x_oxg4TVinU8dA;e) bwk_88*G}v7TYde_w%@${r=QPeVz34PA*nTI literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_emptyd45.gif b/images/ChessPieces/Chess_emptyd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..fc51105a88b05dccfa99c13b758484d3fb6d10b5 GIT binary patch literal 878 zcmZ?wbhEHb)Me0R_|9PX|NsAMJx-%&Gz3Ok2yA}T!@$6x_>+Z^f#Dy64g&)N11L{0 zaCkE?bI5pXSa7hJLs%>3#D;~3+Xa-p=6GyebhKN-IP1=djf;=>D>!$_cy3y9a<WG7 ks+g0TmY$w&kbG*6=jLT+XIm7%x^r^#^7HdKnVA@@0p}mi#Q*>R literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_emptyg45.gif b/images/ChessPieces/Chess_emptyg45.gif new file mode 100644 index 0000000000000000000000000000000000000000..bf86c6255b568b8efcb9125d1af4e3e9f7b41b59 GIT binary patch literal 78 zcmZ?wbhEHb)Me0R_`qP8IwymHfkB6Xfq?-e!oZ~4(!cWbTmHp!w%qF8d~eTh{<cRR i)1GxMdv$8tJMQD3e6D}%eg5m*_ka96T<yI~4AuZUsv)ZY literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_emptyl45.gif b/images/ChessPieces/Chess_emptyl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..3e169e90e4f3e4d49b97aa71bb25a3ba898e197a GIT binary patch literal 878 zcmZ?wbhEHb)Me0R_|9PX|NsC0=jM!}(GVDEA#kEei-Cbb@h1x-1H(TC9R>yl22h@0 z;P7T(=8*B&u;5@bhp<-6i46-6w+kqH&GFc{=xDcuan_v^8y6q%S8(o<@!YiJ<YbND lRWT<wEj>NmAo<iB&&|uu&bBCib?4;f<>%*fGBYt)0|48vkk|kK literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_kdd45.gif b/images/ChessPieces/Chess_kdd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bd6ad3c88ba95f13605617c6be959df370a31e7 GIT binary patch literal 1348 zcmZ?wbhEHb)Me0R_|9PX9|?Sif%h=*90u;ez%@ANak>UZ=is0x=o|<+o$CRk7N>J9 zPRHP&C+HXiwKyFEqrGrY?X(w!EcaG}&{hOkyLBrV6<cmCwp<Gb)j?}P$ZKsi7!_Nt z1*4^KQ0%l6g0d}_LXqLpY{NNlkZm{zf|3pAfYB5L=$SGFjFJtffKd+|L}~VbQ41VY zSGRysH5>$KR)bM790VB_Ly(tZF&JgTftO-71UV^YgHbXZI4LHBQ4}0lN<@KC5FB`U z1$lV|St`PiM3ALKkRcR#A%K&Y7Z^D?d4Z6nmlGIS8hSyIqL-zjmmvg6co~9_6C7At zI$2se87e}Nri2p+2{>tjkR<{bT3Q-fYDz$nqJX8MfFS~C8XAI;qJSY7X(E84rY0Ck z2xx*3ho%GwDZ+sShav<Ca43S21Of<1NPv(49B^<5fDs1*FmP~y5d#AU0|E$&yE8B_ zDE?$&WMKHmpaYTs<p~Ck{|xFJG9DWi9Bk$g)`~f?Vd3F+0cEc_9vdGW=G|Zxv1G-Q z`ICADABx=mmLF|sp&;9(k|~tx)h=tluSTMHnX_2mKg*=V;)UE5|C<gKUle}GHp#I$ z?{dVJ1yhy;EZuWQfi-Mf?(PQ$f0<2R&gYaqVIj3soBw>f<F?AGNlHhjxmv{*y#4i_ z|9Wvv(UKDv(`G3zvzu+oP;j8BmAU2WoMu<^7h7Z)7)&-8NI3K*H3)CADmWl~CDUK& zbEZsN!R+FI+a76K1Gt`K_MTt5f#>TSR)$2W|DRJLSEVudm#~M<ReG7b<B)T7PzF~+ z`osS}82+>W-1)(k!AJ86FHhBlOA~Ha{Quu>JJl(S;Yh!HPU4^a>g+O_Dw7vC{=RT< zum54)%Nbg??yX!lui&{!0YmoMmD8HbZzwLGoqJC3sDR9>$P2Ln2ey1<N$n6cyD6L- zBQZt2Bk+>EbIOE{Xg*oF35SIJTLjs9G`Gw+tTe%t!AC%FrvYygyG`QUg6vWWH#gy* z2?sMg=RW3?ui0{uZOXg_(?sMoZv+Oq|M$6kEN5b?W?G8o7tt%7f|?Ic<}ySGu*o0r zNq%a1nc=XzL{8KOj#&af6>es}`&;ZM-TZOG(hkYIjD!^S8i}N!%O5;1=jj;zO6oD* zl)5;5lGPHGM5n&+l-YJ6QyiIn*rY_{O;Qp9BRp6YckxQjj8q9Xyde6yy~TIqf)<gK V35u;k>87b~Hl9$+&T(L{1^{mz7&ZU^ literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_kdl45.gif b/images/ChessPieces/Chess_kdl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..6feb427b24f36f5700f2c1810ebba9123dc27a30 GIT binary patch literal 1343 zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;>Z-y!JOobMns<@+%ZdJhN3=DdfZDesR> zdA}Emp2NZ3p63v>wdeWPo_lbxwdWobwcOhZLf7D6ZOgT_E$851ZO=IfTH10BimJ~o z1)*bbu(ahE1kI^F21a|~VC&YsTet3=Qw&8@iuZ!iRydeaycLSFw@v|}wQ$gry%vm? z!a+;&QZSkW2h~w?z-S5_R7Xt#qaHZO4(b7;76hnnX#u0`s1_&+YRLwnYB)&tss^KC z7|4c$D5q>NN``|Vr(`IyOb)V4_JX1)IPkKJ0;3=V@Cpj@3i5&@rywr~vJCRF403`X z!yqRR@<IS7FE221GW3EVOG7V9Lnj2VbaDbCOG_sZGIX*8BSTFmFtUULO+`yEGK2$7 zO+ye;G}MG32}4Z@O*l}L&;%nz7?6Mi0RagCB*4KT07e`Lz`(%)LJTl)^W$;`1_s5S zEQ|~c{}^;Y!k|3C!114flS9U1!-9j&9Ku>LCpIiR+%BN(HOFJ)BWK>lCJ{>_p2Sb= z6})b-_*?(1&87;nT`HMEsb1}}_WNoiikCU_&iz+<DI-{stMq@<D(8#FiYFI1t`xPs z!LstQn(^k6MQ*uMyqU`9DD74LaQaIA!FLS}63sGtCLR+OFskMYcdd!~uj=*1|E{v0 z#|{ZD^^=J`8LA8(GYp-Z9@xEdJNj2$Uq+mP!RrhMPlNY{wtXrd2cDY9NS){xyDXT) zp%LUf(Ovh<CyP5tr5;+=q2|mCbC3Qn2yL5HAi`j>qj`~A(-yN85B}SI_gyjD_>=qo z|F&gvG9nG3T&3>LawT7qo$vgQ{D1tOG{cV%jp;4^dWn+{>Bo4j`Oh<_+Tym2*sn=v zWxxJ>@M?-eV-~k*qm=la$a0y6t!s_MoU<309WHZpP3DlAEU7jlB}2j~F<^(pG_N|o zTERuRF&P?-Q5hE;*`+d8o?zAJpDN(PBY4!IH&JMTV{AcsrpIv&QJ<8<JPQ?<^6B;4 zBy}kIK1zxT=vO!>>h9Q@?2$8}^rdQw#~aZpKEk4n-nk5C9F8krY)PJF_0Z)rhit|< z2CkVxHw7XyUtdl2NH7ZtInpkcq@j=^RPaJE=-~s&K=&O>IyAcV4t2Ej%(3LUII-!c zMBIc-wx~c(&u^ZpLatF?SS^?Rb3P|-yjSKaPtmzMj#q+M8UkE|<7+Ou2=YJDdb8n( Kn02rNgEaul1yFnd literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_kld45.gif b/images/ChessPieces/Chess_kld45.gif new file mode 100644 index 0000000000000000000000000000000000000000..5cf3e77b783bce66e18b1f7f25f4c20868622669 GIT binary patch literal 1332 zcmZ?wbhEHb)Me0R_|9PX9~FFuf%iz@ISkx`fosU1$LSgjor8lOr*jb0;&cv-jv<2< zr(-a*7Y?eO_QKFsIH<PV3PHt|Tft~8GAOoO3r0)fAlq;$49$UqY{NMalx#Q$hNd8c zWWy<7)B^`mnmsVof()WGTOcS%vjvQ*gES$i7!JHNi=jxd*b9oXk%5<DHXJ!AW`j{O zGH_B%2BRoAu#|`bqaZl2ln8<#Lx~_5@<IlN5?)~B1P7LuP7tIi;RHnjPMRQOi3~Ia zEFnlyz!HWGQGlkQAs8tN7=n=|94HECLXd=jCKPdKN`R0e0!Sz-!jJ@qA_NI=D8i5g z0tiS*fRTWJ1Qc;d2!N0P3g8eB03!|#0Wjh~00s^YFk)cf03!xepabH9@&W_Le+FF+ z8IKJM4mNWLYsH+{u<&rZfU?&dkByHG^Ubr0SaRZt{N!H2-8$Oe*WcNsry#qobL*S? zn<BD<?B4tceCE?{CcEpym-Cam=Wu6F$O+xV7SJL)q3|+;1G9OGRKM7p9n1|^Wi5is zUOeKwxhc4?F6zPO^Q&&w*XZQrZsCd4v2&CEmvPc}vRdN*e{)wkURx8orT0@&_R`Mq zdv1Zv`yPi~eZy>ir|Mtz1B>_eHa=&S4t!o8k+j51@W<6Pn)yPT^Zs$3wvjr(wU>M4 zwr{JS%A2p||F>1h_IB3WSsea%-{o#IlVdov<D(j1!)*1|ry_>trz0=!7rneTD~j!J z#kXhwO=|zMZ-`CQiF>@!?A*JUhqLO}%-nx$-rwzq_};hF&Yy2vuG1##X)arTMls-w zb)oJTInC2Mm$AyNRZ*W|u=c@1*4i}7ul|DkrHQxsv?J7Ks8u|8*e0!-B@`Lgl@K0n zY3~xkY}E8{qg<i&gN=*g=HGqN7SFL}f{Rd8hT#(~-eqF$uCi-CG>9#YR9iY_R>sEz z*#|tY2nMctII)F|UqL~Qi9cfki(JLaX;)q3iWa*zvt|iOddbA5U*+O=J8^d2oq!C* z+6bec{bEYD+!l3eJX*LYwd+Rs@?5jD>5sc2PtBNa;CaAOn#ps?%m*&fTbIn9uH6v1 wY=XeE(x86PzX#lP-up;q-n7m?sxdXn$Kax?_|8pLuh$=7(|+T|$jD#~0AG?6-T(jq literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_kll45.gif b/images/ChessPieces/Chess_kll45.gif new file mode 100644 index 0000000000000000000000000000000000000000..6a9c9b727cb2e738e823dddfbbeb725d82c63039 GIT binary patch literal 1341 zcmZ?wbhEHb)Me0R_|9PX9}S$F^B;!3!@;pR-=S#A_hTUR9uAI8c@IH*r@RNF=WwvM z=Q#vz?RgGE_mIKXo_kQ#a&Idbt!=pnM%UnAZOb(<I)@CFR-c2RW5{4m^)WEoiwx!z z?}eZ##d~3BD;!KI-U>z8Tc?1~+MaAUT8a#MvX??oOY%}Mnga*bQFFj(3NomUngT;T zaF89;14b=ykR8+lM%Bn5*{d3iis2y2sThp1;ULN>8-|jRL6BuK1bJB|gHaS5cv(il zP!JqA83uuo7c#Ik^a3L%I55<7f+0%;FtoG;BSS??2+~xv1S3N@&{Q;pA_+rH5YmJL zMF~wXQbYj~ii#j4fdB#$5?~}CAOS`KD1bvi0E{>|1i**`0T?(qz=(l?1B@7ufb+i_ z3=9m4KUo+V82&NnfMh^<f`Q{d12>0^$A$$5n>mEFVoq#Wc(`3a*=vr+#z)RPOAI2G zcs!Ax*eiJRf!4S65_)C|vRx{fLaAQuviAFGB#M_g^UV8Kc_||}kt_dy#oy1<7Ns9b zy6459@o?>oi_PBuY8f5Ap5Cu&ys<(ntY^w;rmBB|vcLWN59rQo5uLpBIP($lD{Z@q zMBm=u@2h#JZ|Sf17Zi8jd&c$G{N%&#h3?<Hb}&!5V$YeZ`X~B3|D;PNn!U_ixGMES zIoG{eCOO+uitl`K|DVZQ1-e77RKMq08l{wxeuE(;+1KNg^t&5V8C^b?{oZaK#I>^Z z*Iw~U`vd+9884SQmFbi}VOc-xD=+KN@N*)M{y%yu%kbsRy}h|XJD%Qu`f}6z3jfdj z$DQ&o?m2!vZuZwhD^4H$-d}UZ(_l_C&&H4a+D9K2u&eChVUIA`<4|-wv-;tKUh8j` zSLT_=%LsA>6ge`TRA`>@f~)gh%cL1O_x1=}<koRgk}Y<3aC&6FB*b81cC$vAi&W;F zLiUO7BGV(4MN3<pIm=tpu1^WM_4Jgi>VpS?lO1m!J*|*wb8{w3<TAq(2~H<XF1DA8 zgexTf&pD{t#^<E*FhC^A<M}k1zmt!3H0(@L>eAXI!Bv~(C2}>uENi-Q=WgFAO|chi z9;)RCEeX7CZxpq~HOA3#(lJ5*G)tA1vOwkM-jxp@`ArSpCDq(5=V}|;!0w{6@u--$ TK;we72iUaVY%peJVXy`O)DdAb literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_krd45.gif b/images/ChessPieces/Chess_krd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..d9dcd5fe497f2ce4abad88196d4057fd1c9bb2bb GIT binary patch literal 623 zcmZ?wbhEHb)Me0R_{w1The708kJGsxr@hrqTdOVC7F#aOHk>nO&YWz+o}QkbD9!31 z&En$XVlU0??CfkW#i*#LC`$=1FE1}c2`5WSCrt@UOG`^l0YgJg5Kt7*ln~IA;E<4z zkPzSy;NW1OG0*{-5Aq8G+y4U%1s*z5{U??boy@VCe_=(5*IGMP;l`<542s(VS&uV+ zDiBF{{^$^6p<efw&A+Ff-&^)PfoT@cCvTP%u~e1@4<>0@h8|hzsCL)bo+%ZXOkBd! zGNQcojQk2ydKCB>X9&tji}Sbnv*yYQ2}vp_h_WnP%&=5&o2;0S#5TbRjq=^Qd1PxB zE#9WUx0``aLF!mX*X1cf+jc8R-kvJzJ^4`&r^3lSV$WYp^ALUg{N*Ld&(CFrz2pSm zO}VOI@tfU&iM{R;2UCKYW8%SPPrZbK6WxpKRJqxNuDsBTm35Inr1_+R?+B|}?4R6_ z6%U(Nt4eC-6em2qx1L8#$S*nVK_}Cc(jJz7lO7ykWM*?!HQ2n=Xl^@GAV<!RrJv_F zFWtW3Zlc3PA!Y&IRWr0X)~>nPw#3fsr4xtD!6*femAs4f9Iv-3TqsbC+}wPh&tmz( zXl|v(fKr!UrP2i=QY`&RE3NiqW$TGBZ8MT7s9<<^T64y&BWta?maR38S}jsh@US^D dLq5W>w}gw4iIpp7`LeUSx4*w1-Ne9P4FF{z!j1p{ literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_krl45.gif b/images/ChessPieces/Chess_krl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..b39c25e9dc8434a36e15fbb1920f555e88eb79ec GIT binary patch literal 624 zcmZ?wbhEHb)Me0R_{w1The6=~xjFBTO?kg}%JaQF_qO)jTibGOY4x!=)qCd@Z=I68 zwkLb((xr3e%$ZXi)zj0{lO0rDU0t2*RUGA%ot>Q><&+#`ne1g56%`fbW$ESR<z;E; zWT<IrX=!PwXsM}as41bTsi~<bAt50lAiyEO!NEXPpaU`u<QE3E{|6chJanY`Pb?`q znPWBo!io~FwRY??8>e;|C~ga6f1doSKqg`Nj2yS+bML<YEjizsUHr0ZcDR_Enyi{K zYptieGDDZLe49I`TGu2s&SEZcd3nh^MuCZw7}NxuxW(n<r3F|5*p!;3q!iWE#8~Go zSSTd4S$RW~ny4RJ^9~072Fdx8Rn$a|3a0vY9GxV!d54<fmC4fHT&Hd??CffM*u_7^ zOY-rvh36FCJX4nRQj&PvC88$r;F(0Pr<=uLc7_RTO$;Ut0f!bc9}3`ij|kYbV7_Jd zLm!z4BPVIco+~~j(M&Jp>?Z7Zur}$@fg_GtvJXCTJuJB0AtXIFM5dkbg7#D{5hWLf zRR^DQOn%`e(UElEg+q-<&8!m&38%Jm@T)q`4p{2FH8SCFQ>~=exhZ=4vu1g}UV7>r zdu0F2hzp{3n7IslFD+pxpA@MXEA{2cQpObli`)!NGQ3$YEm;0`(YaMFOAo9O;1MvJ zkeak|D(gBXN4D1TX&k%qa|$&S#d0|L1h_1@92gv%Sh<B1A}n`re}DhLa~4JhYXI?l B(v<)J literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_krt45.gif b/images/ChessPieces/Chess_krt45.gif new file mode 100644 index 0000000000000000000000000000000000000000..dc04c8250750c8bbf5ef53e22932e2df73e7ee94 GIT binary patch literal 1210 zcmZ?wbhEHb)Me0R_|9PX|NsAc3=Fu?H3kM;=o|wBE_9560T<fKz<>*FWnjRC)-o{Q zLQ5GKaG^O247kt~1_oTHhk*eXYGGi&g{m1CaG_!b23#ncfdLmvW?;aDq8J!(p&$kZ zT*!-o0T*&&V8Dee85nROLk0$1NRxp97gA(kz=b3j7;qs01_oS+gMk4TV!#WIZ1~8) zz@Ye(g^_{bAA=4^EhtYgaQtWZ%PHfrVZp&>4q>gB6B`yDZWmDYn&Yui=}5hpZqgZz zkMrI8W%TRrNPJQ}IY}+B%Vwp~!sE#b(YwxsDLHiJ=%n)fnXb}sUd7V5Pv^(^<rgPA zTmL&9wp#4W4A)*ZiJe=ntyu0TsJB<K)Jb}doVvu^4~9W!H`XWV#b|}CI?uV-CeLuz zv}MtY9X1R7G5@~qqM3K?v>)Yb*4}4mxSnRMBU-S8;rJ%Ww4UIH`;YhZy8RNLo}D(o zP&fIX3`4r^r3GJqDfd`8+_^YkJKFBIWP$XR=n(D{-&<xc5AG`OSDO2+>>1}K>3^$J zf4I$FonW74Ew-{ZeX)77@Y!$b?@k9!{I_Mg<bU;`wJ#R$V7iufA$gm}bz}8Tk-2{l z)_;s%zP0}T=U&}h7o$@ezPu54#r}OPzaOgXTkaEl+{NsY;lj)#GfOAmHEk@u$5|T7 z>AB^jd*#E<=`6YC8aM8V)n9SC8uYa?<h1-wPSwZq>S+=OSQNJXnAm$fXW`<uXdBT> l?ps}&9`LG8DL7pJ?C*_B-TJRmo=%NOTlsVv3o8qQH2`$1J(d6f literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_ndd45.gif b/images/ChessPieces/Chess_ndd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..fdf77b49a4cdbbeccf69ca50f61813a9155fa31f GIT binary patch literal 1199 zcmZ?wbhEHb)Me0R_|9PX9~FFuf%h=*90}ZmfopKk<8%#%&LM*yr*jb0;&cv-j=@2T z(=iy@3kTIsd!fj3Z#4*QMF!QDTOp{}aw{0Eg@a<twP3Uq4zewmg3%l}$Tpk<LCJ=5 zU}y?5=;@gPMJ-c$U?|ye3K;dkL6l(+6lwNEflvz^R9Ck^P;qt(1Vw4KKv0lo3m8>b z7ei5yW;F~IduhUuVzCzpWg`PG#cT+2Qp^UUWH<=&N`@dO#bhvwf&)v%C@7MMvV@`_ zIIxrmf*?bQATaVm28I$|VB`b`mWECcq$%NqKmtyhP-F=QngW&(q$pqsLx#veQ_&ED z6a@^yND~eu1T>+DLsJ5T6yZRELlKN5kbwY)1Q-dx0SAKs3~?X;0|y5fF)(m|5d$jF z0dYZjfq~;cgEohZ$A$$5n>mEFVoq#Wc(`3a*=vr+#zjZF*=HIk-f+CQoKHej>gRX= zi3j+Oc+BIRIf3(Jy|(DyKSzWVCrtmp?P1CHPX3-*GIt-!{L-JS7~NHOt;O++>aKc8 z28I(8I)y!YG-gk#`E@?v%F6RS2~#4kOt?0EjR1p#Ku+?}+5aOvRm;CE?b>?vj-SuZ z_lynfrG@uu8`d3lng0KTXR4^g^7{rmRmvXRG7V0iQ^feB_r&v}yK)Rw3C%YS7T?V( zZnRO!j(UC9#zcBrUai^XkaE6A^J|gi>u$7e)~|08{jpBbf#>`LpGiyfiteQ!X7CWI zRQ#9_v^rBYSh3>mZJwV-Q}TEDuKaXh1>>LHvnKqw*{`nooz3B0`JvCg;e1zO!*dP( za{68qDPn$jJtAbLz={Cw`8mw8IxLFMW)`a1vTzu7ZBT#M!mve9+Eu!WO)5py(Dk<c zf>=i%*PU}Z9+hbOr9A2^R~20B(y-%)f3LaQ6S-c7mW#?RHH?}nt~COSpG@*GyQv}* V?sJGeAS5jF>C}j{mjMn8)&Ro1<9q-B literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_ndl45.gif b/images/ChessPieces/Chess_ndl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..9dc2583a3e5156945b904262799008a45c923953 GIT binary patch literal 1201 zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;pR-=S#A_hTUR9uD?Sc@IX<;b3pia|qhn z^Bj!s!NJy^dr;JJZz~90gM+m#*TCo;94u`)2SwHAmV(eRIG9s?42<@|!JOi~5HzKD z@08-La4@BKD->mKodQB@;b7^UwGh;ky%vm?!a+;&QZSkW2h~w?s-vbLK+lvZVARtx z1%j%hra(|})D$r4frH|x9w-XxDF&nLpdK)4L4fL(7BI>VY5}8aI7s%Y2BYHaC@6~Z zDuyDb;wTWxhJz@lY%ofOgQ%!v2nw=Hh9ED?WH5??124-c2y!xv0;3=}a54-6BQH2` zvh;!=OHD6JO(!_8)O3O%Lro_zvP1wwOG_{^)U<>mMN30POHC*;)Kr8ZO*l}L&;%nz zIFJxfln{_W009XQS3p7liUb5WpooJ*0E{>gfPsSpj2IX=z=#0`4C0?MFfb_oWMO1r z_{X3F5(ec729Ey>oE$P98x|aF<`CA3Ik92k;dTLKuQ?tY7ai?pZ+xM#;+5dBR>OaP zy-g-e_t26TW)l3#pQ<!%VUSYH!B6wI%z7giD5$tO;p}{++|W}?)1A)qI7IgSzRt|h zz(3DpnaRvA_b=5ipT$&gv4`!LyQ6k!YUXQZ29Dzm5leoapLThp>D)O-w@p+E-7Np$ zTF$S;If0$pu2x%@ZeMoOXq8%9a%5*g;<V#)l0I_@o=M(OH1|W-k9VIUa{P{eELm~f z_|CGnC1xhP->+OQ<cp8n$7%kht8K1)veMG+nW|PiD?56G+4Vl8Rq-;um{hTFRs90S zgw?xT5)!ZLCFn2lvU$1fHcQLvzTSWRi5fd*aO73XSRHfv=o!d2C02r|A^DT29vfGi z!k<HW3<X~G+`bK+CR_drUv_AWeKtFbSM^Z09E<4-1%`$RNrJp<{wjydob{dJn78cY z)uU-5w$~Gb)q`3>+I@7d^SDksc;Zoy@X8%Z422Ig1Vd%nZYcNe5y^Zq(L<@zO{7QQ T#^uQYZkkW0gcykkFjxZsSlt!s literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_nld45.gif b/images/ChessPieces/Chess_nld45.gif new file mode 100644 index 0000000000000000000000000000000000000000..d58243f821a78a431440c1cd8e0117b31b6eab5e GIT binary patch literal 1269 zcmZ?wbhEHb)Me0R_|9PXA02%E{~wILzyA+L-(lcA3_OQ{doXYf4tkuf!O%H4=y5s+ zK`l<_z~~qpv^X6DqrGrY?X(w)EcaG}&{kwnZMhYKiY>Q-(ONhtwp<HFOW`2faw!<i zfrD(rIS`a=I0uZTz(KO%6fo+6gDAruDAMeS0-+W-h|+9<pdif_FseodL7LTIR161R zn#EA0SnLHt*>K>cm<>TrirFxf3<pk%$zT)(2bL01U=)M^UO_=%WGN8@L531RVC01i z3?;n4$O#TCEuA1pQ^E;~1e`QM$Px|=4J{!^Q@|2}6a_3{$Pf+`1q{JR6Aly=HK9mA zQxS|L1T>+DLsJ5T6yZRELlJ@mI26H10s#ahB)~|3LjsHh5P(BK0E{>|1fYmPfCGd$ z5P*S$1B@6LIKYSj73hGtpuE7q@t?tzL&jsnf`iQ*!dfvWHY_~cE}-l+$7AE7quuQD zZ4@P#1eOR$h^qbk&OhORzz&Z#&Y2%h+DHBmWBPS`iL}Zzj`lyyOvbnNyD_9}Y!*pp z^Xq#fWts8CQ<FjMsK>u<wi6oXB>!(?xN%C9fr&w6Mvc->LzPqYe7lPNo|@`3zy9&0 zggKln9Ku^GwpVrR+PLVPovz2Sv#YN$p4lf{SXwNwRpQ~Eo|^|}yqMI<JV{sX`O**l zQ;!H-l(A=ZnsM^(p6GvyWfITh)6Oz<)mGi%6+a^IChhREJI@MVDe|XRHSi|9NjUL8 z&y45ed7+Qn|0kGBJugsWy^*`j?K;ns`FC2+G-ln(n^F^Eeq;K31D?<4o#)$4NL&@K z)?HzEp8IUILgn7<?!5mM3mJ>|db;0r+HvLkyr`S5$)eSV4^ETv;F@{-YSU3wcg2iF z2d~{N=iE45GCiYr>m>){z1yOF9{l{m>9c9cvU?714!X-QyfkECRyk+!nZIGNz>^>? z^P*58m+}Wp9IaA2R8AL~-%6P{IpAJJylaGL@YCK+H{1lZ|9=Tr36BkGnHrW{_O)}m z(A~zcSy`JTC$<(8ZB=vCJh|xkyqa$>pW7EXiLmRnh-JN4*dZi!Jg~>?)r-Xw++GDZ HFjxZs(Rc#0 literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_nll45.gif b/images/ChessPieces/Chess_nll45.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef43eaf63d33e247af8b21ad0daf1e562c97893a GIT binary patch literal 1271 zcmZ?wbhEHb)Me0R_|9PX9|e5>{~wIb&G`>T-{IicobOOH<@+%ZdJhMCr@RNF=WwvM z=Q#vz?RgGH_uyb_&pjw=xwjRBuED|DmTO>i4i1*KoP(n3b4x+!7#z&0J_bg6;b2bj zUI>~}ycdkN!oif{tx%M`bqWZrg@c~#wP3Uq4qB3zg3%l}sE(Rb9W@0Gs-vbrP;t~0 zFzSJW;;0@d3hF5aqwJs_FlxyTf}m<RNcO4*qhdIS@+yWRr{X9O%7%j|r))4vhJzr> zWC-%IOa`MUIPkKJf*>cuC@>0w11G~EF!F)}OHD5@azX%0Cnqqn)O3O%Lro_zvV;Re zMN0_MRI~&mLpab>G=w4vLrpMJlrRJ%O$1QX)C40%MNKG@&{PB=ML3WUPy{0h1Q3vr z03!hb2?1olAs_%o92^2*#DM?|92{W8z`y}U3^1U~`<a1(LGdRGBLl-f1|5(vC{HkO z{Ab|jknz~C;9xU{uvW~84GRyq3n+Wd@z}WNXg7QN7mX900>@fS{{8)ITrl;7mb@_E z&+l*Kz3l(*X_-AmXkmAKP{3d2Z~lS|v2Qp+H3K(4*zY48pgEV}fVcO=8?PcXPCb;D zW{B9FCi>9z`H5Mp?-^e85_`?!`hU;e10EV`0{W?sk7ZaMd34st!R1)5wd3{uy&~bQ zvoCzQ8Mp8JA>XMxgw}Z|v_J0paXeGW?69xm@vltgdb8`Z72AF;xBO%r(msD}*9pGT z6b9ina^F7nuQ+V=KWPu!g3qNEllboM?Cbe<|FzFOnL{EUtIqp9p1AZ+@x=+T%O3xi zisah<`@VErXwmyCHxFNb|2^(-aCqE_mp7l(pV`X9`Tc$8f%+%$+FZvArs^>~p7=Dz z=!&esyu9_b$1bScNnG0D&v0attmDZ)+oR)5bVTG*-uq7I^kz925|uJ};T8e2{}rNr z#fbtUaxJ@$UVG#uX2QhduXNGmg4f13%dUp=|J>*$%d&RK=?FU}fj(8SyC2R^^i2DD zrb@W*z&T?Nx0R=}L<*VWr$ps?28M<=&YY^ZH^3xnTEe26s%dFSPoKG{X{J7(Tk&jV i@GRlhji=@}uxY(mP=7As%EAt{RWBCx7>NilSOWk<iaYcG literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_pdd45.gif b/images/ChessPieces/Chess_pdd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..e018fe3aae56113557e64a78931afe81deba7941 GIT binary patch literal 1027 zcmZ?wbhEHb)Me0R_|9PX|NsAMJx+MgxgIB+sKx0VZgi~02^ZR1ZHWu5Ew;pimS$Vx zMutnXaiTfdhPcp_WJ6r2C&~~v((H-CiL$*EaUv(hY#b=rNf8f<vXsDuf-EI)B14HF z9LUR10uOT16u^ZnH3e`YMFC6P$WT!L7g7}9z=H%h81Ntt4hCF^fe_FEDFEdK296gD z%p5Wv8x|aF<`CA3Ik92k;dTLKuQ?tY7ai@EFwVLok<cg;x95q@gB1boJL)w8Unx`; z96UKi<7jV+X8@nijG_#oC#A-!`g57nzq(j*uW*>{T+9?ZA?wBd5aUd%qOMC5q3 zn=L$P{CfX<74ZsR$x!8<jT(s)t~7p|AJvz1aoW`zrrHscBKGDzowZfNyFc0WP;Qsl zt79v3|3{wvp<3u=A`xrVXBn<^>E!<@K~s8u&Og&tY5o7Uwcy4VM};?bx^?D$&e|mG ozsIdI>Cw%b`O0l^zEY2vWDhiR%lp|>q%J-&Sv%g(K!L#;0G+=~tN;K2 literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_pdl45.gif b/images/ChessPieces/Chess_pdl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb36dbc4cff7410d73388677bfc816a8d2be39a5 GIT binary patch literal 1030 zcmZ?wbhEHb)Me0R_|9PX|NsC0=jLFd@5km~LsPyVLqYG4O~FLZ_x4~xTYH{kplfSe zFwwcCE!a@?xuq!R*wSh&XioJp477JnF%~qXcrON8+mnrndWxg4p`e~(RFoamgMnJI zgD_EXloJ}tj&j0+f}FB3P;!tH7UX4_jDe!OEHP1#lOY=Nax%n%EDgP|AWbhzbmU~I zi3J%dI-w#<Lq$wvs40O3DM}b(APE5hY=}cb038W%a9|<^Y#=>q3j+g#;!hSv28MqO zIv^#WJi);6n1Pu?#$&^RgUuYmS}`X!EIiyUpzJlrW8<Qu-4e!GcQg!obRrYA3PL)Z z@9dxa|ADAvr-7{3lt&R#JfA<MO3Y+Qz3Q@)>$!u!wSUzo%?rL4>hn6-7^F&8_&d7$ za~(RVqUEJ#R2ubH-TPVC6rIo-+m%TweH;HLZE(>xzJ5K%Xm#FEt<5t-cNk^n?X{fr z^18Ro!bN|NyDy%0P-AO~N#~FFGu>{|^Pfad-1y|U$Wt#n&+<hN&i-E(w1n-K%GR!> u2mPK*_@&a`nG`*JYQ&PS`=<(N8{9m*d;9zQdt9|-{r2oAY+__&um%9;j;+7| literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_pld45.gif b/images/ChessPieces/Chess_pld45.gif new file mode 100644 index 0000000000000000000000000000000000000000..6c599168884f80d99bef94fd57324b074d1e3c18 GIT binary patch literal 1132 zcmZ?wbhEHb)Me0R_|9PX9|OEc1<z5zH8jxUbPWleLjyfd=isQt=^PR|*5ZVW_M(Am z%e^qP6&0*S1I3nWk<ij?OC)5tG#iTMpn+_|IY?+qvLPJxL>ZzY&7LR(YC#3nsGt}X zWP2$hkdtCI3?-uhC&gqW6om#XC8A&`2n|?D1i_J^L=Y14LIZ{pUP#DEQvi-E(SW9a zB^)UVSRx@qG@z+z2uF$nhDb;g9VlvQB9I~)kdRPBAPz+d1d>1l0vr-BBp|?nKpY$b zNQeU+FmP}{5d#L$0f~U}0t3f?25k-*j|~eBHggDT#hlo%@Nm0;vez7sjf;+UOBiR} ziFn8?8?oU<&4U#iICj<_@B8~ZyyeM3{wIBo3=9m142zUwg_eBISMz0%`gif7r@*xJ z^X>Z&Dp`HFVz|Vle{Pc2gysIT1X_arD!h`HUsCh0^VG`Xi}t1gj4OU_?^rQqb7tnc zsf&cCZQWtNUsv_#!+6O(MgJ#W<#=+R?*K#DA7-ab9f?P}B#Ynt7B7%IsF!HVx+diL z?Ngc0g<7AQzkRw=&vu<j3d2f9XKh!%cc-M@XK!rQpT){sk$bx*`hn8Fonk!4_}_%_ zw(shS&Fi!=)p3_9$#8wrw#@nMlRb}ai`|;IE%1l?^hZiX4;OA)yJBr{)snee0^f9h zt9|gCH}y|;()_f^^+rA+Go*AyG9EN?DD9Y*BDi<!rDg#)jfc%oUB5UAN~EoL*d~+K RAs?#HrtzqQnU#gX8UQv=ytn`W literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_pll45.gif b/images/ChessPieces/Chess_pll45.gif new file mode 100644 index 0000000000000000000000000000000000000000..99b4a47c6fd0f9938224db9690fb68b58cbf59f5 GIT binary patch literal 1126 zcmZ?wbhEHb)Me0R_|9PX9}S$F^B)O)KQ{+~j?MXwKvTXSgQEAy;MkP+aI|;Idl-6- z47T<>hoNi8U~S7a7&?axmbRQjpz3o=q3GDsY6O~7eGCchMFLxq!Ia{y2$a2b3JmpR zZ-t??XrL#1Eey>;0xifOJE#SYlD%4Bs2Uk0dsV|wF&c<+Du$tCWDw+(j6jyjK``WH znG8cw$iT}o3JC=v11G~E81g~}PKI7^WNGMyK$>2bP~>E(i9m*$PB3JN3=9=5VaN~# zXc`(qktQ-wl+c7BMHC>Rs0c+8C_q3$0)_+xBw$DY1#k!mzz_$A01R;;0R{}90}=t{ z1qP1)4BQ+t9vc=MY~~QwiaD`i;o)`xWv@9N8y6kzmN3q`6XC!t6S?U@#e)?A?c3|m z&G|c7z2%7`@4Y!I85kT|jq~+*H~lo9ti~Yu|Hcy)4euHL^UtO5%FZ}>GjP^9BVExQ zo7H_q9hZxp__F@OMW_Eu^m@Pap9^Lv`DZF+we(HotjzgOrl`JM>!0rx`_DO9{GI)D zvwyiSxf4#?i>s7!sO3bkd-7LvF8;av;8KI-wR1U7SE_!xy(PG9*Qc72O{*4K{}0_% zaK&k9eWYhmZ0_~ah`vUT@4nI=$`adKYL~H2zBqgR1OM8Gdpe%a=Xv7Z_-N;gbwXd3 zFPj#eQ~l)EMdknNLcDXHoc$eK*{S7aoceEtW~ON4cK6@qi#qF5o?TY?eE!Ih10^zw v4;om+A`+rHJXKh7c+6frXy)B!GLcUtEaPFTMA(X}Z8Bvq7CJIAGFSru`LFQb literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qdd45.gif b/images/ChessPieces/Chess_qdd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..949355f804dbc40621313a601b4e89122992cdd2 GIT binary patch literal 1402 zcmZ?wbhEHb)Me0R_|9PX9|?Sif%h=*90}ZmfopKk<8%#%&LM*yr*jb0;&cv-j=@2T z(=iy@3kTIsd!fj3Z#4*QMF!QDTOp{}aw{0Eg@a<twP3Uq4zewmLXqLpY$%!o2gP1< z;3(U04g@6|&H<w-$ROEp3K;buffhKZE^dLK;_Ma(iqdR>pdif_7^+4FQBKtm6r@=V zM#XU8rCAI`ip5?alnn<#me~;GrI-yy$;iM-F&T`a;K0c+3XUu#qQEE!4lE^tAjnW6 z2!_0nfu*4r92rV@!H^R&(3Eh3A^|5&5VC{=O#w>?QWUTRBSSb)6flG#O*l|g)Px`j z4oxspL<SNZiV!5gp$JA2a3H`T0Y(CFz`-B@LmUXez`+4V3=AA##DD}GlZ+V{7!-f9 zFfuUwW6%M~fbs+b$A1P*4jGRP3l27O2y4Zh*s$<$yMVIS9FL8QocVe?Odll#KAaM{ zd6|I9xAiK9P4doVbAmQ4@!-;rnpUGYA@%fhk@S;uR1KE-%n~Wt_T;63s^3D@&LD-% zB85x!UcGW#UT#|EGe^cl=yAr^wCk%_=ey;8Umxh`|KCP5=ga!L7w57a6-ud|^k8fK zb*@P!uSN14SN$&tO8CvM!OEw*^N`NT@7WJl?oK<GYO}%Pv=TF?dEB4;=?Trg#?x)g z3;a*pGM^8WJ255kNqsKcB35hbx8YlvZcn*$)F8lHj44}qZ?sYVg=sq?x9}X9pmp)q ze+z|anz3qmOXl<Yt^ZZhpE}dkhyVXlhKP+$S5<EpR#ctce#YU*<RS&@TMu7Pn)gn8 zdgt{2dN1~vK9Q?u5zBaBf5w#MMk9~V3|Xh!rW%P!{Jt59o&rbJgH5JiILIPw)AHk? z;%b-R1%-Ss!-5PF5*QA2>sviwU^6=OLy0Yc<#JGtz}cb`jOI;+ot<n&Hy(Af8!Wuy zEHmfeVO8-{C7i-pGrkA-99*;L>9m-#lS}*BJX_j(Q>I0#$%$1?S~@+aOp+&0_^(6C z6kS(gHJ9~!W*kzq@{%~CsJUmw2^XDMrZ#2+s|ifP2@Q_!i*1%PWb`Dg`E=f8^BK=` zS|uME4l+6@RWh*IT-eBES^7_5qME*4=c?8xG2w>}cl&#U98vUXsbb(ym>}U}av-ge zL&E08sUuopR$rRcum3rDcuCr^6U_6kS1elPD&r$~LhriE<fp0+)_r<yx|_wwb(1Xb Yk%Qd&A_w($y*#G<e$N*-5dj8k0JZElhyVZp literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qdl45.gif b/images/ChessPieces/Chess_qdl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..b8042b0933c07162baeda70b9cf6f1a8cc9fa880 GIT binary patch literal 1402 zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;pR-=S#A_hTUR9uAI8c@IH*r@RNF=WwvK z=Q$YNgM+O-_aJC(%RMl<1_x_fu7S}xI9S?p4vMPJEd`-ta4@I(7!(yBn*&07;b2bj zUNG7U2Xm^oLQqfkRxnx%154qcC3z_r&4GjJ<T+3jHK!VcroccC9JEyTKu~pZ4+IrQ z^*~T|P!AZjAV76X3m9bwwSZAI9ArmTLr}6;H5e7cL6lc97-hpjkW)4oCBs3KS26?z zStf%~6dZV2MnREblouE|8AgFo5FB_p1woLLVGtO3!GWcw7Z^FgfuW`o6e&6xf{-N~ z7%Eyqkfx#~7#YHWrlKJfNf>H^kR}2sYHEU!qJ$<GDI$P`q9Pbc2q=P)1RMwmNPv+5 z0&oZjfDs3W02px~00RdH7%?z#fDr={@R&4{fq_BsCkrD3!#@TckPIkKFmU{5;N+0; z*s$PWGl#HN%!v&P54Q^_d(H9K_{iCD6H8=_#ggFViY%#rr8T<~j`vHq_sFbtPUxJf z?9CCfb5rV3KLhKXEkFI$80To0TG?<0DO{N7#Mz-@`QgR>B`*AzQZxhDeP%N?|JAm< zkac!uIIorOD(5@)F08VDi$er1+80I~?>g%#aPC^uk$-~P8bW-IJ6ZPz$!cV%us3OQ z7D=q!m>tn<)gY&4b7{SUly)Z1mf!0)9ysd1Q7*;n=l$)CabZ=GKY9yKOyp?{lUz~u zVd>QAtJbAxZ{P}Qn{zi(AmaB*hivV&l6Q44H0?gcvz%-1+!+l1jRwX4V<JNyvdr+= zw*LPer5R7fcKIauW!$KGvWwHNbL+#KYWWv9Ux&@hd+}vb@Lrpn;v%K{O^-<WbEvI& zU_Z@u`-5iwvh5ej1;S2TuHuVap_s$3*sfqQ>q8@}nEw=uM@s7*CNC)BpKCrzKV=8Q zfga<!4~^Vrmn;@@r~ELAbD68dbg(ZaW6`1}g<}@VED<WK7bX2OHYxhdN+@J=?f&`c z)U=qgm#Ne3{LCgwSxw7aHZv>YNyoJKZ7-MV@9_;eG%<J`OD~7WQX^%7?jI2g^}87i zAIl4`T*4_Sf8htCK*R(`Hu*j~MwdmVlRloZ7cO;LZn6Hu#};k@o}DTzdNv1-Yp3<H z^!f`}8YNFz85OS4r{;e~W1+K&PE+d&0UJlQu6+*5Yo>Ki_{g$8Voy_|i)u^~?*jjT zs<dAJFPUdm4Rc%?_zFrc@t8zqDZSG^Xm*)XW>IFg0K3u!g{B#=j%mN&^Tka>fWaC7 DW3p9> literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qgg45.gif b/images/ChessPieces/Chess_qgg45.gif new file mode 100644 index 0000000000000000000000000000000000000000..d82331a43807c787e671eb78b6c93081c3081809 GIT binary patch literal 1612 zcmZ?wbhEHb)Me0R_|9PX|NsC0=jOoC_hWOA(3J1TK<NFkDG0Q8%6k}kzO@H}?rrTs zLM`{Ug3;QRdoXluZ3`ToTUrf4$Cg$@(VXgIFtm40F%(TH-U~xpr)0y?+MaAUn$waD zMb*i3U}#Ep6dd(r2SHFvb`Sz3d$oX3b+Q*66-PNiP<D_L93=-?B9ND5G7Lp|S;CNE zlou2QIT^x{m!&2IIaz8#k)fs&3|Sf~!jYk-A`+4?)C3_-MF}`kR1`oU2?0eIl8_L9 zBLM*pIO0G73>+L_#K6D-Mhxc|5a<{K103yTV1S^l3=9yomVp6+mNGEF(HsT_2%5sc z06{$r3=q`9zyL?p3=9xd%)kIg*$fO2l+3^YK~W40a1_MA06|_13~=PczyLv(3=9xt z$iM(cnhXpOq{zSkK@toM5G26B07np?Lr4Y$n6pTPfq_BspKXb!ud70GMrmGlPHLWl zxk6@oUVc$(iWM)HW3aQQr<H=<Z9P3bWffj757!7Q1p{*zCj)asV?zTYV<Qs=#h)yU z3=IDmbU-G9G8F^Ie}>2y36Bj64mNWLE2TIpHXLpjQ1+VRQK;0~CTg5@r=oE2@qPj8 zrk;$X6qkvT>~42Hu7AomnJ+Nt$>kuvBlV9OI)AfIJUY`@$K=!$iKq8BCjXyeVe*kb zLNnpN7hA%|_jh;KJ8JXwYN*Gq40@Skb)+)q`C;St`}SE+7F_DTfWO<Sc-j|5@9F86 zr$zn#kb8|mX=T*WUjcq+J0kuizP!09HSA#c<}R1j)7~DQ7IgmK=05^$kM~SXPFk{O zdU1pE|7|WcU)~40DC;Utdd4lW_`!Mp%uh8Z78o*jtoUiL&TB{6ed8I5ul`;9DZjPe z;MX>he-mCl+wUwaA2d%-_A7(ezq9{Wy%yM6{-Dc0Y0K@PmCklAUsP$#pJvAL{JCt~ z|L;ams@mmD%;Fh7Y@HOx(4P~0%4}VudR!gjHj@X=(U#x&OF!sVcrxs@4Cad6Z>z)? zArYl<F|0kOd5Qo_)l%;Ic`t)bbsJPXyHe>SvGr`(E6<X)aBIg2595kju6t>+X*td+ z|K2;JFLRNn%TfEKJ>|zHlrS#39%mBxd20EIvq7iqL+1RL@2u15dEGuv@#dta_}t5r zW+ZHV^04CXPxZhCzpFRX=E~K%UZ4MR!%xu=;h>6V5pu7T)Mq!Fs%3gle0GH^R!mpw zz>?m*m*-kM%2C!@aX0qp%RF1J7Ae!?FN&UoZ#ecs>vj0r7e!}^ZI(#|_BEb+^?H5D z#tb#r6JI^EwKuD*UbAWKo~jpVBDtXweyw4tSC=nYmOORk%Qq@v%c3?~c5mK)tSe{X zEVsyuQ=V?~PK$nNwWYP<fXrha(<?n(t5*E5D&{eGymDFS9>Fs2-u?fX7N0(J;7Yc> z>7$V9g9k)2J=1sZ>-)}nRJgK?=h)j>qPe?HOyu6Q=2NfFM49(Hsy?k*t1xx>Iu*}X znJaETSZ%y-ahCSW{0BiL2YKBB4BKQ{Y>ZB-PL4A=soZkHkWJL>j={!L2C2TAuSI&F XHuZ?Be=Eq!q?z*VX2xa#0S0RTR7-pF literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qgt45.gif b/images/ChessPieces/Chess_qgt45.gif new file mode 100644 index 0000000000000000000000000000000000000000..c36122b3f8c1b3f974a3fe662c2d415176aed83d GIT binary patch literal 1285 zcmZ?wbhEHb)Me0R_|9PX|Nno6a}4;<F$M-aXfFc;9<-H#0T)`!z<>uWWnjRC<}fhe zK~oqQ@Sq+B23)9xfdLPyW?;aBiWwMip=<^QJSdrg0T+s5V8DZd7#Q#%F9rrY$ccdg z7qVnvz=I4K7;qs?1_nGxk%0jZl3-xKg9I2D@E{Hb20VxXA2|BbgMooT@h1x-1H(TC z9gtE`o?zhk&+wO1#$&^RgUuYmS}`X!EIiyUpzJlrW8<U4^%A;zM`jd0*dOj6_gDMI zMI|@GB)6&>p$DB_jsMp~R(pP&zkz|VW$zyix8?5H7U@npFZq+_TA6eU^-4}r3!G#$ zw@BsZl*N}<u+L-@cxAXUXuWr19;@~=?K7+VrwU!kDtmioN$~YWt<smX!*>-3K3tj= zzAiX1_y58PuRiA;UV3Q4KbhBpfe$zHJr)xUTlm=CkI~|-%g2aMZhN(I)A(Z58y+oM zU)1(*xw+BuDF*rPIQA+Z$eE$T{a<*orBT4d$+N}Q3M|+ZG{?@~$nKB+frK7&-((T% zX{JSe8ca)kH6nJscqC!?_|cU+v0wLJYHr^YA{$$pImhGn>z;Q-882m@Fz(-)W%}y4 zy67A+$@<Hj%4f9K7c5d}VtaS|e!!Z}jm(7>p&1WbEkZXmODu3Lk!w?E<A{&vO576H zCc0q3qb}_*2Sq=<i4l+7t&XZpZsgc^X+b@Ep7=}yjXfGkt(tabf^N=TFCI5&*eJTm zb|`F8XyS5<Y?tu2NuT7qUZF^Jn*SSxXTpAVogIDNMk2vwo=q#BPE6XOsZ=18sIp{^ z7?;HqQ{hLIiL4uBPfj#t50iYlFsNwJ;$|tq7aEOHu39gbObN?+xpXoc3xhQP{QyUO literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qld45.gif b/images/ChessPieces/Chess_qld45.gif new file mode 100644 index 0000000000000000000000000000000000000000..83f1bfebdad694c9309eeaa760e1f74ccf6e89a9 GIT binary patch literal 1508 zcmZ?wbhEHb)Me0R_|9PX9~FE@0`FnqITE;s1g;^29;a(Cbgst<idvk`!O$^e(BgCq zjP}AowbNcO+KLRSEw@5YvE^1US_=oomTO^XDKf~mTna^oOS3^}4jg0~&Vit0!#Q9y z1sNn8PJy8wWDsT814WuWQ6SU;2SJ)GU{s9^f;6jPs2CY|DHelKHXL{<W<!vZVm1sV zBLgSJWH5?C29}CZP$Us$2}MD0U?~v<MqbFkP{Iq0oREQ~r4s~cN;pB0fRiQ^St0{X z0ZRx{6tDy%LpV?rFa#q_I8ap7L?8i8MKF>O(1aomO$jJcL;(_tieMzcp$I_&9ExBh z0S5vc5?~~N0yqQ&z=(rG0ERdafPsSpj2IX=z=#0}gwF6~U|>-E$->CM@Q*<UBm>G5 z3>^O%3^`;xHY_;U%pt55b7I57!|ejfUUPO#a2Dhfk-fAau;9%8{$wMqCkd|?>-I=k z{Bd6Dbj^N>#GDqcr!FdN_W!5p{Cw`7FtJ{XVa1Pdmj#pS9~=-A&GZ&yVAzzy8KRlp z={;rP0b5q_R||b+F&7p+JXE~kcz*(0+TB}MU!0l6)~^;jYtxhclUWr1HoJUyzN4_@ zsg`b3fiA;37JDJN9k1@MYI1*>WYDu?!?nY?taiW6S1LRxWPMnp;$ivu!2DwI<PF@x zOM_-en0edwmV7v<v`|ENi}a-z_GbSdB>kw|{{DEtDqg=|-+9u46E_<^_{siIUT*9E zMSM>-?EHLavn{LHf7RR053~{)T5SD(=J%I1TKxYScH{A5`@Yqwst<GuWRw|t8q{P< z-(O6KuN2*CelEwC@dh8eRv{xpq(txIE7jY2HXrxqwLN^oPtnxkiiA6>=@eo2mkd)w z<a7_7Fy@=f&Y<;w%LN67lQ)cFnHb)*AJ>}hdi9Xk%eBV^{1`&EpXyDqZN3+L;qSMQ zkX}ayhe+Pa6xGO^wp;Jp|F=DQ!adCC>%^9;XSWB`YAw6|bjp8^A0m-{2Y)W%`>$|f zf>#cM!J)RBoQtQ_wp>#?<39Jr1crhQx*;#zJvo)V)#n-{X)fKwVU@8^AotiYA>}DQ zudG-yZPpVGZwB_q&T=O+U#;FS>EO~d=bbBOFtBL7SkUa3{B_mjby^Mwl;<t8bh)(n zgj#mcV!o^F=Y+IcxEeRuR8_v-qP${5OHh?pi^`e@aguVbJC~mFST^gH_{t?cHNX5f z3S3Q}Z!pzp({Z_+C)Mwlw%=->?{czXamJ4IY6}iq+;c6tBE-^u`=q^aYH04^^^?>m z>ONRuV0d(~+J@jLK|%JHOTImty?$S{!KF@}*+m+HynY8Bx@&AR_#AHCy6v;L@wS#n Y>@t3TvM*n75zqZ{(L>!g(1F1k04thppa1{> literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qll45.gif b/images/ChessPieces/Chess_qll45.gif new file mode 100644 index 0000000000000000000000000000000000000000..53d83b61605ea846bb8629cdacf4a5b71b87cbf6 GIT binary patch literal 1492 zcmZ?wbhEHb)Me0R_|9PX9~qpR^B;`9!@;>Z-y!JOobOOH<@+%ZdJhN3ro4xsy;I(U z(Q`Q1+w&ZZ?!m#<o_kQ#a&IdLU4w(QE!V*492_idIR{16=ayC<gM+2j#~^4<^)V<a zJ~ju0_QJuO;=K?wrFbtGZH0p=#ap2$d+QVsS_=m~*=xaQDIByUF9oAHa8R8*2aKk` zL3Pv=2r7=60!BS>P#o0*LD@k)VAKK!*+DH3l<d_4M%8eT>{Sg$#c&YiR18MhFpvxf zL6*s26a@!fmQi371P4xrL15$s2bP9jP^9T)2|`YAV5#W@L57-6U}OmghKiODq^W2L zMurHWX=n&Wnwo}Cq-dxKMv4-KV5A8Lii(<0B%!GYLW*!8A)yFG0*VqKB!K_|5)xn} zARqxo0tmn%AOJ=j90Fj(fdC8~9AL!2zyU@KNI(a~2IU0?j{gjt95Nmo794Em5Y~!0 zv0>rib^&FtIXesv^Ky&G?kWfjIK96=%1H0Z*TCxz-2d}LcYf_x5b~Qdp+lwM#r+wE z|M@ugd|c1bp#49O!{w8H%#L~^<8_x<84hd?WeU6}b+|}jd4ccY!m1xe&koEgdh$f( zh2WCVH4Iz$-ptyf5V+WbecdmPsR_O|diHgH47a?vxGjBip6m_n3`f8JZ0rAC?^}Oh zbrY|X-|86$V!T<m|Ggcy;oSaR{TEl2MwjRx+^Oq7?U==eThI3_l@<R}_;r5H>9pTM zUD_YmW1IGEy=N9NdGnp1^Hsb@KIb2@-?K2kQEh>xz~N0+tn0K|Co41hou9+^|J;ZE z0L=@g|65~TIIaKw_M9~5ooSp7YLCyj&Jn-yZ}Iom{|-WZMboAx$=k3@P-kaIN_B9s zV0-88p#RWel9cn+lqO+mR;GZKDwm&M6op)384uLu+?e8N%GX%_$X+$)`jy}_rmP2w zS1c%v<NPo2!zY#NDoX=L=gAWf?Dw{qD|@z>l*%P3-I;N>^uNo_=zd?z@BX#Esh<L; z=>OZSF!8nFm3f^EB54WJlWu8To27s6l1RXR!;pFHVr|8zjon{9T^@hFX39xX;Wuo7 z^XsI(p3z-8WzxyTz3(`$&wuFfL`pIFh(TlToU&UlSqytNN*fEzytr)nie*(xBn1`I zlvcRL>?}O$n|QTq@*3BSU%^Sj6TduPf8bZ<B^MJB(_^BB9Sh#DoH4U*+@y5G;B}x$ zipr8ztNNx+R5cTvbaGyelxm*Ed7W9D%l;?01=h>YoXx2+K|o1=Pyf4@>6{{l!hV9Y zlU~1MabR3I(f40cG*`D!?A82(E4oxeTvoR%);>I+DfF4M&C8|B7r#Gdt*<iSUQ>oO ypVt>g(HxmWC$+BT2=m$09}+%ic6H66lZrV3fuDSAzQ6f=-ho}W#Ep@W!5RQH5S|tQ literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qrg45.gif b/images/ChessPieces/Chess_qrg45.gif new file mode 100644 index 0000000000000000000000000000000000000000..5203f59c43825a21df097dd695e9c51a1338c7c9 GIT binary patch literal 1626 zcmZ?wbhEHb)Me0R_|9PX|NsC0=jOoC_hWOA(3J1TK<NFkDNwX`%6k}kzO@IA?rrUX zp_Y4F!DwyEJvd@uxCcYm*0vxJ1H&~iI=8eMffyLhfzh$0)d)1F`WPHBFdPG;y>p5Y zXiD*3IAUPf3r1U~WJ3`H!&Wd_+mnqz3=C_*Xek2&9L;G-hN9}^IS|CaFb9mLR7W8Y z1H%+B>d6j*A_j&YFlxyTLZD=?76@WsXaS?@WG@6_V5o+n;wUEsVqho+qwF9j1Y%&w z2BYL4ODOWPOok%{hGZ~`^0GuAC&MT>Vqk~@qaY_k1Y%$af*~(UO$1_K@B$+zLro;4 z=wt{+3=B?SWND~~K$?n{5X8V>2}XvRiU_1AVF*DC42EE&sVIR!5(1iV#K52lLy8gt z2*kjk2tyJK3=ky1!2v}K3<5C3fdUvfIKYU3fdh;fkid?XMg|53#ecRXp1!UM$r+`2 z**U3s3g!x#>3R7@sVP>xT#muco}N|;dbjlS^z_VlxjbAWtP~8)T^tQe4J{3g42_J< z7!-f9FfuUwW6%K^4a!su9RC^eV<bE_EI8QAA*{5=P_f}~yMVIS9FM|BEp4L4S$8T5 z7a#8zux{!(k(A;xQIg%Q=F|G8!jt&|gL1BJ5<OCX^nl23_K$69zUC&Urg%J$pKbR4 zibcvtejg5l|6Xi6KAxYmv))mgulI&mbcevL9IGQY)1Eu~KHE3z@)W_P{tNiKe|?<% zMbUeD`sKEW-yd?XF(|E!I{ItEGy9GFtbc{CY)(DBrfGeeXlI!2?RMRz^Zu6qT-blS zQup|gh|2uu443|?c4fSszqKPd%1P&}xPjZj1@gZp{hi==wVp>|*|)1dzNhpAo2Ity z_&s0j{C}yxpD%7#{n+kf`CoR`kFD>LZnfC{5BYrFBewn2*4XkJvkE<)@V(b6eX&~N zF5ipG*Xlm_hiv@%<nQN8)q<rDB<dKiupdr(b5zJl=ibEhBlUceH-wt_bFbb{{37~! zfhFUQXYL#&tm(b&B5V$mHEiax#5a4CPF&C)%<<!<h~kwOhtqRg91_Ld95pV6&8i6P zvE;w9JWTt^L4iX}SyR5<XMR?(;%w$(&n3t06=y8(oTTzkxhJmr?X?r(|25NHIR3vd zeA3OhVT)R<MeWuH_I!1s-rm{2Zd~ek#_N&L=v%w=tbN?VpXWQ`FFswku%nJuv`zAm zq(h12rj8Y6;g-)bL!ZfXsY@7mq)%Kr-%4zi+0i49R;_+e_-&R}zMkKdDCJzAhfl)y ze0#NeZtxbxxhBi~SX378S6i(UYqZaEVv+49E@mFLknFWvFMsP2nKm`dMYtk7a%-01 zldQup6BfQ}nXy^Kw;^NxDYfh)3#X+;UYz#v+3mFGuU1n$Dib)gyEHaTdj0Caj;6$W zSy5lJ6<05MaEnbM!6(u1sJrQ-`76XtVlK}3@a*?$!DkMSKDyX+&3Qjh-Mi)5IxY3; z_}yQ(CH1W{{LjT4)O5`%uuM0!vfxOs$XdgL8)aT*790&KaTH2^Vd$xSCL;N4g5&ID rQ{%Nhi;hcpmiQR^q->7<b~AdeZP2Z(dXq*6uA{o&@0hc&FjxZsVor#j literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qrt45.gif b/images/ChessPieces/Chess_qrt45.gif new file mode 100644 index 0000000000000000000000000000000000000000..bb437aca8f3a9e5e6828f0f84b4f0473c0fe6c1b GIT binary patch literal 1289 zcmZ?wbhEHb)Me0R_|9PX|NsAc3=Fu?H3kM;=o|wBE_9560T<fKz<>*FWnjRC)-o{Q zLQ5GKaG^O247kt~1_oTHhk*eXYGGi&g{m1CaG_!b23#ncfdLmvW?;aDq8J!(p&$kZ zT*!-o0T*&&V8Dee85nROLk0$1NRxp97gA(kz=b3j7;qs01_oS+gMk4TV!#WYp3-7q zU{L(Y!pOkzk3k2d7L+F#IQ}#I<&^Q*u;5@bhp<-6i46-6w+kqH&GFdy=y1J+uHKOu zg%9>ed1n39zHw3Mm~OONm5-1@r&r_uO{vwMAMbBuVC>ubXNT*O<2e@TPC767lV_Wm zbPM%LPEiY-WHh%(<>!>emshaQWD|I0xH4$HcVix__B8D?tNf=5UCAnYduB=S-9xUo zr@e~VQUC7N-5pz|o!hFq<loy@rmHVUdDQoPl{lFm-d@;!ZPta4_g641E}K^HN3>|k zsjUX9|6EsdNIJ<Vll+ILGQ?}f!u+0nf(~Y9bXU6PpXB+u?0mm(w;zYY&J{QAFJw19 zBB5Y#?7}j`F4^Dj`TZtJc(ZuS{xH96$$`$~XM1{#H-CTaHe3ANIiuyib9Q<^cBv9x ze(slEd({4qH=k|X9#*I_*>9Svp<|pgtHxc!<5!GMHS_=aI=|^oY4}|+a~}5lZ8CWl z2YI8PY>g}bRGRUqbGd4Vbd9i2z@ct~LpL6^Y4)zTP%M0E3UBk)FDDlC8Jb2UI-6yd zKk8J~Fc&O#m$Ouvcu!R@NoAtTjmOO)|2Db`otv2wtUEDdXR46-l$kA4f`5H|;&xNw z=911>y`7I{tAA1xbd$Q2nbhT+I(gwdS-%grCNar1r_QKX`Nck!-%ldaSH$ht3b!d? RSudB)NL#him64Ib8UX$8Wr6?z literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_qyt45.gif b/images/ChessPieces/Chess_qyt45.gif new file mode 100644 index 0000000000000000000000000000000000000000..20ae45062bcc781bf1f4f9cbfc432c4f4a02fc09 GIT binary patch literal 1391 zcmZ?wbhEHb)Me0R_|9PX|NsC0_ZZO8HHQDF==(JWH1z%)0~&gMi~$YZJH~*H_A=Z< zMc4K+prEY`*O1V;tqf@B*jfe@w3Oi(656|z0S#@P!+?g?PGLYsOM4j5(3~CybkxEy z2MJASVL(GY)eI=8n4t#=wG=a;qilv2R8*bKfQ*Wh8PHI66az9!j$%MZK@7=AD9Vcg z4F!2IAR{j)26SY};Dw5uEE$lIr6B_vGSp;1Lz;>V$VgF<0Ub#&C?X*V2?lf|z#xHy z1Oyn+5eI_+D&pW^Kt~J=97u=(16Z0eF)%PF{<AId^mSE8&M3{x&PmNvFjvS-&&w}L zO|jzTatwC%^t4jYyR8QTyj&ix5mpKY<}OYKriP{lE(Xqq<_wBISr{1@{xRr)EC6LH z29Ey>e>r75HY_;U%pt55b7I57!|ejfUUNJ)J~~`4p{sXfM&SedSnra*+BYsLx#`8Y zRmBJ;bb2-ZUlUpF`B8oY17pM9KPOz5xMy3WJL$aSPo8aN(k;|0IYljSlF{5Em7h}< zUtYmJlTF~2;mV-(-i>*z+S9bptn!~KbS10o?U^OPcMrMVp7ttcNAtT|cXxzLH(ai| z<W<aUv(>?|9=2}W0=dhT=f}z((_NMAbi95ZQ^l=FrcdD~`}AI4TJtG>HbbW-dqa=m zmK1-@#6G>CT^<a#4A!pEJDa*WC3$yfzpj;H!_!4cwRJon!awb2Xf*6|>n$`qckDmg zLy^vnE)9n`{#X8Y-*w00*cl7+?)!NnyTV)lFM9B&dh*}QIUcW{|6#XrnDU)7Rr~<o z!kZ~)qQeSRF3100B6O6cl6UF@`{xnKJO=BRJUZF7au3s)#^*j92^BXBHy&oUSi0g- zmuB4tX7S2iiF>s=*D{i`gkDX1#3DQ;z=_v^>7{bNRurRL{CXLQV3Ugs%sqPRUp!Ko zY#jOH)I^?}Pv-WTO*4pal_=Cyn-<x%ou#MGV$(zIoV*#&6k>D)=X(Cx`^ZCH!&T5# zu;x`~kbIwtr&`Um9L==eV!to^;_Y2CyLuS^1;;ElcaoZC>gwaQvP<~LvK37SGJZT$ mSi(1HnfgkG<^@Y@I$yk6Aa#^m>-Cx~*Ro!(<zr=Gum%8$TJ~Q6 literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_rdd45.gif b/images/ChessPieces/Chess_rdd45.gif new file mode 100644 index 0000000000000000000000000000000000000000..75a5812c100ca032e42054f07b9881470a4f68b9 GIT binary patch literal 1053 zcmZ?wbhEHb)Me0R_|9PXpA>Md$B9UEuEmK+G$-4TNYq0#s1DL35)~5<ycCOxL)l)6 zM55%VC}L5NWioLnifG_uX-FipR1_c*87c}8i8Lhyh(;Wm5=0>eQh+y4A_D`1;!hSv z28MqOIv}l}Ji);6i$R`4#$&^RgUuYmS}`X!EIiyUpzJlrW8<Qu-4e!Gb1I%pJ09)M zR`!P@Naf@N;rzeRKi^+-n5q-Kuji#v>X~VB`Ro2vY+mLv!>XC<tEAwH3yXC+oqR%< zuDrZFV6mC6>&C#o)e)Ps?pAFLJgV$*c+r|2Nx}`AGcK>P-JR)rEHkmx?{bF8x-&hc zkG0m$Fn<%*RXg$D)=YEFyNB97D&4EB`1oLc_xmKCnlFVeJG!4Iy-6rro4#eXRYH$& zW$K*nWUKnPy)R3S7A%cy+w2jk|Mo_YYTuvDyT0GFmpg8@M)u|=$47mNO71y(9(YW; Xu-N;*M$O`{uWxM5zHeu!z+epk!!3#* literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_rdl45.gif b/images/ChessPieces/Chess_rdl45.gif new file mode 100644 index 0000000000000000000000000000000000000000..7e679265235f4a26588577b78537056823cec747 GIT binary patch literal 1054 zcmZ?wbhEHb)Me0R_|9PXpLlR?&VNE^@0?<SXijx95h!X-H38H^3@DE3A%t48g9xHx zVnA|KF(H&p6o^VrCWNA*k_n+GB7m2ZB|+q5s7Vl68Y&V-nu?Z$kfEj`LBv4>U?3Xk zfK-C=0t3f?23Zanj|~eBHggDT#hlo%@Nm0;vez7sjf;+UOBiR($v8CAJzb5h><>qf z%E<}BxqqX7p1<ZWRVR91&r74!GxhTM>&|#iR`Qwa(0pym591Yq)0~x8eLA>h<>lo8 zGgmEo;ns6?b;RbZt*@3X>RFr+7<MIrqv7V}jLWm8E>T=;yuoU2rU={jWgB*uCf_^j zVgCNqUWwnoSZe|c;tq-NUU!WNG>kbWBHP?*6Zk3cl#s6UQJKKvfO7(0SIG8;`MYV? zB}eUCaYXp#^)y>e&pEf&9bL3_ve4SQ!H+yHZb*FnQDd88-o3rDa_;+rz8`veX0G;> d#MQgLzP_<Jefq|YyT8AGaJZX!zk~pTH2^?~vK#;a literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_rld45.gif b/images/ChessPieces/Chess_rld45.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d9be5808b3276302b3cdcdb5c7b989f485ef99a GIT binary patch literal 1115 zcmZ?wbhEHb)Me0R_|9PXp9pZR#|aNQ*W!c+?Zpe`;04t|ns`t#LExoWj2mTpDdIs< zmJ)c76Mmp6;Dj4l;s=TXmbj6jq5vMGi62M^XyQf^_<;b21a2gNA8;@T;6@w-00RdH zZp6UAfg3Rp0&h=TWME)W{K>+|!0?Yj2c#U7Cm1;XGe~mCcx+g3u$e<xE9S(8g@@Y( zl)dJ7Y+Q7-Tf#VNj>qB&$DK^r%KmT!shpf3%>CE8_*wkIMy<$gHJS#`e7ah{F)(a6 zzVvv#Rr$9+93dLMotEXRCY%g9>c`+c)9PuZNz$d|5u3A2y$Wx7ElW7u^mltt(wzFW zM^>fYdKEvXEB4>d8(!th`|D%%j{V&=?WO%5$$Zwe-KFPsd&4>H?*?B@N;(=M$lrD* z!syA-UTwRu7|X|LhvpjAt&{%sC}Y=BS^sBqB%fzpSgYQ5ie=HZx3_l~_nyjl7_TOO zpqX3#-ZiFUn*SYQ?r}c4Kc(CA-#5|U-z$#>)<<XFKeu=HxBa_K_gn0nbL&;bsg2@& zQ|#vM@}I(&oc76Yf8Da#{QmmKc`l~?eyQhZBIL;;mhr&-L++9XO+02V9yE)vvM^W! E0GhLIJ^%m! literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Chess_rll45.gif b/images/ChessPieces/Chess_rll45.gif new file mode 100644 index 0000000000000000000000000000000000000000..86c7d22b1c49b63d7c35b6f6e99a03ec58078e55 GIT binary patch literal 1118 zcmZ?wbhEHb)Me0R_|9PXA3r!Z=RXc~3<ubY8_dB2s*~qnM^SUCv7;V5pg5`rE6NV) z!G>D0gRrAyuNG{mI@t>=D#inny^3+5Y}_Eo$q*}Y!UYU9ov<NGJit)V5(hHG1vC{6 zu^~;|KoJ*^5KzR1Bm_8cApsnK0|#Kh3v@uTpuE7q@t;AIL&jsnf`iQ*!dfvWHY_~c zE}-l+$7AE7qumn5S#xeQO?QveWh?u`5u|c*g0Sh#$tox3ENj$?+*YG$@XV)cmI@<- z!pr-|>#fSa{gDh2^6j)NpETj*q$7R|-ZQP9R+=PTS{|`EOEgL}X?y*mLtV1o+urQY z6A}HZd~D0w=w(O#X|Aexc7OKTigLDJ-=8GKCZ#gB_g1SVn+8^H?OL_0Q1sD}2-me) ze<VKnot&a;e{{~pjn7U`whrHRMso4<^Go&TU7K_3QP!n}zWr@?c0J0zwJ}uq_JQ5o z-`_t{6dm(=@s5v=PdrZh^C|yOI)m_!IGa!WYZ4A#?ceb)eckTw?;q^{?<|~W`l5K9 z*!p?PPhCv@`ufA_YL}M=Y8yZN_`JE4Gw|=PHEv(iWoua4zWRrAUtMsriO1~4gJ%9~ T8!onpgk?Nzm537&V6X-ND`CcH literal 0 HcmV?d00001 diff --git a/images/ChessPieces/Licence.txt b/images/ChessPieces/Licence.txt new file mode 100644 index 0000000..10a82f1 --- /dev/null +++ b/images/ChessPieces/Licence.txt @@ -0,0 +1,26 @@ +Source: https://commons.wikimedia.org/wiki/Category:SVG_chess_pieces + +By en:User:Cburnett [GFDL (http://www.gnu.org/copyleft/fdl.html), CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/), BSD (http://opensource.org/licenses/bsd-license.php) or GPL (http://www.gnu.org/licenses/gpl.html)], via Wikimedia Commons from Wikimedia Commons + +I, the copyright holder of this work, hereby publish it under the following licenses: +GNU head Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License. +w:en:Creative Commons +attribution share alike This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license. +You are free: +to share – to copy, distribute and transmit the work +to remix – to adapt the work +Under the following conditions: +attribution – You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). +share alike – If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. +This licensing tag was added to this file as part of the GFDL licensing update. +BSD wordmark.svg Copyright The author +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +Neither the name of The author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Čeština | Deutsch | Ελληνικά | English | Español | فارسی | Suomi | Français | Italiano | 日本語 | 한국어 | Македонски | Nederlands | Polski | Português | Português do Brasil | Русский | 中文 | 中文(简体) | 中文(繁體) | +/− +GNU head This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This work is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See version 2 and version 3 of the GNU General Public License for more details. +You may select the license of your choice. \ No newline at end of file -- GitLab