summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElena of Valhalla'' Grandi <valhalla@trueelena.org>2014-03-03 12:49:24 +0100
committerElena of Valhalla'' Grandi <valhalla@trueelena.org>2014-03-03 12:49:24 +0100
commit45f4085d956db08ec3d1b82df469cdf613a9dcae (patch)
treea6f046be4c9124cbb70e52db87a8a5517e763141
parent4cabcc50c54903b6127d0d5ff6824cd054f3eb24 (diff)
Card expansion
-rw-r--r--Makefile18
-rw-r--r--README.rst5
-rw-r--r--graphics/clubs-flattened.svg74
-rw-r--r--graphics/clubs.dxf1258
-rw-r--r--graphics/clubs.svg74
-rw-r--r--graphics/diamonds-flattened.svg75
-rw-r--r--graphics/diamonds.dxf778
-rw-r--r--graphics/diamonds.svg75
-rw-r--r--graphics/hearts-flattened.svg75
-rw-r--r--graphics/hearts.dxf982
-rw-r--r--graphics/hearts.svg75
-rw-r--r--graphics/spades-flattened.svg74
-rw-r--r--graphics/spades.dxf1060
-rw-r--r--graphics/spades.svg74
14 files changed, 4688 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index 09ba199..dcf3403 100644
--- a/Makefile
+++ b/Makefile
@@ -4,10 +4,14 @@ CONFDIR=conf
SLIC3R=~/opt/Slic3r/bin/slic3r
+SUITES=suns moons crowns arms
+SUITES=clubs diamonds hearts spades
+VALUES=null ace 2 3 4 5
+
tiles:
mkdir -p ${DESTDIR}
- for SUITE in suns moons crowns arms; do \
- for VALUE in null ace 2 3 4 5; do \
+ for SUITE in ${SUITES}; do \
+ for VALUE in ${VALUES}; do \
openscad -o ${DESTDIR}/tile-$$SUITE-$$VALUE.stl \
-D suite=\"$$SUITE\" -D value=\"$$VALUE\" src/tile.scad; \
done \
@@ -15,8 +19,8 @@ tiles:
coins:
mkdir -p ${DESTDIR}
- for SUITE in suns moons crowns arms; do \
- for VALUE in null ace 2 3 4 5; do \
+ for SUITE in ${SUITES}; do \
+ for VALUE in ${VALUES}; do \
openscad -o ${DESTDIR}/coin-$$SUITE-$$VALUE.stl \
-D suite=\"$$SUITE\" -D value=\"$$VALUE\" src/coin.scad; \
done \
@@ -24,7 +28,7 @@ coins:
dice:
mkdir -p ${DESTDIR}
- for SUITE in suns moons crowns arms; do \
+ for SUITE in ${SUITES}; do \
openscad -o ${DESTDIR}/die-$$SUITE.stl \
-D suite=\"$$SUITE\" src/die.scad; \
done
@@ -33,14 +37,14 @@ dice:
pawns:
mkdir -p ${DESTDIR}
- for SUITE in suns moons crowns arms; do \
+ for SUITE in ${SUITES}; do \
openscad -o ${DESTDIR}/pawn-$$SUITE.stl \
-D suite=\"$$SUITE\" src/pawn.scad; \
done
saucers:
mkdir -p ${DESTDIR}
- for SUITE in suns moons crowns arms; do \
+ for SUITE in ${SUITES}; do \
openscad -o ${DESTDIR}/saucer-$$SUITE.stl \
-D suite=\"$$SUITE\" src/saucer.scad; \
done
diff --git a/README.rst b/README.rst
index a912ad6..2876879 100644
--- a/README.rst
+++ b/README.rst
@@ -9,8 +9,9 @@ on the `piecepack wiki`_.
This piecepack is designed for 3D printers and can be printed at home
(or your local fablab) or sent to a 3D printing service.
-Currently it includes the basic piecepack (with saucers and suite die),
-cards and seasons extensions are planned for the future.
+Currently it includes the piecepack (with saucers and suite die),
+in basic and cards variants, while the seasons extensions is planned
+for the future.
.. _piecepack: http://www.piecepack.org/
.. _`piecepack wiki`: http://www.ludism.org/ppwiki/
diff --git a/graphics/clubs-flattened.svg b/graphics/clubs-flattened.svg
new file mode 100644
index 0000000..9d908c1
--- /dev/null
+++ b/graphics/clubs-flattened.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="177.16534"
+ height="177.16534"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="clubs.svg">
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.9297236"
+ inkscape:cx="88.58489"
+ inkscape:cy="93.538475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="mm"
+ inkscape:window-width="919"
+ inkscape:window-height="783"
+ inkscape:window-x="292"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3011"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-875.19684)">
+ <path
+ sodipodi:nodetypes="ccczzczczzcc"
+ inkscape:connector-curvature="0"
+ id="path3823"
+ d="M81.496063 1027.559L95.669291 1027.559L93.9243947656 1023.20359852L92.8206318125 1018.38424188L92.2867063906 1013.2591018L92.25132275 1007.98635L93.3909978125 997.630698125L95.669291 988.58266L95.9461119219 992.458150625L96.6035616113 996.430528516L97.883858375 1000.98423L99.9946179043 1005.53793148L103.143455891 1009.51030937L105.172034209 1011.09683835L107.537988025 1012.32004008L110.267269302 1013.10724911L113.38583 1013.3858L119.690423379 1012.74219184L125.289123906 1010.89441344L130.140408418 1007.96703395L134.20275375 1004.0846225L137.434636738 999.371748242L139.794534219 993.952980312L141.240923027 987.952887852L141.73228 981.49604L140.936420234 974.893863945L138.68725125 968.540825937L135.192388516 962.686064961L130.6594475 957.57872L125.296043672 953.467930039L119.3097925 950.602834062L112.908309453 949.232571055L109.616735811 949.185857847L106.29921 949.60628L109.2144805 945.585456758L111.351192123 941.523106719L112.761248806 937.460749414L113.496554484 933.439904375L113.609013094 929.502091133L113.150528572 925.688829219L112.173004854 922.041638164L110.728345875 918.6020375L108.868455572 915.411546758L106.645237881 912.511685469L104.110596738 909.943973164L101.316436078 907.749929375L98.3146598386 905.971073633L95.1571719551 904.648925469L91.8958763635 903.825004414L88.582677 903.54083L85.2694771636 903.824269429L82.0081812617 904.647644961L78.8506932056 905.969417466L75.8489169062 907.748047812L73.0547562749 909.94199687L70.5201152227 912.509725508L68.2968976606 915.409694595L66.4370075 918.600365L64.9923486519 922.040197593L64.0148250273 925.687653242L63.5563405376 929.501192817L63.6687990937 933.439277187L64.4041046069 937.460367222L65.8141609883 941.522923789L67.9508721489 945.585407759L70.866142 949.60628L67.5486168374 949.185857847L64.2570436523 949.232571055L57.8555610312 950.602834063L51.8693097695 953.467930039L46.5059055 957.57872L41.9729638555 962.686064961L38.4781004688 968.540825937L36.2289309727 974.893863945L35.433071 981.49604L35.9244280273 987.952887852L37.3708170312 993.952980312L39.7307148945 999.371748242L42.9625985 1004.0846225L47.0249447305 1007.96703395L51.8762304687 1010.89441344L57.4749325977 1012.74219184L63.779528 1013.3858L66.8980879939 1013.10724911L69.6273686543 1012.32004008L71.9933219368 1011.09683835L74.0218997969 1009.51030938L77.1707370723 1005.53793148L79.281496125 1000.98423L80.5617925996 996.430528516L81.2192421406 992.458150625L81.496063 988.58266L83.6434127969 997.646954375L84.564848875 1008.0297L83.9518920156 1018.43301063L82.9736164785 1023.23678836L81.496063 1027.559L81.496063 1027.559"
+ style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+</svg>
diff --git a/graphics/clubs.dxf b/graphics/clubs.dxf
new file mode 100644
index 0000000..f72f746
--- /dev/null
+++ b/graphics/clubs.dxf
@@ -0,0 +1,1258 @@
+ 0
+SECTION
+ 2
+HEADER
+ 9
+$ACADVER
+ 1
+AC1014
+ 9
+$HANDSEED
+ 5
+FFFF
+ 9
+$MEASUREMENT
+ 70
+ 1
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+TABLES
+ 0
+TABLE
+ 2
+VPORT
+ 5
+8
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 4
+ 0
+VPORT
+ 5
+2E
+330
+8
+100
+AcDbSymbolTableRecord
+100
+AcDbViewportTableRecord
+ 2
+*ACTIVE
+ 70
+ 0
+ 10
+0.0
+ 20
+0.0
+ 11
+1.0
+ 21
+1.0
+ 12
+210.0
+ 22
+148.5
+ 13
+0.0
+ 23
+0.0
+ 14
+10.0
+ 24
+10.0
+ 15
+10.0
+ 25
+10.0
+ 16
+0.0
+ 26
+0.0
+ 36
+1.0
+ 17
+0.0
+ 27
+0.0
+ 37
+0.0
+ 40
+341.0
+ 41
+1.24
+ 42
+50.0
+ 43
+0.0
+ 44
+0.0
+ 50
+0.0
+ 51
+0.0
+ 71
+ 0
+ 72
+ 100
+ 73
+ 1
+ 74
+ 3
+ 75
+ 0
+ 76
+ 0
+ 77
+ 0
+ 78
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+LTYPE
+ 5
+5
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+LTYPE
+ 5
+14
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+BYBLOCK
+ 70
+ 0
+ 3
+
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+LTYPE
+ 5
+15
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+BYLAYER
+ 70
+ 0
+ 3
+
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+LTYPE
+ 5
+16
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+CONTINUOUS
+ 70
+ 0
+ 3
+Solid line
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+LAYER
+ 5
+2
+100
+AcDbSymbolTable
+ 70
+2
+ 0
+LAYER
+ 5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+ 2
+0
+ 70
+0
+ 6
+CONTINUOUS
+ 0
+LAYER
+ 5
+51
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+ 2
+Layer_1
+ 70
+0
+ 6
+CONTINUOUS
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+STYLE
+ 5
+3
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+STYLE
+ 5
+11
+330
+3
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+ 2
+STANDARD
+ 70
+ 0
+ 40
+0.0
+ 41
+1.0
+ 50
+0.0
+ 71
+ 0
+ 42
+2.5
+ 3
+txt
+ 4
+
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+VIEW
+ 5
+6
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+UCS
+ 5
+7
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+APPID
+ 5
+9
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 2
+ 0
+APPID
+ 5
+12
+330
+9
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+ 2
+ACAD
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+DIMSTYLE
+ 5
+A
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+DIMSTYLE
+105
+27
+330
+A
+100
+AcDbSymbolTableRecord
+100
+AcDbDimStyleTableRecord
+ 2
+ISO-25
+ 70
+ 0
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 40
+1.0
+ 41
+2.5
+ 42
+0.625
+ 43
+3.75
+ 44
+1.25
+ 45
+0.0
+ 46
+0.0
+ 47
+0.0
+ 48
+0.0
+140
+2.5
+141
+2.5
+142
+0.0
+143
+0.03937007874016
+144
+1.0
+145
+0.0
+146
+1.0
+147
+0.625
+ 71
+ 0
+ 72
+ 0
+ 73
+ 0
+ 74
+ 0
+ 75
+ 0
+ 76
+ 0
+ 77
+ 1
+ 78
+ 8
+170
+ 0
+171
+ 3
+172
+ 1
+173
+ 0
+174
+ 0
+175
+ 0
+176
+ 0
+177
+ 0
+178
+ 0
+270
+ 2
+271
+ 2
+272
+ 2
+273
+ 2
+274
+ 3
+340
+11
+275
+ 0
+280
+ 0
+281
+ 0
+282
+ 0
+283
+ 0
+284
+ 8
+285
+ 0
+286
+ 0
+287
+ 3
+288
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+BLOCK_RECORD
+ 5
+1
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+BLOCK_RECORD
+ 5
+1F
+330
+1
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+ 2
+*MODEL_SPACE
+ 0
+BLOCK_RECORD
+ 5
+1B
+330
+1
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+ 2
+*PAPER_SPACE
+ 0
+ENDTAB
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+BLOCKS
+ 0
+BLOCK
+ 5
+20
+330
+1F
+100
+AcDbEntity
+ 8
+0
+100
+AcDbBlockBegin
+ 2
+*MODEL_SPACE
+ 70
+ 0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 3
+*MODEL_SPACE
+ 1
+
+ 0
+ENDBLK
+ 5
+21
+330
+1F
+100
+AcDbEntity
+ 8
+0
+100
+AcDbBlockEnd
+ 0
+BLOCK
+ 5
+1C
+330
+1B
+100
+AcDbEntity
+ 67
+ 1
+ 8
+0
+100
+AcDbBlockBegin
+ 2
+*PAPER_SPACE
+ 1
+
+ 0
+ENDBLK
+ 5
+1D
+330
+1B
+100
+AcDbEntity
+ 67
+ 1
+ 8
+0
+100
+AcDbBlockEnd
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+ENTITIES
+ 0
+LWPOLYLINE
+ 5
+100
+100
+AcDbEntity
+ 8
+Layer_1
+ 62
+7
+100
+AcDbPolyline
+ 90
+98
+ 70
+0
+ 10
+23.000000
+ 20
+7.000009
+ 30
+0.0
+ 10
+27.000000
+ 20
+7.000009
+ 30
+0.0
+ 10
+26.507551
+ 20
+8.229200
+ 30
+0.0
+ 10
+26.196045
+ 20
+9.589329
+ 30
+0.0
+ 10
+26.045359
+ 20
+11.035758
+ 30
+0.0
+ 10
+26.035373
+ 20
+12.523845
+ 30
+0.0
+ 10
+26.357015
+ 20
+15.446440
+ 30
+0.0
+ 10
+27.000000
+ 20
+17.999998
+ 30
+0.0
+ 10
+27.078125
+ 20
+16.906248
+ 30
+0.0
+ 10
+27.263672
+ 20
+15.785155
+ 30
+0.0
+ 10
+27.625000
+ 20
+14.499999
+ 30
+0.0
+ 10
+28.220703
+ 20
+13.214843
+ 30
+0.0
+ 10
+29.109375
+ 20
+12.093750
+ 30
+0.0
+ 10
+29.681885
+ 20
+11.645996
+ 30
+0.0
+ 10
+30.349610
+ 20
+11.300782
+ 30
+0.0
+ 10
+31.119874
+ 20
+11.078614
+ 30
+0.0
+ 10
+32.000001
+ 20
+11.000001
+ 30
+0.0
+ 10
+33.779297
+ 20
+11.181641
+ 30
+0.0
+ 10
+35.359375
+ 20
+11.703125
+ 30
+0.0
+ 10
+36.728515
+ 20
+12.529297
+ 30
+0.0
+ 10
+37.874999
+ 20
+13.625000
+ 30
+0.0
+ 10
+38.787109
+ 20
+14.955077
+ 30
+0.0
+ 10
+39.453124
+ 20
+16.484374
+ 30
+0.0
+ 10
+39.861327
+ 20
+18.177734
+ 30
+0.0
+ 10
+39.999999
+ 20
+20.000000
+ 30
+0.0
+ 10
+39.775390
+ 20
+21.863280
+ 30
+0.0
+ 10
+39.140624
+ 20
+23.656249
+ 30
+0.0
+ 10
+38.154296
+ 20
+25.308592
+ 30
+0.0
+ 10
+36.875000
+ 20
+26.749999
+ 30
+0.0
+ 10
+35.361328
+ 20
+27.910155
+ 30
+0.0
+ 10
+33.671875
+ 20
+28.718749
+ 30
+0.0
+ 10
+31.865234
+ 20
+29.105467
+ 30
+0.0
+ 10
+30.936279
+ 20
+29.118651
+ 30
+0.0
+ 10
+29.999999
+ 20
+28.999998
+ 30
+0.0
+ 10
+30.822753
+ 20
+30.134764
+ 30
+0.0
+ 10
+31.425781
+ 20
+31.281250
+ 30
+0.0
+ 10
+31.823730
+ 20
+32.427737
+ 30
+0.0
+ 10
+32.031250
+ 20
+33.562509
+ 30
+0.0
+ 10
+32.062988
+ 20
+34.673847
+ 30
+0.0
+ 10
+31.933594
+ 20
+35.750035
+ 30
+0.0
+ 10
+31.657715
+ 20
+36.779353
+ 30
+0.0
+ 10
+31.250000
+ 20
+37.750085
+ 30
+0.0
+ 10
+30.725097
+ 20
+38.650512
+ 30
+0.0
+ 10
+30.097656
+ 20
+39.468917
+ 30
+0.0
+ 10
+29.382324
+ 20
+40.193583
+ 30
+0.0
+ 10
+28.593750
+ 20
+40.812791
+ 30
+0.0
+ 10
+27.746582
+ 20
+41.314823
+ 30
+0.0
+ 10
+26.855469
+ 20
+41.687963
+ 30
+0.0
+ 10
+25.935058
+ 20
+41.920492
+ 30
+0.0
+ 10
+25.000000
+ 20
+42.000692
+ 30
+0.0
+ 10
+24.064941
+ 20
+41.920699
+ 30
+0.0
+ 10
+23.144531
+ 20
+41.688324
+ 30
+0.0
+ 10
+22.253418
+ 20
+41.315291
+ 30
+0.0
+ 10
+21.406250
+ 20
+40.813322
+ 30
+0.0
+ 10
+20.617676
+ 20
+40.194141
+ 30
+0.0
+ 10
+19.902344
+ 20
+39.469470
+ 30
+0.0
+ 10
+19.274902
+ 20
+38.651035
+ 30
+0.0
+ 10
+18.750000
+ 20
+37.750557
+ 30
+0.0
+ 10
+18.342285
+ 20
+36.779759
+ 30
+0.0
+ 10
+18.066406
+ 20
+35.750366
+ 30
+0.0
+ 10
+17.937012
+ 20
+34.674101
+ 30
+0.0
+ 10
+17.968750
+ 20
+33.562686
+ 30
+0.0
+ 10
+18.176270
+ 20
+32.427845
+ 30
+0.0
+ 10
+18.574219
+ 20
+31.281301
+ 30
+0.0
+ 10
+19.177246
+ 20
+30.134778
+ 30
+0.0
+ 10
+20.000000
+ 20
+28.999998
+ 30
+0.0
+ 10
+19.063721
+ 20
+29.118651
+ 30
+0.0
+ 10
+18.134766
+ 20
+29.105467
+ 30
+0.0
+ 10
+16.328125
+ 20
+28.718749
+ 30
+0.0
+ 10
+14.638672
+ 20
+27.910155
+ 30
+0.0
+ 10
+13.125000
+ 20
+26.749999
+ 30
+0.0
+ 10
+11.845703
+ 20
+25.308592
+ 30
+0.0
+ 10
+10.859375
+ 20
+23.656249
+ 30
+0.0
+ 10
+10.224609
+ 20
+21.863280
+ 30
+0.0
+ 10
+10.000000
+ 20
+20.000000
+ 30
+0.0
+ 10
+10.138672
+ 20
+18.177734
+ 30
+0.0
+ 10
+10.546875
+ 20
+16.484374
+ 30
+0.0
+ 10
+11.212891
+ 20
+14.955077
+ 30
+0.0
+ 10
+12.125000
+ 20
+13.625000
+ 30
+0.0
+ 10
+13.271484
+ 20
+12.529297
+ 30
+0.0
+ 10
+14.640625
+ 20
+11.703125
+ 30
+0.0
+ 10
+16.220703
+ 20
+11.181641
+ 30
+0.0
+ 10
+18.000000
+ 20
+11.000001
+ 30
+0.0
+ 10
+18.880127
+ 20
+11.078614
+ 30
+0.0
+ 10
+19.650391
+ 20
+11.300782
+ 30
+0.0
+ 10
+20.318115
+ 20
+11.645996
+ 30
+0.0
+ 10
+20.890625
+ 20
+12.093750
+ 30
+0.0
+ 10
+21.779297
+ 20
+13.214843
+ 30
+0.0
+ 10
+22.375000
+ 20
+14.499999
+ 30
+0.0
+ 10
+22.736328
+ 20
+15.785155
+ 30
+0.0
+ 10
+22.921875
+ 20
+16.906248
+ 30
+0.0
+ 10
+23.000000
+ 20
+17.999998
+ 30
+0.0
+ 10
+23.606030
+ 20
+15.441853
+ 30
+0.0
+ 10
+23.866080
+ 20
+12.511611
+ 30
+0.0
+ 10
+23.693090
+ 20
+9.575566
+ 30
+0.0
+ 10
+23.416998
+ 20
+8.219833
+ 30
+0.0
+ 10
+23.000000
+ 20
+7.000009
+ 30
+0.0
+ 10
+23.000000
+ 20
+7.000009
+ 30
+0.0
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+OBJECTS
+ 0
+DICTIONARY
+ 5
+C
+330
+0
+100
+AcDbDictionary
+ 3
+ACAD_GROUP
+350
+D
+ 3
+ACAD_MLINESTYLE
+350
+17
+ 0
+DICTIONARY
+ 5
+D
+330
+C
+100
+AcDbDictionary
+ 0
+DICTIONARY
+ 5
+1A
+330
+C
+100
+AcDbDictionary
+ 0
+DICTIONARY
+ 5
+17
+330
+C
+100
+AcDbDictionary
+ 3
+STANDARD
+350
+18
+ 0
+DICTIONARY
+ 5
+19
+330
+C
+100
+AcDbDictionary
+ 0
+ENDSEC
+ 0
+EOF
diff --git a/graphics/clubs.svg b/graphics/clubs.svg
new file mode 100644
index 0000000..5cd9d6c
--- /dev/null
+++ b/graphics/clubs.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="177.16534"
+ height="177.16534"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="spades.dxf">
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.9297236"
+ inkscape:cx="88.58489"
+ inkscape:cy="93.538475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="mm"
+ inkscape:window-width="919"
+ inkscape:window-height="783"
+ inkscape:window-x="292"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ spacingy="1mm"
+ spacingx="1mm"
+ units="mm"
+ snapvisiblegridlinesonly="true"
+ enabled="true"
+ visible="true"
+ empspacing="5"
+ id="grid3011"
+ type="xygrid" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(0,-875.19684)"
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 81.496063,1027.559 c 7.086614,0 7.086614,0 14.173228,0 -5.571275,-10.8552 -3.543307,-28.34642 0,-38.97634 0,0 0,24.80314 17.716539,24.80314 17.71653,0 28.34645,-14.17322 28.34645,-31.88976 0,-17.71653 -17.71653,-35.43307 -35.43307,-31.88976 17.71654,-21.25984 0,-46.06299 -17.716533,-46.06545 -17.716536,-0.002 -35.433071,24.80561 -17.716535,46.06545 -17.716536,-3.54331 -35.433071,14.17323 -35.433071,31.88976 0,17.71654 10.629921,31.88976 28.346457,31.88976 17.716535,0 17.716535,-24.80314 17.716535,-24.80314 3.543307,10.62992 4.640122,28.23674 0,38.97634 z"
+ id="path3823"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccczzczczzcc" />
+ </g>
+</svg>
diff --git a/graphics/diamonds-flattened.svg b/graphics/diamonds-flattened.svg
new file mode 100644
index 0000000..ca45130
--- /dev/null
+++ b/graphics/diamonds-flattened.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="177.16534"
+ height="177.16534"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="diamonds.svg">
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.9297236"
+ inkscape:cx="88.58489"
+ inkscape:cy="93.538475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="mm"
+ inkscape:window-width="919"
+ inkscape:window-height="783"
+ inkscape:window-x="292"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ spacingy="1mm"
+ spacingx="1mm"
+ units="mm"
+ snapvisiblegridlinesonly="true"
+ enabled="true"
+ visible="true"
+ empspacing="5"
+ id="grid3011"
+ type="xygrid" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(0,-875.19684)"
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <path
+ sodipodi:nodetypes="ccccc"
+ transform="translate(0,875.19684)"
+ inkscape:connector-curvature="0"
+ id="path2984"
+ d="M88.582677 28.346447L80.5548720625 45.730797125L72.194882 61.12203725L63.1705216875 75.18453725L53.149606 88.582667L63.1705216875 102.036160297L72.194882 116.486209625L80.5548720625 132.929368391L88.582677 152.36219L96.6104821094 132.929368391L104.970472625 116.486209625L113.994833578 102.036160297L124.01575 88.582667L113.994833578 75.18453725L104.970472625 61.12203725L96.6104821094 45.730797125L88.582677 28.346447L88.582677 28.346447"
+ style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+</svg>
diff --git a/graphics/diamonds.dxf b/graphics/diamonds.dxf
new file mode 100644
index 0000000..e170fef
--- /dev/null
+++ b/graphics/diamonds.dxf
@@ -0,0 +1,778 @@
+ 0
+SECTION
+ 2
+HEADER
+ 9
+$ACADVER
+ 1
+AC1014
+ 9
+$HANDSEED
+ 5
+FFFF
+ 9
+$MEASUREMENT
+ 70
+ 1
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+TABLES
+ 0
+TABLE
+ 2
+VPORT
+ 5
+8
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 4
+ 0
+VPORT
+ 5
+2E
+330
+8
+100
+AcDbSymbolTableRecord
+100
+AcDbViewportTableRecord
+ 2
+*ACTIVE
+ 70
+ 0
+ 10
+0.0
+ 20
+0.0
+ 11
+1.0
+ 21
+1.0
+ 12
+210.0
+ 22
+148.5
+ 13
+0.0
+ 23
+0.0
+ 14
+10.0
+ 24
+10.0
+ 15
+10.0
+ 25
+10.0
+ 16
+0.0
+ 26
+0.0
+ 36
+1.0
+ 17
+0.0
+ 27
+0.0
+ 37
+0.0
+ 40
+341.0
+ 41
+1.24
+ 42
+50.0
+ 43
+0.0
+ 44
+0.0
+ 50
+0.0
+ 51
+0.0
+ 71
+ 0
+ 72
+ 100
+ 73
+ 1
+ 74
+ 3
+ 75
+ 0
+ 76
+ 0
+ 77
+ 0
+ 78
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+LTYPE
+ 5
+5
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+LTYPE
+ 5
+14
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+BYBLOCK
+ 70
+ 0
+ 3
+
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+LTYPE
+ 5
+15
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+BYLAYER
+ 70
+ 0
+ 3
+
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+LTYPE
+ 5
+16
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+CONTINUOUS
+ 70
+ 0
+ 3
+Solid line
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+LAYER
+ 5
+2
+100
+AcDbSymbolTable
+ 70
+2
+ 0
+LAYER
+ 5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+ 2
+0
+ 70
+0
+ 6
+CONTINUOUS
+ 0
+LAYER
+ 5
+51
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+ 2
+Layer_1
+ 70
+0
+ 6
+CONTINUOUS
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+STYLE
+ 5
+3
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+STYLE
+ 5
+11
+330
+3
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+ 2
+STANDARD
+ 70
+ 0
+ 40
+0.0
+ 41
+1.0
+ 50
+0.0
+ 71
+ 0
+ 42
+2.5
+ 3
+txt
+ 4
+
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+VIEW
+ 5
+6
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+UCS
+ 5
+7
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+APPID
+ 5
+9
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 2
+ 0
+APPID
+ 5
+12
+330
+9
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+ 2
+ACAD
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+DIMSTYLE
+ 5
+A
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+DIMSTYLE
+105
+27
+330
+A
+100
+AcDbSymbolTableRecord
+100
+AcDbDimStyleTableRecord
+ 2
+ISO-25
+ 70
+ 0
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 40
+1.0
+ 41
+2.5
+ 42
+0.625
+ 43
+3.75
+ 44
+1.25
+ 45
+0.0
+ 46
+0.0
+ 47
+0.0
+ 48
+0.0
+140
+2.5
+141
+2.5
+142
+0.0
+143
+0.03937007874016
+144
+1.0
+145
+0.0
+146
+1.0
+147
+0.625
+ 71
+ 0
+ 72
+ 0
+ 73
+ 0
+ 74
+ 0
+ 75
+ 0
+ 76
+ 0
+ 77
+ 1
+ 78
+ 8
+170
+ 0
+171
+ 3
+172
+ 1
+173
+ 0
+174
+ 0
+175
+ 0
+176
+ 0
+177
+ 0
+178
+ 0
+270
+ 2
+271
+ 2
+272
+ 2
+273
+ 2
+274
+ 3
+340
+11
+275
+ 0
+280
+ 0
+281
+ 0
+282
+ 0
+283
+ 0
+284
+ 8
+285
+ 0
+286
+ 0
+287
+ 3
+288
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+BLOCK_RECORD
+ 5
+1
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+BLOCK_RECORD
+ 5
+1F
+330
+1
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+ 2
+*MODEL_SPACE
+ 0
+BLOCK_RECORD
+ 5
+1B
+330
+1
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+ 2
+*PAPER_SPACE
+ 0
+ENDTAB
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+BLOCKS
+ 0
+BLOCK
+ 5
+20
+330
+1F
+100
+AcDbEntity
+ 8
+0
+100
+AcDbBlockBegin
+ 2
+*MODEL_SPACE
+ 70
+ 0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 3
+*MODEL_SPACE
+ 1
+
+ 0
+ENDBLK
+ 5
+21
+330
+1F
+100
+AcDbEntity
+ 8
+0
+100
+AcDbBlockEnd
+ 0
+BLOCK
+ 5
+1C
+330
+1B
+100
+AcDbEntity
+ 67
+ 1
+ 8
+0
+100
+AcDbBlockBegin
+ 2
+*PAPER_SPACE
+ 1
+
+ 0
+ENDBLK
+ 5
+1D
+330
+1B
+100
+AcDbEntity
+ 67
+ 1
+ 8
+0
+100
+AcDbBlockEnd
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+ENTITIES
+ 0
+LWPOLYLINE
+ 5
+100
+100
+AcDbEntity
+ 8
+Layer_1
+ 62
+7
+100
+AcDbPolyline
+ 90
+18
+ 70
+0
+ 10
+25.000000
+ 20
+41.999999
+ 30
+0.0
+ 10
+22.734375
+ 20
+37.093749
+ 30
+0.0
+ 10
+20.375000
+ 20
+32.749999
+ 30
+0.0
+ 10
+17.828125
+ 20
+28.781249
+ 30
+0.0
+ 10
+15.000000
+ 20
+24.999999
+ 30
+0.0
+ 10
+17.828125
+ 20
+21.203124
+ 30
+0.0
+ 10
+20.375000
+ 20
+17.124999
+ 30
+0.0
+ 10
+22.734375
+ 20
+12.484374
+ 30
+0.0
+ 10
+25.000000
+ 20
+7.000000
+ 30
+0.0
+ 10
+27.265625
+ 20
+12.484374
+ 30
+0.0
+ 10
+29.625000
+ 20
+17.124999
+ 30
+0.0
+ 10
+32.171875
+ 20
+21.203124
+ 30
+0.0
+ 10
+35.000001
+ 20
+24.999999
+ 30
+0.0
+ 10
+32.171875
+ 20
+28.781249
+ 30
+0.0
+ 10
+29.625000
+ 20
+32.749999
+ 30
+0.0
+ 10
+27.265625
+ 20
+37.093749
+ 30
+0.0
+ 10
+25.000000
+ 20
+41.999999
+ 30
+0.0
+ 10
+25.000000
+ 20
+41.999999
+ 30
+0.0
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+OBJECTS
+ 0
+DICTIONARY
+ 5
+C
+330
+0
+100
+AcDbDictionary
+ 3
+ACAD_GROUP
+350
+D
+ 3
+ACAD_MLINESTYLE
+350
+17
+ 0
+DICTIONARY
+ 5
+D
+330
+C
+100
+AcDbDictionary
+ 0
+DICTIONARY
+ 5
+1A
+330
+C
+100
+AcDbDictionary
+ 0
+DICTIONARY
+ 5
+17
+330
+C
+100
+AcDbDictionary
+ 3
+STANDARD
+350
+18
+ 0
+DICTIONARY
+ 5
+19
+330
+C
+100
+AcDbDictionary
+ 0
+ENDSEC
+ 0
+EOF
diff --git a/graphics/diamonds.svg b/graphics/diamonds.svg
new file mode 100644
index 0000000..886afc4
--- /dev/null
+++ b/graphics/diamonds.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="177.16534"
+ height="177.16534"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="arms.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.9297236"
+ inkscape:cx="88.58489"
+ inkscape:cy="93.538475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="mm"
+ inkscape:window-width="919"
+ inkscape:window-height="783"
+ inkscape:window-x="292"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3011"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-875.19684)">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="M 88.582677,28.346447 C 77.952756,53.149596 67.322835,70.866132 53.149606,88.582667 67.322835,106.2992 77.952756,124.01574 88.582677,152.36219 99.212598,124.01574 109.84252,106.2992 124.01575,88.582667 109.84252,70.866132 99.212598,53.149596 88.582677,28.346447 z"
+ id="path2984"
+ inkscape:connector-curvature="0"
+ transform="translate(0,875.19684)"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/graphics/hearts-flattened.svg b/graphics/hearts-flattened.svg
new file mode 100644
index 0000000..894be90
--- /dev/null
+++ b/graphics/hearts-flattened.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="177.16534"
+ height="177.16534"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="hearts.svg">
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.9297236"
+ inkscape:cx="88.58489"
+ inkscape:cy="93.538475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="mm"
+ inkscape:window-width="919"
+ inkscape:window-height="783"
+ inkscape:window-x="292"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3011"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-875.19684)">
+ <path
+ sodipodi:nodetypes="czzczzc"
+ transform="translate(0,875.19684)"
+ inkscape:connector-curvature="0"
+ id="path3823"
+ d="M88.582677 53.149596L92.5602832344 46.3111533594L95.4593648145 42.2375799785L98.894351125 38.161780375L102.812031482 34.4092609121L107.159195203 31.3055279531L111.882631604 29.1760878613L116.92913 28.346447L121.968765059 28.7766262715L126.643896719 30.1496627344L130.859742207 32.3755869863L134.52151875 35.364429625L137.534443574 39.026221248L139.803733906 43.2709924531L141.234606973 48.0087738379L141.73228 53.149596L141.213011846 56.2869065527L139.738770816 60.3172598594L134.423623219 70.641741125L126.783343387 83.2923325781L117.8144375 97.438327L108.513411738 112.249017172L99.8767722812 126.893695875L92.9010253086 140.541655891L90.3473946851 146.732270385L88.582677 152.36219L86.8177957168 146.731160447L84.2637179219 140.537512123L77.286487625 126.879488672L68.6480157656 112.222378666L59.345332 97.400441125L50.3754659844 83.2479350684L42.735447375 70.5991195156L37.4223058281 60.2882534863L35.9498857207 56.2702574866L35.433071 53.149596L35.9192745391 48.0540433984L37.313918625 43.3693735625L39.5362387109 39.1751678203L42.50547025 35.5510075L46.1408486953 32.5764739297L50.3616095 30.3311484375L55.0869881172 28.8946123516L60.23622 28.346447L65.3929260762 29.0622455488L70.1680929844 31.1382494531L74.5220047441 34.2350124746L78.414945375 38.013088375L81.8071988965 42.133030916L84.6590493281 46.2553938594L88.582677 53.149596L88.582677 53.149596"
+ style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
+ </g>
+</svg>
diff --git a/graphics/hearts.dxf b/graphics/hearts.dxf
new file mode 100644
index 0000000..bfeda20
--- /dev/null
+++ b/graphics/hearts.dxf
@@ -0,0 +1,982 @@
+ 0
+SECTION
+ 2
+HEADER
+ 9
+$ACADVER
+ 1
+AC1014
+ 9
+$HANDSEED
+ 5
+FFFF
+ 9
+$MEASUREMENT
+ 70
+ 1
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+TABLES
+ 0
+TABLE
+ 2
+VPORT
+ 5
+8
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 4
+ 0
+VPORT
+ 5
+2E
+330
+8
+100
+AcDbSymbolTableRecord
+100
+AcDbViewportTableRecord
+ 2
+*ACTIVE
+ 70
+ 0
+ 10
+0.0
+ 20
+0.0
+ 11
+1.0
+ 21
+1.0
+ 12
+210.0
+ 22
+148.5
+ 13
+0.0
+ 23
+0.0
+ 14
+10.0
+ 24
+10.0
+ 15
+10.0
+ 25
+10.0
+ 16
+0.0
+ 26
+0.0
+ 36
+1.0
+ 17
+0.0
+ 27
+0.0
+ 37
+0.0
+ 40
+341.0
+ 41
+1.24
+ 42
+50.0
+ 43
+0.0
+ 44
+0.0
+ 50
+0.0
+ 51
+0.0
+ 71
+ 0
+ 72
+ 100
+ 73
+ 1
+ 74
+ 3
+ 75
+ 0
+ 76
+ 0
+ 77
+ 0
+ 78
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+LTYPE
+ 5
+5
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+LTYPE
+ 5
+14
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+BYBLOCK
+ 70
+ 0
+ 3
+
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+LTYPE
+ 5
+15
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+BYLAYER
+ 70
+ 0
+ 3
+
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+LTYPE
+ 5
+16
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+CONTINUOUS
+ 70
+ 0
+ 3
+Solid line
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+LAYER
+ 5
+2
+100
+AcDbSymbolTable
+ 70
+2
+ 0
+LAYER
+ 5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+ 2
+0
+ 70
+0
+ 6
+CONTINUOUS
+ 0
+LAYER
+ 5
+51
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+ 2
+Layer_1
+ 70
+0
+ 6
+CONTINUOUS
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+STYLE
+ 5
+3
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+STYLE
+ 5
+11
+330
+3
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+ 2
+STANDARD
+ 70
+ 0
+ 40
+0.0
+ 41
+1.0
+ 50
+0.0
+ 71
+ 0
+ 42
+2.5
+ 3
+txt
+ 4
+
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+VIEW
+ 5
+6
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+UCS
+ 5
+7
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+APPID
+ 5
+9
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 2
+ 0
+APPID
+ 5
+12
+330
+9
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+ 2
+ACAD
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+DIMSTYLE
+ 5
+A
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+DIMSTYLE
+105
+27
+330
+A
+100
+AcDbSymbolTableRecord
+100
+AcDbDimStyleTableRecord
+ 2
+ISO-25
+ 70
+ 0
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 40
+1.0
+ 41
+2.5
+ 42
+0.625
+ 43
+3.75
+ 44
+1.25
+ 45
+0.0
+ 46
+0.0
+ 47
+0.0
+ 48
+0.0
+140
+2.5
+141
+2.5
+142
+0.0
+143
+0.03937007874016
+144
+1.0
+145
+0.0
+146
+1.0
+147
+0.625
+ 71
+ 0
+ 72
+ 0
+ 73
+ 0
+ 74
+ 0
+ 75
+ 0
+ 76
+ 0
+ 77
+ 1
+ 78
+ 8
+170
+ 0
+171
+ 3
+172
+ 1
+173
+ 0
+174
+ 0
+175
+ 0
+176
+ 0
+177
+ 0
+178
+ 0
+270
+ 2
+271
+ 2
+272
+ 2
+273
+ 2
+274
+ 3
+340
+11
+275
+ 0
+280
+ 0
+281
+ 0
+282
+ 0
+283
+ 0
+284
+ 8
+285
+ 0
+286
+ 0
+287
+ 3
+288
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+BLOCK_RECORD
+ 5
+1
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+BLOCK_RECORD
+ 5
+1F
+330
+1
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+ 2
+*MODEL_SPACE
+ 0
+BLOCK_RECORD
+ 5
+1B
+330
+1
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+ 2
+*PAPER_SPACE
+ 0
+ENDTAB
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+BLOCKS
+ 0
+BLOCK
+ 5
+20
+330
+1F
+100
+AcDbEntity
+ 8
+0
+100
+AcDbBlockBegin
+ 2
+*MODEL_SPACE
+ 70
+ 0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 3
+*MODEL_SPACE
+ 1
+
+ 0
+ENDBLK
+ 5
+21
+330
+1F
+100
+AcDbEntity
+ 8
+0
+100
+AcDbBlockEnd
+ 0
+BLOCK
+ 5
+1C
+330
+1B
+100
+AcDbEntity
+ 67
+ 1
+ 8
+0
+100
+AcDbBlockBegin
+ 2
+*PAPER_SPACE
+ 1
+
+ 0
+ENDBLK
+ 5
+1D
+330
+1B
+100
+AcDbEntity
+ 67
+ 1
+ 8
+0
+100
+AcDbBlockEnd
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+ENTITIES
+ 0
+LWPOLYLINE
+ 5
+100
+100
+AcDbEntity
+ 8
+Layer_1
+ 62
+7
+100
+AcDbPolyline
+ 90
+52
+ 70
+0
+ 10
+25.000000
+ 20
+34.999999
+ 30
+0.0
+ 10
+26.122569
+ 20
+36.929959
+ 30
+0.0
+ 10
+26.940754
+ 20
+38.079612
+ 30
+0.0
+ 10
+27.910184
+ 20
+39.229893
+ 30
+0.0
+ 10
+29.015840
+ 20
+40.288938
+ 30
+0.0
+ 10
+30.242706
+ 20
+41.164880
+ 30
+0.0
+ 10
+31.575765
+ 20
+41.765856
+ 30
+0.0
+ 10
+32.999999
+ 20
+41.999999
+ 30
+0.0
+ 10
+34.422296
+ 20
+41.878593
+ 30
+0.0
+ 10
+35.741722
+ 20
+41.491091
+ 30
+0.0
+ 10
+36.931527
+ 20
+40.862886
+ 30
+0.0
+ 10
+37.964962
+ 20
+40.019368
+ 30
+0.0
+ 10
+38.815276
+ 20
+38.985929
+ 30
+0.0
+ 10
+39.455720
+ 20
+37.787960
+ 30
+0.0
+ 10
+39.859545
+ 20
+36.450853
+ 30
+0.0
+ 10
+39.999999
+ 20
+34.999999
+ 30
+0.0
+ 10
+39.853450
+ 20
+34.114580
+ 30
+0.0
+ 10
+39.437386
+ 20
+32.977125
+ 30
+0.0
+ 10
+37.937334
+ 20
+30.063327
+ 30
+0.0
+ 10
+35.781077
+ 20
+26.493049
+ 30
+0.0
+ 10
+33.249852
+ 20
+22.500735
+ 30
+0.0
+ 10
+30.624896
+ 20
+18.320829
+ 30
+0.0
+ 10
+28.187445
+ 20
+14.187775
+ 30
+0.0
+ 10
+26.218734
+ 20
+10.336018
+ 30
+0.0
+ 10
+25.498043
+ 20
+8.588889
+ 30
+0.0
+ 10
+25.000000
+ 20
+7.000000
+ 30
+0.0
+ 10
+24.501911
+ 20
+8.589202
+ 30
+0.0
+ 10
+23.781094
+ 20
+10.337187
+ 30
+0.0
+ 10
+21.811964
+ 20
+14.191785
+ 30
+0.0
+ 10
+19.373996
+ 20
+18.328347
+ 30
+0.0
+ 10
+16.748571
+ 20
+22.511427
+ 30
+0.0
+ 10
+14.217076
+ 20
+26.505579
+ 30
+0.0
+ 10
+12.060893
+ 20
+30.075356
+ 30
+0.0
+ 10
+10.561406
+ 20
+32.985311
+ 30
+0.0
+ 10
+10.145857
+ 20
+34.119279
+ 30
+0.0
+ 10
+10.000000
+ 20
+34.999999
+ 30
+0.0
+ 10
+10.137217
+ 20
+36.438077
+ 30
+0.0
+ 10
+10.530817
+ 20
+37.760195
+ 30
+0.0
+ 10
+11.158005
+ 20
+38.943893
+ 30
+0.0
+ 10
+11.995988
+ 20
+39.966712
+ 30
+0.0
+ 10
+13.021973
+ 20
+40.806191
+ 30
+0.0
+ 10
+14.213165
+ 20
+41.439872
+ 30
+0.0
+ 10
+15.546772
+ 20
+41.845294
+ 30
+0.0
+ 10
+17.000000
+ 20
+41.999999
+ 30
+0.0
+ 10
+18.455337
+ 20
+41.797984
+ 30
+0.0
+ 10
+19.802995
+ 20
+41.212090
+ 30
+0.0
+ 10
+21.031766
+ 20
+40.338115
+ 30
+0.0
+ 10
+22.130440
+ 20
+39.271858
+ 30
+0.0
+ 10
+23.087809
+ 20
+38.109118
+ 30
+0.0
+ 10
+23.892665
+ 20
+36.945696
+ 30
+0.0
+ 10
+25.000000
+ 20
+34.999999
+ 30
+0.0
+ 10
+25.000000
+ 20
+34.999999
+ 30
+0.0
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+OBJECTS
+ 0
+DICTIONARY
+ 5
+C
+330
+0
+100
+AcDbDictionary
+ 3
+ACAD_GROUP
+350
+D
+ 3
+ACAD_MLINESTYLE
+350
+17
+ 0
+DICTIONARY
+ 5
+D
+330
+C
+100
+AcDbDictionary
+ 0
+DICTIONARY
+ 5
+1A
+330
+C
+100
+AcDbDictionary
+ 0
+DICTIONARY
+ 5
+17
+330
+C
+100
+AcDbDictionary
+ 3
+STANDARD
+350
+18
+ 0
+DICTIONARY
+ 5
+19
+330
+C
+100
+AcDbDictionary
+ 0
+ENDSEC
+ 0
+EOF
diff --git a/graphics/hearts.svg b/graphics/hearts.svg
new file mode 100644
index 0000000..80f33ea
--- /dev/null
+++ b/graphics/hearts.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="177.16534"
+ height="177.16534"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="diamonds.dxf">
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.9297236"
+ inkscape:cx="88.58489"
+ inkscape:cy="93.538475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="mm"
+ inkscape:window-width="919"
+ inkscape:window-height="783"
+ inkscape:window-x="292"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ spacingy="1mm"
+ spacingx="1mm"
+ units="mm"
+ snapvisiblegridlinesonly="true"
+ enabled="true"
+ visible="true"
+ empspacing="5"
+ id="grid3011"
+ type="xygrid" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(0,-875.19684)"
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 88.582677,53.149596 C 92.125984,46.062982 103.08835,28.536418 116.92913,28.346447 130.76991,28.156476 141.73367,38.983322 141.73228,53.149596 141.73089,67.31587 95.669291,124.01574 88.582677,152.36219 81.496063,124.01574 35.419573,67.214841 35.433071,53.149596 35.446569,39.084351 46.011588,28.552988 60.23622,28.346447 74.460852,28.139906 85.03937,46.062982 88.582677,53.149596 z"
+ id="path3823"
+ inkscape:connector-curvature="0"
+ transform="translate(0,875.19684)"
+ sodipodi:nodetypes="czzczzc" />
+ </g>
+</svg>
diff --git a/graphics/spades-flattened.svg b/graphics/spades-flattened.svg
new file mode 100644
index 0000000..6805cc1
--- /dev/null
+++ b/graphics/spades-flattened.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="spades.svg"
+ inkscape:version="0.48.4 r9939"
+ version="1.1"
+ id="svg2"
+ height="177.16534"
+ width="177.16534">
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.9297236"
+ inkscape:cx="88.58489"
+ inkscape:cy="93.538475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="mm"
+ inkscape:window-width="919"
+ inkscape:window-height="783"
+ inkscape:window-x="292"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3011"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-875.19684)">
+ <path
+ sodipodi:nodetypes="ccczzczzcc"
+ inkscape:connector-curvature="0"
+ id="path3823"
+ d="M81.496063 1027.559L95.669291 1027.559L93.7315449844 1019.75266719L93.3647573457 1016.16092363L93.454724125 1012.9428875L94.0429684512 1010.22312793L95.1710134531 1008.12621406L96.8803822598 1006.77671504L99.212598 1006.2992L104.450009156 1014.09079531L109.63572225 1020.8760125L112.25765966 1023.58901738L114.924833719 1025.68777344L117.65663148 1027.0513959L120.47244 1027.559L123.578967266 1027.1042918L127.01679625 1025.71951562L130.556126484 1023.49170664L133.9671575 1020.5079L137.020088828 1016.85513086L139.48512 1012.62043438L141.132450547 1007.8908457L141.73228 1002.7534L141.213076116 999.616093672L139.738882789 995.585744062L134.42378775 985.26126875L126.783514773 972.610681562L117.81458375 958.46469L108.51351457 943.654001562L99.876827125 929.00932375L92.9010413047 915.361364062L90.3473989697 909.170749609L88.582677 903.54083L86.8177957168 909.171859448L84.2637179219 915.365507461L77.286487625 929.023529687L68.6480157656 943.680637695L59.345332 958.5025725L50.3754659844 972.655075117L42.735447375 985.303886562L37.4223058281 995.614747852L35.9498857207 999.632741255L35.433071 1002.7534L36.0116364805 1007.85262734L37.5989503438 1012.5462125L39.9876262227 1016.75147266L42.97027775 1020.385725L46.3395185586 1023.36628672L49.8879622812 1025.610475L53.4082225508 1027.03560703L56.692913 1027.559L59.6874955879 1027.11593809L62.5032076406 1025.78261094L65.1813269668 1023.68780645L67.763131375 1020.9603125L72.8029066719 1014.12240781L77.952756 1006.2992L80.2849717402 1006.77671504L81.9943405469 1008.12621406L83.1223855488 1010.22312793L83.710629875 1012.9428875L83.8005966543 1016.16092363L83.4338090156 1019.75266719L81.496063 1027.559L81.496063 1027.559"
+ style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+</svg>
diff --git a/graphics/spades.dxf b/graphics/spades.dxf
new file mode 100644
index 0000000..671acb0
--- /dev/null
+++ b/graphics/spades.dxf
@@ -0,0 +1,1060 @@
+ 0
+SECTION
+ 2
+HEADER
+ 9
+$ACADVER
+ 1
+AC1014
+ 9
+$HANDSEED
+ 5
+FFFF
+ 9
+$MEASUREMENT
+ 70
+ 1
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+TABLES
+ 0
+TABLE
+ 2
+VPORT
+ 5
+8
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 4
+ 0
+VPORT
+ 5
+2E
+330
+8
+100
+AcDbSymbolTableRecord
+100
+AcDbViewportTableRecord
+ 2
+*ACTIVE
+ 70
+ 0
+ 10
+0.0
+ 20
+0.0
+ 11
+1.0
+ 21
+1.0
+ 12
+210.0
+ 22
+148.5
+ 13
+0.0
+ 23
+0.0
+ 14
+10.0
+ 24
+10.0
+ 15
+10.0
+ 25
+10.0
+ 16
+0.0
+ 26
+0.0
+ 36
+1.0
+ 17
+0.0
+ 27
+0.0
+ 37
+0.0
+ 40
+341.0
+ 41
+1.24
+ 42
+50.0
+ 43
+0.0
+ 44
+0.0
+ 50
+0.0
+ 51
+0.0
+ 71
+ 0
+ 72
+ 100
+ 73
+ 1
+ 74
+ 3
+ 75
+ 0
+ 76
+ 0
+ 77
+ 0
+ 78
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+LTYPE
+ 5
+5
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+LTYPE
+ 5
+14
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+BYBLOCK
+ 70
+ 0
+ 3
+
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+LTYPE
+ 5
+15
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+BYLAYER
+ 70
+ 0
+ 3
+
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+LTYPE
+ 5
+16
+330
+5
+100
+AcDbSymbolTableRecord
+100
+AcDbLinetypeTableRecord
+ 2
+CONTINUOUS
+ 70
+ 0
+ 3
+Solid line
+ 72
+ 65
+ 73
+ 0
+ 40
+0.0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+LAYER
+ 5
+2
+100
+AcDbSymbolTable
+ 70
+2
+ 0
+LAYER
+ 5
+50
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+ 2
+0
+ 70
+0
+ 6
+CONTINUOUS
+ 0
+LAYER
+ 5
+51
+100
+AcDbSymbolTableRecord
+100
+AcDbLayerTableRecord
+ 2
+Layer_1
+ 70
+0
+ 6
+CONTINUOUS
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+STYLE
+ 5
+3
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+STYLE
+ 5
+11
+330
+3
+100
+AcDbSymbolTableRecord
+100
+AcDbTextStyleTableRecord
+ 2
+STANDARD
+ 70
+ 0
+ 40
+0.0
+ 41
+1.0
+ 50
+0.0
+ 71
+ 0
+ 42
+2.5
+ 3
+txt
+ 4
+
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+VIEW
+ 5
+6
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+UCS
+ 5
+7
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+APPID
+ 5
+9
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 2
+ 0
+APPID
+ 5
+12
+330
+9
+100
+AcDbSymbolTableRecord
+100
+AcDbRegAppTableRecord
+ 2
+ACAD
+ 70
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+DIMSTYLE
+ 5
+A
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+DIMSTYLE
+105
+27
+330
+A
+100
+AcDbSymbolTableRecord
+100
+AcDbDimStyleTableRecord
+ 2
+ISO-25
+ 70
+ 0
+ 3
+
+ 4
+
+ 5
+
+ 6
+
+ 7
+
+ 40
+1.0
+ 41
+2.5
+ 42
+0.625
+ 43
+3.75
+ 44
+1.25
+ 45
+0.0
+ 46
+0.0
+ 47
+0.0
+ 48
+0.0
+140
+2.5
+141
+2.5
+142
+0.0
+143
+0.03937007874016
+144
+1.0
+145
+0.0
+146
+1.0
+147
+0.625
+ 71
+ 0
+ 72
+ 0
+ 73
+ 0
+ 74
+ 0
+ 75
+ 0
+ 76
+ 0
+ 77
+ 1
+ 78
+ 8
+170
+ 0
+171
+ 3
+172
+ 1
+173
+ 0
+174
+ 0
+175
+ 0
+176
+ 0
+177
+ 0
+178
+ 0
+270
+ 2
+271
+ 2
+272
+ 2
+273
+ 2
+274
+ 3
+340
+11
+275
+ 0
+280
+ 0
+281
+ 0
+282
+ 0
+283
+ 0
+284
+ 8
+285
+ 0
+286
+ 0
+287
+ 3
+288
+ 0
+ 0
+ENDTAB
+ 0
+TABLE
+ 2
+BLOCK_RECORD
+ 5
+1
+330
+0
+100
+AcDbSymbolTable
+ 70
+ 1
+ 0
+BLOCK_RECORD
+ 5
+1F
+330
+1
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+ 2
+*MODEL_SPACE
+ 0
+BLOCK_RECORD
+ 5
+1B
+330
+1
+100
+AcDbSymbolTableRecord
+100
+AcDbBlockTableRecord
+ 2
+*PAPER_SPACE
+ 0
+ENDTAB
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+BLOCKS
+ 0
+BLOCK
+ 5
+20
+330
+1F
+100
+AcDbEntity
+ 8
+0
+100
+AcDbBlockBegin
+ 2
+*MODEL_SPACE
+ 70
+ 0
+ 10
+0.0
+ 20
+0.0
+ 30
+0.0
+ 3
+*MODEL_SPACE
+ 1
+
+ 0
+ENDBLK
+ 5
+21
+330
+1F
+100
+AcDbEntity
+ 8
+0
+100
+AcDbBlockEnd
+ 0
+BLOCK
+ 5
+1C
+330
+1B
+100
+AcDbEntity
+ 67
+ 1
+ 8
+0
+100
+AcDbBlockBegin
+ 2
+*PAPER_SPACE
+ 1
+
+ 0
+ENDBLK
+ 5
+1D
+330
+1B
+100
+AcDbEntity
+ 67
+ 1
+ 8
+0
+100
+AcDbBlockEnd
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+ENTITIES
+ 0
+LWPOLYLINE
+ 5
+100
+100
+AcDbEntity
+ 8
+Layer_1
+ 62
+7
+100
+AcDbPolyline
+ 90
+65
+ 70
+0
+ 10
+23.000000
+ 20
+7.000009
+ 30
+0.0
+ 10
+27.000000
+ 20
+7.000009
+ 30
+0.0
+ 10
+26.453125
+ 20
+9.203129
+ 30
+0.0
+ 10
+26.349609
+ 20
+10.216799
+ 30
+0.0
+ 10
+26.375000
+ 20
+11.125000
+ 30
+0.0
+ 10
+26.541016
+ 20
+11.892577
+ 30
+0.0
+ 10
+26.859375
+ 20
+12.484373
+ 30
+0.0
+ 10
+27.341797
+ 20
+12.865231
+ 30
+0.0
+ 10
+28.000000
+ 20
+12.999997
+ 30
+0.0
+ 10
+29.478114
+ 20
+10.801035
+ 30
+0.0
+ 10
+30.941637
+ 20
+8.886096
+ 30
+0.0
+ 10
+31.681606
+ 20
+8.120426
+ 30
+0.0
+ 10
+32.434342
+ 20
+7.528110
+ 30
+0.0
+ 10
+33.205316
+ 20
+7.143266
+ 30
+0.0
+ 10
+34.000000
+ 20
+7.000009
+ 30
+0.0
+ 10
+34.876731
+ 20
+7.128337
+ 30
+0.0
+ 10
+35.846962
+ 20
+7.519152
+ 30
+0.0
+ 10
+36.845840
+ 20
+8.147889
+ 30
+0.0
+ 10
+37.808509
+ 20
+8.989986
+ 30
+0.0
+ 10
+38.670114
+ 20
+10.020878
+ 30
+0.0
+ 10
+39.365801
+ 20
+11.216004
+ 30
+0.0
+ 10
+39.830714
+ 20
+12.550799
+ 30
+0.0
+ 10
+39.999999
+ 20
+14.000700
+ 30
+0.0
+ 10
+39.853468
+ 20
+14.886118
+ 30
+0.0
+ 10
+39.437418
+ 20
+16.023572
+ 30
+0.0
+ 10
+37.937380
+ 20
+18.937368
+ 30
+0.0
+ 10
+35.781125
+ 20
+22.507645
+ 30
+0.0
+ 10
+33.249894
+ 20
+26.499958
+ 30
+0.0
+ 10
+30.624925
+ 20
+30.679864
+ 30
+0.0
+ 10
+28.187460
+ 20
+34.812917
+ 30
+0.0
+ 10
+26.218738
+ 20
+38.664675
+ 30
+0.0
+ 10
+25.498044
+ 20
+40.411804
+ 30
+0.0
+ 10
+25.000000
+ 20
+42.000692
+ 30
+0.0
+ 10
+24.501911
+ 20
+40.411490
+ 30
+0.0
+ 10
+23.781094
+ 20
+38.663505
+ 30
+0.0
+ 10
+21.811964
+ 20
+34.808908
+ 30
+0.0
+ 10
+19.373996
+ 20
+30.672346
+ 30
+0.0
+ 10
+16.748571
+ 20
+26.489267
+ 30
+0.0
+ 10
+14.217076
+ 20
+22.495116
+ 30
+0.0
+ 10
+12.060893
+ 20
+18.925341
+ 30
+0.0
+ 10
+10.561406
+ 20
+16.015386
+ 30
+0.0
+ 10
+10.145857
+ 20
+14.881419
+ 30
+0.0
+ 10
+10.000000
+ 20
+14.000700
+ 30
+0.0
+ 10
+10.163284
+ 20
+12.561585
+ 30
+0.0
+ 10
+10.611259
+ 20
+11.236951
+ 30
+0.0
+ 10
+11.285397
+ 20
+10.050133
+ 30
+0.0
+ 10
+12.127167
+ 20
+9.024466
+ 30
+0.0
+ 10
+13.078042
+ 20
+8.183285
+ 30
+0.0
+ 10
+14.079492
+ 20
+7.549926
+ 30
+0.0
+ 10
+15.072987
+ 20
+7.147722
+ 30
+0.0
+ 10
+16.000000
+ 20
+7.000009
+ 30
+0.0
+ 10
+16.845138
+ 20
+7.125050
+ 30
+0.0
+ 10
+17.639794
+ 20
+7.501345
+ 30
+0.0
+ 10
+18.395619
+ 20
+8.092545
+ 30
+0.0
+ 10
+19.124262
+ 20
+8.862305
+ 30
+0.0
+ 10
+20.546598
+ 20
+10.792113
+ 30
+0.0
+ 10
+22.000000
+ 20
+12.999997
+ 30
+0.0
+ 10
+22.658203
+ 20
+12.865231
+ 30
+0.0
+ 10
+23.140625
+ 20
+12.484373
+ 30
+0.0
+ 10
+23.458984
+ 20
+11.892577
+ 30
+0.0
+ 10
+23.625000
+ 20
+11.125000
+ 30
+0.0
+ 10
+23.650391
+ 20
+10.216799
+ 30
+0.0
+ 10
+23.546875
+ 20
+9.203129
+ 30
+0.0
+ 10
+23.000000
+ 20
+7.000009
+ 30
+0.0
+ 10
+23.000000
+ 20
+7.000009
+ 30
+0.0
+ 0
+ENDSEC
+ 0
+SECTION
+ 2
+OBJECTS
+ 0
+DICTIONARY
+ 5
+C
+330
+0
+100
+AcDbDictionary
+ 3
+ACAD_GROUP
+350
+D
+ 3
+ACAD_MLINESTYLE
+350
+17
+ 0
+DICTIONARY
+ 5
+D
+330
+C
+100
+AcDbDictionary
+ 0
+DICTIONARY
+ 5
+1A
+330
+C
+100
+AcDbDictionary
+ 0
+DICTIONARY
+ 5
+17
+330
+C
+100
+AcDbDictionary
+ 3
+STANDARD
+350
+18
+ 0
+DICTIONARY
+ 5
+19
+330
+C
+100
+AcDbDictionary
+ 0
+ENDSEC
+ 0
+EOF
diff --git a/graphics/spades.svg b/graphics/spades.svg
new file mode 100644
index 0000000..5e49158
--- /dev/null
+++ b/graphics/spades.svg
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="hearts.dxf"
+ inkscape:version="0.48.4 r9939"
+ version="1.1"
+ id="svg2"
+ height="177.16534"
+ width="177.16534">
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.9297236"
+ inkscape:cx="88.58489"
+ inkscape:cy="93.538475"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="mm"
+ inkscape:window-width="919"
+ inkscape:window-height="783"
+ inkscape:window-x="292"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ spacingy="1mm"
+ spacingx="1mm"
+ units="mm"
+ snapvisiblegridlinesonly="true"
+ enabled="true"
+ visible="true"
+ empspacing="5"
+ id="grid3011"
+ type="xygrid" />
+ </sodipodi:namedview>
+ <defs
+ id="defs4" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(0,-875.19684)"
+ id="layer1"
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 81.496063,1027.559 c 7.086614,0 7.086614,0 14.173228,0 -3.543307,-10.6299 -3.543307,-21.2598 3.543307,-21.2598 7.086612,10.6299 13.621772,21.155 21.259842,21.2598 7.63807,0.1049 21.26123,-10.6393 21.25984,-24.8056 -0.001,-14.16625 -46.062989,-70.86612 -53.149603,-99.21257 -7.086614,28.34645 -53.163104,85.14734 -53.149606,99.21257 0.0135,14.0653 12.999104,24.6857 21.259842,24.8056 8.260739,0.12 14.173229,-10.6299 21.259843,-21.2598 7.086614,0 7.086614,10.6299 3.543307,21.2598 z"
+ id="path3823"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccczzczzcc" />
+ </g>
+</svg>