diff --git a/FlatCAM.py b/flatcam.py similarity index 100% rename from FlatCAM.py rename to flatcam.py diff --git a/tests/__init__.py b/tests/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/canvas/performance.py b/tests/canvas/performance.py deleted file mode 100644 index 40047291..00000000 --- a/tests/canvas/performance.py +++ /dev/null @@ -1,95 +0,0 @@ - -import matplotlib -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import numpy as np -import io -from matplotlib.backends.backend_agg import FigureCanvasAgg -from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg -from matplotlib.figure import Figure -import cProfile -import sys - - -def gen_data(): - N = 100000 - x = np.random.rand(N) * 10 - y = np.random.rand(N) * 10 - colors = np.random.rand(N) - area = np.pi * (15 * np.random.rand(N))**2 # 0 to 15 point radiuses - data = x, y, area, colors - return data - - -# @profile -def large_plot(data): - x, y, area, colors = data - - fig = Figure(figsize=(10, 10), dpi=80) - axes = fig.add_axes([0.0, 0.0, 1.0, 1.0], alpha=1.0) - axes.set_frame_on(False) - axes.set_xticks([]) - axes.set_yticks([]) - # axes.set_xlim(0, 10) - # axes.set_ylim(0, 10) - - axes.scatter(x, y, s=area, c=colors, alpha=0.5) - - axes.set_xlim(0, 10) - axes.set_ylim(0, 10) - - canvas = FigureCanvasAgg(fig) - canvas.draw() - # canvas = FigureCanvasQTAgg(fig) - # buf = canvas.tostring_rgb() - buf = fig.canvas.tostring_rgb() - - ncols, nrows = fig.canvas.get_width_height() - img = np.fromstring(buf, dtype=np.uint8).reshape(nrows, ncols, 3) - - return img - - -def small_plot(data): - x, y, area, colors = data - - fig = Figure(figsize=(3, 3), dpi=80) - axes = fig.add_axes([0.0, 0.0, 1.0, 1.0], alpha=1.0) - axes.set_frame_on(False) - axes.set_xticks([]) - axes.set_yticks([]) - # axes.set_xlim(5, 6) - # axes.set_ylim(5, 6) - - axes.scatter(x, y, s=area, c=colors, alpha=0.5) - - axes.set_xlim(4, 7) - axes.set_ylim(4, 7) - - canvas = FigureCanvasAgg(fig) - canvas.draw() - # canvas = FigureCanvasQTAgg(fig) - # buf = canvas.tostring_rgb() - buf = fig.canvas.tostring_rgb() - - ncols, nrows = fig.canvas.get_width_height() - img = np.fromstring(buf, dtype=np.uint8).reshape(nrows, ncols, 3) - - return img - -def doit(): - d = gen_data() - img = large_plot(d) - return img - - -if __name__ == "__main__": - - d = gen_data() - - if sys.argv[1] == 'large': - cProfile.runctx('large_plot(d)', None, locals()) - else: - cProfile.runctx('small_plot(d)', None, locals()) - - diff --git a/tests/canvas/prof.sh b/tests/canvas/prof.sh deleted file mode 100755 index b9075848..00000000 --- a/tests/canvas/prof.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -echo "*** LARGE ***" -python performance.py large | egrep "(\(scatter\))|(\(draw\))|(tostring_rgb)|(fromstring)" -echo "*** SMALL ***" -python performance.py small | egrep "(\(scatter\))|(\(draw\))|(tostring_rgb)|(fromstring)" \ No newline at end of file diff --git a/tests/excellon_files/case1.drl b/tests/excellon_files/case1.drl deleted file mode 100644 index 95b89ca3..00000000 --- a/tests/excellon_files/case1.drl +++ /dev/null @@ -1,125 +0,0 @@ -M48 -INCH -T01C0.0200 -T02C0.0800 -T03C0.0600 -T04C0.0300 -T05C0.0650 -T06C0.0450 -T07C0.0400 -T08C0.1181 -T09C0.0500 -% -T01 -X-018204Y+015551 -X-025842Y+015551 -T02 -X-000118Y+020629 -X-000118Y+016889 -X+012401Y+020629 -X+012401Y+016889 -X-010170Y+002440 -X-010110Y+011470 -X+018503Y+026574 -T03 -X+013060Y+010438 -X+013110Y+000000 -X-049015Y+002165 -X+018378Y+010433 -X+018317Y+000000 -X-049015Y+010039 -X-041141Y-000629 -X-041181Y+012992 -X-056496Y+012992 -X-056496Y-000590 -T04 -X-037560Y+030490 -X-036560Y+030490 -X-035560Y+030490 -X-034560Y+030490 -X-033560Y+030490 -X-032560Y+030490 -X-031560Y+030490 -X-030560Y+030490 -X-029560Y+030490 -X-028560Y+030490 -X-027560Y+030490 -X-026560Y+030490 -X-025560Y+030490 -X-024560Y+030490 -X-024560Y+036490 -X-025560Y+036490 -X-026560Y+036490 -X-027560Y+036490 -X-028560Y+036490 -X-029560Y+036490 -X-030560Y+036490 -X-031560Y+036490 -X-032560Y+036490 -X-033560Y+036490 -X-034560Y+036490 -X-035560Y+036490 -X-036560Y+036490 -X-037560Y+036490 -X-014590Y+030810 -X-013590Y+030810 -X-012590Y+030810 -X-011590Y+030810 -X-011590Y+033810 -X-012590Y+033810 -X-013590Y+033810 -X-014590Y+033810 -X-021260Y+034680 -X-020010Y+034680 -X-008390Y+035840 -X-008390Y+034590 -X-008440Y+031870 -X-008440Y+030620 -T05 -X-022504Y+019291 -X-020354Y+019291 -X-018204Y+019291 -X-030142Y+019291 -X-027992Y+019291 -X-025842Y+019291 -X-012779Y+019291 -X-010629Y+019291 -X-008479Y+019291 -T06 -X-028080Y+028230 -X-030080Y+028230 -X-034616Y+024409 -X-039616Y+024409 -X-045364Y+023346 -X-045364Y+018346 -X-045364Y+030157 -X-045364Y+025157 -X-008604Y+026983 -X-013604Y+026983 -X-016844Y+034107 -X-016844Y+029107 -T07 -X-041655Y+026456 -X-040655Y+026456 -X-039655Y+026456 -X-041640Y+022047 -X-040640Y+022047 -X-039640Y+022047 -X-049760Y+029430 -X-048760Y+029430 -X-047760Y+029430 -X-019220Y+037380 -X-020220Y+037380 -X-021220Y+037380 -T08 -X-024212Y+007751 -X-024212Y+004011 -X-035629Y+007874 -X-035629Y+004133 -T09 -X+007086Y+030708 -X+007086Y+032874 -X-000787Y+031889 -X-000787Y+035826 -X-000787Y+027952 -M30 diff --git a/tests/frameless_window.py b/tests/frameless_window.py deleted file mode 100644 index 47e28b31..00000000 --- a/tests/frameless_window.py +++ /dev/null @@ -1,148 +0,0 @@ -import sys -from PyQt5 import QtGui, QtWidgets -from PyQt5 import QtCore -from PyQt5.QtCore import Qt - - -class TitleBar(QtWidgets.QDialog): - def __init__(self, parent=None): - QtWidgets.QWidget.__init__(self, parent) - self.setWindowFlags(Qt.FramelessWindowHint) - css = """ - QWidget{ - Background: #AA00AA; - color:white; - font:12px bold; - font-weight:bold; - border-radius: 1px; - height: 11px; - } - QDialog{ - Background-image:url('img/titlebar bg.png'); - font-size:12px; - color: black; - - } - QToolButton{ - Background:#AA00AA; - font-size:11px; - } - QToolButton:hover{ - Background: #FF00FF; - font-size:11px; - } - """ - self.setAutoFillBackground(True) - self.setBackgroundRole(QtGui.QPalette.Highlight) - self.setStyleSheet(css) - self.minimize=QtWidgets.QToolButton(self) - self.minimize.setIcon(QtGui.QIcon('img/min.png')) - self.maximize=QtWidgets.QToolButton(self); - self.maximize.setIcon(QtGui.QIcon('img/max.png')) - close=QtWidgets.QToolButton(self) - close.setIcon(QtGui.QIcon('img/close.png')) - self.minimize.setMinimumHeight(10) - close.setMinimumHeight(10) - self.maximize.setMinimumHeight(10) - label=QtWidgets.QLabel(self) - label.setText("Abracadabra") - self.setWindowTitle("Alhambra") - hbox=QtWidgets.QHBoxLayout(self) - hbox.addWidget(label) - hbox.addWidget(self.minimize) - hbox.addWidget(self.maximize) - hbox.addWidget(close) - hbox.insertStretch(1,500) - hbox.setSpacing(0) - self.setSizePolicy(QtWidgets.QSizePolicy.Expanding,QtWidgets.QSizePolicy.Fixed) - self.maxNormal=False - close.clicked.connect(self.close) - self.minimize.clicked.connect(self.showSmall) - self.maximize.clicked.connect(self.showMaxRestore) - - def showSmall(self): - box.showMinimized() - - def showMaxRestore(self): - if(self.maxNormal): - box.showNormal() - self.maxNormal= False - self.maximize.setIcon(QtGui.QIcon('img/max.png')) - print(1) - else: - box.showMaximized() - self.maxNormal= True - print(2) - self.maximize.setIcon(QtGui.QIcon('img/max2.png')) - - def close(self): - box.close() - - def mousePressEvent(self,event): - if event.button() == Qt.LeftButton: - box.moving = True; box.offset = event.pos() - - def mouseMoveEvent(self,event): - if box.moving: box.move(event.globalPos()-box.offset) - - -class Frame(QtWidgets.QFrame): - def __init__(self, parent=None): - QtWidgets.QFrame.__init__(self, parent) - self.m_mouse_down= False - self.setFrameShape(QtWidgets.QFrame.StyledPanel) - css = """ - QFrame{ - Background: #D700D7; - color:white; - font:13px ; - font-weight:bold; - } - """ - self.setStyleSheet(css) - self.setWindowFlags(Qt.FramelessWindowHint) - self.setMouseTracking(True) - self.m_titleBar= TitleBar(self) - self.m_content= QtWidgets.QWidget(self) - vbox=QtWidgets.QVBoxLayout(self) - vbox.addWidget(self.m_titleBar) - vbox.setContentsMargins(0, 0, 0, 0) - vbox.setSpacing(0) - layout=QtWidgets.QVBoxLayout(self) - layout.addWidget(self.m_content) - layout.setContentsMargins(5, 5, 5, 5) - layout.setSpacing(0) - vbox.addLayout(layout) - # Allows you to access the content area of the frame - # where widgets and layouts can be added - - def contentWidget(self): - return self.m_content - - def titleBar(self): - return self.m_titleBar - - def mousePressEvent(self,event): - self.m_old_pos = event.pos() - self.m_mouse_down = event.button()== Qt.LeftButton - - def mouseMoveEvent(self,event): - x=event.x() - y=event.y() - - def mouseReleaseEvent(self,event): - m_mouse_down=False - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - box = Frame() - box.move(60,60) - l = QtWidgets.QVBoxLayout(box.contentWidget()) - l.setContentsMargins(0, 0,0 ,0) - edit = QtWidgets.QLabel("""I would've did anything for you to show you how much I adored you -But it's over now, it's too late to save our loveJust promise me you'll think of me -Every time you look up in the sky and see a star 'cuz I'm your star.""") - l.addWidget(edit) - box.show() - app.exec_() \ No newline at end of file diff --git a/tests/gerber_files/STM32F4-spindle.cmp b/tests/gerber_files/STM32F4-spindle.cmp deleted file mode 100644 index bca2de6e..00000000 --- a/tests/gerber_files/STM32F4-spindle.cmp +++ /dev/null @@ -1,6358 +0,0 @@ -G75* -%MOIN*% -%OFA0B0*% -%FSLAX25Y25*% -%IPPOS*% -%LPD*% -%AMOC8* -5,1,8,0,0,1.08239X$1,22.5* -% -%ADD10R,0.30000X0.30000*% -%ADD11R,0.44685X0.17500*% -%ADD12R,0.04724X0.01181*% -%ADD13R,0.01181X0.04724*% -%ADD14R,0.05512X0.04724*% -%ADD15R,0.05118X0.06299*% -%ADD16R,0.06299X0.05118*% -%ADD17R,0.09843X0.01969*% -%ADD18R,0.09843X0.07874*% -%ADD19R,0.05118X0.05906*% -%ADD20R,0.03150X0.05512*% -%ADD21R,0.03150X0.07480*% -%ADD22C,0.06000*% -%ADD23R,0.05906X0.07874*% -%ADD24OC8,0.06400*% -%ADD25R,0.05512X0.05512*% -%ADD26R,0.12598X0.04331*% -%ADD27C,0.07400*% -%ADD28R,0.06299X0.07098*% -%ADD29R,0.03937X0.04331*% -%ADD30R,0.05906X0.05118*% -%ADD31C,0.01200*% -%ADD32C,0.02400*% -%ADD33C,0.01600*% -%ADD34C,0.03181*% -%ADD35C,0.04000*% -D10* -X0102500Y0095000D03* -D11* -X0212657Y0076250D03* -D12* -X0124941Y0080236D03* -X0124941Y0082205D03* -X0124941Y0084173D03* -X0124941Y0086142D03* -X0124941Y0088110D03* -X0124941Y0090079D03* -X0124941Y0092047D03* -X0124941Y0094016D03* -X0124941Y0095984D03* -X0124941Y0097953D03* -X0124941Y0099921D03* -X0124941Y0101890D03* -X0124941Y0103858D03* -X0124941Y0105827D03* -X0124941Y0107795D03* -X0124941Y0109764D03* -X0080059Y0109764D03* -X0080059Y0107795D03* -X0080059Y0105827D03* -X0080059Y0103858D03* -X0080059Y0101890D03* -X0080059Y0099921D03* -X0080059Y0097953D03* -X0080059Y0095984D03* -X0080059Y0094016D03* -X0080059Y0092047D03* -X0080059Y0090079D03* -X0080059Y0088110D03* -X0080059Y0086142D03* -X0080059Y0084173D03* -X0080059Y0082205D03* -X0080059Y0080236D03* -D13* -X0087736Y0072559D03* -X0089705Y0072559D03* -X0091673Y0072559D03* -X0093642Y0072559D03* -X0095610Y0072559D03* -X0097579Y0072559D03* -X0099547Y0072559D03* -X0101516Y0072559D03* -X0103484Y0072559D03* -X0105453Y0072559D03* -X0107421Y0072559D03* -X0109390Y0072559D03* -X0111358Y0072559D03* -X0113327Y0072559D03* -X0115295Y0072559D03* -X0117264Y0072559D03* -X0117264Y0117441D03* -X0115295Y0117441D03* -X0113327Y0117441D03* -X0111358Y0117441D03* -X0109390Y0117441D03* -X0107421Y0117441D03* -X0105453Y0117441D03* -X0103484Y0117441D03* -X0101516Y0117441D03* -X0099547Y0117441D03* -X0097579Y0117441D03* -X0095610Y0117441D03* -X0093642Y0117441D03* -X0091673Y0117441D03* -X0089705Y0117441D03* -X0087736Y0117441D03* -D14* -X0059331Y0113346D03* -X0059331Y0106654D03* -X0050669Y0106654D03* -X0050669Y0113346D03* -D15* -X0051063Y0125000D03* -X0058937Y0125000D03* -X0056063Y0072500D03* -X0063937Y0072500D03* -X0078563Y0060000D03* -X0086437Y0060000D03* -X0121063Y0060000D03* -X0128937Y0060000D03* -X0136063Y0067500D03* -X0143937Y0067500D03* -X0141437Y0115000D03* -X0133563Y0115000D03* -X0133563Y0130000D03* -X0141437Y0130000D03* -D16* -X0082500Y0136063D03* -X0082500Y0143937D03* -X0072500Y0123937D03* -X0072500Y0116063D03* -X0040000Y0113937D03* -X0040000Y0106063D03* -X0027500Y0141063D03* -X0027500Y0148937D03* -X0275000Y0208563D03* -X0275000Y0216437D03* -D17* -X0255157Y0111299D03* -X0255157Y0108150D03* -X0255157Y0105000D03* -X0255157Y0101850D03* -X0255157Y0098701D03* -D18* -X0255157Y0087283D03* -X0276811Y0087283D03* -X0276811Y0122717D03* -X0255157Y0122717D03* -D19* -X0223740Y0107500D03* -X0216260Y0107500D03* -X0216260Y0097500D03* -X0223740Y0097500D03* -X0267510Y0072500D03* -X0274990Y0072500D03* -X0161240Y0122500D03* -X0153760Y0122500D03* -X0082490Y0176250D03* -X0075010Y0176250D03* -X0103760Y0217500D03* -X0111240Y0217500D03* -X0128760Y0217500D03* -X0136240Y0217500D03* -X0153760Y0217500D03* -X0161240Y0217500D03* -X0126240Y0047500D03* -X0118760Y0047500D03* -D20* -X0216598Y0062201D03* -X0228402Y0062201D03* -D21* -X0222500Y0063201D03* -D22* -X0223500Y0069516D02* -X0221500Y0069516D01* -X0221500Y0077886D01* -X0223500Y0077886D01* -X0223500Y0069516D01* -X0223500Y0075515D02* -X0221500Y0075515D01* -D23* -X0244094Y0072500D03* -X0255906Y0072500D03* -X0255906Y0060000D03* -X0244094Y0060000D03* -D24* -X0225000Y0147500D03* -X0215000Y0147500D03* -X0215000Y0157500D03* -X0225000Y0157500D03* -X0225000Y0167500D03* -X0215000Y0167500D03* -X0215000Y0177500D03* -X0225000Y0177500D03* -X0195000Y0207500D03* -X0185000Y0207500D03* -X0185000Y0217500D03* -X0195000Y0217500D03* -X0062500Y0217500D03* -X0052500Y0217500D03* -X0052500Y0207500D03* -X0062500Y0207500D03* -X0042500Y0207500D03* -X0032500Y0207500D03* -X0022500Y0207500D03* -X0022500Y0217500D03* -X0032500Y0217500D03* -X0042500Y0217500D03* -X0082500Y0025000D03* -X0092500Y0025000D03* -X0092500Y0015000D03* -X0082500Y0015000D03* -X0102500Y0015000D03* -X0112500Y0015000D03* -X0112500Y0025000D03* -X0102500Y0025000D03* -X0122500Y0025000D03* -X0122500Y0015000D03* -D25* -X0240000Y0081270D03* -X0240000Y0096230D03* -X0246250Y0140020D03* -X0257500Y0140020D03* -X0257500Y0154980D03* -X0246250Y0154980D03* -D26* -X0234114Y0202126D03* -X0234114Y0217874D03* -X0260886Y0217874D03* -X0260886Y0202126D03* -D27* -X0273800Y0162500D02* -X0281200Y0162500D01* -X0281200Y0152500D02* -X0273800Y0152500D01* -X0273800Y0047500D02* -X0281200Y0047500D01* -X0271200Y0047500D02* -X0263800Y0047500D01* -X0263800Y0037500D02* -X0271200Y0037500D01* -X0273800Y0037500D02* -X0281200Y0037500D01* -X0281200Y0027500D02* -X0273800Y0027500D01* -X0271200Y0027500D02* -X0263800Y0027500D01* -X0263800Y0017500D02* -X0271200Y0017500D01* -X0273800Y0017500D02* -X0281200Y0017500D01* -X0096250Y0177550D02* -X0096250Y0184950D01* -D28* -X0101902Y0205000D03* -X0113098Y0205000D03* -X0126902Y0205000D03* -X0138098Y0205000D03* -X0151902Y0205000D03* -X0163098Y0205000D03* -X0265652Y0060000D03* -X0276848Y0060000D03* -D29* -X0063750Y0058346D03* -X0063750Y0051654D03* -D30* -X0027500Y0071260D03* -X0027500Y0078740D03* -D31* -X0002568Y0002568D02* -X0002568Y0227392D01* -X0014348Y0227392D01* -X0010705Y0223749D01* -X0009814Y0222858D01* -X0009331Y0221693D01* -X0009331Y0091870D01* -X0009814Y0090705D01* -X0014814Y0085705D01* -X0015705Y0084814D01* -X0016870Y0084331D01* -X0024331Y0084331D01* -X0024331Y0083868D01* -X0024036Y0083868D01* -X0023092Y0083477D01* -X0022370Y0082754D01* -X0021979Y0081810D01* -X0021979Y0075670D01* -X0022256Y0075000D01* -X0021979Y0074330D01* -X0021979Y0068190D01* -X0022370Y0067246D01* -X0023092Y0066523D01* -X0024036Y0066132D01* -X0024331Y0066132D01* -X0024331Y0061653D01* -X0024814Y0060489D01* -X0028751Y0056552D01* -X0029642Y0055660D01* -X0030807Y0055178D01* -X0059417Y0055178D01* -X0059491Y0055000D01* -X0059213Y0054330D01* -X0059213Y0048977D01* -X0059604Y0048033D01* -X0060327Y0047311D01* -X0061271Y0046920D01* -X0066229Y0046920D01* -X0067173Y0047311D01* -X0067896Y0048033D01* -X0068083Y0048485D01* -X0083130Y0048485D01* -X0084295Y0048967D01* -X0088232Y0052904D01* -X0089123Y0053796D01* -X0089324Y0054282D01* -X0089507Y0054282D01* -X0090451Y0054673D01* -X0091174Y0055395D01* -X0091565Y0056339D01* -X0091565Y0059347D01* -X0092442Y0060225D01* -X0092442Y0052749D01* -X0090045Y0050353D01* -X0089642Y0050186D01* -X0088751Y0049295D01* -X0084814Y0045358D01* -X0084331Y0044193D01* -X0084331Y0030100D01* -X0082900Y0030100D01* -X0082900Y0025400D01* -X0082100Y0025400D01* -X0082100Y0030100D01* -X0080388Y0030100D01* -X0077400Y0027112D01* -X0077400Y0025400D01* -X0082100Y0025400D01* -X0082100Y0024600D01* -X0077400Y0024600D01* -X0077400Y0022888D01* -X0079815Y0020473D01* -X0076731Y0017389D01* -X0076731Y0012611D01* -X0080111Y0009231D01* -X0084889Y0009231D01* -X0087500Y0011842D01* -X0090111Y0009231D01* -X0094889Y0009231D01* -X0097500Y0011842D01* -X0100111Y0009231D01* -X0104889Y0009231D01* -X0107500Y0011842D01* -X0110111Y0009231D01* -X0114889Y0009231D01* -X0117500Y0011842D01* -X0120111Y0009231D01* -X0124889Y0009231D01* -X0128268Y0012611D01* -X0128268Y0016288D01* -X0131795Y0019814D01* -X0132686Y0020705D01* -X0133168Y0021870D01* -X0133168Y0034193D01* -X0132686Y0035358D01* -X0128749Y0039295D01* -X0127858Y0040186D01* -X0126693Y0040668D01* -X0112671Y0040668D01* -X0110590Y0042749D01* -X0110590Y0045756D01* -X0111532Y0044814D01* -X0112697Y0044331D01* -X0113632Y0044331D01* -X0113632Y0044036D01* -X0114023Y0043092D01* -X0114746Y0042370D01* -X0115690Y0041979D01* -X0121830Y0041979D01* -X0122774Y0042370D01* -X0123132Y0042727D01* -X0123431Y0042647D01* -X0125640Y0042647D01* -X0125640Y0046900D01* -X0126840Y0046900D01* -X0126840Y0042647D01* -X0129049Y0042647D01* -X0129533Y0042777D01* -X0129966Y0043027D01* -X0130320Y0043381D01* -X0130570Y0043814D01* -X0130699Y0044297D01* -X0130699Y0046900D01* -X0126840Y0046900D01* -X0126840Y0048100D01* -X0125640Y0048100D01* -X0125640Y0052353D01* -X0123431Y0052353D01* -X0123132Y0052273D01* -X0122774Y0052630D01* -X0121830Y0053021D01* -X0115690Y0053021D01* -X0114746Y0052630D01* -X0114023Y0051908D01* -X0113841Y0051467D01* -X0112558Y0052749D01* -X0112558Y0058328D01* -X0112609Y0058205D01* -X0113500Y0057314D01* -X0114665Y0056831D01* -X0115935Y0056831D01* -X0115935Y0056339D01* -X0116326Y0055395D01* -X0117049Y0054673D01* -X0117993Y0054282D01* -X0124133Y0054282D01* -X0125077Y0054673D01* -X0125543Y0055139D01* -X0125645Y0055080D01* -X0126128Y0054950D01* -X0128337Y0054950D01* -X0128337Y0059400D01* -X0129537Y0059400D01* -X0129537Y0060600D01* -X0133396Y0060600D01* -X0133396Y0061782D01* -X0139133Y0061782D01* -X0140077Y0062173D01* -X0140543Y0062639D01* -X0140645Y0062580D01* -X0141128Y0062450D01* -X0143337Y0062450D01* -X0143337Y0066900D01* -X0144537Y0066900D01* -X0144537Y0068100D01* -X0148396Y0068100D01* -X0148396Y0070900D01* -X0148307Y0071231D01* -X0163731Y0071231D01* -X0163731Y0049250D01* -X0164305Y0047865D01* -X0165365Y0046805D01* -X0166750Y0046231D01* -X0257540Y0046231D01* -X0258486Y0043949D01* -X0259935Y0042500D01* -X0258486Y0041051D01* -X0257531Y0038747D01* -X0257531Y0036253D01* -X0258486Y0033949D01* -X0260249Y0032186D01* -X0260550Y0032061D01* -X0260152Y0031771D01* -X0259529Y0031148D01* -X0259010Y0030435D01* -X0258610Y0029650D01* -X0258338Y0028811D01* -X0258209Y0028000D01* -X0267000Y0028000D01* -X0267000Y0027000D01* -X0268000Y0027000D01* -X0268000Y0028000D01* -X0277000Y0028000D01* -X0277000Y0027000D01* -X0276791Y0027000D01* -X0268000Y0027000D01* -X0268000Y0021900D01* -X0268000Y0018000D01* -X0277000Y0018000D01* -X0277000Y0027000D01* -X0278000Y0027000D01* -X0278000Y0021900D01* -X0278000Y0018000D01* -X0277000Y0018000D01* -X0277000Y0017000D01* -X0276791Y0017000D01* -X0268000Y0017000D01* -X0268000Y0018000D01* -X0267000Y0018000D01* -X0267000Y0027000D01* -X0258209Y0027000D01* -X0258338Y0026189D01* -X0258610Y0025350D01* -X0259010Y0024565D01* -X0259529Y0023852D01* -X0260152Y0023229D01* -X0260865Y0022710D01* -X0261278Y0022500D01* -X0260865Y0022290D01* -X0260152Y0021771D01* -X0259529Y0021148D01* -X0259010Y0020435D01* -X0258610Y0019650D01* -X0258338Y0018811D01* -X0258209Y0018000D01* -X0267000Y0018000D01* -X0267000Y0017000D01* -X0268000Y0017000D01* -X0268000Y0011900D01* -X0271641Y0011900D01* -X0272500Y0012036D01* -X0273359Y0011900D01* -X0277000Y0011900D01* -X0277000Y0017000D01* -X0278000Y0017000D01* -X0278000Y0011900D01* -X0281641Y0011900D01* -X0282511Y0012038D01* -X0283350Y0012310D01* -X0284135Y0012710D01* -X0284848Y0013229D01* -X0285471Y0013852D01* -X0285990Y0014565D01* -X0286132Y0014845D01* -X0286132Y0002568D01* -X0002568Y0002568D01* -X0002568Y0003596D02* -X0286132Y0003596D01* -X0286132Y0004794D02* -X0002568Y0004794D01* -X0002568Y0005993D02* -X0286132Y0005993D01* -X0286132Y0007191D02* -X0002568Y0007191D01* -X0002568Y0008390D02* -X0286132Y0008390D01* -X0286132Y0009588D02* -X0125246Y0009588D01* -X0126444Y0010787D02* -X0286132Y0010787D01* -X0286132Y0011985D02* -X0282178Y0011985D01* -X0284786Y0013184D02* -X0286132Y0013184D01* -X0286132Y0014382D02* -X0285857Y0014382D01* -X0278000Y0014382D02* -X0277000Y0014382D01* -X0277000Y0013184D02* -X0278000Y0013184D01* -X0278000Y0011985D02* -X0277000Y0011985D01* -X0272822Y0011985D02* -X0272178Y0011985D01* -X0268000Y0011985D02* -X0267000Y0011985D01* -X0267000Y0011900D02* -X0267000Y0017000D01* -X0258209Y0017000D01* -X0258338Y0016189D01* -X0258610Y0015350D01* -X0259010Y0014565D01* -X0259529Y0013852D01* -X0260152Y0013229D01* -X0260865Y0012710D01* -X0261650Y0012310D01* -X0262489Y0012038D01* -X0263359Y0011900D01* -X0267000Y0011900D01* -X0267000Y0013184D02* -X0268000Y0013184D01* -X0268000Y0014382D02* -X0267000Y0014382D01* -X0267000Y0015581D02* -X0268000Y0015581D01* -X0268000Y0016779D02* -X0267000Y0016779D01* -X0267000Y0017978D02* -X0129959Y0017978D01* -X0131157Y0019176D02* -X0258456Y0019176D01* -X0258980Y0020375D02* -X0132356Y0020375D01* -X0133046Y0021573D02* -X0259954Y0021573D01* -X0260781Y0022772D02* -X0133168Y0022772D01* -X0133168Y0023970D02* -X0259443Y0023970D01* -X0258703Y0025169D02* -X0133168Y0025169D01* -X0133168Y0026367D02* -X0258310Y0026367D01* -X0258330Y0028764D02* -X0133168Y0028764D01* -X0133168Y0027566D02* -X0267000Y0027566D01* -X0268000Y0027566D02* -X0277000Y0027566D01* -X0277000Y0026367D02* -X0278000Y0026367D01* -X0278000Y0025169D02* -X0277000Y0025169D01* -X0277000Y0023970D02* -X0278000Y0023970D01* -X0278000Y0022772D02* -X0277000Y0022772D01* -X0277000Y0021573D02* -X0278000Y0021573D01* -X0278000Y0020375D02* -X0277000Y0020375D01* -X0277000Y0019176D02* -X0278000Y0019176D01* -X0277000Y0017978D02* -X0268000Y0017978D01* -X0268000Y0019176D02* -X0267000Y0019176D01* -X0267000Y0020375D02* -X0268000Y0020375D01* -X0268000Y0021573D02* -X0267000Y0021573D01* -X0267000Y0022772D02* -X0268000Y0022772D01* -X0268000Y0023970D02* -X0267000Y0023970D01* -X0267000Y0025169D02* -X0268000Y0025169D01* -X0268000Y0026367D02* -X0267000Y0026367D01* -X0259542Y0031161D02* -X0258224Y0031161D01* -X0258093Y0030847D02* -X0258356Y0031482D01* -X0258491Y0032156D01* -X0258491Y0032500D01* -X0258491Y0032844D01* -X0258356Y0033518D01* -X0258093Y0034153D01* -X0257711Y0034725D01* -X0257225Y0035211D01* -X0256653Y0035593D01* -X0256018Y0035856D01* -X0255344Y0035991D01* -X0255000Y0035991D01* -X0254656Y0035991D01* -X0253982Y0035856D01* -X0253347Y0035593D01* -X0252775Y0035211D01* -X0252289Y0034725D01* -X0251907Y0034153D01* -X0251644Y0033518D01* -X0251509Y0032844D01* -X0251509Y0032500D01* -X0251509Y0032156D01* -X0251644Y0031482D01* -X0251907Y0030847D01* -X0252289Y0030275D01* -X0252775Y0029789D01* -X0253347Y0029407D01* -X0253982Y0029144D01* -X0254656Y0029009D01* -X0255000Y0029009D01* -X0255344Y0029009D01* -X0256018Y0029144D01* -X0256653Y0029407D01* -X0257225Y0029789D01* -X0257711Y0030275D01* -X0258093Y0030847D01* -X0258770Y0029963D02* -X0257399Y0029963D01* -X0255000Y0029963D02* -X0255000Y0029963D01* -X0255000Y0029009D02* -X0255000Y0032500D01* -X0258491Y0032500D01* -X0255000Y0032500D01* -X0255000Y0032500D01* -X0255000Y0032500D01* -X0255000Y0035991D01* -X0255000Y0032500D01* -X0255000Y0032500D01* -X0255000Y0032500D01* -X0251509Y0032500D01* -X0255000Y0032500D01* -X0255000Y0029009D01* -X0255000Y0031161D02* -X0255000Y0031161D01* -X0255000Y0032360D02* -X0255000Y0032360D01* -X0255000Y0033558D02* -X0255000Y0033558D01* -X0255000Y0034757D02* -X0255000Y0034757D01* -X0255000Y0035955D02* -X0255000Y0035955D01* -X0255521Y0035955D02* -X0257655Y0035955D01* -X0257680Y0034757D02* -X0258151Y0034757D01* -X0258340Y0033558D02* -X0258877Y0033558D01* -X0258491Y0032360D02* -X0260075Y0032360D01* -X0257531Y0037154D02* -X0130890Y0037154D01* -X0129692Y0038352D02* -X0257531Y0038352D01* -X0257865Y0039551D02* -X0128493Y0039551D01* -X0126063Y0037500D02* -X0111358Y0037500D01* -X0107421Y0041437D01* -X0107421Y0072559D01* -X0105453Y0072559D02* -X0105453Y0038937D01* -X0109390Y0035000D01* -X0113563Y0035000D01* -X0117500Y0031063D01* -X0117500Y0020000D01* -X0112500Y0015000D01* -X0116444Y0010787D02* -X0118555Y0010787D01* -X0119754Y0009588D02* -X0115246Y0009588D01* -X0109754Y0009588D02* -X0105246Y0009588D01* -X0106444Y0010787D02* -X0108555Y0010787D01* -X0102500Y0015000D02* -X0107500Y0020000D01* -X0107500Y0028563D01* -X0103563Y0032500D01* -X0103484Y0032500D01* -X0099547Y0036437D01* -X0099547Y0072559D01* -X0097579Y0072559D02* -X0097579Y0020079D01* -X0092500Y0015000D01* -X0096444Y0010787D02* -X0098555Y0010787D01* -X0099754Y0009588D02* -X0095246Y0009588D01* -X0089754Y0009588D02* -X0085246Y0009588D01* -X0086444Y0010787D02* -X0088555Y0010787D01* -X0082500Y0015000D02* -X0087500Y0020000D01* -X0087500Y0043563D01* -X0091437Y0047500D01* -X0091673Y0047500D01* -X0095610Y0051437D01* -X0095610Y0072559D01* -X0091673Y0072559D02* -X0091673Y0086142D01* -X0100000Y0086142D01* -X0100000Y0109764D01* -X0080059Y0109764D01* -X0124941Y0109764D01* -X0128750Y0109764D01* -X0128750Y0122500D01* -X0153760Y0122500D01* -X0155000Y0122500D01* -X0155000Y0130000D01* -X0190000Y0130000D01* -X0186708Y0133168D02* -X0187412Y0133873D01* -X0189091Y0134568D01* -X0190909Y0134568D01* -X0192588Y0133873D01* -X0193873Y0132588D01* -X0194331Y0131481D01* -X0194331Y0144208D01* -X0193627Y0144912D01* -X0193168Y0146019D01* -X0193168Y0140807D01* -X0192686Y0139642D01* -X0189999Y0136955D01* -X0189999Y0136955D01* -X0189108Y0136064D01* -X0187943Y0135581D01* -X0136963Y0135581D01* -X0137577Y0135327D01* -X0138043Y0134861D01* -X0138145Y0134920D01* -X0138628Y0135050D01* -X0140837Y0135050D01* -X0140837Y0130600D01* -X0142037Y0130600D01* -X0142037Y0135050D01* -X0144246Y0135050D01* -X0144729Y0134920D01* -X0145163Y0134670D01* -X0145516Y0134316D01* -X0145767Y0133883D01* -X0145896Y0133400D01* -X0145896Y0130600D01* -X0142037Y0130600D01* -X0142037Y0129400D01* -X0145896Y0129400D01* -X0145896Y0126600D01* -X0145767Y0126117D01* -X0145516Y0125684D01* -X0145501Y0125668D01* -X0148632Y0125668D01* -X0148632Y0125964D01* -X0149023Y0126908D01* -X0149746Y0127630D01* -X0150058Y0127759D01* -X0150000Y0127759D01* -X0150000Y0131250D01* -X0150000Y0131250D01* -X0150000Y0134741D01* -X0149656Y0134741D01* -X0148982Y0134606D01* -X0148347Y0134343D01* -X0147775Y0133961D01* -X0147289Y0133475D01* -X0146907Y0132903D01* -X0146644Y0132268D01* -X0146509Y0131594D01* -X0146509Y0131250D01* -X0146509Y0130906D01* -X0146644Y0130232D01* -X0146907Y0129597D01* -X0147289Y0129025D01* -X0147775Y0128539D01* -X0148347Y0128157D01* -X0148982Y0127894D01* -X0149656Y0127759D01* -X0150000Y0127759D01* -X0150000Y0131250D01* -X0150000Y0131250D01* -X0150000Y0131250D01* -X0146509Y0131250D01* -X0150000Y0131250D01* -X0150000Y0134741D01* -X0150344Y0134741D01* -X0151018Y0134606D01* -X0151653Y0134343D01* -X0152225Y0133961D01* -X0152711Y0133475D01* -X0153093Y0132903D01* -X0153190Y0132671D01* -X0153205Y0132686D01* -X0154370Y0133168D01* -X0186708Y0133168D01* -X0188282Y0134233D02* -X0151818Y0134233D01* -X0153005Y0133035D02* -X0154047Y0133035D01* -X0150000Y0133035D02* -X0150000Y0133035D01* -X0150000Y0134233D02* -X0150000Y0134233D01* -X0148182Y0134233D02* -X0145564Y0134233D01* -X0145896Y0133035D02* -X0146995Y0133035D01* -X0146558Y0131836D02* -X0145896Y0131836D01* -X0145896Y0130638D02* -X0146563Y0130638D01* -X0147012Y0129439D02* -X0142037Y0129439D01* -X0142037Y0130638D02* -X0140837Y0130638D01* -X0140837Y0131836D02* -X0142037Y0131836D01* -X0142037Y0133035D02* -X0140837Y0133035D01* -X0140837Y0134233D02* -X0142037Y0134233D01* -X0137324Y0135432D02* -X0194331Y0135432D01* -X0194331Y0136630D02* -X0189674Y0136630D01* -X0190873Y0137829D02* -X0194331Y0137829D01* -X0194331Y0139027D02* -X0192071Y0139027D01* -X0192928Y0140226D02* -X0194331Y0140226D01* -X0194331Y0141424D02* -X0193168Y0141424D01* -X0193168Y0142623D02* -X0194331Y0142623D01* -X0194331Y0143821D02* -X0193168Y0143821D01* -X0193168Y0145020D02* -X0193582Y0145020D01* -X0197500Y0147500D02* -X0197500Y0123937D01* -X0196063Y0122500D01* -X0161240Y0122500D01* -X0160856Y0122500D01* -X0160856Y0109764D01* -X0156919Y0105827D01* -X0124941Y0105827D01* -X0124941Y0107795D02* -X0133563Y0107795D01* -X0133563Y0115000D01* -X0136731Y0109323D02* -X0137577Y0109673D01* -X0138043Y0110139D01* -X0138145Y0110080D01* -X0138628Y0109950D01* -X0140837Y0109950D01* -X0140837Y0114400D01* -X0142037Y0114400D01* -X0142037Y0115600D01* -X0145896Y0115600D01* -X0145896Y0118400D01* -X0145767Y0118883D01* -X0145516Y0119316D01* -X0145501Y0119331D01* -X0148632Y0119331D01* -X0148632Y0119036D01* -X0149023Y0118092D01* -X0149746Y0117370D01* -X0150690Y0116979D01* -X0156830Y0116979D01* -X0157500Y0117256D01* -X0157688Y0117179D01* -X0157688Y0111076D01* -X0155607Y0108995D01* -X0136731Y0108995D01* -X0136731Y0109323D01* -X0136731Y0109065D02* -X0150629Y0109065D01* -X0150906Y0109009D02* -X0151250Y0109009D01* -X0151594Y0109009D01* -X0152268Y0109144D01* -X0152903Y0109407D01* -X0153475Y0109789D01* -X0153961Y0110275D01* -X0154343Y0110847D01* -X0154606Y0111482D01* -X0154741Y0112156D01* -X0154741Y0112500D01* -X0154741Y0112844D01* -X0154606Y0113518D01* -X0154343Y0114153D01* -X0153961Y0114725D01* -X0153475Y0115211D01* -X0152903Y0115593D01* -X0152268Y0115856D01* -X0151594Y0115991D01* -X0151250Y0115991D01* -X0150906Y0115991D01* -X0150232Y0115856D01* -X0149597Y0115593D01* -X0149025Y0115211D01* -X0148539Y0114725D01* -X0148157Y0114153D01* -X0147894Y0113518D01* -X0147759Y0112844D01* -X0147759Y0112500D01* -X0147759Y0112156D01* -X0147894Y0111482D01* -X0148157Y0110847D01* -X0148539Y0110275D01* -X0149025Y0109789D01* -X0149597Y0109407D01* -X0150232Y0109144D01* -X0150906Y0109009D01* -X0151250Y0109009D02* -X0151250Y0112500D01* -X0154741Y0112500D01* -X0151250Y0112500D01* -X0151250Y0112500D01* -X0151250Y0112500D01* -X0151250Y0115991D01* -X0151250Y0112500D01* -X0151250Y0109009D01* -X0151250Y0109065D02* -X0151250Y0109065D01* -X0151871Y0109065D02* -X0155676Y0109065D01* -X0156875Y0110263D02* -X0153949Y0110263D01* -X0154598Y0111462D02* -X0157688Y0111462D01* -X0157688Y0112660D02* -X0154741Y0112660D01* -X0154465Y0113859D02* -X0157688Y0113859D01* -X0157688Y0115057D02* -X0153629Y0115057D01* -X0151250Y0115057D02* -X0151250Y0115057D01* -X0151250Y0113859D02* -X0151250Y0113859D01* -X0151250Y0112660D02* -X0151250Y0112660D01* -X0151250Y0112500D02* -X0151250Y0112500D01* -X0151250Y0112500D01* -X0147759Y0112500D01* -X0151250Y0112500D01* -X0151250Y0111462D02* -X0151250Y0111462D01* -X0151250Y0110263D02* -X0151250Y0110263D01* -X0148551Y0110263D02* -X0145047Y0110263D01* -X0145163Y0110330D02* -X0145516Y0110684D01* -X0145767Y0111117D01* -X0145896Y0111600D01* -X0145896Y0114400D01* -X0142037Y0114400D01* -X0142037Y0109950D01* -X0144246Y0109950D01* -X0144729Y0110080D01* -X0145163Y0110330D01* -X0145859Y0111462D02* -X0147902Y0111462D01* -X0147759Y0112660D02* -X0145896Y0112660D01* -X0145896Y0113859D02* -X0148035Y0113859D01* -X0148871Y0115057D02* -X0142037Y0115057D01* -X0142037Y0113859D02* -X0140837Y0113859D01* -X0140837Y0112660D02* -X0142037Y0112660D01* -X0142037Y0111462D02* -X0140837Y0111462D01* -X0140837Y0110263D02* -X0142037Y0110263D01* -X0145896Y0116256D02* -X0157688Y0116256D01* -X0164025Y0116256D02* -X0249618Y0116256D01* -X0249725Y0116211D02* -X0251181Y0116211D01* -X0251181Y0114183D01* -X0249986Y0114183D01* -X0249503Y0114054D01* -X0249070Y0113804D01* -X0248716Y0113450D01* -X0248466Y0113017D01* -X0248336Y0112534D01* -X0248336Y0111299D01* -X0248336Y0110866D01* -X0248059Y0110589D01* -X0247668Y0109645D01* -X0247668Y0108168D01* -X0236312Y0108168D01* -X0235186Y0109295D01* -X0234295Y0110186D01* -X0233130Y0110668D01* -X0228868Y0110668D01* -X0228868Y0110964D01* -X0228477Y0111908D01* -X0227754Y0112630D01* -X0226810Y0113021D01* -X0220670Y0113021D01* -X0220000Y0112744D01* -X0219330Y0113021D01* -X0213190Y0113021D01* -X0212246Y0112630D01* -X0211523Y0111908D01* -X0211132Y0110964D01* -X0211132Y0110668D01* -X0206870Y0110668D01* -X0205705Y0110186D01* -X0204814Y0109295D01* -X0202546Y0107027D01* -X0162600Y0107027D01* -X0162651Y0107078D01* -X0163542Y0107969D01* -X0164025Y0109134D01* -X0164025Y0116979D01* -X0164310Y0116979D01* -X0165254Y0117370D01* -X0165977Y0118092D01* -X0166368Y0119036D01* -X0166368Y0119331D01* -X0196693Y0119331D01* -X0197858Y0119814D01* -X0198749Y0120705D01* -X0200186Y0122142D01* -X0200668Y0123307D01* -X0200668Y0144208D01* -X0201373Y0144912D01* -X0202068Y0146591D01* -X0202068Y0148409D01* -X0201373Y0150088D01* -X0200088Y0151373D01* -X0198409Y0152068D01* -X0196591Y0152068D01* -X0194912Y0151373D01* -X0193627Y0150088D01* -X0193168Y0148981D01* -X0193168Y0152251D01* -X0194729Y0153811D01* -X0194912Y0153627D01* -X0196591Y0152931D01* -X0198409Y0152931D01* -X0200088Y0153627D01* -X0201373Y0154912D01* -X0202068Y0156591D01* -X0202068Y0158409D01* -X0201373Y0160088D01* -X0200088Y0161373D01* -X0198409Y0162068D01* -X0196591Y0162068D01* -X0194912Y0161373D01* -X0194208Y0160668D01* -X0193307Y0160668D01* -X0193168Y0160611D01* -X0193168Y0202400D01* -X0194600Y0202400D01* -X0194600Y0207100D01* -X0195400Y0207100D01* -X0195400Y0207900D01* -X0200100Y0207900D01* -X0200100Y0209612D01* -X0197685Y0212027D01* -X0200768Y0215111D01* -X0200768Y0219331D01* -X0225246Y0219331D01* -X0225246Y0215198D01* -X0225637Y0214254D01* -X0226360Y0213531D01* -X0227304Y0213140D01* -X0240924Y0213140D01* -X0241868Y0213531D01* -X0242591Y0214254D01* -X0242778Y0214706D01* -X0252222Y0214706D01* -X0252409Y0214254D01* -X0253132Y0213531D01* -X0254076Y0213140D01* -X0267696Y0213140D01* -X0268640Y0213531D01* -X0269282Y0214173D01* -X0269282Y0213367D01* -X0269673Y0212423D01* -X0270139Y0211957D01* -X0270080Y0211855D01* -X0269950Y0211372D01* -X0269950Y0209163D01* -X0274400Y0209163D01* -X0274400Y0207963D01* -X0269950Y0207963D01* -X0269950Y0205754D01* -X0270080Y0205271D01* -X0270330Y0204837D01* -X0270684Y0204484D01* -X0271117Y0204233D01* -X0271600Y0204104D01* -X0274400Y0204104D01* -X0274400Y0207963D01* -X0275600Y0207963D01* -X0275600Y0209163D01* -X0280050Y0209163D01* -X0280050Y0211372D01* -X0279920Y0211855D01* -X0279861Y0211957D01* -X0280327Y0212423D01* -X0280718Y0213367D01* -X0280718Y0219507D01* -X0280327Y0220451D01* -X0279605Y0221174D01* -X0278661Y0221565D01* -X0271339Y0221565D01* -X0270395Y0221174D01* -X0270264Y0221043D01* -X0269550Y0221043D01* -X0269363Y0221494D01* -X0268640Y0222217D01* -X0267696Y0222608D01* -X0254076Y0222608D01* -X0253132Y0222217D01* -X0252409Y0221494D01* -X0252222Y0221043D01* -X0242778Y0221043D01* -X0242591Y0221494D01* -X0241868Y0222217D01* -X0240924Y0222608D01* -X0237283Y0222608D01* -X0237283Y0223130D01* -X0236800Y0224295D01* -X0235909Y0225186D01* -X0234744Y0225668D01* -X0189370Y0225668D01* -X0188205Y0225186D01* -X0187314Y0224295D01* -X0186288Y0223268D01* -X0182611Y0223268D01* -X0179231Y0219889D01* -X0179231Y0216212D01* -X0178205Y0215186D01* -X0177314Y0214295D01* -X0176831Y0213130D01* -X0176831Y0193812D01* -X0173688Y0190668D01* -X0149551Y0190668D01* -X0153696Y0194814D01* -X0154588Y0195705D01* -X0155070Y0196870D01* -X0155070Y0198882D01* -X0155562Y0198882D01* -X0156506Y0199273D01* -X0157229Y0199996D01* -X0157500Y0200651D01* -X0157771Y0199996D01* -X0158494Y0199273D01* -X0159438Y0198882D01* -X0166759Y0198882D01* -X0167703Y0199273D01* -X0168425Y0199996D01* -X0168817Y0200940D01* -X0168817Y0209060D01* -X0168425Y0210004D01* -X0167703Y0210727D01* -X0166759Y0211118D01* -X0166267Y0211118D01* -X0166267Y0213793D01* -X0166368Y0214036D01* -X0166368Y0220964D01* -X0165977Y0221908D01* -X0165254Y0222630D01* -X0164310Y0223021D01* -X0158170Y0223021D01* -X0157226Y0222630D01* -X0156868Y0222273D01* -X0156569Y0222353D01* -X0154360Y0222353D01* -X0154360Y0218100D01* -X0153160Y0218100D01* -X0153160Y0222353D01* -X0150951Y0222353D01* -X0150467Y0222223D01* -X0150034Y0221973D01* -X0149680Y0221619D01* -X0149430Y0221186D01* -X0149301Y0220703D01* -X0149301Y0218100D01* -X0153160Y0218100D01* -X0153160Y0216900D01* -X0154360Y0216900D01* -X0154360Y0212647D01* -X0156569Y0212647D01* -X0156868Y0212727D01* -X0157226Y0212370D01* -X0158170Y0211979D01* -X0159930Y0211979D01* -X0159930Y0211118D01* -X0159438Y0211118D01* -X0158494Y0210727D01* -X0157771Y0210004D01* -X0157500Y0209349D01* -X0157229Y0210004D01* -X0156506Y0210727D01* -X0155562Y0211118D01* -X0148241Y0211118D01* -X0147297Y0210727D01* -X0146574Y0210004D01* -X0146183Y0209060D01* -X0146183Y0200940D01* -X0146574Y0199996D01* -X0147297Y0199273D01* -X0148241Y0198882D01* -X0148733Y0198882D01* -X0148733Y0198812D01* -X0145589Y0195668D01* -X0129551Y0195668D01* -X0129588Y0195705D01* -X0130070Y0196870D01* -X0130070Y0198882D01* -X0130562Y0198882D01* -X0131506Y0199273D01* -X0132229Y0199996D01* -X0132500Y0200651D01* -X0132771Y0199996D01* -X0133494Y0199273D01* -X0134438Y0198882D01* -X0141759Y0198882D01* -X0142703Y0199273D01* -X0143425Y0199996D01* -X0143817Y0200940D01* -X0143817Y0209060D01* -X0143425Y0210004D01* -X0142703Y0210727D01* -X0141759Y0211118D01* -X0141267Y0211118D01* -X0141267Y0213793D01* -X0141368Y0214036D01* -X0141368Y0220964D01* -X0140977Y0221908D01* -X0140254Y0222630D01* -X0139310Y0223021D01* -X0133170Y0223021D01* -X0132226Y0222630D01* -X0131868Y0222273D01* -X0131569Y0222353D01* -X0129360Y0222353D01* -X0129360Y0218100D01* -X0128160Y0218100D01* -X0128160Y0222353D01* -X0125951Y0222353D01* -X0125467Y0222223D01* -X0125034Y0221973D01* -X0124680Y0221619D01* -X0124430Y0221186D01* -X0124301Y0220703D01* -X0124301Y0218100D01* -X0128160Y0218100D01* -X0128160Y0216900D01* -X0129360Y0216900D01* -X0129360Y0212647D01* -X0131569Y0212647D01* -X0131868Y0212727D01* -X0132226Y0212370D01* -X0133170Y0211979D01* -X0134930Y0211979D01* -X0134930Y0211118D01* -X0134438Y0211118D01* -X0133494Y0210727D01* -X0132771Y0210004D01* -X0132500Y0209349D01* -X0132229Y0210004D01* -X0131506Y0210727D01* -X0130562Y0211118D01* -X0123241Y0211118D01* -X0122297Y0210727D01* -X0121574Y0210004D01* -X0121183Y0209060D01* -X0121183Y0200940D01* -X0121296Y0200668D01* -X0118771Y0200668D01* -X0118690Y0200635D01* -X0118817Y0200940D01* -X0118817Y0209060D01* -X0118425Y0210004D01* -X0117703Y0210727D01* -X0116759Y0211118D01* -X0116267Y0211118D01* -X0116267Y0213793D01* -X0116368Y0214036D01* -X0116368Y0220964D01* -X0115977Y0221908D01* -X0115254Y0222630D01* -X0114310Y0223021D01* -X0108170Y0223021D01* -X0107226Y0222630D01* -X0106868Y0222273D01* -X0106569Y0222353D01* -X0104360Y0222353D01* -X0104360Y0218100D01* -X0103160Y0218100D01* -X0103160Y0222353D01* -X0100951Y0222353D01* -X0100467Y0222223D01* -X0100034Y0221973D01* -X0099680Y0221619D01* -X0099430Y0221186D01* -X0099301Y0220703D01* -X0099301Y0218100D01* -X0103160Y0218100D01* -X0103160Y0216900D01* -X0104360Y0216900D01* -X0104360Y0212647D01* -X0106569Y0212647D01* -X0106868Y0212727D01* -X0107226Y0212370D01* -X0108170Y0211979D01* -X0109930Y0211979D01* -X0109930Y0211118D01* -X0109438Y0211118D01* -X0108494Y0210727D01* -X0107771Y0210004D01* -X0107500Y0209349D01* -X0107229Y0210004D01* -X0106506Y0210727D01* -X0105562Y0211118D01* -X0098241Y0211118D01* -X0097297Y0210727D01* -X0096574Y0210004D01* -X0096183Y0209060D01* -X0096183Y0208168D01* -X0085653Y0208168D01* -X0085186Y0209295D01* -X0084295Y0210186D01* -X0079295Y0215186D01* -X0078130Y0215668D01* -X0068268Y0215668D01* -X0068268Y0219889D01* -X0064889Y0223268D01* -X0061212Y0223268D01* -X0057686Y0226795D01* -X0057089Y0227392D01* -X0286132Y0227392D01* -X0286132Y0166433D01* -X0284751Y0167814D01* -X0282447Y0168768D01* -X0272553Y0168768D01* -X0270249Y0167814D01* -X0268704Y0166268D01* -X0261750Y0166268D01* -X0260365Y0165695D01* -X0255365Y0160695D01* -X0254975Y0160305D01* -X0254233Y0160305D01* -X0253289Y0159914D01* -X0252567Y0159191D01* -X0252176Y0158247D01* -X0252176Y0151713D01* -X0252567Y0150769D01* -X0253289Y0150047D01* -X0254233Y0149656D01* -X0260767Y0149656D01* -X0261711Y0150047D01* -X0262433Y0150769D01* -X0262824Y0151713D01* -X0262824Y0157495D01* -X0264061Y0158731D01* -X0268704Y0158731D01* -X0270249Y0157186D01* -X0270550Y0157061D01* -X0270152Y0156771D01* -X0269529Y0156148D01* -X0269010Y0155435D01* -X0268610Y0154650D01* -X0268338Y0153811D01* -X0268209Y0153000D01* -X0277000Y0153000D01* -X0277000Y0152000D01* -X0278000Y0152000D01* -X0278000Y0146900D01* -X0281641Y0146900D01* -X0282511Y0147038D01* -X0283350Y0147310D01* -X0284135Y0147710D01* -X0284848Y0148229D01* -X0285471Y0148852D01* -X0285990Y0149565D01* -X0286132Y0149845D01* -X0286132Y0051433D01* -X0284751Y0052814D01* -X0282447Y0053768D01* -X0272553Y0053768D01* -X0272500Y0053746D01* -X0272447Y0053768D01* -X0269418Y0053768D01* -X0269418Y0053926D01* -X0270256Y0054273D01* -X0270979Y0054996D01* -X0271250Y0055651D01* -X0271521Y0054996D01* -X0272244Y0054273D01* -X0273188Y0053882D01* -X0280509Y0053882D01* -X0281453Y0054273D01* -X0282175Y0054996D01* -X0282567Y0055940D01* -X0282567Y0064060D01* -X0282175Y0065004D01* -X0281453Y0065727D01* -X0280509Y0066118D01* -X0280017Y0066118D01* -X0280017Y0068793D01* -X0280118Y0069036D01* -X0280118Y0075964D01* -X0279727Y0076908D01* -X0279004Y0077630D01* -X0278060Y0078021D01* -X0277876Y0078021D01* -X0278093Y0078347D01* -X0278356Y0078982D01* -X0278491Y0079656D01* -X0278491Y0080000D01* -X0278491Y0080344D01* -X0278404Y0080778D01* -X0282243Y0080778D01* -X0283187Y0081169D01* -X0283910Y0081892D01* -X0284301Y0082836D01* -X0284301Y0091731D01* -X0283910Y0092675D01* -X0283187Y0093398D01* -X0282243Y0093789D01* -X0281318Y0093789D01* -X0281318Y0116211D01* -X0282243Y0116211D01* -X0283187Y0116602D01* -X0283910Y0117325D01* -X0284301Y0118269D01* -X0284301Y0127164D01* -X0283910Y0128108D01* -X0283187Y0128831D01* -X0282243Y0129222D01* -X0271379Y0129222D01* -X0271268Y0129176D01* -X0271268Y0135750D01* -X0270695Y0137135D01* -X0269635Y0138195D01* -X0264635Y0143195D01* -X0263250Y0143768D01* -X0262625Y0143768D01* -X0262433Y0144231D01* -X0261711Y0144953D01* -X0260767Y0145344D01* -X0254233Y0145344D01* -X0253289Y0144953D01* -X0252567Y0144231D01* -X0252375Y0143768D01* -X0251375Y0143768D01* -X0251183Y0144231D01* -X0250461Y0144953D01* -X0249517Y0145344D01* -X0242983Y0145344D01* -X0242039Y0144953D01* -X0241317Y0144231D01* -X0240926Y0143286D01* -X0240926Y0136753D01* -X0241317Y0135809D01* -X0242039Y0135086D01* -X0242983Y0134695D01* -X0249517Y0134695D01* -X0250461Y0135086D01* -X0251183Y0135809D01* -X0251358Y0136231D01* -X0252392Y0136231D01* -X0252567Y0135809D01* -X0253289Y0135086D01* -X0254233Y0134695D01* -X0260767Y0134695D01* -X0261711Y0135086D01* -X0261898Y0135273D01* -X0263731Y0133439D01* -X0263731Y0126318D01* -X0262647Y0126318D01* -X0262647Y0127164D01* -X0262256Y0128108D01* -X0261534Y0128831D01* -X0260590Y0129222D01* -X0249725Y0129222D01* -X0248781Y0128831D01* -X0248059Y0128108D01* -X0247668Y0127164D01* -X0247668Y0118269D01* -X0248059Y0117325D01* -X0248781Y0116602D01* -X0249725Y0116211D01* -X0251181Y0115057D02* -X0164025Y0115057D01* -X0164025Y0113859D02* -X0249164Y0113859D01* -X0248370Y0112660D02* -X0227682Y0112660D01* -X0228661Y0111462D02* -X0248336Y0111462D01* -X0248336Y0111299D02* -X0248769Y0111299D01* -X0248336Y0111299D01* -X0248769Y0111299D02* -X0248769Y0111299D01* -X0247924Y0110263D02* -X0234109Y0110263D01* -X0235416Y0109065D02* -X0247668Y0109065D01* -X0240000Y0111299D02* -X0240000Y0122500D01* -X0243491Y0122500D01* -X0243491Y0122844D01* -X0243356Y0123518D01* -X0243093Y0124153D01* -X0242711Y0124725D01* -X0242225Y0125211D01* -X0241653Y0125593D01* -X0241018Y0125856D01* -X0240344Y0125991D01* -X0240000Y0125991D01* -X0239656Y0125991D01* -X0238982Y0125856D01* -X0238347Y0125593D01* -X0237775Y0125211D01* -X0237289Y0124725D01* -X0236907Y0124153D01* -X0236644Y0123518D01* -X0236509Y0122844D01* -X0236509Y0122500D01* -X0236509Y0122156D01* -X0236644Y0121482D01* -X0236907Y0120847D01* -X0237289Y0120275D01* -X0237775Y0119789D01* -X0238347Y0119407D01* -X0238982Y0119144D01* -X0239656Y0119009D01* -X0240000Y0119009D01* -X0240344Y0119009D01* -X0241018Y0119144D01* -X0241653Y0119407D01* -X0242225Y0119789D01* -X0242711Y0120275D01* -X0243093Y0120847D01* -X0243356Y0121482D01* -X0243491Y0122156D01* -X0243491Y0122500D01* -X0240000Y0122500D01* -X0240000Y0122500D01* -X0240000Y0122500D01* -X0240000Y0125991D01* -X0240000Y0122500D01* -X0240000Y0119009D01* -X0240000Y0122500D01* -X0240000Y0122500D01* -X0240000Y0122500D01* -X0236509Y0122500D01* -X0240000Y0122500D01* -X0240000Y0122248D02* -X0240000Y0122248D01* -X0240000Y0121050D02* -X0240000Y0121050D01* -X0240000Y0119851D02* -X0240000Y0119851D01* -X0242288Y0119851D02* -X0247668Y0119851D01* -X0247668Y0118653D02* -X0166209Y0118653D01* -X0165338Y0117454D02* -X0248005Y0117454D01* -X0247668Y0121050D02* -X0243177Y0121050D01* -X0243491Y0122248D02* -X0247668Y0122248D01* -X0247668Y0123447D02* -X0243371Y0123447D01* -X0242765Y0124645D02* -X0247668Y0124645D01* -X0247668Y0125844D02* -X0241049Y0125844D01* -X0240000Y0125844D02* -X0240000Y0125844D01* -X0238951Y0125844D02* -X0200668Y0125844D01* -X0200668Y0127042D02* -X0247668Y0127042D01* -X0248191Y0128241D02* -X0200668Y0128241D01* -X0200668Y0129439D02* -X0263731Y0129439D01* -X0263731Y0128241D02* -X0262124Y0128241D01* -X0262647Y0127042D02* -X0263731Y0127042D01* -X0263731Y0130638D02* -X0200668Y0130638D01* -X0200668Y0131836D02* -X0223517Y0131836D01* -X0223347Y0131907D02* -X0223982Y0131644D01* -X0224656Y0131509D01* -X0225000Y0131509D01* -X0225344Y0131509D01* -X0226018Y0131644D01* -X0226653Y0131907D01* -X0227225Y0132289D01* -X0227711Y0132775D01* -X0228093Y0133347D01* -X0228356Y0133982D01* -X0228491Y0134656D01* -X0228491Y0135000D01* -X0228491Y0135344D01* -X0228356Y0136018D01* -X0228093Y0136653D01* -X0227711Y0137225D01* -X0227225Y0137711D01* -X0226653Y0138093D01* -X0226018Y0138356D01* -X0225344Y0138491D01* -X0225000Y0138491D01* -X0224656Y0138491D01* -X0223982Y0138356D01* -X0223347Y0138093D01* -X0222775Y0137711D01* -X0222289Y0137225D01* -X0221907Y0136653D01* -X0221644Y0136018D01* -X0221509Y0135344D01* -X0221509Y0135000D01* -X0221509Y0134656D01* -X0221644Y0133982D01* -X0221907Y0133347D01* -X0222289Y0132775D01* -X0222775Y0132289D01* -X0223347Y0131907D01* -X0225000Y0131836D02* -X0225000Y0131836D01* -X0225000Y0131509D02* -X0225000Y0135000D01* -X0228491Y0135000D01* -X0225000Y0135000D01* -X0225000Y0135000D01* -X0225000Y0135000D01* -X0225000Y0138491D01* -X0225000Y0135000D01* -X0225000Y0135000D01* -X0225000Y0135000D01* -X0221509Y0135000D01* -X0225000Y0135000D01* -X0225000Y0131509D01* -X0226483Y0131836D02* -X0263731Y0131836D01* -X0263731Y0133035D02* -X0227885Y0133035D01* -X0228406Y0134233D02* -X0262937Y0134233D01* -X0268802Y0139027D02* -X0274355Y0139027D01* -X0274407Y0139153D02* -X0274144Y0138518D01* -X0274009Y0137844D01* -X0274009Y0137500D01* -X0274009Y0137156D01* -X0274144Y0136482D01* -X0274407Y0135847D01* -X0274789Y0135275D01* -X0275275Y0134789D01* -X0275847Y0134407D01* -X0276482Y0134144D01* -X0277156Y0134009D01* -X0277500Y0134009D01* -X0277844Y0134009D01* -X0278518Y0134144D01* -X0279153Y0134407D01* -X0279725Y0134789D01* -X0280211Y0135275D01* -X0280593Y0135847D01* -X0280856Y0136482D01* -X0280991Y0137156D01* -X0280991Y0137500D01* -X0280991Y0137844D01* -X0280856Y0138518D01* -X0280593Y0139153D01* -X0280211Y0139725D01* -X0279725Y0140211D01* -X0279153Y0140593D01* -X0278518Y0140856D01* -X0277844Y0140991D01* -X0277500Y0140991D01* -X0277156Y0140991D01* -X0276482Y0140856D01* -X0275847Y0140593D01* -X0275275Y0140211D01* -X0274789Y0139725D01* -X0274407Y0139153D01* -X0274009Y0137829D02* -X0270001Y0137829D01* -X0270904Y0136630D02* -X0274114Y0136630D01* -X0274009Y0137500D02* -X0277500Y0137500D01* -X0280991Y0137500D01* -X0277500Y0137500D01* -X0277500Y0137500D01* -X0277500Y0137500D01* -X0277500Y0140991D01* -X0277500Y0137500D01* -X0277500Y0134009D01* -X0277500Y0137500D01* -X0277500Y0137500D01* -X0277500Y0137500D01* -X0274009Y0137500D01* -X0274684Y0135432D02* -X0271268Y0135432D01* -X0271268Y0134233D02* -X0276265Y0134233D01* -X0277500Y0134233D02* -X0277500Y0134233D01* -X0277500Y0135432D02* -X0277500Y0135432D01* -X0277500Y0136630D02* -X0277500Y0136630D01* -X0277500Y0137829D02* -X0277500Y0137829D01* -X0277500Y0139027D02* -X0277500Y0139027D01* -X0277500Y0140226D02* -X0277500Y0140226D01* -X0275297Y0140226D02* -X0267604Y0140226D01* -X0266405Y0141424D02* -X0286132Y0141424D01* -X0286132Y0140226D02* -X0279703Y0140226D01* -X0280645Y0139027D02* -X0286132Y0139027D01* -X0286132Y0137829D02* -X0280991Y0137829D01* -X0280886Y0136630D02* -X0286132Y0136630D01* -X0286132Y0135432D02* -X0280316Y0135432D01* -X0278735Y0134233D02* -X0286132Y0134233D01* -X0286132Y0133035D02* -X0271268Y0133035D01* -X0271268Y0131836D02* -X0286132Y0131836D01* -X0286132Y0130638D02* -X0271268Y0130638D01* -X0271268Y0129439D02* -X0286132Y0129439D01* -X0286132Y0128241D02* -X0283778Y0128241D01* -X0284301Y0127042D02* -X0286132Y0127042D01* -X0286132Y0125844D02* -X0284301Y0125844D01* -X0284301Y0124645D02* -X0286132Y0124645D01* -X0286132Y0123447D02* -X0284301Y0123447D01* -X0284301Y0122248D02* -X0286132Y0122248D01* -X0286132Y0121050D02* -X0284301Y0121050D01* -X0284301Y0119851D02* -X0286132Y0119851D01* -X0286132Y0118653D02* -X0284301Y0118653D01* -X0283963Y0117454D02* -X0286132Y0117454D01* -X0286132Y0116256D02* -X0282351Y0116256D01* -X0281318Y0115057D02* -X0286132Y0115057D01* -X0286132Y0113859D02* -X0281318Y0113859D01* -X0281318Y0112660D02* -X0286132Y0112660D01* -X0286132Y0111462D02* -X0281318Y0111462D01* -X0281318Y0110263D02* -X0286132Y0110263D01* -X0286132Y0109065D02* -X0281318Y0109065D01* -X0281318Y0107866D02* -X0286132Y0107866D01* -X0286132Y0106668D02* -X0281318Y0106668D01* -X0281318Y0105469D02* -X0286132Y0105469D01* -X0286132Y0104270D02* -X0281318Y0104270D01* -X0281318Y0103072D02* -X0286132Y0103072D01* -X0286132Y0101873D02* -X0281318Y0101873D01* -X0281318Y0100675D02* -X0286132Y0100675D01* -X0286132Y0099476D02* -X0281318Y0099476D01* -X0281318Y0098278D02* -X0286132Y0098278D01* -X0286132Y0097079D02* -X0281318Y0097079D01* -X0281318Y0095881D02* -X0286132Y0095881D01* -X0286132Y0094682D02* -X0281318Y0094682D01* -X0282980Y0093484D02* -X0286132Y0093484D01* -X0286132Y0092285D02* -X0284071Y0092285D01* -X0284301Y0091087D02* -X0286132Y0091087D01* -X0286132Y0089888D02* -X0284301Y0089888D01* -X0284301Y0088690D02* -X0286132Y0088690D01* -X0286132Y0087491D02* -X0284301Y0087491D01* -X0284301Y0086293D02* -X0286132Y0086293D01* -X0286132Y0085094D02* -X0284301Y0085094D01* -X0284301Y0083896D02* -X0286132Y0083896D01* -X0286132Y0082697D02* -X0284244Y0082697D01* -X0283517Y0081499D02* -X0286132Y0081499D01* -X0286132Y0080300D02* -X0278491Y0080300D01* -X0278491Y0080000D02* -X0275000Y0080000D01* -X0275000Y0080000D01* -X0275000Y0080000D01* -X0271509Y0080000D01* -X0271509Y0079656D01* -X0271644Y0078982D01* -X0271907Y0078347D01* -X0272124Y0078021D01* -X0271920Y0078021D01* -X0270976Y0077630D01* -X0270618Y0077273D01* -X0270319Y0077353D01* -X0268110Y0077353D01* -X0268110Y0073100D01* -X0266910Y0073100D01* -X0266910Y0077353D01* -X0265182Y0077353D01* -X0265695Y0077865D01* -X0269717Y0081887D01* -X0270435Y0081169D01* -X0271379Y0080778D01* -X0271596Y0080778D01* -X0271509Y0080344D01* -X0271509Y0080000D01* -X0275000Y0080000D01* -X0278491Y0080000D01* -X0278380Y0079102D02* -X0286132Y0079102D01* -X0286132Y0077903D02* -X0278345Y0077903D01* -X0279811Y0076705D02* -X0286132Y0076705D01* -X0286132Y0075506D02* -X0280118Y0075506D01* -X0280118Y0074308D02* -X0286132Y0074308D01* -X0286132Y0073109D02* -X0280118Y0073109D01* -X0280118Y0071911D02* -X0286132Y0071911D01* -X0286132Y0070712D02* -X0280118Y0070712D01* -X0280118Y0069514D02* -X0286132Y0069514D01* -X0286132Y0068315D02* -X0280017Y0068315D01* -X0280017Y0067117D02* -X0286132Y0067117D01* -X0286132Y0065918D02* -X0280991Y0065918D01* -X0282293Y0064720D02* -X0286132Y0064720D01* -X0286132Y0063521D02* -X0282567Y0063521D01* -X0282567Y0062323D02* -X0286132Y0062323D01* -X0286132Y0061124D02* -X0282567Y0061124D01* -X0282567Y0059926D02* -X0286132Y0059926D01* -X0286132Y0058727D02* -X0282567Y0058727D01* -X0282567Y0057529D02* -X0286132Y0057529D01* -X0286132Y0056330D02* -X0282567Y0056330D01* -X0282232Y0055132D02* -X0286132Y0055132D01* -X0286132Y0053933D02* -X0280631Y0053933D01* -X0284830Y0052734D02* -X0286132Y0052734D01* -X0286132Y0051536D02* -X0286029Y0051536D01* -X0276848Y0060000D02* -X0276848Y0072500D01* -X0274990Y0072500D01* -X0273680Y0066979D02* -X0271920Y0066979D01* -X0270976Y0067370D01* -X0270618Y0067727D01* -X0270319Y0067647D01* -X0268110Y0067647D01* -X0268110Y0071900D01* -X0266910Y0071900D01* -X0266910Y0067647D01* -X0264701Y0067647D01* -X0264217Y0067777D01* -X0263784Y0068027D01* -X0263430Y0068381D01* -X0263180Y0068814D01* -X0263051Y0069297D01* -X0263051Y0071900D01* -X0266910Y0071900D01* -X0266910Y0073100D01* -X0263051Y0073100D01* -X0263051Y0075703D01* -X0263180Y0076186D01* -X0263206Y0076231D01* -X0260758Y0076231D01* -X0260758Y0073100D01* -X0256506Y0073100D01* -X0256506Y0071900D01* -X0260758Y0071900D01* -X0260758Y0068313D01* -X0260629Y0067830D01* -X0260379Y0067396D01* -X0260025Y0067043D01* -X0259592Y0066792D01* -X0259108Y0066663D01* -X0256505Y0066663D01* -X0256505Y0071900D01* -X0255306Y0071900D01* -X0255306Y0066663D01* -X0255068Y0066663D01* -X0255068Y0065837D01* -X0255306Y0065837D01* -X0255306Y0060600D01* -X0256505Y0060600D01* -X0256505Y0065837D01* -X0259108Y0065837D01* -X0259592Y0065708D01* -X0260025Y0065457D01* -X0260379Y0065104D01* -X0260395Y0065075D01* -X0261047Y0065727D01* -X0261991Y0066118D01* -X0269312Y0066118D01* -X0270256Y0065727D01* -X0270979Y0065004D01* -X0271250Y0064349D01* -X0271521Y0065004D01* -X0272244Y0065727D01* -X0273188Y0066118D01* -X0273680Y0066118D01* -X0273680Y0066979D01* -X0272706Y0065918D02* -X0269794Y0065918D01* -X0271097Y0064720D02* -X0271403Y0064720D01* -X0271587Y0067117D02* -X0260099Y0067117D01* -X0260758Y0068315D02* -X0263496Y0068315D01* -X0263051Y0069514D02* -X0260758Y0069514D01* -X0260758Y0070712D02* -X0263051Y0070712D01* -X0263051Y0073109D02* -X0260758Y0073109D01* -X0260758Y0074308D02* -X0263051Y0074308D01* -X0263051Y0075506D02* -X0260758Y0075506D01* -X0265733Y0077903D02* -X0271635Y0077903D01* -X0271620Y0079102D02* -X0266931Y0079102D01* -X0268130Y0080300D02* -X0271509Y0080300D01* -X0270105Y0081499D02* -X0269328Y0081499D01* -X0268110Y0076705D02* -X0266910Y0076705D01* -X0266910Y0075506D02* -X0268110Y0075506D01* -X0268110Y0074308D02* -X0266910Y0074308D01* -X0266910Y0073109D02* -X0268110Y0073109D01* -X0266910Y0071911D02* -X0256506Y0071911D01* -X0256505Y0070712D02* -X0255306Y0070712D01* -X0255306Y0069514D02* -X0256505Y0069514D01* -X0256505Y0068315D02* -X0255306Y0068315D01* -X0255306Y0067117D02* -X0256505Y0067117D01* -X0255068Y0065918D02* -X0261509Y0065918D01* -X0256505Y0064720D02* -X0255306Y0064720D01* -X0255306Y0063521D02* -X0256505Y0063521D01* -X0256505Y0062323D02* -X0255306Y0062323D01* -X0255306Y0061124D02* -X0256505Y0061124D01* -X0256505Y0059400D02* -X0256505Y0054163D01* -X0259108Y0054163D01* -X0259592Y0054292D01* -X0260025Y0054543D01* -X0260379Y0054896D01* -X0260395Y0054925D01* -X0261047Y0054273D01* -X0261991Y0053882D01* -X0263081Y0053882D01* -X0263081Y0053768D01* -X0262553Y0053768D01* -X0254770Y0053768D01* -X0254933Y0054163D01* -X0255306Y0054163D01* -X0255306Y0059400D01* -X0256505Y0059400D01* -X0256505Y0058727D02* -X0255306Y0058727D01* -X0255306Y0057529D02* -X0256505Y0057529D01* -X0256505Y0056330D02* -X0255306Y0056330D01* -X0255306Y0055132D02* -X0256505Y0055132D01* -X0254838Y0053933D02* -X0261869Y0053933D01* -X0266250Y0050000D02* -X0266250Y0060000D01* -X0265652Y0060000D01* -X0271035Y0055132D02* -X0271465Y0055132D01* -X0273065Y0053933D02* -X0269435Y0053933D01* -X0257825Y0045543D02* -X0137891Y0045543D01* -X0137711Y0045275D02* -X0138093Y0045847D01* -X0138356Y0046482D01* -X0138491Y0047156D01* -X0138491Y0047500D01* -X0138491Y0047844D01* -X0138356Y0048518D01* -X0138093Y0049153D01* -X0137711Y0049725D01* -X0137225Y0050211D01* -X0136653Y0050593D01* -X0136018Y0050856D01* -X0135344Y0050991D01* -X0135000Y0050991D01* -X0134656Y0050991D01* -X0133982Y0050856D01* -X0133347Y0050593D01* -X0132775Y0050211D01* -X0132289Y0049725D01* -X0131907Y0049153D01* -X0131644Y0048518D01* -X0131509Y0047844D01* -X0131509Y0047500D01* -X0131509Y0047156D01* -X0131644Y0046482D01* -X0131907Y0045847D01* -X0132289Y0045275D01* -X0132775Y0044789D01* -X0133347Y0044407D01* -X0133982Y0044144D01* -X0134656Y0044009D01* -X0135000Y0044009D01* -X0135344Y0044009D01* -X0136018Y0044144D01* -X0136653Y0044407D01* -X0137225Y0044789D01* -X0137711Y0045275D01* -X0136504Y0044345D02* -X0258322Y0044345D01* -X0259289Y0043146D02* -X0130085Y0043146D01* -X0130699Y0044345D02* -X0133496Y0044345D01* -X0135000Y0044345D02* -X0135000Y0044345D01* -X0135000Y0044009D02* -X0135000Y0047500D01* -X0138491Y0047500D01* -X0135000Y0047500D01* -X0135000Y0047500D01* -X0135000Y0047500D01* -X0135000Y0050991D01* -X0135000Y0047500D01* -X0135000Y0047500D01* -X0135000Y0047500D01* -X0131509Y0047500D01* -X0135000Y0047500D01* -X0135000Y0044009D01* -X0135000Y0045543D02* -X0135000Y0045543D01* -X0135000Y0046742D02* -X0135000Y0046742D01* -X0135000Y0047940D02* -X0135000Y0047940D01* -X0135000Y0049139D02* -X0135000Y0049139D01* -X0135000Y0050337D02* -X0135000Y0050337D01* -X0132964Y0050337D02* -X0130699Y0050337D01* -X0130699Y0050703D02* -X0130570Y0051186D01* -X0130320Y0051619D01* -X0129966Y0051973D01* -X0129533Y0052223D01* -X0129049Y0052353D01* -X0126840Y0052353D01* -X0126840Y0048100D01* -X0130699Y0048100D01* -X0130699Y0050703D01* -X0130368Y0051536D02* -X0163731Y0051536D01* -X0163731Y0052734D02* -X0122522Y0052734D01* -X0125640Y0051536D02* -X0126840Y0051536D01* -X0126840Y0050337D02* -X0125640Y0050337D01* -X0125640Y0049139D02* -X0126840Y0049139D01* -X0126840Y0047940D02* -X0131529Y0047940D01* -X0131592Y0046742D02* -X0130699Y0046742D01* -X0130699Y0045543D02* -X0132109Y0045543D01* -X0131901Y0049139D02* -X0130699Y0049139D01* -X0126840Y0046742D02* -X0125640Y0046742D01* -X0125640Y0045543D02* -X0126840Y0045543D01* -X0126840Y0044345D02* -X0125640Y0044345D01* -X0125640Y0043146D02* -X0126840Y0043146D01* -X0126063Y0037500D02* -X0130000Y0033563D01* -X0130000Y0022500D01* -X0122500Y0015000D01* -X0128268Y0015581D02* -X0258535Y0015581D01* -X0258244Y0016779D02* -X0128760Y0016779D01* -X0128268Y0014382D02* -X0259143Y0014382D01* -X0260214Y0013184D02* -X0128268Y0013184D01* -X0127643Y0011985D02* -X0262822Y0011985D01* -X0277000Y0015581D02* -X0278000Y0015581D01* -X0278000Y0016779D02* -X0277000Y0016779D01* -X0252601Y0029963D02* -X0133168Y0029963D01* -X0133168Y0031161D02* -X0251776Y0031161D01* -X0251509Y0032360D02* -X0133168Y0032360D01* -X0133168Y0033558D02* -X0251660Y0033558D01* -X0252320Y0034757D02* -X0132935Y0034757D01* -X0132089Y0035955D02* -X0254479Y0035955D01* -X0258361Y0040749D02* -X0112590Y0040749D01* -X0111391Y0041948D02* -X0259383Y0041948D01* -X0239969Y0053768D02* -X0171268Y0053768D01* -X0171268Y0075750D01* -X0170695Y0077135D01* -X0169635Y0078195D01* -X0168250Y0078768D01* -X0129720Y0078768D01* -X0129872Y0079135D01* -X0129872Y0094784D01* -X0188688Y0094784D01* -X0195267Y0088205D01* -X0195903Y0087568D01* -X0189804Y0087568D01* -X0188860Y0087177D01* -X0188137Y0086455D01* -X0187746Y0085511D01* -X0187746Y0066989D01* -X0188137Y0066045D01* -X0188860Y0065323D01* -X0189804Y0064931D01* -X0213124Y0064931D01* -X0213124Y0062388D01* -X0216411Y0062388D01* -X0216411Y0062013D01* -X0216786Y0062013D01* -X0216786Y0057545D01* -X0218423Y0057545D01* -X0218907Y0057674D01* -X0219016Y0057737D01* -X0219470Y0057283D01* -X0220414Y0056892D01* -X0224586Y0056892D01* -X0225432Y0057243D01* -X0226111Y0056961D01* -X0226267Y0056805D01* -X0227652Y0056231D01* -X0238573Y0056231D01* -X0238573Y0055552D01* -X0238964Y0054608D01* -X0239687Y0053886D01* -X0239969Y0053768D01* -X0239639Y0053933D02* -X0171268Y0053933D01* -X0171268Y0055132D02* -X0204932Y0055132D01* -X0204789Y0055275D02* -X0205275Y0054789D01* -X0205847Y0054407D01* -X0206482Y0054144D01* -X0207156Y0054009D01* -X0207500Y0054009D01* -X0207844Y0054009D01* -X0208518Y0054144D01* -X0209153Y0054407D01* -X0209725Y0054789D01* -X0210211Y0055275D01* -X0210593Y0055847D01* -X0210856Y0056482D01* -X0210991Y0057156D01* -X0210991Y0057500D01* -X0210991Y0057844D01* -X0210856Y0058518D01* -X0210593Y0059153D01* -X0210211Y0059725D01* -X0209725Y0060211D01* -X0209153Y0060593D01* -X0208518Y0060856D01* -X0207844Y0060991D01* -X0207500Y0060991D01* -X0207156Y0060991D01* -X0206482Y0060856D01* -X0205847Y0060593D01* -X0205275Y0060211D01* -X0204789Y0059725D01* -X0204407Y0059153D01* -X0204144Y0058518D01* -X0204009Y0057844D01* -X0204009Y0057500D01* -X0204009Y0057156D01* -X0204144Y0056482D01* -X0204407Y0055847D01* -X0204789Y0055275D01* -X0204206Y0056330D02* -X0171268Y0056330D01* -X0171268Y0057529D02* -X0204009Y0057529D01* -X0204009Y0057500D02* -X0207500Y0057500D01* -X0210991Y0057500D01* -X0207500Y0057500D01* -X0207500Y0057500D01* -X0207500Y0057500D01* -X0207500Y0060991D01* -X0207500Y0057500D01* -X0207500Y0054009D01* -X0207500Y0057500D01* -X0207500Y0057500D01* -X0207500Y0057500D01* -X0204009Y0057500D01* -X0204230Y0058727D02* -X0171268Y0058727D01* -X0171268Y0059926D02* -X0204989Y0059926D01* -X0207500Y0059926D02* -X0207500Y0059926D01* -X0207500Y0058727D02* -X0207500Y0058727D01* -X0207500Y0057529D02* -X0207500Y0057529D01* -X0207500Y0056330D02* -X0207500Y0056330D01* -X0207500Y0055132D02* -X0207500Y0055132D01* -X0210068Y0055132D02* -X0238747Y0055132D01* -X0227414Y0056330D02* -X0210794Y0056330D01* -X0210991Y0057529D02* -X0219225Y0057529D01* -X0216786Y0058727D02* -X0216411Y0058727D01* -X0216411Y0057545D02* -X0216411Y0062013D01* -X0213124Y0062013D01* -X0213124Y0059195D01* -X0213253Y0058712D01* -X0213503Y0058278D01* -X0213857Y0057924D01* -X0214290Y0057674D01* -X0214773Y0057545D01* -X0216411Y0057545D01* -X0216411Y0059926D02* -X0216786Y0059926D01* -X0216786Y0061124D02* -X0216411Y0061124D01* -X0216411Y0062323D02* -X0171268Y0062323D01* -X0171268Y0063521D02* -X0213124Y0063521D01* -X0213124Y0064720D02* -X0171268Y0064720D01* -X0171268Y0065918D02* -X0188264Y0065918D01* -X0187746Y0067117D02* -X0171268Y0067117D01* -X0171268Y0068315D02* -X0187746Y0068315D01* -X0187746Y0069514D02* -X0171268Y0069514D01* -X0171268Y0070712D02* -X0187746Y0070712D01* -X0187746Y0071911D02* -X0171268Y0071911D01* -X0171268Y0073109D02* -X0187746Y0073109D01* -X0187746Y0074308D02* -X0171268Y0074308D01* -X0171268Y0075506D02* -X0187746Y0075506D01* -X0187746Y0076705D02* -X0170873Y0076705D01* -X0169926Y0077903D02* -X0187746Y0077903D01* -X0187746Y0079102D02* -X0129858Y0079102D01* -X0129872Y0080300D02* -X0187746Y0080300D01* -X0187746Y0081499D02* -X0129872Y0081499D01* -X0129872Y0082697D02* -X0187746Y0082697D01* -X0187746Y0083896D02* -X0129872Y0083896D01* -X0129872Y0085094D02* -X0187746Y0085094D01* -X0188070Y0086293D02* -X0129872Y0086293D01* -X0129872Y0087491D02* -X0189618Y0087491D01* -X0192385Y0091087D02* -X0129872Y0091087D01* -X0129872Y0092285D02* -X0191186Y0092285D01* -X0189988Y0093484D02* -X0129872Y0093484D01* -X0129872Y0094682D02* -X0188789Y0094682D01* -X0190000Y0097953D02* -X0197953Y0090000D01* -X0232500Y0090000D01* -X0237500Y0095000D01* -X0237500Y0098701D01* -X0236437Y0101850D02* -X0232500Y0097913D01* -X0232500Y0097500D01* -X0223740Y0097500D01* -X0216260Y0097500D02* -X0208937Y0097500D01* -X0207500Y0099136D01* -X0204746Y0101890D01* -X0124941Y0101890D01* -X0124941Y0103858D02* -X0203858Y0103858D01* -X0207500Y0107500D01* -X0216260Y0107500D01* -X0211339Y0111462D02* -X0164025Y0111462D01* -X0164025Y0112660D02* -X0212318Y0112660D01* -X0205891Y0110263D02* -X0164025Y0110263D01* -X0163996Y0109065D02* -X0204584Y0109065D01* -X0203385Y0107866D02* -X0163439Y0107866D01* -X0149662Y0117454D02* -X0145896Y0117454D01* -X0145828Y0118653D02* -X0148791Y0118653D01* -X0148632Y0125844D02* -X0145609Y0125844D01* -X0145896Y0127042D02* -X0149158Y0127042D01* -X0150000Y0128241D02* -X0150000Y0128241D01* -X0150000Y0129439D02* -X0150000Y0129439D01* -X0150000Y0130638D02* -X0150000Y0130638D01* -X0150000Y0131836D02* -X0150000Y0131836D01* -X0148221Y0128241D02* -X0145896Y0128241D01* -X0133563Y0130000D02* -X0128750Y0130000D01* -X0128750Y0122500D01* -X0117264Y0117441D02* -X0117264Y0133563D01* -X0122451Y0138750D01* -X0187313Y0138750D01* -X0190000Y0141437D01* -X0190000Y0153563D01* -X0193937Y0157500D01* -X0197500Y0157500D01* -X0201657Y0159402D02* -X0209231Y0159402D01* -X0209231Y0159889D02* -X0209231Y0155111D01* -X0211842Y0152500D01* -X0209231Y0149889D01* -X0209231Y0145111D01* -X0212611Y0141731D01* -X0217389Y0141731D01* -X0220000Y0144342D01* -X0222611Y0141731D01* -X0227389Y0141731D01* -X0230768Y0145111D01* -X0230768Y0149889D01* -X0227685Y0152973D01* -X0230100Y0155388D01* -X0230100Y0157100D01* -X0225400Y0157100D01* -X0225400Y0157900D01* -X0230100Y0157900D01* -X0230100Y0159612D01* -X0227212Y0162500D01* -X0230100Y0165388D01* -X0230100Y0167100D01* -X0225400Y0167100D01* -X0225400Y0167900D01* -X0230100Y0167900D01* -X0230100Y0169612D01* -X0227685Y0172027D01* -X0230768Y0175111D01* -X0230768Y0179889D01* -X0227389Y0183268D01* -X0222611Y0183268D01* -X0220000Y0180658D01* -X0217389Y0183268D01* -X0212611Y0183268D01* -X0209231Y0179889D01* -X0209231Y0175111D01* -X0211842Y0172500D01* -X0209231Y0169889D01* -X0209231Y0165111D01* -X0211842Y0162500D01* -X0209231Y0159889D01* -X0209943Y0160601D02* -X0200860Y0160601D01* -X0199059Y0161799D02* -X0211141Y0161799D01* -X0211345Y0162998D02* -X0193168Y0162998D01* -X0193168Y0164196D02* -X0210146Y0164196D01* -X0209231Y0165395D02* -X0193168Y0165395D01* -X0193168Y0166593D02* -X0209231Y0166593D01* -X0209231Y0167792D02* -X0193168Y0167792D01* -X0193168Y0168990D02* -X0209231Y0168990D01* -X0209531Y0170189D02* -X0193168Y0170189D01* -X0193168Y0171387D02* -X0210729Y0171387D01* -X0211756Y0172586D02* -X0193168Y0172586D01* -X0193168Y0173784D02* -X0210558Y0173784D01* -X0209359Y0174983D02* -X0193168Y0174983D01* -X0193168Y0176181D02* -X0209231Y0176181D01* -X0209231Y0177380D02* -X0193168Y0177380D01* -X0193168Y0178578D02* -X0209231Y0178578D01* -X0209231Y0179777D02* -X0193168Y0179777D01* -X0193168Y0180975D02* -X0210317Y0180975D01* -X0211516Y0182174D02* -X0193168Y0182174D01* -X0193168Y0183372D02* -X0286132Y0183372D01* -X0286132Y0182174D02* -X0228484Y0182174D01* -X0229683Y0180975D02* -X0243264Y0180975D01* -X0243662Y0181373D02* -X0242377Y0180088D01* -X0241681Y0178409D01* -X0241681Y0176591D01* -X0242377Y0174912D01* -X0242481Y0174808D01* -X0242481Y0160097D01* -X0242039Y0159914D01* -X0241317Y0159191D01* -X0240926Y0158247D01* -X0240926Y0151713D01* -X0241317Y0150769D01* -X0242039Y0150047D01* -X0242983Y0149656D01* -X0249517Y0149656D01* -X0250461Y0150047D01* -X0251183Y0150769D01* -X0251574Y0151713D01* -X0251574Y0158247D01* -X0251183Y0159191D01* -X0250461Y0159914D01* -X0250018Y0160097D01* -X0250018Y0174808D01* -X0250123Y0174912D01* -X0250818Y0176591D01* -X0250818Y0178409D01* -X0250123Y0180088D01* -X0248838Y0181373D01* -X0247159Y0182068D01* -X0245341Y0182068D01* -X0243662Y0181373D01* -X0242248Y0179777D02* -X0230768Y0179777D01* -X0230768Y0178578D02* -X0241752Y0178578D01* -X0241681Y0177380D02* -X0230768Y0177380D01* -X0230768Y0176181D02* -X0241851Y0176181D01* -X0242348Y0174983D02* -X0230641Y0174983D01* -X0229442Y0173784D02* -X0242481Y0173784D01* -X0242481Y0172586D02* -X0228244Y0172586D01* -X0228325Y0171387D02* -X0242481Y0171387D01* -X0242481Y0170189D02* -X0229524Y0170189D01* -X0230100Y0168990D02* -X0242481Y0168990D01* -X0242481Y0167792D02* -X0225400Y0167792D01* -X0225400Y0167100D02* -X0225400Y0162400D01* -X0225400Y0157900D01* -X0224600Y0157900D01* -X0224600Y0167100D01* -X0225400Y0167100D01* -X0225400Y0166593D02* -X0224600Y0166593D01* -X0224600Y0165395D02* -X0225400Y0165395D01* -X0225400Y0164196D02* -X0224600Y0164196D01* -X0224600Y0162998D02* -X0225400Y0162998D01* -X0225400Y0161799D02* -X0224600Y0161799D01* -X0224600Y0160601D02* -X0225400Y0160601D01* -X0225400Y0159402D02* -X0224600Y0159402D01* -X0224600Y0158203D02* -X0225400Y0158203D01* -X0227913Y0161799D02* -X0234080Y0161799D01* -X0234144Y0161482D02* -X0234407Y0160847D01* -X0234789Y0160275D01* -X0235275Y0159789D01* -X0235847Y0159407D01* -X0236482Y0159144D01* -X0237156Y0159009D01* -X0237500Y0159009D01* -X0237844Y0159009D01* -X0238518Y0159144D01* -X0239153Y0159407D01* -X0239725Y0159789D01* -X0240211Y0160275D01* -X0240593Y0160847D01* -X0240856Y0161482D01* -X0240991Y0162156D01* -X0240991Y0162500D01* -X0240991Y0162844D01* -X0240856Y0163518D01* -X0240593Y0164153D01* -X0240211Y0164725D01* -X0239725Y0165211D01* -X0239153Y0165593D01* -X0238518Y0165856D01* -X0237844Y0165991D01* -X0237500Y0165991D01* -X0237156Y0165991D01* -X0236482Y0165856D01* -X0235847Y0165593D01* -X0235275Y0165211D01* -X0234789Y0164725D01* -X0234407Y0164153D01* -X0234144Y0163518D01* -X0234009Y0162844D01* -X0234009Y0162500D01* -X0234009Y0162156D01* -X0234144Y0161482D01* -X0234571Y0160601D02* -X0229112Y0160601D01* -X0230100Y0159402D02* -X0235858Y0159402D01* -X0237500Y0159402D02* -X0237500Y0159402D01* -X0237500Y0159009D02* -X0237500Y0162500D01* -X0240991Y0162500D01* -X0237500Y0162500D01* -X0237500Y0162500D01* -X0237500Y0162500D01* -X0237500Y0165991D01* -X0237500Y0162500D01* -X0237500Y0162500D01* -X0237500Y0162500D01* -X0234009Y0162500D01* -X0237500Y0162500D01* -X0237500Y0159009D01* -X0237500Y0160601D02* -X0237500Y0160601D01* -X0237500Y0161799D02* -X0237500Y0161799D01* -X0237500Y0162998D02* -X0237500Y0162998D01* -X0237500Y0164196D02* -X0237500Y0164196D01* -X0237500Y0165395D02* -X0237500Y0165395D01* -X0239451Y0165395D02* -X0242481Y0165395D01* -X0242481Y0166593D02* -X0230100Y0166593D01* -X0230100Y0165395D02* -X0235549Y0165395D01* -X0234435Y0164196D02* -X0228909Y0164196D01* -X0227710Y0162998D02* -X0234040Y0162998D01* -X0230100Y0158203D02* -X0240926Y0158203D01* -X0240926Y0157005D02* -X0230100Y0157005D01* -X0230100Y0155806D02* -X0240926Y0155806D01* -X0240926Y0154608D02* -X0229320Y0154608D01* -X0228122Y0153409D02* -X0240926Y0153409D01* -X0240926Y0152211D02* -X0228447Y0152211D01* -X0229645Y0151012D02* -X0241216Y0151012D01* -X0242602Y0149814D02* -X0230768Y0149814D01* -X0230768Y0148615D02* -X0269765Y0148615D01* -X0269529Y0148852D02* -X0270152Y0148229D01* -X0270865Y0147710D01* -X0271650Y0147310D01* -X0272489Y0147038D01* -X0273359Y0146900D01* -X0277000Y0146900D01* -X0277000Y0152000D01* -X0268209Y0152000D01* -X0268338Y0151189D01* -X0268610Y0150350D01* -X0269010Y0149565D01* -X0269529Y0148852D01* -X0268884Y0149814D02* -X0261148Y0149814D01* -X0262534Y0151012D02* -X0268395Y0151012D01* -X0268274Y0153409D02* -X0262824Y0153409D01* -X0262824Y0152211D02* -X0277000Y0152211D01* -X0277000Y0151012D02* -X0278000Y0151012D01* -X0278000Y0149814D02* -X0277000Y0149814D01* -X0277000Y0148615D02* -X0278000Y0148615D01* -X0278000Y0147417D02* -X0277000Y0147417D01* -X0271441Y0147417D02* -X0230768Y0147417D01* -X0230768Y0146218D02* -X0286132Y0146218D01* -X0286132Y0145020D02* -X0261550Y0145020D01* -X0262603Y0143821D02* -X0286132Y0143821D01* -X0286132Y0142623D02* -X0265207Y0142623D01* -X0257500Y0140020D02* -X0257500Y0140000D01* -X0252397Y0143821D02* -X0251353Y0143821D01* -X0250300Y0145020D02* -X0253450Y0145020D01* -X0253852Y0149814D02* -X0249898Y0149814D01* -X0251284Y0151012D02* -X0252466Y0151012D01* -X0252176Y0152211D02* -X0251574Y0152211D01* -X0251574Y0153409D02* -X0252176Y0153409D01* -X0252176Y0154608D02* -X0251574Y0154608D01* -X0251574Y0155806D02* -X0252176Y0155806D01* -X0252176Y0157005D02* -X0251574Y0157005D01* -X0251574Y0158203D02* -X0252176Y0158203D01* -X0252777Y0159402D02* -X0250973Y0159402D01* -X0250018Y0160601D02* -X0255271Y0160601D01* -X0256470Y0161799D02* -X0250018Y0161799D01* -X0250018Y0162998D02* -X0257668Y0162998D01* -X0258867Y0164196D02* -X0250018Y0164196D01* -X0250018Y0165395D02* -X0260065Y0165395D01* -X0263533Y0158203D02* -X0269231Y0158203D01* -X0270473Y0157005D02* -X0262824Y0157005D01* -X0262824Y0155806D02* -X0269280Y0155806D01* -X0268597Y0154608D02* -X0262824Y0154608D01* -X0269028Y0166593D02* -X0250018Y0166593D01* -X0250018Y0167792D02* -X0270227Y0167792D01* -X0284773Y0167792D02* -X0286132Y0167792D01* -X0286132Y0168990D02* -X0250018Y0168990D01* -X0250018Y0170189D02* -X0286132Y0170189D01* -X0286132Y0171387D02* -X0250018Y0171387D01* -X0250018Y0172586D02* -X0286132Y0172586D01* -X0286132Y0173784D02* -X0250018Y0173784D01* -X0250152Y0174983D02* -X0286132Y0174983D01* -X0286132Y0176181D02* -X0250649Y0176181D01* -X0250818Y0177380D02* -X0286132Y0177380D01* -X0286132Y0178578D02* -X0250748Y0178578D01* -X0250252Y0179777D02* -X0286132Y0179777D01* -X0286132Y0180975D02* -X0249236Y0180975D01* -X0253853Y0198190D02* -X0254336Y0198061D01* -X0260403Y0198061D01* -X0260403Y0201643D01* -X0261369Y0201643D01* -X0261369Y0202609D01* -X0269085Y0202609D01* -X0269085Y0204541D01* -X0268956Y0205025D01* -X0268705Y0205458D01* -X0268352Y0205812D01* -X0267918Y0206062D01* -X0267435Y0206191D01* -X0261369Y0206191D01* -X0261369Y0202609D01* -X0260403Y0202609D01* -X0260403Y0206191D01* -X0254336Y0206191D01* -X0253853Y0206062D01* -X0253420Y0205812D01* -X0253066Y0205458D01* -X0252816Y0205025D01* -X0252687Y0204541D01* -X0252687Y0202609D01* -X0260403Y0202609D01* -X0260403Y0201643D01* -X0252687Y0201643D01* -X0252687Y0199710D01* -X0252816Y0199227D01* -X0253066Y0198794D01* -X0253420Y0198440D01* -X0253853Y0198190D01* -X0252974Y0198953D02* -X0242025Y0198953D01* -X0241934Y0198794D02* -X0242184Y0199227D01* -X0242313Y0199710D01* -X0242313Y0201643D01* -X0234597Y0201643D01* -X0234597Y0198061D01* -X0240664Y0198061D01* -X0241147Y0198190D01* -X0241580Y0198440D01* -X0241934Y0198794D01* -X0242313Y0200151D02* -X0252687Y0200151D01* -X0252687Y0201350D02* -X0242313Y0201350D01* -X0242313Y0202609D02* -X0242313Y0204541D01* -X0242184Y0205025D01* -X0241934Y0205458D01* -X0241580Y0205812D01* -X0241147Y0206062D01* -X0240664Y0206191D01* -X0234597Y0206191D01* -X0234597Y0202609D01* -X0233631Y0202609D01* -X0233631Y0201643D01* -X0225915Y0201643D01* -X0225915Y0199710D01* -X0226044Y0199227D01* -X0226295Y0198794D01* -X0226648Y0198440D01* -X0227082Y0198190D01* -X0227565Y0198061D01* -X0233631Y0198061D01* -X0233631Y0201643D01* -X0234597Y0201643D01* -X0234597Y0202609D01* -X0242313Y0202609D01* -X0242313Y0203747D02* -X0252687Y0203747D01* -X0252795Y0204945D02* -X0242205Y0204945D01* -X0240840Y0206144D02* -X0254160Y0206144D01* -X0260403Y0206144D02* -X0261369Y0206144D01* -X0261369Y0204945D02* -X0260403Y0204945D01* -X0260403Y0203747D02* -X0261369Y0203747D01* -X0261369Y0202548D02* -X0286132Y0202548D01* -X0286132Y0201350D02* -X0269085Y0201350D01* -X0269085Y0201643D02* -X0269085Y0199710D01* -X0268956Y0199227D01* -X0268705Y0198794D01* -X0268352Y0198440D01* -X0267918Y0198190D01* -X0267435Y0198061D01* -X0261369Y0198061D01* -X0261369Y0201643D01* -X0269085Y0201643D01* -X0270000Y0202126D02* -X0275000Y0207126D01* -X0275000Y0207500D01* -X0274400Y0207342D02* -X0275600Y0207342D01* -X0275600Y0207963D02* -X0275600Y0204104D01* -X0278400Y0204104D01* -X0278883Y0204233D01* -X0279316Y0204484D01* -X0279670Y0204837D01* -X0279920Y0205271D01* -X0280050Y0205754D01* -X0280050Y0207963D01* -X0275600Y0207963D01* -X0275600Y0208541D02* -X0286132Y0208541D01* -X0286132Y0209739D02* -X0280050Y0209739D01* -X0280050Y0210938D02* -X0286132Y0210938D01* -X0286132Y0212137D02* -X0280041Y0212137D01* -X0280705Y0213335D02* -X0286132Y0213335D01* -X0286132Y0214534D02* -X0280718Y0214534D01* -X0280718Y0215732D02* -X0286132Y0215732D01* -X0286132Y0216931D02* -X0280718Y0216931D01* -X0280718Y0218129D02* -X0286132Y0218129D01* -X0286132Y0219328D02* -X0280718Y0219328D01* -X0280252Y0220526D02* -X0286132Y0220526D01* -X0286132Y0221725D02* -X0269132Y0221725D01* -X0275000Y0217874D02* -X0260886Y0217874D01* -X0234114Y0217874D01* -X0234114Y0222500D01* -X0190000Y0222500D01* -X0185000Y0217500D01* -X0180000Y0212500D01* -X0180000Y0192500D01* -X0175000Y0187500D01* -X0127500Y0187500D01* -X0122500Y0182500D01* -X0122500Y0157500D01* -X0117500Y0152500D01* -X0107421Y0152500D01* -X0103484Y0148563D01* -X0103484Y0117441D01* -X0101516Y0117441D02* -X0101516Y0151063D01* -X0105453Y0155000D01* -X0113750Y0155000D01* -X0118750Y0160000D01* -X0118750Y0187500D01* -X0123750Y0192500D01* -X0146902Y0192500D01* -X0151902Y0197500D01* -X0151902Y0205000D01* -X0146183Y0204945D02* -X0143817Y0204945D01* -X0143817Y0203747D02* -X0146183Y0203747D01* -X0146183Y0202548D02* -X0143817Y0202548D01* -X0143817Y0201350D02* -X0146183Y0201350D01* -X0146510Y0200151D02* -X0143490Y0200151D01* -X0141929Y0198953D02* -X0148071Y0198953D01* -X0147675Y0197754D02* -X0130070Y0197754D01* -X0129940Y0196556D02* -X0146476Y0196556D01* -X0150644Y0191762D02* -X0168696Y0191762D01* -X0168982Y0191644D02* -X0169656Y0191509D01* -X0170000Y0191509D01* -X0170344Y0191509D01* -X0171018Y0191644D01* -X0171653Y0191907D01* -X0172225Y0192289D01* -X0172711Y0192775D01* -X0173093Y0193347D01* -X0173356Y0193982D01* -X0173491Y0194656D01* -X0173491Y0195000D01* -X0173491Y0195344D01* -X0173356Y0196018D01* -X0173093Y0196653D01* -X0172711Y0197225D01* -X0172225Y0197711D01* -X0171653Y0198093D01* -X0171018Y0198356D01* -X0170344Y0198491D01* -X0170000Y0198491D01* -X0169656Y0198491D01* -X0168982Y0198356D01* -X0168347Y0198093D01* -X0167775Y0197711D01* -X0167289Y0197225D01* -X0166907Y0196653D01* -X0166644Y0196018D01* -X0166509Y0195344D01* -X0166509Y0195000D01* -X0166509Y0194656D01* -X0166644Y0193982D01* -X0166907Y0193347D01* -X0167289Y0192775D01* -X0167775Y0192289D01* -X0168347Y0191907D01* -X0168982Y0191644D01* -X0170000Y0191762D02* -X0170000Y0191762D01* -X0170000Y0191509D02* -X0170000Y0195000D01* -X0173491Y0195000D01* -X0170000Y0195000D01* -X0170000Y0195000D01* -X0170000Y0195000D01* -X0170000Y0198491D01* -X0170000Y0195000D01* -X0170000Y0195000D01* -X0170000Y0195000D01* -X0166509Y0195000D01* -X0170000Y0195000D01* -X0170000Y0191509D01* -X0171304Y0191762D02* -X0174781Y0191762D01* -X0175979Y0192960D02* -X0172835Y0192960D01* -X0173392Y0194159D02* -X0176831Y0194159D01* -X0176831Y0195357D02* -X0173488Y0195357D01* -X0173134Y0196556D02* -X0176831Y0196556D01* -X0176831Y0197754D02* -X0172161Y0197754D01* -X0170000Y0197754D02* -X0170000Y0197754D01* -X0170000Y0196556D02* -X0170000Y0196556D01* -X0170000Y0195357D02* -X0170000Y0195357D01* -X0170000Y0194159D02* -X0170000Y0194159D01* -X0170000Y0192960D02* -X0170000Y0192960D01* -X0167165Y0192960D02* -X0151843Y0192960D01* -X0153041Y0194159D02* -X0166608Y0194159D01* -X0166512Y0195357D02* -X0154240Y0195357D01* -X0154940Y0196556D02* -X0166866Y0196556D01* -X0167839Y0197754D02* -X0155070Y0197754D01* -X0155733Y0198953D02* -X0159267Y0198953D01* -X0157707Y0200151D02* -X0157293Y0200151D01* -X0163098Y0205000D02* -X0163098Y0217500D01* -X0161240Y0217500D01* -X0166267Y0213335D02* -X0176916Y0213335D01* -X0176831Y0212137D02* -X0166267Y0212137D01* -X0167193Y0210938D02* -X0176831Y0210938D01* -X0176831Y0209739D02* -X0168535Y0209739D01* -X0168817Y0208541D02* -X0176831Y0208541D01* -X0176831Y0207342D02* -X0168817Y0207342D01* -X0168817Y0206144D02* -X0176831Y0206144D01* -X0176831Y0204945D02* -X0168817Y0204945D01* -X0168817Y0203747D02* -X0176831Y0203747D01* -X0176831Y0202548D02* -X0168817Y0202548D01* -X0168817Y0201350D02* -X0176831Y0201350D01* -X0176831Y0200151D02* -X0168490Y0200151D01* -X0166929Y0198953D02* -X0176831Y0198953D01* -X0183168Y0198953D02* -X0186831Y0198953D01* -X0186831Y0200151D02* -X0183168Y0200151D01* -X0183168Y0201350D02* -X0186831Y0201350D01* -X0186831Y0202400D02* -X0186831Y0161312D01* -X0184455Y0158936D01* -X0184455Y0158936D01* -X0183564Y0158045D01* -X0183081Y0156880D01* -X0183081Y0147562D01* -X0182039Y0146520D01* -X0182068Y0146591D01* -X0182068Y0148409D01* -X0181373Y0150088D01* -X0180088Y0151373D01* -X0178409Y0152068D01* -X0176591Y0152068D01* -X0174912Y0151373D01* -X0174208Y0150668D01* -X0120149Y0150668D01* -X0120186Y0150705D01* -X0125186Y0155705D01* -X0125668Y0156870D01* -X0125668Y0181188D01* -X0128812Y0184331D01* -X0175630Y0184331D01* -X0176795Y0184814D01* -X0177686Y0185705D01* -X0182686Y0190705D01* -X0183168Y0191870D01* -X0183168Y0202400D01* -X0184600Y0202400D01* -X0184600Y0207100D01* -X0185400Y0207100D01* -X0185400Y0202400D01* -X0186831Y0202400D01* -X0185400Y0202548D02* -X0184600Y0202548D01* -X0184600Y0203747D02* -X0185400Y0203747D01* -X0185400Y0204945D02* -X0184600Y0204945D01* -X0184600Y0206144D02* -X0185400Y0206144D01* -X0190000Y0212500D02* -X0190000Y0160000D01* -X0186250Y0156250D01* -X0186250Y0146250D01* -X0182500Y0142500D01* -X0115295Y0142500D01* -X0111358Y0138563D01* -X0111358Y0117441D01* -X0105453Y0117441D02* -X0105453Y0143563D01* -X0109390Y0147500D01* -X0177500Y0147500D01* -X0182068Y0147417D02* -X0182936Y0147417D01* -X0183081Y0148615D02* -X0181983Y0148615D01* -X0181486Y0149814D02* -X0183081Y0149814D01* -X0183081Y0151012D02* -X0180448Y0151012D01* -X0183081Y0152211D02* -X0121692Y0152211D01* -X0122890Y0153409D02* -X0183081Y0153409D01* -X0183081Y0154608D02* -X0124089Y0154608D01* -X0125228Y0155806D02* -X0183081Y0155806D01* -X0183133Y0157005D02* -X0125668Y0157005D01* -X0125668Y0158203D02* -X0183723Y0158203D01* -X0184921Y0159402D02* -X0125668Y0159402D01* -X0125668Y0160601D02* -X0186120Y0160601D01* -X0186831Y0161799D02* -X0125668Y0161799D01* -X0125668Y0162998D02* -X0186831Y0162998D01* -X0186831Y0164196D02* -X0125668Y0164196D01* -X0125668Y0165395D02* -X0186831Y0165395D01* -X0186831Y0166593D02* -X0125668Y0166593D01* -X0125668Y0167792D02* -X0186831Y0167792D01* -X0186831Y0168990D02* -X0125668Y0168990D01* -X0125668Y0170189D02* -X0186831Y0170189D01* -X0186831Y0171387D02* -X0125668Y0171387D01* -X0125668Y0172586D02* -X0149978Y0172586D01* -X0149789Y0172775D02* -X0150275Y0172289D01* -X0150847Y0171907D01* -X0151482Y0171644D01* -X0152156Y0171509D01* -X0152500Y0171509D01* -X0152844Y0171509D01* -X0153518Y0171644D01* -X0154153Y0171907D01* -X0154725Y0172289D01* -X0155211Y0172775D01* -X0155593Y0173347D01* -X0155856Y0173982D01* -X0155991Y0174656D01* -X0155991Y0175000D01* -X0155991Y0175344D01* -X0155856Y0176018D01* -X0155593Y0176653D01* -X0155211Y0177225D01* -X0154725Y0177711D01* -X0154153Y0178093D01* -X0153518Y0178356D01* -X0152844Y0178491D01* -X0152500Y0178491D01* -X0152156Y0178491D01* -X0151482Y0178356D01* -X0150847Y0178093D01* -X0150275Y0177711D01* -X0149789Y0177225D01* -X0149407Y0176653D01* -X0149144Y0176018D01* -X0149009Y0175344D01* -X0149009Y0175000D01* -X0149009Y0174656D01* -X0149144Y0173982D01* -X0149407Y0173347D01* -X0149789Y0172775D01* -X0149225Y0173784D02* -X0125668Y0173784D01* -X0125668Y0174983D02* -X0149009Y0174983D01* -X0149009Y0175000D02* -X0152500Y0175000D01* -X0155991Y0175000D01* -X0152500Y0175000D01* -X0152500Y0175000D01* -X0152500Y0175000D01* -X0152500Y0178491D01* -X0152500Y0175000D01* -X0152500Y0171509D01* -X0152500Y0175000D01* -X0152500Y0175000D01* -X0152500Y0175000D01* -X0149009Y0175000D01* -X0149211Y0176181D02* -X0125668Y0176181D01* -X0125668Y0177380D02* -X0149943Y0177380D01* -X0152500Y0177380D02* -X0152500Y0177380D01* -X0152500Y0176181D02* -X0152500Y0176181D01* -X0152500Y0174983D02* -X0152500Y0174983D01* -X0152500Y0173784D02* -X0152500Y0173784D01* -X0152500Y0172586D02* -X0152500Y0172586D01* -X0155022Y0172586D02* -X0186831Y0172586D01* -X0186831Y0173784D02* -X0155775Y0173784D01* -X0155991Y0174983D02* -X0186831Y0174983D01* -X0186831Y0176181D02* -X0155789Y0176181D01* -X0155057Y0177380D02* -X0186831Y0177380D01* -X0186831Y0178578D02* -X0125668Y0178578D01* -X0125668Y0179777D02* -X0186831Y0179777D01* -X0186831Y0180975D02* -X0125668Y0180975D01* -X0126655Y0182174D02* -X0186831Y0182174D01* -X0186831Y0183372D02* -X0127853Y0183372D01* -X0114402Y0192500D02* -X0119402Y0197500D01* -X0126902Y0197500D01* -X0126902Y0205000D01* -X0121183Y0204945D02* -X0118817Y0204945D01* -X0118817Y0203747D02* -X0121183Y0203747D01* -X0121183Y0202548D02* -X0118817Y0202548D01* -X0118817Y0201350D02* -X0121183Y0201350D01* -X0121183Y0206144D02* -X0118817Y0206144D01* -X0118817Y0207342D02* -X0121183Y0207342D01* -X0121183Y0208541D02* -X0118817Y0208541D01* -X0118535Y0209739D02* -X0121465Y0209739D01* -X0122807Y0210938D02* -X0117193Y0210938D01* -X0116267Y0212137D02* -X0132789Y0212137D01* -X0134004Y0210938D02* -X0130996Y0210938D01* -X0132338Y0209739D02* -X0132662Y0209739D01* -X0128160Y0212647D02* -X0128160Y0216900D01* -X0124301Y0216900D01* -X0124301Y0214297D01* -X0124430Y0213814D01* -X0124680Y0213381D01* -X0125034Y0213027D01* -X0125467Y0212777D01* -X0125951Y0212647D01* -X0128160Y0212647D01* -X0128160Y0213335D02* -X0129360Y0213335D01* -X0129360Y0214534D02* -X0128160Y0214534D01* -X0128160Y0215732D02* -X0129360Y0215732D01* -X0128160Y0216931D02* -X0116368Y0216931D01* -X0116368Y0218129D02* -X0124301Y0218129D01* -X0124301Y0219328D02* -X0116368Y0219328D01* -X0116368Y0220526D02* -X0124301Y0220526D01* -X0124786Y0221725D02* -X0116053Y0221725D01* -X0114547Y0222923D02* -X0132933Y0222923D01* -X0129360Y0221725D02* -X0128160Y0221725D01* -X0128160Y0220526D02* -X0129360Y0220526D01* -X0129360Y0219328D02* -X0128160Y0219328D01* -X0128160Y0218129D02* -X0129360Y0218129D01* -X0124301Y0215732D02* -X0116368Y0215732D01* -X0116368Y0214534D02* -X0124301Y0214534D01* -X0124726Y0213335D02* -X0116267Y0213335D01* -X0113098Y0217500D02* -X0111240Y0217500D01* -X0113098Y0217500D02* -X0113098Y0205000D01* -X0107662Y0209739D02* -X0107338Y0209739D01* -X0105996Y0210938D02* -X0109004Y0210938D01* -X0107789Y0212137D02* -X0082344Y0212137D01* -X0081146Y0213335D02* -X0099726Y0213335D01* -X0099680Y0213381D02* -X0100034Y0213027D01* -X0100467Y0212777D01* -X0100951Y0212647D01* -X0103160Y0212647D01* -X0103160Y0216900D01* -X0099301Y0216900D01* -X0099301Y0214297D01* -X0099430Y0213814D01* -X0099680Y0213381D01* -X0099301Y0214534D02* -X0079947Y0214534D01* -X0077500Y0212500D02* -X0082500Y0207500D01* -X0082500Y0205000D01* -X0101902Y0205000D01* -X0096183Y0201831D02* -X0096183Y0200940D01* -X0096296Y0200668D01* -X0053812Y0200668D01* -X0052081Y0202400D01* -X0052100Y0202400D01* -X0052100Y0207100D01* -X0052900Y0207100D01* -X0052900Y0207900D01* -X0057600Y0207900D01* -X0062100Y0207900D01* -X0062100Y0207100D01* -X0052900Y0207100D01* -X0052900Y0202400D01* -X0054612Y0202400D01* -X0057500Y0205288D01* -X0060388Y0202400D01* -X0062100Y0202400D01* -X0062100Y0207100D01* -X0062900Y0207100D01* -X0062900Y0207900D01* -X0067600Y0207900D01* -X0067600Y0209331D01* -X0076188Y0209331D01* -X0079331Y0206188D01* -X0079331Y0204370D01* -X0079814Y0203205D01* -X0080705Y0202314D01* -X0081870Y0201831D01* -X0096183Y0201831D01* -X0096183Y0201350D02* -X0053131Y0201350D01* -X0052900Y0202548D02* -X0052100Y0202548D01* -X0052100Y0203747D02* -X0052900Y0203747D01* -X0052900Y0204945D02* -X0052100Y0204945D01* -X0052100Y0206144D02* -X0052900Y0206144D01* -X0052900Y0207342D02* -X0062100Y0207342D01* -X0062900Y0207342D02* -X0078177Y0207342D01* -X0079331Y0206144D02* -X0067600Y0206144D01* -X0067600Y0205388D02* -X0067600Y0207100D01* -X0062900Y0207100D01* -X0062900Y0202400D01* -X0064612Y0202400D01* -X0067600Y0205388D01* -X0067158Y0204945D02* -X0079331Y0204945D01* -X0079589Y0203747D02* -X0065959Y0203747D01* -X0064761Y0202548D02* -X0080471Y0202548D01* -X0076978Y0208541D02* -X0067600Y0208541D01* -X0062900Y0206144D02* -X0062100Y0206144D01* -X0062100Y0204945D02* -X0062900Y0204945D01* -X0062900Y0203747D02* -X0062100Y0203747D01* -X0062100Y0202548D02* -X0062900Y0202548D01* -X0060239Y0202548D02* -X0054761Y0202548D01* -X0055959Y0203747D02* -X0059041Y0203747D01* -X0057842Y0204945D02* -X0057158Y0204945D01* -X0057500Y0212500D02* -X0077500Y0212500D01* -X0083543Y0210938D02* -X0097807Y0210938D01* -X0096465Y0209739D02* -X0084741Y0209739D01* -X0085498Y0208541D02* -X0096183Y0208541D01* -X0103160Y0213335D02* -X0104360Y0213335D01* -X0104360Y0214534D02* -X0103160Y0214534D01* -X0103160Y0215732D02* -X0104360Y0215732D01* -X0103160Y0216931D02* -X0068268Y0216931D01* -X0068268Y0218129D02* -X0099301Y0218129D01* -X0099301Y0219328D02* -X0068268Y0219328D01* -X0067632Y0220526D02* -X0099301Y0220526D01* -X0099786Y0221725D02* -X0066433Y0221725D01* -X0065235Y0222923D02* -X0107933Y0222923D01* -X0104360Y0221725D02* -X0103160Y0221725D01* -X0103160Y0220526D02* -X0104360Y0220526D01* -X0104360Y0219328D02* -X0103160Y0219328D01* -X0103160Y0218129D02* -X0104360Y0218129D01* -X0099301Y0215732D02* -X0068268Y0215732D01* -X0062500Y0217500D02* -X0055000Y0225000D01* -X0016437Y0225000D01* -X0012500Y0221063D01* -X0012500Y0092500D01* -X0017500Y0087500D01* -X0027500Y0087500D01* -X0027500Y0078740D01* -X0021979Y0079102D02* -X0002568Y0079102D01* -X0002568Y0080300D02* -X0021979Y0080300D01* -X0021979Y0081499D02* -X0002568Y0081499D01* -X0002568Y0082697D02* -X0022346Y0082697D01* -X0024331Y0083896D02* -X0002568Y0083896D01* -X0002568Y0085094D02* -X0015425Y0085094D01* -X0014226Y0086293D02* -X0002568Y0086293D01* -X0002568Y0087491D02* -X0013028Y0087491D01* -X0011829Y0088690D02* -X0002568Y0088690D01* -X0002568Y0089888D02* -X0010631Y0089888D01* -X0009656Y0091087D02* -X0002568Y0091087D01* -X0002568Y0092285D02* -X0009331Y0092285D01* -X0009331Y0093484D02* -X0002568Y0093484D01* -X0002568Y0094682D02* -X0009331Y0094682D01* -X0009331Y0095881D02* -X0002568Y0095881D01* -X0002568Y0097079D02* -X0009331Y0097079D01* -X0009331Y0098278D02* -X0002568Y0098278D01* -X0002568Y0099476D02* -X0009331Y0099476D01* -X0009331Y0100675D02* -X0002568Y0100675D01* -X0002568Y0101873D02* -X0009331Y0101873D01* -X0009331Y0103072D02* -X0002568Y0103072D01* -X0002568Y0104270D02* -X0009331Y0104270D01* -X0009331Y0105469D02* -X0002568Y0105469D01* -X0002568Y0106668D02* -X0009331Y0106668D01* -X0009331Y0107866D02* -X0002568Y0107866D01* -X0002568Y0109065D02* -X0009331Y0109065D01* -X0009331Y0110263D02* -X0002568Y0110263D01* -X0002568Y0111462D02* -X0009331Y0111462D01* -X0009331Y0112660D02* -X0002568Y0112660D01* -X0002568Y0113859D02* -X0009331Y0113859D01* -X0009331Y0115057D02* -X0002568Y0115057D01* -X0002568Y0116256D02* -X0009331Y0116256D01* -X0009331Y0117454D02* -X0002568Y0117454D01* -X0002568Y0118653D02* -X0009331Y0118653D01* -X0009331Y0119851D02* -X0002568Y0119851D01* -X0002568Y0121050D02* -X0009331Y0121050D01* -X0009331Y0122248D02* -X0002568Y0122248D01* -X0002568Y0123447D02* -X0009331Y0123447D01* -X0009331Y0124645D02* -X0002568Y0124645D01* -X0002568Y0125844D02* -X0009331Y0125844D01* -X0009331Y0127042D02* -X0002568Y0127042D01* -X0002568Y0128241D02* -X0009331Y0128241D01* -X0009331Y0129439D02* -X0002568Y0129439D01* -X0002568Y0130638D02* -X0009331Y0130638D01* -X0009331Y0131836D02* -X0002568Y0131836D01* -X0002568Y0133035D02* -X0009331Y0133035D01* -X0009331Y0134233D02* -X0002568Y0134233D01* -X0002568Y0135432D02* -X0009331Y0135432D01* -X0009331Y0136630D02* -X0002568Y0136630D01* -X0002568Y0137829D02* -X0009331Y0137829D01* -X0009331Y0139027D02* -X0002568Y0139027D01* -X0002568Y0140226D02* -X0009331Y0140226D01* -X0009331Y0141424D02* -X0002568Y0141424D01* -X0002568Y0142623D02* -X0009331Y0142623D01* -X0009331Y0143821D02* -X0002568Y0143821D01* -X0002568Y0145020D02* -X0009331Y0145020D01* -X0009331Y0146218D02* -X0002568Y0146218D01* -X0002568Y0147417D02* -X0009331Y0147417D01* -X0009331Y0148615D02* -X0002568Y0148615D01* -X0002568Y0149814D02* -X0009331Y0149814D01* -X0009331Y0151012D02* -X0002568Y0151012D01* -X0002568Y0152211D02* -X0009331Y0152211D01* -X0009331Y0153409D02* -X0002568Y0153409D01* -X0002568Y0154608D02* -X0009331Y0154608D01* -X0009331Y0155806D02* -X0002568Y0155806D01* -X0002568Y0157005D02* -X0009331Y0157005D01* -X0009331Y0158203D02* -X0002568Y0158203D01* -X0002568Y0159402D02* -X0009331Y0159402D01* -X0009331Y0160601D02* -X0002568Y0160601D01* -X0002568Y0161799D02* -X0009331Y0161799D01* -X0009331Y0162998D02* -X0002568Y0162998D01* -X0002568Y0164196D02* -X0009331Y0164196D01* -X0009331Y0165395D02* -X0002568Y0165395D01* -X0002568Y0166593D02* -X0009331Y0166593D01* -X0009331Y0167792D02* -X0002568Y0167792D01* -X0002568Y0168990D02* -X0009331Y0168990D01* -X0009331Y0170189D02* -X0002568Y0170189D01* -X0002568Y0171387D02* -X0009331Y0171387D01* -X0009331Y0172586D02* -X0002568Y0172586D01* -X0002568Y0173784D02* -X0009331Y0173784D01* -X0009331Y0174983D02* -X0002568Y0174983D01* -X0002568Y0176181D02* -X0009331Y0176181D01* -X0009331Y0177380D02* -X0002568Y0177380D01* -X0002568Y0178578D02* -X0009331Y0178578D01* -X0009331Y0179777D02* -X0002568Y0179777D01* -X0002568Y0180975D02* -X0009331Y0180975D01* -X0009331Y0182174D02* -X0002568Y0182174D01* -X0002568Y0183372D02* -X0009331Y0183372D01* -X0009331Y0184571D02* -X0002568Y0184571D01* -X0002568Y0185769D02* -X0009331Y0185769D01* -X0009331Y0186968D02* -X0002568Y0186968D01* -X0002568Y0188166D02* -X0009331Y0188166D01* -X0009331Y0189365D02* -X0002568Y0189365D01* -X0002568Y0190563D02* -X0009331Y0190563D01* -X0009331Y0191762D02* -X0002568Y0191762D01* -X0002568Y0192960D02* -X0009331Y0192960D01* -X0009331Y0194159D02* -X0002568Y0194159D01* -X0002568Y0195357D02* -X0009331Y0195357D01* -X0009331Y0196556D02* -X0002568Y0196556D01* -X0002568Y0197754D02* -X0009331Y0197754D01* -X0009331Y0198953D02* -X0002568Y0198953D01* -X0002568Y0200151D02* -X0009331Y0200151D01* -X0009331Y0201350D02* -X0002568Y0201350D01* -X0002568Y0202548D02* -X0009331Y0202548D01* -X0009331Y0203747D02* -X0002568Y0203747D01* -X0002568Y0204945D02* -X0009331Y0204945D01* -X0009331Y0206144D02* -X0002568Y0206144D01* -X0002568Y0207342D02* -X0009331Y0207342D01* -X0009331Y0208541D02* -X0002568Y0208541D01* -X0002568Y0209739D02* -X0009331Y0209739D01* -X0009331Y0210938D02* -X0002568Y0210938D01* -X0002568Y0212137D02* -X0009331Y0212137D01* -X0009331Y0213335D02* -X0002568Y0213335D01* -X0002568Y0214534D02* -X0009331Y0214534D01* -X0009331Y0215732D02* -X0002568Y0215732D01* -X0002568Y0216931D02* -X0009331Y0216931D01* -X0009331Y0218129D02* -X0002568Y0218129D01* -X0002568Y0219328D02* -X0009331Y0219328D01* -X0009331Y0220526D02* -X0002568Y0220526D01* -X0002568Y0221725D02* -X0009344Y0221725D01* -X0009879Y0222923D02* -X0002568Y0222923D01* -X0002568Y0224122D02* -X0011078Y0224122D01* -X0012276Y0225320D02* -X0002568Y0225320D01* -X0002568Y0226519D02* -X0013475Y0226519D01* -X0018937Y0222500D02* -X0015000Y0218563D01* -X0015000Y0095000D01* -X0020000Y0090000D01* -X0068563Y0090000D01* -X0070610Y0092047D01* -X0080059Y0092047D01* -X0080059Y0090079D02* -X0072579Y0090079D01* -X0070000Y0087500D01* -X0027500Y0087500D01* -X0030668Y0084331D02* -X0057079Y0084331D01* -X0056525Y0083961D01* -X0056039Y0083475D01* -X0055657Y0082903D01* -X0055394Y0082268D01* -X0055259Y0081594D01* -X0055259Y0081250D01* -X0055259Y0080906D01* -X0055394Y0080232D01* -X0055657Y0079597D01* -X0056039Y0079025D01* -X0056525Y0078539D01* -X0057097Y0078157D01* -X0057732Y0077894D01* -X0058406Y0077759D01* -X0058750Y0077759D01* -X0059094Y0077759D01* -X0059768Y0077894D01* -X0060403Y0078157D01* -X0060975Y0078539D01* -X0061461Y0079025D01* -X0061843Y0079597D01* -X0062106Y0080232D01* -X0062241Y0080906D01* -X0062241Y0081250D01* -X0062241Y0081594D01* -X0062106Y0082268D01* -X0061843Y0082903D01* -X0061461Y0083475D01* -X0060975Y0083961D01* -X0060421Y0084331D01* -X0069919Y0084331D01* -X0063747Y0078218D01* -X0060867Y0078218D01* -X0059923Y0077827D01* -X0059457Y0077361D01* -X0059355Y0077420D01* -X0058872Y0077550D01* -X0056663Y0077550D01* -X0056663Y0073100D01* -X0055463Y0073100D01* -X0055463Y0077550D01* -X0053254Y0077550D01* -X0052771Y0077420D01* -X0052337Y0077170D01* -X0051984Y0076816D01* -X0051733Y0076383D01* -X0051604Y0075900D01* -X0051604Y0073100D01* -X0055463Y0073100D01* -X0055463Y0071900D01* -X0056663Y0071900D01* -X0056663Y0067450D01* -X0058872Y0067450D01* -X0059355Y0067580D01* -X0059457Y0067639D01* -X0059923Y0067173D01* -X0060769Y0066823D01* -X0060769Y0062872D01* -X0060327Y0062689D01* -X0059604Y0061967D01* -X0059417Y0061515D01* -X0032749Y0061515D01* -X0030668Y0063596D01* -X0030668Y0066132D01* -X0030964Y0066132D01* -X0031908Y0066523D01* -X0032630Y0067246D01* -X0033021Y0068190D01* -X0033021Y0074330D01* -X0032744Y0075000D01* -X0033021Y0075670D01* -X0033021Y0081810D01* -X0032630Y0082754D01* -X0031908Y0083477D01* -X0030964Y0083868D01* -X0030668Y0083868D01* -X0030668Y0084331D01* -X0030668Y0083896D02* -X0056459Y0083896D01* -X0055571Y0082697D02* -X0032654Y0082697D01* -X0033021Y0081499D02* -X0055259Y0081499D01* -X0055259Y0081250D02* -X0058750Y0081250D01* -X0062241Y0081250D01* -X0058750Y0081250D01* -X0058750Y0081250D01* -X0058750Y0077759D01* -X0058750Y0081250D01* -X0058750Y0081250D01* -X0058750Y0081250D01* -X0055259Y0081250D01* -X0055380Y0080300D02* -X0033021Y0080300D01* -X0033021Y0079102D02* -X0055987Y0079102D01* -X0057709Y0077903D02* -X0033021Y0077903D01* -X0033021Y0076705D02* -X0051919Y0076705D01* -X0051604Y0075506D02* -X0032953Y0075506D01* -X0033021Y0074308D02* -X0051604Y0074308D01* -X0051604Y0073109D02* -X0033021Y0073109D01* -X0033021Y0071911D02* -X0055463Y0071911D01* -X0055463Y0071900D02* -X0051604Y0071900D01* -X0051604Y0069100D01* -X0051733Y0068617D01* -X0051984Y0068184D01* -X0052337Y0067830D01* -X0052771Y0067580D01* -X0053254Y0067450D01* -X0055463Y0067450D01* -X0055463Y0071900D01* -X0055463Y0070712D02* -X0056663Y0070712D01* -X0056663Y0069514D02* -X0055463Y0069514D01* -X0055463Y0068315D02* -X0056663Y0068315D01* -X0060059Y0067117D02* -X0032501Y0067117D01* -X0033021Y0068315D02* -X0051908Y0068315D01* -X0051604Y0069514D02* -X0033021Y0069514D01* -X0033021Y0070712D02* -X0051604Y0070712D01* -X0055463Y0073109D02* -X0056663Y0073109D01* -X0056663Y0074308D02* -X0055463Y0074308D01* -X0055463Y0075506D02* -X0056663Y0075506D01* -X0056663Y0076705D02* -X0055463Y0076705D01* -X0058750Y0077903D02* -X0058750Y0077903D01* -X0059791Y0077903D02* -X0060107Y0077903D01* -X0058750Y0079102D02* -X0058750Y0079102D01* -X0058750Y0080300D02* -X0058750Y0080300D01* -X0061513Y0079102D02* -X0064639Y0079102D01* -X0065849Y0080300D02* -X0062120Y0080300D01* -X0062241Y0081499D02* -X0067059Y0081499D01* -X0068269Y0082697D02* -X0061929Y0082697D01* -X0062500Y0083750D02* -X0070000Y0083750D01* -X0074360Y0088110D01* -X0080059Y0088110D01* -X0080059Y0086142D02* -X0076250Y0086142D01* -X0065000Y0075000D01* -X0063937Y0072500D01* -X0063937Y0060846D01* -X0063750Y0058346D01* -X0031437Y0058346D01* -X0027500Y0062283D01* -X0027500Y0071260D01* -X0021979Y0070712D02* -X0002568Y0070712D01* -X0002568Y0069514D02* -X0021979Y0069514D01* -X0021979Y0068315D02* -X0002568Y0068315D01* -X0002568Y0067117D02* -X0022499Y0067117D01* -X0024331Y0065918D02* -X0002568Y0065918D01* -X0002568Y0064720D02* -X0024331Y0064720D01* -X0024331Y0063521D02* -X0002568Y0063521D01* -X0002568Y0062323D02* -X0024331Y0062323D01* -X0024551Y0061124D02* -X0002568Y0061124D01* -X0002568Y0059926D02* -X0025377Y0059926D01* -X0026575Y0058727D02* -X0002568Y0058727D01* -X0002568Y0057529D02* -X0027774Y0057529D01* -X0028972Y0056330D02* -X0002568Y0056330D01* -X0002568Y0055132D02* -X0059436Y0055132D01* -X0059213Y0053933D02* -X0002568Y0053933D01* -X0002568Y0052734D02* -X0059213Y0052734D01* -X0059213Y0051536D02* -X0002568Y0051536D01* -X0002568Y0050337D02* -X0059213Y0050337D01* -X0059213Y0049139D02* -X0002568Y0049139D01* -X0002568Y0047940D02* -X0059697Y0047940D01* -X0063750Y0051654D02* -X0082500Y0051654D01* -X0086437Y0055591D01* -X0086437Y0060000D01* -X0087736Y0060000D01* -X0091673Y0063937D01* -X0091673Y0072559D01* -X0089705Y0072559D02* -X0089705Y0065000D01* -X0077500Y0065000D01* -X0077500Y0060000D01* -X0077963Y0059926D02* -X0068287Y0059926D01* -X0068287Y0061023D02* -X0067896Y0061967D01* -X0067173Y0062689D01* -X0067105Y0062717D01* -X0067105Y0066823D01* -X0067951Y0067173D01* -X0068674Y0067895D01* -X0069065Y0068839D01* -X0069065Y0074566D01* -X0073681Y0079139D01* -X0073681Y0076989D01* -X0074073Y0076045D01* -X0074795Y0075323D01* -X0075739Y0074931D01* -X0076181Y0074931D01* -X0076181Y0070739D01* -X0076573Y0069795D01* -X0077295Y0069073D01* -X0078239Y0068681D01* -X0085029Y0068681D01* -X0085691Y0068019D01* -X0086635Y0067628D01* -X0088505Y0067628D01* -X0088505Y0065718D01* -X0083367Y0065718D01* -X0082423Y0065327D01* -X0081957Y0064861D01* -X0081855Y0064920D01* -X0081372Y0065050D01* -X0079163Y0065050D01* -X0079163Y0060600D01* -X0077963Y0060600D01* -X0077963Y0065050D01* -X0075754Y0065050D01* -X0075271Y0064920D01* -X0074837Y0064670D01* -X0074484Y0064316D01* -X0074233Y0063883D01* -X0074104Y0063400D01* -X0074104Y0060600D01* -X0077963Y0060600D01* -X0077963Y0059400D01* -X0079163Y0059400D01* -X0079163Y0054950D01* -X0081316Y0054950D01* -X0081188Y0054822D01* -X0068083Y0054822D01* -X0068009Y0055000D01* -X0068287Y0055670D01* -X0068287Y0061023D01* -X0068245Y0061124D02* -X0074104Y0061124D01* -X0074104Y0062323D02* -X0067540Y0062323D01* -X0067105Y0063521D02* -X0074136Y0063521D01* -X0073518Y0064144D02* -X0074153Y0064407D01* -X0074725Y0064789D01* -X0075211Y0065275D01* -X0075593Y0065847D01* -X0075856Y0066482D01* -X0075991Y0067156D01* -X0075991Y0067500D01* -X0075991Y0067844D01* -X0075856Y0068518D01* -X0075593Y0069153D01* -X0075211Y0069725D01* -X0074725Y0070211D01* -X0074153Y0070593D01* -X0073518Y0070856D01* -X0072844Y0070991D01* -X0072500Y0070991D01* -X0072156Y0070991D01* -X0071482Y0070856D01* -X0070847Y0070593D01* -X0070275Y0070211D01* -X0069789Y0069725D01* -X0069407Y0069153D01* -X0069144Y0068518D01* -X0069009Y0067844D01* -X0069009Y0067500D01* -X0069009Y0067156D01* -X0069144Y0066482D01* -X0069407Y0065847D01* -X0069789Y0065275D01* -X0070275Y0064789D01* -X0070847Y0064407D01* -X0071482Y0064144D01* -X0072156Y0064009D01* -X0072500Y0064009D01* -X0072844Y0064009D01* -X0073518Y0064144D01* -X0072500Y0064009D02* -X0072500Y0067500D01* -X0075991Y0067500D01* -X0072500Y0067500D01* -X0072500Y0067500D01* -X0072500Y0067500D01* -X0072500Y0070991D01* -X0072500Y0067500D01* -X0072500Y0067500D01* -X0072500Y0067500D01* -X0069009Y0067500D01* -X0072500Y0067500D01* -X0072500Y0064009D01* -X0072500Y0064720D02* -X0072500Y0064720D01* -X0072500Y0065918D02* -X0072500Y0065918D01* -X0072500Y0067117D02* -X0072500Y0067117D01* -X0072500Y0068315D02* -X0072500Y0068315D01* -X0072500Y0069514D02* -X0072500Y0069514D01* -X0072500Y0070712D02* -X0072500Y0070712D01* -X0073866Y0070712D02* -X0076193Y0070712D01* -X0076181Y0071911D02* -X0069065Y0071911D01* -X0069065Y0073109D02* -X0076181Y0073109D01* -X0076181Y0074308D02* -X0069065Y0074308D01* -X0070014Y0075506D02* -X0074611Y0075506D01* -X0073799Y0076705D02* -X0071224Y0076705D01* -X0072434Y0077903D02* -X0073681Y0077903D01* -X0073644Y0079102D02* -X0073681Y0079102D01* -X0069479Y0083896D02* -X0061041Y0083896D01* -X0066063Y0092500D02* -X0021437Y0092500D01* -X0017500Y0096437D01* -X0017500Y0151063D01* -X0021437Y0155000D01* -X0027500Y0155000D01* -X0027500Y0148937D01* -X0033218Y0148615D02* -X0088505Y0148615D01* -X0088505Y0147417D02* -X0087312Y0147417D01* -X0087420Y0147229D02* -X0087170Y0147663D01* -X0086816Y0148016D01* -X0086383Y0148267D01* -X0085900Y0148396D01* -X0083100Y0148396D01* -X0083100Y0144537D01* -X0087550Y0144537D01* -X0087550Y0146746D01* -X0087420Y0147229D01* -X0087550Y0146218D02* -X0088505Y0146218D01* -X0088505Y0145020D02* -X0087550Y0145020D01* -X0088505Y0143821D02* -X0083100Y0143821D01* -X0083100Y0143337D02* -X0083100Y0144537D01* -X0081900Y0144537D01* -X0081900Y0143337D01* -X0077450Y0143337D01* -X0077450Y0141128D01* -X0077580Y0140645D01* -X0077639Y0140543D01* -X0077173Y0140077D01* -X0076782Y0139133D01* -X0076782Y0132993D01* -X0077173Y0132049D01* -X0077895Y0131326D01* -X0078839Y0130935D01* -X0079331Y0130935D01* -X0079331Y0126870D01* -X0079814Y0125705D01* -X0080705Y0124814D01* -X0081870Y0124331D01* -X0084568Y0124331D01* -X0084568Y0121318D01* -X0078239Y0121318D01* -X0077521Y0121021D01* -X0077550Y0121128D01* -X0077550Y0123337D01* -X0073100Y0123337D01* -X0073100Y0124537D01* -X0077550Y0124537D01* -X0077550Y0126746D01* -X0077420Y0127229D01* -X0077170Y0127663D01* -X0076816Y0128016D01* -X0076383Y0128267D01* -X0075900Y0128396D01* -X0073100Y0128396D01* -X0073100Y0124537D01* -X0071900Y0124537D01* -X0071900Y0123337D01* -X0067450Y0123337D01* -X0067450Y0121128D01* -X0067580Y0120645D01* -X0067639Y0120543D01* -X0067173Y0120077D01* -X0066782Y0119133D01* -X0066782Y0115012D01* -X0066249Y0115545D01* -X0065358Y0116436D01* -X0064401Y0116832D01* -X0064264Y0117164D01* -X0063542Y0117886D01* -X0063168Y0118041D01* -X0063168Y0119890D01* -X0063674Y0120395D01* -X0064065Y0121339D01* -X0064065Y0128661D01* -X0063674Y0129605D01* -X0062951Y0130327D01* -X0062007Y0130718D01* -X0055867Y0130718D01* -X0054923Y0130327D01* -X0054457Y0129861D01* -X0054355Y0129920D01* -X0053872Y0130050D01* -X0051663Y0130050D01* -X0051663Y0127741D01* -X0050630Y0128168D01* -X0050463Y0128168D01* -X0050463Y0130050D01* -X0048254Y0130050D01* -X0047771Y0129920D01* -X0047337Y0129670D01* -X0046984Y0129316D01* -X0046733Y0128883D01* -X0046604Y0128400D01* -X0046604Y0125600D01* -X0046831Y0125600D01* -X0046831Y0124400D01* -X0046604Y0124400D01* -X0046604Y0121600D01* -X0046733Y0121117D01* -X0046831Y0120947D01* -X0046831Y0117278D01* -X0046747Y0117229D01* -X0046393Y0116875D01* -X0046143Y0116442D01* -X0046013Y0115959D01* -X0046013Y0113928D01* -X0046831Y0113928D01* -X0046831Y0112765D01* -X0046013Y0112765D01* -X0046013Y0110748D01* -X0045736Y0110471D01* -X0045467Y0109822D01* -X0045433Y0109822D01* -X0045327Y0110077D01* -X0044861Y0110543D01* -X0044920Y0110645D01* -X0045050Y0111128D01* -X0045050Y0113337D01* -X0040600Y0113337D01* -X0040600Y0114537D01* -X0045050Y0114537D01* -X0045050Y0116746D01* -X0044920Y0117229D01* -X0044670Y0117663D01* -X0044316Y0118016D01* -X0043883Y0118267D01* -X0043400Y0118396D01* -X0040600Y0118396D01* -X0040600Y0114537D01* -X0039400Y0114537D01* -X0039400Y0113337D01* -X0034950Y0113337D01* -X0034950Y0111128D01* -X0035080Y0110645D01* -X0035139Y0110543D01* -X0034673Y0110077D01* -X0034282Y0109133D01* -X0034282Y0102993D01* -X0034673Y0102049D01* -X0035395Y0101326D01* -X0036339Y0100935D01* -X0043661Y0100935D01* -X0044605Y0101326D01* -X0045327Y0102049D01* -X0045695Y0102936D01* -X0045736Y0102836D01* -X0046458Y0102114D01* -X0047402Y0101723D01* -X0047501Y0101723D01* -X0047501Y0099291D01* -X0047983Y0098126D01* -X0048874Y0097235D01* -X0050039Y0096753D01* -X0067365Y0096753D01* -X0065286Y0095668D01* -X0022749Y0095668D01* -X0020668Y0097749D01* -X0020668Y0149751D01* -X0021782Y0150864D01* -X0021782Y0145867D01* -X0022173Y0144923D01* -X0022639Y0144457D01* -X0022580Y0144355D01* -X0022450Y0143872D01* -X0022450Y0141663D01* -X0026900Y0141663D01* -X0026900Y0140463D01* -X0022450Y0140463D01* -X0022450Y0138254D01* -X0022580Y0137771D01* -X0022830Y0137337D01* -X0023184Y0136984D01* -X0023617Y0136733D01* -X0024100Y0136604D01* -X0026900Y0136604D01* -X0026900Y0140463D01* -X0028100Y0140463D01* -X0028100Y0141663D01* -X0032550Y0141663D01* -X0032550Y0143872D01* -X0032420Y0144355D01* -X0032361Y0144457D01* -X0032827Y0144923D01* -X0033218Y0145867D01* -X0033218Y0151831D01* -X0079208Y0151831D01* -X0079912Y0151127D01* -X0081591Y0150431D01* -X0083409Y0150431D01* -X0085088Y0151127D01* -X0086373Y0152412D01* -X0087068Y0154091D01* -X0087068Y0155909D01* -X0086872Y0156383D01* -X0088505Y0154751D01* -X0088505Y0130611D01* -X0088366Y0130668D01* -X0085668Y0130668D01* -X0085668Y0130935D01* -X0086161Y0130935D01* -X0087105Y0131326D01* -X0087827Y0132049D01* -X0088218Y0132993D01* -X0088218Y0139133D01* -X0087827Y0140077D01* -X0087361Y0140543D01* -X0087420Y0140645D01* -X0087550Y0141128D01* -X0087550Y0143337D01* -X0083100Y0143337D01* -X0081900Y0143821D02* -X0032550Y0143821D01* -X0032550Y0142623D02* -X0077450Y0142623D01* -X0077450Y0141424D02* -X0028100Y0141424D01* -X0028100Y0140463D02* -X0032550Y0140463D01* -X0032550Y0138254D01* -X0032420Y0137771D01* -X0032170Y0137337D01* -X0031816Y0136984D01* -X0031383Y0136733D01* -X0030900Y0136604D01* -X0028100Y0136604D01* -X0028100Y0140463D01* -X0028100Y0140226D02* -X0026900Y0140226D01* -X0026900Y0141424D02* -X0020668Y0141424D01* -X0020668Y0140226D02* -X0022450Y0140226D01* -X0022450Y0139027D02* -X0020668Y0139027D01* -X0020668Y0137829D02* -X0022564Y0137829D01* -X0024002Y0136630D02* -X0020668Y0136630D01* -X0020668Y0135432D02* -X0069684Y0135432D01* -X0069789Y0135275D02* -X0070275Y0134789D01* -X0070847Y0134407D01* -X0071482Y0134144D01* -X0072156Y0134009D01* -X0072500Y0134009D01* -X0072844Y0134009D01* -X0073518Y0134144D01* -X0074153Y0134407D01* -X0074725Y0134789D01* -X0075211Y0135275D01* -X0075593Y0135847D01* -X0075856Y0136482D01* -X0075991Y0137156D01* -X0075991Y0137500D01* -X0075991Y0137844D01* -X0075856Y0138518D01* -X0075593Y0139153D01* -X0075211Y0139725D01* -X0074725Y0140211D01* -X0074153Y0140593D01* -X0073518Y0140856D01* -X0072844Y0140991D01* -X0072500Y0140991D01* -X0072156Y0140991D01* -X0071482Y0140856D01* -X0070847Y0140593D01* -X0070275Y0140211D01* -X0069789Y0139725D01* -X0069407Y0139153D01* -X0069144Y0138518D01* -X0069009Y0137844D01* -X0069009Y0137500D01* -X0069009Y0137156D01* -X0069144Y0136482D01* -X0069407Y0135847D01* -X0069789Y0135275D01* -X0069114Y0136630D02* -X0030998Y0136630D01* -X0032436Y0137829D02* -X0069009Y0137829D01* -X0069009Y0137500D02* -X0072500Y0137500D01* -X0075991Y0137500D01* -X0072500Y0137500D01* -X0072500Y0137500D01* -X0072500Y0137500D01* -X0072500Y0140991D01* -X0072500Y0137500D01* -X0072500Y0134009D01* -X0072500Y0137500D01* -X0072500Y0137500D01* -X0072500Y0137500D01* -X0069009Y0137500D01* -X0069355Y0139027D02* -X0032550Y0139027D01* -X0032550Y0140226D02* -X0070297Y0140226D01* -X0072500Y0140226D02* -X0072500Y0140226D01* -X0072500Y0139027D02* -X0072500Y0139027D01* -X0072500Y0137829D02* -X0072500Y0137829D01* -X0072500Y0136630D02* -X0072500Y0136630D01* -X0072500Y0135432D02* -X0072500Y0135432D01* -X0072500Y0134233D02* -X0072500Y0134233D01* -X0073735Y0134233D02* -X0076782Y0134233D01* -X0076782Y0133035D02* -X0020668Y0133035D01* -X0020668Y0134233D02* -X0071265Y0134233D01* -X0075316Y0135432D02* -X0076782Y0135432D01* -X0076782Y0136630D02* -X0075886Y0136630D01* -X0075991Y0137829D02* -X0076782Y0137829D01* -X0076782Y0139027D02* -X0075645Y0139027D01* -X0074703Y0140226D02* -X0077322Y0140226D01* -X0077450Y0144537D02* -X0081900Y0144537D01* -X0081900Y0148396D01* -X0079100Y0148396D01* -X0078617Y0148267D01* -X0078184Y0148016D01* -X0077830Y0147663D01* -X0077580Y0147229D01* -X0077450Y0146746D01* -X0077450Y0144537D01* -X0077450Y0145020D02* -X0032867Y0145020D01* -X0033218Y0146218D02* -X0077450Y0146218D01* -X0077688Y0147417D02* -X0033218Y0147417D01* -X0033218Y0149814D02* -X0088505Y0149814D01* -X0088505Y0151012D02* -X0084811Y0151012D01* -X0086172Y0152211D02* -X0088505Y0152211D01* -X0088505Y0153409D02* -X0086786Y0153409D01* -X0087068Y0154608D02* -X0088505Y0154608D01* -X0087449Y0155806D02* -X0087068Y0155806D01* -X0091673Y0156063D02* -X0091673Y0117441D01* -X0089705Y0117441D02* -X0089705Y0145000D01* -X0082500Y0145000D01* -X0081900Y0145020D02* -X0083100Y0145020D01* -X0083100Y0146218D02* -X0081900Y0146218D01* -X0081900Y0147417D02* -X0083100Y0147417D01* -X0080189Y0151012D02* -X0033218Y0151012D01* -X0027500Y0155000D02* -X0082500Y0155000D01* -X0086673Y0161063D02* -X0091673Y0156063D01* -X0093642Y0160000D02* -X0093642Y0117441D01* -X0095610Y0117441D02* -X0095610Y0180000D01* -X0096250Y0181250D01* -X0082500Y0181250D01* -X0082500Y0177500D01* -X0082490Y0176250D01* -X0087618Y0176181D02* -X0090032Y0176181D01* -X0089981Y0176303D02* -X0090936Y0173999D01* -X0092442Y0172493D01* -X0092442Y0165681D01* -X0090437Y0167686D01* -X0089272Y0168168D01* -X0043812Y0168168D01* -X0040668Y0171312D01* -X0040668Y0202400D01* -X0042100Y0202400D01* -X0042100Y0207100D01* -X0042900Y0207100D01* -X0042900Y0202400D01* -X0044331Y0202400D01* -X0044331Y0201870D01* -X0044814Y0200705D01* -X0049814Y0195705D01* -X0050705Y0194814D01* -X0051870Y0194331D01* -X0103688Y0194331D01* -X0106831Y0191188D01* -X0106831Y0166312D01* -X0103688Y0163168D01* -X0100885Y0163168D01* -X0099721Y0162686D01* -X0098830Y0161795D01* -X0098779Y0161744D01* -X0098779Y0171812D01* -X0099801Y0172236D01* -X0101564Y0173999D01* -X0102518Y0176303D01* -X0102518Y0186197D01* -X0101564Y0188501D01* -X0099801Y0190264D01* -X0097497Y0191218D01* -X0095003Y0191218D01* -X0092699Y0190264D01* -X0090936Y0188501D01* -X0089981Y0186197D01* -X0089981Y0184418D01* -X0081870Y0184418D01* -X0080705Y0183936D01* -X0079814Y0183045D01* -X0079331Y0181880D01* -X0079331Y0181735D01* -X0078476Y0181380D01* -X0078118Y0181023D01* -X0077819Y0181103D01* -X0075610Y0181103D01* -X0075610Y0176850D01* -X0074410Y0176850D01* -X0074410Y0181103D01* -X0072201Y0181103D01* -X0071717Y0180973D01* -X0071284Y0180723D01* -X0070930Y0180369D01* -X0070680Y0179936D01* -X0070551Y0179453D01* -X0070551Y0176850D01* -X0074410Y0176850D01* -X0074410Y0175650D01* -X0075610Y0175650D01* -X0075610Y0171397D01* -X0077819Y0171397D01* -X0078118Y0171477D01* -X0078476Y0171120D01* -X0079420Y0170729D01* -X0085560Y0170729D01* -X0086504Y0171120D01* -X0087227Y0171842D01* -X0087618Y0172786D01* -X0087618Y0178081D01* -X0089981Y0178081D01* -X0089981Y0176303D01* -X0089981Y0177380D02* -X0087618Y0177380D01* -X0087618Y0174983D02* -X0090528Y0174983D01* -X0091151Y0173784D02* -X0087618Y0173784D01* -X0087535Y0172586D02* -X0092349Y0172586D01* -X0092442Y0171387D02* -X0086771Y0171387D01* -X0090182Y0167792D02* -X0092442Y0167792D01* -X0092442Y0168990D02* -X0042991Y0168990D01* -X0041792Y0170189D02* -X0092442Y0170189D01* -X0092442Y0166593D02* -X0091530Y0166593D01* -X0088642Y0165000D02* -X0093642Y0160000D01* -X0098779Y0161799D02* -X0098834Y0161799D01* -X0098779Y0162998D02* -X0100473Y0162998D01* -X0098779Y0164196D02* -X0104715Y0164196D01* -X0105914Y0165395D02* -X0098779Y0165395D01* -X0098779Y0166593D02* -X0106831Y0166593D01* -X0106831Y0167792D02* -X0098779Y0167792D01* -X0098779Y0168990D02* -X0106831Y0168990D01* -X0106831Y0170189D02* -X0098779Y0170189D01* -X0098779Y0171387D02* -X0106831Y0171387D01* -X0106831Y0172586D02* -X0100151Y0172586D01* -X0101349Y0173784D02* -X0106831Y0173784D01* -X0106831Y0174983D02* -X0101972Y0174983D01* -X0102468Y0176181D02* -X0106831Y0176181D01* -X0106831Y0177380D02* -X0102518Y0177380D01* -X0102518Y0178578D02* -X0106831Y0178578D01* -X0106831Y0179777D02* -X0102518Y0179777D01* -X0102518Y0180975D02* -X0106831Y0180975D01* -X0106831Y0182174D02* -X0102518Y0182174D01* -X0102518Y0183372D02* -X0106831Y0183372D01* -X0106831Y0184571D02* -X0102518Y0184571D01* -X0102518Y0185769D02* -X0106831Y0185769D01* -X0106831Y0186968D02* -X0102199Y0186968D01* -X0101703Y0188166D02* -X0106831Y0188166D01* -X0106831Y0189365D02* -X0100700Y0189365D01* -X0099079Y0190563D02* -X0106831Y0190563D01* -X0106257Y0191762D02* -X0081775Y0191762D01* -X0081653Y0191843D02* -X0081018Y0192106D01* -X0080344Y0192241D01* -X0080000Y0192241D01* -X0079656Y0192241D01* -X0078982Y0192106D01* -X0078347Y0191843D01* -X0077775Y0191461D01* -X0077289Y0190975D01* -X0076907Y0190403D01* -X0076644Y0189768D01* -X0076509Y0189094D01* -X0076509Y0188750D01* -X0076509Y0188406D01* -X0076644Y0187732D01* -X0076907Y0187097D01* -X0077289Y0186525D01* -X0077775Y0186039D01* -X0078347Y0185657D01* -X0078982Y0185394D01* -X0079656Y0185259D01* -X0080000Y0185259D01* -X0080344Y0185259D01* -X0081018Y0185394D01* -X0081653Y0185657D01* -X0082225Y0186039D01* -X0082711Y0186525D01* -X0083093Y0187097D01* -X0083356Y0187732D01* -X0083491Y0188406D01* -X0083491Y0188750D01* -X0083491Y0189094D01* -X0083356Y0189768D01* -X0083093Y0190403D01* -X0082711Y0190975D01* -X0082225Y0191461D01* -X0081653Y0191843D01* -X0080000Y0191762D02* -X0080000Y0191762D01* -X0080000Y0192241D02* -X0080000Y0188750D01* -X0083491Y0188750D01* -X0080000Y0188750D01* -X0080000Y0188750D01* -X0080000Y0188750D01* -X0080000Y0192241D01* -X0080000Y0190563D02* -X0080000Y0190563D01* -X0080000Y0189365D02* -X0080000Y0189365D01* -X0080000Y0188750D02* -X0080000Y0188750D01* -X0080000Y0185259D01* -X0080000Y0188750D01* -X0080000Y0188750D01* -X0076509Y0188750D01* -X0080000Y0188750D01* -X0080000Y0188166D02* -X0080000Y0188166D01* -X0080000Y0186968D02* -X0080000Y0186968D01* -X0080000Y0185769D02* -X0080000Y0185769D01* -X0081822Y0185769D02* -X0089981Y0185769D01* -X0089981Y0184571D02* -X0040668Y0184571D01* -X0040668Y0185769D02* -X0078178Y0185769D01* -X0076993Y0186968D02* -X0040668Y0186968D01* -X0040668Y0188166D02* -X0076557Y0188166D01* -X0076563Y0189365D02* -X0040668Y0189365D01* -X0040668Y0190563D02* -X0077014Y0190563D01* -X0078225Y0191762D02* -X0040668Y0191762D01* -X0040668Y0192960D02* -X0105059Y0192960D01* -X0103860Y0194159D02* -X0040668Y0194159D01* -X0040668Y0195357D02* -X0050162Y0195357D01* -X0048963Y0196556D02* -X0040668Y0196556D01* -X0040668Y0197754D02* -X0047765Y0197754D01* -X0046566Y0198953D02* -X0040668Y0198953D01* -X0040668Y0200151D02* -X0045368Y0200151D01* -X0044547Y0201350D02* -X0040668Y0201350D01* -X0042100Y0202548D02* -X0042900Y0202548D01* -X0042900Y0203747D02* -X0042100Y0203747D01* -X0042100Y0204945D02* -X0042900Y0204945D01* -X0042900Y0206144D02* -X0042100Y0206144D01* -X0047500Y0202500D02* -X0052500Y0197500D01* -X0105000Y0197500D01* -X0110000Y0192500D01* -X0110000Y0165000D01* -X0105000Y0160000D01* -X0101516Y0160000D01* -X0097579Y0156063D01* -X0097579Y0117441D01* -X0099547Y0117441D02* -X0099547Y0153563D01* -X0103484Y0157500D01* -X0109402Y0157500D01* -X0114402Y0162500D01* -X0114402Y0192500D01* -X0130733Y0198953D02* -X0134267Y0198953D01* -X0132707Y0200151D02* -X0132293Y0200151D01* -X0138098Y0205000D02* -X0138098Y0217500D01* -X0136240Y0217500D01* -X0141368Y0216931D02* -X0153160Y0216931D01* -X0153160Y0216900D02* -X0149301Y0216900D01* -X0149301Y0214297D01* -X0149430Y0213814D01* -X0149680Y0213381D01* -X0150034Y0213027D01* -X0150467Y0212777D01* -X0150951Y0212647D01* -X0153160Y0212647D01* -X0153160Y0216900D01* -X0153160Y0215732D02* -X0154360Y0215732D01* -X0154360Y0214534D02* -X0153160Y0214534D01* -X0153160Y0213335D02* -X0154360Y0213335D01* -X0149726Y0213335D02* -X0141267Y0213335D01* -X0141267Y0212137D02* -X0157789Y0212137D01* -X0159004Y0210938D02* -X0155996Y0210938D01* -X0157338Y0209739D02* -X0157662Y0209739D01* -X0149301Y0214534D02* -X0141368Y0214534D01* -X0141368Y0215732D02* -X0149301Y0215732D01* -X0149301Y0218129D02* -X0141368Y0218129D01* -X0141368Y0219328D02* -X0149301Y0219328D01* -X0149301Y0220526D02* -X0141368Y0220526D01* -X0141053Y0221725D02* -X0149786Y0221725D01* -X0153160Y0221725D02* -X0154360Y0221725D01* -X0154360Y0220526D02* -X0153160Y0220526D01* -X0153160Y0219328D02* -X0154360Y0219328D01* -X0154360Y0218129D02* -X0153160Y0218129D01* -X0157933Y0222923D02* -X0139547Y0222923D01* -X0142193Y0210938D02* -X0147807Y0210938D01* -X0146465Y0209739D02* -X0143535Y0209739D01* -X0143817Y0208541D02* -X0146183Y0208541D01* -X0146183Y0207342D02* -X0143817Y0207342D01* -X0143817Y0206144D02* -X0146183Y0206144D01* -X0166368Y0214534D02* -X0177553Y0214534D01* -X0178751Y0215732D02* -X0166368Y0215732D01* -X0166368Y0216931D02* -X0179231Y0216931D01* -X0179231Y0218129D02* -X0166368Y0218129D01* -X0166368Y0219328D02* -X0179231Y0219328D01* -X0179868Y0220526D02* -X0166368Y0220526D01* -X0166053Y0221725D02* -X0181067Y0221725D01* -X0182265Y0222923D02* -X0164547Y0222923D01* -X0187141Y0224122D02* -X0060359Y0224122D01* -X0059161Y0225320D02* -X0188529Y0225320D01* -X0195000Y0217500D02* -X0190000Y0212500D01* -X0195400Y0207342D02* -X0209009Y0207342D01* -X0209009Y0207500D02* -X0209009Y0207156D01* -X0209144Y0206482D01* -X0209407Y0205847D01* -X0209789Y0205275D01* -X0210275Y0204789D01* -X0210847Y0204407D01* -X0211482Y0204144D01* -X0212156Y0204009D01* -X0212500Y0204009D01* -X0212844Y0204009D01* -X0213518Y0204144D01* -X0214153Y0204407D01* -X0214725Y0204789D01* -X0215211Y0205275D01* -X0215593Y0205847D01* -X0215856Y0206482D01* -X0215991Y0207156D01* -X0215991Y0207500D01* -X0215991Y0207844D01* -X0215856Y0208518D01* -X0215593Y0209153D01* -X0215211Y0209725D01* -X0214725Y0210211D01* -X0214153Y0210593D01* -X0213518Y0210856D01* -X0212844Y0210991D01* -X0212500Y0210991D01* -X0212156Y0210991D01* -X0211482Y0210856D01* -X0210847Y0210593D01* -X0210275Y0210211D01* -X0209789Y0209725D01* -X0209407Y0209153D01* -X0209144Y0208518D01* -X0209009Y0207844D01* -X0209009Y0207500D01* -X0212500Y0207500D01* -X0215991Y0207500D01* -X0212500Y0207500D01* -X0212500Y0207500D01* -X0212500Y0207500D01* -X0212500Y0210991D01* -X0212500Y0207500D01* -X0212500Y0204009D01* -X0212500Y0207500D01* -X0212500Y0207500D01* -X0212500Y0207500D01* -X0209009Y0207500D01* -X0209153Y0208541D02* -X0200100Y0208541D01* -X0199973Y0209739D02* -X0209803Y0209739D01* -X0211892Y0210938D02* -X0198774Y0210938D01* -X0197794Y0212137D02* -X0269959Y0212137D01* -X0269950Y0210938D02* -X0213108Y0210938D01* -X0212500Y0210938D02* -X0212500Y0210938D01* -X0212500Y0209739D02* -X0212500Y0209739D01* -X0212500Y0208541D02* -X0212500Y0208541D01* -X0212500Y0207342D02* -X0212500Y0207342D01* -X0212500Y0206144D02* -X0212500Y0206144D01* -X0212500Y0204945D02* -X0212500Y0204945D01* -X0214882Y0204945D02* -X0226023Y0204945D01* -X0226044Y0205025D02* -X0225915Y0204541D01* -X0225915Y0202609D01* -X0233631Y0202609D01* -X0233631Y0206191D01* -X0227565Y0206191D01* -X0227082Y0206062D01* -X0226648Y0205812D01* -X0226295Y0205458D01* -X0226044Y0205025D01* -X0225915Y0203747D02* -X0198459Y0203747D01* -X0197261Y0202548D02* -X0233631Y0202548D01* -X0234597Y0202548D02* -X0260403Y0202548D01* -X0260886Y0202126D02* -X0270000Y0202126D01* -X0269085Y0203747D02* -X0286132Y0203747D01* -X0286132Y0204945D02* -X0279732Y0204945D01* -X0280050Y0206144D02* -X0286132Y0206144D01* -X0286132Y0207342D02* -X0280050Y0207342D01* -X0275600Y0206144D02* -X0274400Y0206144D01* -X0274400Y0204945D02* -X0275600Y0204945D01* -X0274400Y0208541D02* -X0215847Y0208541D01* -X0215991Y0207342D02* -X0269950Y0207342D01* -X0269950Y0206144D02* -X0267612Y0206144D01* -X0268977Y0204945D02* -X0270268Y0204945D01* -X0269950Y0209739D02* -X0215197Y0209739D01* -X0215716Y0206144D02* -X0227388Y0206144D01* -X0225915Y0201350D02* -X0193168Y0201350D01* -X0193168Y0200151D02* -X0225915Y0200151D01* -X0226203Y0198953D02* -X0193168Y0198953D01* -X0193168Y0197754D02* -X0286132Y0197754D01* -X0286132Y0196556D02* -X0193168Y0196556D01* -X0193168Y0195357D02* -X0286132Y0195357D01* -X0286132Y0194159D02* -X0193168Y0194159D01* -X0193168Y0192960D02* -X0286132Y0192960D01* -X0286132Y0191762D02* -X0193168Y0191762D01* -X0193168Y0190563D02* -X0286132Y0190563D01* -X0286132Y0189365D02* -X0193168Y0189365D01* -X0193168Y0188166D02* -X0286132Y0188166D01* -X0286132Y0186968D02* -X0193168Y0186968D01* -X0193168Y0185769D02* -X0286132Y0185769D01* -X0286132Y0184571D02* -X0193168Y0184571D01* -X0186831Y0184571D02* -X0176208Y0184571D01* -X0177750Y0185769D02* -X0186831Y0185769D01* -X0186831Y0186968D02* -X0178949Y0186968D01* -X0180147Y0188166D02* -X0186831Y0188166D01* -X0186831Y0189365D02* -X0181346Y0189365D01* -X0182544Y0190563D02* -X0186831Y0190563D01* -X0186831Y0191762D02* -X0183124Y0191762D01* -X0183168Y0192960D02* -X0186831Y0192960D01* -X0186831Y0194159D02* -X0183168Y0194159D01* -X0183168Y0195357D02* -X0186831Y0195357D01* -X0186831Y0196556D02* -X0183168Y0196556D01* -X0183168Y0197754D02* -X0186831Y0197754D01* -X0194600Y0202548D02* -X0195400Y0202548D01* -X0195400Y0202400D02* -X0197112Y0202400D01* -X0200100Y0205388D01* -X0200100Y0207100D01* -X0195400Y0207100D01* -X0195400Y0202400D01* -X0195400Y0203747D02* -X0194600Y0203747D01* -X0194600Y0204945D02* -X0195400Y0204945D01* -X0195400Y0206144D02* -X0194600Y0206144D01* -X0199658Y0204945D02* -X0210118Y0204945D01* -X0209284Y0206144D02* -X0200100Y0206144D01* -X0198993Y0213335D02* -X0226834Y0213335D01* -X0225522Y0214534D02* -X0200191Y0214534D01* -X0200768Y0215732D02* -X0225246Y0215732D01* -X0225246Y0216931D02* -X0200768Y0216931D01* -X0200768Y0218129D02* -X0225246Y0218129D01* -X0225246Y0219328D02* -X0200768Y0219328D01* -X0233631Y0206144D02* -X0234597Y0206144D01* -X0234597Y0204945D02* -X0233631Y0204945D01* -X0233631Y0203747D02* -X0234597Y0203747D01* -X0234597Y0201350D02* -X0233631Y0201350D01* -X0233631Y0200151D02* -X0234597Y0200151D01* -X0234597Y0198953D02* -X0233631Y0198953D01* -X0241395Y0213335D02* -X0253605Y0213335D01* -X0252293Y0214534D02* -X0242707Y0214534D01* -X0242361Y0221725D02* -X0252639Y0221725D01* -X0237283Y0222923D02* -X0286132Y0222923D01* -X0286132Y0224122D02* -X0236872Y0224122D01* -X0235585Y0225320D02* -X0286132Y0225320D01* -X0286132Y0226519D02* -X0057962Y0226519D01* -X0057686Y0226795D02* -X0057686Y0226795D01* -X0052500Y0217500D02* -X0057500Y0212500D01* -X0052500Y0217500D02* -X0047500Y0222500D01* -X0018937Y0222500D01* -X0022500Y0217500D02* -X0027500Y0212500D01* -X0027500Y0166063D01* -X0032500Y0161063D01* -X0086673Y0161063D01* -X0088642Y0165000D02* -X0042500Y0165000D01* -X0037500Y0170000D01* -X0037500Y0212500D01* -X0032500Y0217500D01* -X0042500Y0217500D02* -X0047500Y0212500D01* -X0047500Y0202500D01* -X0034331Y0202400D02* -X0034331Y0169370D01* -X0034814Y0168205D01* -X0038788Y0164231D01* -X0033812Y0164231D01* -X0030668Y0167375D01* -X0030668Y0202400D01* -X0032100Y0202400D01* -X0032100Y0207100D01* -X0032900Y0207100D01* -X0032900Y0202400D01* -X0034331Y0202400D01* -X0034331Y0201350D02* -X0030668Y0201350D01* -X0030668Y0200151D02* -X0034331Y0200151D01* -X0034331Y0198953D02* -X0030668Y0198953D01* -X0030668Y0197754D02* -X0034331Y0197754D01* -X0034331Y0196556D02* -X0030668Y0196556D01* -X0030668Y0195357D02* -X0034331Y0195357D01* -X0034331Y0194159D02* -X0030668Y0194159D01* -X0030668Y0192960D02* -X0034331Y0192960D01* -X0034331Y0191762D02* -X0030668Y0191762D01* -X0030668Y0190563D02* -X0034331Y0190563D01* -X0034331Y0189365D02* -X0030668Y0189365D01* -X0030668Y0188166D02* -X0034331Y0188166D01* -X0034331Y0186968D02* -X0030668Y0186968D01* -X0030668Y0185769D02* -X0034331Y0185769D01* -X0034331Y0184571D02* -X0030668Y0184571D01* -X0030668Y0183372D02* -X0034331Y0183372D01* -X0034331Y0182174D02* -X0030668Y0182174D01* -X0030668Y0180975D02* -X0034331Y0180975D01* -X0034331Y0179777D02* -X0030668Y0179777D01* -X0030668Y0178578D02* -X0034331Y0178578D01* -X0034331Y0177380D02* -X0030668Y0177380D01* -X0030668Y0176181D02* -X0034331Y0176181D01* -X0034331Y0174983D02* -X0030668Y0174983D01* -X0030668Y0173784D02* -X0034331Y0173784D01* -X0034331Y0172586D02* -X0030668Y0172586D01* -X0030668Y0171387D02* -X0034331Y0171387D01* -X0034331Y0170189D02* -X0030668Y0170189D01* -X0030668Y0168990D02* -X0034489Y0168990D01* -X0035227Y0167792D02* -X0030668Y0167792D01* -X0031451Y0166593D02* -X0036426Y0166593D01* -X0037624Y0165395D02* -X0032649Y0165395D01* -X0028482Y0160601D02* -X0018168Y0160601D01* -X0018168Y0161799D02* -X0027283Y0161799D01* -X0026084Y0162998D02* -X0018168Y0162998D01* -X0018168Y0164196D02* -X0024886Y0164196D01* -X0024814Y0164268D02* -X0029814Y0159268D01* -X0030705Y0158377D01* -X0031208Y0158168D01* -X0028130Y0158168D01* -X0020807Y0158168D01* -X0019642Y0157686D01* -X0018751Y0156795D01* -X0018168Y0156212D01* -X0018168Y0204619D01* -X0020388Y0202400D01* -X0022100Y0202400D01* -X0022100Y0207100D01* -X0022900Y0207100D01* -X0022900Y0202400D01* -X0024331Y0202400D01* -X0024331Y0165433D01* -X0024814Y0164268D01* -X0024347Y0165395D02* -X0018168Y0165395D01* -X0018168Y0166593D02* -X0024331Y0166593D01* -X0024331Y0167792D02* -X0018168Y0167792D01* -X0018168Y0168990D02* -X0024331Y0168990D01* -X0024331Y0170189D02* -X0018168Y0170189D01* -X0018168Y0171387D02* -X0024331Y0171387D01* -X0024331Y0172586D02* -X0018168Y0172586D01* -X0018168Y0173784D02* -X0024331Y0173784D01* -X0024331Y0174983D02* -X0018168Y0174983D01* -X0018168Y0176181D02* -X0024331Y0176181D01* -X0024331Y0177380D02* -X0018168Y0177380D01* -X0018168Y0178578D02* -X0024331Y0178578D01* -X0024331Y0179777D02* -X0018168Y0179777D01* -X0018168Y0180975D02* -X0024331Y0180975D01* -X0024331Y0182174D02* -X0018168Y0182174D01* -X0018168Y0183372D02* -X0024331Y0183372D01* -X0024331Y0184571D02* -X0018168Y0184571D01* -X0018168Y0185769D02* -X0024331Y0185769D01* -X0024331Y0186968D02* -X0018168Y0186968D01* -X0018168Y0188166D02* -X0024331Y0188166D01* -X0024331Y0189365D02* -X0018168Y0189365D01* -X0018168Y0190563D02* -X0024331Y0190563D01* -X0024331Y0191762D02* -X0018168Y0191762D01* -X0018168Y0192960D02* -X0024331Y0192960D01* -X0024331Y0194159D02* -X0018168Y0194159D01* -X0018168Y0195357D02* -X0024331Y0195357D01* -X0024331Y0196556D02* -X0018168Y0196556D01* -X0018168Y0197754D02* -X0024331Y0197754D01* -X0024331Y0198953D02* -X0018168Y0198953D01* -X0018168Y0200151D02* -X0024331Y0200151D01* -X0024331Y0201350D02* -X0018168Y0201350D01* -X0018168Y0202548D02* -X0020239Y0202548D01* -X0019041Y0203747D02* -X0018168Y0203747D01* -X0022100Y0203747D02* -X0022900Y0203747D01* -X0022900Y0204945D02* -X0022100Y0204945D01* -X0022100Y0206144D02* -X0022900Y0206144D01* -X0022900Y0202548D02* -X0022100Y0202548D01* -X0032100Y0202548D02* -X0032900Y0202548D01* -X0032900Y0203747D02* -X0032100Y0203747D01* -X0032100Y0204945D02* -X0032900Y0204945D01* -X0032900Y0206144D02* -X0032100Y0206144D01* -X0040668Y0183372D02* -X0080141Y0183372D01* -X0079453Y0182174D02* -X0040668Y0182174D01* -X0040668Y0180975D02* -X0071725Y0180975D01* -X0070638Y0179777D02* -X0040668Y0179777D01* -X0040668Y0178578D02* -X0070551Y0178578D01* -X0070551Y0177380D02* -X0040668Y0177380D01* -X0040668Y0176181D02* -X0074410Y0176181D01* -X0074410Y0175650D02* -X0070551Y0175650D01* -X0070551Y0173047D01* -X0070680Y0172564D01* -X0070930Y0172131D01* -X0071284Y0171777D01* -X0071717Y0171527D01* -X0072201Y0171397D01* -X0074410Y0171397D01* -X0074410Y0175650D01* -X0074410Y0174983D02* -X0075610Y0174983D01* -X0075610Y0173784D02* -X0074410Y0173784D01* -X0074410Y0172586D02* -X0075610Y0172586D01* -X0078209Y0171387D02* -X0040668Y0171387D01* -X0040668Y0172586D02* -X0070674Y0172586D01* -X0070551Y0173784D02* -X0040668Y0173784D01* -X0040668Y0174983D02* -X0070551Y0174983D01* -X0074410Y0177380D02* -X0075610Y0177380D01* -X0075610Y0178578D02* -X0074410Y0178578D01* -X0074410Y0179777D02* -X0075610Y0179777D01* -X0075610Y0180975D02* -X0074410Y0180975D01* -X0083007Y0186968D02* -X0090301Y0186968D01* -X0090797Y0188166D02* -X0083443Y0188166D01* -X0083437Y0189365D02* -X0091800Y0189365D01* -X0093421Y0190563D02* -X0082986Y0190563D01* -X0120493Y0151012D02* -X0174552Y0151012D01* -X0193168Y0151012D02* -X0194552Y0151012D01* -X0193514Y0149814D02* -X0193168Y0149814D01* -X0193168Y0152211D02* -X0211553Y0152211D01* -X0210933Y0153409D02* -X0199563Y0153409D01* -X0201069Y0154608D02* -X0209734Y0154608D01* -X0209231Y0155806D02* -X0201743Y0155806D01* -X0202068Y0157005D02* -X0209231Y0157005D01* -X0209231Y0158203D02* -X0202068Y0158203D01* -X0195941Y0161799D02* -X0193168Y0161799D01* -X0194327Y0153409D02* -X0195437Y0153409D01* -X0200448Y0151012D02* -X0210355Y0151012D01* -X0209231Y0149814D02* -X0201486Y0149814D01* -X0201983Y0148615D02* -X0209231Y0148615D01* -X0209231Y0147417D02* -X0202068Y0147417D01* -X0201914Y0146218D02* -X0209231Y0146218D01* -X0209322Y0145020D02* -X0201418Y0145020D01* -X0200668Y0143821D02* -X0210521Y0143821D01* -X0211719Y0142623D02* -X0200668Y0142623D01* -X0200668Y0141424D02* -X0240926Y0141424D01* -X0240926Y0140226D02* -X0200668Y0140226D01* -X0200668Y0139027D02* -X0240926Y0139027D01* -X0240926Y0137829D02* -X0227049Y0137829D01* -X0228103Y0136630D02* -X0240976Y0136630D01* -X0241694Y0135432D02* -X0228473Y0135432D01* -X0225000Y0135432D02* -X0225000Y0135432D01* -X0225000Y0136630D02* -X0225000Y0136630D01* -X0225000Y0137829D02* -X0225000Y0137829D01* -X0222951Y0137829D02* -X0200668Y0137829D01* -X0200668Y0136630D02* -X0221897Y0136630D01* -X0221527Y0135432D02* -X0200668Y0135432D01* -X0200668Y0134233D02* -X0221594Y0134233D01* -X0222115Y0133035D02* -X0200668Y0133035D01* -X0194331Y0133035D02* -X0193426Y0133035D01* -X0194184Y0131836D02* -X0194331Y0131836D01* -X0194331Y0134233D02* -X0191718Y0134233D01* -X0200668Y0124645D02* -X0237235Y0124645D01* -X0236629Y0123447D02* -X0200668Y0123447D01* -X0200230Y0122248D02* -X0236509Y0122248D01* -X0236823Y0121050D02* -X0199094Y0121050D01* -X0197895Y0119851D02* -X0237712Y0119851D01* -X0240000Y0123447D02* -X0240000Y0123447D01* -X0240000Y0124645D02* -X0240000Y0124645D01* -X0250806Y0135432D02* -X0252944Y0135432D01* -X0247500Y0140000D02* -X0246250Y0140020D01* -X0240926Y0142623D02* -X0228281Y0142623D01* -X0229479Y0143821D02* -X0241147Y0143821D01* -X0242200Y0145020D02* -X0230678Y0145020D01* -X0221719Y0142623D02* -X0218281Y0142623D01* -X0219479Y0143821D02* -X0220521Y0143821D01* -X0225000Y0134233D02* -X0225000Y0134233D01* -X0225000Y0133035D02* -X0225000Y0133035D01* -X0223740Y0107500D02* -X0232500Y0107500D01* -X0235000Y0105000D01* -X0255157Y0105000D01* -X0255157Y0101850D02* -X0236437Y0101850D01* -X0266910Y0070712D02* -X0268110Y0070712D01* -X0268110Y0069514D02* -X0266910Y0069514D01* -X0266910Y0068315D02* -X0268110Y0068315D01* -X0213124Y0061124D02* -X0171268Y0061124D01* -X0163731Y0061124D02* -X0133396Y0061124D01* -X0133396Y0059400D02* -X0129537Y0059400D01* -X0129537Y0054950D01* -X0131746Y0054950D01* -X0132229Y0055080D01* -X0132663Y0055330D01* -X0133016Y0055684D01* -X0133267Y0056117D01* -X0133396Y0056600D01* -X0133396Y0059400D01* -X0133396Y0058727D02* -X0163731Y0058727D01* -X0163731Y0057529D02* -X0133396Y0057529D01* -X0133324Y0056330D02* -X0163731Y0056330D01* -X0163731Y0055132D02* -X0132319Y0055132D01* -X0129537Y0055132D02* -X0128337Y0055132D01* -X0128337Y0056330D02* -X0129537Y0056330D01* -X0129537Y0057529D02* -X0128337Y0057529D01* -X0128337Y0058727D02* -X0129537Y0058727D01* -X0129537Y0059926D02* -X0163731Y0059926D01* -X0163731Y0062323D02* -X0140227Y0062323D01* -X0143337Y0063521D02* -X0144537Y0063521D01* -X0144537Y0062450D02* -X0146746Y0062450D01* -X0147229Y0062580D01* -X0147663Y0062830D01* -X0148016Y0063184D01* -X0148267Y0063617D01* -X0148396Y0064100D01* -X0148396Y0066900D01* -X0144537Y0066900D01* -X0144537Y0062450D01* -X0144537Y0064720D02* -X0143337Y0064720D01* -X0143337Y0065918D02* -X0144537Y0065918D01* -X0144537Y0067117D02* -X0163731Y0067117D01* -X0163731Y0068315D02* -X0148396Y0068315D01* -X0148396Y0069514D02* -X0163731Y0069514D01* -X0163731Y0070712D02* -X0148396Y0070712D01* -X0148396Y0065918D02* -X0163731Y0065918D01* -X0163731Y0064720D02* -X0148396Y0064720D01* -X0148211Y0063521D02* -X0163731Y0063521D01* -X0163731Y0053933D02* -X0112558Y0053933D01* -X0112558Y0055132D02* -X0116590Y0055132D01* -X0115939Y0056330D02* -X0112558Y0056330D01* -X0112558Y0057529D02* -X0113286Y0057529D01* -X0115295Y0060000D02* -X0121063Y0060000D01* -X0122500Y0060000D01* -X0125536Y0055132D02* -X0125555Y0055132D01* -X0118760Y0047500D02* -X0113327Y0047500D01* -X0109390Y0051437D01* -X0109390Y0072559D01* -X0115295Y0072559D02* -X0115295Y0060000D01* -X0114998Y0052734D02* -X0112573Y0052734D01* -X0113772Y0051536D02* -X0113869Y0051536D01* -X0110802Y0045543D02* -X0110590Y0045543D01* -X0110590Y0044345D02* -X0112664Y0044345D01* -X0114001Y0043146D02* -X0110590Y0043146D01* -X0118712Y0034331D02* -X0124751Y0034331D01* -X0126831Y0032251D01* -X0126831Y0027881D01* -X0124612Y0030100D01* -X0122900Y0030100D01* -X0122900Y0025400D01* -X0122100Y0025400D01* -X0122100Y0030100D01* -X0120668Y0030100D01* -X0120668Y0031693D01* -X0120186Y0032858D01* -X0118712Y0034331D01* -X0119486Y0033558D02* -X0125524Y0033558D01* -X0126722Y0032360D02* -X0120392Y0032360D01* -X0120668Y0031161D02* -X0126831Y0031161D01* -X0126831Y0029963D02* -X0124750Y0029963D01* -X0125948Y0028764D02* -X0126831Y0028764D01* -X0122900Y0028764D02* -X0122100Y0028764D01* -X0122100Y0027566D02* -X0122900Y0027566D01* -X0122900Y0026367D02* -X0122100Y0026367D01* -X0122100Y0029963D02* -X0122900Y0029963D01* -X0113982Y0030100D02* -X0112251Y0031831D01* -X0108759Y0031831D01* -X0108679Y0031865D01* -X0110186Y0030358D01* -X0110321Y0030033D01* -X0110388Y0030100D01* -X0112100Y0030100D01* -X0112100Y0025400D01* -X0112900Y0025400D01* -X0112900Y0030100D01* -X0113982Y0030100D01* -X0112900Y0029963D02* -X0112100Y0029963D01* -X0112100Y0028764D02* -X0112900Y0028764D01* -X0112900Y0027566D02* -X0112100Y0027566D01* -X0112100Y0026367D02* -X0112900Y0026367D01* -X0112921Y0031161D02* -X0109383Y0031161D01* -X0094410Y0031161D02* -X0090668Y0031161D01* -X0090668Y0030100D02* -X0090668Y0042251D01* -X0093065Y0044647D01* -X0093468Y0044814D01* -X0094410Y0045756D01* -X0094410Y0030100D01* -X0092900Y0030100D01* -X0092900Y0025400D01* -X0092100Y0025400D01* -X0092100Y0030100D01* -X0090668Y0030100D01* -X0092100Y0029963D02* -X0092900Y0029963D01* -X0092900Y0028764D02* -X0092100Y0028764D01* -X0092100Y0027566D02* -X0092900Y0027566D01* -X0092900Y0026367D02* -X0092100Y0026367D01* -X0090668Y0032360D02* -X0094410Y0032360D01* -X0094410Y0033558D02* -X0090668Y0033558D01* -X0090668Y0034757D02* -X0094410Y0034757D01* -X0094410Y0035955D02* -X0090668Y0035955D01* -X0090668Y0037154D02* -X0094410Y0037154D01* -X0094410Y0038352D02* -X0090668Y0038352D01* -X0090668Y0039551D02* -X0094410Y0039551D01* -X0094410Y0040749D02* -X0090668Y0040749D01* -X0090668Y0041948D02* -X0094410Y0041948D01* -X0094410Y0043146D02* -X0091564Y0043146D01* -X0092763Y0044345D02* -X0094410Y0044345D01* -X0094410Y0045543D02* -X0094198Y0045543D01* -X0090008Y0050337D02* -X0085665Y0050337D01* -X0084466Y0049139D02* -X0088595Y0049139D01* -X0087397Y0047940D02* -X0067803Y0047940D01* -X0068064Y0055132D02* -X0075181Y0055132D01* -X0075271Y0055080D02* -X0075754Y0054950D01* -X0077963Y0054950D01* -X0077963Y0059400D01* -X0074104Y0059400D01* -X0074104Y0056600D01* -X0074233Y0056117D01* -X0074484Y0055684D01* -X0074837Y0055330D01* -X0075271Y0055080D01* -X0074176Y0056330D02* -X0068287Y0056330D01* -X0068287Y0057529D02* -X0074104Y0057529D01* -X0074104Y0058727D02* -X0068287Y0058727D01* -X0060769Y0063521D02* -X0030743Y0063521D01* -X0030668Y0064720D02* -X0060769Y0064720D01* -X0060769Y0065918D02* -X0030668Y0065918D01* -X0031942Y0062323D02* -X0059960Y0062323D01* -X0067105Y0064720D02* -X0070378Y0064720D01* -X0069377Y0065918D02* -X0067105Y0065918D01* -X0067815Y0067117D02* -X0069017Y0067117D01* -X0069103Y0068315D02* -X0068847Y0068315D01* -X0069065Y0069514D02* -X0069647Y0069514D01* -X0069065Y0070712D02* -X0071134Y0070712D01* -X0075353Y0069514D02* -X0076854Y0069514D01* -X0075897Y0068315D02* -X0085395Y0068315D01* -X0088505Y0067117D02* -X0075983Y0067117D01* -X0075623Y0065918D02* -X0088505Y0065918D01* -X0092143Y0059926D02* -X0092442Y0059926D01* -X0092442Y0058727D02* -X0091565Y0058727D01* -X0091565Y0057529D02* -X0092442Y0057529D01* -X0092442Y0056330D02* -X0091561Y0056330D01* -X0090910Y0055132D02* -X0092442Y0055132D01* -X0092442Y0053933D02* -X0089180Y0053933D01* -X0088062Y0052734D02* -X0092427Y0052734D01* -X0091228Y0051536D02* -X0086863Y0051536D01* -X0086198Y0046742D02* -X0002568Y0046742D01* -X0002568Y0045543D02* -X0084999Y0045543D01* -X0084394Y0044345D02* -X0002568Y0044345D01* -X0002568Y0043146D02* -X0084331Y0043146D01* -X0084331Y0041948D02* -X0002568Y0041948D01* -X0002568Y0040749D02* -X0084331Y0040749D01* -X0084331Y0039551D02* -X0002568Y0039551D01* -X0002568Y0038352D02* -X0084331Y0038352D01* -X0084331Y0037154D02* -X0002568Y0037154D01* -X0002568Y0035955D02* -X0084331Y0035955D01* -X0084331Y0034757D02* -X0002568Y0034757D01* -X0002568Y0033558D02* -X0084331Y0033558D01* -X0084331Y0032360D02* -X0002568Y0032360D01* -X0002568Y0031161D02* -X0084331Y0031161D01* -X0082900Y0029963D02* -X0082100Y0029963D01* -X0082100Y0028764D02* -X0082900Y0028764D01* -X0082900Y0027566D02* -X0082100Y0027566D01* -X0082100Y0026367D02* -X0082900Y0026367D01* -X0082100Y0025169D02* -X0002568Y0025169D01* -X0002568Y0026367D02* -X0077400Y0026367D01* -X0077853Y0027566D02* -X0002568Y0027566D01* -X0002568Y0028764D02* -X0079052Y0028764D01* -X0080250Y0029963D02* -X0002568Y0029963D01* -X0002568Y0023970D02* -X0077400Y0023970D01* -X0077516Y0022772D02* -X0002568Y0022772D01* -X0002568Y0021573D02* -X0078714Y0021573D01* -X0079717Y0020375D02* -X0002568Y0020375D01* -X0002568Y0019176D02* -X0078518Y0019176D01* -X0077320Y0017978D02* -X0002568Y0017978D01* -X0002568Y0016779D02* -X0076731Y0016779D01* -X0076731Y0015581D02* -X0002568Y0015581D01* -X0002568Y0014382D02* -X0076731Y0014382D01* -X0076731Y0013184D02* -X0002568Y0013184D01* -X0002568Y0011985D02* -X0077357Y0011985D01* -X0078555Y0010787D02* -X0002568Y0010787D01* -X0002568Y0009588D02* -X0079754Y0009588D01* -X0079163Y0055132D02* -X0077963Y0055132D01* -X0077963Y0056330D02* -X0079163Y0056330D01* -X0079163Y0057529D02* -X0077963Y0057529D01* -X0077963Y0058727D02* -X0079163Y0058727D01* -X0079163Y0061124D02* -X0077963Y0061124D01* -X0077963Y0062323D02* -X0079163Y0062323D01* -X0079163Y0063521D02* -X0077963Y0063521D01* -X0077963Y0064720D02* -X0079163Y0064720D01* -X0074923Y0064720D02* -X0074622Y0064720D01* -X0100000Y0086142D02* -X0117264Y0086142D01* -X0117264Y0072559D01* -X0117264Y0067500D01* -X0127500Y0067500D01* -X0136063Y0067500D01* -X0137036Y0050337D02* -X0163731Y0050337D01* -X0163778Y0049139D02* -X0138099Y0049139D01* -X0138471Y0047940D02* -X0164274Y0047940D01* -X0165518Y0046742D02* -X0138408Y0046742D01* -X0129872Y0088690D02* -X0194782Y0088690D01* -X0193583Y0089888D02* -X0129872Y0089888D01* -X0124941Y0097953D02* -X0190000Y0097953D01* -X0162500Y0122500D02* -X0161240Y0122500D01* -X0088505Y0130638D02* -X0088441Y0130638D01* -X0088505Y0131836D02* -X0087614Y0131836D01* -X0088218Y0133035D02* -X0088505Y0133035D01* -X0088505Y0134233D02* -X0088218Y0134233D01* -X0088218Y0135432D02* -X0088505Y0135432D01* -X0088505Y0136630D02* -X0088218Y0136630D01* -X0088218Y0137829D02* -X0088505Y0137829D01* -X0088505Y0139027D02* -X0088218Y0139027D01* -X0088505Y0140226D02* -X0087678Y0140226D01* -X0087550Y0141424D02* -X0088505Y0141424D01* -X0088505Y0142623D02* -X0087550Y0142623D01* -X0082500Y0136063D02* -X0082500Y0127500D01* -X0087736Y0127500D01* -X0087736Y0117441D01* -X0087500Y0117500D02* -X0087500Y0110000D01* -X0080059Y0109764D02* -X0075000Y0109764D01* -X0072500Y0112264D01* -X0072500Y0116063D01* -X0066782Y0116256D02* -X0065538Y0116256D01* -X0066737Y0115057D02* -X0066782Y0115057D01* -X0066782Y0117454D02* -X0063974Y0117454D01* -X0063168Y0118653D02* -X0066782Y0118653D01* -X0067079Y0119851D02* -X0063168Y0119851D01* -X0063944Y0121050D02* -X0067471Y0121050D01* -X0067450Y0122248D02* -X0064065Y0122248D01* -X0064065Y0123447D02* -X0071900Y0123447D01* -X0071900Y0124537D02* -X0067450Y0124537D01* -X0067450Y0126746D01* -X0067580Y0127229D01* -X0067830Y0127663D01* -X0068184Y0128016D01* -X0068617Y0128267D01* -X0069100Y0128396D01* -X0071900Y0128396D01* -X0071900Y0124537D01* -X0071900Y0124645D02* -X0073100Y0124645D01* -X0073100Y0123447D02* -X0084568Y0123447D01* -X0084568Y0122248D02* -X0077550Y0122248D01* -X0077529Y0121050D02* -X0077590Y0121050D01* -X0077550Y0124645D02* -X0081112Y0124645D01* -X0079756Y0125844D02* -X0077550Y0125844D01* -X0077470Y0127042D02* -X0079331Y0127042D01* -X0079331Y0128241D02* -X0076428Y0128241D01* -X0079331Y0129439D02* -X0063742Y0129439D01* -X0064065Y0128241D02* -X0068572Y0128241D01* -X0067530Y0127042D02* -X0064065Y0127042D01* -X0064065Y0125844D02* -X0067450Y0125844D01* -X0067450Y0124645D02* -X0064065Y0124645D01* -X0060000Y0125000D02* -X0060000Y0113750D01* -X0060000Y0112500D01* -X0060000Y0113750D02* -X0063563Y0113750D01* -X0075423Y0101890D01* -X0080059Y0101890D01* -X0080059Y0099921D02* -X0050669Y0099921D01* -X0050669Y0106654D01* -X0040000Y0106654D01* -X0040000Y0106063D01* -X0045141Y0110263D02* -X0045650Y0110263D01* -X0046013Y0111462D02* -X0045050Y0111462D01* -X0045050Y0112660D02* -X0046013Y0112660D01* -X0046831Y0113859D02* -X0040600Y0113859D01* -X0040000Y0113937D02* -X0040000Y0113346D01* -X0050669Y0113346D01* -X0050000Y0112500D02* -X0050000Y0125000D01* -X0046831Y0124645D02* -X0043488Y0124645D01* -X0043491Y0124656D02* -X0043491Y0125000D01* -X0043491Y0125344D01* -X0043356Y0126018D01* -X0043093Y0126653D01* -X0042711Y0127225D01* -X0042225Y0127711D01* -X0041653Y0128093D01* -X0041018Y0128356D01* -X0040344Y0128491D01* -X0040000Y0128491D01* -X0039656Y0128491D01* -X0038982Y0128356D01* -X0038347Y0128093D01* -X0037775Y0127711D01* -X0037289Y0127225D01* -X0036907Y0126653D01* -X0036644Y0126018D01* -X0036509Y0125344D01* -X0036509Y0125000D01* -X0036509Y0124656D01* -X0036644Y0123982D01* -X0036907Y0123347D01* -X0037289Y0122775D01* -X0037775Y0122289D01* -X0038347Y0121907D01* -X0038982Y0121644D01* -X0039656Y0121509D01* -X0040000Y0121509D01* -X0040344Y0121509D01* -X0041018Y0121644D01* -X0041653Y0121907D01* -X0042225Y0122289D01* -X0042711Y0122775D01* -X0043093Y0123347D01* -X0043356Y0123982D01* -X0043491Y0124656D01* -X0043491Y0125000D02* -X0040000Y0125000D01* -X0043491Y0125000D01* -X0043391Y0125844D02* -X0046604Y0125844D01* -X0046604Y0127042D02* -X0042833Y0127042D01* -X0041297Y0128241D02* -X0046604Y0128241D01* -X0047107Y0129439D02* -X0020668Y0129439D01* -X0020668Y0128241D02* -X0038703Y0128241D01* -X0040000Y0128241D02* -X0040000Y0128241D01* -X0040000Y0128491D02* -X0040000Y0125000D01* -X0040000Y0125000D01* -X0040000Y0125000D01* -X0040000Y0128491D01* -X0040000Y0127042D02* -X0040000Y0127042D01* -X0040000Y0125844D02* -X0040000Y0125844D01* -X0040000Y0125000D02* -X0040000Y0125000D01* -X0040000Y0121509D01* -X0040000Y0125000D01* -X0040000Y0125000D01* -X0036509Y0125000D01* -X0040000Y0125000D01* -X0040000Y0124645D02* -X0040000Y0124645D01* -X0040000Y0123447D02* -X0040000Y0123447D01* -X0040000Y0122248D02* -X0040000Y0122248D01* -X0042164Y0122248D02* -X0046604Y0122248D01* -X0046604Y0123447D02* -X0043135Y0123447D01* -X0046772Y0121050D02* -X0020668Y0121050D01* -X0020668Y0122248D02* -X0037836Y0122248D01* -X0036865Y0123447D02* -X0020668Y0123447D01* -X0020668Y0124645D02* -X0036512Y0124645D01* -X0036609Y0125844D02* -X0020668Y0125844D01* -X0020668Y0127042D02* -X0037167Y0127042D01* -X0036600Y0118396D02* -X0036117Y0118267D01* -X0035684Y0118016D01* -X0035330Y0117663D01* -X0035080Y0117229D01* -X0034950Y0116746D01* -X0034950Y0114537D01* -X0039400Y0114537D01* -X0039400Y0118396D01* -X0036600Y0118396D01* -X0035210Y0117454D02* -X0020668Y0117454D01* -X0020668Y0116256D02* -X0034950Y0116256D01* -X0034950Y0115057D02* -X0020668Y0115057D01* -X0020668Y0113859D02* -X0039400Y0113859D01* -X0039400Y0115057D02* -X0040600Y0115057D01* -X0040600Y0116256D02* -X0039400Y0116256D01* -X0039400Y0117454D02* -X0040600Y0117454D01* -X0044790Y0117454D02* -X0046831Y0117454D01* -X0046831Y0118653D02* -X0020668Y0118653D01* -X0020668Y0119851D02* -X0046831Y0119851D01* -X0046093Y0116256D02* -X0045050Y0116256D01* -X0045050Y0115057D02* -X0046013Y0115057D01* -X0034950Y0112660D02* -X0020668Y0112660D01* -X0020668Y0111462D02* -X0034950Y0111462D01* -X0034859Y0110263D02* -X0020668Y0110263D01* -X0020668Y0109065D02* -X0034282Y0109065D01* -X0034282Y0107866D02* -X0020668Y0107866D01* -X0020668Y0106668D02* -X0034282Y0106668D01* -X0034282Y0105469D02* -X0020668Y0105469D01* -X0020668Y0104270D02* -X0034282Y0104270D01* -X0034282Y0103072D02* -X0020668Y0103072D01* -X0020668Y0101873D02* -X0034848Y0101873D01* -X0045152Y0101873D02* -X0047039Y0101873D01* -X0047501Y0100675D02* -X0020668Y0100675D01* -X0020668Y0099476D02* -X0047501Y0099476D01* -X0047920Y0098278D02* -X0020668Y0098278D01* -X0021339Y0097079D02* -X0049250Y0097079D01* -X0060000Y0105000D02* -X0066250Y0105000D01* -X0060000Y0105000D02* -X0060000Y0107500D01* -X0065693Y0095881D02* -X0022537Y0095881D01* -X0021979Y0077903D02* -X0002568Y0077903D01* -X0002568Y0076705D02* -X0021979Y0076705D01* -X0022047Y0075506D02* -X0002568Y0075506D01* -X0002568Y0074308D02* -X0021979Y0074308D01* -X0021979Y0073109D02* -X0002568Y0073109D01* -X0002568Y0071911D02* -X0021979Y0071911D01* -X0066063Y0092500D02* -X0076516Y0097953D01* -X0080059Y0097953D01* -X0073100Y0125844D02* -X0071900Y0125844D01* -X0071900Y0127042D02* -X0073100Y0127042D01* -X0073100Y0128241D02* -X0071900Y0128241D01* -X0077386Y0131836D02* -X0020668Y0131836D01* -X0020668Y0130638D02* -X0055673Y0130638D01* -X0051663Y0129439D02* -X0050463Y0129439D01* -X0050463Y0128241D02* -X0051663Y0128241D01* -X0062201Y0130638D02* -X0079331Y0130638D01* -X0031124Y0158203D02* -X0018168Y0158203D01* -X0018168Y0157005D02* -X0018961Y0157005D01* -X0018168Y0159402D02* -X0029680Y0159402D01* -X0021782Y0149814D02* -X0020732Y0149814D01* -X0020668Y0148615D02* -X0021782Y0148615D01* -X0021782Y0147417D02* -X0020668Y0147417D01* -X0020668Y0146218D02* -X0021782Y0146218D01* -X0022133Y0145020D02* -X0020668Y0145020D01* -X0020668Y0143821D02* -X0022450Y0143821D01* -X0022450Y0142623D02* -X0020668Y0142623D01* -X0026900Y0139027D02* -X0028100Y0139027D01* -X0028100Y0137829D02* -X0026900Y0137829D01* -X0026900Y0136630D02* -X0028100Y0136630D01* -X0210011Y0059926D02* -X0213124Y0059926D01* -X0213249Y0058727D02* -X0210770Y0058727D01* -X0283559Y0147417D02* -X0286132Y0147417D01* -X0286132Y0148615D02* -X0285235Y0148615D01* -X0286116Y0149814D02* -X0286132Y0149814D01* -X0285972Y0166593D02* -X0286132Y0166593D01* -X0286132Y0198953D02* -X0268797Y0198953D01* -X0269085Y0200151D02* -X0286132Y0200151D01* -X0269295Y0213335D02* -X0268166Y0213335D01* -X0275000Y0216437D02* -X0275000Y0217874D01* -X0261369Y0201350D02* -X0260403Y0201350D01* -X0260403Y0200151D02* -X0261369Y0200151D01* -X0261369Y0198953D02* -X0260403Y0198953D01* -X0221516Y0182174D02* -X0218484Y0182174D01* -X0219683Y0180975D02* -X0220317Y0180975D01* -X0240565Y0164196D02* -X0242481Y0164196D01* -X0242481Y0162998D02* -X0240960Y0162998D01* -X0240919Y0161799D02* -X0242481Y0161799D01* -X0242481Y0160601D02* -X0240429Y0160601D01* -X0241527Y0159402D02* -X0239142Y0159402D01* -D32* -X0246250Y0154980D02* -X0246250Y0177500D01* -X0262500Y0162500D02* -X0257500Y0157500D01* -X0257500Y0154980D01* -X0262500Y0162500D02* -X0277500Y0162500D01* -X0262500Y0140000D02* -X0257500Y0140000D01* -X0247500Y0140000D01* -X0262500Y0140000D02* -X0267500Y0135000D01* -X0267500Y0085000D01* -X0262500Y0080000D01* -X0240000Y0080000D01* -X0237500Y0080000D01* -X0237500Y0077500D01* -X0242500Y0077500D01* -X0242500Y0072500D01* -X0237500Y0077500D02* -X0222500Y0077500D01* -X0222500Y0073701D01* -X0228402Y0062201D02* -X0228402Y0060000D01* -X0244094Y0060000D01* -X0245000Y0060000D01* -X0245000Y0050000D01* -X0167500Y0050000D01* -X0167500Y0075000D01* -X0127500Y0075000D01* -X0245000Y0050000D02* -X0266250Y0050000D01* -X0267500Y0047500D01* -X0255906Y0060000D02* -X0255906Y0072500D01* -X0255000Y0072500D02* -X0267500Y0072500D01* -D33* -X0267500Y0075000D01* -X0272500Y0080000D01* -X0275000Y0080000D01* -X0267510Y0072500D02* -X0267500Y0072500D01* -X0244094Y0072500D02* -X0242500Y0072500D01* -X0240000Y0080000D02* -X0240000Y0081270D01* -X0237500Y0094980D02* -X0237500Y0095000D01* -X0237500Y0094980D02* -X0240000Y0096230D01* -X0237500Y0098701D02* -X0255157Y0098701D01* -X0255157Y0111299D02* -X0240000Y0111299D01* -X0222500Y0073701D02* -X0222500Y0063201D01* -X0267500Y0047500D02* -X0267500Y0037500D01* -X0277500Y0037500D01* -X0277500Y0027500D02* -X0267500Y0027500D01* -X0267500Y0017500D01* -X0277500Y0017500D01* -X0277500Y0047500D02* -X0267500Y0047500D01* -X0127500Y0067500D02* -X0127500Y0075000D01* -D34* -X0135000Y0047500D03* -X0072500Y0067500D03* -X0058750Y0081250D03* -X0040000Y0125000D03* -X0072500Y0137500D03* -X0080000Y0188750D03* -X0152500Y0175000D03* -X0170000Y0195000D03* -X0212500Y0207500D03* -X0237500Y0162500D03* -X0225000Y0135000D03* -X0240000Y0122500D03* -X0277500Y0137500D03* -X0275000Y0080000D03* -X0255000Y0032500D03* -X0207500Y0057500D03* -X0151250Y0112500D03* -X0150000Y0131250D03* -D35* -X0177500Y0147500D03* -X0197500Y0147500D03* -X0197500Y0157500D03* -X0190000Y0130000D03* -X0246250Y0177500D03* -X0082500Y0155000D03* -X0066250Y0105000D03* -M02* diff --git a/tests/gerber_files/detector_contour.gbr b/tests/gerber_files/detector_contour.gbr deleted file mode 100644 index 93adef01..00000000 --- a/tests/gerber_files/detector_contour.gbr +++ /dev/null @@ -1,26 +0,0 @@ -G04 MADE WITH FRITZING* -G04 WWW.FRITZING.ORG* -G04 DOUBLE SIDED* -G04 HOLES PLATED* -G04 CONTOUR ON CENTER OF CONTOUR VECTOR* -%ASAXBY*% -%FSLAX23Y23*% -%MOIN*% -%OFA0B0*% -%SFA1.0B1.0*% -%ADD10R,1.771650X1.181100*% -%ADD11C,0.008000*% -%ADD10C,0.008*% -%LNCONTOUR*% -G90* -G70* -G54D10* -G54D11* -X4Y1177D02* -X1768Y1177D01* -X1768Y4D01* -X4Y4D01* -X4Y1177D01* -D02* -G04 End of contour* -M02* \ No newline at end of file diff --git a/tests/gerber_files/detector_copper_bottom.gbr b/tests/gerber_files/detector_copper_bottom.gbr deleted file mode 100644 index d3bca481..00000000 --- a/tests/gerber_files/detector_copper_bottom.gbr +++ /dev/null @@ -1,2146 +0,0 @@ -G04 MADE WITH FRITZING* -G04 WWW.FRITZING.ORG* -G04 DOUBLE SIDED* -G04 HOLES PLATED* -G04 CONTOUR ON CENTER OF CONTOUR VECTOR* -%ASAXBY*% -%FSLAX23Y23*% -%MOIN*% -%OFA0B0*% -%SFA1.0B1.0*% -%ADD10C,0.075000*% -%ADD11C,0.099055*% -%ADD12C,0.078740*% -%ADD13R,0.075000X0.075000*% -%ADD14C,0.048000*% -%ADD15C,0.020000*% -%ADD16R,0.001000X0.001000*% -%LNCOPPER0*% -G90* -G70* -G54D10* -X1149Y872D03* -X1349Y872D03* -X749Y722D03* -X749Y522D03* -X1149Y522D03* -X1449Y522D03* -X1149Y422D03* -X1449Y422D03* -X1149Y322D03* -X1449Y322D03* -X1149Y222D03* -X1449Y222D03* -X949Y472D03* -X949Y72D03* -G54D11* -X749Y972D03* -X599Y972D03* -X349Y322D03* -X349Y472D03* -X349Y672D03* -X349Y822D03* -G54D10* -X699Y122D03* -X699Y322D03* -G54D12* -X699Y222D03* -X949Y972D03* -X749Y622D03* -X1049Y222D03* -X1249Y872D03* -G54D13* -X1149Y872D03* -X1149Y522D03* -G54D14* -X949Y373D02* -X949Y433D01* -D02* -X999Y323D02* -X949Y373D01* -D02* -X1109Y322D02* -X999Y323D01* -D02* -X499Y873D02* -X1109Y872D01* -D02* -X1299Y73D02* -X989Y72D01* -D02* -X1399Y322D02* -X1349Y272D01* -D02* -X1349Y272D02* -X1349Y122D01* -D02* -X1349Y122D02* -X1299Y73D01* -D02* -X1409Y322D02* -X1399Y322D01* -D02* -X909Y72D02* -X749Y73D01* -D02* -X749Y73D02* -X727Y94D01* -D02* -X649Y522D02* -X709Y522D01* -D02* -X599Y473D02* -X649Y522D01* -D02* -X401Y472D02* -X599Y473D01* -D02* -X789Y522D02* -X899Y522D01* -D02* -X709Y722D02* -X599Y722D01* -D02* -X599Y722D02* -X549Y673D01* -D02* -X549Y673D02* -X401Y672D01* -D02* -X1149Y562D02* -X1149Y833D01* -D02* -X499Y972D02* -X499Y873D01* -D02* -X547Y972D02* -X499Y972D01* -D02* -X699Y283D02* -X699Y260D01* -D02* -X749Y562D02* -X749Y584D01* -D02* -X499Y873D02* -X499Y972D01* -D02* -X499Y972D02* -X547Y972D01* -D02* -X401Y823D02* -X449Y823D01* -D02* -X899Y522D02* -X921Y500D01* -D02* -X1309Y872D02* -X1287Y872D01* -D02* -X449Y823D02* -X499Y873D01* -D02* -X1349Y422D02* -X1349Y833D01* -D02* -X1189Y422D02* -X1349Y422D01* -D02* -X1399Y322D02* -X1409Y322D01* -D02* -X1349Y372D02* -X1399Y322D01* -D02* -X1349Y422D02* -X1349Y372D01* -D02* -X1189Y422D02* -X1349Y422D01* -D02* -X801Y972D02* -X911Y972D01* -D02* -X1109Y222D02* -X1087Y222D01* -D02* -X401Y322D02* -X659Y322D01* -D02* -X1399Y972D02* -X987Y972D01* -D02* -X1449Y923D02* -X1399Y972D01* -D02* -X1449Y562D02* -X1449Y923D01* -G54D15* -X776Y695D02* -X721Y695D01* -X721Y750D01* -X776Y750D01* -X776Y695D01* -D02* -X671Y150D02* -X726Y150D01* -X726Y95D01* -X671Y95D01* -X671Y150D01* -D02* -G54D16* -X766Y1112D02* -X769Y1112D01* -X764Y1111D02* -X771Y1111D01* -X763Y1110D02* -X772Y1110D01* -X762Y1109D02* -X772Y1109D01* -X762Y1108D02* -X773Y1108D01* -X762Y1107D02* -X773Y1107D01* -X762Y1106D02* -X773Y1106D01* -X762Y1105D02* -X773Y1105D01* -X762Y1104D02* -X773Y1104D01* -X762Y1103D02* -X773Y1103D01* -X762Y1102D02* -X773Y1102D01* -X762Y1101D02* -X773Y1101D01* -X762Y1100D02* -X773Y1100D01* -X762Y1099D02* -X773Y1099D01* -X762Y1098D02* -X773Y1098D01* -X762Y1097D02* -X773Y1097D01* -X762Y1096D02* -X773Y1096D01* -X762Y1095D02* -X773Y1095D01* -X762Y1094D02* -X773Y1094D01* -X762Y1093D02* -X773Y1093D01* -X762Y1092D02* -X773Y1092D01* -X762Y1091D02* -X773Y1091D01* -X762Y1090D02* -X773Y1090D01* -X762Y1089D02* -X773Y1089D01* -X566Y1088D02* -X618Y1088D01* -X741Y1088D02* -X793Y1088D01* -X565Y1087D02* -X620Y1087D01* -X740Y1087D02* -X795Y1087D01* -X564Y1086D02* -X621Y1086D01* -X739Y1086D02* -X796Y1086D01* -X563Y1085D02* -X621Y1085D01* -X738Y1085D02* -X796Y1085D01* -X563Y1084D02* -X622Y1084D01* -X738Y1084D02* -X796Y1084D01* -X563Y1083D02* -X622Y1083D01* -X738Y1083D02* -X796Y1083D01* -X563Y1082D02* -X622Y1082D01* -X738Y1082D02* -X796Y1082D01* -X563Y1081D02* -X622Y1081D01* -X738Y1081D02* -X796Y1081D01* -X563Y1080D02* -X622Y1080D01* -X738Y1080D02* -X796Y1080D01* -X563Y1079D02* -X622Y1079D01* -X739Y1079D02* -X795Y1079D01* -X563Y1078D02* -X622Y1078D01* -X739Y1078D02* -X795Y1078D01* -X563Y1077D02* -X622Y1077D01* -X741Y1077D02* -X794Y1077D01* -X563Y1076D02* -X622Y1076D01* -X762Y1076D02* -X773Y1076D01* -X563Y1075D02* -X621Y1075D01* -X762Y1075D02* -X773Y1075D01* -X563Y1074D02* -X621Y1074D01* -X762Y1074D02* -X773Y1074D01* -X564Y1073D02* -X620Y1073D01* -X762Y1073D02* -X773Y1073D01* -X565Y1072D02* -X619Y1072D01* -X762Y1072D02* -X773Y1072D01* -X569Y1071D02* -X615Y1071D01* -X762Y1071D02* -X773Y1071D01* -X762Y1070D02* -X773Y1070D01* -X762Y1069D02* -X773Y1069D01* -X762Y1068D02* -X773Y1068D01* -X762Y1067D02* -X773Y1067D01* -X762Y1066D02* -X773Y1066D01* -X762Y1065D02* -X773Y1065D01* -X762Y1064D02* -X773Y1064D01* -X762Y1063D02* -X773Y1063D01* -X762Y1062D02* -X773Y1062D01* -X762Y1061D02* -X773Y1061D01* -X762Y1060D02* -X773Y1060D01* -X762Y1059D02* -X773Y1059D01* -X762Y1058D02* -X773Y1058D01* -X762Y1057D02* -X773Y1057D01* -X762Y1056D02* -X773Y1056D01* -X763Y1055D02* -X772Y1055D01* -X763Y1054D02* -X771Y1054D01* -X765Y1053D02* -X770Y1053D01* -X1661Y878D02* -X1697Y878D01* -X1658Y877D02* -X1698Y877D01* -X1656Y876D02* -X1700Y876D01* -X1653Y875D02* -X1701Y875D01* -X1651Y874D02* -X1701Y874D01* -X1648Y873D02* -X1702Y873D01* -X1645Y872D02* -X1702Y872D01* -X1643Y871D02* -X1702Y871D01* -X1640Y870D02* -X1702Y870D01* -X1638Y869D02* -X1703Y869D01* -X1635Y868D02* -X1702Y868D01* -X1633Y867D02* -X1702Y867D01* -X1630Y866D02* -X1702Y866D01* -X1627Y865D02* -X1701Y865D01* -X1625Y864D02* -X1701Y864D01* -X1622Y863D02* -X1700Y863D01* -X1620Y862D02* -X1699Y862D01* -X1617Y861D02* -X1697Y861D01* -X1615Y860D02* -X1664Y860D01* -X1612Y859D02* -X1661Y859D01* -X1609Y858D02* -X1659Y858D01* -X1607Y857D02* -X1656Y857D01* -X1604Y856D02* -X1653Y856D01* -X1602Y855D02* -X1651Y855D01* -X1599Y854D02* -X1648Y854D01* -X1597Y853D02* -X1646Y853D01* -X1594Y852D02* -X1643Y852D01* -X1592Y851D02* -X1641Y851D01* -X1589Y850D02* -X1638Y850D01* -X1586Y849D02* -X1635Y849D01* -X1584Y848D02* -X1633Y848D01* -X1581Y847D02* -X1630Y847D01* -X1579Y846D02* -X1628Y846D01* -X1576Y845D02* -X1625Y845D01* -X1574Y844D02* -X1623Y844D01* -X1571Y843D02* -X1620Y843D01* -X1569Y842D02* -X1618Y842D01* -X1567Y841D02* -X1615Y841D01* -X1566Y840D02* -X1612Y840D01* -X1565Y839D02* -X1610Y839D01* -X1564Y838D02* -X1607Y838D01* -X1564Y837D02* -X1605Y837D01* -X1563Y836D02* -X1602Y836D01* -X1563Y835D02* -X1600Y835D01* -X1563Y834D02* -X1597Y834D01* -X1563Y833D02* -X1599Y833D01* -X1563Y832D02* -X1601Y832D01* -X1564Y831D02* -X1604Y831D01* -X1564Y830D02* -X1606Y830D01* -X1564Y829D02* -X1609Y829D01* -X1565Y828D02* -X1611Y828D01* -X1566Y827D02* -X1614Y827D01* -X1567Y826D02* -X1616Y826D01* -X1569Y825D02* -X1619Y825D01* -X1572Y824D02* -X1622Y824D01* -X1574Y823D02* -X1624Y823D01* -X1577Y822D02* -X1627Y822D01* -X1580Y821D02* -X1629Y821D01* -X1582Y820D02* -X1632Y820D01* -X1585Y819D02* -X1634Y819D01* -X1587Y818D02* -X1637Y818D01* -X1590Y817D02* -X1639Y817D01* -X1592Y816D02* -X1642Y816D01* -X1595Y815D02* -X1645Y815D01* -X1598Y814D02* -X1647Y814D01* -X1600Y813D02* -X1650Y813D01* -X1603Y812D02* -X1652Y812D01* -X1605Y811D02* -X1655Y811D01* -X1608Y810D02* -X1657Y810D01* -X1610Y809D02* -X1660Y809D01* -X1613Y808D02* -X1662Y808D01* -X1616Y807D02* -X1695Y807D01* -X1618Y806D02* -X1698Y806D01* -X1621Y805D02* -X1699Y805D01* -X1623Y804D02* -X1700Y804D01* -X1626Y803D02* -X1701Y803D01* -X1628Y802D02* -X1702Y802D01* -X1631Y801D02* -X1702Y801D01* -X1634Y800D02* -X1702Y800D01* -X1636Y799D02* -X1702Y799D01* -X1639Y798D02* -X1703Y798D01* -X1641Y797D02* -X1702Y797D01* -X1644Y796D02* -X1702Y796D01* -X1646Y795D02* -X1702Y795D01* -X1649Y794D02* -X1702Y794D01* -X1652Y793D02* -X1701Y793D01* -X1654Y792D02* -X1700Y792D01* -X1657Y791D02* -X1699Y791D01* -X1659Y790D02* -X1698Y790D01* -X1662Y789D02* -X1694Y789D01* -X191Y786D02* -X194Y786D01* -X106Y785D02* -X117Y785D01* -X189Y785D02* -X198Y785D01* -X104Y784D02* -X119Y784D01* -X187Y784D02* -X200Y784D01* -X102Y783D02* -X121Y783D01* -X186Y783D02* -X202Y783D01* -X101Y782D02* -X122Y782D01* -X186Y782D02* -X204Y782D01* -X100Y781D02* -X123Y781D01* -X185Y781D02* -X205Y781D01* -X99Y780D02* -X125Y780D01* -X185Y780D02* -X206Y780D01* -X98Y779D02* -X126Y779D01* -X185Y779D02* -X207Y779D01* -X97Y778D02* -X127Y778D01* -X185Y778D02* -X208Y778D01* -X97Y777D02* -X128Y777D01* -X185Y777D02* -X208Y777D01* -X96Y776D02* -X130Y776D01* -X185Y776D02* -X209Y776D01* -X96Y775D02* -X131Y775D01* -X186Y775D02* -X210Y775D01* -X96Y774D02* -X132Y774D01* -X186Y774D02* -X210Y774D01* -X95Y773D02* -X134Y773D01* -X187Y773D02* -X211Y773D01* -X95Y772D02* -X135Y772D01* -X188Y772D02* -X211Y772D01* -X95Y771D02* -X136Y771D01* -X191Y771D02* -X211Y771D01* -X95Y770D02* -X109Y770D01* -X113Y770D02* -X137Y770D01* -X195Y770D02* -X211Y770D01* -X95Y769D02* -X109Y769D01* -X114Y769D02* -X139Y769D01* -X196Y769D02* -X212Y769D01* -X95Y768D02* -X109Y768D01* -X116Y768D02* -X140Y768D01* -X197Y768D02* -X212Y768D01* -X95Y767D02* -X109Y767D01* -X117Y767D02* -X141Y767D01* -X197Y767D02* -X212Y767D01* -X95Y766D02* -X109Y766D01* -X118Y766D02* -X143Y766D01* -X198Y766D02* -X212Y766D01* -X95Y765D02* -X109Y765D01* -X120Y765D02* -X144Y765D01* -X198Y765D02* -X212Y765D01* -X95Y764D02* -X109Y764D01* -X121Y764D02* -X145Y764D01* -X198Y764D02* -X212Y764D01* -X95Y763D02* -X109Y763D01* -X122Y763D02* -X146Y763D01* -X198Y763D02* -X212Y763D01* -X95Y762D02* -X109Y762D01* -X123Y762D02* -X148Y762D01* -X198Y762D02* -X212Y762D01* -X95Y761D02* -X109Y761D01* -X125Y761D02* -X149Y761D01* -X198Y761D02* -X212Y761D01* -X95Y760D02* -X109Y760D01* -X126Y760D02* -X150Y760D01* -X198Y760D02* -X212Y760D01* -X95Y759D02* -X109Y759D01* -X127Y759D02* -X152Y759D01* -X198Y759D02* -X212Y759D01* -X95Y758D02* -X109Y758D01* -X129Y758D02* -X153Y758D01* -X198Y758D02* -X212Y758D01* -X95Y757D02* -X109Y757D01* -X130Y757D02* -X154Y757D01* -X198Y757D02* -X212Y757D01* -X95Y756D02* -X109Y756D01* -X131Y756D02* -X155Y756D01* -X198Y756D02* -X212Y756D01* -X95Y755D02* -X109Y755D01* -X132Y755D02* -X157Y755D01* -X198Y755D02* -X212Y755D01* -X95Y754D02* -X109Y754D01* -X134Y754D02* -X158Y754D01* -X198Y754D02* -X212Y754D01* -X95Y753D02* -X109Y753D01* -X135Y753D02* -X159Y753D01* -X198Y753D02* -X212Y753D01* -X95Y752D02* -X109Y752D01* -X136Y752D02* -X161Y752D01* -X198Y752D02* -X212Y752D01* -X95Y751D02* -X109Y751D01* -X138Y751D02* -X162Y751D01* -X198Y751D02* -X212Y751D01* -X95Y750D02* -X109Y750D01* -X139Y750D02* -X163Y750D01* -X198Y750D02* -X212Y750D01* -X95Y749D02* -X109Y749D01* -X140Y749D02* -X164Y749D01* -X198Y749D02* -X212Y749D01* -X95Y748D02* -X109Y748D01* -X141Y748D02* -X166Y748D01* -X198Y748D02* -X212Y748D01* -X1569Y748D02* -X1620Y748D01* -X95Y747D02* -X109Y747D01* -X143Y747D02* -X167Y747D01* -X198Y747D02* -X212Y747D01* -X1567Y747D02* -X1622Y747D01* -X95Y746D02* -X109Y746D01* -X144Y746D02* -X168Y746D01* -X198Y746D02* -X212Y746D01* -X1566Y746D02* -X1623Y746D01* -X95Y745D02* -X109Y745D01* -X145Y745D02* -X170Y745D01* -X198Y745D02* -X212Y745D01* -X1565Y745D02* -X1624Y745D01* -X95Y744D02* -X109Y744D01* -X147Y744D02* -X171Y744D01* -X198Y744D02* -X212Y744D01* -X1565Y744D02* -X1625Y744D01* -X95Y743D02* -X109Y743D01* -X148Y743D02* -X172Y743D01* -X198Y743D02* -X212Y743D01* -X1564Y743D02* -X1626Y743D01* -X95Y742D02* -X109Y742D01* -X149Y742D02* -X173Y742D01* -X198Y742D02* -X212Y742D01* -X1564Y742D02* -X1626Y742D01* -X95Y741D02* -X109Y741D01* -X151Y741D02* -X175Y741D01* -X198Y741D02* -X212Y741D01* -X1563Y741D02* -X1626Y741D01* -X95Y740D02* -X109Y740D01* -X152Y740D02* -X176Y740D01* -X198Y740D02* -X212Y740D01* -X1563Y740D02* -X1626Y740D01* -X95Y739D02* -X109Y739D01* -X153Y739D02* -X177Y739D01* -X198Y739D02* -X212Y739D01* -X1563Y739D02* -X1626Y739D01* -X95Y738D02* -X109Y738D01* -X154Y738D02* -X179Y738D01* -X198Y738D02* -X212Y738D01* -X1563Y738D02* -X1626Y738D01* -X95Y737D02* -X109Y737D01* -X156Y737D02* -X180Y737D01* -X198Y737D02* -X212Y737D01* -X1563Y737D02* -X1626Y737D01* -X95Y736D02* -X109Y736D01* -X157Y736D02* -X181Y736D01* -X198Y736D02* -X212Y736D01* -X1563Y736D02* -X1626Y736D01* -X95Y735D02* -X109Y735D01* -X158Y735D02* -X182Y735D01* -X198Y735D02* -X212Y735D01* -X1563Y735D02* -X1626Y735D01* -X95Y734D02* -X109Y734D01* -X160Y734D02* -X184Y734D01* -X198Y734D02* -X212Y734D01* -X1563Y734D02* -X1626Y734D01* -X95Y733D02* -X109Y733D01* -X161Y733D02* -X185Y733D01* -X198Y733D02* -X212Y733D01* -X1563Y733D02* -X1626Y733D01* -X95Y732D02* -X109Y732D01* -X162Y732D02* -X186Y732D01* -X198Y732D02* -X212Y732D01* -X1563Y732D02* -X1626Y732D01* -X95Y731D02* -X109Y731D01* -X163Y731D02* -X188Y731D01* -X198Y731D02* -X212Y731D01* -X1563Y731D02* -X1626Y731D01* -X95Y730D02* -X109Y730D01* -X165Y730D02* -X189Y730D01* -X198Y730D02* -X212Y730D01* -X1563Y730D02* -X1581Y730D01* -X1609Y730D02* -X1626Y730D01* -X95Y729D02* -X110Y729D01* -X166Y729D02* -X190Y729D01* -X198Y729D02* -X212Y729D01* -X1563Y729D02* -X1580Y729D01* -X1609Y729D02* -X1626Y729D01* -X95Y728D02* -X110Y728D01* -X167Y728D02* -X191Y728D01* -X198Y728D02* -X212Y728D01* -X1563Y728D02* -X1580Y728D01* -X1609Y728D02* -X1626Y728D01* -X95Y727D02* -X111Y727D01* -X169Y727D02* -X193Y727D01* -X198Y727D02* -X212Y727D01* -X1563Y727D02* -X1580Y727D01* -X1609Y727D02* -X1626Y727D01* -X96Y726D02* -X114Y726D01* -X170Y726D02* -X194Y726D01* -X196Y726D02* -X212Y726D01* -X1563Y726D02* -X1580Y726D01* -X1609Y726D02* -X1626Y726D01* -X96Y725D02* -X118Y725D01* -X171Y725D02* -X212Y725D01* -X1563Y725D02* -X1580Y725D01* -X1609Y725D02* -X1626Y725D01* -X96Y724D02* -X119Y724D01* -X172Y724D02* -X212Y724D01* -X1563Y724D02* -X1580Y724D01* -X1609Y724D02* -X1626Y724D01* -X97Y723D02* -X120Y723D01* -X174Y723D02* -X211Y723D01* -X1563Y723D02* -X1580Y723D01* -X1609Y723D02* -X1626Y723D01* -X97Y722D02* -X121Y722D01* -X175Y722D02* -X211Y722D01* -X1563Y722D02* -X1580Y722D01* -X1609Y722D02* -X1626Y722D01* -X98Y721D02* -X122Y721D01* -X176Y721D02* -X211Y721D01* -X1563Y721D02* -X1580Y721D01* -X1609Y721D02* -X1626Y721D01* -X98Y720D02* -X122Y720D01* -X178Y720D02* -X210Y720D01* -X1563Y720D02* -X1580Y720D01* -X1609Y720D02* -X1626Y720D01* -X99Y719D02* -X122Y719D01* -X179Y719D02* -X210Y719D01* -X1563Y719D02* -X1580Y719D01* -X1609Y719D02* -X1626Y719D01* -X100Y718D02* -X122Y718D01* -X180Y718D02* -X209Y718D01* -X1563Y718D02* -X1580Y718D01* -X1609Y718D02* -X1626Y718D01* -X101Y717D02* -X122Y717D01* -X181Y717D02* -X208Y717D01* -X1563Y717D02* -X1580Y717D01* -X1609Y717D02* -X1626Y717D01* -X102Y716D02* -X122Y716D01* -X183Y716D02* -X207Y716D01* -X1563Y716D02* -X1580Y716D01* -X1609Y716D02* -X1626Y716D01* -X103Y715D02* -X121Y715D01* -X184Y715D02* -X206Y715D01* -X1563Y715D02* -X1580Y715D01* -X1609Y715D02* -X1626Y715D01* -X104Y714D02* -X121Y714D01* -X185Y714D02* -X205Y714D01* -X1563Y714D02* -X1580Y714D01* -X1609Y714D02* -X1626Y714D01* -X106Y713D02* -X120Y713D01* -X187Y713D02* -X204Y713D01* -X1563Y713D02* -X1580Y713D01* -X1609Y713D02* -X1626Y713D01* -X108Y712D02* -X119Y712D01* -X189Y712D02* -X202Y712D01* -X1563Y712D02* -X1580Y712D01* -X1609Y712D02* -X1626Y712D01* -X112Y711D02* -X117Y711D01* -X192Y711D02* -X198Y711D01* -X1563Y711D02* -X1580Y711D01* -X1609Y711D02* -X1626Y711D01* -X1563Y710D02* -X1580Y710D01* -X1609Y710D02* -X1626Y710D01* -X1563Y709D02* -X1580Y709D01* -X1609Y709D02* -X1626Y709D01* -X1563Y708D02* -X1580Y708D01* -X1609Y708D02* -X1626Y708D01* -X1563Y707D02* -X1580Y707D01* -X1609Y707D02* -X1626Y707D01* -X1563Y706D02* -X1580Y706D01* -X1609Y706D02* -X1626Y706D01* -X1563Y705D02* -X1580Y705D01* -X1609Y705D02* -X1626Y705D01* -X1563Y704D02* -X1580Y704D01* -X1609Y704D02* -X1626Y704D01* -X1563Y703D02* -X1580Y703D01* -X1609Y703D02* -X1626Y703D01* -X1563Y702D02* -X1580Y702D01* -X1609Y702D02* -X1626Y702D01* -X1563Y701D02* -X1580Y701D01* -X1609Y701D02* -X1626Y701D01* -X1563Y700D02* -X1580Y700D01* -X1609Y700D02* -X1626Y700D01* -X1563Y699D02* -X1580Y699D01* -X1609Y699D02* -X1626Y699D01* -X1563Y698D02* -X1580Y698D01* -X1609Y698D02* -X1626Y698D01* -X1563Y697D02* -X1580Y697D01* -X1609Y697D02* -X1626Y697D01* -X1563Y696D02* -X1580Y696D01* -X1609Y696D02* -X1626Y696D01* -X1563Y695D02* -X1580Y695D01* -X1609Y695D02* -X1626Y695D01* -X1563Y694D02* -X1580Y694D01* -X1609Y694D02* -X1626Y694D01* -X1563Y693D02* -X1580Y693D01* -X1609Y693D02* -X1626Y693D01* -X1563Y692D02* -X1580Y692D01* -X1609Y692D02* -X1626Y692D01* -X1563Y691D02* -X1580Y691D01* -X1609Y691D02* -X1626Y691D01* -X1563Y690D02* -X1580Y690D01* -X1609Y690D02* -X1626Y690D01* -X1563Y689D02* -X1580Y689D01* -X1609Y689D02* -X1626Y689D01* -X1563Y688D02* -X1580Y688D01* -X1609Y688D02* -X1626Y688D01* -X1563Y687D02* -X1580Y687D01* -X1609Y687D02* -X1626Y687D01* -X1563Y686D02* -X1580Y686D01* -X1609Y686D02* -X1626Y686D01* -X1563Y685D02* -X1580Y685D01* -X1609Y685D02* -X1626Y685D01* -X1690Y685D02* -X1698Y685D01* -X1563Y684D02* -X1580Y684D01* -X1609Y684D02* -X1626Y684D01* -X1689Y684D02* -X1699Y684D01* -X1563Y683D02* -X1580Y683D01* -X1609Y683D02* -X1626Y683D01* -X1688Y683D02* -X1700Y683D01* -X1563Y682D02* -X1580Y682D01* -X1609Y682D02* -X1626Y682D01* -X1687Y682D02* -X1701Y682D01* -X1563Y681D02* -X1580Y681D01* -X1609Y681D02* -X1626Y681D01* -X1686Y681D02* -X1702Y681D01* -X1563Y680D02* -X1580Y680D01* -X1609Y680D02* -X1626Y680D01* -X1686Y680D02* -X1702Y680D01* -X1563Y679D02* -X1580Y679D01* -X1609Y679D02* -X1626Y679D01* -X1686Y679D02* -X1702Y679D01* -X1563Y678D02* -X1580Y678D01* -X1609Y678D02* -X1626Y678D01* -X1685Y678D02* -X1702Y678D01* -X1563Y677D02* -X1581Y677D01* -X1609Y677D02* -X1627Y677D01* -X1685Y677D02* -X1703Y677D01* -X1563Y676D02* -X1703Y676D01* -X1563Y675D02* -X1703Y675D01* -X1563Y674D02* -X1703Y674D01* -X1563Y673D02* -X1703Y673D01* -X1563Y672D02* -X1703Y672D01* -X1563Y671D02* -X1703Y671D01* -X1563Y670D02* -X1703Y670D01* -X1563Y669D02* -X1703Y669D01* -X1563Y668D02* -X1703Y668D01* -X1563Y667D02* -X1702Y667D01* -X1563Y666D02* -X1702Y666D01* -X1564Y665D02* -X1702Y665D01* -X1564Y664D02* -X1702Y664D01* -X1565Y663D02* -X1701Y663D01* -X1566Y662D02* -X1700Y662D01* -X1567Y661D02* -X1699Y661D01* -X1568Y660D02* -X1698Y660D01* -X1572Y659D02* -X1694Y659D01* -X1623Y618D02* -X1635Y618D01* -X1621Y617D02* -X1637Y617D01* -X1620Y616D02* -X1639Y616D01* -X1619Y615D02* -X1640Y615D01* -X1618Y614D02* -X1640Y614D01* -X1617Y613D02* -X1641Y613D01* -X1617Y612D02* -X1641Y612D01* -X1617Y611D02* -X1641Y611D01* -X1617Y610D02* -X1642Y610D01* -X1617Y609D02* -X1642Y609D01* -X1617Y608D02* -X1642Y608D01* -X1617Y607D02* -X1642Y607D01* -X1617Y606D02* -X1642Y606D01* -X1617Y605D02* -X1642Y605D01* -X1617Y604D02* -X1642Y604D01* -X1617Y603D02* -X1642Y603D01* -X1617Y602D02* -X1642Y602D01* -X1617Y601D02* -X1642Y601D01* -X1617Y600D02* -X1642Y600D01* -X1617Y599D02* -X1642Y599D01* -X1617Y598D02* -X1642Y598D01* -X1617Y597D02* -X1642Y597D01* -X1617Y596D02* -X1642Y596D01* -X1617Y595D02* -X1642Y595D01* -X1617Y594D02* -X1642Y594D01* -X1617Y593D02* -X1642Y593D01* -X1617Y592D02* -X1642Y592D01* -X1617Y591D02* -X1642Y591D01* -X1617Y590D02* -X1642Y590D01* -X1617Y589D02* -X1642Y589D01* -X1617Y588D02* -X1642Y588D01* -X1617Y587D02* -X1642Y587D01* -X1617Y586D02* -X1642Y586D01* -X1617Y585D02* -X1642Y585D01* -X1617Y584D02* -X1642Y584D01* -X1617Y583D02* -X1642Y583D01* -X1617Y582D02* -X1642Y582D01* -X1617Y581D02* -X1642Y581D01* -X1617Y580D02* -X1642Y580D01* -X1617Y579D02* -X1642Y579D01* -X1617Y578D02* -X1642Y578D01* -X1617Y577D02* -X1642Y577D01* -X1617Y576D02* -X1642Y576D01* -X1617Y575D02* -X1642Y575D01* -X1617Y574D02* -X1642Y574D01* -X1617Y573D02* -X1642Y573D01* -X1617Y572D02* -X1642Y572D01* -X1617Y571D02* -X1642Y571D01* -X1617Y570D02* -X1642Y570D01* -X1617Y569D02* -X1642Y569D01* -X1617Y568D02* -X1642Y568D01* -X1617Y567D02* -X1642Y567D01* -X1617Y566D02* -X1642Y566D01* -X1617Y565D02* -X1642Y565D01* -X1617Y564D02* -X1642Y564D01* -X1617Y563D02* -X1642Y563D01* -X1617Y562D02* -X1642Y562D01* -X1617Y561D02* -X1642Y561D01* -X1617Y560D02* -X1642Y560D01* -X1617Y559D02* -X1642Y559D01* -X1617Y558D02* -X1642Y558D01* -X1617Y557D02* -X1642Y557D01* -X1617Y556D02* -X1642Y556D01* -X1617Y555D02* -X1642Y555D01* -X1617Y554D02* -X1642Y554D01* -X1617Y553D02* -X1642Y553D01* -X1617Y552D02* -X1642Y552D01* -X1617Y551D02* -X1642Y551D01* -X1617Y550D02* -X1642Y550D01* -X1617Y549D02* -X1642Y549D01* -X1617Y548D02* -X1642Y548D01* -X1617Y547D02* -X1642Y547D01* -X1617Y546D02* -X1642Y546D01* -X1617Y545D02* -X1642Y545D01* -X1617Y544D02* -X1642Y544D01* -X1617Y543D02* -X1642Y543D01* -X1617Y542D02* -X1642Y542D01* -X1617Y541D02* -X1642Y541D01* -X1617Y540D02* -X1642Y540D01* -X1617Y539D02* -X1642Y539D01* -X1617Y538D02* -X1642Y538D01* -X1617Y537D02* -X1642Y537D01* -X1617Y536D02* -X1641Y536D01* -X1617Y535D02* -X1641Y535D01* -X1618Y534D02* -X1641Y534D01* -X1618Y533D02* -X1640Y533D01* -X1619Y532D02* -X1639Y532D01* -X1620Y531D02* -X1638Y531D01* -X1621Y530D02* -X1637Y530D01* -X1625Y529D02* -X1633Y529D01* -X1627Y488D02* -X1638Y488D01* -X1623Y487D02* -X1643Y487D01* -X1620Y486D02* -X1646Y486D01* -X1617Y485D02* -X1649Y485D01* -X1615Y484D02* -X1651Y484D01* -X1613Y483D02* -X1653Y483D01* -X1611Y482D02* -X1655Y482D01* -X1609Y481D02* -X1657Y481D01* -X1607Y480D02* -X1659Y480D01* -X1605Y479D02* -X1661Y479D01* -X1603Y478D02* -X1663Y478D01* -X1601Y477D02* -X1665Y477D01* -X1599Y476D02* -X1667Y476D01* -X1597Y475D02* -X1669Y475D01* -X1595Y474D02* -X1671Y474D01* -X1593Y473D02* -X1673Y473D01* -X1591Y472D02* -X1675Y472D01* -X1589Y471D02* -X1677Y471D01* -X1587Y470D02* -X1629Y470D01* -X1637Y470D02* -X1679Y470D01* -X1585Y469D02* -X1625Y469D01* -X1641Y469D02* -X1681Y469D01* -X1583Y468D02* -X1622Y468D01* -X1643Y468D02* -X1683Y468D01* -X1581Y467D02* -X1620Y467D01* -X1645Y467D02* -X1685Y467D01* -X1579Y466D02* -X1618Y466D01* -X1647Y466D02* -X1687Y466D01* -X1577Y465D02* -X1616Y465D01* -X1649Y465D02* -X1689Y465D01* -X1575Y464D02* -X1614Y464D01* -X1651Y464D02* -X1690Y464D01* -X1573Y463D02* -X1612Y463D01* -X1653Y463D02* -X1692Y463D01* -X1572Y462D02* -X1611Y462D01* -X1655Y462D02* -X1693Y462D01* -X1571Y461D02* -X1609Y461D01* -X1657Y461D02* -X1694Y461D01* -X1570Y460D02* -X1607Y460D01* -X1659Y460D02* -X1695Y460D01* -X1569Y459D02* -X1605Y459D01* -X1661Y459D02* -X1696Y459D01* -X1569Y458D02* -X1603Y458D01* -X1663Y458D02* -X1697Y458D01* -X1568Y457D02* -X1601Y457D01* -X1665Y457D02* -X1697Y457D01* -X1567Y456D02* -X1599Y456D01* -X1667Y456D02* -X1698Y456D01* -X1567Y455D02* -X1597Y455D01* -X1669Y455D02* -X1699Y455D01* -X1566Y454D02* -X1595Y454D01* -X1671Y454D02* -X1699Y454D01* -X1566Y453D02* -X1593Y453D01* -X1673Y453D02* -X1700Y453D01* -X1565Y452D02* -X1591Y452D01* -X1675Y452D02* -X1700Y452D01* -X1565Y451D02* -X1589Y451D01* -X1677Y451D02* -X1701Y451D01* -X1565Y450D02* -X1587Y450D01* -X1679Y450D02* -X1701Y450D01* -X1564Y449D02* -X1585Y449D01* -X1681Y449D02* -X1701Y449D01* -X1564Y448D02* -X1583Y448D01* -X1682Y448D02* -X1702Y448D01* -X1564Y447D02* -X1582Y447D01* -X1683Y447D02* -X1702Y447D01* -X1564Y446D02* -X1582Y446D01* -X1684Y446D02* -X1702Y446D01* -X1563Y445D02* -X1581Y445D01* -X1685Y445D02* -X1702Y445D01* -X1563Y444D02* -X1581Y444D01* -X1685Y444D02* -X1702Y444D01* -X1563Y443D02* -X1581Y443D01* -X1685Y443D02* -X1702Y443D01* -X1563Y442D02* -X1580Y442D01* -X1685Y442D02* -X1703Y442D01* -X1563Y441D02* -X1580Y441D01* -X1685Y441D02* -X1703Y441D01* -X1563Y440D02* -X1580Y440D01* -X1685Y440D02* -X1703Y440D01* -X1563Y439D02* -X1580Y439D01* -X1685Y439D02* -X1703Y439D01* -X1563Y438D02* -X1580Y438D01* -X1685Y438D02* -X1703Y438D01* -X1563Y437D02* -X1580Y437D01* -X1685Y437D02* -X1703Y437D01* -X1563Y436D02* -X1580Y436D01* -X1685Y436D02* -X1703Y436D01* -X1563Y435D02* -X1581Y435D01* -X1685Y435D02* -X1703Y435D01* -X1563Y434D02* -X1703Y434D01* -X99Y433D02* -X105Y433D01* -X202Y433D02* -X208Y433D01* -X1563Y433D02* -X1703Y433D01* -X98Y432D02* -X106Y432D01* -X200Y432D02* -X209Y432D01* -X1563Y432D02* -X1703Y432D01* -X97Y431D02* -X107Y431D01* -X199Y431D02* -X210Y431D01* -X1563Y431D02* -X1703Y431D01* -X96Y430D02* -X108Y430D01* -X199Y430D02* -X211Y430D01* -X1563Y430D02* -X1703Y430D01* -X95Y429D02* -X109Y429D01* -X198Y429D02* -X211Y429D01* -X1563Y429D02* -X1703Y429D01* -X95Y428D02* -X109Y428D01* -X198Y428D02* -X212Y428D01* -X1563Y428D02* -X1703Y428D01* -X95Y427D02* -X109Y427D01* -X198Y427D02* -X212Y427D01* -X1563Y427D02* -X1703Y427D01* -X95Y426D02* -X109Y426D01* -X198Y426D02* -X212Y426D01* -X1563Y426D02* -X1703Y426D01* -X95Y425D02* -X109Y425D01* -X198Y425D02* -X212Y425D01* -X1563Y425D02* -X1703Y425D01* -X95Y424D02* -X109Y424D01* -X198Y424D02* -X212Y424D01* -X1563Y424D02* -X1703Y424D01* -X95Y423D02* -X109Y423D01* -X198Y423D02* -X212Y423D01* -X1563Y423D02* -X1703Y423D01* -X95Y422D02* -X109Y422D01* -X198Y422D02* -X212Y422D01* -X1563Y422D02* -X1703Y422D01* -X95Y421D02* -X109Y421D01* -X198Y421D02* -X212Y421D01* -X1563Y421D02* -X1703Y421D01* -X95Y420D02* -X109Y420D01* -X198Y420D02* -X212Y420D01* -X1563Y420D02* -X1703Y420D01* -X95Y419D02* -X109Y419D01* -X198Y419D02* -X212Y419D01* -X1563Y419D02* -X1703Y419D01* -X95Y418D02* -X109Y418D01* -X198Y418D02* -X212Y418D01* -X1563Y418D02* -X1703Y418D01* -X95Y417D02* -X109Y417D01* -X198Y417D02* -X212Y417D01* -X1563Y417D02* -X1703Y417D01* -X95Y416D02* -X109Y416D01* -X198Y416D02* -X212Y416D01* -X1563Y416D02* -X1580Y416D01* -X1685Y416D02* -X1703Y416D01* -X95Y415D02* -X109Y415D01* -X198Y415D02* -X212Y415D01* -X1563Y415D02* -X1580Y415D01* -X1685Y415D02* -X1703Y415D01* -X95Y414D02* -X109Y414D01* -X198Y414D02* -X212Y414D01* -X1563Y414D02* -X1580Y414D01* -X1685Y414D02* -X1703Y414D01* -X95Y413D02* -X109Y413D01* -X198Y413D02* -X212Y413D01* -X1563Y413D02* -X1580Y413D01* -X1685Y413D02* -X1703Y413D01* -X95Y412D02* -X109Y412D01* -X198Y412D02* -X212Y412D01* -X1563Y412D02* -X1580Y412D01* -X1685Y412D02* -X1703Y412D01* -X95Y411D02* -X109Y411D01* -X198Y411D02* -X212Y411D01* -X1563Y411D02* -X1580Y411D01* -X1685Y411D02* -X1703Y411D01* -X95Y410D02* -X109Y410D01* -X198Y410D02* -X212Y410D01* -X1563Y410D02* -X1580Y410D01* -X1685Y410D02* -X1703Y410D01* -X95Y409D02* -X109Y409D01* -X198Y409D02* -X212Y409D01* -X1563Y409D02* -X1580Y409D01* -X1685Y409D02* -X1703Y409D01* -X95Y408D02* -X109Y408D01* -X198Y408D02* -X212Y408D01* -X1563Y408D02* -X1580Y408D01* -X1685Y408D02* -X1703Y408D01* -X95Y407D02* -X109Y407D01* -X198Y407D02* -X212Y407D01* -X1563Y407D02* -X1580Y407D01* -X1685Y407D02* -X1702Y407D01* -X95Y406D02* -X109Y406D01* -X198Y406D02* -X212Y406D01* -X1563Y406D02* -X1580Y406D01* -X1686Y406D02* -X1702Y406D01* -X95Y405D02* -X109Y405D01* -X198Y405D02* -X212Y405D01* -X1564Y405D02* -X1580Y405D01* -X1686Y405D02* -X1702Y405D01* -X95Y404D02* -X109Y404D01* -X198Y404D02* -X212Y404D01* -X1564Y404D02* -X1580Y404D01* -X1686Y404D02* -X1702Y404D01* -X95Y403D02* -X109Y403D01* -X198Y403D02* -X212Y403D01* -X1565Y403D02* -X1579Y403D01* -X1687Y403D02* -X1701Y403D01* -X95Y402D02* -X109Y402D01* -X198Y402D02* -X212Y402D01* -X1565Y402D02* -X1578Y402D01* -X1688Y402D02* -X1700Y402D01* -X95Y401D02* -X109Y401D01* -X198Y401D02* -X212Y401D01* -X1567Y401D02* -X1577Y401D01* -X1689Y401D02* -X1699Y401D01* -X95Y400D02* -X109Y400D01* -X198Y400D02* -X212Y400D01* -X1568Y400D02* -X1576Y400D01* -X1690Y400D02* -X1698Y400D01* -X95Y399D02* -X109Y399D01* -X198Y399D02* -X212Y399D01* -X1571Y399D02* -X1573Y399D01* -X1693Y399D02* -X1695Y399D01* -X95Y398D02* -X109Y398D01* -X198Y398D02* -X212Y398D01* -X95Y397D02* -X109Y397D01* -X198Y397D02* -X212Y397D01* -X95Y396D02* -X109Y396D01* -X197Y396D02* -X212Y396D01* -X95Y395D02* -X110Y395D01* -X197Y395D02* -X212Y395D01* -X95Y394D02* -X110Y394D01* -X197Y394D02* -X212Y394D01* -X95Y393D02* -X111Y393D01* -X196Y393D02* -X211Y393D01* -X96Y392D02* -X112Y392D01* -X195Y392D02* -X211Y392D01* -X96Y391D02* -X114Y391D01* -X193Y391D02* -X211Y391D01* -X96Y390D02* -X116Y390D01* -X191Y390D02* -X211Y390D01* -X97Y389D02* -X118Y389D01* -X189Y389D02* -X210Y389D01* -X97Y388D02* -X120Y388D01* -X187Y388D02* -X210Y388D01* -X98Y387D02* -X122Y387D01* -X185Y387D02* -X209Y387D01* -X98Y386D02* -X124Y386D01* -X183Y386D02* -X209Y386D01* -X99Y385D02* -X126Y385D01* -X181Y385D02* -X208Y385D01* -X100Y384D02* -X128Y384D01* -X179Y384D02* -X207Y384D01* -X101Y383D02* -X130Y383D01* -X177Y383D02* -X207Y383D01* -X101Y382D02* -X132Y382D01* -X175Y382D02* -X206Y382D01* -X102Y381D02* -X134Y381D01* -X173Y381D02* -X205Y381D01* -X104Y380D02* -X136Y380D01* -X171Y380D02* -X204Y380D01* -X105Y379D02* -X138Y379D01* -X169Y379D02* -X202Y379D01* -X107Y378D02* -X140Y378D01* -X167Y378D02* -X201Y378D01* -X108Y377D02* -X141Y377D01* -X165Y377D02* -X199Y377D01* -X110Y376D02* -X143Y376D01* -X163Y376D02* -X197Y376D01* -X112Y375D02* -X146Y375D01* -X161Y375D02* -X195Y375D01* -X114Y374D02* -X149Y374D01* -X157Y374D02* -X193Y374D01* -X116Y373D02* -X191Y373D01* -X118Y372D02* -X189Y372D01* -X120Y371D02* -X187Y371D01* -X122Y370D02* -X185Y370D01* -X124Y369D02* -X183Y369D01* -X126Y368D02* -X181Y368D01* -X128Y367D02* -X179Y367D01* -X130Y366D02* -X177Y366D01* -X132Y365D02* -X174Y365D01* -X134Y364D02* -X172Y364D01* -X136Y363D02* -X170Y363D01* -X138Y362D02* -X168Y362D01* -X141Y361D02* -X166Y361D01* -X144Y360D02* -X163Y360D01* -X148Y359D02* -X159Y359D01* -X1569Y358D02* -X1702Y358D01* -X1567Y357D02* -X1703Y357D01* -X1566Y356D02* -X1703Y356D01* -X1565Y355D02* -X1703Y355D01* -X1565Y354D02* -X1703Y354D01* -X1564Y353D02* -X1703Y353D01* -X1564Y352D02* -X1703Y352D01* -X1563Y351D02* -X1703Y351D01* -X1563Y350D02* -X1703Y350D01* -X1563Y349D02* -X1703Y349D01* -X1563Y348D02* -X1703Y348D01* -X1564Y347D02* -X1703Y347D01* -X1564Y346D02* -X1703Y346D01* -X1564Y345D02* -X1703Y345D01* -X1565Y344D02* -X1703Y344D01* -X1566Y343D02* -X1703Y343D01* -X1567Y342D02* -X1703Y342D01* -X1569Y341D02* -X1703Y341D01* -X1678Y340D02* -X1703Y340D01* -X1677Y339D02* -X1703Y339D01* -X1675Y338D02* -X1703Y338D01* -X1674Y337D02* -X1703Y337D01* -X1672Y336D02* -X1703Y336D01* -X1671Y335D02* -X1702Y335D01* -X1670Y334D02* -X1700Y334D01* -X1668Y333D02* -X1699Y333D01* -X1667Y332D02* -X1697Y332D01* -X1665Y331D02* -X1696Y331D01* -X1664Y330D02* -X1694Y330D01* -X1662Y329D02* -X1693Y329D01* -X1661Y328D02* -X1692Y328D01* -X1660Y327D02* -X1690Y327D01* -X1658Y326D02* -X1689Y326D01* -X1657Y325D02* -X1687Y325D01* -X1655Y324D02* -X1686Y324D01* -X1654Y323D02* -X1684Y323D01* -X1645Y322D02* -X1683Y322D01* -X1643Y321D02* -X1682Y321D01* -X1642Y320D02* -X1680Y320D01* -X1641Y319D02* -X1679Y319D01* -X1641Y318D02* -X1677Y318D01* -X1640Y317D02* -X1676Y317D01* -X1640Y316D02* -X1674Y316D01* -X1640Y315D02* -X1673Y315D01* -X1640Y314D02* -X1672Y314D01* -X1640Y313D02* -X1672Y313D01* -X1640Y312D02* -X1673Y312D01* -X1640Y311D02* -X1675Y311D01* -X1640Y310D02* -X1676Y310D01* -X1641Y309D02* -X1678Y309D01* -X1641Y308D02* -X1679Y308D01* -X1642Y307D02* -X1681Y307D01* -X1644Y306D02* -X1682Y306D01* -X1646Y305D02* -X1683Y305D01* -X1654Y304D02* -X1685Y304D01* -X1655Y303D02* -X1686Y303D01* -X1657Y302D02* -X1688Y302D01* -X1658Y301D02* -X1689Y301D01* -X1660Y300D02* -X1691Y300D01* -X1661Y299D02* -X1692Y299D01* -X1663Y298D02* -X1693Y298D01* -X1664Y297D02* -X1695Y297D01* -X1665Y296D02* -X1696Y296D01* -X1667Y295D02* -X1698Y295D01* -X1668Y294D02* -X1699Y294D01* -X1670Y293D02* -X1700Y293D01* -X1671Y292D02* -X1702Y292D01* -X1673Y291D02* -X1703Y291D01* -X1674Y290D02* -X1703Y290D01* -X1675Y289D02* -X1703Y289D01* -X1677Y288D02* -X1703Y288D01* -X1571Y287D02* -X1703Y287D01* -X1568Y286D02* -X1703Y286D01* -X1567Y285D02* -X1703Y285D01* -X1566Y284D02* -X1703Y284D01* -X1565Y283D02* -X1703Y283D01* -X1564Y282D02* -X1703Y282D01* -X1564Y281D02* -X1703Y281D01* -X1563Y280D02* -X1703Y280D01* -X1563Y279D02* -X1703Y279D01* -X1563Y278D02* -X1703Y278D01* -X1563Y277D02* -X1703Y277D01* -X1563Y276D02* -X1703Y276D01* -X1564Y275D02* -X1703Y275D01* -X1564Y274D02* -X1703Y274D01* -X1565Y273D02* -X1703Y273D01* -X1565Y272D02* -X1703Y272D01* -X1567Y271D02* -X1703Y271D01* -X1568Y270D02* -X1703Y270D01* -X1571Y269D02* -X1702Y269D01* -D02* -G04 End of Copper0* -M02* \ No newline at end of file diff --git a/tests/gerber_files/detector_copper_top.gbr b/tests/gerber_files/detector_copper_top.gbr deleted file mode 100644 index 52b2e2ae..00000000 --- a/tests/gerber_files/detector_copper_top.gbr +++ /dev/null @@ -1,71 +0,0 @@ -G04 MADE WITH FRITZING* -G04 WWW.FRITZING.ORG* -G04 DOUBLE SIDED* -G04 HOLES PLATED* -G04 CONTOUR ON CENTER OF CONTOUR VECTOR* -%ASAXBY*% -%FSLAX23Y23*% -%MOIN*% -%OFA0B0*% -%SFA1.0B1.0*% -%ADD10C,0.075000*% -%ADD11C,0.099055*% -%ADD12C,0.078740*% -%ADD13R,0.075000X0.075000*% -%ADD14C,0.024000*% -%ADD15C,0.020000*% -%LNCOPPER1*% -G90* -G70* -G54D10* -X1149Y872D03* -X1349Y872D03* -X749Y722D03* -X749Y522D03* -X1149Y522D03* -X1449Y522D03* -X1149Y422D03* -X1449Y422D03* -X1149Y322D03* -X1449Y322D03* -X1149Y222D03* -X1449Y222D03* -X949Y472D03* -X949Y72D03* -G54D11* -X749Y972D03* -X599Y972D03* -X349Y322D03* -X349Y472D03* -X349Y672D03* -X349Y822D03* -G54D10* -X699Y122D03* -X699Y322D03* -G54D12* -X699Y222D03* -X949Y972D03* -X749Y622D03* -X1049Y222D03* -X1249Y872D03* -G54D13* -X1149Y872D03* -X1149Y522D03* -G54D14* -X952Y946D02* -X1045Y249D01* -G54D15* -X776Y695D02* -X721Y695D01* -X721Y750D01* -X776Y750D01* -X776Y695D01* -D02* -X671Y150D02* -X726Y150D01* -X726Y95D01* -X671Y95D01* -X671Y150D01* -D02* -G04 End of Copper1* -M02* \ No newline at end of file diff --git a/tests/gerber_files/detector_drill.txt b/tests/gerber_files/detector_drill.txt deleted file mode 100644 index c4945b84..00000000 --- a/tests/gerber_files/detector_drill.txt +++ /dev/null @@ -1,46 +0,0 @@ -; NON-PLATED HOLES START AT T1 -; THROUGH (PLATED) HOLES START AT T100 -M48 -INCH -T1C0.125984 -T100C0.031496 -T101C0.035000 -T102C0.059055 -% -T1 -X001488Y010223 -X001488Y001223 -X016488Y001223 -X016488Y010223 -T100 -X009488Y009723 -X007488Y006223 -X012488Y008723 -X010488Y002223 -X006988Y002223 -T101 -X014488Y004223 -X006988Y003223 -X013488Y008723 -X011488Y008723 -X007488Y005223 -X014488Y003223 -X014488Y002223 -X011488Y005223 -X009488Y000723 -X011488Y004223 -X006988Y001223 -X009488Y004723 -X007488Y007223 -X011488Y003223 -X014488Y005223 -X011488Y002223 -T102 -X003488Y008223 -X003488Y004723 -X007488Y009723 -X003488Y006723 -X005988Y009723 -X003488Y003223 -T00 -M30 diff --git a/tests/gerber_files/simple1.gbr b/tests/gerber_files/simple1.gbr deleted file mode 100644 index 2ca21d77..00000000 --- a/tests/gerber_files/simple1.gbr +++ /dev/null @@ -1,54 +0,0 @@ -G04 MADE WITH FRITZING* -G04 WWW.FRITZING.ORG* -G04 DOUBLE SIDED* -G04 HOLES PLATED* -G04 CONTOUR ON CENTER OF CONTOUR VECTOR* -%ASAXBY*% -%FSLAX23Y23*% -%MOIN*% -%OFA0B0*% -%SFA1.0B1.0*% -%ADD10R,0.047244X0.078740*% -%ADD11C,0.024000*% -%LNCOPPER1*% -G90* -G70* -G54D10* -X2940Y1051D03* -X2940Y941D03* -G54D11* -X2438Y839D02* -X2440Y1023D01* -D02* -X2940Y907D02* -X2941Y839D01* -D02* -X2941Y839D02* -X2438Y839D01* -D02* -X2941Y1239D02* -X2940Y1085D01* -D02* -X2438Y1239D02* -X2941Y1239D01* -D02* -X2440Y1126D02* -X2438Y1239D01* -G36* -X2418Y1064D02* -X2461Y1064D01* -X2461Y1017D01* -X2418Y1017D01* -X2418Y1064D01* -G37* -D02* -G36* -X2418Y1131D02* -X2461Y1131D01* -X2461Y1084D01* -X2418Y1084D01* -X2418Y1131D01* -G37* -D02* -G04 End of Copper1* -M02* \ No newline at end of file diff --git a/tests/gerber_parsing_profiling/gerber1.gbr b/tests/gerber_parsing_profiling/gerber1.gbr deleted file mode 100755 index 245ae335..00000000 --- a/tests/gerber_parsing_profiling/gerber1.gbr +++ /dev/null @@ -1,3045 +0,0 @@ -G04 Generated by Ultiboard 12.0 * -%FSLAX25Y25*% -%MOMM*% - -%ADD10C,0.00001*% -%ADD11C,0.25400*% -%ADD12C,0.50800*% -%ADD13C,1.90500*% -%ADD14C,0.12700*% -%ADD15C,2.00000*% -%ADD16R,1.80000X1.15000*% -%ADD17C,1.60884*% -%ADD18R,0.67742X0.67742*% -%ADD19C,0.84658*% -%ADD20R,0.76200X0.76200*% -%ADD21C,0.50800*% -%ADD22R,1.27000X1.27000*% -%ADD23R,2.70000X1.15000*% -%ADD24R,1.15000X1.45000*% -%ADD25R,1.15000X2.70000*% -%ADD26R,0.52908X0.52908*% -%ADD27C,0.99492*% -%ADD28C,1.80000*% -%ADD29R,1.80000X1.80000*% -%ADD30R,2.57000X2.80000*% -%ADD31C,1.98984*% - - -G04 ColorRGB 002000 for the following layer * -%LNCopper Top*% -%LPD*% -G54D10* -G36* -X1590549Y63807D02* -X1590549Y63807D01* -X3936193Y63807D01* -X3936193Y6436193D01* -X63807Y6436193D01* -X63807Y63807D01* -X1254251Y63807D01* -G75* -D01* -G02X1230093Y113800I39649J49993* -G01* -X1230093Y113800D01* -X1230093Y185606D01* -X1354206Y185606D01* -X1354206Y63807D01* -X1490594Y63807D01* -X1490594Y185606D01* -X1614707Y185606D01* -X1614707Y113800D01* -G75* -D01* -G02X1590549Y63807I-63807J0* -G01* -D02* -G37* -%LPC*% -G36* -X2821307Y4787900D02* -X2821307Y4787900D01* -X2821307Y4717860D01* -G75* -D01* -G02X2855900Y4724830I34593J-82359* -G01* -X2855900Y4724830D01* -X2932100Y4724830D01* -G74* -D01* -G02X3021430Y4635500I0J89330* -G01* -X3021430Y4635500D01* -X3021430Y4559300D01* -G75* -D01* -G02X2940855Y4470400I-89330J0* -G01* -G74* -D01* -G02X3021430Y4381500I8755J88900* -G01* -X3021430Y4381500D01* -X3021430Y4379662D01* -X3024710Y4382942D01* -X3024710Y5027758D01* -X2858598Y5193870D01* -X1490507Y5193870D01* -X1490507Y5148200D01* -G75* -D01* -G02X1426700Y5084393I-63807J0* -G01* -X1426700Y5084393D01* -X1311700Y5084393D01* -G75* -D01* -G02X1247893Y5148200I0J63807* -G01* -X1247893Y5148200D01* -X1247893Y5418200D01* -G75* -D01* -G02X1311700Y5482007I63807J0* -G01* -X1311700Y5482007D01* -X1426700Y5482007D01* -G74* -D01* -G02X1490507Y5418200I0J63807* -G01* -X1490507Y5418200D01* -X1490507Y5372530D01* -X2022842Y5372530D01* -G75* -D01* -G02X2244358Y5372530I110758J120269* -G01* -X2244358Y5372530D01* -X2530842Y5372530D01* -G75* -D01* -G02X2752358Y5372530I110758J120269* -G01* -X2752358Y5372530D01* -X2895490Y5372530D01* -G75* -D01* -G02X2928856Y5366109I110J-89330* -G01* -G74* -D01* -G02X2958845Y5346286I33257J82908* -G01* -X2958845Y5346286D01* -X3177126Y5128005D01* -G74* -D01* -G02X3203370Y5064760I63085J63245* -G01* -X3203370Y5064760D01* -X3203370Y4345940D01* -G75* -D01* -G02X3177126Y4282695I-89330J1* -G01* -X3177126Y4282695D01* -X3047745Y4153314D01* -G74* -D01* -G02X3021121Y4134921I63246J63084* -G01* -G74* -D01* -G02X3021430Y4127500I89020J7424* -G01* -X3021430Y4127500D01* -X3021430Y4051300D01* -G75* -D01* -G02X2940855Y3962400I-89330J0* -G01* -G74* -D01* -G02X3021148Y3880588I8755J88900* -G01* -X3021148Y3880588D01* -X2939188Y3880588D01* -X2939188Y3962252D01* -G74* -D01* -G02X2932100Y3961970I7092J89047* -G01* -X2932100Y3961970D01* -X2855900Y3961970D01* -G75* -D01* -G02X2848812Y3962252I4J89330* -G01* -X2848812Y3962252D01* -X2848812Y3880588D01* -X2810004Y3880588D01* -G74* -D01* -G02X2740855Y3835400I77904J43711* -G01* -G74* -D01* -G02X2810004Y3790212I8756J88900* -G01* -X2810004Y3790212D01* -X2848812Y3790212D01* -X2848812Y3708548D01* -G75* -D01* -G02X2855900Y3708830I7092J-89047* -G01* -X2855900Y3708830D01* -X2932100Y3708830D01* -G74* -D01* -G02X2939188Y3708548I4J89330* -G01* -X2939188Y3708548D01* -X2939188Y3790212D01* -X3021148Y3790212D01* -G74* -D01* -G02X2940855Y3708400I89047J7087* -G01* -G74* -D01* -G02X3021430Y3619500I8755J88900* -G01* -X3021430Y3619500D01* -X3021430Y3543300D01* -G75* -D01* -G02X2940855Y3454400I-89330J0* -G01* -G74* -D01* -G02X3021430Y3365500I8755J88900* -G01* -X3021430Y3365500D01* -X3021430Y3289300D01* -G75* -D01* -G02X3001389Y3232918I-89330J0* -G01* -X3001389Y3232918D01* -X3318326Y3232918D01* -G75* -D01* -G02X3364423Y3252607I46097J-44117* -G01* -X3364423Y3252607D01* -X3412122Y3252607D01* -G75* -D01* -G02X3496724Y3252607I42301J-153806* -G01* -X3496724Y3252607D01* -X3544423Y3252607D01* -G74* -D01* -G02X3608231Y3188800I1J63807* -G01* -X3608231Y3188800D01* -X3608231Y3141101D01* -G75* -D01* -G02X3608231Y3056499I-153807J-42301* -G01* -X3608231Y3056499D01* -X3608231Y3008800D01* -G75* -D01* -G02X3544423Y2944993I-63808J1* -G01* -X3544423Y2944993D01* -X3523668Y2944993D01* -G74* -D01* -G02X3429023Y2913882I94645J128407* -G01* -X3429023Y2913882D01* -X3001389Y2913882D01* -G74* -D01* -G02X3021430Y2857500I69289J56382* -G01* -X3021430Y2857500D01* -X3021430Y2781300D01* -G75* -D01* -G02X2940855Y2692400I-89330J0* -G01* -G74* -D01* -G02X3021148Y2610588I8755J88900* -G01* -X3021148Y2610588D01* -X2939188Y2610588D01* -X2939188Y2692252D01* -G74* -D01* -G02X2932100Y2691970I7092J89047* -G01* -X2932100Y2691970D01* -X2855900Y2691970D01* -G75* -D01* -G02X2848812Y2692252I4J89330* -G01* -X2848812Y2692252D01* -X2848812Y2610588D01* -X2810004Y2610588D01* -G74* -D01* -G02X2740855Y2565400I77904J43711* -G01* -G74* -D01* -G02X2810004Y2520212I8756J88900* -G01* -X2810004Y2520212D01* -X2848812Y2520212D01* -X2848812Y2438548D01* -G75* -D01* -G02X2855900Y2438830I7092J-89047* -G01* -X2855900Y2438830D01* -X2932100Y2438830D01* -G74* -D01* -G02X2939188Y2438548I4J89330* -G01* -X2939188Y2438548D01* -X2939188Y2520212D01* -X3021148Y2520212D01* -G74* -D01* -G02X2940855Y2438400I89047J7087* -G01* -G74* -D01* -G02X3021430Y2349500I8755J88900* -G01* -X3021430Y2349500D01* -X3021430Y2273300D01* -G75* -D01* -G02X2940855Y2184400I-89330J0* -G01* -G74* -D01* -G02X3021430Y2095500I8755J88900* -G01* -X3021430Y2095500D01* -X3021430Y2019300D01* -G75* -D01* -G02X2940855Y1930400I-89330J0* -G01* -G74* -D01* -G02X3021430Y1841500I8755J88900* -G01* -X3021430Y1841500D01* -X3021430Y1765300D01* -G75* -D01* -G02X2932100Y1675970I-89330J0* -G01* -X2932100Y1675970D01* -X2855900Y1675970D01* -G75* -D01* -G02X2821430Y1682888I-1J89330* -G01* -X2821430Y1682888D01* -X2821430Y1638300D01* -G75* -D01* -G02X2732100Y1548970I-89330J0* -G01* -X2732100Y1548970D01* -X2655900Y1548970D01* -G75* -D01* -G02X2566570Y1638300I0J89330* -G01* -X2566570Y1638300D01* -X2566570Y1714500D01* -G74* -D01* -G02X2647145Y1803400I89330J0* -G01* -G75* -D01* -G02X2566570Y1892300I8755J88900* -G01* -X2566570Y1892300D01* -X2566570Y1968500D01* -G74* -D01* -G02X2647145Y2057400I89330J0* -G01* -G74* -D01* -G02X2582720Y2095070I8755J88900* -G01* -X2582720Y2095070D01* -X2045877Y2095070D01* -G75* -D01* -G02X1982664Y2121234I-47J89330* -G01* -X1982664Y2121234D01* -X1562434Y2541464D01* -G75* -D01* -G02X1536270Y2604716I63166J63166* -G01* -X1536270Y2604716D01* -X1536270Y2878293D01* -X1490600Y2878293D01* -G75* -D01* -G02X1427407Y2933270I0J63807* -G01* -X1427407Y2933270D01* -X725170Y2933270D01* -G75* -D01* -G02X701417Y2936486I0J89330* -G01* -G74* -D01* -G02X662004Y2959434I23752J86113* -G01* -X662004Y2959434D01* -X597330Y3024108D01* -X597330Y2563005D01* -G74* -D01* -G02X648212Y2472271I55458J90734* -G01* -X648212Y2472271D01* -X648212Y2404529D01* -G75* -D01* -G02X597330Y2313795I-106341J0* -G01* -X597330Y2313795D01* -X597330Y2297269D01* -G75* -D01* -G02X597330Y2071531I-89329J-112869* -G01* -X597330Y2071531D01* -X597330Y2043269D01* -G75* -D01* -G02X597330Y1817531I-89329J-112869* -G01* -X597330Y1817531D01* -X597330Y1789269D01* -G75* -D01* -G02X597330Y1563531I-89329J-112869* -G01* -X597330Y1563531D01* -X597330Y1486330D01* -X1473200Y1486330D01* -G74* -D01* -G02X1536445Y1460086I1J89330* -G01* -X1536445Y1460086D01* -X1815686Y1180845D01* -G74* -D01* -G02X1827393Y1166446I63083J63248* -G01* -X1827393Y1166446D01* -X1827393Y1172700D01* -G75* -D01* -G02X1891200Y1236507I63807J0* -G01* -X1891200Y1236507D01* -X1891870Y1236507D01* -X1891870Y1239969D01* -G75* -D01* -G02X1918034Y1303266I89330J131* -G01* -X1918034Y1303266D01* -X2032334Y1417566D01* -G74* -D01* -G02X2052310Y1432595I63165J63167* -G01* -G75* -D01* -G02X2309229Y1443730I132090J-78194* -G01* -X2309229Y1443730D01* -X2362157Y1443730D01* -G75* -D01* -G02X2370371Y1443356I48J-89330* -G01* -G74* -D01* -G02X2425445Y1417486I8172J88955* -G01* -X2425445Y1417486D01* -X2603086Y1239845D01* -G74* -D01* -G02X2629330Y1176600I63085J63245* -G01* -X2629330Y1176600D01* -X2629330Y644332D01* -G74* -D01* -G02X2702712Y517549I89329J136332* -G01* -X2702712Y517549D01* -X2712261Y508000D01* -X2702712Y498451D01* -G75* -D01* -G02X2413000Y405837I-162711J9547* -G01* -G75* -D01* -G02X2196670Y644332I-126997J102166* -G01* -X2196670Y644332D01* -X2196670Y693893D01* -X2196000Y693893D01* -G75* -D01* -G02X2140699Y725870I0J63807* -G01* -X2140699Y725870D01* -X2126501Y725870D01* -G74* -D01* -G02X2071200Y693893I55301J31830* -G01* -X2071200Y693893D01* -X1891200Y693893D01* -G75* -D01* -G02X1835899Y725870I0J63807* -G01* -X1835899Y725870D01* -X1826450Y725870D01* -G75* -D01* -G02X1763234Y752034I-50J89330* -G01* -X1763234Y752034D01* -X1689434Y825834D01* -G75* -D01* -G02X1663270Y889088I63166J63166* -G01* -X1663270Y889088D01* -X1663270Y1080598D01* -X1625968Y1117900D01* -G74* -D01* -G02X1625969Y1117600I76567J405* -G01* -X1625969Y1117600D01* -X1625969Y736600D01* -G75* -D01* -G02X1567930Y662307I-76569J0* -G01* -G74* -D01* -G02X1550900Y659993I17028J61493* -G01* -X1550900Y659993D01* -X1293900Y659993D01* -G75* -D01* -G02X1276871Y662307I-1J63807* -G01* -G74* -D01* -G02X1266963Y665508I18531J74292* -G01* -X1266963Y665508D01* -X758963Y868708D01* -G75* -D01* -G02X710831Y939939I28436J71092* -G01* -X710831Y939939D01* -X710831Y1117600D01* -G75* -D01* -G02X787400Y1194169I76569J0* -G01* -X787400Y1194169D01* -X1549400Y1194169D01* -G74* -D01* -G02X1549700Y1194168I105J76569* -G01* -X1549700Y1194168D01* -X1436198Y1307670D01* -X508000Y1307670D01* -G75* -D01* -G02X418670Y1397000I0J89330* -G01* -X418670Y1397000D01* -X418670Y1563531D01* -G75* -D01* -G02X418670Y1789269I89329J112869* -G01* -X418670Y1789269D01* -X418670Y1817531D01* -G75* -D01* -G02X418670Y2043269I89329J112869* -G01* -X418670Y2043269D01* -X418670Y2071531D01* -G75* -D01* -G02X418670Y2297269I89329J112869* -G01* -X418670Y2297269D01* -X418670Y2313795D01* -G75* -D01* -G02X367788Y2404529I55458J90734* -G01* -X367788Y2404529D01* -X367788Y2472271D01* -G74* -D01* -G02X418670Y2563005I106341J0* -G01* -X418670Y2563005D01* -X418670Y4408331D01* -G75* -D01* -G02X418670Y4634069I89329J112869* -G01* -X418670Y4634069D01* -X418670Y4650595D01* -G75* -D01* -G02X367788Y4741329I55458J90734* -G01* -X367788Y4741329D01* -X367788Y4809071D01* -G74* -D01* -G02X418670Y4899805I106341J0* -G01* -X418670Y4899805D01* -X418670Y5029034D01* -G75* -D01* -G02X444834Y5092366I89330J166* -G01* -X444834Y5092366D01* -X698834Y5346366D01* -G74* -D01* -G02X749888Y5371705I63166J63166* -G01* -G75* -D01* -G02X762000Y5372530I12112J-88504* -G01* -X762000Y5372530D01* -X947893Y5372530D01* -X947893Y5418200D01* -G75* -D01* -G02X1011700Y5482007I63807J0* -G01* -X1011700Y5482007D01* -X1126700Y5482007D01* -G74* -D01* -G02X1190507Y5418200I0J63807* -G01* -X1190507Y5418200D01* -X1190507Y5148200D01* -G75* -D01* -G02X1126700Y5084393I-63807J0* -G01* -X1126700Y5084393D01* -X1011700Y5084393D01* -G75* -D01* -G02X947893Y5148200I0J63807* -G01* -X947893Y5148200D01* -X947893Y5193870D01* -X799002Y5193870D01* -X597330Y4992198D01* -X597330Y4899805D01* -G74* -D01* -G02X648212Y4809071I55458J90734* -G01* -X648212Y4809071D01* -X648212Y4741329D01* -G75* -D01* -G02X597330Y4650595I-106341J0* -G01* -X597330Y4650595D01* -X597330Y4634069D01* -G75* -D01* -G02X597330Y4408331I-89329J-112869* -G01* -X597330Y4408331D01* -X597330Y4379992D01* -X646904Y4429566D01* -G74* -D01* -G02X677608Y4449623I63166J63166* -G01* -G75* -D01* -G02X710070Y4455730I32462J-83223* -G01* -X710070Y4455730D01* -X1141809Y4455730D01* -G75* -D01* -G02X1202249Y4648200I128190J65470* -G01* -G75* -D01* -G02X1382869Y4864530I67754J126998* -G01* -X1382869Y4864530D01* -X2640232Y4864530D01* -G75* -D01* -G02X2669697Y4859565I98J-89330* -G01* -G74* -D01* -G02X2686444Y4851707I29368J84364* -G01* -X2686444Y4851707D01* -X2757500Y4851707D01* -G74* -D01* -G02X2821307Y4787900I0J63807* -G01* -D02* -G37* -G36* -X1202249Y2311400D02* -G75* -D01* -G02X1337751Y2311400I67751J126999* -G01* -G75* -D01* -G02X1337751Y2057400I-67750J-127000* -G01* -G75* -D01* -G02X1337751Y1803400I-67750J-127000* -G01* -G75* -D01* -G02X1202249Y1803400I-67751J-126999* -G01* -G75* -D01* -G02X1202249Y2057400I67750J127000* -G01* -G75* -D01* -G02X1202249Y2311400I67750J127000* -G01* -D02* -G37* -G36* -X2986100Y5492800D02* -G75* -D01* -G02X2986100Y5492800I163500J0* -G01* -D02* -G37* -G36* -X3494100Y5492800D02* -G75* -D01* -G02X3494100Y5492800I163500J0* -G01* -D02* -G37* -G36* -X2864000Y2565400D02* -G75* -D01* -G02X2864000Y2565400I30000J0* -G01* -D02* -G37* -G36* -X2864000Y3835400D02* -G75* -D01* -G02X2864000Y3835400I30000J0* -G01* -D02* -G37* -G36* -X2860893Y359367D02* -G75* -D01* -G02X2727107Y359367I-66893J148633* -G01* -X2727107Y359367D01* -X2794000Y426261D01* -X2860893Y359367D01* -D02* -G37* -G36* -X3300593Y351300D02* -X3300593Y351300D01* -X3300593Y365783D01* -X3411383Y365783D01* -X3411383Y287493D01* -X3364400Y287493D01* -G75* -D01* -G02X3300593Y351300I0J63807* -G01* -D02* -G37* -G36* -X3608207Y351300D02* -G75* -D01* -G02X3544400Y287493I-63807J0* -G01* -X3544400Y287493D01* -X3497417Y287493D01* -X3497417Y365783D01* -X3608207Y365783D01* -X3608207Y351300D01* -D02* -G37* -G36* -X2727107Y656633D02* -G75* -D01* -G02X2860893Y656633I66893J-148633* -G01* -X2860893Y656633D01* -X2794000Y589739D01* -X2727107Y656633D01* -D02* -G37* -G36* -X2734729Y508000D02* -G75* -D01* -G02X2734729Y508000I59271J0* -G01* -D02* -G37* -G36* -X2942633Y574893D02* -G75* -D01* -G02X2942633Y441107I-148633J-66893* -G01* -X2942633Y441107D01* -X2875739Y508000D01* -X2942633Y574893D01* -D02* -G37* -G36* -X3364400Y530107D02* -X3364400Y530107D01* -X3411383Y530107D01* -X3411383Y451817D01* -X3300593Y451817D01* -X3300593Y466300D01* -G75* -D01* -G02X3364400Y530107I63807J0* -G01* -D02* -G37* -G36* -X3543730Y873971D02* -X3543730Y873971D01* -X3543730Y830107D01* -X3544400Y830107D01* -G74* -D01* -G02X3608207Y766300I0J63807* -G01* -X3608207Y766300D01* -X3608207Y651300D01* -G75* -D01* -G02X3544400Y587493I-63807J0* -G01* -X3544400Y587493D01* -X3364400Y587493D01* -G75* -D01* -G02X3300593Y651300I0J63807* -G01* -X3300593Y651300D01* -X3300593Y766300D01* -G75* -D01* -G02X3364400Y830107I63807J0* -G01* -X3364400Y830107D01* -X3365070Y830107D01* -X3365070Y873971D01* -G75* -D01* -G02X3543730Y873971I89330J124828* -G01* -D02* -G37* -G36* -X3608207Y466300D02* -X3608207Y466300D01* -X3608207Y451817D01* -X3497417Y451817D01* -X3497417Y530107D01* -X3544400Y530107D01* -G74* -D01* -G02X3608207Y466300I0J63807* -G01* -D02* -G37* -G36* -X1230093Y393800D02* -G75* -D01* -G02X1293900Y457607I63807J0* -G01* -X1293900Y457607D01* -X1354206Y457607D01* -X1354206Y321994D01* -X1230093Y321994D01* -X1230093Y393800D01* -D02* -G37* -G36* -X1614707Y393800D02* -X1614707Y393800D01* -X1614707Y321994D01* -X1490594Y321994D01* -X1490594Y457607D01* -X1550900Y457607D01* -G74* -D01* -G02X1614707Y393800I0J63807* -G01* -D02* -G37* -G36* -X242900Y1009600D02* -G75* -D01* -G02X242900Y1009600I163500J0* -G01* -D02* -G37* -%LPD*% -G36* -X1760600Y2878293D02* -X1760600Y2878293D01* -X1714930Y2878293D01* -X1714930Y2641632D01* -X2020369Y2336193D01* -X2082832Y2273730D01* -X2582720Y2273730D01* -G74* -D01* -G02X2647145Y2311400I73180J51229* -G01* -G75* -D01* -G02X2566570Y2400300I8755J88900* -G01* -X2566570Y2400300D01* -X2566570Y2476500D01* -G74* -D01* -G02X2647145Y2565400I89330J0* -G01* -G75* -D01* -G02X2566570Y2654300I8755J88900* -G01* -X2566570Y2654300D01* -X2566570Y2730500D01* -G74* -D01* -G02X2647145Y2819400I89330J0* -G01* -G75* -D01* -G02X2566570Y2908300I8755J88900* -G01* -X2566570Y2908300D01* -X2566570Y2984500D01* -G74* -D01* -G02X2647145Y3073400I89330J0* -G01* -G75* -D01* -G02X2566570Y3162300I8755J88900* -G01* -X2566570Y3162300D01* -X2566570Y3238500D01* -G74* -D01* -G02X2586611Y3294882I89330J0* -G01* -X2586611Y3294882D01* -X2184423Y3294882D01* -G75* -D01* -G02X2142122Y3300593I0J159518* -G01* -X2142122Y3300593D01* -X2094423Y3300593D01* -G75* -D01* -G02X2030616Y3364400I0J63807* -G01* -X2030616Y3364400D01* -X2030616Y3412099D01* -G75* -D01* -G02X2030616Y3496701I153806J42301* -G01* -X2030616Y3496701D01* -X2030616Y3544400D01* -G75* -D01* -G02X2094423Y3608207I63807J0* -G01* -X2094423Y3608207D01* -X2142122Y3608207D01* -G75* -D01* -G02X2184423Y3613918I42301J-153806* -G01* -X2184423Y3613918D01* -X2586611Y3613918D01* -G75* -D01* -G02X2566570Y3670300I69289J56382* -G01* -X2566570Y3670300D01* -X2566570Y3746500D01* -G74* -D01* -G02X2647145Y3835400I89330J0* -G01* -G74* -D01* -G02X2582720Y3873070I8755J88900* -G01* -X2582720Y3873070D01* -X2495048Y3873070D01* -G74* -D01* -G02X2433500Y3826093I61547J16830* -G01* -X2433500Y3826093D01* -X2318500Y3826093D01* -G75* -D01* -G02X2286000Y3834990I0J63807* -G01* -G74* -D01* -G02X2253500Y3826093I32500J54910* -G01* -X2253500Y3826093D01* -X2138500Y3826093D01* -G75* -D01* -G02X2093648Y3844516I-1J63807* -G01* -X2093648Y3844516D01* -X1714930Y3465798D01* -X1714930Y3420907D01* -X1760600Y3420907D01* -G74* -D01* -G02X1824407Y3357100I0J63807* -G01* -X1824407Y3357100D01* -X1824407Y3242100D01* -G75* -D01* -G02X1760600Y3178293I-63807J0* -G01* -X1760600Y3178293D01* -X1490600Y3178293D01* -G75* -D01* -G02X1433985Y3212670I0J63807* -G01* -X1433985Y3212670D01* -X1252630Y3212670D01* -G75* -D01* -G02X1201009Y3212670I-25810J85519* -G01* -X1201009Y3212670D01* -X925669Y3212670D01* -G75* -D01* -G02X702740Y3209231I-112869J89329* -G01* -X702740Y3209231D01* -X702740Y3171362D01* -X762172Y3111930D01* -X1457965Y3111930D01* -G75* -D01* -G02X1490600Y3120907I32634J-54830* -G01* -X1490600Y3120907D01* -X1760600Y3120907D01* -G74* -D01* -G02X1824407Y3057100I0J63807* -G01* -X1824407Y3057100D01* -X1824407Y2942100D01* -G75* -D01* -G02X1760600Y2878293I-63807J0* -G01* -D02* -G37* -G36* -X699445Y3644713D02* -G74* -D01* -G03X646764Y3619166I10485J88713* -G01* -X646764Y3619166D01* -X597330Y3569732D01* -X597330Y4127328D01* -X747072Y4277070D01* -X1435299Y4277070D01* -G75* -D01* -G03X1490600Y4245093I55301J31830* -G01* -X1490600Y4245093D01* -X1760600Y4245093D01* -G75* -D01* -G03X1824407Y4308900I0J63807* -G01* -X1824407Y4308900D01* -X1824407Y4423900D01* -G74* -D01* -G03X1760600Y4487707I63807J0* -G01* -X1760600Y4487707D01* -X1490600Y4487707D01* -G75* -D01* -G03X1435299Y4455730I0J-63807* -G01* -X1435299Y4455730D01* -X1398191Y4455730D01* -G74* -D01* -G03X1413342Y4508070I128190J65470* -G01* -X1413342Y4508070D01* -X2056368Y4508070D01* -X1736005Y4187707D01* -X1490600Y4187707D01* -G75* -D01* -G03X1433985Y4153330I0J-63807* -G01* -X1433985Y4153330D01* -X934099Y4153330D01* -G74* -D01* -G03X839254Y4204248I94845J62875* -G01* -X839254Y4204248D01* -X786346Y4204248D01* -G75* -D01* -G03X672552Y4090454I0J-113794* -G01* -X672552Y4090454D01* -X672552Y4037546D01* -G75* -D01* -G03X739463Y3933859I113794J0* -G01* -G75* -D01* -G03X745049Y3683000I73337J-123859* -G01* -G74* -D01* -G03X699445Y3644713I67749J127000* -G01* -D02* -G37* -G36* -X2376000Y993893D02* -X2376000Y993893D01* -X2196000Y993893D01* -G75* -D01* -G02X2140699Y1025870I0J63807* -G01* -X2140699Y1025870D01* -X2126501Y1025870D01* -G74* -D01* -G02X2071200Y993893I55301J31830* -G01* -X2071200Y993893D01* -X1891200Y993893D01* -G75* -D01* -G02X1841930Y1017156I0J63807* -G01* -X1841930Y1017156D01* -X1841930Y926002D01* -X1848142Y919789D01* -G75* -D01* -G02X1891200Y936507I43058J-47089* -G01* -X1891200Y936507D01* -X2071200Y936507D01* -G74* -D01* -G02X2126501Y904530I0J63807* -G01* -X2126501Y904530D01* -X2140699Y904530D01* -G75* -D01* -G02X2196000Y936507I55301J-31830* -G01* -X2196000Y936507D01* -X2376000Y936507D01* -G74* -D01* -G02X2439807Y872700I0J63807* -G01* -X2439807Y872700D01* -X2439807Y757700D01* -G75* -D01* -G02X2376000Y693893I-63807J0* -G01* -X2376000Y693893D01* -X2375330Y693893D01* -X2375330Y644332D01* -G74* -D01* -G02X2413000Y610163I89329J136332* -G01* -G74* -D01* -G02X2450670Y644332I126999J102163* -G01* -X2450670Y644332D01* -X2450670Y1139598D01* -X2439807Y1150461D01* -X2439807Y1057700D01* -G75* -D01* -G02X2376000Y993893I-63807J0* -G01* -D02* -G37* -G36* -X787400Y1117600D02* -X787400Y1117600D01* -X1549400Y1117600D01* -X1549400Y736600D01* -X1295400Y736600D01* -X787400Y939800D01* -X787400Y1117600D01* -D02* -G37* -G36* -X925669Y3391330D02* -G74* -D01* -G03X880551Y3429000I112868J89330* -G01* -G75* -D01* -G03X880551Y3683000I-67750J127000* -G01* -G74* -D01* -G03X925669Y3720670I67750J127000* -G01* -X925669Y3720670D01* -X1129185Y3720670D01* -G75* -D01* -G03X1185800Y3686293I56615J29430* -G01* -X1185800Y3686293D01* -X1455800Y3686293D01* -G74* -D01* -G03X1512415Y3720670I0J63807* -G01* -X1512415Y3720670D01* -X1715696Y3720670D01* -G75* -D01* -G03X1717149Y3720681I50J89330* -G01* -X1717149Y3720681D01* -X1562434Y3565966D01* -G75* -D01* -G03X1536270Y3502656I63166J-63166* -G01* -X1536270Y3502656D01* -X1536270Y3420907D01* -X1512537Y3420907D01* -G75* -D01* -G03X1519607Y3450100I-56736J29193* -G01* -X1519607Y3450100D01* -X1519607Y3565100D01* -G74* -D01* -G03X1455800Y3628907I63807J0* -G01* -X1455800Y3628907D01* -X1185800Y3628907D01* -G75* -D01* -G03X1121993Y3565100I0J-63807* -G01* -X1121993Y3565100D01* -X1121993Y3450100D01* -G75* -D01* -G03X1160951Y3391330I63807J0* -G01* -X1160951Y3391330D01* -X925669Y3391330D01* -D02* -G37* -G36* -X2566570Y4178300D02* -X2566570Y4178300D01* -X2566570Y4254070D01* -X2286172Y4254070D01* -X2130277Y4098175D01* -G75* -D01* -G02X2138500Y4098707I8222J-63275* -G01* -X2138500Y4098707D01* -X2253500Y4098707D01* -G74* -D01* -G02X2286000Y4089810I0J63807* -G01* -G75* -D01* -G02X2318500Y4098707I32500J-54910* -G01* -X2318500Y4098707D01* -X2433500Y4098707D01* -G74* -D01* -G02X2495048Y4051730I1J63807* -G01* -X2495048Y4051730D01* -X2582720Y4051730D01* -G74* -D01* -G02X2647145Y4089400I73180J51229* -G01* -G75* -D01* -G02X2566570Y4178300I8755J88900* -G01* -D02* -G37* -G36* -X925669Y3899330D02* -G74* -D01* -G03X886137Y3933859I112869J89329* -G01* -G74* -D01* -G03X934099Y3974670I46883J103686* -G01* -X934099Y3974670D01* -X1436752Y3974670D01* -G75* -D01* -G03X1490600Y3945093I53848J34229* -G01* -X1490600Y3945093D01* -X1724531Y3945093D01* -X1678768Y3899330D01* -X1509648Y3899330D01* -G74* -D01* -G03X1455800Y3928907I53848J34229* -G01* -X1455800Y3928907D01* -X1185800Y3928907D01* -G75* -D01* -G03X1131952Y3899330I0J-63807* -G01* -X1131952Y3899330D01* -X925669Y3899330D01* -D02* -G37* -G36* -X2309229Y1265070D02* -X2309229Y1265070D01* -X2325198Y1265070D01* -X2353761Y1236507D01* -X2282703Y1236507D01* -G74* -D01* -G03X2309229Y1265070I98303J117891* -G01* -D02* -G37* -G54D11* -X787400Y1117600D02* -X1549400Y1117600D01* -X1549400Y736600D01* -X1295400Y736600D01* -X787400Y939800D01* -X787400Y1117600D01* -X2821307Y4787900D02* -X2821307Y4717860D01* -G75* -D01* -G02X2855900Y4724830I34593J-82359* -G01* -X2932100Y4724830D01* -G74* -D01* -G02X3021430Y4635500I0J89330* -G01* -X3021430Y4559300D01* -G75* -D01* -G02X2940855Y4470400I-89330J0* -G01* -G74* -D01* -G02X3021430Y4381500I8755J88900* -G01* -X3021430Y4379662D01* -X3024710Y4382942D01* -X3024710Y5027758D01* -X2858598Y5193870D01* -X1490507Y5193870D01* -X1490507Y5148200D01* -G75* -D01* -G02X1426700Y5084393I-63807J0* -G01* -X1311700Y5084393D01* -G75* -D01* -G02X1247893Y5148200I0J63807* -G01* -X1247893Y5418200D01* -G75* -D01* -G02X1311700Y5482007I63807J0* -G01* -X1426700Y5482007D01* -G74* -D01* -G02X1490507Y5418200I0J63807* -G01* -X1490507Y5372530D01* -X2022842Y5372530D01* -G75* -D01* -G02X2244358Y5372530I110758J120269* -G01* -X2530842Y5372530D01* -G75* -D01* -G02X2752358Y5372530I110758J120269* -G01* -X2895490Y5372530D01* -G75* -D01* -G02X2928856Y5366109I110J-89330* -G01* -G74* -D01* -G02X2958845Y5346286I33257J82908* -G01* -X3177126Y5128005D01* -G74* -D01* -G02X3203370Y5064760I63085J63245* -G01* -X3203370Y4345940D01* -G75* -D01* -G02X3177126Y4282695I-89330J1* -G01* -X3047745Y4153314D01* -G74* -D01* -G02X3021121Y4134921I63246J63084* -G01* -G74* -D01* -G02X3021430Y4127500I89020J7424* -G01* -X3021430Y4051300D01* -G75* -D01* -G02X2940855Y3962400I-89330J0* -G01* -G74* -D01* -G02X3021148Y3880588I8755J88900* -G01* -X2939188Y3880588D01* -X2939188Y3962252D01* -G74* -D01* -G02X2932100Y3961970I7092J89047* -G01* -X2855900Y3961970D01* -G75* -D01* -G02X2848812Y3962252I4J89330* -G01* -X2848812Y3880588D01* -X2810004Y3880588D01* -G74* -D01* -G02X2740855Y3835400I77904J43711* -G01* -G74* -D01* -G02X2810004Y3790212I8756J88900* -G01* -X2848812Y3790212D01* -X2848812Y3708548D01* -G75* -D01* -G02X2855900Y3708830I7092J-89047* -G01* -X2932100Y3708830D01* -G74* -D01* -G02X2939188Y3708548I4J89330* -G01* -X2939188Y3790212D01* -X3021148Y3790212D01* -G74* -D01* -G02X2940855Y3708400I89047J7087* -G01* -G74* -D01* -G02X3021430Y3619500I8755J88900* -G01* -X3021430Y3543300D01* -G75* -D01* -G02X2940855Y3454400I-89330J0* -G01* -G74* -D01* -G02X3021430Y3365500I8755J88900* -G01* -X3021430Y3289300D01* -G75* -D01* -G02X3001389Y3232918I-89330J0* -G01* -X3318326Y3232918D01* -G75* -D01* -G02X3364423Y3252607I46097J-44117* -G01* -X3412122Y3252607D01* -G75* -D01* -G02X3496724Y3252607I42301J-153806* -G01* -X3544423Y3252607D01* -G74* -D01* -G02X3608231Y3188800I1J63807* -G01* -X3608231Y3141101D01* -G75* -D01* -G02X3608231Y3056499I-153807J-42301* -G01* -X3608231Y3008800D01* -G75* -D01* -G02X3544423Y2944993I-63808J1* -G01* -X3523668Y2944993D01* -G74* -D01* -G02X3429023Y2913882I94645J128407* -G01* -X3001389Y2913882D01* -G74* -D01* -G02X3021430Y2857500I69289J56382* -G01* -X3021430Y2781300D01* -G75* -D01* -G02X2940855Y2692400I-89330J0* -G01* -G74* -D01* -G02X3021148Y2610588I8755J88900* -G01* -X2939188Y2610588D01* -X2939188Y2692252D01* -G74* -D01* -G02X2932100Y2691970I7092J89047* -G01* -X2855900Y2691970D01* -G75* -D01* -G02X2848812Y2692252I4J89330* -G01* -X2848812Y2610588D01* -X2810004Y2610588D01* -G74* -D01* -G02X2740855Y2565400I77904J43711* -G01* -G74* -D01* -G02X2810004Y2520212I8756J88900* -G01* -X2848812Y2520212D01* -X2848812Y2438548D01* -G75* -D01* -G02X2855900Y2438830I7092J-89047* -G01* -X2932100Y2438830D01* -G74* -D01* -G02X2939188Y2438548I4J89330* -G01* -X2939188Y2520212D01* -X3021148Y2520212D01* -G74* -D01* -G02X2940855Y2438400I89047J7087* -G01* -G74* -D01* -G02X3021430Y2349500I8755J88900* -G01* -X3021430Y2273300D01* -G75* -D01* -G02X2940855Y2184400I-89330J0* -G01* -G74* -D01* -G02X3021430Y2095500I8755J88900* -G01* -X3021430Y2019300D01* -G75* -D01* -G02X2940855Y1930400I-89330J0* -G01* -G74* -D01* -G02X3021430Y1841500I8755J88900* -G01* -X3021430Y1765300D01* -G75* -D01* -G02X2932100Y1675970I-89330J0* -G01* -X2855900Y1675970D01* -G75* -D01* -G02X2821430Y1682888I-1J89330* -G01* -X2821430Y1638300D01* -G75* -D01* -G02X2732100Y1548970I-89330J0* -G01* -X2655900Y1548970D01* -G75* -D01* -G02X2566570Y1638300I0J89330* -G01* -X2566570Y1714500D01* -G74* -D01* -G02X2647145Y1803400I89330J0* -G01* -G75* -D01* -G02X2566570Y1892300I8755J88900* -G01* -X2566570Y1968500D01* -G74* -D01* -G02X2647145Y2057400I89330J0* -G01* -G74* -D01* -G02X2582720Y2095070I8755J88900* -G01* -X2045877Y2095070D01* -G75* -D01* -G02X1982664Y2121234I-47J89330* -G01* -X1562434Y2541464D01* -G75* -D01* -G02X1536270Y2604716I63166J63166* -G01* -X1536270Y2878293D01* -X1490600Y2878293D01* -G75* -D01* -G02X1427407Y2933270I0J63807* -G01* -X725170Y2933270D01* -G75* -D01* -G02X701417Y2936486I0J89330* -G01* -G74* -D01* -G02X662004Y2959434I23752J86113* -G01* -X597330Y3024108D01* -X597330Y2563005D01* -G74* -D01* -G02X648212Y2472271I55458J90734* -G01* -X648212Y2404529D01* -G75* -D01* -G02X597330Y2313795I-106341J0* -G01* -X597330Y2297269D01* -G75* -D01* -G02X597330Y2071531I-89329J-112869* -G01* -X597330Y2043269D01* -G75* -D01* -G02X597330Y1817531I-89329J-112869* -G01* -X597330Y1789269D01* -G75* -D01* -G02X597330Y1563531I-89329J-112869* -G01* -X597330Y1486330D01* -X1473200Y1486330D01* -G74* -D01* -G02X1536445Y1460086I1J89330* -G01* -X1815686Y1180845D01* -G74* -D01* -G02X1827393Y1166446I63083J63248* -G01* -X1827393Y1172700D01* -G75* -D01* -G02X1891200Y1236507I63807J0* -G01* -X1891870Y1236507D01* -X1891870Y1239969D01* -G75* -D01* -G02X1918034Y1303266I89330J131* -G01* -X2032334Y1417566D01* -G74* -D01* -G02X2052310Y1432595I63165J63167* -G01* -G75* -D01* -G02X2309229Y1443730I132090J-78194* -G01* -X2362157Y1443730D01* -G75* -D01* -G02X2370371Y1443356I48J-89330* -G01* -G74* -D01* -G02X2425445Y1417486I8172J88955* -G01* -X2603086Y1239845D01* -G74* -D01* -G02X2629330Y1176600I63085J63245* -G01* -X2629330Y644332D01* -G74* -D01* -G02X2702712Y517549I89329J136332* -G01* -X2712261Y508000D01* -X2702712Y498451D01* -G75* -D01* -G02X2413000Y405837I-162711J9547* -G01* -G75* -D01* -G02X2196670Y644332I-126997J102166* -G01* -X2196670Y693893D01* -X2196000Y693893D01* -G75* -D01* -G02X2140699Y725870I0J63807* -G01* -X2126501Y725870D01* -G74* -D01* -G02X2071200Y693893I55301J31830* -G01* -X1891200Y693893D01* -G75* -D01* -G02X1835899Y725870I0J63807* -G01* -X1826450Y725870D01* -G75* -D01* -G02X1763234Y752034I-50J89330* -G01* -X1689434Y825834D01* -G75* -D01* -G02X1663270Y889088I63166J63166* -G01* -X1663270Y1080598D01* -X1625968Y1117900D01* -G74* -D01* -G02X1625969Y1117600I76567J405* -G01* -X1625969Y736600D01* -G75* -D01* -G02X1567930Y662307I-76569J0* -G01* -G74* -D01* -G02X1550900Y659993I17028J61493* -G01* -X1293900Y659993D01* -G75* -D01* -G02X1276871Y662307I-1J63807* -G01* -G74* -D01* -G02X1266963Y665508I18531J74292* -G01* -X758963Y868708D01* -G75* -D01* -G02X710831Y939939I28436J71092* -G01* -X710831Y1117600D01* -G75* -D01* -G02X787400Y1194169I76569J0* -G01* -X1549400Y1194169D01* -G74* -D01* -G02X1549700Y1194168I105J76569* -G01* -X1436198Y1307670D01* -X508000Y1307670D01* -G75* -D01* -G02X418670Y1397000I0J89330* -G01* -X418670Y1563531D01* -G75* -D01* -G02X418670Y1789269I89329J112869* -G01* -X418670Y1817531D01* -G75* -D01* -G02X418670Y2043269I89329J112869* -G01* -X418670Y2071531D01* -G75* -D01* -G02X418670Y2297269I89329J112869* -G01* -X418670Y2313795D01* -G75* -D01* -G02X367788Y2404529I55458J90734* -G01* -X367788Y2472271D01* -G74* -D01* -G02X418670Y2563005I106341J0* -G01* -X418670Y4408331D01* -G75* -D01* -G02X418670Y4634069I89329J112869* -G01* -X418670Y4650595D01* -G75* -D01* -G02X367788Y4741329I55458J90734* -G01* -X367788Y4809071D01* -G74* -D01* -G02X418670Y4899805I106341J0* -G01* -X418670Y5029034D01* -G75* -D01* -G02X444834Y5092366I89330J166* -G01* -X698834Y5346366D01* -G74* -D01* -G02X749888Y5371705I63166J63166* -G01* -G75* -D01* -G02X762000Y5372530I12112J-88504* -G01* -X947893Y5372530D01* -X947893Y5418200D01* -G75* -D01* -G02X1011700Y5482007I63807J0* -G01* -X1126700Y5482007D01* -G74* -D01* -G02X1190507Y5418200I0J63807* -G01* -X1190507Y5148200D01* -G75* -D01* -G02X1126700Y5084393I-63807J0* -G01* -X1011700Y5084393D01* -G75* -D01* -G02X947893Y5148200I0J63807* -G01* -X947893Y5193870D01* -X799002Y5193870D01* -X597330Y4992198D01* -X597330Y4899805D01* -G74* -D01* -G02X648212Y4809071I55458J90734* -G01* -X648212Y4741329D01* -G75* -D01* -G02X597330Y4650595I-106341J0* -G01* -X597330Y4634069D01* -G75* -D01* -G02X597330Y4408331I-89329J-112869* -G01* -X597330Y4379992D01* -X646904Y4429566D01* -G74* -D01* -G02X677608Y4449623I63166J63166* -G01* -G75* -D01* -G02X710070Y4455730I32462J-83223* -G01* -X1141809Y4455730D01* -G75* -D01* -G02X1202249Y4648200I128190J65470* -G01* -G75* -D01* -G02X1382869Y4864530I67754J126998* -G01* -X2640232Y4864530D01* -G75* -D01* -G02X2669697Y4859565I98J-89330* -G01* -G74* -D01* -G02X2686444Y4851707I29368J84364* -G01* -X2757500Y4851707D01* -G74* -D01* -G02X2821307Y4787900I0J63807* -G01* -X1202249Y2311400D02* -G75* -D01* -G02X1337751Y2311400I67751J126999* -G01* -G75* -D01* -G02X1337751Y2057400I-67750J-127000* -G01* -G75* -D01* -G02X1337751Y1803400I-67750J-127000* -G01* -G75* -D01* -G02X1202249Y1803400I-67751J-126999* -G01* -G75* -D01* -G02X1202249Y2057400I67750J127000* -G01* -G75* -D01* -G02X1202249Y2311400I67750J127000* -G01* -X2986100Y5492800D02* -G75* -D01* -G02X2986100Y5492800I163500J0* -G01* -X3494100Y5492800D02* -G75* -D01* -G02X3494100Y5492800I163500J0* -G01* -X2864000Y2565400D02* -G75* -D01* -G02X2864000Y2565400I30000J0* -G01* -X2864000Y3835400D02* -G75* -D01* -G02X2864000Y3835400I30000J0* -G01* -X2860893Y359367D02* -G75* -D01* -G02X2727107Y359367I-66893J148633* -G01* -X2794000Y426261D01* -X2860893Y359367D01* -X3300593Y351300D02* -X3300593Y365783D01* -X3411383Y365783D01* -X3411383Y287493D01* -X3364400Y287493D01* -G75* -D01* -G02X3300593Y351300I0J63807* -G01* -X3608207Y351300D02* -G75* -D01* -G02X3544400Y287493I-63807J0* -G01* -X3497417Y287493D01* -X3497417Y365783D01* -X3608207Y365783D01* -X3608207Y351300D01* -X2727107Y656633D02* -G75* -D01* -G02X2860893Y656633I66893J-148633* -G01* -X2794000Y589739D01* -X2727107Y656633D01* -X2734729Y508000D02* -G75* -D01* -G02X2734729Y508000I59271J0* -G01* -X2942633Y574893D02* -G75* -D01* -G02X2942633Y441107I-148633J-66893* -G01* -X2875739Y508000D01* -X2942633Y574893D01* -X3364400Y530107D02* -X3411383Y530107D01* -X3411383Y451817D01* -X3300593Y451817D01* -X3300593Y466300D01* -G75* -D01* -G02X3364400Y530107I63807J0* -G01* -X3543730Y873971D02* -X3543730Y830107D01* -X3544400Y830107D01* -G74* -D01* -G02X3608207Y766300I0J63807* -G01* -X3608207Y651300D01* -G75* -D01* -G02X3544400Y587493I-63807J0* -G01* -X3364400Y587493D01* -G75* -D01* -G02X3300593Y651300I0J63807* -G01* -X3300593Y766300D01* -G75* -D01* -G02X3364400Y830107I63807J0* -G01* -X3365070Y830107D01* -X3365070Y873971D01* -G75* -D01* -G02X3543730Y873971I89330J124828* -G01* -X3608207Y466300D02* -X3608207Y451817D01* -X3497417Y451817D01* -X3497417Y530107D01* -X3544400Y530107D01* -G74* -D01* -G02X3608207Y466300I0J63807* -G01* -X1230093Y393800D02* -G75* -D01* -G02X1293900Y457607I63807J0* -G01* -X1354206Y457607D01* -X1354206Y321994D01* -X1230093Y321994D01* -X1230093Y393800D01* -X1614707Y393800D02* -X1614707Y321994D01* -X1490594Y321994D01* -X1490594Y457607D01* -X1550900Y457607D01* -G74* -D01* -G02X1614707Y393800I0J63807* -G01* -X242900Y1009600D02* -G75* -D01* -G02X242900Y1009600I163500J0* -G01* -X1590549Y63807D02* -X3936193Y63807D01* -X3936193Y6436193D01* -X63807Y6436193D01* -X63807Y63807D01* -X1254251Y63807D01* -G75* -D01* -G02X1230093Y113800I39649J49993* -G01* -X1230093Y185606D01* -X1354206Y185606D01* -X1354206Y63807D01* -X1490594Y63807D01* -X1490594Y185606D01* -X1614707Y185606D01* -X1614707Y113800D01* -G75* -D01* -G02X1590549Y63807I-63807J0* -G01* -X2376000Y993893D02* -X2196000Y993893D01* -G75* -D01* -G02X2140699Y1025870I0J63807* -G01* -X2126501Y1025870D01* -G74* -D01* -G02X2071200Y993893I55301J31830* -G01* -X1891200Y993893D01* -G75* -D01* -G02X1841930Y1017156I0J63807* -G01* -X1841930Y926002D01* -X1848142Y919789D01* -G75* -D01* -G02X1891200Y936507I43058J-47089* -G01* -X2071200Y936507D01* -G74* -D01* -G02X2126501Y904530I0J63807* -G01* -X2140699Y904530D01* -G75* -D01* -G02X2196000Y936507I55301J-31830* -G01* -X2376000Y936507D01* -G74* -D01* -G02X2439807Y872700I0J63807* -G01* -X2439807Y757700D01* -G75* -D01* -G02X2376000Y693893I-63807J0* -G01* -X2375330Y693893D01* -X2375330Y644332D01* -G74* -D01* -G02X2413000Y610163I89329J136332* -G01* -G74* -D01* -G02X2450670Y644332I126999J102163* -G01* -X2450670Y1139598D01* -X2439807Y1150461D01* -X2439807Y1057700D01* -G75* -D01* -G02X2376000Y993893I-63807J0* -G01* -X2309229Y1265070D02* -X2325198Y1265070D01* -X2353761Y1236507D01* -X2282703Y1236507D01* -G74* -D01* -G03X2309229Y1265070I98303J117891* -G01* -X1760600Y2878293D02* -X1714930Y2878293D01* -X1714930Y2641632D01* -X2020369Y2336193D01* -X2082832Y2273730D01* -X2582720Y2273730D01* -G74* -D01* -G02X2647145Y2311400I73180J51229* -G01* -G75* -D01* -G02X2566570Y2400300I8755J88900* -G01* -X2566570Y2476500D01* -G74* -D01* -G02X2647145Y2565400I89330J0* -G01* -G75* -D01* -G02X2566570Y2654300I8755J88900* -G01* -X2566570Y2730500D01* -G74* -D01* -G02X2647145Y2819400I89330J0* -G01* -G75* -D01* -G02X2566570Y2908300I8755J88900* -G01* -X2566570Y2984500D01* -G74* -D01* -G02X2647145Y3073400I89330J0* -G01* -G75* -D01* -G02X2566570Y3162300I8755J88900* -G01* -X2566570Y3238500D01* -G74* -D01* -G02X2586611Y3294882I89330J0* -G01* -X2184423Y3294882D01* -G75* -D01* -G02X2142122Y3300593I0J159518* -G01* -X2094423Y3300593D01* -G75* -D01* -G02X2030616Y3364400I0J63807* -G01* -X2030616Y3412099D01* -G75* -D01* -G02X2030616Y3496701I153806J42301* -G01* -X2030616Y3544400D01* -G75* -D01* -G02X2094423Y3608207I63807J0* -G01* -X2142122Y3608207D01* -G75* -D01* -G02X2184423Y3613918I42301J-153806* -G01* -X2586611Y3613918D01* -G75* -D01* -G02X2566570Y3670300I69289J56382* -G01* -X2566570Y3746500D01* -G74* -D01* -G02X2647145Y3835400I89330J0* -G01* -G74* -D01* -G02X2582720Y3873070I8755J88900* -G01* -X2495048Y3873070D01* -G74* -D01* -G02X2433500Y3826093I61547J16830* -G01* -X2318500Y3826093D01* -G75* -D01* -G02X2286000Y3834990I0J63807* -G01* -G74* -D01* -G02X2253500Y3826093I32500J54910* -G01* -X2138500Y3826093D01* -G75* -D01* -G02X2093648Y3844516I-1J63807* -G01* -X1714930Y3465798D01* -X1714930Y3420907D01* -X1760600Y3420907D01* -G74* -D01* -G02X1824407Y3357100I0J63807* -G01* -X1824407Y3242100D01* -G75* -D01* -G02X1760600Y3178293I-63807J0* -G01* -X1490600Y3178293D01* -G75* -D01* -G02X1433985Y3212670I0J63807* -G01* -X1252630Y3212670D01* -G75* -D01* -G02X1201009Y3212670I-25810J85519* -G01* -X925669Y3212670D01* -G75* -D01* -G02X702740Y3209231I-112869J89329* -G01* -X702740Y3171362D01* -X762172Y3111930D01* -X1457965Y3111930D01* -G75* -D01* -G02X1490600Y3120907I32634J-54830* -G01* -X1760600Y3120907D01* -G74* -D01* -G02X1824407Y3057100I0J63807* -G01* -X1824407Y2942100D01* -G75* -D01* -G02X1760600Y2878293I-63807J0* -G01* -X925669Y3391330D02* -G74* -D01* -G03X880551Y3429000I112868J89330* -G01* -G75* -D01* -G03X880551Y3683000I-67750J127000* -G01* -G74* -D01* -G03X925669Y3720670I67750J127000* -G01* -X1129185Y3720670D01* -G75* -D01* -G03X1185800Y3686293I56615J29430* -G01* -X1455800Y3686293D01* -G74* -D01* -G03X1512415Y3720670I0J63807* -G01* -X1715696Y3720670D01* -G75* -D01* -G03X1717149Y3720681I50J89330* -G01* -X1562434Y3565966D01* -G75* -D01* -G03X1536270Y3502656I63166J-63166* -G01* -X1536270Y3420907D01* -X1512537Y3420907D01* -G75* -D01* -G03X1519607Y3450100I-56736J29193* -G01* -X1519607Y3565100D01* -G74* -D01* -G03X1455800Y3628907I63807J0* -G01* -X1185800Y3628907D01* -G75* -D01* -G03X1121993Y3565100I0J-63807* -G01* -X1121993Y3450100D01* -G75* -D01* -G03X1160951Y3391330I63807J0* -G01* -X925669Y3391330D01* -X699445Y3644713D02* -G74* -D01* -G03X646764Y3619166I10485J88713* -G01* -X597330Y3569732D01* -X597330Y4127328D01* -X747072Y4277070D01* -X1435299Y4277070D01* -G75* -D01* -G03X1490600Y4245093I55301J31830* -G01* -X1760600Y4245093D01* -G75* -D01* -G03X1824407Y4308900I0J63807* -G01* -X1824407Y4423900D01* -G74* -D01* -G03X1760600Y4487707I63807J0* -G01* -X1490600Y4487707D01* -G75* -D01* -G03X1435299Y4455730I0J-63807* -G01* -X1398191Y4455730D01* -G74* -D01* -G03X1413342Y4508070I128190J65470* -G01* -X2056368Y4508070D01* -X1736005Y4187707D01* -X1490600Y4187707D01* -G75* -D01* -G03X1433985Y4153330I0J-63807* -G01* -X934099Y4153330D01* -G74* -D01* -G03X839254Y4204248I94845J62875* -G01* -X786346Y4204248D01* -G75* -D01* -G03X672552Y4090454I0J-113794* -G01* -X672552Y4037546D01* -G75* -D01* -G03X739463Y3933859I113794J0* -G01* -G75* -D01* -G03X745049Y3683000I73337J-123859* -G01* -G74* -D01* -G03X699445Y3644713I67749J127000* -G01* -X925669Y3899330D02* -G74* -D01* -G03X886137Y3933859I112869J89329* -G01* -G74* -D01* -G03X934099Y3974670I46883J103686* -G01* -X1436752Y3974670D01* -G75* -D01* -G03X1490600Y3945093I53848J34229* -G01* -X1724531Y3945093D01* -X1678768Y3899330D01* -X1509648Y3899330D01* -G74* -D01* -G03X1455800Y3928907I53848J34229* -G01* -X1185800Y3928907D01* -G75* -D01* -G03X1131952Y3899330I0J-63807* -G01* -X925669Y3899330D01* -X2566570Y4178300D02* -X2566570Y4254070D01* -X2286172Y4254070D01* -X2130277Y4098175D01* -G75* -D01* -G02X2138500Y4098707I8222J-63275* -G01* -X2253500Y4098707D01* -G74* -D01* -G02X2286000Y4089810I0J63807* -G01* -G75* -D01* -G02X2318500Y4098707I32500J-54910* -G01* -X2433500Y4098707D01* -G74* -D01* -G02X2495048Y4051730I1J63807* -G01* -X2582720Y4051730D01* -G74* -D01* -G02X2647145Y4089400I73180J51229* -G01* -G75* -D01* -G02X2566570Y4178300I8755J88900* -G01* -G54D12* -X3454400Y304600D02* -X3302000Y152200D01* -X3454400Y408800D02* -X3454400Y304600D01* -X2286000Y815200D02* -X2286000Y508000D01* -X3454400Y408800D02* -X2893200Y408800D01* -X2794000Y508000D01* -X3454400Y708800D02* -X3454400Y998800D01* -X1752600Y1117600D02* -X1752600Y889000D01* -X1826400Y815200D01* -X2286000Y815200D01* -X1473200Y1397000D02* -X1752600Y1117600D01* -X508000Y5029200D02* -X508000Y1397000D01* -X1473200Y1397000D01* -X1459230Y3302000D02* -X812800Y3302000D01* -X1625600Y3299600D02* -X1461630Y3299600D01* -X1715770Y3810000D02* -X812800Y3810000D01* -X2249170Y4343400D02* -X1715770Y3810000D01* -X2694000Y3962400D02* -X2376000Y3962400D01* -X2894000Y4343400D02* -X2249170Y4343400D01* -X2694000Y4216400D02* -X2984500Y4216400D01* -X3114040Y4345940D01* -X3114040Y5064760D01* -X1346200Y4597400D02* -X1270000Y4521200D01* -X2894000Y4597400D02* -X1346200Y4597400D01* -X762000Y5283200D02* -X508000Y5029200D01* -X3114040Y5064760D02* -X2895600Y5283200D01* -X1069200Y5283200D02* -X762000Y5283200D01* -X2895600Y5283200D02* -X1369200Y5283200D01* -X1981200Y1240100D02* -X2095500Y1354400D01* -X1981200Y1115200D02* -X1981200Y1240100D01* -X710070Y4366400D02* -X511810Y4168140D01* -X1625600Y4366400D02* -X710070Y4366400D01* -X613410Y3459480D02* -X709930Y3556000D01* -X812800Y3556000D01* -X725170Y3022600D02* -X613410Y3134360D01* -X725170Y3022600D02* -X1602600Y3022600D01* -X613410Y3134360D02* -X613410Y3459480D01* -X1602600Y3022600D02* -X1625600Y2999600D01* -X1625600Y2604630D02* -X2045830Y2184400D01* -X1625600Y2604630D02* -X1625600Y2999600D01* -X2045830Y2184400D02* -X2694000Y2184400D01* -X2085200Y3962400D02* -X1625600Y3502800D01* -X2085200Y3962400D02* -X2196000Y3962400D01* -X1625600Y3502800D02* -X1625600Y3299600D01* -X1320800Y3392170D02* -X1226820Y3298190D01* -X1320800Y3507600D02* -X1320800Y3392170D01* -X2691130Y4724400D02* -X2640330Y4775200D01* -X2694000Y4724400D02* -X2691130Y4724400D01* -X2640330Y4775200D02* -X1270000Y4775200D01* -X1738630Y4064000D02* -X2145030Y4470400D01* -X2694000Y4470400D01* -X812800Y4064000D02* -X1738630Y4064000D01* -X1981200Y1115200D02* -X2286000Y1115200D01* -X2540000Y508000D02* -X2540000Y1176600D01* -X2362200Y1354400D01* -X2095500Y1354400D02* -X2362200Y1354400D01* -G54D13* -X3694230Y152200D02* -X3840480Y298450D01* -X3840480Y298450D02* -X3840480Y3542030D01* -X3562350Y2565400D02* -X3835400Y2292350D01* -X2894000Y2565400D02* -X3562350Y2565400D01* -X2894000Y3073400D02* -X3429023Y3073400D01* -X3454423Y3098800D01* -X2694000Y3454400D02* -X2184423Y3454400D01* -X3840480Y3542030D02* -X3547110Y3835400D01* -X2894000Y3835400D01* -X3694230Y152200D02* -X1524000Y152200D01* -X1422400Y253800D01* -G54D14* -X-63500Y-63500D02* -X-63500Y599200D01* -X-63500Y-63500D02* -X349200Y-63500D01* -X4063500Y-63500D02* -X3650800Y-63500D01* -X4063500Y-63500D02* -X4063500Y599200D01* -X4063500Y6563500D02* -X4063500Y5900800D01* -X4063500Y6563500D02* -X3650800Y6563500D01* -X-63500Y6563500D02* -X349200Y6563500D01* -X-63500Y6563500D02* -X-63500Y5900800D01* -X-563500Y-63500D02* -X-1563500Y-63500D01* -X-1063500Y-563500D02* -X-1063500Y436500D01* -X-1438500Y-63500D02* -G75* -D01* -G02X-1438500Y-63500I375000J0* -G01* -X4563500Y-63500D02* -X5563500Y-63500D01* -X5063500Y-563500D02* -X5063500Y436500D01* -X4688500Y-63500D02* -G75* -D01* -G02X4688500Y-63500I375000J0* -G01* -X4938500Y-63500D02* -G75* -D01* -G02X4938500Y-63500I125000J0* -G01* -X-563500Y6563500D02* -X-1563500Y6563500D01* -X-1063500Y6063500D02* -X-1063500Y7063500D01* -X-1438500Y6563500D02* -G75* -D01* -G02X-1438500Y6563500I375000J0* -G01* -X-1313500Y6563500D02* -G75* -D01* -G02X-1313500Y6563500I250000J0* -G01* -X-1188500Y6563500D02* -G75* -D01* -G02X-1188500Y6563500I125000J0* -G01* -G54D15* -X406400Y1009600D03* -X914400Y1009600D03* -X3657600Y5492800D03* -X3149600Y5492800D03* -X2641600Y5492800D03* -X2133600Y5492800D03* -G54D16* -X3454400Y408800D03* -X3454400Y708800D03* -X1981200Y815200D03* -X1981200Y1115200D03* -X2286000Y815200D03* -X2286000Y1115200D03* -G54D17* -X1270000Y2438400D03* -X508000Y1676400D03* -X1270000Y1676400D03* -X508000Y1930400D03* -X508000Y2184400D03* -X1270000Y1930400D03* -X1270000Y2184400D03* -X508000Y4521200D03* -X1270000Y4521200D03* -X1270000Y4775200D03* -X812800Y3556000D03* -X812800Y3810000D03* -X812800Y3302000D03* -G54D18* -X508000Y2438400D03* -X508000Y4775200D03* -G54D19* -X474129Y2404529D02* -X541871Y2404529D01* -X541871Y2472271D01* -X474129Y2472271D01* -X474129Y2404529D01*D02* -X474129Y4741329D02* -X541871Y4741329D01* -X541871Y4809071D01* -X474129Y4809071D01* -X474129Y4741329D01*D02* -G54D20* -X2694000Y4470400D03* -X2694000Y4216400D03* -X2694000Y3962400D03* -X2694000Y3708400D03* -X2694000Y3454400D03* -X2694000Y3200400D03* -X2694000Y2946400D03* -X2694000Y2692400D03* -X2694000Y2438400D03* -X2694000Y2184400D03* -X2694000Y1930400D03* -X2694000Y1676400D03* -X2894000Y4597400D03* -X2894000Y4343400D03* -X2894000Y4089400D03* -X2894000Y3835400D03* -X2894000Y3581400D03* -X2894000Y3327400D03* -X2894000Y3073400D03* -X2894000Y2819400D03* -X2894000Y2565400D03* -X2894000Y2311400D03* -X2894000Y2057400D03* -X2894000Y1803400D03* -G54D21* -X2655900Y4432300D02* -X2732100Y4432300D01* -X2732100Y4508500D01* -X2655900Y4508500D01* -X2655900Y4432300D01*D02* -X2655900Y4178300D02* -X2732100Y4178300D01* -X2732100Y4254500D01* -X2655900Y4254500D01* -X2655900Y4178300D01*D02* -X2655900Y3924300D02* -X2732100Y3924300D01* -X2732100Y4000500D01* -X2655900Y4000500D01* -X2655900Y3924300D01*D02* -X2655900Y3670300D02* -X2732100Y3670300D01* -X2732100Y3746500D01* -X2655900Y3746500D01* -X2655900Y3670300D01*D02* -X2655900Y3416300D02* -X2732100Y3416300D01* -X2732100Y3492500D01* -X2655900Y3492500D01* -X2655900Y3416300D01*D02* -X2655900Y3162300D02* -X2732100Y3162300D01* -X2732100Y3238500D01* -X2655900Y3238500D01* -X2655900Y3162300D01*D02* -X2655900Y2908300D02* -X2732100Y2908300D01* -X2732100Y2984500D01* -X2655900Y2984500D01* -X2655900Y2908300D01*D02* -X2655900Y2654300D02* -X2732100Y2654300D01* -X2732100Y2730500D01* -X2655900Y2730500D01* -X2655900Y2654300D01*D02* -X2655900Y2400300D02* -X2732100Y2400300D01* -X2732100Y2476500D01* -X2655900Y2476500D01* -X2655900Y2400300D01*D02* -X2655900Y2146300D02* -X2732100Y2146300D01* -X2732100Y2222500D01* -X2655900Y2222500D01* -X2655900Y2146300D01*D02* -X2655900Y1892300D02* -X2732100Y1892300D01* -X2732100Y1968500D01* -X2655900Y1968500D01* -X2655900Y1892300D01*D02* -X2655900Y1638300D02* -X2732100Y1638300D01* -X2732100Y1714500D01* -X2655900Y1714500D01* -X2655900Y1638300D01*D02* -X2855900Y4559300D02* -X2932100Y4559300D01* -X2932100Y4635500D01* -X2855900Y4635500D01* -X2855900Y4559300D01*D02* -X2855900Y4305300D02* -X2932100Y4305300D01* -X2932100Y4381500D01* -X2855900Y4381500D01* -X2855900Y4305300D01*D02* -X2855900Y4051300D02* -X2932100Y4051300D01* -X2932100Y4127500D01* -X2855900Y4127500D01* -X2855900Y4051300D01*D02* -X2855900Y3797300D02* -X2932100Y3797300D01* -X2932100Y3873500D01* -X2855900Y3873500D01* -X2855900Y3797300D01*D02* -X2855900Y3543300D02* -X2932100Y3543300D01* -X2932100Y3619500D01* -X2855900Y3619500D01* -X2855900Y3543300D01*D02* -X2855900Y3289300D02* -X2932100Y3289300D01* -X2932100Y3365500D01* -X2855900Y3365500D01* -X2855900Y3289300D01*D02* -X2855900Y3035300D02* -X2932100Y3035300D01* -X2932100Y3111500D01* -X2855900Y3111500D01* -X2855900Y3035300D01*D02* -X2855900Y2781300D02* -X2932100Y2781300D01* -X2932100Y2857500D01* -X2855900Y2857500D01* -X2855900Y2781300D01*D02* -X2855900Y2527300D02* -X2932100Y2527300D01* -X2932100Y2603500D01* -X2855900Y2603500D01* -X2855900Y2527300D01*D02* -X2855900Y2273300D02* -X2932100Y2273300D01* -X2932100Y2349500D01* -X2855900Y2349500D01* -X2855900Y2273300D01*D02* -X2855900Y2019300D02* -X2932100Y2019300D01* -X2932100Y2095500D01* -X2855900Y2095500D01* -X2855900Y2019300D01*D02* -X2855900Y1765300D02* -X2932100Y1765300D01* -X2932100Y1841500D01* -X2855900Y1841500D01* -X2855900Y1765300D01*D02* -G54D22* -X2694000Y4724400D03* -G54D23* -X1625600Y3299600D03* -X1625600Y2999600D03* -X1625600Y4366400D03* -X1625600Y4066400D03* -X1320800Y3507600D03* -X1320800Y3807600D03* -G54D24* -X2196000Y3962400D03* -X2376000Y3962400D03* -G54D25* -X1069200Y5283200D03* -X1369200Y5283200D03* -G54D26* -X812800Y4064000D03* -G54D27* -X786346Y4037546D02* -X839254Y4037546D01* -X839254Y4090454D01* -X786346Y4090454D01* -X786346Y4037546D01*D02* -G54D28* -X3454400Y998800D03* -X2184400Y1354400D03* -G54D29* -X3454423Y3098800D03* -X2184423Y3454400D03* -G54D30* -X1422400Y863800D03* -X1422400Y253800D03* -G54D31* -X2286000Y508000D03* -X2540000Y508000D03* -X2794000Y508000D03* - -M00* diff --git a/tests/gerber_parsing_profiling/gerber_parsing_line_profile_1.py b/tests/gerber_parsing_profiling/gerber_parsing_line_profile_1.py deleted file mode 100644 index 1ff32fb0..00000000 --- a/tests/gerber_parsing_profiling/gerber_parsing_line_profile_1.py +++ /dev/null @@ -1,13 +0,0 @@ -# This script is for profiling Gerber.parse_lines() line by line. -# Run kernprof -l -v gerber_parsing_line_profile_1.py - -import sys -sys.path.append('../../') - -from flatcamParsers.ParseGerber import * - -log = logging.getLogger('base2') -log.setLevel(logging.WARNING) - -g = Gerber() -g.parse_file("gerber1.gbr") \ No newline at end of file diff --git a/tests/gerber_parsing_profiling/gerber_parsing_profile_1.py b/tests/gerber_parsing_profiling/gerber_parsing_profile_1.py deleted file mode 100644 index 60e7d02a..00000000 --- a/tests/gerber_parsing_profiling/gerber_parsing_profile_1.py +++ /dev/null @@ -1,17 +0,0 @@ -import cProfile -import pstats -import sys -sys.path.append('../../') - -from flatcamParsers.ParseGerber import * - -log = logging.getLogger('base2') -log.setLevel(logging.WARNING) - -g = Gerber() - -#cProfile.run('g.parse_file("gerber1.gbr")', 'gerber1_profile', sort='cumtime') -cProfile.run('g.parse_file("/home/jpcaram/flatcam_test_files/Gerbers/AVR_Transistor_Tester_silkscreen_top.GTO")', - 'gerber1_profile', sort='cumtime') -p = pstats.Stats('gerber1_profile') -p.strip_dirs().sort_stats('cumulative').print_stats(.1) \ No newline at end of file diff --git a/tests/new_window_test.py b/tests/new_window_test.py deleted file mode 100644 index 9d0eb4d8..00000000 --- a/tests/new_window_test.py +++ /dev/null @@ -1,70 +0,0 @@ -import sys -from PyQt5.Qt import * -from PyQt5 import QtGui, QtWidgets - - -class MyPopup(QWidget): - def __init__(self): - QWidget.__init__(self) - lay = QtWidgets.QVBoxLayout() - self.setLayout(lay) - lay.setContentsMargins(0, 0, 0, 0) - le = QtWidgets.QLineEdit() - le.setText("Abracadabra") - le.setReadOnly(True) - # le.setStyleSheet("QLineEdit { qproperty-frame: false }") - le.setFrame(False) - le.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) - - # lay.addStretch() - but = QtWidgets.QPushButton("OK") - hlay = QtWidgets.QHBoxLayout() - hlay.setContentsMargins(0, 5, 5, 5) - - hlay.addStretch() - hlay.addWidget(but) - - lay.addWidget(le) - lay.addLayout(hlay) - # def paintEvent(self, e): - # dc = QtGui.QPainter(self) - # dc.drawLine(0, 0, 100, 100) - # dc.drawLine(100, 0, 0, 100) - - -class MainWindow(QMainWindow): - def __init__(self, *args): - QtWidgets.QMainWindow.__init__(self, *args) - self.cw = QtWidgets.QWidget(self) - self.setCentralWidget(self.cw) - self.btn1 = QtWidgets.QPushButton("Click me", self.cw) - self.btn1.setGeometry(QRect(0, 0, 100, 30)) - self.btn1.clicked.connect(self.doit) - self.w = None - - def doit(self): - print("Opening a new popup window...") - self.w = MyPopup() - self.w.setGeometry(QRect(100, 100, 400, 200)) - self.w.show() - - -class App(QApplication): - def __init__(self, *args): - QtWidgets.QApplication.__init__(self, *args) - self.main = MainWindow() - # self.lastWindowClosed.connect(self.byebye) - self.main.show() - - def byebye(self): - self.exit(0) - - -def main(args): - global app - app = App(args) - app.exec_() - - -if __name__ == "__main__": - main(sys.argv) \ No newline at end of file diff --git a/tests/other/destructor_test.py b/tests/other/destructor_test.py deleted file mode 100644 index 28950277..00000000 --- a/tests/other/destructor_test.py +++ /dev/null @@ -1,34 +0,0 @@ -import sys -from PyQt5 import QtCore, QtGui, QtWidgets - - -class MyObj(): - - def __init__(self): - pass - - def __del__(self): - print("##### Destroyed ######") - - -def parse(): - o = MyObj() - raise Exception("Intentional Exception") - - -class Example(QtWidgets.QWidget): - - def __init__(self): - super(Example, self).__init__() - - qbtn = QtWidgets.QPushButton('Raise', self) - qbtn.clicked.connect(parse) - - self.setWindowTitle('Quit button') - self.show() - - -if __name__ == '__main__': - app = QtWidgets.QApplication(sys.argv) - ex = Example() - sys.exit(app.exec_()) \ No newline at end of file diff --git a/tests/other/profile_gerber_parser.py b/tests/other/profile_gerber_parser.py deleted file mode 100644 index bdf671c2..00000000 --- a/tests/other/profile_gerber_parser.py +++ /dev/null @@ -1,8 +0,0 @@ -import os -os.chdir('../') - -from flatcamParsers.ParseGerber import * - -g = Gerber() -g.parse_file(r'C:\Users\jpcaram\Dropbox\CNC\pcbcam\test_files\PlacaReles-F_Cu.gtl') - diff --git a/tests/other/test_excellon_1.py b/tests/other/test_excellon_1.py deleted file mode 100644 index c3895bd7..00000000 --- a/tests/other/test_excellon_1.py +++ /dev/null @@ -1,49 +0,0 @@ -# -*- coding: utf-8 -*- -""" -Created on Sun Jan 05 13:30:47 2014 - -@author: jpcaram -""" - -import os -os.chdir('../') - -from flatcamParsers.ParseGerber import * -from flatcamParsers.ParseExcellon import * - -from matplotlib import pyplot - -# Gerber. To see if the Excellon is correct -project_dir = "tests/gerber_files" -gerber_filename = project_dir + "KiCad_Squarer-F_Cu.gtl" -g = Gerber() -g.parse_file(gerber_filename) -g.create_geometry() - -excellon_filename = project_dir + "KiCad_Squarer.drl" -ex = Excellon() -ex.parse_file(excellon_filename) -ex.create_geometry() - -#fig = Figure() -fig = pyplot.figure() -ax = fig.add_subplot(111) -ax.set_aspect(1) - -# Plot gerber -for geo in g.solid_geometry: - x, y = geo.exterior.coords.xy - pyplot.plot(x, y, 'k-') - for ints in geo.interiors: - x, y = ints.coords.xy - ax.plot(x, y, 'k-') - -# Plot excellon -for geo in ex.solid_geometry: - x, y = geo.exterior.coords.xy - pyplot.plot(x, y, 'r-') - for ints in geo.interiors: - x, y = ints.coords.xy - ax.plot(x, y, 'g-') - -fig.show() \ No newline at end of file diff --git a/tests/other/test_fcrts.py b/tests/other/test_fcrts.py deleted file mode 100644 index 5c1222d5..00000000 --- a/tests/other/test_fcrts.py +++ /dev/null @@ -1,37 +0,0 @@ -from camlib import * -from shapely.geometry import LineString, LinearRing - -s = FlatCAMRTreeStorage() - -geoms = [ - LinearRing(((0.5699056603773586, 0.7216037735849057), - (0.9885849056603774, 0.7216037735849057), - (0.9885849056603774, 0.6689622641509434), - (0.5699056603773586, 0.6689622641509434), - (0.5699056603773586, 0.7216037735849057))), - LineString(((0.8684952830188680, 0.6952830188679245), - (0.8680655198743615, 0.6865349890935113), - (0.8667803692948564, 0.6778712076279851), - (0.8646522079829676, 0.6693751114229638), - (0.8645044888670096, 0.6689622641509434))), - LineString(((0.9874952830188680, 0.6952830188679245), - (0.9864925023483531, 0.6748709493942936), - (0.9856160316877274, 0.6689622641509434))), - -] - -for geo in geoms: - s.insert(geo) - -current_pt = (0, 0) -pt, geo = s.nearest(current_pt) -while geo is not None: - print((pt, geo)) - print(("OBJECTS BEFORE:", s.objects)) - - #geo.coords = list(geo.coords[::-1]) - s.remove(geo) - - print(("OBJECTS AFTER:", s.objects)) - current_pt = geo.coords[-1] - pt, geo = s.nearest(current_pt) diff --git a/tests/other/test_plotg.py b/tests/other/test_plotg.py deleted file mode 100644 index 6ec1a3a3..00000000 --- a/tests/other/test_plotg.py +++ /dev/null @@ -1,48 +0,0 @@ -from shapely.geometry import LineString, Polygon -from shapely.ops import unary_union -from matplotlib.pyplot import plot, subplot, show, axes -from matplotlib.axes import * -from camlib import * - - -def plotg2(geo, solid_poly=False, color="black", linestyle='solid'): - - try: - for sub_geo in geo: - plotg2(sub_geo, solid_poly=solid_poly, color=color, linestyle=linestyle) - except TypeError: - if type(geo) == Polygon: - if solid_poly: - patch = PolygonPatch(geo, - #facecolor="#BBF268", - facecolor=color, - edgecolor="#006E20", - alpha=0.5, - zorder=2) - ax = subplot(111) - ax.add_patch(patch) - else: - x, y = geo.exterior.coords.xy - plot(x, y, color=color, linestyle=linestyle) - for ints in geo.interiors: - x, y = ints.coords.xy - plot(x, y, color=color, linestyle=linestyle) - - if type(geo) == LineString or type(geo) == LinearRing: - x, y = geo.coords.xy - plot(x, y, color=color, linestyle=linestyle) - - if type(geo) == Point: - x, y = geo.coords.xy - plot(x, y, 'o') - - -if __name__ == "__main__": - p = Polygon([[0, 0], [0, 5], [5, 5], [5, 0]]) - paths = [ - LineString([[0.5, 2], [2, 4.5]]), - LineString([[2, 0.5], [4.5, 2]]) - ] - plotg2(p, solid_poly=True) - plotg2(paths, linestyle="dashed") - show() \ No newline at end of file diff --git a/tests/other/test_rt.py b/tests/other/test_rt.py deleted file mode 100644 index 2df9bd1a..00000000 --- a/tests/other/test_rt.py +++ /dev/null @@ -1,24 +0,0 @@ -from rtree import index as rtindex - -def pt2rect(pt): - return pt[0], pt[1], pt[0], pt[1] - -pts = [(0.0, 0.0), (1.0, 1.0), (0.0, 1.0)] - -p = rtindex.Property() -p.buffering_capacity = 1 -p.dimension = 2 -rt = rtindex.Index(properties=p) -#rt = rtindex.Index() - -# If interleaved is True, the coordinates must be in -# the form [xmin, ymin, ..., kmin, xmax, ymax, ..., kmax]. -print((rt.interleaved)) - -[rt.add(0, pt2rect(pt)) for pt in pts] -print([r.bbox for r in list(rt.nearest((0, 0), 10, True))]) - -for pt in pts: - rt.delete(0, pt2rect(pt)) - print((pt2rect(pt), [r.bbox for r in list(rt.nearest((0, 0), 10, True))])) - diff --git a/tests/svg/7segment_9,9.svg b/tests/svg/7segment_9,9.svg deleted file mode 100644 index ffe7c653..00000000 --- a/tests/svg/7segment_9,9.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/svg/Arduino Nano3_pcb.svg b/tests/svg/Arduino Nano3_pcb.svg deleted file mode 100644 index f1f3b0c2..00000000 --- a/tests/svg/Arduino Nano3_pcb.svg +++ /dev/null @@ -1,468 +0,0 @@ - - - - -Fritzing footprint generated by brd2svg - - - - element:J1 - - package:HEAD15-NOSS - - - - element:J2 - - package:HEAD15-NOSS-1 - - - - element:U2 - - package:SSOP28 - - - - element:U3 - - package:SOT223 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - layer 21 - - text:TX1 - - - TX1 - - - - - text:RX0 - - - RX0 - - - - - text:RST - - - RST - - - - - text:GND - - - GND - - - - - text:D2 - - - D2 - - - - - text:D3 - - - D3 - - - - - text:D4 - - - D4 - - - - - text:D5 - - - D5 - - - - - text:D6 - - - D6 - - - - - text:D7 - - - D7 - - - - - text:D8 - - - D8 - - - - - text:D9 - - - D9 - - - - - text:D10 - - - D10 - - - - - text:D11 - - - D11 - - - - - text:D12 - - - D12 - - - - - text:D13 - - - D13 - - - - - text:3V3 - - - 3V3 - - - - - text:REF - - - REF - - - - - text:A0 - - - A0 - - - - - text:A1 - - - A1 - - - - - text:A2 - - - A2 - - - - - text:A3 - - - A3 - - - - - text:A4 - - - A4 - - - - - text:A5 - - - A5 - - - - - text:A6 - - - A6 - - - - - text:A7 - - - A7 - - - - - text:5V - - - 5V - - - - - text:RST - - - RST - - - - - text:GND - - - GND - - - - - text:VIN - - - VIN - - - - - text:* - - - * - - - - - text:* - - - * - - - - - text:* - - - * - - - - - text:* - - - * - - - - - text:* - - - * - - - - - text:* - - - * - - - - - element:C1 - - package:CAP0805-NP - - - - element:C2 - - package:TAN-A - - - - element:C3 - - package:CAP0805-NP - - - - element:C4 - - package:CAP0805-NP - - - - element:C7 - - package:CAP0805-NP - - - - element:C8 - - package:TAN-A - - - - element:C9 - - package:CAP0805-NP - - - - element:D1 - - package:SOD-123 - - - - element:J1 - - package:HEAD15-NOSS - - - - element:J2 - - package:HEAD15-NOSS-1 - - - - element:RP1 - - package:RES4NT - - - - element:RP2 - - package:RES4NT - - - - element:U$4 - - package:FIDUCIAL-1X2 - - - - element:U$37 - - package:FIDUCIAL-1X2 - - - - element:U$53 - - package:FIDUCIAL-1X2 - - - - element:U$54 - - package:FIDUCIAL-1X2 - - - - element:U2 - - package:SSOP28 - - - - element:U3 - - package:SOT223 - - - - diff --git a/tests/svg/drawing.svg b/tests/svg/drawing.svg deleted file mode 100644 index 7feb03a4..00000000 --- a/tests/svg/drawing.svg +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/svg/usb_connector.svg b/tests/svg/usb_connector.svg deleted file mode 100644 index 25db7071..00000000 --- a/tests/svg/usb_connector.svg +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tests/svg/use.svg b/tests/svg/use.svg deleted file mode 100644 index 735c5954..00000000 --- a/tests/svg/use.svg +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - diff --git a/tests/test_excellon.py b/tests/test_excellon.py deleted file mode 100644 index da7e0233..00000000 --- a/tests/test_excellon.py +++ /dev/null @@ -1,331 +0,0 @@ -import unittest -from flatcamParsers.ParseExcellon import Excellon -from flatcamParsers.ParseGerber import Gerber - - -class ExcellonNumberParseTestInch(unittest.TestCase): - # Inch base format: 00.0000 - - # LEADING ZEROS - # With leading zeros, when you type in a coordinate, - # the leading zeros must always be included. Trailing zeros - # are unneeded and may be left off. The CNC-7 will automatically add them. - - # TRAILING ZEROS - # You must show all zeros to the right of the number and can omit - # all zeros to the left of the number. The CNC-7 will count the number - # of digits you typed and automatically fill in the missing zeros. - - def test_inch_leading_6digit(self): - excellon = Excellon() - self.assertEqual(excellon.zeros, "L") - self.assertEqual(excellon.parse_number("123456"), 12.3456) - - def test_inch_leading_5digit(self): - excellon = Excellon() - self.assertEqual(excellon.parse_number("12345"), 12.345) - - def test_inch_leading_15digit(self): - excellon = Excellon() - self.assertEqual(excellon.parse_number("012345"), 1.2345) - - def test_inch_leading_51digit(self): - excellon = Excellon() - self.assertEqual(excellon.parse_number("123450"), 12.345) - - def test_inch_trailing_6digit(self): - excellon = Excellon() - excellon.zeros = "T" - self.assertEqual(excellon.parse_number("123456"), 12.3456) - - def test_inch_trailing_5digit(self): - excellon = Excellon() - excellon.zeros = "T" - self.assertEqual(excellon.parse_number("12345"), 1.2345) - - def test_inch_trailing_15digit(self): - excellon = Excellon() - excellon.zeros = "T" - self.assertEqual(excellon.parse_number("012345"), 1.2345) - - def test_inch_trailing_51digit(self): - excellon = Excellon() - excellon.zeros = "T" - self.assertEqual(excellon.parse_number("123450"), 12.345) - - -class ExcellonNumberParseTestMetric(unittest.TestCase): - # Metric base format: 000.000 - - # LEADING ZEROS - # With leading zeros, when you type in a coordinate, - # the leading zeros must always be included. Trailing zeros - # are unneeded and may be left off. The CNC-7 will automatically add them. - - # TRAILING ZEROS - # You must show all zeros to the right of the number and can omit - # all zeros to the left of the number. The CNC-7 will count the number - # of digits you typed and automatically fill in the missing zeros. - - def test_inch_leading_6digit(self): - excellon = Excellon() - excellon.units = "mm" - self.assertEqual(excellon.parse_number("123456"), 123.456) - - def test_inch_leading_5digit(self): - excellon = Excellon() - excellon.units = "mm" - self.assertEqual(excellon.parse_number("12345"), 123.45) - - def test_inch_leading_15digit(self): - excellon = Excellon() - excellon.units = "mm" - self.assertEqual(excellon.parse_number("012345"), 12.345) - - def test_inch_leading_51digit(self): - excellon = Excellon() - excellon.units = "mm" - self.assertEqual(excellon.parse_number("123450"), 123.45) - - def test_inch_trailing_6digit(self): - excellon = Excellon() - excellon.units = "mm" - excellon.zeros = "T" - self.assertEqual(excellon.parse_number("123456"), 123.456) - - def test_inch_trailing_5digit(self): - excellon = Excellon() - excellon.units = "mm" - excellon.zeros = "T" - self.assertEqual(excellon.parse_number("12345"), 12.345) - - def test_inch_trailing_15digit(self): - excellon = Excellon() - excellon.units = "mm" - excellon.zeros = "T" - self.assertEqual(excellon.parse_number("012345"), 12.345) - - def test_inch_trailing_51digit(self): - excellon = Excellon() - excellon.units = "mm" - excellon.zeros = "T" - self.assertEqual(excellon.parse_number("123450"), 123.45) - - -class ExcellonFormatM72Test(unittest.TestCase): - - def setUp(self): - self.excellon = Excellon() - code = """ - M48 - M72 - T1C.02362F197S550 - T2C.03543F197S550 - M95 - T1 - X9000Y11750 - X30250Y10500 - """ - code = code.split('\n') - self.excellon.parse_lines(code) - - def test_format(self): - self.assertEqual(self.excellon.units.lower(), "in") - self.assertEqual(self.excellon.zeros, "L") - - def test_coords(self): - # For X9000 add the missing 00 on the right. Then divide by 10000. - self.assertEqual(self.excellon.drills[0]["point"].coords[0], (90.0, 11.75)) - self.assertEqual(self.excellon.drills[1]["point"].coords[0], (30.25, 10.5)) - - -class ExcellonFormatM71Test(unittest.TestCase): - - def setUp(self): - self.excellon = Excellon() - code = """ - M48 - M71 - T1C.02362F197S550 - T2C.03543F197S550 - M95 - T1 - X9000Y11750 - X30250Y10500 - """ - code = code.split('\n') - self.excellon.parse_lines(code) - - def test_format(self): - self.assertEqual(self.excellon.units.lower(), "mm") - self.assertEqual(self.excellon.zeros, "L") - - def test_coords(self): - # For X9000 add the missing 00 on the right. Then divide by 10000. - self.assertEqual(self.excellon.drills[0]["point"].coords[0], (900.0, 117.5)) - self.assertEqual(self.excellon.drills[1]["point"].coords[0], (302.5, 105.0)) - - -class ExcellonFormatINCHLZTest(unittest.TestCase): - - def setUp(self): - self.excellon = Excellon() - code = """ - M48 - INCH,LZ - T1C.02362F197S550 - T2C.03543F197S550 - M95 - T1 - X9000Y11750 - X30250Y10500 - """ - code = code.split('\n') - self.excellon.parse_lines(code) - - def test_format(self): - self.assertEqual(self.excellon.units.lower(), "in") - self.assertEqual(self.excellon.zeros, "L") - - def test_coords(self): - # For X9000 add the missing 00 on the right. Then divide by 10000. - self.assertEqual(self.excellon.drills[0]["point"].coords[0], (90.0, 11.75)) - self.assertEqual(self.excellon.drills[1]["point"].coords[0], (30.25, 10.5)) - - -class ExcellonFormatINCHTest(unittest.TestCase): - - def setUp(self): - self.excellon = Excellon() - code = """ - M48 - INCH,LZ - T1C.02362F197S550 - T2C.03543F197S550 - M95 - T1 - X9000Y11750 - X30250Y10500 - """ - code = code.split('\n') - self.excellon.parse_lines(code) - - def test_format(self): - self.assertEqual(self.excellon.units.lower(), "in") - self.assertEqual(self.excellon.zeros, "L") - - def test_coords(self): - # For X9000 add the missing 00 on the right. Then divide by 10000. - self.assertEqual(self.excellon.drills[0]["point"].coords[0], (90.0, 11.75)) - self.assertEqual(self.excellon.drills[1]["point"].coords[0], (30.25, 10.5)) - - -class ExcellonFormatINCHTZTest(unittest.TestCase): - - def setUp(self): - self.excellon = Excellon() - code = """ - M48 - INCH,TZ - T1C.02362F197S550 - T2C.03543F197S550 - M95 - T1 - X9000Y11750 - X30250Y10500 - """ - code = code.split('\n') - self.excellon.parse_lines(code) - - def test_format(self): - self.assertEqual(self.excellon.units.lower(), "in") - self.assertEqual(self.excellon.zeros, "T") - - def test_coords(self): - # For X9000 add the missing 00 on the right. Then divide by 10000. - self.assertEqual(self.excellon.drills[0]["point"].coords[0], (0.9, 1.175)) - self.assertEqual(self.excellon.drills[1]["point"].coords[0], (3.025, 1.05)) - - -class ExcellonFormatMETRICLZTest(unittest.TestCase): - - def setUp(self): - self.excellon = Excellon() - code = """ - M48 - METRIC,LZ - T1C.02362F197S550 - T2C.03543F197S550 - M95 - T1 - X9000Y11750 - X30250Y10500 - """ - code = code.split('\n') - self.excellon.parse_lines(code) - - def test_format(self): - self.assertEqual(self.excellon.units.lower(), "mm") - self.assertEqual(self.excellon.zeros, "L") - - def test_coords(self): - # For X9000 add the missing 00 on the right. Then divide by 10000. - self.assertEqual(self.excellon.drills[0]["point"].coords[0], (900.0, 117.5)) - self.assertEqual(self.excellon.drills[1]["point"].coords[0], (302.5, 105.0)) - - -class ExcellonFormatMETRICTest(unittest.TestCase): - - def setUp(self): - self.excellon = Excellon() - code = """ - M48 - METRIC,LZ - T1C.02362F197S550 - T2C.03543F197S550 - M95 - T1 - X9000Y11750 - X30250Y10500 - """ - code = code.split('\n') - self.excellon.parse_lines(code) - - def test_format(self): - self.assertEqual(self.excellon.units.lower(), "mm") - self.assertEqual(self.excellon.zeros, "L") - - def test_coords(self): - # For X9000 add the missing 00 on the right. Then divide by 10000. - self.assertEqual(self.excellon.drills[0]["point"].coords[0], (900.0, 117.5)) - self.assertEqual(self.excellon.drills[1]["point"].coords[0], (302.5, 105.0)) - - -class ExcellonFormatMETRICTZTest(unittest.TestCase): - - def setUp(self): - self.excellon = Excellon() - code = """ - M48 - METRIC,TZ - T1C.02362F197S550 - T2C.03543F197S550 - M95 - T1 - X9000Y11750 - X30250Y10500 - """ - code = code.split('\n') - self.excellon.parse_lines(code) - - def test_format(self): - self.assertEqual(self.excellon.units.lower(), "mm") - self.assertEqual(self.excellon.zeros, "T") - - def test_coords(self): - # For X9000 add the missing 00 on the right. Then divide by 10000. - self.assertEqual(self.excellon.drills[0]["point"].coords[0], (9.0, 11.75)) - self.assertEqual(self.excellon.drills[1]["point"].coords[0], (30.25, 10.5)) - -if __name__ == '__main__': - unittest.main() \ No newline at end of file diff --git a/tests/test_excellon_flow.py b/tests/test_excellon_flow.py deleted file mode 100644 index 946c2df6..00000000 --- a/tests/test_excellon_flow.py +++ /dev/null @@ -1,163 +0,0 @@ -import unittest -from PyQt5 import QtGui, QtWidgets -import sys -from FlatCAMApp import App -from FlatCAMObj import FlatCAMExcellon, FlatCAMCNCjob -from flatcamGUI.ObjectUI import ExcellonObjectUI -import tempfile -import os -from time import sleep - - -class ExcellonFlowTestCase(unittest.TestCase): - """ - This is a top-level test covering the Excellon-to-GCode - generation workflow. - - THIS IS A REQUIRED TEST FOR ANY UPDATES. - - """ - - filename = 'case1.drl' - - def setUp(self): - self.app = QtWidgets.QApplication(sys.argv) - - # Create App, keep app defaults (do not load - # user-defined defaults). - self.fc = App(user_defaults=False) - - self.fc.open_excellon('tests/excellon_files/' + self.filename) - - def tearDown(self): - del self.fc - del self.app - - def test_flow(self): - # Names of available objects. - names = self.fc.collection.get_names() - print(names) - - #-------------------------------------- - # Total of 1 objects. - #-------------------------------------- - self.assertEqual(len(names), 1, - "Expected 1 object, found %d" % len(names)) - - #-------------------------------------- - # Object's name matches the file name. - #-------------------------------------- - self.assertEqual(names[0], self.filename, - "Expected name == %s, got %s" % (self.filename, names[0])) - - #--------------------------------------- - # Get object by that name, make sure it's a FlatCAMExcellon. - #--------------------------------------- - excellon_name = names[0] - excellon_obj = self.fc.collection.get_by_name(excellon_name) - self.assertTrue(isinstance(excellon_obj, FlatCAMExcellon), - "Expected FlatCAMExcellon, instead, %s is %s" % - (excellon_name, type(excellon_obj))) - - #---------------------------------------- - # Object's GUI matches Object's options - #---------------------------------------- - # TODO: Open GUI with double-click on object. - # Opens the Object's GUI, populates it. - excellon_obj.build_ui() - for option, value in list(excellon_obj.options.items()): - try: - form_field = excellon_obj.form_fields[option] - except KeyError: - print(("**********************************************************\n" - "* WARNING: Option '{}' has no form field\n" - "**********************************************************" - "".format(option))) - continue - self.assertEqual(value, form_field.get_value(), - "Option '{}' == {} but form has {}".format( - option, value, form_field.get_value() - )) - - # -------------------------------------------------- - # Changes in the GUI should be read in when - # running any process. Changing something here. - # -------------------------------------------------- - - form_field = excellon_obj.form_fields['feedrate'] - value = form_field.get_value() - form_field.set_value(value * 1.1) # Increase by 10% - print(("'feedrate' == {}".format(value))) - - # -------------------------------------------------- - # Create GCode using all tools. - # -------------------------------------------------- - - assert isinstance(excellon_obj, FlatCAMExcellon) # Just for the IDE - ui = excellon_obj.ui - assert isinstance(ui, ExcellonObjectUI) - ui.tools_table.selectAll() # Select All - ui.generate_cnc_button.click() # Click - - # Work is done in a separate thread and results are - # passed via events to the main event loop which is - # not running. Run only for pending events. - # - # I'm not sure why, but running it only once does - # not catch the new object. Might be a timing issue. - # http://pyqt.sourceforge.net/Docs/PyQt4/qeventloop.html#details - for _ in range(2): - sleep(0.1) - self.app.processEvents() - - # --------------------------------------------- - # Check that GUI has been read in. - # --------------------------------------------- - - value = excellon_obj.options['feedrate'] - form_value = form_field.get_value() - self.assertEqual(value, form_value, - "Form value for '{}' == {} was not read into options" - "which has {}".format('feedrate', form_value, value)) - print(("'feedrate' == {}".format(value))) - - # --------------------------------------------- - # Check that only 1 object has been created. - # --------------------------------------------- - - names = self.fc.collection.get_names() - self.assertEqual(len(names), 2, - "Expected 2 objects, found %d" % len(names)) - - # ------------------------------------------------------- - # Make sure the CNCJob Object has the correct name - # ------------------------------------------------------- - - cncjob_name = excellon_name + "_cnc" - self.assertTrue(cncjob_name in names, - "Object named %s not found." % cncjob_name) - - # ------------------------------------------------------- - # Get the object make sure it's a cncjob object - # ------------------------------------------------------- - - cncjob_obj = self.fc.collection.get_by_name(cncjob_name) - self.assertTrue(isinstance(cncjob_obj, FlatCAMCNCjob), - "Expected a FlatCAMCNCjob, got %s" % type(cncjob_obj)) - - # ----------------------------------------- - # Export G-Code, check output - # ----------------------------------------- - assert isinstance(cncjob_obj, FlatCAMCNCjob) # For IDE - - # get system temporary file(try create it and delete) - with tempfile.NamedTemporaryFile(prefix='unittest.', - suffix="." + cncjob_name + '.gcode', - delete=True) as tmp_file: - output_filename = tmp_file.name - - cncjob_obj.export_gcode(output_filename) - self.assertTrue(os.path.isfile(output_filename)) - os.remove(output_filename) - - print(names) diff --git a/tests/test_gerber_buffer.py b/tests/test_gerber_buffer.py deleted file mode 100644 index b79893eb..00000000 --- a/tests/test_gerber_buffer.py +++ /dev/null @@ -1,35 +0,0 @@ -import unittest -import camlib -from flatcamParsers.ParseGerber import Gerber - - -class GerberBuffer(unittest.TestCase): - def setUp(self): - self.gerber1 = Gerber() - self.gerber1.use_buffer_for_union = True - self.gerber1.parse_file("tests/gerber_files/STM32F4-spindle.cmp") - geometry1 = self.gerber1.solid_geometry - self.geometry1_area = self.compute_area(geometry1) - self.gerber2 = Gerber() - self.gerber2.use_buffer_for_union = False - self.gerber2.parse_file("tests/gerber_files/STM32F4-spindle.cmp") - geometry2 = self.gerber2.solid_geometry - self.geometry2_area = self.compute_area (geometry2) - - def compute_area(self, geometry): - area = 0 - try: - for geo in geometry: - area += geo.area - - # Not iterable, do the actual indexing and add. - except TypeError: - area = geometry.area - return area - - def test_buffer(self): - self.assertLessEqual(abs(self.geometry2_area - self.geometry1_area), 0.000001) - - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_gerber_flow.py b/tests/test_gerber_flow.py deleted file mode 100644 index 4549afc0..00000000 --- a/tests/test_gerber_flow.py +++ /dev/null @@ -1,190 +0,0 @@ -import sys -import unittest -from PyQt5 import QtGui, QtWidgets -from FlatCAMApp import App, tclCommands -from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry, FlatCAMCNCjob -from flatcamGUI.ObjectUI import GerberObjectUI, GeometryObjectUI -from time import sleep -import os -import tempfile - - -class GerberFlowTestCase(unittest.TestCase): - """ - This is a top-level test covering the Gerber-to-GCode - generation workflow. - - THIS IS A REQUIRED TEST FOR ANY UPDATES. - - """ - - filename = 'simple1.gbr' - - def setUp(self): - self.app = QtWidgets.QApplication(sys.argv) - - # Create App, keep app defaults (do not load - # user-defined defaults). - self.fc = App(user_defaults=False) - - self.fc.open_gerber('tests/gerber_files/' + self.filename) - - def tearDown(self): - del self.fc - del self.app - - def test_flow(self): - # Names of available objects. - names = self.fc.collection.get_names() - print(names) - - # -------------------------------------- - # Total of 1 objects. - # -------------------------------------- - self.assertEqual(len(names), 1, - "Expected 1 object, found %d" % len(names)) - - # -------------------------------------- - # Object's name matches the file name. - # -------------------------------------- - self.assertEqual(names[0], self.filename, - "Expected name == %s, got %s" % (self.filename, names[0])) - - # --------------------------------------- - # Get object by that name, make sure it's a FlatCAMGerber. - # --------------------------------------- - gerber_name = names[0] - gerber_obj = self.fc.collection.get_by_name(gerber_name) - self.assertTrue(isinstance(gerber_obj, FlatCAMGerber), - "Expected FlatCAMGerber, instead, %s is %s" % - (gerber_name, type(gerber_obj))) - - # ---------------------------------------- - # Object's GUI matches Object's options - # ---------------------------------------- - # TODO: Open GUI with double-click on object. - # Opens the Object's GUI, populates it. - gerber_obj.build_ui() - for option, value in list(gerber_obj.options.items()): - try: - form_field = gerber_obj.form_fields[option] - except KeyError: - print(("**********************************************************\n" - "* WARNING: Option '{}' has no form field\n" - "**********************************************************" - "".format(option))) - continue - self.assertEqual(value, form_field.get_value(), - "Option '{}' == {} but form has {}".format( - option, value, form_field.get_value() - )) - - # -------------------------------------------------- - # Changes in the GUI should be read in when - # running any process. Changing something here. - # -------------------------------------------------- - - form_field = gerber_obj.form_fields['isotooldia'] - value = form_field.get_value() - form_field.set_value(value * 1.1) # Increase by 10% - print(("'isotooldia' == {}".format(value))) - - # -------------------------------------------------- - # Create isolation routing using default values - # and by clicking on the button. - # -------------------------------------------------- - # Get the object's GUI and click on "Generate Geometry" under - # "Isolation Routing" - assert isinstance(gerber_obj, FlatCAMGerber) # Just for the IDE - # Changed: UI has been build already - #gerber_obj.build_ui() # Open the object's UI. - ui = gerber_obj.ui - assert isinstance(ui, GerberObjectUI) - ui.generate_iso_button.click() # Click - - # --------------------------------------------- - # Check that GUI has been read in. - # --------------------------------------------- - value = gerber_obj.options['isotooldia'] - form_value = form_field.get_value() - self.assertEqual(value, form_value, - "Form value for '{}' == {} was not read into options" - "which has {}".format('isotooldia', form_value, value)) - print(("'isotooldia' == {}".format(value))) - - # --------------------------------------------- - # Check that only 1 object has been created. - # --------------------------------------------- - names = self.fc.collection.get_names() - self.assertEqual(len(names), 2, - "Expected 2 objects, found %d" % len(names)) - - # ------------------------------------------------------- - # Make sure the Geometry Object has the correct name - # ------------------------------------------------------- - geo_name = gerber_name + "_iso" - self.assertTrue(geo_name in names, - "Object named %s not found." % geo_name) - - # ------------------------------------------------------- - # Get the object make sure it's a geometry object - # ------------------------------------------------------- - geo_obj = self.fc.collection.get_by_name(geo_name) - self.assertTrue(isinstance(geo_obj, FlatCAMGeometry), - "Expected a FlatCAMGeometry, got %s" % type(geo_obj)) - - # ------------------------------------ - # Open the UI, make CNCObject - # ------------------------------------ - geo_obj.build_ui() - ui = geo_obj.ui - assert isinstance(ui, GeometryObjectUI) # Just for the IDE - ui.generate_cnc_button.click() # Click - - # Work is done in a separate thread and results are - # passed via events to the main event loop which is - # not running. Run only for pending events. - # - # I'm not sure why, but running it only once does - # not catch the new object. Might be a timing issue. - # http://pyqt.sourceforge.net/Docs/PyQt4/qeventloop.html#details - for _ in range(2): - sleep(0.1) - self.app.processEvents() - - # --------------------------------------------- - # Check that only 1 object has been created. - # --------------------------------------------- - names = self.fc.collection.get_names() - self.assertEqual(len(names), 3, - "Expected 3 objects, found %d" % len(names)) - - # ------------------------------------------------------- - # Make sure the CNC Job Object has the correct name - # ------------------------------------------------------- - cnc_name = geo_name + "_cnc" - self.assertTrue(cnc_name in names, - "Object named %s not found." % geo_name) - - # ------------------------------------------------------- - # Get the object make sure it's a CNC Job object - # ------------------------------------------------------- - cnc_obj = self.fc.collection.get_by_name(cnc_name) - self.assertTrue(isinstance(cnc_obj, FlatCAMCNCjob), - "Expected a FlatCAMCNCJob, got %s" % type(geo_obj)) - - # ----------------------------------------- - # Export G-Code, check output - # ----------------------------------------- - assert isinstance(cnc_obj, FlatCAMCNCjob) - output_filename = "" - # get system temporary file(try create it and delete also) - with tempfile.NamedTemporaryFile(prefix='unittest.', - suffix="." + cnc_name + '.gcode', - delete=True) as tmp_file: - output_filename = tmp_file.name - cnc_obj.export_gcode(output_filename) - self.assertTrue(os.path.isfile(output_filename)) - os.remove(output_filename) - - print(names) diff --git a/tests/test_paint.py b/tests/test_paint.py deleted file mode 100644 index 2ee77be8..00000000 --- a/tests/test_paint.py +++ /dev/null @@ -1,213 +0,0 @@ -import unittest - -from shapely.geometry import LineString, Polygon -from shapely.ops import unary_union -from matplotlib.pyplot import plot, subplot, show, cla, clf, xlim, ylim, title -from matplotlib.axes import * -from camlib import * -from copy import deepcopy - - -def mkstorage(paths): - def get_pts(o): - return [o.coords[0], o.coords[-1]] - storage = FlatCAMRTreeStorage() - storage.get_points = get_pts - for p in paths: - storage.insert(p) - return storage - - -def plotg2(geo, solid_poly=False, color="black", linestyle='solid'): - - try: - for sub_geo in geo: - plotg2(sub_geo, solid_poly=solid_poly, color=color, linestyle=linestyle) - except TypeError: - if type(geo) == Polygon: - if solid_poly: - patch = PolygonPatch(geo, - #facecolor="#BBF268", - facecolor=color, - edgecolor="#006E20", - alpha=0.5, - zorder=2) - ax = subplot(111) - ax.add_patch(patch) - else: - x, y = geo.exterior.coords.xy - plot(x, y, color=color, linestyle=linestyle) - for ints in geo.interiors: - x, y = ints.coords.xy - plot(x, y, color=color, linestyle=linestyle) - - if type(geo) == LineString or type(geo) == LinearRing: - x, y = geo.coords.xy - plot(x, y, color=color, linestyle=linestyle) - - if type(geo) == Point: - x, y = geo.coords.xy - plot(x, y, 'o') - - -class PaintTestCase(unittest.TestCase): - # def __init__(self): - # super(PaintTestCase, self).__init__() - # self.boundary = None - # self.descr = None - - def plot_summary_A(self, paths, tooldia, result, msg): - plotg2(self.boundary, solid_poly=True, color="green") - plotg2(paths, color="red") - plotg2([r.buffer(tooldia / 2) for r in result], solid_poly=True, color="blue") - plotg2(result, color="black", linestyle='dashed') - title(msg) - xlim(0, 5) - ylim(0, 5) - show() - - -class PaintConnectTest(PaintTestCase): - """ - Simple rectangular boundary and paths inside. - """ - - def setUp(self): - self.boundary = Polygon([[0, 0], [0, 5], [5, 5], [5, 0]]) - - def test_jump(self): - print("Test: WALK Expected") - paths = [ - LineString([[0.5, 2], [2, 4.5]]), - LineString([[2, 0.5], [4.5, 2]]) - ] - for p in paths: - print(p) - - tooldia = 1.0 - - print("--") - result = Geometry.paint_connect(mkstorage(deepcopy(paths)), self.boundary, tooldia) - - result = list(result.get_objects()) - for r in result: - print(r) - - self.assertEqual(len(result), 1) - - # self.plot_summary_A(paths, tooldia, result, "WALK expected.") - - def test_no_jump1(self): - print("Test: FLY Expected") - paths = [ - LineString([[0, 2], [2, 5]]), - LineString([[2, 0], [5, 2]]) - ] - for p in paths: - print(p) - - tooldia = 1.0 - - print("--") - result = Geometry.paint_connect(mkstorage(deepcopy(paths)), self.boundary, tooldia) - - result = list(result.get_objects()) - for r in result: - print(r) - - self.assertEqual(len(result), len(paths)) - - # self.plot_summary_A(paths, tooldia, result, "FLY Expected") - - def test_no_jump2(self): - print("Test: FLY Expected") - paths = [ - LineString([[0.5, 2], [2, 4.5]]), - LineString([[2, 0.5], [4.5, 2]]) - ] - for p in paths: - print(p) - - tooldia = 1.1 - - print("--") - result = Geometry.paint_connect(mkstorage(deepcopy(paths)), self.boundary, tooldia) - - result = list(result.get_objects()) - for r in result: - print(r) - - self.assertEqual(len(result), len(paths)) - - # self.plot_summary_A(paths, tooldia, result, "FLY Expected") - - -class PaintConnectTest2(PaintTestCase): - """ - Boundary with an internal cutout. - """ - - def setUp(self): - self.boundary = Polygon([[0, 0], [0, 5], [5, 5], [5, 0]]) - self.boundary = self.boundary.difference( - Polygon([[2, 1], [3, 1], [3, 4], [2, 4]]) - ) - - def test_no_jump3(self): - print("TEST: No jump expected") - paths = [ - LineString([[0.5, 1], [1.5, 3]]), - LineString([[4, 1], [4, 4]]) - ] - for p in paths: - print(p) - - tooldia = 1.0 - - print("--") - result = Geometry.paint_connect(mkstorage(deepcopy(paths)), self.boundary, tooldia) - - result = list(result.get_objects()) - for r in result: - print(r) - - self.assertEqual(len(result), len(paths)) - - # self.plot_summary_A(paths, tooldia, result, "FLY Expected") - - -class PaintConnectTest3(PaintTestCase): - """ - Tests with linerings among elements. - """ - - def setUp(self): - self.boundary = Polygon([[0, 0], [0, 5], [5, 5], [5, 0]]) - print("TEST w/ LinearRings") - - def test_jump2(self): - print("Test: WALK Expected") - paths = [ - LineString([[0.5, 2], [2, 4.5]]), - LineString([[2, 0.5], [4.5, 2]]), - self.boundary.buffer(-0.5).exterior - ] - for p in paths: - print(p) - - tooldia = 1.0 - - print("--") - result = Geometry.paint_connect(mkstorage(deepcopy(paths)), self.boundary, tooldia) - - result = list(result.get_objects()) - for r in result: - print(r) - - self.assertEqual(len(result), 1) - - # self.plot_summary_A(paths, tooldia, result, "WALK Expected") - - -if __name__ == '__main__': - unittest.main() diff --git a/tests/test_pathconnect.py b/tests/test_pathconnect.py deleted file mode 100644 index cf25389f..00000000 --- a/tests/test_pathconnect.py +++ /dev/null @@ -1,89 +0,0 @@ -import unittest - -from shapely.geometry import LineString, Polygon -from shapely.ops import unary_union -from matplotlib.pyplot import plot, subplot, show, cla, clf, xlim, ylim, title -from camlib import * -from random import random - - -def mkstorage(paths): - def get_pts(o): - return [o.coords[0], o.coords[-1]] - storage = FlatCAMRTreeStorage() - storage.get_points = get_pts - for p in paths: - storage.insert(p) - return storage - - -class PathConnectTest1(unittest.TestCase): - - def setUp(self): - print("PathConnectTest1.setUp()") - pass - - def test_simple_connect(self): - paths = [ - LineString([[0, 0], [1, 1]]), - LineString([[1, 1], [2, 1]]) - ] - - result = Geometry.path_connect(mkstorage(paths)) - - result = list(result.get_objects()) - self.assertEqual(len(result), 1) - self.assertTrue(result[0].equals(LineString([[0, 0], [1, 1], [2, 1]]))) - - def test_interfere_connect(self): - paths = [ - LineString([[0, 0], [1, 1]]), - LineString([[1, 1], [2, 1]]), - LineString([[-0.5, 0.5], [0.5, 0]]) - ] - - result = Geometry.path_connect(mkstorage(paths)) - - result = list(result.get_objects()) - self.assertEqual(len(result), 2) - matches = [p for p in result if p.equals(LineString([[0, 0], [1, 1], [2, 1]]))] - self.assertEqual(len(matches), 1) - - def test_simple_connect_offset1(self): - for i in range(20): - offset_x = random() - offset_y = random() - - paths = [ - LineString([[0 + offset_x, 0 + offset_y], [1 + offset_x, 1 + offset_y]]), - LineString([[1 + offset_x, 1 + offset_y], [2 + offset_x, 1 + offset_y]]) - ] - - result = Geometry.path_connect(mkstorage(paths)) - - result = list(result.get_objects()) - self.assertEqual(len(result), 1) - self.assertTrue(result[0].equals(LineString([[0 + offset_x, 0 + offset_y], - [1 + offset_x, 1 + offset_y], - [2 + offset_x, 1 + offset_y]]))) - - def test_ring_interfere_connect(self): - print() - print("TEST STARTING ...") - - paths = [ - LineString([[0, 0], [1, 1]]), - LineString([[1, 1], [2, 1]]), - LinearRing([[1, 1], [2, 2], [1, 3], [0, 2]]) - ] - - result = Geometry.path_connect(mkstorage(paths)) - - result = list(result.get_objects()) - self.assertEqual(len(result), 2) - matches = [p for p in result if p.equals(LineString([[0, 0], [1, 1], [2, 1]]))] - self.assertEqual(len(matches), 1) - - -if __name__ == "__main__": - unittest.main() diff --git a/tests/test_polygon_paint.py b/tests/test_polygon_paint.py deleted file mode 100644 index 34707fa2..00000000 --- a/tests/test_polygon_paint.py +++ /dev/null @@ -1,220 +0,0 @@ -import sys -import unittest -from PyQt5 import QtGui, QtWidgets -from FlatCAMApp import App -from FlatCAMObj import FlatCAMGeometry, FlatCAMCNCjob -from flatcamGUI.ObjectUI import GerberObjectUI, GeometryObjectUI -from time import sleep -import os -import tempfile -from shapely.geometry import LineString, LinearRing, Polygon, MultiPolygon - - -class PolyPaintTestCase(unittest.TestCase): - - def setUp(self): - self.app = QtWidgets.QApplication(sys.argv) - - # Create App, keep app defaults (do not load - # user-defined defaults). - self.fc = App(user_defaults=False) - - def tearDown(self): - - for _ in range(2): - self.app.processEvents() - - # NOTE: These are creating problems... - # del self.fc - # del self.app - - def test_poly_paint_svg_all(self): - - print("*********************************") - print("* svg_all *") - print("*********************************") - - # Clear workspace - self.fc.on_file_new() - for _ in range(2): - self.app.processEvents() - - # Open SVG with polygons - self.fc.import_svg('tests/svg/drawing.svg') - - name = self.fc.collection.get_names()[0] - - self.fc.collection.set_active(name) - - geo_obj = self.fc.collection.get_by_name(name) - - # Paint all polygons - geo_obj.paint_poly_all(5, 0.2, 1) - sleep(5) # Todo: Do not base it on fixed time. - for _ in range(2): - self.app.processEvents() - - # New object should be available - names = self.fc.collection.get_names() - - self.assertEqual(len(names), 2) - - # Verify new geometry makes sense - painted = self.fc.collection.get_by_name(names[-1]) - for geo in painted.solid_geometry: - # Correct Type - self.assertTrue(isinstance(geo, LineString)) - # Lots of points (Should be 1000s) - self.assertGreater(len(geo.coords), 2) - - def test_poly_paint_svg_click(self): - - print("*********************************") - print("* svg_click *") - print("*********************************") - - # Clear workspace - self.fc.on_file_new() - for _ in range(2): - self.app.processEvents() - - # Open SVG with polygons - self.fc.import_svg('tests/svg/drawing.svg') - - name = self.fc.collection.get_names()[0] - - self.fc.collection.set_active(name) - - geo_obj = self.fc.collection.get_by_name(name) - - # Paint all polygons - geo_obj.paint_poly_single_click([300, 700], 5, 0.2, 1) - sleep(5) - for _ in range(2): - self.app.processEvents() - - # New object should be available - names = self.fc.collection.get_names() - - sleep(1) - self.assertEqual(len(names), 2) - - # Verify new geometry makes sense - painted = self.fc.collection.get_by_name(names[-1]) - for geo in painted.solid_geometry: - # Correct Type - self.assertTrue(isinstance(geo, LineString)) - # Lots of points (Should be 1000s) - self.assertGreater(len(geo.coords), 2) - - def test_poly_paint_noncopper_all(self): - - print("*********************************") - print("* noncopper_all *") - print("*********************************") - - # Clear workspace - self.fc.on_file_new() - for _ in range(2): - self.app.processEvents() - - self.fc.open_gerber('tests/gerber_files/simple1.gbr') - sleep(1) - for _ in range(2): - self.app.processEvents() - - name = self.fc.collection.get_names()[0] - - gerber_obj = self.fc.collection.get_by_name(name) - - self.fc.collection.set_active(name) - - gerber_obj.on_generatenoncopper_button_click() - sleep(1) - for _ in range(2): - self.app.processEvents() - - # New object should be available - names = self.fc.collection.get_names() - - sleep(1) - self.assertEqual(len(names), 2) - - geoname = "simple1.gbr_noncopper" - geo_obj = self.fc.collection.get_by_name(geoname) - self.fc.collection.set_active(geoname) - - geo_obj.paint_poly_all(0.02, 0.2, 0) - sleep(5) - for _ in range(2): - self.app.processEvents() - - # New object should be available - names = self.fc.collection.get_names() - - sleep(1) - self.assertEqual(len(names), 3) - - # Verify new geometry makes sense - painted = self.fc.collection.get_by_name(names[-1]) - for geo in painted.solid_geometry: - # Correct Type - self.assertTrue(isinstance(geo, LineString)) - # Lots of points (Should be 1000s) - self.assertGreater(len(geo.coords), 2) - - def test_poly_paint_noncopper_click(self): - - print("*********************************") - print("* noncopper_click *") - print("*********************************") - - # Clear workspace - self.fc.on_file_new() - for _ in range(2): - self.app.processEvents() - - self.fc.open_gerber('tests/gerber_files/simple1.gbr') - sleep(1) - for _ in range(2): - self.app.processEvents() - - name = self.fc.collection.get_names()[0] - - gerber_obj = self.fc.collection.get_by_name(name) - - self.fc.collection.set_active(name) - - gerber_obj.on_generatenoncopper_button_click() - sleep(1) - for _ in range(2): - self.app.processEvents() - - # New object should be available - names = self.fc.collection.get_names() - - sleep(1) - self.assertEqual(len(names), 2) - - geoname = "simple1.gbr_noncopper" - geo_obj = self.fc.collection.get_by_name(geoname) - self.fc.collection.set_active(geoname) - - geo_obj.paint_poly_single_click([2.7, 1.0], 0.02, 0.2, 0) - sleep(5) - for _ in range(2): - self.app.processEvents() - - # New object should be available - names = self.fc.collection.get_names() - - sleep(1) - self.assertEqual(len(names), 3) - - # Verify new geometry makes sense - painted = self.fc.collection.get_by_name(names[-1]) - for geo in painted.solid_geometry: - # Correct Type - self.assertTrue(isinstance(geo, LineString)) - # Lots of points (Should be 1000s) - self.assertGreater(len(geo.coords), 2) diff --git a/tests/test_svg_flow.py b/tests/test_svg_flow.py deleted file mode 100644 index 7fbd6658..00000000 --- a/tests/test_svg_flow.py +++ /dev/null @@ -1,127 +0,0 @@ -import sys -import unittest -from PyQt5 import QtWidgets -from FlatCAMApp import App -from FlatCAMObj import FlatCAMGeometry, FlatCAMCNCjob -from flatcamGUI.ObjectUI import GerberObjectUI, GeometryObjectUI -from time import sleep -import os -import tempfile - - -class SVGFlowTestCase(unittest.TestCase): - - def setUp(self): - self.app = QtWidgets.QApplication(sys.argv) - - # Create App, keep app defaults (do not load - # user-defined defaults). - self.fc = App(user_defaults=False) - - self.filename = 'drawing.svg' - - def tearDown(self): - del self.fc - del self.app - - def test_flow(self): - - self.fc.import_svg('tests/svg/' + self.filename) - - names = self.fc.collection.get_names() - print(names) - - # -------------------------------------- - # Total of 1 objects. - # -------------------------------------- - self.assertEqual(len(names), 1, "Expected 1 object, found %d" % len(names)) - - # -------------------------------------- - # Object's name matches the file name. - # -------------------------------------- - self.assertEqual(names[0], self.filename, "Expected name == %s, got %s" % (self.filename, names[0])) - - # --------------------------------------- - # Get object by that name, make sure it's a FlatCAMGerber. - # --------------------------------------- - geo_name = names[0] - geo_obj = self.fc.collection.get_by_name(geo_name) - self.assertTrue(isinstance(geo_obj, FlatCAMGeometry), - "Expected FlatCAMGeometry, instead, %s is %s" % - (geo_name, type(geo_obj))) - - # ---------------------------------------- - # Object's GUI matches Object's options - # ---------------------------------------- - # TODO: Open GUI with double-click on object. - # Opens the Object's GUI, populates it. - geo_obj.build_ui() - for option, value in list(geo_obj.options.items()): - try: - form_field = geo_obj.form_fields[option] - except KeyError: - print(("**********************************************************\n" - "* WARNING: Option '{}' has no form field\n" - "**********************************************************" - "".format(option))) - continue - self.assertEqual(value, form_field.get_value(), - "Option '{}' == {} but form has {}".format( - option, value, form_field.get_value() - )) - - # ------------------------------------ - # Open the UI, make CNCObject - # ------------------------------------ - geo_obj.build_ui() - ui = geo_obj.ui - assert isinstance(ui, GeometryObjectUI) # Just for the IDE - ui.generate_cnc_button.click() # Click - - # Work is done in a separate thread and results are - # passed via events to the main event loop which is - # not running. Run only for pending events. - # - # I'm not sure why, but running it only once does - # not catch the new object. Might be a timing issue. - # http://pyqt.sourceforge.net/Docs/PyQt4/qeventloop.html#details - for _ in range(2): - sleep(0.1) - self.app.processEvents() - - # --------------------------------------------- - # Check that only 1 object has been created. - # --------------------------------------------- - names = self.fc.collection.get_names() - self.assertEqual(len(names), 2, - "Expected 2 objects, found %d" % len(names)) - - # ------------------------------------------------------- - # Make sure the CNC Job Object has the correct name - # ------------------------------------------------------- - cnc_name = geo_name + "_cnc" - self.assertTrue(cnc_name in names, - "Object named %s not found." % geo_name) - - # ------------------------------------------------------- - # Get the object make sure it's a CNC Job object - # ------------------------------------------------------- - cnc_obj = self.fc.collection.get_by_name(cnc_name) - self.assertTrue(isinstance(cnc_obj, FlatCAMCNCjob), - "Expected a FlatCAMCNCJob, got %s" % type(geo_obj)) - - # ----------------------------------------- - # Export G-Code, check output - # ----------------------------------------- - assert isinstance(cnc_obj, FlatCAMCNCjob) - output_filename = "" - # get system temporary file(try create it and delete also) - with tempfile.NamedTemporaryFile(prefix='unittest.', - suffix="." + cnc_name + '.gcode', - delete=True) as tmp_file: - output_filename = tmp_file.name - cnc_obj.export_gcode(output_filename) - self.assertTrue(os.path.isfile(output_filename)) - os.remove(output_filename) - - print(names) diff --git a/tests/test_tclCommands/__init__.py b/tests/test_tclCommands/__init__.py deleted file mode 100644 index 615ad03d..00000000 --- a/tests/test_tclCommands/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -import pkgutil -import sys - -# allowed command tests (please append them alphabetically ordered) -from .test_TclCommandAddPolygon import * -from .test_TclCommandAddPolyline import * -from .test_TclCommandCncjob import * -from .test_TclCommandDrillcncjob import * -from .test_TclCommandExportGcode import * -from .test_TclCommandExteriors import * -from .test_TclCommandImportSvg import * -from .test_TclCommandInteriors import * -from .test_TclCommandIsolate import * -from .test_TclCommandNew import * -from .test_TclCommandNewGeometry import * -from .test_TclCommandOpenExcellon import * -from .test_TclCommandOpenGerber import * -from .test_TclCommandPaintPolygon import * diff --git a/tests/test_tclCommands/test_TclCommandAddPolygon.py b/tests/test_tclCommands/test_TclCommandAddPolygon.py deleted file mode 100644 index e2099add..00000000 --- a/tests/test_tclCommands/test_TclCommandAddPolygon.py +++ /dev/null @@ -1,18 +0,0 @@ -from FlatCAMObj import FlatCAMGeometry - - -def test_add_polygon(self): - """ - Test add polygon into geometry - :param self: - :return: - """ - - self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name) - geometry_obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.geometry_name, type(geometry_obj))) - - points = '0 0 20 0 10 10 0 10' - - self.fc.exec_command_test('add_polygon "%s" %s' % (self.geometry_name, points)) diff --git a/tests/test_tclCommands/test_TclCommandAddPolyline.py b/tests/test_tclCommands/test_TclCommandAddPolyline.py deleted file mode 100644 index 69c0577d..00000000 --- a/tests/test_tclCommands/test_TclCommandAddPolyline.py +++ /dev/null @@ -1,18 +0,0 @@ -from FlatCAMObj import FlatCAMGeometry - - -def test_add_polyline(self): - """ - Test add polyline into geometry - :param self: - :return: - """ - - self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name) - geometry_obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.geometry_name, type(geometry_obj))) - - points = '0 0 20 0 10 10 0 10 33 33' - - self.fc.exec_command_test('add_polyline "%s" %s' % (self.geometry_name, points)) diff --git a/tests/test_tclCommands/test_TclCommandCncjob.py b/tests/test_tclCommands/test_TclCommandCncjob.py deleted file mode 100644 index 63ded99b..00000000 --- a/tests/test_tclCommands/test_TclCommandCncjob.py +++ /dev/null @@ -1,17 +0,0 @@ -from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry, FlatCAMObj -from .test_TclCommandIsolate import * - -def test_cncjob(self): - """ - Test cncjob - :param self: - :return: - """ - - # reuse isolate tests - test_isolate(self) - - self.fc.exec_command_test('cncjob %s_iso -tooldia 0.5 -z_cut 0.05 -z_move 3 -feedrate 300' % self.gerber_top_name) - cam_top_obj = self.fc.collection.get_by_name(self.gerber_top_name + '_iso_cnc') - self.assertTrue(isinstance(cam_top_obj, FlatCAMObj), "Expected FlatCAMObj, instead, %s is %s" - % (self.gerber_top_name + '_iso_cnc', type(cam_top_obj))) \ No newline at end of file diff --git a/tests/test_tclCommands/test_TclCommandDrillcncjob.py b/tests/test_tclCommands/test_TclCommandDrillcncjob.py deleted file mode 100644 index ce651a6e..00000000 --- a/tests/test_tclCommands/test_TclCommandDrillcncjob.py +++ /dev/null @@ -1,18 +0,0 @@ -from FlatCAMObj import FlatCAMObj -from .test_TclCommandOpenExcellon import * - - -def test_drillcncjob(self): - """ - Test cncjob - :param self: - :return: - """ - # reuse open excellontests - test_open_excellon(self) - - self.fc.exec_command_test('drillcncjob %s -tools all -drillz 0.5 -travelz 3 -feedrate 300' - % self.excellon_name) - cam_top_obj = self.fc.collection.get_by_name(self.excellon_name + '_cnc') - self.assertTrue(isinstance(cam_top_obj, FlatCAMObj), "Expected FlatCAMObj, instead, %s is %s" - % (self.excellon_name + '_cnc', type(cam_top_obj))) diff --git a/tests/test_tclCommands/test_TclCommandExportGcode.py b/tests/test_tclCommands/test_TclCommandExportGcode.py deleted file mode 100644 index 880b5bea..00000000 --- a/tests/test_tclCommands/test_TclCommandExportGcode.py +++ /dev/null @@ -1,33 +0,0 @@ -import os -import tempfile - -from .test_TclCommandCncjob import * -from .test_TclCommandDrillcncjob import * - - -def test_export_gcodecncjob(self): - """ - Test cncjob - :param self: - :return: - """ - - # reuse tests - test_cncjob(self) - test_drillcncjob(self) - - with tempfile.NamedTemporaryFile(prefix='unittest.', suffix="." + self.excellon_name + '.gcode', delete=True)\ - as tmp_file: - output_filename = tmp_file.name - self.fc.exec_command_test('write_gcode "%s" "%s"' % (self.excellon_name + '_cnc', output_filename)) - self.assertTrue(os.path.isfile(output_filename)) - os.remove(output_filename) - - with tempfile.NamedTemporaryFile(prefix='unittest.', suffix="." + self.gerber_top_name + '.gcode', delete=True)\ - as tmp_file: - output_filename = tmp_file.name - self.fc.exec_command_test('write_gcode "%s" "%s"' % (self.gerber_top_name + '_iso_cnc', output_filename)) - self.assertTrue(os.path.isfile(output_filename)) - os.remove(output_filename) - - # TODO check what is inside files , it should be same every time \ No newline at end of file diff --git a/tests/test_tclCommands/test_TclCommandExteriors.py b/tests/test_tclCommands/test_TclCommandExteriors.py deleted file mode 100644 index da47be9f..00000000 --- a/tests/test_tclCommands/test_TclCommandExteriors.py +++ /dev/null @@ -1,24 +0,0 @@ -from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry - - -def test_exteriors(self): - """ - Test exteriors - :param self: - :return: - """ - - self.fc.exec_command_test('open_gerber %s/%s -outname %s' - % (self.gerber_files, self.cutout_filename, self.gerber_cutout_name)) - gerber_cutout_obj = self.fc.collection.get_by_name(self.gerber_cutout_name) - self.assertTrue(isinstance(gerber_cutout_obj, FlatCAMGerber), "Expected FlatCAMGerber, instead, %s is %s" - % (self.gerber_cutout_name, type(gerber_cutout_obj))) - - # exteriors interiors and delete isolated traces - self.fc.exec_command_test('isolate %s -dia %f' % (self.gerber_cutout_name, self.engraver_diameter)) - self.fc.exec_command_test('exteriors %s -outname %s' - % (self.gerber_cutout_name + '_iso', self.gerber_cutout_name + '_iso_exterior')) - self.fc.exec_command_test('delete %s' % (self.gerber_cutout_name + '_iso')) - obj = self.fc.collection.get_by_name(self.gerber_cutout_name + '_iso_exterior') - self.assertTrue(isinstance(obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.gerber_cutout_name + '_iso_exterior', type(obj))) diff --git a/tests/test_tclCommands/test_TclCommandImportSvg.py b/tests/test_tclCommands/test_TclCommandImportSvg.py deleted file mode 100644 index 3db2590c..00000000 --- a/tests/test_tclCommands/test_TclCommandImportSvg.py +++ /dev/null @@ -1,60 +0,0 @@ -from os import listdir - -from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry - - -def test_import_svg(self): - """ - Test all SVG files inside svg directory. - Problematic SVG files shold be put there as test reference. - :param self: - :return: - """ - - file_list = listdir(self.svg_files) - - for svg_file in file_list: - - # import without outname - self.fc.exec_command_test('import_svg "%s/%s"' % (self.svg_files, svg_file)) - - obj = self.fc.collection.get_by_name(svg_file) - self.assertTrue(isinstance(obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (svg_file, type(obj))) - - # import with outname - outname = '%s-%s' % (self.geometry_name, svg_file) - self.fc.exec_command_test('import_svg "%s/%s" -outname "%s"' % (self.svg_files, svg_file, outname)) - - obj = self.fc.collection.get_by_name(outname) - self.assertTrue(isinstance(obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (outname, type(obj))) - - names = self.fc.collection.get_names() - self.assertEqual(len(names), len(file_list)*2, - "Expected %d objects, found %d" % (len(file_list)*2, len(file_list))) - - -def test_import_svg_as_geometry(self): - - self.fc.exec_command_test('import_svg "%s/%s" -type geometry -outname "%s"' - % (self.svg_files, self.svg_filename, self.geometry_name)) - - obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertTrue(isinstance(obj, FlatCAMGeometry) and not isinstance(obj, FlatCAMGerber), - "Expected FlatCAMGeometry, instead, %s is %s" % (self.geometry_name, type(obj))) - - -def test_import_svg_as_gerber(self): - - self.fc.exec_command_test('import_svg "%s/%s" -type gerber -outname "%s"' - % (self.svg_files, self.svg_filename, self.gerber_name)) - - obj = self.fc.collection.get_by_name(self.gerber_name) - self.assertTrue(isinstance(obj, FlatCAMGerber), - "Expected FlatCAMGerber, instead, %s is %s" % (self.gerber_name, type(obj))) - - self.fc.exec_command_test('isolate "%s"' % self.gerber_name) - obj = self.fc.collection.get_by_name(self.gerber_name+'_iso') - self.assertTrue(isinstance(obj, FlatCAMGeometry), - "Expected FlatCAMGeometry, instead, %s is %s" % (self.gerber_name+'_iso', type(obj))) diff --git a/tests/test_tclCommands/test_TclCommandInteriors.py b/tests/test_tclCommands/test_TclCommandInteriors.py deleted file mode 100644 index c58c380c..00000000 --- a/tests/test_tclCommands/test_TclCommandInteriors.py +++ /dev/null @@ -1,24 +0,0 @@ -from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry - - -def test_interiors(self): - """ - Test interiors - :param self: - :return: - """ - - self.fc.exec_command_test('open_gerber %s/%s -outname %s' - % (self.gerber_files, self.cutout_filename, self.gerber_cutout_name)) - gerber_cutout_obj = self.fc.collection.get_by_name(self.gerber_cutout_name) - self.assertTrue(isinstance(gerber_cutout_obj, FlatCAMGerber), "Expected FlatCAMGerber, instead, %s is %s" - % (self.gerber_cutout_name, type(gerber_cutout_obj))) - - # interiors and delete isolated traces - self.fc.exec_command_test('isolate %s -dia %f' % (self.gerber_cutout_name, self.engraver_diameter)) - self.fc.exec_command_test('interiors %s -outname %s' - % (self.gerber_cutout_name + '_iso', self.gerber_cutout_name + '_iso_interior')) - self.fc.exec_command_test('delete %s' % (self.gerber_cutout_name + '_iso')) - obj = self.fc.collection.get_by_name(self.gerber_cutout_name + '_iso_interior') - self.assertTrue(isinstance(obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.gerber_cutout_name + '_iso_interior', type(obj))) diff --git a/tests/test_tclCommands/test_TclCommandIsolate.py b/tests/test_tclCommands/test_TclCommandIsolate.py deleted file mode 100644 index e61aa40b..00000000 --- a/tests/test_tclCommands/test_TclCommandIsolate.py +++ /dev/null @@ -1,21 +0,0 @@ -from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry - - -def test_isolate(self): - """ - Test isolate gerber - :param self: - :return: - """ - - self.fc.exec_command_test('open_gerber %s/%s -outname %s' - % (self.gerber_files, self.copper_top_filename, self.gerber_top_name)) - gerber_top_obj = self.fc.collection.get_by_name(self.gerber_top_name) - self.assertTrue(isinstance(gerber_top_obj, FlatCAMGerber), "Expected FlatCAMGerber, instead, %s is %s" - % (self.gerber_top_name, type(gerber_top_obj))) - - # isolate traces - self.fc.exec_command_test('isolate %s -dia %f' % (self.gerber_top_name, self.engraver_diameter)) - geometry_top_obj = self.fc.collection.get_by_name(self.gerber_top_name+'_iso') - self.assertTrue(isinstance(geometry_top_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.gerber_top_name+'_iso', type(geometry_top_obj))) \ No newline at end of file diff --git a/tests/test_tclCommands/test_TclCommandNew.py b/tests/test_tclCommands/test_TclCommandNew.py deleted file mode 100644 index 07eba0b7..00000000 --- a/tests/test_tclCommands/test_TclCommandNew.py +++ /dev/null @@ -1,48 +0,0 @@ -from FlatCAMObj import FlatCAMGeometry - - -def test_new(self): - """ - Test new project - :param self: - :return: - """ - - self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name) - geometry_obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.geometry_name, type(geometry_obj))) - - self.fc.exec_command_test('proc testproc {} { puts "testresult" }') - - result = self.fc.exec_command_test('testproc') - - self.assertEqual(result, "testresult",'testproc should return "testresult"') - - self.fc.exec_command_test('set_sys units MM') - self.fc.exec_command_test('new') - - # object should not exists anymore - geometry_obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertIsNone(geometry_obj, "Expected object to be None, instead, %s is %s" - % (self.geometry_name, type(geometry_obj))) - - # TODO after new it should delete all procedures and variables, we need to make sure "testproc" does not exists - - # Test it again with same names - - self.fc.exec_command_test('set_sys units MM') - self.fc.exec_command_test('new') - - self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name) - geometry_obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.geometry_name, type(geometry_obj))) - - self.fc.exec_command_test('set_sys units MM') - self.fc.exec_command_test('new') - - # object should not exists anymore - geometry_obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertIsNone(geometry_obj, "Expected object to be None, instead, %s is %s" - % (self.geometry_name, type(geometry_obj))) diff --git a/tests/test_tclCommands/test_TclCommandNewGeometry.py b/tests/test_tclCommands/test_TclCommandNewGeometry.py deleted file mode 100644 index 72e069c6..00000000 --- a/tests/test_tclCommands/test_TclCommandNewGeometry.py +++ /dev/null @@ -1,14 +0,0 @@ -from FlatCAMObj import FlatCAMGeometry - - -def test_new_geometry(self): - """ - Test create new geometry - :param self: - :return: - """ - - self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name) - geometry_obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.geometry_name, type(geometry_obj))) diff --git a/tests/test_tclCommands/test_TclCommandOpenExcellon.py b/tests/test_tclCommands/test_TclCommandOpenExcellon.py deleted file mode 100644 index 7570ea53..00000000 --- a/tests/test_tclCommands/test_TclCommandOpenExcellon.py +++ /dev/null @@ -1,15 +0,0 @@ -from FlatCAMObj import FlatCAMExcellon - - -def test_open_excellon(self): - """ - Test open excellon file - :param self: - :return: - """ - - self.fc.exec_command_test('open_excellon %s/%s -outname %s' - % (self.gerber_files, self.excellon_filename, self.excellon_name)) - excellon_obj = self.fc.collection.get_by_name(self.excellon_name) - self.assertTrue(isinstance(excellon_obj, FlatCAMExcellon), "Expected FlatCAMExcellon, instead, %s is %s" - % (self.excellon_name, type(excellon_obj))) diff --git a/tests/test_tclCommands/test_TclCommandOpenGerber.py b/tests/test_tclCommands/test_TclCommandOpenGerber.py deleted file mode 100644 index 71d50b0d..00000000 --- a/tests/test_tclCommands/test_TclCommandOpenGerber.py +++ /dev/null @@ -1,25 +0,0 @@ -from FlatCAMObj import FlatCAMGerber - - -def test_open_gerber(self): - """ - Test open gerber file - :param self: - :return: - """ - - self.fc.exec_command_test('open_gerber %s/%s -outname %s' - % (self.gerber_files, self.copper_top_filename, self.gerber_top_name)) - gerber_top_obj = self.fc.collection.get_by_name(self.gerber_top_name) - self.assertTrue(isinstance(gerber_top_obj, FlatCAMGerber), "Expected FlatCAMGerber, instead, %s is %s" - % (self.gerber_top_name, type(gerber_top_obj))) - - self.fc.exec_command_test('open_gerber %s/%s -outname %s' - % (self.gerber_files, self.copper_bottom_filename, self.gerber_bottom_name)) - gerber_bottom_obj = self.fc.collection.get_by_name(self.gerber_bottom_name) - self.assertTrue(isinstance(gerber_bottom_obj, FlatCAMGerber), "Expected FlatCAMGerber, instead, %s is %s" - % (self.gerber_bottom_name, type(gerber_bottom_obj))) - - #just read with original name - self.fc.exec_command_test('open_gerber %s/%s' - % (self.gerber_files, self.copper_top_filename)) diff --git a/tests/test_tclCommands/test_TclCommandPaintPolygon.py b/tests/test_tclCommands/test_TclCommandPaintPolygon.py deleted file mode 100644 index cc0c5616..00000000 --- a/tests/test_tclCommands/test_TclCommandPaintPolygon.py +++ /dev/null @@ -1,25 +0,0 @@ -from FlatCAMObj import FlatCAMGeometry - - -def test_paint_polygon(self): - """ - Test create paint polygon geometry - :param self: - :return: - """ - - self.fc.exec_command_test('new_geometry "%s"' % self.geometry_name) - geometry_obj = self.fc.collection.get_by_name(self.geometry_name) - self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - % (self.geometry_name, type(geometry_obj))) - - points = '0 0 20 0 10 10 0 10' - - self.fc.exec_command_test('add_polygon "%s" %s' % (self.geometry_name, points)) - - # TODO rename to paint_polygon in future oop command implementation - self.fc.exec_command_test('paint_poly "%s" 5 5 2 0.5' % (self.geometry_name)) - geometry_obj = self.fc.collection.get_by_name(self.geometry_name+'_paint') - # TODO uncoment check after oop implementation, because of threading inside paint poly - #self.assertTrue(isinstance(geometry_obj, FlatCAMGeometry), "Expected FlatCAMGeometry, instead, %s is %s" - # % (self.geometry_name+'_paint', type(geometry_obj))) diff --git a/tests/test_tcl_shell.py b/tests/test_tcl_shell.py deleted file mode 100644 index 0933f66b..00000000 --- a/tests/test_tcl_shell.py +++ /dev/null @@ -1,272 +0,0 @@ -import sys -import unittest -from PyQt5 import QtWidgets, QtGui -from PyQt5.QtCore import QThread - -from FlatCAMApp import App -from os import listdir -from os.path import isfile -from FlatCAMObj import FlatCAMGerber, FlatCAMGeometry, FlatCAMCNCjob, FlatCAMExcellon -from flatcamGUI.ObjectUI import GerberObjectUI, GeometryObjectUI -from time import sleep -import os -import tempfile - - -class TclShellTest(unittest.TestCase): - - svg_files = 'tests/svg' - svg_filename = 'Arduino Nano3_pcb.svg' - gerber_files = 'tests/gerber_files' - copper_bottom_filename = 'detector_copper_bottom.gbr' - copper_top_filename = 'detector_copper_top.gbr' - cutout_filename = 'detector_contour.gbr' - excellon_filename = 'detector_drill.txt' - gerber_name = "gerber" - geometry_name = "geometry" - excellon_name = "excellon" - gerber_top_name = "top" - gerber_bottom_name = "bottom" - gerber_cutout_name = "cutout" - engraver_diameter = 0.3 - cutout_diameter = 3 - drill_diameter = 0.8 - - # load test methods to split huge test file into smaller pieces - # reason for this is reuse one test window only, - - # CANNOT DO THIS HERE!!! - # from tests.test_tclCommands import * - - @classmethod - def setUpClass(cls): - - cls.setup = True - cls.app = QtWidgets.QApplication(sys.argv) - - # Create App, keep app defaults (do not load - # user-defined defaults). - cls.fc = App(user_defaults=False) - cls.fc.ui.shell_dock.show() - - def setUp(self): - self.fc.exec_command_test('set_sys units MM') - self.fc.exec_command_test('new') - - @classmethod - def tearDownClass(cls): - - cls.fc.tcl = None - cls.app.closeAllWindows() - del cls.fc - del cls.app - pass - - def test_set_get_units(self): - """ - Tests setting and getting units via the ``set_sys`` command, - and persistance after ``new`` command. - - :return: None - """ - - # MM - self.fc.exec_command_test('set_sys units MM') - self.fc.exec_command_test('new') - - # IN - self.fc.exec_command_test('set_sys units IN') - self.fc.exec_command_test('new') - - # ---------------------------------------- - # Units must be IN - # ---------------------------------------- - units = self.fc.exec_command_test('get_sys units') - self.assertEqual(units, "IN") - - # MM - self.fc.exec_command_test('set_sys units MM') - self.fc.exec_command_test('new') - - # ---------------------------------------- - # Units must be MM - # ---------------------------------------- - units = self.fc.exec_command_test('get_sys units') - self.assertEqual(units, "MM") - - def test_gerber_flow(self): - """ - Typical workflow from Gerber to GCode. - - :return: None - """ - - gbr_cmd = 'open_gerber {path}/{filename} -outname {outname}' - - # ----------------------------------------- - # Open top layer and check for object type - # ----------------------------------------- - cmd = gbr_cmd.format( - path=self.gerber_files, - filename=self.copper_top_filename, - outname=self.gerber_top_name) - self.fc.exec_command_test(cmd) - gerber_top_obj = self.fc.collection.get_by_name(self.gerber_top_name) - self.assertTrue(isinstance(gerber_top_obj, FlatCAMGerber), - "Expected FlatCAMGerber, instead, %s is %s" % - (self.gerber_top_name, type(gerber_top_obj))) - - # -------------------------------------------- - # Open bottom layer and check for object type - # -------------------------------------------- - cmd = gbr_cmd.format( - path=self.gerber_files, - filename=self.copper_bottom_filename, - outname=self.gerber_bottom_name) - self.fc.exec_command_test(cmd) - gerber_bottom_obj = self.fc.collection.get_by_name(self.gerber_bottom_name) - self.assertTrue(isinstance(gerber_bottom_obj, FlatCAMGerber), - "Expected FlatCAMGerber, instead, %s is %s" % - (self.gerber_bottom_name, type(gerber_bottom_obj))) - - # -------------------------------------------- - # Open cutout layer and check for object type - # -------------------------------------------- - cmd = gbr_cmd.format( - path=self.gerber_files, - filename=self.cutout_filename, - outname=self.gerber_cutout_name - ) - self.fc.exec_command_test(cmd) - gerber_cutout_obj = self.fc.collection.get_by_name(self.gerber_cutout_name) - self.assertTrue(isinstance(gerber_cutout_obj, FlatCAMGerber), - "Expected FlatCAMGerber, instead, %s is %s" % - (self.gerber_cutout_name, type(gerber_cutout_obj))) - - # exteriors delete and join geometries for top layer - cmd = 'isolate {objname} -dia {dia}'.format( - objname=self.gerber_cutout_name, - dia=self.engraver_diameter) - self.fc.exec_command_test(cmd) - - cmd = 'exteriors {objname} -outname {outname}'.format( - objname=self.gerber_cutout_name + '_iso', - outname=self.gerber_cutout_name + '_iso_exterior') - self.fc.exec_command_test(cmd) - - cmd = 'delete {objname}'.format( - objname=self.gerber_cutout_name + '_iso') - self.fc.exec_command_test(cmd) - - # TODO: Check deleteb object is gone. - - # -------------------------------------------- - # Exteriors of cutout layer, check type - # -------------------------------------------- - obj = self.fc.collection.get_by_name(self.gerber_cutout_name + '_iso_exterior') - self.assertTrue(isinstance(obj, FlatCAMGeometry), - "Expected FlatCAMGeometry, instead, %s is %s" % - (self.gerber_cutout_name + '_iso_exterior', type(obj))) - - # mirror bottom gerbers - self.fc.exec_command_test('mirror %s -box %s -axis X' % (self.gerber_bottom_name, self.gerber_cutout_name)) - self.fc.exec_command_test('mirror %s -box %s -axis X' % (self.gerber_cutout_name, self.gerber_cutout_name)) - - # exteriors delete and join geometries for bottom layer - self.fc.exec_command_test( - 'isolate %s -dia %f -outname %s' % - (self.gerber_cutout_name, self.engraver_diameter, self.gerber_cutout_name + '_bottom_iso') - ) - self.fc.exec_command_test( - 'exteriors %s -outname %s' % - (self.gerber_cutout_name + '_bottom_iso', self.gerber_cutout_name + '_bottom_iso_exterior') - ) - self.fc.exec_command_test('delete %s' % (self.gerber_cutout_name + '_bottom_iso')) - obj = self.fc.collection.get_by_name(self.gerber_cutout_name + '_bottom_iso_exterior') - self.assertTrue(isinstance(obj, FlatCAMGeometry), - "Expected FlatCAMGeometry, instead, %s is %s" % - (self.gerber_cutout_name + '_bottom_iso_exterior', type(obj))) - - # at this stage we should have 5 objects - names = self.fc.collection.get_names() - self.assertEqual(len(names), 5, - "Expected 5 objects, found %d" % len(names)) - - # isolate traces - self.fc.exec_command_test('isolate %s -dia %f' % (self.gerber_top_name, self.engraver_diameter)) - self.fc.exec_command_test('isolate %s -dia %f' % (self.gerber_bottom_name, self.engraver_diameter)) - - # join isolated geometries for top and bottom - self.fc.exec_command_test( - 'join_geometries %s %s %s' % - (self.gerber_top_name + '_join_iso', self.gerber_top_name + '_iso', - self.gerber_cutout_name + '_iso_exterior') - ) - self.fc.exec_command_test( - 'join_geometries %s %s %s' % - (self.gerber_bottom_name + '_join_iso', self.gerber_bottom_name + '_iso', - self.gerber_cutout_name + '_bottom_iso_exterior') - ) - - # at this stage we should have 9 objects - names = self.fc.collection.get_names() - self.assertEqual(len(names), 9, - "Expected 9 objects, found %d" % len(names)) - - # clean unused isolations - self.fc.exec_command_test('delete %s' % (self.gerber_bottom_name + '_iso')) - self.fc.exec_command_test('delete %s' % (self.gerber_top_name + '_iso')) - self.fc.exec_command_test('delete %s' % (self.gerber_cutout_name + '_iso_exterior')) - self.fc.exec_command_test('delete %s' % (self.gerber_cutout_name + '_bottom_iso_exterior')) - - # at this stage we should have 5 objects again - names = self.fc.collection.get_names() - self.assertEqual(len(names), 5, - "Expected 5 objects, found %d" % len(names)) - - # geocutout bottom test (it cuts to same object) - self.fc.exec_command_test( - 'isolate %s -dia %f -outname %s' % - (self.gerber_cutout_name, self.cutout_diameter, self.gerber_cutout_name + '_bottom_iso') - ) - self.fc.exec_command_test( - 'exteriors %s -outname %s' % - (self.gerber_cutout_name + '_bottom_iso', self.gerber_cutout_name + '_bottom_iso_exterior') - ) - self.fc.exec_command_test('delete %s' % (self.gerber_cutout_name + '_bottom_iso')) - obj = self.fc.collection.get_by_name(self.gerber_cutout_name + '_bottom_iso_exterior') - self.assertTrue(isinstance(obj, FlatCAMGeometry), - "Expected FlatCAMGeometry, instead, %s is %s" % - (self.gerber_cutout_name + '_bottom_iso_exterior', type(obj))) - self.fc.exec_command_test('geocutout %s -dia %f -gapsize 0.3 -gaps 4' % - (self.gerber_cutout_name + '_bottom_iso_exterior', self.cutout_diameter)) - - # at this stage we should have 6 objects - names = self.fc.collection.get_names() - self.assertEqual(len(names), 6, - "Expected 6 objects, found %d" % len(names)) - - # TODO: tests for tcl - - def test_open_gerber(self): - - self.fc.exec_command_test('open_gerber %s/%s -outname %s' % - (self.gerber_files, self.copper_top_filename, self.gerber_top_name)) - gerber_top_obj = self.fc.collection.get_by_name(self.gerber_top_name) - self.assertTrue(isinstance(gerber_top_obj, FlatCAMGerber), - "Expected FlatCAMGerber, instead, %s is %s" % - (self.gerber_top_name, type(gerber_top_obj))) - - def test_excellon_flow(self): - - self.fc.exec_command_test('open_excellon %s/%s -outname %s' % - (self.gerber_files, self.excellon_filename, self.excellon_name)) - excellon_obj = self.fc.collection.get_by_name(self.excellon_name) - self.assertTrue(isinstance(excellon_obj, FlatCAMExcellon), - "Expected FlatCAMExcellon, instead, %s is %s" % - (self.excellon_name, type(excellon_obj))) - - # mirror bottom excellon - self.fc.exec_command_test('mirror %s -box %s -axis X' % (self.excellon_name, self.gerber_cutout_name)) - - # TODO: tests for tcl diff --git a/tests/test_voronoi.py b/tests/test_voronoi.py deleted file mode 100644 index 71a62942..00000000 --- a/tests/test_voronoi.py +++ /dev/null @@ -1,26 +0,0 @@ -""" -Test cases for Voronoi Diagram creation. -Overall, I'm trying less to test the correctness of the result -and more to cover input cases and behavior, making sure -that we return a sane result without error or raise a useful one. -""" - -import pytest - -from shapely.geos import geos_version -from shapely.wkt import loads as load_wkt - -from shapely.ops import voronoi_diagram - -requires_geos_35 = pytest.mark.skipif(geos_version < (3, 5, 0), reason='GEOS >= 3.5.0 is required.') - -@requires_geos_35 -def test_from_multipoint_without_tolerace_with_floating_point_coordinates(): - """But it's fine without it.""" - mp = load_wkt('MULTIPOINT (20.1273 18.7303, 26.5107 18.7303, 20.1273 23.8437, 26.5107 23.8437)') - - regions = voronoi_diagram(mp) - print("Len: %d -> Regions: %s" % (len(regions), str(regions))) - -print(geos_version) -test_from_multipoint_without_tolerace_with_floating_point_coordinates() diff --git a/tests/titlebar_custom.py b/tests/titlebar_custom.py deleted file mode 100644 index f136d0a6..00000000 --- a/tests/titlebar_custom.py +++ /dev/null @@ -1,197 +0,0 @@ -# ######################################################## -# # customize Title bar -# # dotpy.ir -# # iraj.jelo@gmail.com -# ######################################################## -import sys -from PyQt6 import QtWidgets, QtGui -from PyQt6 import QtCore -from PyQt6.QtCore import Qt - -from datetime import datetime -import traceback - - -class TitleBar(QtWidgets.QDialog): - def __init__(self, parent=None): - QtWidgets.QWidget.__init__(self, parent) - self.setWindowFlags(Qt.WindowType.FramelessWindowHint) - css = """ - QWidget{ - Background: #0000FF; - color:white; - font:12px bold; - font-weight:bold; - border-radius: 1px; - height: 11px; - } - QDialog{ - Background-image:url('img/titlebar bg.png'); - font-size:12px; - color: black; - - } - QToolButton{ - Background:#AA00AA; - font-size:11px; - } - QToolButton:hover{ - Background: #FF00FF; - font-size:11px; - } - """ - self.setAutoFillBackground(True) - self.setBackgroundRole(QtGui.QPalette.ColorRole.Highlight) - self.setStyleSheet(css) - self.minimize = QtWidgets.QToolButton(self) - self.minimize.setIcon(QtGui.QIcon('img/min.png')) - self.maximize = QtWidgets.QToolButton(self) - self.maximize.setIcon(QtGui.QIcon('img/max.png')) - close = QtWidgets.QToolButton(self) - close.setIcon(QtGui.QIcon('img/close.png')) - self.minimize.setMinimumHeight(10) - close.setMinimumHeight(10) - self.maximize.setMinimumHeight(10) - label = QtWidgets.QLabel(self) - label.setText("Window Title") - self.setWindowTitle("Window Title") - hbox = QtWidgets.QHBoxLayout(self) - hbox.addWidget(label) - hbox.addWidget(self.minimize) - hbox.addWidget(self.maximize) - hbox.addWidget(close) - hbox.insertStretch(1, 500) - hbox.setSpacing(0) - self.setSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed) - self.maxNormal = False - close.clicked.connect(self.close) - self.minimize.clicked.connect(self.showSmall) - self.maximize.clicked.connect(self.showMaxRestore) - - @staticmethod - def showSmall(): - box.showMinimized() - - def showMaxRestore(self): - if self.maxNormal: - box.showNormal() - self.maxNormal = False - self.maximize.setIcon(QtGui.QIcon('img/max.png')) - else: - box.showMaximized() - self.maxNormal = True - self.maximize.setIcon(QtGui.QIcon('img/max2.png')) - - def close(self): - box.close() - - def mousePressEvent(self, event): - if event.button() == Qt.MouseButton.LeftButton: - box.moving = True - box.offset = event.position() - if event.type() == QtCore.QEvent.Type.MouseButtonDblClick: - self.showMaxRestore() - - def mouseMoveEvent(self, event): - if box.isMaximized(): - self.showMaxRestore() - box.move(event.globalPosition().toPoint() - box.offset) - else: - if box.moving: - box.move(event.globalPosition().toPoint() - box.offset) - - -class Frame(QtWidgets.QFrame): - def __init__(self, parent=None): - QtWidgets.QFrame.__init__(self, parent) - - self.m_old_pos = None - self.m_mouse_down = False - self.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel) - css = """ - QFrame{ - Background: #FFFFF0; - color:white; - font:13px ; - font-weight:bold; - } - """ - self.setStyleSheet(css) - self.setWindowFlags(Qt.WindowType.FramelessWindowHint) - self.setMouseTracking(True) - self.m_titleBar = TitleBar(self) - self.m_content = QtWidgets.QWidget(self) - vbox = QtWidgets.QVBoxLayout(self) - vbox.addWidget(self.m_titleBar) - vbox.setContentsMargins(0, 0, 0, 0) - vbox.setSpacing(0) - layout = QtWidgets.QVBoxLayout() - layout.addWidget(self.m_content) - layout.setContentsMargins(5, 5, 5, 5) - layout.setSpacing(0) - vbox.addLayout(layout) - # Allows you to access the content area of the frame - # where widgets and layouts can be added - - def contentWidget(self): - return self.m_content - - def titleBar(self): - return self.m_titleBar - - def mousePressEvent(self, event): - self.m_old_pos = event.pos() - self.m_mouse_down = event.button() == Qt.MouseButton.LeftButton - - def mouseMoveEvent(self, event): - event.position().x() - event.position().y() - - def mouseReleaseEvent(self, event): - self.m_mouse_down = False - - -if __name__ == '__main__': - def excepthook(exc_type, exc_value, exc_tb): - msg = '%s\n' % str(datetime.today()) - if exc_type != KeyboardInterrupt: - msg += "".join(traceback.format_exception(exc_type, exc_value, exc_tb)) - - # show the message - try: - msgbox = QtWidgets.QMessageBox() - displayed_msg = "The application encountered a critical error and it will close.\n" \ - "Please report this error to the developers." - - msgbox.setText(displayed_msg) - msgbox.setDetailedText(msg) - msgbox.setWindowTitle("Critical Error") - # msgbox.setWindowIcon() - msgbox.setIcon(QtWidgets.QMessageBox.Icon.Critical) - - bt_yes = msgbox.addButton("Quit", QtWidgets.QMessageBox.ButtonRole.YesRole) - - msgbox.setDefaultButton(bt_yes) - # msgbox.setTextFormat(Qt.TextFormat.RichText) - msgbox.exec() - except Exception: - pass - QtWidgets.QApplication.quit() - # or QtWidgets.QApplication.exit(0) - - - sys.excepthook = excepthook - - app = QtWidgets.QApplication(sys.argv) - box = Frame() - box.move(60, 60) - - le = QtWidgets.QVBoxLayout(box.contentWidget()) - - le.setContentsMargins(0, 0, 0, 0) - edit = QtWidgets.QLabel("""I would've did anything for you to show you how much I adored you -But it's over now, it's too late to save our loveJust promise me you'll think of me -Every time you look up in the sky and see a star 'cuz I'm your star.""") - le.addWidget(edit) - box.show() - app.exec() diff --git a/tests/toolpath_optimization_profiling/toollift_minimization_line_profile1.py b/tests/toolpath_optimization_profiling/toollift_minimization_line_profile1.py deleted file mode 100644 index c66245bc..00000000 --- a/tests/toolpath_optimization_profiling/toollift_minimization_line_profile1.py +++ /dev/null @@ -1,8 +0,0 @@ -# Run kernprof -l -v gerber_parsing_line_profile_1.py -import sys -sys.path.append('../../') -from camlib import * -from shapely.geometry import Polygon - -poly = Polygon([(0.0, 0.0), (1.0, 0.0), (1.0, 0.5), (0.0, 0.5)]) -result = Geometry.clear_polygon2(poly, 0.01) diff --git a/tests/toolpath_optimization_profiling/toollift_minimization_profile1.py b/tests/toolpath_optimization_profiling/toollift_minimization_profile1.py deleted file mode 100644 index 038e09b3..00000000 --- a/tests/toolpath_optimization_profiling/toollift_minimization_profile1.py +++ /dev/null @@ -1,11 +0,0 @@ -import cProfile -import pstats -from camlib import * -from shapely.geometry import Polygon - -poly = Polygon([(0.0, 0.0), (1.0, 0.0), (1.0, 0.5), (0.0, 0.5)]) - -cProfile.run('result = Geometry.clear_polygon2(poly, 0.01)', - 'toollist_minimization_profile', sort='cumtime') -p = pstats.Stats('toollist_minimization_profile') -p.sort_stats('cumulative').print_stats(.1) \ No newline at end of file