diff --git a/inkex/elements/_svg.py b/inkex/elements/_svg.py index 142d2ca7ff227c5c1a8a90e2fe37300fbc8417d8..7cd9057b7993be2a3ce78051e554338aa04b9a3d 100644 --- a/inkex/elements/_svg.py +++ b/inkex/elements/_svg.py @@ -27,6 +27,7 @@ Provide a way to load lxml attributes with an svg API on top. import random import math +import re from lxml import etree @@ -167,7 +168,9 @@ class SvgDocumentElement(DeprecatedSvgMixin, ISVGDocumentElement, BaseElement): def get_viewbox(self): """Parse and return the document's viewBox attribute""" try: - ret = [float(unit) for unit in self.get("viewBox", "0").split()] + ret = [ + float(unit) for unit in re.split(",\s*|\s+", self.get("viewBox", "0")) + ] except ValueError: ret = "" if len(ret) != 4: diff --git a/synfig_output.py b/synfig_output.py index 2a37c84582f2f612a95b8fd83cd3c3a5abe028ca..327c0136c159721a2998e57cab5cb2cf0a789b2e 100755 --- a/synfig_output.py +++ b/synfig_output.py @@ -1146,7 +1146,7 @@ class SynfigExport(SynfigPrep): height = get_dimension(svg.get("height", 768)) title = svg.getElement("svg:title") - if title: + if title is not None: name = title.text else: name = svg.get("sodipodi:docname", "Synfig Animation 1") diff --git a/synfig_prepare.py b/synfig_prepare.py index a4dbd14697e7ea993c9ca527d36b5101af851305..9899eec6d603d3ec41533f4a6092a39d6212ab95 100755 --- a/synfig_prepare.py +++ b/synfig_prepare.py @@ -24,6 +24,9 @@ Simplifies SVG files in preparation for sif export. import os import tempfile from subprocess import PIPE, Popen +from inkex.command import inkscape, write_svg, ProgramRunError +from inkex.localization import inkex_gettext as _ +from inkex.base import TempDirMixin import inkex from inkex import ( @@ -47,243 +50,63 @@ class MalformedSVGError(Exception): self.value = value def __str__(self): - return """SVG document is invalid or contains unsupported features + return ( + _( + """SVG document is invalid or contains unsupported features Error message: %s The SVG to Synfig converter is designed to handle SVG files that were created using Inkscape. Unsupported features are most likely to occur in SVG files written by other programs. -""" % repr( - self.value - ) - - -class InkscapeActionGroup(object): - """A class for calling Inkscape to perform operations on a document""" - - def __init__(self, svg_document=None): - self.command = "" - self.init_args = "" - self.has_selection = False - self.has_action = False - self.set_svg_document(svg_document) - - def set_svg_document(self, svg_document): - """Set the SVG document that Inkscape will operate on""" - self.svg_document = svg_document - self.svg = svg_document.getroot() - - def set_init_args(self, cmd): - """Set the initial arguments to Inkscape subprocess - - Can be used to pass additional arguments to Inkscape, or an initializer - command (e.g. unlock all objects before proceeding). - """ - self.init_args = cmd - - def clear(self): - """Clear all actions""" - self.command = "" - self.has_action = False - self.has_selection = False - - def verb(self, verb): - """Run an Inkscape verb - - For a list of verbs, run `inkscape --verb-list` - """ - if self.has_selection: - self.command += "--verb=%s " % verb - - if not self.has_action: - self.has_action = True - - def select_id(self, object_id): - """Select object with given id""" - self.command += "--select=%s " % object_id - if not self.has_selection: - self.has_selection = True - - def select_node(self, node): - """Select the object represented by the SVG node - - Selection will fail if node has no id attribute - """ - node_id = node.get("id", None) - if node_id is None: - raise MalformedSVGError("Node has no id") - self.select_id(node_id) - - def select_nodes(self, nodes): - """Select objects represented by SVG nodes - - Selection will fail if any node has no id attribute - """ - for node in nodes: - self.select_node(node) - - def select_xpath(self, xpath): - """Select objects matching a given XPath expression - - Selection will fail if any matching node has no id attribute - """ - self.select_nodes(self.svg.xpath(xpath)) - - def deselect(self): - """Deselect all objects""" - if self.has_selection: - self.verb("EditDeselect") - self.has_selection = False - - def run_file(self, filename): - """Run the actions on a specific file""" - if not self.has_action: - return - - cmd = self.init_args + " " + self.command + "--verb=FileSave --verb=FileQuit" - p = Popen( - 'inkscape "{}" {}'.format(filename, cmd), - shell=True, - stdout=PIPE, - stderr=PIPE, +""" + ) + % repr(self.value) ) - rc = p.wait() - f = p.stdout - err = p.stderr - - f.close() - err.close() - - def run_document(self): - """Run the actions on the svg xml tree""" - if not self.has_action: - return self.svg_document - - # First save the document - svgfile = tempfile.mktemp(".svg") - self.svg_document.write(svgfile) - # Run the action on the document - self.run_file(svgfile) - # Open the resulting file - with open(svgfile, "r") as stream: - self.svg_document = load_svg(stream) - - # Clean up. - try: - os.remove(svgfile) - except Exception: - pass - - # Return the new document - return self.svg_document - - -class SynfigExportActionGroup(InkscapeActionGroup): - """An action group with stock commands designed for Synfig exporting""" - - def __init__(self, svg_document=None): - InkscapeActionGroup.__init__(self, svg_document) - self.set_init_args("--verb=UnlockAllInAllLayers") - self.objects_to_paths() - self.unlink_clones() - - def objects_to_paths(self): - """Convert unsupported objects to paths""" - # Flow roots contain rectangles inside them, so they need to be - # converted to paths separately from other shapes - self.select_xpath("//svg:flowRoot") - self.verb("ObjectToPath") - self.deselect() - - non_paths = [ - "svg:rect", - "svg:circle", - "svg:ellipse", - "svg:line", - "svg:polyline", - "svg:polygon", - "svg:text", - ] - - # Build an xpath command to select these nodes - xpath_cmd = " | ".join(["//" + np for np in non_paths]) - - # Select all of these elements - # Note: already selected elements are not deselected - self.select_xpath(xpath_cmd) +###### Utility Functions ################################## - # Convert them to paths - self.verb("ObjectToPath") - self.deselect() +### Path related - def unlink_clones(self): - """Unlink clones (remove elements)""" - self.select_xpath("//svg:use") - self.verb("EditUnlinkClone") - self.deselect() +def fuse_subpaths(path: inkex.Path): + """Fuse subpaths of a path. Should only be used on unstroked paths. + The idea is to replace every moveto by a lineto, and then walk all the extra lines + backwards to get the same fill. For unfilled paths, this gives visually good results + in cases with not-too-complex paths, i.e. no intersections. + There may be extra zero-length Lineto commands.""" -###### Utility Functions ################################## + result = inkex.Path() + return_stack = [] + for i, seg in enumerate(path.proxy_iterator()): + if seg.letter not in "zZmM": + result.append(seg.command) + elif i == 0: + result.append(seg.command) + first = seg.end_point + else: + # Add a line instead of the ZoneClose / Move command, and store + # the initial position. + return_to = seg.previous_end_point + if seg.letter in "mM": + if seg.previous_end_point != first: # only close if needed + # all paths must be closed for this algorithm to work. Since + # the path doesn't have a stroke, it's visually irrellevant. + result.append(inkex.paths.Line(*first)) + return_to = first -### Path related + return_stack += [return_to] + result.append(inkex.paths.Line(*seg.end_point)) + first = seg.end_point -def fuse_subpaths(path_node): - """Fuse subpaths of a path. Should only be used on unstroked paths""" - path = path_node.path.to_arrays() + # also close the last subpath + return_stack += [first] - if len(path) == 0: - return + # now apply the return stack backwards + for point in return_stack[::-1]: + result.append(inkex.paths.Line(*point)) - i = 0 - initial_point = [path[i][1][-2], path[i][1][-1]] - prev_end = initial_point[:] - return_stack = [] - while i < len(path): - # Remove any terminators: they are redundant - if path[i][0] == "Z": - path.remove(["Z", []]) - continue - - if path[i][0] == "V": - prev_end[0] = path[i][1][0] - i += 1 - continue - elif path[i][0] == "H": - prev_end[1] = path[i][1][0] - i += 1 - continue - elif path[1][0] != "M" or i == 0: - prev_end = path[i][1][-2:] - i += 1 - continue - - # This element begins a new path - it should be a moveto - assert path[i][0] == "M" - - # Swap it for a lineto - path[i][0] = "L" - # If the old subpath has not been closed yet, close it - if prev_end != initial_point: - path.insert(i, ["L", initial_point]) - i += 1 - - # Set the initial point of this subpath - initial_point = path[i][1][-2:] - - # Append this point to the return stack - return_stack.append(initial_point) - # end while - - # Now pop the entire return stack - while return_stack: - el = ["L", return_stack.pop()] - path.insert(i, el) - i += 1 - - path_d = str(inkex.Path(path)) - path_node.set("d", path_d) + return result def split_fill_and_stroke(path_node): @@ -445,12 +268,11 @@ def get_dimension(s="1024"): ###### Main Class ######################################### -class SynfigPrep(inkex.EffectExtension): +class SynfigPrep(TempDirMixin, inkex.EffectExtension): def effect(self): """Transform document in preparation for exporting it into the Synfig format""" - a = SynfigExportActionGroup(self.document) - self.document = a.run_document() + self.preprocess() # Remove inheritance of attributes propagate_attribs(self.document.getroot()) @@ -461,7 +283,40 @@ class SynfigPrep(inkex.EffectExtension): # There are multiple subpaths fill = split_fill_and_stroke(node)[0] if fill is not None: - fuse_subpaths(fill) + fill.path = fuse_subpaths(fill.path) + + def preprocess(self): + + actions = [ + "unlock-all", + # Flow roots contain rectangles inside them, so they need to be + # converted to paths separately from other shapes + "select-by-element:flowRoot", + "object-to-path", + "select-clear", + ] + + # Now convert all non-paths to paths + elements = ["rect", "circle", "ellipse", "line", "polyline", "polygon", "text"] + actions += ["select-by-element:" + i for i in elements] + actions += ["object-to-path", "select-clear"] + # unlink clones + actions += ["select-by-element:use", "object-unlink-clones"] + # save and overwrite + actions += ["export-overwrite", "export-do"] + + infile = os.path.join(self.tempdir, "input.svg") + write_svg(self.document, infile) + try: + inkscape(infile, actions=";".join(actions)) + except ProgramRunError as err: + inkex.errormsg(_("An error occurred during document preparation")) + inkex.errormsg(err.stderr.decode("utf-8")) + + with open(infile, "r") as stream: + self.document = load_svg(stream) + + return self.document if __name__ == "__main__": diff --git a/tests/data/cmd/inkscape/9f18b1246e864e6f3945f8cd64d6ca14.msg b/tests/data/cmd/inkscape/9f18b1246e864e6f3945f8cd64d6ca14.msg new file mode 100644 index 0000000000000000000000000000000000000000..a569ec37943897c9cc47b5359226dc1c5a88adf0 --- /dev/null +++ b/tests/data/cmd/inkscape/9f18b1246e864e6f3945f8cd64d6ca14.msg @@ -0,0 +1,603 @@ +Content-Type: multipart/mixed; boundary="--CALLDATA--//--CALLDATA--" +MIME-Version: 1.0 +Program: inkscape +Arguments: --actions=unlock-all;select-by-element:flowRoot;object-to-path;select-clear;select-by-element:rect;select-by-element:circle;select-by-element:ellipse;select-by-element:line;select-by-element:polyline;select-by-element:polygon;select-by-element:text;object-to-path;select-clear;select-by-element:use;object-unlink-clones;export-overwrite;export-do input.svg + +----CALLDATA--//--CALLDATA-- +Content-Type: application/octet-stream; Name="input.svg" +MIME-Version: 1.0 +Content-Transfer-Encoding: base64 +Content-Disposition: attachment +Filename: input.svg + +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjwh +LS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoK +PHN2ZwogICB3aWR0aD0iMTAwMCIKICAgaGVpZ2h0PSIxMDAwIgogICB2aWV3Qm94PSIwIDAgMTAw +MCAxMDAwIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc4IgogICBpbmtzY2FwZTp2ZXJzaW9u +PSIwLjkyLjQgNWRhNjg5YzMxMywgMjAxOS0wMS0xNCIKICAgc29kaXBvZGk6ZG9jbmFtZT0iaW5w +dXQuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNw +YWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vm +b3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv +MjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHht +bG5zOm5zMT0iaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2plc3N5aW5rIj4KICA8ZGVmcwogICAgIGlk +PSJkZWZzMzMiPgogICAgPG1hcmtlcgogICAgICAgaW5rc2NhcGU6c3RvY2tpZD0iQXJyb3cyTHN0 +YXJ0IgogICAgICAgb3JpZW50PSJhdXRvIgogICAgICAgcmVmWT0iMC4wIgogICAgICAgcmVmWD0i +MC4wIgogICAgICAgaWQ9IkFycm93MkxzdGFydCIKICAgICAgIHN0eWxlPSJvdmVyZmxvdzp2aXNp +YmxlIgogICAgICAgaW5rc2NhcGU6aXNzdG9jaz0idHJ1ZSI+CiAgICAgIDxwYXRoCiAgICAgICAg +IGlkPSJwYXRoODU5IgogICAgICAgICBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLXdp +ZHRoOjAuNjI1O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2U6IzAwMDAwMDtzdHJva2Utb3Bh +Y2l0eToxO2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MSIKICAgICAgICAgZD0iTSA4LjcxODU4 +NzgsNC4wMzM3MzUyIEwgLTIuMjA3Mjg5NSwwLjAxNjAxMzI1NiBMIDguNzE4NTg4NCwtNC4wMDE3 +MDc4IEMgNi45NzMwOTAwLC0xLjYyOTY0NjkgNi45ODMxNDc2LDEuNjE1NzQ0MSA4LjcxODU4Nzgs +NC4wMzM3MzUyIHogIgogICAgICAgICB0cmFuc2Zvcm09InNjYWxlKDEuMSkgdHJhbnNsYXRlKDEs +MCkiIC8+CiAgICA8L21hcmtlcj4KICA8L2RlZnM+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAg +IHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3Jk +ZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5j +ZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5 +PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdp +ZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTciCiAgICAgaWQ9ImJh +c2UiCiAgICAgc2hvd2dyaWQ9InRydWUiCiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5l +PSJ0cnVlIgogICAgIGlua3NjYXBlOnpvb209IjAuNjY3NTA4OCIKICAgICBpbmtzY2FwZTpjeD0i +MjAyLjczNDkiCiAgICAgaW5rc2NhcGU6Y3k9IjQ4MS4xNjk4NiIKICAgICBpbmtzY2FwZTp3aW5k +b3cteD0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ct +bWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9IndlYnNsaWNlci1sYXll +ciIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIgogICAgIGlua3NjYXBlOmRlc2tj +b2xvcj0iI2QxZDFkMSI+CiAgICA8aW5rc2NhcGU6Z3JpZAogICAgICAgdHlwZT0ieHlncmlkIgog +ICAgICAgaWQ9ImdyaWQyNyIKICAgICAgIHNwYWNpbmd4PSIxMCIKICAgICAgIHNwYWNpbmd5PSIx +MCIKICAgICAgIGVtcHNwYWNpbmc9IjEwIgogICAgICAgY29sb3I9IiM4MDgwZmYiCiAgICAgICBv +cGFjaXR5PSIwLjI1MDk4MDM5IgogICAgICAgZW1wY29sb3I9IiMwMDAwZmYiCiAgICAgICBlbXBv +cGFjaXR5PSIwLjI1MDk4MDM5IiAvPgogIDwvc29kaXBvZGk6bmFtZWR2aWV3PgogIDxnCiAgICAg +aW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0id2Vic2xpY2VyLWxheWVyIgogICAg +IGlua3NjYXBlOmxhYmVsPSJTbGlkZTMiCiAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lIj4KICAg +IDxwYXRoCiAgICAgICBpZD0ic2xpY2VyZWN0MSIKICAgICAgIHN0eWxlPSJvcGFjaXR5OjAuNTtm +aWxsOiNmZjAwMDA7c3Ryb2tlLXdpZHRoOjEuMTE5MjciCiAgICAgICBkPSJtIDY1MS4zMDg5LDM1 +My45MjY2MSBoIDI0OC42OTExMiB2IDIwMS40OTgxIEggNjUxLjMwODkgWiI+CiAgICAgIDxkZXNj +CiAgICAgICAgIGlkPSJkZXNjNTEiPmZvcm1hdDogcG5nCmRwaTogOTYKbGF5b3V0LWRpc3Bvc2l0 +aW9uOiBiZy1lbC1ub3JlcGVhdApsYXlvdXQtcG9zaXRpb24tYW5jaG9yOiB0bDwvZGVzYz4KICAg +IDwvcGF0aD4KICA8L2c+CiAgPGcKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAg +IGlkPSJsYXllcjIiCiAgICAgaW5rc2NhcGU6bGFiZWw9IlNsaWRlMiIKICAgICBzdHlsZT0iZGlz +cGxheTppbmxpbmUiPgogICAgPHBhdGgKICAgICAgIGlkPSJjMSIKICAgICAgIHN0eWxlPSJkaXNw +bGF5OmlubGluZTtmaWxsOiMwMDAwODAiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iI3BhdGgzNzM2 +IgogICAgICAgZD0ibSAyMDAsNDUwIGEgNTAsNTAgMCAwIDEgLTUwLDUwIDUwLDUwIDAgMCAxIC01 +MCwtNTAgNTAsNTAgMCAwIDEgNTAsLTUwIDUwLDUwIDAgMCAxIDUwLDUwIHoiIC8+CiAgICA8cGF0 +aAogICAgICAgaWQ9ImMyIgogICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6bm9uZTtz +dHJva2U6I2ZmMDAwMDtzdHJva2Utd2lkdGg6MTYiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iI3Bh +dGgzNzM4IgogICAgICAgZD0iTSA1MDAsNDUwIEEgMTAwLDUwIDAgMCAxIDQwMCw1MDAgMTAwLDUw +IDAgMCAxIDMwMCw0NTAgMTAwLDUwIDAgMCAxIDQwMCw0MDAgMTAwLDUwIDAgMCAxIDUwMCw0NTAg +WiIgLz4KICAgIDxwYXRoCiAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZjAw +O3N0cm9rZTojMDA4MDAwO3N0cm9rZS13aWR0aDoxNiIKICAgICAgIGlkPSJjMyIKICAgICAgIHNv +ZGlwb2RpOnR5cGU9ImFyYyIKICAgICAgIHNvZGlwb2RpOmN4PSI3MDAiCiAgICAgICBzb2RpcG9k +aTpjeT0iNDUwIgogICAgICAgc29kaXBvZGk6cng9IjEwMCIKICAgICAgIHNvZGlwb2RpOnJ5PSI1 +MCIKICAgICAgIHNvZGlwb2RpOnN0YXJ0PSIwLjU5MDEzODY1IgogICAgICAgc29kaXBvZGk6ZW5k +PSI1LjY0ODQ1MTEiCiAgICAgICBkPSJtIDc4My4wODYzNSw0NzcuODIzODEgYSAxMDAsNTAgMCAw +IDEgLTExMS4wOTg0OCwyMC4xNzQ0MiAxMDAsNTAgMCAwIDEgLTcxLjk2MzAxLC00Ni44ODM0MyAx +MDAsNTAgMCAwIDEgNjcuNzExMjcsLTQ4LjQ0MDkxIDEwMCw1MCAwIDAgMSAxMTIuNzg2OCwxNy42 +Nzc5MyBMIDcwMCw0NTAgWiIKICAgICAgIGlua3NjYXBlOmxhYmVsPSIjcGF0aDM3NDAiIC8+CiAg +ICA8cGF0aAogICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6bm9uZTtzdHJva2U6IzAw +MDAwMDtzdHJva2Utd2lkdGg6MTA7bWFya2VyLXN0YXJ0OnVybCgjQXJyb3cyTHN0YXJ0KSIKICAg +ICAgIGQ9Ik0gMTAwLDYwMCAyMDAsNzAwIDMwMCw2MDAgNDAwLDcwMCIKICAgICAgIGlkPSJwMSIK +ICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTps +YWJlbD0iI3BhdGgzNzQ2IiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJkaXNwbGF5OmlubGlu +ZTtmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEwIgogICAgICAgZD0ibSA1 +MDAsNjAwIGMgMCwwIDAsMTAwIDEwMCwxMDAgMTAwLDAgMCwtMTAwIDEwMCwtMTAwIDEwMCwwIDEw +MCwxMDAgMTAwLDEwMCIKICAgICAgIGlkPSJwMiIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1j +dXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iI3BhdGgzNzQ4IiAvPgogICAgPHBh +dGgKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiCiAgICAgICBzdHlsZT0iZGlzcGxheTppbmxp +bmU7ZmlsbDojZmZmZjAwO3N0cm9rZTojMDA4MDAwO3N0cm9rZS13aWR0aDoxMCIKICAgICAgIGlk +PSJzMSIKICAgICAgIHNvZGlwb2RpOnNpZGVzPSI1IgogICAgICAgc29kaXBvZGk6Y3g9IjE4OS4w +MzAwMSIKICAgICAgIHNvZGlwb2RpOmN5PSI4NDcuOTM5NDUiCiAgICAgICBzb2RpcG9kaTpyMT0i +NjkuMzY0ODY4IgogICAgICAgc29kaXBvZGk6cjI9IjM0LjY4MjQzNCIKICAgICAgIHNvZGlwb2Rp +OmFyZzE9IjAuNjM1OTgzNzMiCiAgICAgICBzb2RpcG9kaTphcmcyPSIxLjI2NDMwMjMiCiAgICAg +ICBpbmtzY2FwZTpmbGF0c2lkZWQ9ImZhbHNlIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIK +ICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBkPSJtIDI0NC44MzMyLDg4OS4x +NDAwNSAtNDUuMzM4ODcsLTguMTM0NDYgLTMyLjQwNDI4LDMyLjczNzUzIC02LjI3NDE1LC00NS42 +MzM1MiAtNDEuMTQ4NzIsLTIwLjcwMTg0IDQxLjQ2MTI0LC0yMC4wNjg2MSA2Ljk3Mjk3LC00NS41 +MzE5NyAzMS44OTg2MSwzMy4yMzA0NCA0NS40NTgyNCwtNy40Mzg0NyAtMjEuNzQ2ODEsNDAuNjA2 +MTUgeiIKICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD0iNi40NjczMDExIgogICAg +ICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci15PSItMC4xNjQzMDEzNyIgLz4KICAgIDxwYXRo +CiAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIgogICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5l +O2ZpbGw6I2ZmZmYwMDtzdHJva2U6IzAwODAwMDtzdHJva2Utd2lkdGg6MTAiCiAgICAgICBpZD0i +dTEiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNSIKICAgICAgIHNvZGlwb2RpOmN4PSIzODkuMDMw +MDEiCiAgICAgICBzb2RpcG9kaTpjeT0iODUwLjkzNTY3IgogICAgICAgc29kaXBvZGk6cjE9IjY5 +LjM2NDg2OCIKICAgICAgIHNvZGlwb2RpOnIyPSIzNC42ODI0MzQiCiAgICAgICBzb2RpcG9kaTph +cmcxPSIwLjYzNTk4MzczIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4yNjQzMDIzIgogICAgICAg +aW5rc2NhcGU6ZmxhdHNpZGVkPSJmYWxzZSIKICAgICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAg +ICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgZD0ibSA0NDQuODMzMTksODkyLjEz +NjI2IC00NS4zMzg4OCwtOC4xMzQ0NSAtMzIuNDA0MjcsMzIuNzM3NTMgLTYuMjc0MTYsLTQ1LjYz +MzUyIC00MS4xNDg3MSwtMjAuNzAxODQgNDEuNDYxMjQsLTIwLjA2ODYxIDYuOTcyOTYsLTQ1LjUz +MTk3IDMxLjg5ODYxLDMzLjIzMDQzIDQ1LjQ1ODI1LC03LjQzODQ2IC0yMS43NDY4Miw0MC42MDYx +NSB6IgogICAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PSI2LjQ2NzMwMTEiCiAgICAg +ICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii0wLjE2NDMwMTM3IiAvPgogIDwvZz4KICA8 +ZwogICAgIGlua3NjYXBlOmxhYmVsPSJTbGlkZTEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJs +YXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSI+CiAgICA8 +ZwogICAgICAgYXJpYS1sYWJlbD0iSGVsbG8gV29ybGQiCiAgICAgICBpZD0idDEiCiAgICAgICBz +dHlsZT0iZm9udC1zaXplOjE0LjY2NjdweDtsaW5lLWhlaWdodDoxLjI1IgogICAgICAgaW5rc2Nh +cGU6bGFiZWw9IiN0ZXh0MTIiPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDEwMS40Mzk0Niw4 +OS4zMDc5MTggaCAxLjQ0NjYxIHYgNC4zODI4MjMgaCA1LjI1NjUzIHYgLTQuMzgyODIzIGggMS40 +NDY2MSBWIDEwMCBoIC0xLjQ0NjYxIHYgLTUuMDkxODA5IGggLTUuMjU2NTMgViAxMDAgaCAtMS40 +NDY2MSB6IgogICAgICAgICBpZD0icGF0aDgzIiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJt +IDExOS4yNzE1Myw5NS42NjAxNDYgdiAwLjY0NDUzMyBoIC02LjA1ODYxIHEgMC4wODU5LDEuMzYw +NjggMC44MTY0MSwyLjA3NjgyOCAwLjczNzYzLDAuNzA4OTg2IDIuMDQ4MTgsMC43MDg5ODYgMC43 +NTkxMiwwIDEuNDY4MSwtMC4xODYxOTkgMC43MTYxNSwtMC4xODYxOTggMS40MTc5OCwtMC41NTg1 +OTUgdiAxLjI0NjA5NyBxIC0wLjcwODk5LDAuMzAwNzgyIC0xLjQ1Mzc4LDAuNDU4MzM0IC0wLjc0 +NDgsMC4xNTc1NSAtMS41MTEwOCwwLjE1NzU1IC0xLjkxOTI3LDAgLTMuMDQzNjIsLTEuMTE3MTg3 +IC0xLjExNzE5LC0xLjExNzE5IC0xLjExNzE5LC0zLjAyMjE0MyAwLC0xLjk2OTQwNSAxLjA1OTks +LTMuMTIyNDAzIDEuMDY3MDYsLTEuMTYwMTU5IDIuODcxNzUsLTEuMTYwMTU5IDEuNjE4NDksMCAy +LjU1NjY0LDEuMDQ1NTc2IDAuOTQ1MzIsMS4wMzg0MTQgMC45NDUzMiwyLjgyODc4MiB6IG0gLTEu +MzE3NzEsLTAuMzg2NzE5IHEgLTAuMDE0MywtMS4wODEzODMgLTAuNjA4NzMsLTEuNzI1OTE2IC0w +LjU4NzI0LC0wLjY0NDUzMyAtMS41NjEyLC0wLjY0NDUzMyAtMS4xMDI4NywwIC0xLjc2ODg4LDAu +NjIzMDQ5IC0wLjY1ODg2LDAuNjIzMDQ4IC0wLjc1OTEyLDEuNzU0NTYxIHoiCiAgICAgICAgIGlk +PSJwYXRoODUiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTIxLjQzNDI5LDg4Ljg1Njc0 +NSBoIDEuMzE3NzIgViAxMDAgaCAtMS4zMTc3MiB6IgogICAgICAgICBpZD0icGF0aDg3IiAvPgog +ICAgICA8cGF0aAogICAgICAgICBkPSJtIDEyNS41MDkxNyw4OC44NTY3NDUgaCAxLjMxNzcxIFYg +MTAwIGggLTEuMzE3NzEgeiIKICAgICAgICAgaWQ9InBhdGg4OSIgLz4KICAgICAgPHBhdGgKICAg +ICAgICAgZD0ibSAxMzIuNjkyMTMsOTIuOTAyOTc4IHEgLTEuMDU5ODksMCAtMS42NzU3OCwwLjgz +MDczMiAtMC42MTU4OSwwLjgyMzU2OSAtMC42MTU4OSwyLjI2MzAyNiAwLDEuNDM5NDU2IDAuNjA4 +NzMsMi4yNzAxODcgMC42MTU4OCwwLjgyMzU3IDEuNjgyOTQsMC44MjM1NyAxLjA1Mjc0LDAgMS42 +Njg2MywtMC44MzA3MzEgMC42MTU4OCwtMC44MzA3MzEgMC42MTU4OCwtMi4yNjMwMjYgMCwtMS40 +MjUxMzQgLTAuNjE1ODgsLTIuMjU1ODY1IC0wLjYxNTg5LC0wLjgzNzg5MyAtMS42Njg2MywtMC44 +Mzc4OTMgeiBtIDAsLTEuMTE3MTkgcSAxLjcxODc2LDAgMi42OTk4OCwxLjExNzE5IDAuOTgxMTIs +MS4xMTcxOTEgMC45ODExMiwzLjA5Mzc1OCAwLDEuOTY5NDA1IC0wLjk4MTEyLDMuMDkzNzU3IC0w +Ljk4MTEyLDEuMTE3MTg3IC0yLjY5OTg4LDEuMTE3MTg3IC0xLjcyNTkxLDAgLTIuNzA3MDMsLTEu +MTE3MTg3IC0wLjk3Mzk2LC0xLjEyNDM1MiAtMC45NzM5NiwtMy4wOTM3NTcgMCwtMS45NzY1Njcg +MC45NzM5NiwtMy4wOTM3NTggMC45ODExMiwtMS4xMTcxOSAyLjcwNzAzLC0xLjExNzE5IHoiCiAg +ICAgICAgIGlkPSJwYXRoOTEiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTQyLjMyNDMx +LDg5LjMwNzkxOCBoIDEuNDYwOTQgbCAyLjI0ODcxLDkuMDM3NzgxIDIuMjQxNTQsLTkuMDM3Nzgx +IGggMS42MjU2NSBsIDIuMjQ4NzEsOS4wMzc3ODEgMi4yNDE1NCwtOS4wMzc3ODEgaCAxLjQ2ODEg +TCAxNTMuMTczOTUsMTAwIGggLTEuODE5MDIgTCAxNDkuMDk5MDcsOTAuNzE4NzI5IDE0Ni44MjE3 +MiwxMDAgaCAtMS44MTkwMSB6IgogICAgICAgICBpZD0icGF0aDkzIiAvPgogICAgICA8cGF0aAog +ICAgICAgICBkPSJtIDE1OS45NzAxOSw5Mi45MDI5NzggcSAtMS4wNTk5LDAgLTEuNjc1NzgsMC44 +MzA3MzIgLTAuNjE1ODksMC44MjM1NjkgLTAuNjE1ODksMi4yNjMwMjYgMCwxLjQzOTQ1NiAwLjYw +ODcyLDIuMjcwMTg3IDAuNjE1ODksMC44MjM1NyAxLjY4Mjk1LDAuODIzNTcgMS4wNTI3NCwwIDEu +NjY4NjIsLTAuODMwNzMxIDAuNjE1ODksLTAuODMwNzMxIDAuNjE1ODksLTIuMjYzMDI2IDAsLTEu +NDI1MTM0IC0wLjYxNTg5LC0yLjI1NTg2NSAtMC42MTU4OCwtMC44Mzc4OTMgLTEuNjY4NjIsLTAu +ODM3ODkzIHogbSAwLC0xLjExNzE5IHEgMS43MTg3NSwwIDIuNjk5ODgsMS4xMTcxOSAwLjk4MTEy +LDEuMTE3MTkxIDAuOTgxMTIsMy4wOTM3NTggMCwxLjk2OTQwNSAtMC45ODExMiwzLjA5Mzc1NyAt +MC45ODExMywxLjExNzE4NyAtMi42OTk4OCwxLjExNzE4NyAtMS43MjU5MSwwIC0yLjcwNzA0LC0x +LjExNzE4NyAtMC45NzM5NiwtMS4xMjQzNTIgLTAuOTczOTYsLTMuMDkzNzU3IDAsLTEuOTc2NTY3 +IDAuOTczOTYsLTMuMDkzNzU4IDAuOTgxMTMsLTEuMTE3MTkgMi43MDcwNCwtMS4xMTcxOSB6Igog +ICAgICAgICBpZD0icGF0aDk1IiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDE3MC40ODMy +Myw5My4yMTA5MjIgcSAtMC4yMjIsLTAuMTI4OTA3IC0wLjQ4Njk4LC0wLjE4NjE5OCAtMC4yNTc4 +MSwtMC4wNjQ0NSAtMC41NzI5MiwtMC4wNjQ0NSAtMS4xMTcxOSwwIC0xLjcxODc1LDAuNzMwNDcx +IC0wLjU5NDQsMC43MjMzMDkgLTAuNTk0NCwyLjA4Mzk4OSBWIDEwMCBoIC0xLjMyNDg4IHYgLTgu +MDIwODUyIGggMS4zMjQ4OCB2IDEuMjQ2MDk3IHEgMC40MTUzNiwtMC43MzA0NzEgMS4wODEzOCwt +MS4wODEzODMgMC42NjYwMiwtMC4zNTgwNzQgMS42MTg0OSwtMC4zNTgwNzQgMC4xMzYwNywwIDAu +MzAwNzksMC4wMjE0OCAwLjE2NDcxLDAuMDE0MzIgMC4zNjUyMywwLjA1MDEzIHoiCiAgICAgICAg +IGlkPSJwYXRoOTciIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTcxLjg2NTQsODguODU2 +NzQ1IGggMS4zMTc3MSBWIDEwMCBoIC0xLjMxNzcxIHoiCiAgICAgICAgIGlkPSJwYXRoOTkiIC8+ +CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gMTgxLjIxODI4LDkzLjE5NjU5OSBWIDg4Ljg1Njc0 +NSBIIDE4Mi41MzYgViAxMDAgaCAtMS4zMTc3MiB2IC0xLjIwMzEyOCBxIC0wLjQxNTM2LDAuNzE2 +MTQ4IC0xLjA1MjczLDEuMDY3MDYgLTAuNjMwMjEsMC4zNDM3NDggLTEuNTE4MjMsMC4zNDM3NDgg +LTEuNDUzNzgsMCAtMi4zNzA0NSwtMS4xNjAxNTYgLTAuOTA5NTEsLTEuMTYwMTU5IC0wLjkwOTUx +LC0zLjA1MDc4OCAwLC0xLjg5MDYzIDAuOTA5NTEsLTMuMDUwNzg5IDAuOTE2NjcsLTEuMTYwMTU5 +IDIuMzcwNDUsLTEuMTYwMTU5IDAuODg4MDIsMCAxLjUxODIzLDAuMzUwOTEzIDAuNjM3MzcsMC4z +NDM3NSAxLjA1MjczLDEuMDU5ODk4IHogbSAtNC40OTAyNCwyLjgwMDEzNyBxIDAsMS40NTM3Nzkg +MC41OTQ0LDIuMjg0NTEgMC42MDE1NywwLjgyMzU3IDEuNjQ3MTQsMC44MjM1NyAxLjA0NTU4LDAg +MS42NDcxNCwtMC44MjM1NyAwLjYwMTU2LC0wLjgzMDczMSAwLjYwMTU2LC0yLjI4NDUxIDAsLTEu +NDUzNzggLTAuNjAxNTYsLTIuMjc3MzQ5IC0wLjYwMTU2LC0wLjgzMDczMSAtMS42NDcxNCwtMC44 +MzA3MzEgLTEuMDQ1NTcsMCAtMS42NDcxNCwwLjgzMDczMSAtMC41OTQ0LDAuODIzNTY5IC0wLjU5 +NDQsMi4yNzczNDkgeiIKICAgICAgICAgaWQ9InBhdGgxMDEiIC8+CiAgICA8L2c+CiAgICA8Zwog +ICAgICAgYXJpYS1sYWJlbD0iZmxvdyB0ZXh0IHdoaWNoIHdyYXBzIgogICAgICAgdHJhbnNmb3Jt +PSJtYXRyaXgoMC4yNjQ1ODMzMywwLDAsMC4yNjQ1ODMzMywzNzIuMDI5NjEsMjguOTA0NTA1KSIK +ICAgICAgIGlkPSJ0NCIKICAgICAgIHN0eWxlPSJmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDox +LjI1IgogICAgICAgaW5rc2NhcGU6bGFiZWw9IiNmbG93Um9vdDE0Ij4KICAgICAgPHBhdGgKICAg +ICAgICAgZD0ibSAxMjEuNTc2MDcsMjI2LjU5MTI1IGggMTMuODU4MjggdiA0Mi4xMTYxNiBoIC01 +LjAwNzM5IHYgLTM3Ljk3NDkyIGggLTguOTA1MDIgcSAtMi42Nzk2MywwIC0zLjczNTI0LDEuMDgy +NjggLTEuMDI4NTQsMS4wODI2OCAtMS4wMjg1NCwzLjg5NzY0IHYgMi42Nzk2MiBoIDguMjAxMjgg +diAzLjg3MDU4IGggLTguMjAxMjggdiAyNi40NDQ0IGggLTUuMDA3MzkgdiAtMjYuNDQ0NCBoIC00 +Ljc2Mzc4IHYgLTMuODcwNTggaCA0Ljc2Mzc4IHYgLTIuMTExMjIgcSAwLC01LjA2MTUyIDIuMzU0 +ODMsLTcuMzYyMjEgMi4zNTQ4MiwtMi4zMjc3NSA3LjQ3MDQ3LC0yLjMyNzc1IHoiCiAgICAgICAg +IHN0eWxlPSJmb250LXNpemU6NTUuNDMzMXB4IgogICAgICAgICBpZD0icGF0aDQxIiAvPgogICAg +ICA8cGF0aAogICAgICAgICBkPSJtIDE1Ny42MDIxOCwyNDEuODg0MDcgcSAtNC4wMDU5MSwwIC02 +LjMzMzY3LDMuMTM5NzcgLTIuMzI3NzYsMy4xMTI2OSAtMi4zMjc3Niw4LjU1MzE1IDAsNS40NDA0 +NiAyLjMwMDY5LDguNTgwMjIgMi4zMjc3NiwzLjExMjcgNi4zNjA3NCwzLjExMjcgMy45Nzg4NCww +IDYuMzA2NTksLTMuMTM5NzcgMi4zMjc3NiwtMy4xMzk3NiAyLjMyNzc2LC04LjU1MzE1IDAsLTUu +Mzg2MzIgLTIuMzI3NzYsLTguNTI2MDkgLTIuMzI3NzUsLTMuMTY2ODMgLTYuMzA2NTksLTMuMTY2 +ODMgeiBtIDAsLTQuMjIyNDQgcSA2LjQ5NjA2LDAgMTAuMjA0MjMsNC4yMjI0NCAzLjcwODE4LDQu +MjIyNDQgMy43MDgxOCwxMS42OTI5MiAwLDcuNDQzNDEgLTMuNzA4MTgsMTEuNjkyOTIgLTMuNzA4 +MTcsNC4yMjI0NCAtMTAuMjA0MjMsNC4yMjI0NCAtNi41MjMxNCwwIC0xMC4yMzEzMSwtNC4yMjI0 +NCAtMy42ODExLC00LjI0OTUxIC0zLjY4MTEsLTExLjY5MjkyIDAsLTcuNDcwNDggMy42ODExLC0x +MS42OTI5MiAzLjcwODE3LC00LjIyMjQ0IDEwLjIzMTMxLC00LjIyMjQ0IHoiCiAgICAgICAgIHN0 +eWxlPSJmb250LXNpemU6NTUuNDMzMXB4IgogICAgICAgICBpZD0icGF0aDQzIiAvPgogICAgICA8 +cGF0aAogICAgICAgICBkPSJtIDE3Ni44NzM4NCwyMzguMzkyNDMgaCA0Ljk4MDMyIGwgNi4yMjUz +OSwyMy42NTY1MSA2LjE5ODMzLC0yMy42NTY1MSBoIDUuODczNTMgbCA2LjIyNTQsMjMuNjU2NTEg +Ni4xOTgzMywtMjMuNjU2NTEgaCA0Ljk4MDMyIGwgLTcuOTMwNjIsMzAuMzE0OTggaCAtNS44NzM1 +MyBsIC02LjUyMzEzLC0yNC44NDc0NSAtNi41NTAyLDI0Ljg0NzQ1IGggLTUuODczNTMgeiIKICAg +ICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1NS40MzMxcHgiCiAgICAgICAgIGlkPSJwYXRoNDUiIC8+ +CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMjQ3LjY1MzksMjI5Ljc4NTE1IHYgOC42MDcyOCBo +IDEwLjI1ODM4IHYgMy44NzA1OCBIIDI0Ny42NTM5IHYgMTYuNDU2NyBxIDAsMy43MDgxNyAxLjAw +MTQ4LDQuNzYzNzggMS4wMjg1NCwxLjA1NTYxIDQuMTQxMjQsMS4wNTU2MSBoIDUuMTE1NjYgdiA0 +LjE2ODMxIGggLTUuMTE1NjYgcSAtNS43NjUyNiwwIC03Ljk1NzY4LC0yLjEzODI5IC0yLjE5MjQy +LC0yLjE2NTM1IC0yLjE5MjQyLC03Ljg0OTQxIHYgLTE2LjQ1NjcgaCAtMy42NTQwNCB2IC0zLjg3 +MDU4IGggMy42NTQwNCB2IC04LjYwNzI4IHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6NTUu +NDMzMXB4IgogICAgICAgICBpZD0icGF0aDQ3IiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJt +IDI5MC4zOTI2MSwyNTIuMzA0ODQgdiAyLjQzNjAzIGggLTIyLjg5ODY0IHEgMC4zMjQ4MSw1LjE0 +MjcyIDMuMDg1NjQsNy44NDk0MSAyLjc4Nzg5LDIuNjc5NjMgNy43NDExNCwyLjY3OTYzIDIuODY5 +MSwwIDUuNTQ4NzMsLTAuNzAzNzQgMi43MDY2OSwtMC43MDM3NCA1LjM1OTI1LC0yLjExMTIyIHYg +NC43MDk2NSBxIC0yLjY3OTYzLDEuMTM2ODEgLTUuNDk0NTksMS43MzIyOCAtMi44MTQ5NiwwLjU5 +NTQ3IC01LjcxMTEyLDAuNTk1NDcgLTcuMjUzOTUsMCAtMTEuNTAzNDYsLTQuMjIyNDQgLTQuMjIy +NDQsLTQuMjIyNDQgLTQuMjIyNDQsLTExLjQyMjI1IDAsLTcuNDQzNDEgNC4wMDU5MSwtMTEuODAx +MTkgNC4wMzI5NywtNC4zODQ4NCAxMC44NTM4NCwtNC4zODQ4NCA2LjExNzEzLDAgOS42NjI5LDMu +OTUxNzcgMy41NzI4NCwzLjkyNDcxIDMuNTcyODQsMTAuNjkxNDQgeiBtIC00Ljk4MDMyLC0xLjQ2 +MTYxIHEgLTAuMDU0MSwtNC4wODcxMSAtMi4zMDA2OSwtNi41MjMxMyAtMi4yMTk0OSwtMi40MzYw +MyAtNS45MDA1OSwtMi40MzYwMyAtNC4xNjgzMSwwIC02LjY4NTU0LDIuMzU0ODIgLTIuNDkwMTYs +Mi4zNTQ4MyAtMi44NjkwOSw2LjYzMTQxIHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6NTUu +NDMzMXB4IgogICAgICAgICBpZD0icGF0aDQ5IiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJt +IDMyMi43OTE3NCwyMzguMzkyNDMgLTEwLjk2MjExLDE0Ljc1MTQ5IDExLjUzMDUyLDE1LjU2MzQ5 +IGggLTUuODczNTMgbCAtOC44MjM4MiwtMTEuOTA5NDUgLTguODIzODIsMTEuOTA5NDUgaCAtNS44 +NzM1MyBsIDExLjc3NDEyLC0xNS44NjEyMyAtMTAuNzcyNjQsLTE0LjQ1Mzc1IGggNS44NzM1MiBs +IDguMDM4ODksMTAuNzk5NzIgOC4wMzg4OCwtMTAuNzk5NzIgeiIKICAgICAgICAgc3R5bGU9ImZv +bnQtc2l6ZTo1NS40MzMxcHgiCiAgICAgICAgIGlkPSJwYXRoNTEiIC8+CiAgICAgIDxwYXRoCiAg +ICAgICAgIGQ9Im0gMzM1LjMyMzczLDIyOS43ODUxNSB2IDguNjA3MjggaCAxMC4yNTgzOCB2IDMu +ODcwNTggaCAtMTAuMjU4MzggdiAxNi40NTY3IHEgMCwzLjcwODE3IDEuMDAxNDgsNC43NjM3OCAx +LjAyODU0LDEuMDU1NjEgNC4xNDEyNCwxLjA1NTYxIGggNS4xMTU2NiB2IDQuMTY4MzEgaCAtNS4x +MTU2NiBxIC01Ljc2NTI2LDAgLTcuOTU3NjgsLTIuMTM4MjkgLTIuMTkyNDIsLTIuMTY1MzUgLTIu +MTkyNDIsLTcuODQ5NDEgdiAtMTYuNDU2NyBoIC0zLjY1NDA0IHYgLTMuODcwNTggaCAzLjY1NDA0 +IHYgLTguNjA3MjggeiIKICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1NS40MzMxcHgiCiAgICAg +ICAgIGlkPSJwYXRoNTMiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTA4LjA0MjYsMzA3 +LjY4MzgyIGggNC45ODAzMiBsIDYuMjI1NCwyMy42NTY1MSA2LjE5ODMzLC0yMy42NTY1MSBoIDUu +ODczNTIgbCA2LjIyNTQsMjMuNjU2NTEgNi4xOTgzMywtMjMuNjU2NTEgaCA0Ljk4MDMyIGwgLTcu +OTMwNjIsMzAuMzE0OTcgaCAtNS44NzM1MiBsIC02LjUyMzE0LC0yNC44NDc0NSAtNi41NTAyLDI0 +Ljg0NzQ1IGggLTUuODczNTIgeiIKICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1NS40MzMxcHgi +CiAgICAgICAgIGlkPSJwYXRoNTUiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTgxLjQ3 +NTIyLDMxOS43MDE1NCB2IDE4LjI5NzI1IGggLTQuOTgwMzIgdiAtMTguMTM0ODUgcSAwLC00LjMw +MzY0IC0xLjY3ODE1LC02LjQ0MTkzIC0xLjY3ODE1LC0yLjEzODI5IC01LjAzNDQ1LC0yLjEzODI5 +IC00LjAzMjk3LDAgLTYuMzYwNzMsMi41NzEzNiAtMi4zMjc3NiwyLjU3MTM2IC0yLjMyNzc2LDcu +MDEwMzQgdiAxNy4xMzMzNyBoIC01LjAwNzM4IHYgLTQyLjExNjE2IGggNS4wMDczOCB2IDE2LjUx +MDgzIHEgMS43ODY0MiwtMi43MzM3NiA0LjE5NTM4LC00LjA4NzEgMi40MzYwMiwtMS4zNTMzNSA1 +LjYwMjg2LC0xLjM1MzM1IDUuMjIzOTIsMCA3LjkwMzU0LDMuMjQ4MDMgMi42Nzk2MywzLjIyMDk3 +IDIuNjc5NjMsOS41MDA1IHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6NTUuNDMzMXB4Igog +ICAgICAgICBpZD0icGF0aDU3IiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDE5MS40MDg3 +OSwzMDcuNjgzODIgaCA0Ljk4MDMyIHYgMzAuMzE0OTcgaCAtNC45ODAzMiB6IG0gMCwtMTEuODAx +MTkgaCA0Ljk4MDMyIHYgNi4zMDY2IGggLTQuOTgwMzIgeiIKICAgICAgICAgc3R5bGU9ImZvbnQt +c2l6ZTo1NS40MzMxcHgiCiAgICAgICAgIGlkPSJwYXRoNTkiIC8+CiAgICAgIDxwYXRoCiAgICAg +ICAgIGQ9Im0gMjI4LjYyNTg0LDMwOC44NDc3IHYgNC42NTU1MSBxIC0yLjExMTIyLC0xLjE2Mzg4 +IC00LjI0OTUxLC0xLjczMjI4IC0yLjExMTIyLC0wLjU5NTQ4IC00LjI3NjU4LC0wLjU5NTQ4IC00 +Ljg0NDk4LDAgLTcuNTI0NjEsMy4wODU2MyAtMi42Nzk2MywzLjA1ODU3IC0yLjY3OTYzLDguNjA3 +MjkgMCw1LjU0ODczIDIuNjc5NjMsOC42MzQzNiAyLjY3OTYzLDMuMDU4NTYgNy41MjQ2MSwzLjA1 +ODU2IDIuMTY1MzYsMCA0LjI3NjU4LC0wLjU2ODQgMi4xMzgyOSwtMC41OTU0OCA0LjI0OTUxLC0x +Ljc1OTM2IHYgNC42MDEzOSBxIC0yLjA4NDE2LDAuOTc0NDEgLTQuMzMwNzEsMS40NjE2MSAtMi4y +MTk0OSwwLjQ4NzIxIC00LjczNjcyLDAuNDg3MjEgLTYuODQ3OTQsMCAtMTAuODgwOTEsLTQuMzAz +NjUgLTQuMDMyOTcsLTQuMzAzNjQgLTQuMDMyOTcsLTExLjYxMTcyIDAsLTcuNDE2MzQgNC4wNjAw +NCwtMTEuNjY1ODUgNC4wODcxMSwtNC4yNDk1MSAxMS4xNzg2NCwtNC4yNDk1MSAyLjMwMDY5LDAg +NC40OTMxMiwwLjQ4NzIgMi4xOTI0MiwwLjQ2MDE0IDQuMjQ5NTEsMS40MDc0OSB6IgogICAgICAg +ICBzdHlsZT0iZm9udC1zaXplOjU1LjQzMzFweCIKICAgICAgICAgaWQ9InBhdGg2MSIgLz4KICAg +ICAgPHBhdGgKICAgICAgICAgZD0ibSAyNjIuNDg2NTgsMzE5LjcwMTU0IHYgMTguMjk3MjUgaCAt +NC45ODAzMSB2IC0xOC4xMzQ4NSBxIDAsLTQuMzAzNjQgLTEuNjc4MTUsLTYuNDQxOTMgLTEuNjc4 +MTUsLTIuMTM4MjkgLTUuMDM0NDYsLTIuMTM4MjkgLTQuMDMyOTcsMCAtNi4zNjA3MywyLjU3MTM2 +IC0yLjMyNzc1LDIuNTcxMzYgLTIuMzI3NzUsNy4wMTAzNCB2IDE3LjEzMzM3IGggLTUuMDA3Mzkg +diAtNDIuMTE2MTYgaCA1LjAwNzM5IHYgMTYuNTEwODMgcSAxLjc4NjQxLC0yLjczMzc2IDQuMTk1 +MzcsLTQuMDg3MSAyLjQzNjAzLC0xLjM1MzM1IDUuNjAyODYsLTEuMzUzMzUgNS4yMjM5MiwwIDcu +OTAzNTUsMy4yNDgwMyAyLjY3OTYyLDMuMjIwOTcgMi42Nzk2Miw5LjUwMDUgeiIKICAgICAgICAg +c3R5bGU9ImZvbnQtc2l6ZTo1NS40MzMxcHgiCiAgICAgICAgIGlkPSJwYXRoNjMiIC8+CiAgICAg +IDxwYXRoCiAgICAgICAgIGQ9Im0gMTA4LjA0MjYsMzc2Ljk3NTIgaCA0Ljk4MDMyIGwgNi4yMjU0 +LDIzLjY1NjUxIDYuMTk4MzMsLTIzLjY1NjUxIGggNS44NzM1MiBsIDYuMjI1NCwyMy42NTY1MSA2 +LjE5ODMzLC0yMy42NTY1MSBoIDQuOTgwMzIgbCAtNy45MzA2MiwzMC4zMTQ5OCBoIC01Ljg3MzUy +IGwgLTYuNTIzMTQsLTI0Ljg0NzQ2IC02LjU1MDIsMjQuODQ3NDYgaCAtNS44NzM1MiB6IgogICAg +ICAgICBzdHlsZT0iZm9udC1zaXplOjU1LjQzMzFweCIKICAgICAgICAgaWQ9InBhdGg2NSIgLz4K +ICAgICAgPHBhdGgKICAgICAgICAgZD0ibSAxNzMuODQyMzQsMzgxLjYzMDcxIHEgLTAuODM5MDcs +LTAuNDg3MiAtMS44NDA1NSwtMC43MDM3NCAtMC45NzQ0MSwtMC4yNDM2IC0yLjE2NTM2LC0wLjI0 +MzYgLTQuMjIyNDQsMCAtNi40OTYwNiwyLjc2MDgzIC0yLjI0NjU2LDIuNzMzNzYgLTIuMjQ2NTYs +Ny44NzY0OCB2IDE1Ljk2OTUgaCAtNS4wMDczOCBWIDM3Ni45NzUyIGggNS4wMDczOCB2IDQuNzA5 +NjUgcSAxLjU2OTg4LC0yLjc2MDgzIDQuMDg3MTEsLTQuMDg3MTEgMi41MTcyMywtMS4zNTMzNSA2 +LjExNzEzLC0xLjM1MzM1IDAuNTE0MjcsMCAxLjEzNjgxLDAuMDgxMiAwLjYyMjU0LDAuMDU0MSAx +LjM4MDQyLDAuMTg5NDcgeiIKICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1NS40MzMxcHgiCiAg +ICAgICAgIGlkPSJwYXRoNjciIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTkyLjg0MzM0 +LDM5Mi4wNTE0OSBxIC02LjAzNTkzLDAgLTguMzYzNjgsMS4zODA0MSAtMi4zMjc3NiwxLjM4MDQx +IC0yLjMyNzc2LDQuNzA5NjUgMCwyLjY1MjU2IDEuNzMyMjgsNC4yMjI0NCAxLjc1OTM1LDEuNTQy +ODIgNC43NjM3OCwxLjU0MjgyIDQuMTQxMjUsMCA2LjYzMTQxLC0yLjkyMzIzIDIuNTE3MjIsLTIu +OTUwMyAyLjUxNzIyLC03LjgyMjM1IHYgLTEuMTA5NzQgeiBtIDkuOTMzNTcsLTIuMDU3MDkgdiAx +Ny4yOTU3OCBoIC00Ljk4MDMyIHYgLTQuNjAxMzggcSAtMS43MDUyMiwyLjc2MDgyIC00LjI0OTUx +LDQuMDg3MSAtMi41NDQyOSwxLjI5OTIyIC02LjIyNTQsMS4yOTkyMiAtNC42NTU1MSwwIC03LjQx +NjM0LC0yLjU5ODQzIC0yLjczMzc2LC0yLjYyNTQ5IC0yLjczMzc2LC03LjAxMDM0IDAsLTUuMTE1 +NjUgMy40MTA0NCwtNy43MTQwOCAzLjQzNzUsLTIuNTk4NDIgMTAuMjMxMywtMi41OTg0MiBoIDYu +OTgzMjcgdiAtMC40ODcyMSBxIDAsLTMuNDM3NSAtMi4yNzM2MiwtNS4zMDUxMiAtMi4yNDY1Niwt +MS44OTQ2OSAtNi4zMzM2NywtMS44OTQ2OSAtMi41OTg0MiwwIC01LjA2MTUyLDAuNjIyNTQgLTIu +NDYzMDksMC42MjI1NCAtNC43MzY3MSwxLjg2NzYyIHYgLTQuNjAxMzggcSAyLjczMzc2LC0xLjA1 +NTYxIDUuMzA1MTIsLTEuNTY5ODggMi41NzEzNiwtMC41NDEzNCA1LjAwNzM5LC0wLjU0MTM0IDYu +NTc3MjYsMCA5LjgyNTMsMy40MTA0NCAzLjI0ODAzLDMuNDEwNDMgMy4yNDgwMywxMC4zMzk1NyB6 +IgogICAgICAgICBzdHlsZT0iZm9udC1zaXplOjU1LjQzMzFweCIKICAgICAgICAgaWQ9InBhdGg2 +OSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSAyMTcuODUzMTksNDAyLjc0MjkzIHYgMTYu +MDc3NzYgaCAtNS4wMDczOCBWIDM3Ni45NzUyIGggNS4wMDczOCB2IDQuNjAxMzggcSAxLjU2OTg4 +LC0yLjcwNjcgMy45NTE3OCwtNC4wMDU5MSAyLjQwODk1LC0xLjMyNjI4IDUuNzM4MTksLTEuMzI2 +MjggNS41MjE2NSwwIDguOTU5MTYsNC4zODQ4NSAzLjQ2NDU3LDQuMzg0ODQgMy40NjQ1NywxMS41 +MzA1MSAwLDcuMTQ1NjggLTMuNDY0NTcsMTEuNTMwNTIgLTMuNDM3NTEsNC4zODQ4NSAtOC45NTkx +Niw0LjM4NDg1IC0zLjMyOTI0LDAgLTUuNzM4MTksLTEuMjk5MjIgLTIuMzgxOSwtMS4zMjYyOCAt +My45NTE3OCwtNC4wMzI5NyB6IG0gMTYuOTQzOTEsLTEwLjU4MzE4IHEgMCwtNS40OTQ1OSAtMi4y +NzM2MiwtOC42MDcyOCAtMi4yNDY1NiwtMy4xMzk3NyAtNi4xOTgzMywtMy4xMzk3NyAtMy45NTE3 +OCwwIC02LjIyNTQsMy4xMzk3NyAtMi4yNDY1NiwzLjExMjY5IC0yLjI0NjU2LDguNjA3MjggMCw1 +LjQ5NDU5IDIuMjQ2NTYsOC42MzQzNiAyLjI3MzYyLDMuMTEyNyA2LjIyNTQsMy4xMTI3IDMuOTUx +NzcsMCA2LjE5ODMzLC0zLjExMjcgMi4yNzM2MiwtMy4xMzk3NyAyLjI3MzYyLC04LjYzNDM2IHoi +CiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6NTUuNDMzMXB4IgogICAgICAgICBpZD0icGF0aDcx +IiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDI2Ny41NDgxLDM3Ny44Njg0MSB2IDQuNzA5 +NjUgcSAtMi4xMTEyMiwtMS4wODI2OCAtNC4zODQ4NCwtMS42MjQwMiAtMi4yNzM2MywtMC41NDEz +NCAtNC43MDk2NSwtMC41NDEzNCAtMy43MDgxNywwIC01LjU3NTc5LDEuMTM2ODEgLTEuODQwNTYs +MS4xMzY4MSAtMS44NDA1NiwzLjQxMDQ0IDAsMS43MzIyOCAxLjMyNjI5LDIuNzMzNzYgMS4zMjYy +OCwwLjk3NDQxIDUuMzMyMTgsMS44Njc2MiBsIDEuNzA1MjIsMC4zNzg5MyBxIDUuMzA1MTIsMS4x +MzY4MiA3LjUyNDYxLDMuMjIwOTcgMi4yNDY1NiwyLjA1NzA5IDIuMjQ2NTYsNS43NjUyNiAwLDQu +MjIyNDQgLTMuMzU2Myw2LjY4NTU0IC0zLjMyOTI0LDIuNDYzMDkgLTkuMTc1NywyLjQ2MzA5IC0y +LjQzNjAyLDAgLTUuMDg4NTgsLTAuNDg3MjEgLTIuNjI1NSwtMC40NjAxNCAtNS41NDg3MywtMS40 +MDc0OCB2IC01LjE0MjcyIHEgMi43NjA4MywxLjQzNDU1IDUuNDQwNDYsMi4xNjUzNiAyLjY3OTYz +LDAuNzAzNzQgNS4zMDUxMiwwLjcwMzc0IDMuNTE4NywwIDUuNDEzMzksLTEuMTkwOTUgMS44OTQ2 +OSwtMS4yMTgwMSAxLjg5NDY5LC0zLjQxMDQzIDAsLTIuMDMwMDIgLTEuMzgwNDIsLTMuMTEyNyAt +MS4zNTMzNSwtMS4wODI2OCAtNS45ODE3OSwtMi4wODQxNiBsIC0xLjczMjI5LC0wLjQwNiBxIC00 +LjYyODQ1LC0wLjk3NDQxIC02LjY4NTUzLC0yLjk3NzM2IC0yLjA1NzA5LC0yLjAzMDAyIC0yLjA1 +NzA5LC01LjU0ODczIDAsLTQuMjc2NTcgMy4wMzE1LC02LjYwNDMzIDMuMDMxNDksLTIuMzI3NzYg +OC42MDcyOCwtMi4zMjc3NiAyLjc2MDgzLDAgNS4xOTY4NiwwLjQwNjAxIDIuNDM2MDIsMC40MDYg +NC40OTMxMSwxLjIxODAxIHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6NTUuNDMzMXB4Igog +ICAgICAgICBpZD0icGF0aDczIiAvPgogICAgPC9nPgogICAgPGcKICAgICAgIGFyaWEtbGFiZWw9 +IlVQUEVSIgogICAgICAgaWQ9InQyIgogICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxNC42NjY3cHg7 +bGluZS1oZWlnaHQ6MS4yNSIKICAgICAgIGlua3NjYXBlOmxhYmVsPSIjdGV4dDM3MjciPgogICAg +ICA8cGF0aAogICAgICAgICBkPSJtIDIwMS4yNzQ3NCw4OS4zMDc5MTggaCAxLjQ1Mzc4IHYgNi40 +OTU0NTggcSAwLDEuNzE4NzU0IDAuNjIzMDUsMi40Nzc4NyAwLjYyMzA1LDAuNzUxOTU1IDIuMDE5 +NTQsMC43NTE5NTUgMS4zODkzMiwwIDIuMDEyMzcsLTAuNzUxOTU1IDAuNjIzMDUsLTAuNzU5MTE2 +IDAuNjIzMDUsLTIuNDc3ODcgdiAtNi40OTU0NTggaCAxLjQ1Mzc4IHYgNi42NzQ0OTUgcSAwLDIu +MDkxMTUgLTEuMDM4NDIsMy4xNTgyMSAtMS4wMzEyNSwxLjA2NzA1NyAtMy4wNTA3OCwxLjA2NzA1 +NyAtMi4wMjY3LDAgLTMuMDY1MTIsLTEuMDY3MDU3IC0xLjAzMTI1LC0xLjA2NzA2IC0xLjAzMTI1 +LC0zLjE1ODIxIHoiCiAgICAgICAgIGlkPSJwYXRoMTA0IiAvPgogICAgICA8cGF0aAogICAgICAg +ICBkPSJtIDIxMy42MjExMyw5MC40OTY3MjMgdiA0LjAxNzU4NyBoIDEuODE5MDEgcSAxLjAwOTc3 +LDAgMS41NjEyLC0wLjUyMjc4NyAwLjU1MTQ0LC0wLjUyMjc4OCAwLjU1MTQ0LC0xLjQ4OTU4NyAw +LC0wLjk1OTYzOCAtMC41NTE0NCwtMS40ODI0MjUgLTAuNTUxNDMsLTAuNTIyNzg4IC0xLjU2MTIs +LTAuNTIyNzg4IHogbSAtMS40NDY2MiwtMS4xODg4MDUgaCAzLjI2NTYzIHEgMS43OTc1MywwIDIu +NzE0MiwwLjgxNjQwOCAwLjkyMzgzLDAuODA5MjQ3IDAuOTIzODMsMi4zNzc2MSAwLDEuNTgyNjg2 +IC0wLjkyMzgzLDIuMzkxOTMyIC0wLjkxNjY3LDAuODA5MjQ3IC0yLjcxNDIsMC44MDkyNDcgaCAt +MS44MTkwMSBWIDEwMCBoIC0xLjQ0NjYyIHoiCiAgICAgICAgIGlkPSJwYXRoMTA2IiAvPgogICAg +ICA8cGF0aAogICAgICAgICBkPSJtIDIyMi40NjU1NSw5MC40OTY3MjMgdiA0LjAxNzU4NyBoIDEu +ODE5MDEgcSAxLjAwOTc3LDAgMS41NjEyLC0wLjUyMjc4NyAwLjU1MTQ0LC0wLjUyMjc4OCAwLjU1 +MTQ0LC0xLjQ4OTU4NyAwLC0wLjk1OTYzOCAtMC41NTE0NCwtMS40ODI0MjUgLTAuNTUxNDMsLTAu +NTIyNzg4IC0xLjU2MTIsLTAuNTIyNzg4IHogbSAtMS40NDY2MiwtMS4xODg4MDUgaCAzLjI2NTYz +IHEgMS43OTc1MywwIDIuNzE0MiwwLjgxNjQwOCAwLjkyMzgzLDAuODA5MjQ3IDAuOTIzODMsMi4z +Nzc2MSAwLDEuNTgyNjg2IC0wLjkyMzgzLDIuMzkxOTMyIC0wLjkxNjY3LDAuODA5MjQ3IC0yLjcx +NDIsMC44MDkyNDcgaCAtMS44MTkwMSBWIDEwMCBoIC0xLjQ0NjYyIHoiCiAgICAgICAgIGlkPSJw +YXRoMTA4IiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDIyOS44NjMzNSw4OS4zMDc5MTgg +aCA2Ljc2MDQzIHYgMS4yMTc0NTEgaCAtNS4zMTM4MSB2IDMuMTY1MzcyIGggNS4wOTE4MSB2IDEu +MjE3NDUgaCAtNS4wOTE4MSB2IDMuODc0MzU4IGggNS40NDI3MiBWIDEwMCBoIC02Ljg4OTM0IHoi +CiAgICAgICAgIGlkPSJwYXRoMTEwIiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDI0NC4y +MDA2Miw5NC45ODY5NjggcSAwLjQ2NTUsMC4xNTc1NTIgMC45MDIzNSwwLjY3MzE3OCAwLjQ0NDAx +LDAuNTE1NjI2IDAuODg4MDIsMS40MTc5NzIgTCAyNDcuNDU5MDksMTAwIGggLTEuNTU0MDQgbCAt +MS4zNjc4NCwtMi43NDI4NDUgcSAtMC41Mjk5NSwtMS4wNzQyMjEgLTEuMDMxMjUsLTEuNDI1MTMz +IC0wLjQ5NDE0LC0wLjM1MDkxMyAtMS4zNTM1MiwtMC4zNTA5MTMgaCAtMS41NzU1MiBWIDEwMCBI +IDIzOS4xMzAzIFYgODkuMzA3OTE4IGggMy4yNjU2MyBxIDEuODMzMzQsMCAyLjczNTY4LDAuNzY2 +Mjc4IDAuOTAyMzUsMC43NjYyNzggMC45MDIzNSwyLjMxMzE1NiAwLDEuMDA5NzY4IC0wLjQ3MjY2 +LDEuNjc1Nzg1IC0wLjQ2NTQ5LDAuNjY2MDE4IC0xLjM2MDY4LDAuOTIzODMxIHogbSAtMy42MjM3 +LC00LjQ5MDI0NSB2IDMuNzk1NTgyIGggMS44MTkwMSBxIDEuMDQ1NTgsMCAxLjU3NTUzLC0wLjQ3 +OTgxOSAwLjUzNzExLC0wLjQ4Njk4MSAwLjUzNzExLC0xLjQyNTEzNCAwLC0wLjkzODE1MyAtMC41 +MzcxMSwtMS40MTA4MSAtMC41Mjk5NSwtMC40Nzk4MTkgLTEuNTc1NTMsLTAuNDc5ODE5IHoiCiAg +ICAgICAgIGlkPSJwYXRoMTEyIiAvPgogICAgPC9nPgogICAgPGcKICAgICAgIGFyaWEtbGFiZWw9 +Ik11bHRpIGxpbmUKdGV4dApGT08iCiAgICAgICBpZD0idDMiCiAgICAgICBzdHlsZT0iZm9udC1z +aXplOjEwLjU4MzNweDtsaW5lLWhlaWdodDoxLjI1IgogICAgICAgaW5rc2NhcGU6bGFiZWw9IiN0 +ZXh0MzczNSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMzAxLjQzOTQ2LDg5LjMwNzkxOCBo +IDIuMTU1NiBsIDIuNzI4NTIsNy4yNzYwNTkgMi43NDI4NSwtNy4yNzYwNTkgaCAyLjE1NTYgViAx +MDAgaCAtMS40MTA4MSB2IC05LjM4ODY5MyBsIC0yLjc1NzE3LDcuMzMzMzUgaCAtMS40NTM3OCBs +IC0yLjc1NzE2LC03LjMzMzM1IFYgMTAwIGggLTEuNDAzNjUgeiIKICAgICAgICAgc3R5bGU9ImZv +bnQtc2l6ZToxNC42NjY3cHgiCiAgICAgICAgIGlkPSJwYXRoMTE1IiAvPgogICAgICA8cGF0aAog +ICAgICAgICBkPSJtIDMxMy45MDA0Miw5Ni44MzQ2MjggdiAtNC44NTU0OCBoIDEuMzE3NzEgdiA0 +LjgwNTM1IHEgMCwxLjEzODY3NCAwLjQ0NDAxLDEuNzExNTkyIDAuNDQ0MDIsMC41NjU3NTcgMS4z +MzIwNCwwLjU2NTc1NyAxLjA2NzA2LDAgMS42ODI5NSwtMC42ODAzNCAwLjYyMzA0LC0wLjY4MDM0 +IDAuNjIzMDQsLTEuODU0ODIyIHYgLTQuNTQ3NTM3IGggMS4zMTc3MiBWIDEwMCBoIC0xLjMxNzcy +IHYgLTEuMjMxNzc0IHEgLTAuNDc5ODEsMC43MzA0NzEgLTEuMTE3MTksMS4wODg1NDUgLTAuNjMw +MjEsMC4zNTA5MDkgLTEuNDY4MSwwLjM1MDkwOSAtMS4zODIxNiwwIC0yLjA5ODMxLC0wLjg1OTM3 +NCAtMC43MTYxNSwtMC44NTkzNzcgLTAuNzE2MTUsLTIuNTEzNjc4IHogbSAzLjMxNTc2LC01LjA0 +ODg0IHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTQuNjY2N3B4IgogICAgICAgICBpZD0i +cGF0aDExNyIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSAzMjMuMzMyMDksODguODU2NzQ1 +IGggMS4zMTc3MSBWIDEwMCBoIC0xLjMxNzcxIHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6 +MTQuNjY2N3B4IgogICAgICAgICBpZD0icGF0aDExOSIgLz4KICAgICAgPHBhdGgKICAgICAgICAg +ZD0ibSAzMjguNzEwMzUsODkuNzAxNzk5IHYgMi4yNzczNDkgaCAyLjcxNDIgdiAxLjAyNDA5MSBo +IC0yLjcxNDIgdiA0LjM1NDE3NyBxIDAsMC45ODExMjIgMC4yNjQ5OCwxLjI2MDQxOSAwLjI3MjEz +LDAuMjc5Mjk4IDEuMDk1NywwLjI3OTI5OCBoIDEuMzUzNTIgViAxMDAgaCAtMS4zNTM1MiBxIC0x +LjUyNTM5LDAgLTIuMTA1NDcsLTAuNTY1NzU3IC0wLjU4MDA4LC0wLjU3MjkxNyAtMC41ODAwOCwt +Mi4wNzY4MjcgdiAtNC4zNTQxNzcgaCAtMC45NjY4IHYgLTEuMDI0MDkxIGggMC45NjY4IHYgLTIu +Mjc3MzQ5IHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTQuNjY2N3B4IgogICAgICAgICBp +ZD0icGF0aDEyMSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSAzMzMuMTU3NjMsOTEuOTc5 +MTQ4IGggMS4zMTc3MSBWIDEwMCBoIC0xLjMxNzcxIHogbSAwLC0zLjEyMjQwMyBoIDEuMzE3NzEg +diAxLjY2ODYyNCBoIC0xLjMxNzcxIHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTQuNjY2 +N3B4IgogICAgICAgICBpZD0icGF0aDEyMyIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSAz +NDEuODk0NjMsODguODU2NzQ1IGggMS4zMTc3MSBWIDEwMCBoIC0xLjMxNzcxIHoiCiAgICAgICAg +IHN0eWxlPSJmb250LXNpemU6MTQuNjY2N3B4IgogICAgICAgICBpZD0icGF0aDEyNSIgLz4KICAg +ICAgPHBhdGgKICAgICAgICAgZD0ibSAzNDUuOTY5NTEsOTEuOTc5MTQ4IGggMS4zMTc3MSBWIDEw +MCBoIC0xLjMxNzcxIHogbSAwLC0zLjEyMjQwMyBoIDEuMzE3NzEgdiAxLjY2ODYyNCBoIC0xLjMx +NzcxIHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTQuNjY2N3B4IgogICAgICAgICBpZD0i +cGF0aDEyNyIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0iTSAzNTYuNzExNzIsOTUuMTU4ODQz +IFYgMTAwIGggLTEuMzE3NzEgdiAtNC43OTgxODggcSAwLC0xLjEzODY3NSAtMC40NDQwMiwtMS43 +MDQ0MzEgLTAuNDQ0MDEsLTAuNTY1NzU3IC0xLjMzMjAzLC0wLjU2NTc1NyAtMS4wNjcwNiwwIC0x +LjY4Mjk1LDAuNjgwMzQgLTAuNjE1ODgsMC42ODAzNDEgLTAuNjE1ODgsMS44NTQ4MjIgViAxMDAg +aCAtMS4zMjQ4OCB2IC04LjAyMDg1MiBoIDEuMzI0ODggdiAxLjI0NjA5NyBxIDAuNDcyNjUsLTAu +NzIzMzA5IDEuMTEwMDMsLTEuMDgxMzgzIDAuNjQ0NTMsLTAuMzU4MDc0IDEuNDgyNDIsLTAuMzU4 +MDc0IDEuMzgyMTcsMCAyLjA5MTE1LDAuODU5Mzc3IDAuNzA4OTksMC44NTIyMTYgMC43MDg5OSwy +LjUxMzY3OCB6IgogICAgICAgICBzdHlsZT0iZm9udC1zaXplOjE0LjY2NjdweCIKICAgICAgICAg +aWQ9InBhdGgxMjkiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMzY2LjIwMDY3LDk1LjY2 +MDE0NiB2IDAuNjQ0NTMzIGggLTYuMDU4NjEgcSAwLjA4NTksMS4zNjA2OCAwLjgxNjQxLDIuMDc2 +ODI4IDAuNzM3NjMsMC43MDg5ODYgMi4wNDgxOCwwLjcwODk4NiAwLjc1OTEyLDAgMS40NjgxMSwt +MC4xODYxOTkgMC43MTYxNCwtMC4xODYxOTggMS40MTc5NywtMC41NTg1OTUgdiAxLjI0NjA5NyBx +IC0wLjcwODk5LDAuMzAwNzgyIC0xLjQ1Mzc4LDAuNDU4MzM0IC0wLjc0NDgsMC4xNTc1NSAtMS41 +MTEwNywwLjE1NzU1IC0xLjkxOTI4LDAgLTMuMDQzNjMsLTEuMTE3MTg3IC0xLjExNzE5LC0xLjEx +NzE5IC0xLjExNzE5LC0zLjAyMjE0MyAwLC0xLjk2OTQwNSAxLjA1OTksLTMuMTIyNDAzIDEuMDY3 +MDYsLTEuMTYwMTU5IDIuODcxNzUsLTEuMTYwMTU5IDEuNjE4NDksMCAyLjU1NjY1LDEuMDQ1NTc2 +IDAuOTQ1MzEsMS4wMzg0MTQgMC45NDUzMSwyLjgyODc4MiB6IG0gLTEuMzE3NzEsLTAuMzg2NzE5 +IHEgLTAuMDE0MywtMS4wODEzODMgLTAuNjA4NzMsLTEuNzI1OTE2IC0wLjU4NzI0LC0wLjY0NDUz +MyAtMS41NjEyLC0wLjY0NDUzMyAtMS4xMDI4NiwwIC0xLjc2ODg4LDAuNjIzMDQ5IC0wLjY1ODg2 +LDAuNjIzMDQ4IC0wLjc1OTEyLDEuNzU0NTYxIHoiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6 +MTQuNjY2N3B4IgogICAgICAgICBpZD0icGF0aDEzMSIgLz4KICAgICAgPHBhdGgKICAgICAgICAg +ZD0ibSAzMDIuNjg1NTUsMTA4LjAzNTE3IHYgMi4yNzczNSBoIDIuNzE0MiB2IDEuMDI0MDkgaCAt +Mi43MTQyIHYgNC4zNTQxOCBxIDAsMC45ODExMiAwLjI2NDk4LDEuMjYwNDIgMC4yNzIxMywwLjI3 +OTMgMS4wOTU3LDAuMjc5MyBoIDEuMzUzNTIgdiAxLjEwMjg3IGggLTEuMzUzNTIgcSAtMS41MjUz +OSwwIC0yLjEwNTQ3LC0wLjU2NTc2IC0wLjU4MDA4LC0wLjU3MjkyIC0wLjU4MDA4LC0yLjA3Njgz +IHYgLTQuMzU0MTggaCAtMC45NjY4IHYgLTEuMDI0MDkgaCAwLjk2NjggdiAtMi4yNzczNSB6Igog +ICAgICAgICBzdHlsZT0iZm9udC1zaXplOjE0LjY2NjdweCIKICAgICAgICAgaWQ9InBhdGgxMzMi +IC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMzEzLjk5MzUyLDExMy45OTM1MiB2IDAuNjQ0 +NTMgaCAtNi4wNTg2MSBxIDAuMDg1OSwxLjM2MDY4IDAuODE2NDEsMi4wNzY4MyAwLjczNzYzLDAu +NzA4OTkgMi4wNDgxOCwwLjcwODk5IDAuNzU5MTIsMCAxLjQ2ODExLC0wLjE4NjIgMC43MTYxNCwt +MC4xODYyIDEuNDE3OTcsLTAuNTU4NiB2IDEuMjQ2MSBxIC0wLjcwODk5LDAuMzAwNzggLTEuNDUz +NzgsMC40NTgzNCAtMC43NDQ3OSwwLjE1NzU1IC0xLjUxMTA3LDAuMTU3NTUgLTEuOTE5MjgsMCAt +My4wNDM2MywtMS4xMTcxOSAtMS4xMTcxOSwtMS4xMTcxOSAtMS4xMTcxOSwtMy4wMjIxNCAwLC0x +Ljk2OTQxIDEuMDU5OSwtMy4xMjI0MSAxLjA2NzA2LC0xLjE2MDE2IDIuODcxNzUsLTEuMTYwMTYg +MS42MTg0OSwwIDIuNTU2NjUsMS4wNDU1OCAwLjk0NTMxLDEuMDM4NDEgMC45NDUzMSwyLjgyODc4 +IHogbSAtMS4zMTc3MSwtMC4zODY3MiBxIC0wLjAxNDMsLTEuMDgxMzggLTAuNjA4NzMsLTEuNzI1 +OTEgLTAuNTg3MjQsLTAuNjQ0NTQgLTEuNTYxMiwtMC42NDQ1NCAtMS4xMDI4NiwwIC0xLjc2ODg4 +LDAuNjIzMDUgLTAuNjU4ODYsMC42MjMwNSAtMC43NTkxMiwxLjc1NDU2IHoiCiAgICAgICAgIHN0 +eWxlPSJmb250LXNpemU6MTQuNjY2N3B4IgogICAgICAgICBpZD0icGF0aDEzNSIgLz4KICAgICAg +PHBhdGgKICAgICAgICAgZD0ibSAzMjIuNTY1ODEsMTEwLjMxMjUyIC0yLjkwMDQsMy45MDMwMSAz +LjA1MDc5LDQuMTE3ODUgaCAtMS41NTQwNCBsIC0yLjMzNDY0LC0zLjE1MTA1IC0yLjMzNDY0LDMu +MTUxMDUgaCAtMS41NTQwNCBsIDMuMTE1MjQsLTQuMTk2NjMgLTIuODUwMjcsLTMuODI0MjMgaCAx +LjU1NDA0IGwgMi4xMjY5NiwyLjg1NzQzIDIuMTI2OTYsLTIuODU3NDMgeiIKICAgICAgICAgc3R5 +bGU9ImZvbnQtc2l6ZToxNC42NjY3cHgiCiAgICAgICAgIGlkPSJwYXRoMTM3IiAvPgogICAgICA8 +cGF0aAogICAgICAgICBkPSJtIDMyNS44ODE1NywxMDguMDM1MTcgdiAyLjI3NzM1IGggMi43MTQy +IHYgMS4wMjQwOSBoIC0yLjcxNDIgdiA0LjM1NDE4IHEgMCwwLjk4MTEyIDAuMjY0OTcsMS4yNjA0 +MiAwLjI3MjE0LDAuMjc5MyAxLjA5NTcxLDAuMjc5MyBoIDEuMzUzNTIgdiAxLjEwMjg3IGggLTEu +MzUzNTIgcSAtMS41MjUzOSwwIC0yLjEwNTQ3LC0wLjU2NTc2IC0wLjU4MDA4LC0wLjU3MjkyIC0w +LjU4MDA4LC0yLjA3NjgzIHYgLTQuMzU0MTggaCAtMC45NjY4IHYgLTEuMDI0MDkgaCAwLjk2Njgg +diAtMi4yNzczNSB6IgogICAgICAgICBzdHlsZT0iZm9udC1zaXplOjE0LjY2NjdweCIKICAgICAg +ICAgaWQ9InBhdGgxMzkiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMzAxLjQzOTQ2LDEy +NS45NzQ2NyBoIDYuMTQ0NTQgdiAxLjIxNzQ1IGggLTQuNjk3OTMgdiAzLjE1MTA1IGggNC4yMzk2 +IHYgMS4yMTc0NSBoIC00LjIzOTYgdiA1LjEwNjEzIGggLTEuNDQ2NjEgeiIKICAgICAgICAgc3R5 +bGU9ImZvbnQtc2l6ZToxNC42NjY3cHgiCiAgICAgICAgIGlkPSJwYXRoMTQxIiAvPgogICAgICA8 +cGF0aAogICAgICAgICBkPSJtIDMxNC4yMTU1MywxMjYuOTU1NzkgcSAtMS41NzU1MywwIC0yLjUw +NjUyLDEuMTc0NDggLTAuOTIzODMsMS4xNzQ0OCAtMC45MjM4MywzLjIwMTE4IDAsMi4wMTk1NCAw +LjkyMzgzLDMuMTk0MDIgMC45MzA5OSwxLjE3NDQ4IDIuNTA2NTIsMS4xNzQ0OCAxLjU3NTUyLDAg +Mi40OTIxOSwtMS4xNzQ0OCAwLjkyMzgzLC0xLjE3NDQ4IDAuOTIzODMsLTMuMTk0MDIgMCwtMi4w +MjY3IC0wLjkyMzgzLC0zLjIwMTE4IC0wLjkxNjY3LC0xLjE3NDQ4IC0yLjQ5MjE5LC0xLjE3NDQ4 +IHogbSAwLC0xLjE3NDQ4IHEgMi4yNDg3LDAgMy41OTUwNiwxLjUxMTA3IDEuMzQ2MzYsMS41MDM5 +MSAxLjM0NjM2LDQuMDM5MDcgMCwyLjUyOCAtMS4zNDYzNiw0LjAzOTA3IC0xLjM0NjM2LDEuNTAz +OTEgLTMuNTk1MDYsMS41MDM5MSAtMi4yNTU4NywwIC0zLjYwOTM5LC0xLjUwMzkxIC0xLjM0NjM1 +LC0xLjUwMzkxIC0xLjM0NjM1LC00LjAzOTA3IDAsLTIuNTM1MTYgMS4zNDYzNSwtNC4wMzkwNyAx +LjM1MzUyLC0xLjUxMTA3IDMuNjA5MzksLTEuNTExMDcgeiIKICAgICAgICAgc3R5bGU9ImZvbnQt +c2l6ZToxNC42NjY3cHgiCiAgICAgICAgIGlkPSJwYXRoMTQzIiAvPgogICAgICA8cGF0aAogICAg +ICAgICBkPSJtIDMyNS43NTk4MiwxMjYuOTU1NzkgcSAtMS41NzU1MiwwIC0yLjUwNjUxLDEuMTc0 +NDggLTAuOTIzODMsMS4xNzQ0OCAtMC45MjM4MywzLjIwMTE4IDAsMi4wMTk1NCAwLjkyMzgzLDMu +MTk0MDIgMC45MzA5OSwxLjE3NDQ4IDIuNTA2NTEsMS4xNzQ0OCAxLjU3NTUzLDAgMi40OTIyLC0x +LjE3NDQ4IDAuOTIzODMsLTEuMTc0NDggMC45MjM4MywtMy4xOTQwMiAwLC0yLjAyNjcgLTAuOTIz +ODMsLTMuMjAxMTggLTAuOTE2NjcsLTEuMTc0NDggLTIuNDkyMiwtMS4xNzQ0OCB6IG0gMCwtMS4x +NzQ0OCBxIDIuMjQ4NzEsMCAzLjU5NTA3LDEuNTExMDcgMS4zNDYzNSwxLjUwMzkxIDEuMzQ2MzUs +NC4wMzkwNyAwLDIuNTI4IC0xLjM0NjM1LDQuMDM5MDcgLTEuMzQ2MzYsMS41MDM5MSAtMy41OTUw +NywxLjUwMzkxIC0yLjI1NTg2LDAgLTMuNjA5MzgsLTEuNTAzOTEgLTEuMzQ2MzYsLTEuNTAzOTEg +LTEuMzQ2MzYsLTQuMDM5MDcgMCwtMi41MzUxNiAxLjM0NjM2LC00LjAzOTA3IDEuMzUzNTIsLTEu +NTExMDcgMy42MDkzOCwtMS41MTEwNyB6IgogICAgICAgICBzdHlsZT0iZm9udC1zaXplOjE0LjY2 +NjdweCIKICAgICAgICAgaWQ9InBhdGgxNDUiIC8+CiAgICA8L2c+CiAgICA8ZwogICAgICAgaWQ9 +InQ1IgogICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQ1LjcxMDM4LC0xMjkuNjQ4MDcpIgog +ICAgICAgaW5rc2NhcGU6bGFiZWw9IiNnMzc3MiI+CiAgICAgIDxnCiAgICAgICAgIGFyaWEtbGFi +ZWw9Ikdyb3VwZWQiCiAgICAgICAgIGlkPSJ0ZXh0Mzc2MiIKICAgICAgICAgc3R5bGU9ImZvbnQt +c2l6ZToxMC41ODMzcHg7bGluZS1oZWlnaHQ6MS4yNSI+CiAgICAgICAgPHBhdGgKICAgICAgICAg +ICBkPSJtIDYzLjAxOTQ1MywyMjguMTIyNjggdiAtMi44NzE3NSBoIC0yLjM2MzI4NiB2IC0xLjE4 +ODgxIGggMy43OTU1ODEgdiA0LjU5MDUxIHEgLTAuODM3ODkyLDAuNTk0NCAtMS44NDc2NiwwLjkw +MjM0IC0xLjAwOTc2OCwwLjMwMDc4IC0yLjE1NTYwNCwwLjMwMDc4IC0yLjUwNjUxNiwwIC0zLjky +NDQ4OCwtMS40NjA5NCAtMS40MTA4MTEsLTEuNDY4MSAtMS40MTA4MTEsLTQuMDgyMDQgMCwtMi42 +MjExIDEuNDEwODExLC00LjA4MjA0IDEuNDE3OTcyLC0xLjQ2ODEgMy45MjQ0ODgsLTEuNDY4MSAx +LjA0NTU3NSwwIDEuOTgzNzI4LDAuMjU3ODEgMC45NDUzMTUsMC4yNTc4MiAxLjc0MDIzOSwwLjc1 +OTEyIHYgMS41Mzk3MiBxIC0wLjgwMjA4NSwtMC42ODAzNCAtMS43MDQ0MzEsLTEuMDI0MDkgLTAu +OTAyMzQ2LC0wLjM0Mzc2IC0xLjg5Nzc5MSwtMC4zNDM3NiAtMS45NjIyNDQsMCAtMi45NTA1Mjgs +MS4wOTU3MSAtMC45ODExMjIsMS4wOTU3MSAtMC45ODExMjIsMy4yNjU2MyAwLDIuMTYyNzcgMC45 +ODExMjIsMy4yNTg0NyAwLjk4ODI4NCwxLjA5NTcxIDIuOTUwNTI4LDEuMDk1NzEgMC43NjYyNzgs +MCAxLjM2Nzg0MiwtMC4xMjg5MSAwLjYwMTU2NCwtMC4xMzYwNyAxLjA4MTM4MiwtMC40MTUzNiB6 +IgogICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTQuNjY2N3B4IgogICAgICAgICAgIGlkPSJw +YXRoMTQ4IiAvPgogICAgICAgIDxwYXRoCiAgICAgICAgICAgZD0ibSA3MS42ODQ4MzgsMjIyLjg1 +ODk5IHEgLTAuMjIyMDA2LC0wLjEyODkgLTAuNDg2OTgxLC0wLjE4NjIgLTAuMjU3ODEzLC0wLjA2 +NDQgLTAuNTcyOTE4LC0wLjA2NDQgLTEuMTE3MTksMCAtMS43MTg3NTQsMC43MzA0NyAtMC41OTQ0 +MDIsMC43MjMzMSAtMC41OTQ0MDIsMi4wODM5OSB2IDQuMjI1MjcgSCA2Ni45ODY5MSB2IC04LjAy +MDg1IGggMS4zMjQ4NzMgdiAxLjI0NjEgcSAwLjQxNTM2NSwtMC43MzA0NyAxLjA4MTM4MywtMS4w +ODEzOSAwLjY2NjAxNywtMC4zNTgwNyAxLjYxODQ5MywtMC4zNTgwNyAwLjEzNjA2OCwwIDAuMzAw +NzgyLDAuMDIxNSAwLjE2NDcxNCwwLjAxNDMgMC4zNjUyMzUsMC4wNTAxIHoiCiAgICAgICAgICAg +c3R5bGU9ImZvbnQtc2l6ZToxNC42NjY3cHgiCiAgICAgICAgICAgaWQ9InBhdGgxNTAiIC8+CiAg +ICAgICAgPHBhdGgKICAgICAgICAgICBkPSJtIDc1Ljg1MjgxNiwyMjIuNTUxMDUgcSAtMS4wNTk4 +OTgsMCAtMS42NzU3ODUsMC44MzA3MyAtMC42MTU4ODcsMC44MjM1NyAtMC42MTU4ODcsMi4yNjMw +MyAwLDEuNDM5NDUgMC42MDg3MjYsMi4yNzAxOCAwLjYxNTg4NywwLjgyMzU3IDEuNjgyOTQ2LDAu +ODIzNTcgMS4wNTI3MzcsMCAxLjY2ODYyNCwtMC44MzA3MyAwLjYxNTg4NywtMC44MzA3MyAwLjYx +NTg4NywtMi4yNjMwMiAwLC0xLjQyNTE0IC0wLjYxNTg4NywtMi4yNTU4NyAtMC42MTU4ODcsLTAu +ODM3ODkgLTEuNjY4NjI0LC0wLjgzNzg5IHogbSAwLC0xLjExNzE5IHEgMS43MTg3NTQsMCAyLjY5 +OTg3NiwxLjExNzE5IDAuOTgxMTIyLDEuMTE3MTkgMC45ODExMjIsMy4wOTM3NiAwLDEuOTY5NCAt +MC45ODExMjIsMy4wOTM3NSAtMC45ODExMjIsMS4xMTcxOSAtMi42OTk4NzYsMS4xMTcxOSAtMS43 +MjU5MTUsMCAtMi43MDcwMzcsLTEuMTE3MTkgLTAuOTczOTYxLC0xLjEyNDM1IC0wLjk3Mzk2MSwt +My4wOTM3NSAwLC0xLjk3NjU3IDAuOTczOTYxLC0zLjA5Mzc2IDAuOTgxMTIyLC0xLjExNzE5IDIu +NzA3MDM3LC0xLjExNzE5IHoiCiAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxNC42NjY3cHgi +CiAgICAgICAgICAgaWQ9InBhdGgxNTIiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICBkPSJt +IDgxLjU4MTk5NiwyMjYuNDgyNyB2IC00Ljg1NTQ4IGggMS4zMTc3MTEgdiA0LjgwNTM1IHEgMCwx +LjEzODY3IDAuNDQ0MDEyLDEuNzExNTkgMC40NDQwMTEsMC41NjU3NiAxLjMzMjAzNCwwLjU2NTc2 +IDEuMDY3MDYsMCAxLjY4Mjk0NywtMC42ODAzNCAwLjYyMzA0OCwtMC42ODAzNCAwLjYyMzA0OCwt +MS44NTQ4MiB2IC00LjU0NzU0IGggMS4zMTc3MTEgdiA4LjAyMDg1IGggLTEuMzE3NzExIHYgLTEu +MjMxNzcgcSAtMC40Nzk4MTksMC43MzA0NyAtMS4xMTcxOSwxLjA4ODU0IC0wLjYzMDIxLDAuMzUw +OTEgLTEuNDY4MTAyLDAuMzUwOTEgLTEuMzgyMTY1LDAgLTIuMDk4MzEzLC0wLjg1OTM3IC0wLjcx +NjE0NywtMC44NTkzOCAtMC43MTYxNDcsLTIuNTEzNjggeiBtIDMuMzE1NzYzLC01LjA0ODg0IHoi +CiAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxNC42NjY3cHgiCiAgICAgICAgICAgaWQ9InBh +dGgxNTQiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICBkPSJtIDkyLjI4ODQsMjI4LjQ0NDk0 +IHYgNC4yNTM5MiBIIDkwLjk2MzUyNyBWIDIyMS42MjcyMiBIIDkyLjI4ODQgdiAxLjIxNzQ1IHEg +MC40MTUzNjUsLTAuNzE2MTUgMS4wNDU1NzUsLTEuMDU5OSAwLjYzNzM3MSwtMC4zNTA5MSAxLjUx +ODIzMywtMC4zNTA5MSAxLjQ2MDk0MSwwIDIuMzcwNDQ4LDEuMTYwMTYgMC45MTY2NjksMS4xNjAx +NiAwLjkxNjY2OSwzLjA1MDc5IDAsMS44OTA2MyAtMC45MTY2NjksMy4wNTA3OSAtMC45MDk1MDcs +MS4xNjAxNSAtMi4zNzA0NDgsMS4xNjAxNSAtMC44ODA4NjIsMCAtMS41MTgyMzMsLTAuMzQzNzUg +LTAuNjMwMjEsLTAuMzUwOTEgLTEuMDQ1NTc1LC0xLjA2NzA2IHogbSA0LjQ4MzA4MywtMi44MDAx +MyBxIDAsLTEuNDUzNzggLTAuNjAxNTY0LC0yLjI3NzM1IC0wLjU5NDQwMiwtMC44MzA3MyAtMS42 +Mzk5NzgsLTAuODMwNzMgLTEuMDQ1NTc1LDAgLTEuNjQ3MTM5LDAuODMwNzMgLTAuNTk0NDAyLDAu +ODIzNTcgLTAuNTk0NDAyLDIuMjc3MzUgMCwxLjQ1Mzc4IDAuNTk0NDAyLDIuMjg0NTEgMC42MDE1 +NjQsMC44MjM1NyAxLjY0NzEzOSwwLjgyMzU3IDEuMDQ1NTc2LDAgMS42Mzk5NzgsLTAuODIzNTcg +MC42MDE1NjQsLTAuODMwNzMgMC42MDE1NjQsLTIuMjg0NTEgeiIKICAgICAgICAgICBzdHlsZT0i +Zm9udC1zaXplOjE0LjY2NjdweCIKICAgICAgICAgICBpZD0icGF0aDE1NiIgLz4KICAgICAgICA8 +cGF0aAogICAgICAgICAgIGQ9Im0gMTA3LjE4NDI3LDIyNS4zMDgyMiB2IDAuNjQ0NTMgaCAtNi4w +NTg2MSBxIDAuMDg1OSwxLjM2MDY4IDAuODE2NDEsMi4wNzY4MyAwLjczNzYzLDAuNzA4OTggMi4w +NDgxOCwwLjcwODk4IDAuNzU5MTIsMCAxLjQ2ODEsLTAuMTg2MTkgMC43MTYxNSwtMC4xODYyIDEu +NDE3OTcsLTAuNTU4NiB2IDEuMjQ2MSBxIC0wLjcwODk4LDAuMzAwNzggLTEuNDUzNzgsMC40NTgz +MyAtMC43NDQ3OSwwLjE1NzU1IC0xLjUxMTA3LDAuMTU3NTUgLTEuOTE5MjcsMCAtMy4wNDM2Miwt +MS4xMTcxOSAtMS4xMTcxOTMsLTEuMTE3MTkgLTEuMTE3MTkzLC0zLjAyMjE0IDAsLTEuOTY5NCAx +LjA1OTg5MywtMy4xMjI0IDEuMDY3MDYsLTEuMTYwMTYgMi44NzE3NiwtMS4xNjAxNiAxLjYxODQ5 +LDAgMi41NTY2NCwxLjA0NTU4IDAuOTQ1MzIsMS4wMzg0MSAwLjk0NTMyLDIuODI4NzggeiBtIC0x +LjMxNzcxLC0wLjM4NjcyIHEgLTAuMDE0MywtMS4wODEzOCAtMC42MDg3MywtMS43MjU5MiAtMC41 +ODcyNCwtMC42NDQ1MyAtMS41NjEyLC0wLjY0NDUzIC0xLjEwMjg3LDAgLTEuNzY4ODgsMC42MjMw +NSAtMC42NTg4NiwwLjYyMzA1IC0wLjc1OTEyLDEuNzU0NTYgeiIKICAgICAgICAgICBzdHlsZT0i +Zm9udC1zaXplOjE0LjY2NjdweCIKICAgICAgICAgICBpZD0icGF0aDE1OCIgLz4KICAgICAgICA8 +cGF0aAogICAgICAgICAgIGQ9Im0gMTE0LjYyNTA0LDIyMi44NDQ2NyB2IC00LjMzOTg1IGggMS4z +MTc3MSB2IDExLjE0MzI1IGggLTEuMzE3NzEgdiAtMS4yMDMxMyBxIC0wLjQxNTM2LDAuNzE2MTUg +LTEuMDUyNzMsMS4wNjcwNiAtMC42MzAyMSwwLjM0Mzc1IC0xLjUxODI0LDAuMzQzNzUgLTEuNDUz +NzgsMCAtMi4zNzA0NSwtMS4xNjAxNSAtMC45MDk1LC0xLjE2MDE2IC0wLjkwOTUsLTMuMDUwNzkg +MCwtMS44OTA2MyAwLjkwOTUsLTMuMDUwNzkgMC45MTY2NywtMS4xNjAxNiAyLjM3MDQ1LC0xLjE2 +MDE2IDAuODg4MDMsMCAxLjUxODI0LDAuMzUwOTEgMC42MzczNywwLjM0Mzc1IDEuMDUyNzMsMS4w +NTk5IHogbSAtNC40OTAyNCwyLjgwMDE0IHEgMCwxLjQ1Mzc4IDAuNTk0NCwyLjI4NDUxIDAuNjAx +NTYsMC44MjM1NyAxLjY0NzE0LDAuODIzNTcgMS4wNDU1NywwIDEuNjQ3MTQsLTAuODIzNTcgMC42 +MDE1NiwtMC44MzA3MyAwLjYwMTU2LC0yLjI4NDUxIDAsLTEuNDUzNzggLTAuNjAxNTYsLTIuMjc3 +MzUgLTAuNjAxNTcsLTAuODMwNzMgLTEuNjQ3MTQsLTAuODMwNzMgLTEuMDQ1NTgsMCAtMS42NDcx +NCwwLjgzMDczIC0wLjU5NDQsMC44MjM1NyAtMC41OTQ0LDIuMjc3MzUgeiIKICAgICAgICAgICBz +dHlsZT0iZm9udC1zaXplOjE0LjY2NjdweCIKICAgICAgICAgICBpZD0icGF0aDE2MCIgLz4KICAg +ICAgPC9nPgogICAgICA8ZwogICAgICAgICBhcmlhLWxhYmVsPSJ0ZXh0IgogICAgICAgICBpZD0i +dGV4dDM3NjYiCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTQuNjY2N3B4O2xpbmUtaGVpZ2h0 +OjEuMjUiPgogICAgICAgIDxwYXRoCiAgICAgICAgICAgZD0ibSA1Ni45NzUxNzIsMjQ5LjM0OTg3 +IHYgMi4yNzczNSBoIDIuNzE0MTk5IHYgMS4wMjQwOSBoIC0yLjcxNDE5OSB2IDQuMzU0MTggcSAw +LDAuOTgxMTIgMC4yNjQ5NzUsMS4yNjA0MiAwLjI3MjEzNiwwLjI3OTI5IDEuMDk1NzA2LDAuMjc5 +MjkgaCAxLjM1MzUxOCB2IDEuMTAyODcgaCAtMS4zNTM1MTggcSAtMS41MjUzOTQsMCAtMi4xMDU0 +NzQsLTAuNTY1NzYgUSA1NS42NTAzLDI1OC41MDk0IDU1LjY1MDMsMjU3LjAwNTQ5IHYgLTQuMzU0 +MTggaCAtMC45NjY3OTkgdiAtMS4wMjQwOSBIIDU1LjY1MDMgdiAtMi4yNzczNSB6IgogICAgICAg +ICAgIGlkPSJwYXRoMTYzIiAvPgogICAgICAgIDxwYXRoCiAgICAgICAgICAgZD0ibSA2OC4yODMx +NDEsMjU1LjMwODIyIHYgMC42NDQ1MyBoIC02LjA1ODYwOCBxIDAuMDg1OTQsMS4zNjA2OCAwLjgx +NjQwOSwyLjA3NjgzIDAuNzM3NjMyLDAuNzA4OTggMi4wNDgxODEsMC43MDg5OCAwLjc1OTExNyww +IDEuNDY4MTAzLC0wLjE4NjE5IDAuNzE2MTQ3LC0wLjE4NjIgMS40MTc5NzIsLTAuNTU4NiB2IDEu +MjQ2MSBxIC0wLjcwODk4NiwwLjMwMDc4IC0xLjQ1Mzc4LDAuNDU4MzMgLTAuNzQ0NzkzLDAuMTU3 +NTUgLTEuNTExMDcxLDAuMTU3NTUgLTEuOTE5Mjc1LDAgLTMuMDQzNjI3LC0xLjExNzE5IC0xLjEx +NzE5LC0xLjExNzE5IC0xLjExNzE5LC0zLjAyMjE0IDAsLTEuOTY5NCAxLjA1OTg5OSwtMy4xMjI0 +IDEuMDY3MDU5LC0xLjE2MDE2IDIuODcxNzUxLC0xLjE2MDE2IDEuNjE4NDkzLDAgMi41NTY2NDYs +MS4wNDU1OCAwLjk0NTMxNSwxLjAzODQxIDAuOTQ1MzE1LDIuODI4NzggeiBNIDY2Ljk2NTQzLDI1 +NC45MjE1IHEgLTAuMDE0MzIsLTEuMDgxMzggLTAuNjA4NzI2LC0xLjcyNTkyIC0wLjU4NzI0LC0w +LjY0NDUzIC0xLjU2MTIwMSwtMC42NDQ1MyAtMS4xMDI4NjcsMCAtMS43Njg4ODQsMC42MjMwNSAt +MC42NTg4NTYsMC42MjMwNSAtMC43NTkxMTcsMS43NTQ1NiB6IgogICAgICAgICAgIGlkPSJwYXRo +MTY1IiAvPgogICAgICAgIDxwYXRoCiAgICAgICAgICAgZD0ibSA3Ni44NTU0MjcsMjUxLjYyNzIy +IC0yLjkwMDM5NywzLjkwMyAzLjA1MDc4OCw0LjExNzg1IGggLTEuNTU0MDQgbCAtMi4zMzQ2NDEs +LTMuMTUxMDUgLTIuMzM0NjQxLDMuMTUxMDUgaCAtMS41NTQwNCBsIDMuMTE1MjQyLC00LjE5NjYy +IC0yLjg1MDI2NywtMy44MjQyMyBoIDEuNTU0MDQgbCAyLjEyNjk1OCwyLjg1NzQzIDIuMTI2OTU4 +LC0yLjg1NzQzIHoiCiAgICAgICAgICAgaWQ9InBhdGgxNjciIC8+CiAgICAgICAgPHBhdGgKICAg +ICAgICAgICBkPSJtIDgwLjE3MTE4OSwyNDkuMzQ5ODcgdiAyLjI3NzM1IGggMi43MTQxOTkgdiAx +LjAyNDA5IGggLTIuNzE0MTk5IHYgNC4zNTQxOCBxIDAsMC45ODExMiAwLjI2NDk3NCwxLjI2MDQy +IDAuMjcyMTM2LDAuMjc5MjkgMS4wOTU3MDYsMC4yNzkyOSBoIDEuMzUzNTE5IHYgMS4xMDI4NyBo +IC0xLjM1MzUxOSBxIC0xLjUyNTM5NCwwIC0yLjEwNTQ3NCwtMC41NjU3NiAtMC41ODAwNzksLTAu +NTcyOTEgLTAuNTgwMDc5LC0yLjA3NjgyIHYgLTQuMzU0MTggaCAtMC45NjY3OTkgdiAtMS4wMjQw +OSBoIDAuOTY2Nzk5IHYgLTIuMjc3MzUgeiIKICAgICAgICAgICBpZD0icGF0aDE2OSIgLz4KICAg +ICAgPC9nPgogICAgPC9nPgogICAgPHBhdGgKICAgICAgIGlkPSJyMSIKICAgICAgIHN0eWxlPSJm +aWxsOiMwMDAwODAiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iI3JlY3QzNzMyIgogICAgICAgZD0i +TSAxMDAsMjAwIEggMjAwIFYgMzAwIEggMTAwIFoiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InIy +IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmMDAwMDtzdHJva2Utd2lkdGg6MTYi +CiAgICAgICBpbmtzY2FwZTpsYWJlbD0iI3JlY3QzNzM0IgogICAgICAgZD0iTSAzMDAsMjAwIEgg +NTAwIFYgMzAwIEggMzAwIFoiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InIzIgogICAgICAgc3R5 +bGU9ImZpbGw6I2ZmZmYwMDtzdHJva2U6IzAwODAwMDtzdHJva2Utd2lkdGg6MTYiCiAgICAgICBp +bmtzY2FwZTpsYWJlbD0iI3JlY3QzNzQ0IgogICAgICAgZD0iTSA2NDQuOTQzMjMsMjAwIEggNzU1 +LjA1Njc3IEMgNzc5Ljk1NTMyLDIwMCA4MDAsMjE3LjM3MjA2IDgwMCwyMzguOTUwOCB2IDIyLjA5 +ODQgQyA4MDAsMjgyLjYyNzk0IDc3OS45NTUzMiwzMDAgNzU1LjA1Njc3LDMwMCBIIDY0NC45NDMy +MyBDIDYyMC4wNDQ2OCwzMDAgNjAwLDI4Mi42Mjc5NCA2MDAsMjYxLjA0OTIgViAyMzguOTUwOCBD +IDYwMCwyMTcuMzcyMDYgNjIwLjA0NDY4LDIwMCA2NDQuOTQzMjMsMjAwIFoiIC8+CiAgPC9nPgog +IDxzY3JpcHQKICAgICBuczE6dmVyc2lvbj0iMS41LjUiCiAgICAgaWQ9Ikplc3N5SW5rIj4vLyBk +dW1teQo8L3NjcmlwdD4KPC9zdmc+Cg== + +----CALLDATA--//--CALLDATA---- diff --git a/tests/data/refs/synfig_output.out b/tests/data/refs/synfig_output.out new file mode 100644 index 0000000000000000000000000000000000000000..f982632e23496202cc3a21ff1dee2a6ac6ff422e --- /dev/null +++ b/tests/data/refs/synfig_output.out @@ -0,0 +1,3 @@ + + input.svg + 0.00.01.00.00.01.00.00.02.52181499999999972.43455650000000026.66666699999999952.43455650000000026.6666669999999995-0.92374516666666672.5218149999999997-0.92374516666666670.00.00.00.00.50196078431372551.00.00.0-5.00.8333333333333334-5.2440776823445430.24407768234454277-5.8333333333333330.0-6.4225889843221230.24407768234454277-6.6666666666666670.8333333333333334-6.4225889843221231.422588984322124-5.8333333333333331.6666666666666667-5.2440776823445431.4225889843221241.00.00.01.00.00.00.00.8333333333333334-0.48815536468908650.24407768234454277-1.66666666666666670.0-2.84517796864424580.24407768234454277-3.33333333333333350.8333333333333334-2.84517796864424671.422588984322124-1.66666666666666671.6666666666666667-0.48815536468908651.4225889843221241.01.00.01.00.00.04.7181058333333340.36960316666666512.86646450000000060.033362833333336541.66708099999999980.81475333333334182.7956021666666671.62210183333333284.6753821666666661.32746966666666523.33333333333333350.83333333333333340.00.50196078431372550.01.00.00.04.7181058333333340.36960316666666512.86646450000000060.033362833333336541.66708099999999980.81475333333334182.7956021666666671.62210183333333284.6753821666666661.32746966666666523.33333333333333350.83333333333333340.00.00.01.00.00.0-6.666666666666667-1.6666666666666667-5.0-3.3333333333333335-3.3333333333333335-1.6666666666666667-1.6666666666666667-3.33333333333333350.00.00.01.00.00.00.0-1.66666666666666671.6666666666666667-3.33333333333333353.3333333333333335-1.66666666666666675.0-3.33333333333333351.01.00.01.00.00.0-4.25278-6.4856675-5.008427833333333-6.3500931666666665-5.548499166666667-6.895718666666666-5.653068333333334-6.13516-6.338880333333333-5.790129333333335-5.647859666666666-5.4556525-5.5316434999999995-4.696786333333334-5.0-5.250627000000001-4.242362666666667-5.1266525000000005-4.604809500000001-5.8034216666666660.00.50196078431372550.01.00.00.0-4.25278-6.4856675-5.008427833333333-6.3500931666666665-5.548499166666667-6.895718666666666-5.653068333333334-6.13516-6.338880333333333-5.790129333333335-5.647859666666666-5.4556525-5.5316434999999995-4.696786333333334-5.0-5.250627000000001-4.242362666666667-5.1266525000000005-4.604809500000001-5.8034216666666661.01.00.01.00.00.0-0.9194468333333333-6.535604333333334-1.6750948333333335-6.400030166666666-2.2151660000000004-6.945655666666666-2.3197353333333335-6.185097-3.0055471666666667-5.8400663333333345-2.3145265000000004-5.5055895-2.1983105000000003-4.746723333333334-1.6666670000000001-5.3005638333333325-0.9090294999999997-5.1765895-1.2714765-5.8533586666666660.00.50196078431372550.01.00.00.0-0.9194468333333333-6.535604333333334-1.6750948333333335-6.400030166666666-2.2151660000000004-6.945655666666666-2.3197353333333335-6.185097-3.0055471666666667-5.8400663333333345-2.3145265000000004-5.5055895-2.1983105000000003-4.746723333333334-1.6666670000000001-5.3005638333333325-0.9090294999999997-5.1765895-1.2714765-5.8533586666666660.00.00.00.00.01.00.00.0-6.6426756666666666.844868033333333-6.61856556.844868033333333-6.61856556.771820983333333-6.53095666666666656.771820983333333-6.53095666666666656.844868033333333-6.50684656.844868033333333-6.50684656.666666666666667-6.53095666666666656.666666666666667-6.53095666666666656.75153015-6.61856556.75153015-6.61856556.666666666666667-6.6426756666666666.6666666666666670.00.00.01.00.00.0-6.3454666666666676.738998333333332-6.3454666666666676.7282561166666675-6.44644356.7282561166666675-6.4328366666666666.693642283333334-6.3987003333333336.681825849999999-6.3742326.684929166666666-6.3505996.694239083333334-6.3505996.673470749999999-6.3748286666666676.665831850000001-6.4000133333333336.663206016666667-6.4507403333333336.681825849999999-6.4693601666666666.73219485-6.4516951666666666.78423485-6.4038326666666676.80357085-6.3612226.786144516666667-6.3454666666666666.738998183333333-6.3454666666666676.738998333333332-6.36743333333333356.745443333333332-6.3775788333333336.774208666666667-6.4035988333333346.784950883333333-6.4330801666666676.774566733333334-6.4457321666666676.745324066666668-6.36743333333333356.745443333333332-6.36743333333333356.745443333333332-6.3454666666666676.7389983333333320.00.00.01.00.00.0-6.3094284999999996.852387583333333-6.28746656.852387583333333-6.28746656.666666666666667-6.3094284999999996.6666666666666670.00.00.01.00.00.0-6.2415138333333336.852387583333333-6.2195519999999996.852387583333333-6.2195519999999996.666666666666667-6.2415138333333336.6666666666666670.00.00.01.00.00.0-6.12179999999999956.784949999999999-6.1497296666666676.771104466666666-6.15999456.7333873-6.1498490000000016.695550800000001-6.12179999999999956.681824633333334-6.09398956.695670150000001-6.0837248333333336.733387316666667-6.09398956.77098515-6.12179999999999956.784950033333333-6.12179999999999956.784949999999999-6.12179999999999956.80357-6.0768026.784950166666666-6.06044999999999946.7333875-6.0768026.681824833333334-6.12179999999999956.663205000000001-6.1669171666666676.681824833333334-6.1831498333333336.7333875-6.1669171666666676.784950166666666-6.12179999999999956.80357-6.12179999999999956.80357-6.12179999999999956.80357-6.12179999999999956.7849499999999990.00.00.01.00.00.0-5.9612615000000016.844868033333333-5.93691256.844868033333333-5.8994346.694238350000001-5.8620750000000016.844868033333333-5.8349808333333346.844868033333333-5.7975023333333336.694238350000001-5.7601433333333346.844868033333333-5.7356750000000016.844868033333333-5.7804341666666676.666666666666667-5.8107511666666676.666666666666667-5.84834883333333366.821354516666668-5.8863046666666666.666666666666667-5.9166215000000016.6666666666666670.00.00.01.00.00.0-5.6671666666666666.784949999999999-5.6950963333333346.771104466666666-5.7053611666666676.7333873-5.6952158333333336.695550800000001-5.6671666666666666.681824633333334-5.6393563333333346.695670150000001-5.62909156.733387316666667-5.6393563333333346.77098515-5.6671666666666666.784950033333333-5.6671666666666666.784949999999999-5.6671666666666666.80357-5.6221686666666666.784950166666666-5.6058166666666676.7333875-5.6221686666666666.681824833333334-5.6671666666666666.663205000000001-5.71228399999999956.681824833333334-5.7285166666666676.7333875-5.71228399999999956.784950166666666-5.6671666666666666.80357-5.6671666666666666.80357-5.6671666666666666.80357-5.6671666666666666.7849499999999990.00.00.01.00.00.0-5.4919461666666676.779817966666667-5.5000624999999996.7829212666666665-5.5096111666666686.783995433333333-5.5382570000000016.771820916666667-5.54816366666666656.737087766666667-5.54816366666666656.666666666666667-5.5702456.666666666666667-5.5702456.800347533333333-5.54816366666666656.800347533333333-5.54816366666666656.77957925-5.5301406666666676.797602299999999-5.5031658333333336.803570199999999-5.4981526666666676.8032122-5.49206556.80237670.00.00.01.00.00.0-5.4689099999999996.852387583333333-5.4469481666666676.852387583333333-5.4469481666666676.666666666666667-5.4689099999999996.6666666666666670.00.00.01.00.00.0-5.3130333333333346.780056666666667-5.3130333333333346.852388333333333-5.2910666666666676.852388333333333-5.2910666666666676.666666666666667-5.3130286666666676.666666666666667-5.3130286666666676.686718833333333-5.3305741666666676.668934500000001-5.3558786.663205366666667-5.39538556.682541366666667-5.4105440000000016.733387866666667-5.39538556.784234366666667-5.3558786.803570366666667-5.3305741666666676.797721816666668-5.3130286666666676.780056816666667-5.3130333333333346.780056666666667-5.3878666666666676.733388333333333-5.377966.695313166666667-5.3505076666666666.6815869999999995-5.3230553333333336.695313166666667-5.3130293333333336.733388333333333-5.3230553333333336.771344166666667-5.3505076666666666.785189683333332-5.377966.771344166666667-5.3878666666666676.733388333333333-5.3878666666666676.733388333333333-5.3878666666666676.733388333333333-5.3130333333333346.7800566666666670.00.00.01.00.00.0-1.5967173111865016.852388455020832-1.53560622289916766.852388455020832-1.53560622289916766.666668122332834-1.5576873940386676.666668122332834-1.5576873940386676.834126759972166-1.59695600914966756.834126759972166-1.61342735923166756.829352447931501-1.61796292921200046.812164959862832-1.61796292921200046.800348594888501-1.5817976081086.800348594888501-1.5817976081086.783280433752833-1.61796292921200046.783280433752833-1.61796292921200046.666668122332834-1.64004410035150076.666668122332834-1.64004410035150076.783280433752833-1.66105102041383366.783280433752833-1.66105102041383366.800348594888501-1.64004410035150076.800348594888501-1.64004410035150076.809658476909501-1.62965996725333386.8421237370500005-1.5967173111865016.8523884550208340.00.00.01.00.00.0-1.4378531672333346.784951760466667-1.46578285739350066.771106264368166-1.47604761946150046.7333892962606665-1.4659022284236676.695552957123001-1.4378531672333346.681826832054666-1.41004289220050046.695672328153167-1.39977813013250056.7333892962606665-1.41004289220050046.7709869374351666-1.4378531672333346.784951760466667-1.4378531672333346.784951760466667-1.4378531672333346.803569584233332-1.39285553642333376.784949820191334-1.3765035132743346.733387444179668-1.39285553642333376.681825068167999-1.4378531672333346.663205304125999-1.48297030136500046.681825068167999-1.49920290938666776.733387444179668-1.48297030136500046.784949820191334-1.4378531672333346.803569584233332-1.4378531672333346.803569584233332-1.4378531672333346.803569584233332-1.4378531672333346.7849517604666670.00.00.01.00.00.0-1.35286981318800016.800348594888501-1.33090801307866686.800348594888501-1.30345580703916736.696030088466333-1.27612292793266716.800348594888501-1.25022232479950066.800348594888501-1.22277007466283386.696030088466333-1.19543719555633376.800348594888501-1.17347539544700036.800348594888501-1.20844718263800056.666668122332834-1.2343477857711676.666668122332834-1.2631129408516.776238336722001-1.29199746696100046.666668122332834-1.3178980700941676.6666681223328340.00.00.01.00.00.0-1.04074980293833426.838304260959167-1.04074980293833426.800348594888501-0.99551325367933336.800348594888501-0.99551325367933336.783280433752833-1.04074980293833426.783280433752833-1.04074980293833426.7107110494845-1.03633355989100086.689704129422167-1.01807186484233336.685049188411667-0.99551325367933336.685049188411667-0.99551325367933336.666668122332834-1.01807186484233336.666668122332834-1.05316297896633376.676097375384001-1.06283092998066696.7107110494845-1.06283092998066696.783280433752833-1.0789442110693346.783280433752833-1.0789442110693346.800348594888501-1.06283092998066696.800348594888501-1.06283092998066696.8383042609591670.00.00.01.00.00.0-0.85228248135000046.738998103083333-0.85228248135000046.728255900991834-0.95325881941333356.728255900991834-0.93965202127800086.693642226891332-0.9055157872016.681825817819833-0.88104746004116716.6849291118268335-0.85741468599533356.694238993847834-0.85741468599533356.673470771748667-0.88164427109483476.665831907761333-0.90682869214416736.663206053777833-0.95755586781916696.681825817819833-0.97617563186116746.732194924501501-0.95851070376900046.784234872828167-0.91064852101233386.8035707748568335-0.86803786983400086.7861445888250005-0.85228265773866766.7389985440550015-0.85228248135000046.738998103083333-0.87424728006666716.74544510885-0.88439267110450056.774210263929833-0.91041260117066746.784952466021334-0.93989393833433426.7745683770203335-0.95254581232550026.745325737819834-0.87424728006666716.74544510885-0.87424728006666716.74544510885-0.85228248135000046.7389981030833330.00.00.01.00.00.0-0.70941321759300056.800348594888501-0.75775301676183356.735298703577333-0.70690669054249996.666668122332834-0.73280729367566746.666668122332834-0.77171783979333396.719185422488666-0.81062838591100036.666668122332834-0.83652898904416686.666668122332834-0.78460845584483356.736611652617667-0.83211274599683436.800348594888501-0.80621218696083376.800348594888501-0.77076295974633426.752724889609167-0.73531377662900096.8003485948885010.00.00.01.00.00.0-0.65415069242350046.838304260959167-0.65415069242350046.800348594888501-0.60891414316450046.800348594888501-0.60891414316450046.783280433752833-0.65415069242350046.783280433752833-0.65415069242350046.7107110494845-0.64973444937616696.689704129422167-0.63147275432750036.685049188411667-0.60891414316450046.685049188411667-0.60891414316450046.666668122332834-0.63147275432750036.666668122332834-0.66656386845150076.676097375384001-0.67623181946583396.7107110494845-0.67623181946583396.783280433752833-0.69234510055449996.783280433752833-0.69234510055449996.800348594888501-0.67623181946583396.800348594888501-0.67623181946583396.8383042609591670.00.00.01.00.00.0-1.65639607940333346.494793197548999-1.63443427929400036.494793197548999-1.60698202915733366.390474691126834-1.57964915005083346.494793197548999-1.55374859101483396.494793197548999-1.52629634087816736.390474691126834-1.4989634617716676.494793197548999-1.47700166166233386.494793197548999-1.51197344885333386.361112769090499-1.53787400788933346.361112769090499-1.56663920706633356.470682983479666-1.59552373317633376.361112769090499-1.62142429221233436.3611127690904990.00.00.01.00.00.0-1.33257903111233426.441798457369667-1.33257903111233426.361112769090499-1.35454083122166746.361112769090499-1.35454083122166746.441082319382999-1.36194099724583386.4694894054695-1.38414149531833376.478918658520667-1.41219051241149976.467579689472666-1.42245527447950056.4366660763356665-1.42245527447950056.361112769090499-1.4445364015218346.361112769090499-1.4445364015218346.5468331017785-1.42245527447950056.5468331017785-1.42245527447950056.474025019546999-1.40395483737050026.492047972535333-1.37924781224749986.498015862586166-1.3443954401838346.483692970561333-1.33257903111233426.4417984573696670.00.00.01.00.00.0-1.28877387588333366.4947924038-1.26681207577400056.4947924038-1.26681207577400056.361111843049999-1.28877387588333366.361111843049999-1.28877387588333366.4947924038-1.28877387588333366.546831470183334-1.26681207577400056.546831470183334-1.26681207577400056.519021151053333-1.28877387588333366.519021151053333-1.28877387588333366.546831470183334-1.28877387588333366.546831470183334-1.28877387588333366.49479240380.00.00.01.00.00.0-1.12465815625466716.489660816515-1.12465815625466716.469131336476166-1.1433972913268346.4767702004635-1.16225579742916726.479396098544167-1.19543719555633376.465789344506001-1.20725360462783356.427833634338167-1.19543719555633376.389758553140166-1.16225579742916726.376271170132168-1.1433972913268346.378777653085502-1.12465815625466716.386535932200166-1.12465815625466716.366245106027335-1.1437553603201676.359799820050167-1.16464295344950046.357651361993001-1.21262468362500056.3766292391255-1.23040893865016696.427833634338167-1.21250531259483426.479276727514001-1.16321067747616666.4980158625861675-1.1433972913268346.495867448626168-1.12465815625466716.4896608165150.00.00.01.00.00.0-0.97534188673099996.441798457369667-0.97534188673099996.361112769090499-0.99730364274316716.361112769090499-0.99730364274316716.441082319382999-1.00470380876733356.4694894054695-1.02690435093700026.478918658520667-1.05495336803016736.467579689472666-1.0652180860016.4366660763356665-1.0652180860016.361112769090499-1.08729925714049986.361112769090499-1.08729925714049986.5468331017785-1.0652180860016.5468331017785-1.0652180860016.474025019546999-1.04671769298916686.492047972535333-1.02201066786616736.498015862586166-0.98715825170533366.483692970561333-0.97534188673099996.4417984573696670.00.00.01.00.00.0-1.65639607940333346.189237844306666-1.63443427929400036.189237844306666-1.60698202915733366.084919337884499-1.57964915005083346.189237844306666-1.55374859101483396.189237844306666-1.52629634087816736.084919337884499-1.4989634617716676.189237844306666-1.47700166166233386.189237844306666-1.51197344885333386.055557371750999-1.53787400788933346.055557371750999-1.56663920706633356.1651276302373335-1.59552373317633376.055557371750999-1.62142429221233436.0555573717509990.00.00.01.00.00.0-1.3662378692636.168708364267833-1.3743541732738346.171811658274834-1.3839027973551676.172885865254833-1.41254858140483376.160711387190001-1.42245527447950056.125978342059333-1.42245527447950056.055557371750999-1.4445364015218346.055557371750999-1.4445364015218346.189237844306666-1.42245527447950056.189237844306666-1.42245527447950056.168469622207499-1.40443227739400066.186492619293-1.37745746728083426.192460509343834-1.37244445727700036.1921024403505-1.36635719619600026.1912669313336670.00.00.01.00.00.0-1.28245034218333386.122757837783333-1.31933180127400076.116670620799501-1.32959656334200066.095902398700334-1.32195769935466676.077282634658333-1.30095077929233386.070479235590667-1.27170814009183376.083369851642165-1.26060791310416686.117864198809666-1.26060791310416686.122757837783333-1.28245034218333386.122757837783333-1.23864421681666766.1318286249666665-1.23864421681666766.055559047443334-1.2606060169260016.055559047443334-1.2606060169260016.075849829518999-1.2793451519981676.057826876530667-1.30679740213483346.052097684443-1.33950136023850066.063556024521167-1.3515564672731676.094469637658166-1.3365173931645016.128486544802167-1.29140025903283426.1399448407831665-1.2606060169266.1399448407831665-1.2606060169266.142093298840333-1.2706320369336676.165487374923-1.29856172709383396.173842420994166-1.32088159619650016.1710971959805-1.34176914522866666.1628615209395-1.34176914522866666.1831523030151665-1.31837506914600066.190075029015833-1.29629389800656.192462185036167-1.25296710884156.1774231109275-1.23864421681666766.131828404480832-1.23864421681666766.1318286249666665-1.23864421681666766.1318286249666665-1.28245034218333386.1227578377833330.00.00.01.00.00.0-1.17216332835000016.075609147183333-1.17216332835000016.0047106045600005-1.19424445539233376.0047106045600005-1.19424445539233376.189238726249999-1.17216332835000016.189238726249999-1.17216332835000016.168947944174333-1.15473709822100086.186612872266499-1.12943330614150076.192461391287168-1.08992594897016676.173125445161334-1.07464817689833386.122279207136334-1.08992594897016676.071432969111333-1.12943330614150076.0520970229855005-1.15473709822100086.057826215073165-1.17216332835000016.075610470098331-1.17216332835000016.075609147183333-1.09744508915000076.122277178666667-1.1074711091576676.160232844737334-1.13480398826416726.174078340835833-1.16225623840083376.160232844737334-1.17216293147550076.122277178666667-1.16225623840083376.084202097468666-1.13480398826416726.070475972400334-1.1074711091576676.084202097468666-1.09744508915000076.122277178666667-1.09744508915000076.122277178666667-1.09744508915000076.122277178666667-1.17216332835000016.0756091471833330.00.00.01.00.00.0-0.95302201762833366.185299041282834-0.95302201762833366.164530819183667-0.9723579196570016.171692287244666-0.99312614175616726.174079443265-1.01771379584900036.1690664332611655-1.02583014395700066.1540273591525-1.01998158083916726.141972252117834-0.99646817782350086.133736577076833-0.98894864076916736.132065603140332-0.95576724264200076.117862038048499-0.94586054956733396.092438874938834-0.96066088161566756.062957537775166-1.0011231188340016.052096008750666-1.02356231486966756.054244466807832-1.04803064202950026.060451054821832-1.04803064202950026.083128992917834-1.02403975489316776.073580368836501-1.00064567881050076.0704770748295-0.97677416270433366.075728826893665-0.96841911663316676.090767856905165-0.97450637771416766.1044939819735005-1.00088437677366736.113684537061499-1.00852328485816736.115474882028165-1.03800457792466726.128604196042833-1.04707576198250096.153072523202665-1.03370770590756.182195747275833-0.9957520398368346.1924605093438325-0.97283535968050036.19067012028-0.95302201762833366.1852990412828340.00.00.01.00.00.0-4.9787543333333336.844868033333333-4.9545246666666676.844868033333333-4.9545246666666676.736610400000001-4.94414056.695312566666667-4.91048149999999956.682779983333334-4.8769426.695312566666667-4.8665578333333336.736610400000001-4.8665578333333336.844868033333333-4.84232816666666556.844868033333333-4.84232816666666556.733626450000001-4.8596351666666666.6809896166666665-4.91048149999999956.663205333333334-4.9615668333333336.6809896166666665-4.9787543333333336.7336264500000010.00.00.01.00.00.0-4.7729833333333336.825055-4.7729833333333336.758095166666667-4.74266649999999956.758095166666667-4.71664649999999956.766808283333334-4.70745583333333256.791634783333333-4.71664649999999956.816341949999999-4.74266649999999956.825055083333333-4.7729833333333336.825055-4.7970833333333336.844868333333333-4.74265616666666656.844868333333333-4.69741956.831261533333333-4.6820223333333336.7916346999999995-4.69741956.751769199999999-4.74265616666666656.7382817500000005-4.77297299999999956.7382817500000005-4.77297299999999956.666666666666667-4.7970833333333336.666666666666667-4.7970833333333336.844868333333333-4.7970833333333336.844868333333333-4.7729833333333336.8250550.00.00.01.00.00.0-4.6255666666666676.825055-4.6255666666666676.758095166666667-4.5952498333333336.758095166666667-4.5692298333333336.766808283333334-4.5600391666666676.791634783333333-4.5692298333333336.816341949999999-4.5952498333333336.825055083333333-4.6255666666666676.825055-4.6496833333333336.844868333333333-4.5952561666666676.844868333333333-4.55001956.831261533333333-4.5346223333333336.7916346999999995-4.55001956.751769199999999-4.5952561666666676.7382817500000005-4.6255736.7382817500000005-4.6255736.666666666666667-4.6496833333333336.666666666666667-4.6496833333333336.844868333333333-4.6496833333333336.844868333333333-4.6255666666666676.8250550.00.00.01.00.00.0-4.5022775000000016.844868033333333-4.3896036666666676.844868033333333-4.3896036666666676.824577183333334-4.4781671666666666.824577183333334-4.4781671666666666.771820983333333-4.3933036666666666.771820983333333-4.3933036666666666.75153015-4.4781671666666666.75153015-4.4781671666666666.686957516666666-4.3874551666666666.686957516666666-4.3874551666666666.666666666666667-4.50227756.6666666666666670.00.00.01.00.00.0-4.2633166666666666.750216666666668-4.24827749999999956.738997033333334-4.2334771666666666.715364199999999-4.2090166666666676.666666666666667-4.2349173333333336.666666666666667-4.2577146666666676.712380666666666-4.2749021666666666.736132833333333-4.2974608333333336.741981383333333-4.32371956.741981383333333-4.32371956.666666666666667-4.3478333333333336.666666666666667-4.3478333333333336.844868333333333-4.2934061666666676.844868333333333-4.24781156.832097033333334-4.2327723333333336.793544366666667-4.240656.765614533333333-4.2633286.750217349999999-4.2633166666666666.750216666666668-4.3237166666666676.825055-4.3237166666666676.761795333333334-4.2933998333333346.761795333333334-4.2671416.769792316666667-4.2581891666666676.793544483333333-4.2671416.817057983333332-4.2933998333333346.8250549666666664-4.3237166666666676.825055-4.3237166666666676.825055-4.2633166666666666.7502166666666680.00.00.01.00.00.0-3.30934233333333346.844868033333333-3.27341566666666676.844868033333333-3.22794033333333366.723600383333333-3.1822261666666676.844868033333333-3.14629950000000056.844868033333333-3.14629950000000056.666666666666667-3.1698130000000016.666666666666667-3.1698130000000016.823144883333333-3.2157658333333346.700922383333333-3.23999550000000056.700922383333333-3.2859481666666676.823144883333333-3.2859481666666676.666666666666667-3.30934233333333436.6666666666666670.00.00.01.00.00.0-3.1016666666666676.719423333333333-3.1016666666666676.8003480000000005-3.0797048333333346.8003480000000005-3.0797048333333346.720258833333332-3.07230466666666766.691732333333334-3.05010400000000066.68230305-3.0220548333333346.693642049999999-3.0116708333333346.724555716666667-3.0116708333333346.80034805-2.98970883333333376.80034805-2.98970883333333376.666666666666667-3.0116708333333346.666666666666667-3.0116708333333346.687196166666666-3.0302906666666676.6690536666666675-3.05475900000000026.663205183333334-3.0897308333333346.677528083333334-3.1016666666666686.719422749999999-3.1016666666666676.719423333333333-3.04639999999999986.80357-3.04639999999999986.80357-3.04639999999999986.80357-3.1016666666666676.7194233333333330.00.00.01.00.00.0-2.9444651666666676.852387583333333-2.92250333333333376.852387583333333-2.92250333333333376.666666666666667-2.9444651666666676.6666666666666670.00.00.01.00.00.0-2.85482756.838303350000001-2.85482756.800347533333333-2.8095908333333336.800347533333333-2.8095908333333336.78327935-2.85482756.78327935-2.85482756.710709733333332-2.8504111666666676.6897027499999995-2.83214956.685047783333334-2.8095908333333336.685047783333334-2.8095908333333336.666666666666667-2.83214956.666666666666667-2.8672406666666676.67609595-2.8769086666666676.710709733333332-2.8769086666666676.78327935-2.8930226.78327935-2.8930226.800347533333333-2.8769086666666676.800347533333333-2.8769086666666676.83830334999999940.00.00.01.00.00.0-2.78076.800348333333333-2.7587381666666676.800348333333333-2.7587381666666676.666666666666667-2.78076.666666666666667-2.78076.800348333333333-2.78076.852388333333333-2.7587381666666676.852388333333333-2.7587381666666676.824578000000001-2.78076.824578000000001-2.78076.852388333333333-2.78076.852388333333333-2.78076.8003483333333330.00.00.01.00.00.0-2.63508956.852387583333333-2.61312766666666676.852387583333333-2.61312766666666676.666666666666667-2.63508956.6666666666666670.00.00.01.00.00.0-2.5671666666666666.800348333333333-2.54520483333333356.800348333333333-2.54520483333333356.666666666666667-2.5671666666666666.666666666666667-2.5671666666666666.800348333333333-2.5671666666666666.852388333333333-2.54520483333333356.852388333333333-2.54520483333333356.824578000000001-2.5671666666666666.824578000000001-2.5671666666666666.852388333333333-2.5671666666666666.852388333333333-2.5671666666666666.8003483333333330.00.00.01.00.00.0-2.38813799999999966.7473526166666655-2.38813799999999966.666666666666667-2.41009983333333286.666666666666667-2.41009983333333286.746636466666667-2.41750016666666626.77504365-2.4397006666666666.7844729333333325-2.4677498333333336.773133933333335-2.47801449999999966.742220233333334-2.47801449999999966.666666666666667-2.5000958333333336.666666666666667-2.5000958333333336.800347533333333-2.47801449999999966.800347533333333-2.47801449999999966.77957925-2.45951399999999956.797602299999999-2.43480699999999976.803570199999999-2.39995449999999936.78924725-2.38813799999999966.7473526166666680.00.00.01.00.00.0-2.22998333333333286.738998333333332-2.22998333333333286.7282561166666675-2.3309601666666666.7282561166666675-2.31735333333333236.693642283333334-2.2832169999999996.681825849999999-2.25874849999999856.684929166666666-2.2351156666666656.694239083333334-2.2351156666666656.673470749999999-2.25934533333333136.665831850000001-2.28452983333333176.663206016666667-2.33525699999999866.681825849999999-2.35387683333333186.73219485-2.33621183333333136.78423485-2.2883493333333316.80357085-2.24573849999999766.786144516666667-2.2299833333333316.738998183333333-2.22998333333333286.738998333333332-2.25195000000000036.745443333333332-2.26209556.774208666666667-2.28811549999999956.784950883333333-2.31759683333333346.774566733333334-2.33024883333333356.745324066666668-2.25195000000000036.745443333333332-2.25195000000000036.745443333333332-2.22998333333333286.7389983333333320.00.00.01.00.00.0-3.28857416666666726.532747166666667-3.28857416666666726.4947913333333345-3.24333750000000046.4947913333333345-3.24333750000000046.477723166666667-3.28857416666666726.477723166666667-3.28857416666666726.4051535-3.2841578333333346.384146500000001-3.2658961666666676.3794915-3.24333750000000046.3794915-3.24333750000000046.3611103333333325-3.2658961666666676.3611103333333325-3.3009873333333346.370539666666668-3.31065533333333446.4051535-3.31065533333333446.477723166666667-3.3267686666666676.477723166666667-3.3267686666666676.4947913333333345-3.31065533333333446.4947913333333345-3.31065533333333446.5327471666666670.00.00.01.00.00.0-3.10009999999999946.4334333333333324-3.10009999999999946.4226911666666675-3.20107683333333266.4226911666666675-3.1874699999999996.3880773333333325-3.1533336666666666.376260833333333-3.1288651666666656.379364166666666-3.10523233333333166.388674166666665-3.10523233333333166.367905833333333-3.1294619999999986.360266833333332-3.15464649999999846.357640999999999-3.20537366666666526.376260833333333-3.22399349999999846.426629833333334-3.2063284999999986.478669999999999-3.15846599999999766.498006-3.11585516666666436.480579666666667-3.10009999999999766.4334333333333324-3.10009999999999946.4334333333333324-3.1220666666666676.439883333333333-3.13221216666666676.4686485000000005-3.1582321666666666.479390833333334-3.18771356.469006666666667-3.20036549999999986.439764-3.1220666666666676.439883333333333-3.1220666666666676.439883333333333-3.10009999999999946.43343333333333240.00.00.01.00.00.0-2.95723656.4947913333333345-3.00557649999999976.429741166666668-2.95472999999999966.3611103333333325-2.9806306666666666.3611103333333325-3.01954133333333236.413627833333334-3.05845199999999866.3611103333333325-3.08435266666666546.3611103333333325-3.03243199999999826.431054166666667-3.07993649999999836.4947913333333345-3.0540358333333326.4947913333333345-3.01858649999999876.447167500000001-2.98313716666666556.49479133333333450.00.00.01.00.00.0-2.90197383333333346.532747166666667-2.90197383333333346.4947913333333345-2.85673716666666656.4947913333333345-2.85673716666666656.477723166666667-2.90197383333333346.477723166666667-2.90197383333333346.4051535-2.89755766666666636.384146500000001-2.8792958333333336.3794915-2.85673716666666656.3794915-2.85673716666666656.3611103333333325-2.8792958333333336.3611103333333325-2.9143876.370539666666668-2.92405500000000056.4051535-2.92405500000000056.477723166666667-2.94016833333333336.477723166666667-2.94016833333333336.4947913333333345-2.92405500000000056.4947913333333345-2.92405500000000056.5327471666666670.00.00.01.00.00.0-3.30934233333333346.233755499999999-3.2069333333333336.233755499999999-3.2069333333333336.213464666666666-3.28523216666666646.213464666666666-3.28523216666666646.160947166666667-3.21457216666666626.160947166666667-3.21457216666666626.140656333333334-3.28523216666666646.140656333333334-3.28523216666666646.055554166666665-3.30934233333333346.0555541666666650.00.00.01.00.00.0-3.09646.2174-3.13817533333333386.197825333333332-3.15357250000000066.144472333333332-3.13817533333333386.091238666666667-3.09646.071664-3.05486356.091238666666667-3.0394663333333336.144472333333332-3.05486356.197825333333332-3.09646.2174-3.09646.2174-3.09646.236983333333334-3.03648233333333336.211798833333334-3.0140436.144481-3.03648233333333336.077163166666666-3.09646.052098000000001-3.15655656.077163166666666-3.17899566666666636.144481-3.15655656.211798833333334-3.09646.236983333333334-3.09646.236983333333334-3.09646.236983333333334-3.09646.21740.00.00.01.00.00.0-2.90400000000000046.2174-2.94577516666666656.197825333333332-2.96117233333333336.144472333333332-2.94577516666666656.091238666666667-2.90400000000000046.071664-2.8624633333333336.091238666666667-2.8470661666666666.144472333333332-2.8624633333333336.197825333333332-2.90400000000000046.2174-2.90400000000000046.2174-2.90400000000000046.236983333333334-2.84408216666666656.211798833333334-2.82164300000000036.144481-2.84408216666666656.077163166666666-2.90400000000000046.052098000000001-2.96415633333333346.077163166666666-2.98659566666666666.144481-2.96415633333333346.211798833333334-2.90400000000000046.236983333333334-2.90400000000000046.236983333333334-2.90400000000000046.236983333333334-2.90400000000000046.21740.00.00.01.00.00.00.145490883333332966.6920886666666660.145490883333332966.7399511666666670.10610278333333276.7399511666666670.10610278333333276.7597646666666660.16936246666666656.7597646666666660.16936246666666656.6832561666666660.138568133333332826.66821716666666650.102641399999999796.6632041666666660.037233266666666516.6875531666666650.0137197499999994466.7555871666666660.037233266666666516.82362116666666550.102641399999999796.84808949999999950.135703533333332886.8437926666666650.164707516666665786.8311406666666660.164707516666665786.8054786666666670.136300333333332446.8225468333333330.104670483333332726.8282761666666660.055495016666666676.8100143333333330.0391429833333328746.7555871666666670.055495016666666676.7012793333333340.104670483333332726.68301750.127467849999999336.6851660.00.00.01.00.00.00.28991396666666566.7798168333333320.281797616666665366.7829201666666680.27224898333333276.78399350.24360308333333296.7718190000000020.23369638333333196.7370858333333330.23369638333333196.6666646666666680.211615166666666726.6666646666666680.211615166666666726.80034550.23369638333333196.80034550.23369638333333196.7795771666666670.251719433333333136.7976003333333330.27869431666666556.8035681666666660.28370734999999936.8032098333333330.2897945999999996.80237483333333250.00.00.01.00.00.00.359379999999998766.7849499999999990.33145016666666536.7711045000000020.321185383333333136.7333873333333340.331330816666665366.6955510.359379983333334046.6818248333333340.3871903166666666.6956703333333340.397455100000000066.7333873333333340.3871903166666666.7709851666666660.359379983333334046.7849499999999990.359379999999998766.7849499999999990.359379999999998766.8035666666666660.404377999999998856.7849468333333340.420730033333332646.7333841666666670.404377999999998856.6818216666666670.359379999999998766.6632018333333330.31426266666666536.6818216666666670.298029983333333366.7333841666666670.31426266666666536.7849468333333340.359379999999998766.8035666666666660.359379999999998766.8035666666666660.359379999999998766.8035666666666660.359379999999998766.7849499999999990.00.00.01.00.00.00.454866666666665256.7194166666666660.454866666666665256.8003413333333340.476828499999999166.8003413333333340.476828499999999166.72025216666666750.48422869999999996.6917256666666660.50642920000000056.68229633333333250.53447836666666716.6936353333333330.54486249999999936.7245490.54486249999999936.8003413333333320.56682433333333326.8003413333333320.56682433333333326.6666605000000010.54486249999999936.6666605000000010.54486249999999936.687190.5262426666666676.6690476666666660.50177433333333296.6631991666666680.46680256.6775219999999990.454866716666667066.7194166666666660.454866666666665256.7194166666666660.510136.8035666666666660.510136.8035666666666660.510136.8035666666666660.454866666666665256.7194166666666660.00.00.01.00.00.00.63330666666666586.6867166666666660.63330666666666586.6158180.61122499999999986.6158180.61122499999999986.8003499999999990.63330666666666586.8003499999999990.63330666666666586.7800591666666660.65073283333333246.7977241666666660.67603666666666616.8035726666666660.71554416666666616.7842366666666680.7308219833333326.7333901666666670.71554416666666616.6825436666666670.67603666666666616.6632078333333330.65073283333333246.6689370.63330666666666586.6867213333333330.63330666666666586.6867166666666660.70802499999999976.7333833333333320.69799893333333416.77133916666666650.67066593333333356.7851846666666670.64321359999999956.77133916666666650.63330690000000056.7333833333333320.64321359999999956.6953081666666660.67066593333333356.6815820.69799893333333416.6953081666666660.70802499999999976.7333833333333320.70802499999999976.7333833333333320.70802499999999976.7333833333333320.63330666666666586.6867166666666660.00.00.01.00.00.00.88156666666666676.7390000000000010.88156666666666676.7282578333333330.78058983333333266.7282578333333330.79419666666666636.6936440000000010.82833299999999976.6818276666666670.85280133333333396.6849308333333340.87643416666666666.6942408333333340.87643416666666666.6734725000000010.85220449999999916.6658336666666670.82702000000000086.6632078333333350.77629300000000026.6818276666666670.75767316666666616.7321966666666680.77533799999999936.7842366666666680.82320066666666596.8035726666666680.86581133333333286.7861463333333330.88156666666666676.7390000000000010.88156666666666676.7390000000000010.85961666666666666.7454333333333340.8494711666666666.7741986666666660.82345116666666636.7849408333333340.79396983333333356.7745566666666660.78131783333333266.7453140.85961666666666666.7454333333333340.85961666666666666.7454333333333340.88156666666666676.7390000000000010.00.00.01.00.00.01.0055833333333346.780051.0055833333333346.8523808333333321.0275451666666666.8523808333333321.0275451666666666.6666591666666661.0055833333333346.6666591666666661.0055833333333346.6867113333333330.98803783333333216.6689270.96273383333333236.6631978333333330.92322633333333216.6825336666666660.90806799999999916.7333801666666660.92322633333333216.7842266666666660.96273383333333236.8035626666666660.98803783333333216.7977141666666661.0055833333333346.7800491666666671.0055833333333346.780050.93075000000000046.7333833333333320.94065666666666636.6953081666666660.96810900000000026.6815820.99556133333333236.6953081666666661.00558733333333346.7333833333333320.99556133333333236.77133916666666650.96810900000000026.7851846666666670.94065666666666636.77133916666666650.93075000000000046.7333833333333320.93075000000000046.7333833333333320.93075000000000046.7333833333333321.0055833333333346.780050.00.00.01.00.00.00.04475286666666616.3383021666666670.04475286666666616.3003463333333330.089989516666666236.3003463333333330.089989516666666236.28327816666666550.04475286666666616.28327816666666550.04475286666666616.21070850.049169116666665986.1897014999999990.067430883333332766.1850466666666670.089989516666666236.1850466666666670.089989516666666236.1666654999999990.067430883333332766.1666654999999990.032339650000000126.1760948333333340.0226716666666665876.21070850.0226716666666665876.28327816666666550.0065583499999992986.28327816666666550.0065583499999992986.30034633333333450.0226716666666665876.30034633333333450.0226716666666665876.3383021666666670.00.00.01.00.00.00.233218333333333786.2390000000000010.233218333333333786.2282578333333330.13224149999999976.2282578333333330.145848316666666736.1936440000000010.17998465000000016.1818276666666670.204452983333332376.1849308333333340.228085816666667086.1942408333333340.228085816666667086.1734725000000010.203856149999999546.1658336666666670.178671649999999246.1632078333333330.12794448333333346.1818276666666670.109324650000000186.2321966666666680.126989649999999686.2842366666666680.174852156.3035726666666660.21746298333333326.2861463333333330.233218233333332146.2390000000000010.233218333333333786.2390000000000010.211256666666666126.2454333333333340.2011112333333326.2741986666666660.17509123333333326.2849408333333340.145609899999999466.2745566666666660.13295794999999946.2453140.211256666666666126.2454333333333340.211256666666666126.2454333333333340.233218333333333786.2390000000000010.00.00.01.00.00.00.376090456.30034633333333450.32775056.2352963333333340.378596966666666876.16666550000000150.352696300000000466.16666550000000150.313785616666666546.2191830.27487493333333276.16666550000000150.248974266666666226.16666550000000150.300894966666665656.2366091666666670.25339051666666526.30034633333333450.279291183333333476.30034633333333450.31474048333333266.2527225000000010.350189783333333566.30034633333333450.00.00.01.00.00.00.431353149999999136.3383021666666670.431353149999999136.3003463333333330.47658979999999936.3003463333333330.47658979999999936.28327816666666550.431353149999999136.28327816666666550.431353149999999136.21070850.435769383333333376.1897014999999990.45403114999999926.1850466666666670.47658979999999936.1850466666666670.47658979999999936.1666654999999990.45403114999999926.1666654999999990.41893991666666666.1760948333333340.409271933333332066.21070850.409271933333332066.28327816666666550.39315861666666676.28327816666666550.39315861666666676.30034633333333450.409271933333332066.30034633333333450.409271933333332066.3383021666666670.00.00.50196078431372551.00.00.0-6.6666666666666675.0-5.05.0-5.03.3333333333333335-6.6666666666666673.33333333333333351.00.00.01.00.00.0-3.33333333333333355.00.05.00.03.3333333333333335-3.33333333333333353.33333333333333351.01.00.01.00.00.02.41572049999999955.04.2509461666666675.05.04.3508200000000015.03.98251333333333474.2509461666666673.33333333333333352.41572049999999953.33333333333333351.66666666666666673.98251333333333471.66666666666666674.3508200000000010.00.50196078431372550.01.00.00.02.41572049999999955.04.2509461666666675.05.04.3508200000000015.03.98251333333333474.2509461666666673.33333333333333352.41572049999999953.33333333333333351.66666666666666673.98251333333333471.66666666666666674.350820000000001 \ No newline at end of file diff --git a/tests/test_inkex_svg.py b/tests/test_inkex_svg.py index 9b445f53d6837454249ae466ff9b6d0b1f7c8164..09a922851b779a88dec2e94cb874e3c3d6284d83 100644 --- a/tests/test_inkex_svg.py +++ b/tests/test_inkex_svg.py @@ -219,6 +219,10 @@ class GetDocumentWidthTest(TestCase): """Demonstrate that a non-zero x value (viewbox[0]) does not affect the width value.""" self.assert_svg_sizes('width="" viewBox="5 7 22 99"', 22, 22) + def test_comma_separated_viewbox(self): + """Viewbox values can be separated by comma""" + self.assert_svg_sizes('width="" viewBox="5,7,22,99"', 22, 22) + class GetDocumentHeightTest(TestCase): """Tests for Effect.height.""" diff --git a/tests/test_synfig_output.py b/tests/test_synfig_output.py index 52a8c7219e8bd8a108187f59c05bb57624ac0a24..c9d6a472065600cd702c0d78196f6bfdc751f09c 100644 --- a/tests/test_synfig_output.py +++ b/tests/test_synfig_output.py @@ -1,7 +1,22 @@ # coding=utf-8 +import re from synfig_output import SynfigExport -from inkex.tester import InkscapeExtensionTestMixin, TestCase +from inkex.tester import ComparisonMixin, TestCase +from inkex.tester.filters import Compare, CompareNumericFuzzy -class TestSynfigExportBasic(InkscapeExtensionTestMixin, TestCase): - effect_class = SynfigExport +class CompareWithoutGuids(Compare): + """ + Remove guid attributes + """ + + @staticmethod + def filter(contents): + contents = re.sub(b'guid="[0-9a-f]{32}"', b"", contents) + return contents + + +class TestSynfigExportBasic(ComparisonMixin, TestCase): + effect_class = SynfigExport # Inkscape call 9f18b1246e864e6f3945f8cd64d6ca14 + compare_filters = [CompareWithoutGuids(), CompareNumericFuzzy()] + comparisons = [()] diff --git a/tests/test_synfig_prepare.py b/tests/test_synfig_prepare.py deleted file mode 100644 index c0058dc4f8afb9ad77095a762034d407751ecb3c..0000000000000000000000000000000000000000 --- a/tests/test_synfig_prepare.py +++ /dev/null @@ -1,7 +0,0 @@ -# coding=utf-8 -from synfig_prepare import SynfigPrep -from inkex.tester import InkscapeExtensionTestMixin, TestCase - - -class TestSynfigPrepBasic(InkscapeExtensionTestMixin, TestCase): - effect_class = SynfigPrep